NTP网络时间服务器与PC上位机组态软件的通信.doc

上传人:wj 文档编号:4842370 上传时间:2023-05-07 格式:DOC 页数:18 大小:4.71MB
下载 相关 举报
NTP网络时间服务器与PC上位机组态软件的通信.doc_第1页
第1页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第2页
第2页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第3页
第3页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第4页
第4页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第5页
第5页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第6页
第6页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第7页
第7页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第8页
第8页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第9页
第9页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第10页
第10页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第11页
第11页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第12页
第12页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第13页
第13页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第14页
第14页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第15页
第15页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第16页
第16页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第17页
第17页 / 共18页
NTP网络时间服务器与PC上位机组态软件的通信.doc_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

NTP网络时间服务器与PC上位机组态软件的通信.doc

《NTP网络时间服务器与PC上位机组态软件的通信.doc》由会员分享,可在线阅读,更多相关《NTP网络时间服务器与PC上位机组态软件的通信.doc(18页珍藏版)》请在冰点文库上搜索。

NTP网络时间服务器与PC上位机组态软件的通信.doc

鲁东大学本科毕业设计

NTP网络时间服务器与PC上位机组态软件的通信

***

(信息与电气工程学院,电气工程及其自动化,***)

摘要:

本文利用MCGS组态软件实现了NTP网络时间服务器与PC机之间的通信。

NTP服务器通过串口向PC机发送时间数据包,PC机串口接收后实时显示当前时间。

文中首先简单介绍了NTP网络时间服务器的由来作用以及工作方式,然后重点介绍MCGS组态软件。

包括MCGS的功能特点工作原理,如何新建一个工程,如何实现动画显示、定义实时数据库、构思运行策略、编写脚本控制、设计主控菜单等。

并引入了MCGS脚本驱动开发工具包,详细介绍了如何利用脚本驱动开发工具包编写本工程的脚本驱动程序,以及把写好的脚本区工程序导入到组态工程的详细过程。

文中有操作画面截图,使叙述更直观明了。

通过以上介绍详细说明了在MCGS组态软件中实现NTP网络时间服务器与PC上位机的通信方法。

关键字:

NTP时间服务器;mcgs组态软件;脚本驱动开发工具包;设计编程

TheCommunicationofNTPNetworkTimeServerandPCUpperUnitConfigurationSoftware

Abstract:

ThispaperonMCGSsoftwarerealizethenetworktimeserverandNTPofcommunicationbetweenthePC.NTPserverthroughaserialporttoPCsendtimedatapackets,PCserialafterreceivingreal-timedisplaythecurrenttime.ThispaperbrieflyintroducesthenetworktimeserverNTPtheoriginofthefunctionandwayofworking,thenthekeyintroductionMCGSsoftware.IncludingthefunctioncharacteristicoftheworkingprincipleMCGS,howtocreateanewproject,howtoachieveanimationdisplay,definitionofreal-timedatabase,conceivingtheoperationstrategy,scriptingcontrol,maincontrolmenudesign,etc.AndintroducesMCGSscriptdriverdevelopmentkit,detailedintroduceshowtousethescriptdriverdevelopmentkittowritethisprojectscriptdriver,andthewrittenscriptareaengineeringsequenceimportedintotheconfigurationofthedetailedengineeringprocess.Thereareoperatingscreenscreenshots,makethenarrativemoreintuitiveandclear.ThroughtheaboveisintroducedindetailtheMCGSsoftwarerealizethenetworktimeserverandNTPPCPCcommunicationmethod.

Keywords:

NTPtimeserver;mcgs;Scriptdriverdevelopmentkit;Design&Programming

1引言

随着现代技术的不断发展,尤其是工控领域自动化技术的日益提高,组态软件的应用越来越广泛。

MCGS组态软件凭借操作简便、画面丰富、控制灵活等特点越来越受欢迎。

我们便想利用MCGS实现一些功能,借此机会好好学习开发MCGS组态软件。

刚巧实验室有NTP模拟时间协议,可利用MCGS编写一个接受NTP发送过来的时间数据包并显示的组态工程,本课题的就这样被提出来了。

网络时间同步在国内外要求严格使用广泛,研究本课题可实现局域网内多台机器同一时间的目的,在机房、广场显示时钟等都可广泛的应用。

MCGS中有自带的使用较为广泛的脚本驱动程序,但本课题要研究的项目目前很少有人研究,脚本驱动程序没有范本,只能自己编写。

脚本程序较为复杂,编写并不容易,好在MCGS退出了一套脚本驱动开发工具包,利用此开发工具包的新建程序向导功能能较为轻松实现脚本驱动程序的编写,使本课题得以顺利完成。

通过本课题的研究,对NCGS有了深入了解,了解到组态软件的强大功能。

PC上位机

MCGS

NTP服务器

图1.1流程图

2NTP网络时间服务器简介

美国D.L.Mills教授发明的NetworkTimeProtocol(NTP)是从时间协议、时间戳消息以及时间戳选项发展而来。

它可估算计算机之间的时钟偏差,传递统一时间,使网络中的计算机实现时间同步。

它能保持时间精确度在广域网上为数十毫秒,局域网上则为亚毫秒,在专有的时间服务器上能达到更高的精确度。

从80年代提出到现在已经发展了20年,更新公布了多种格式,2001年推出的NTPv4精确度已经达到了200毫秒,SNTP(简单的网络时间协议)已达到秒级精度的。

当前几乎所有的授时网站都是基于1992年公布的NTPv3网上时间传递格式。

NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。

NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。

这样就有了准确而可靠的时间源。

网络时间服务的实现方式主要有无线时钟、时间服务器、局域网内同步三种方式。

本课题是用的是局域网内同步方式。

网络时间服务NetTimeService是指能提供网络时间服务的计算机,它可通过GPS卫星信息来获取时间,本文主要实现一台计算机通过网络获取上级时间服务器提供的标准时间,再服务于本单位的局域网,使一个单位的所有计算机都能与标准时间保持同步,时间误差小于0.5秒。

3MCGS组态软件

3.1组态软件概述

组态软件,又称监控组态软件—即SupervisoryControlandDataAcquisition(数据采集与监视控制)。

是专门用来进行数据采集和过程控制的软件工具,处在自动控制系统监控层一级的软件平台和开发环境,可以按照用户需求用各种组态方式快速构建工业自动控制系统监控功能。

组态软件有着很广泛的应用领域,比如电力系统、给水系统、PLC控制、石油化工等领域中的数据采集、监视控制和过程控制等。

本课题所用到的组态软件为北京昆仑同台自动化软件科技有限公司开发的MCGS组态软件。

MCGS分类精细,有嵌入式版、通用版和网络版,用户可根据需要选择适合版本。

MCGS带有免费开发环境,可为用户节约成本。

同时报表和报警功能可以让MCGS很方便在短时间内完成各种报表,及时准确的显示报警信息。

最重要的是MCGS具有在同类软件中最好的网络功能,网络版支持瘦客户机机制。

本课题要用NTP网络服务器传输时间,这一点是选择MCGS最重要的原因之。

MCGS具有远程通讯功能,可以通过本地Modem、公用电话网、远端Modem来监控远端设备,可以很轻松的实现多台局域网内PC机时间同步问题。

MCGS提供开放的驱动程序界面和部分驱动程序源代码,可以方便的编写特定的设备驱动程序,完成课题要求。

此外,NMCGS具备完善的客户服务和技术支持网络,提供本地化的客户服务和技术支持。

当然,MCGS同其他组态软件相比还是存在一些缺陷的,比如进入市场相对较晚;市场影响力还不是很大;图形界面不够丰富;设备支持不多;软件版本不太固定等。

但这些在本课题中影响并不是很大。

所以本课题最终选择使用MCGS组态软件来实现NTP网络时间服务器与PC上位机组态软件之间的通信[1]。

3.2MCGS组态软件及其工作原理简介

3.2.1MCGS简述

MCGS(MonitorandControlGeneratedSystem)即“监视与控制通用系统”,是一套基于Windows平台的,用于快速构造和生成上位机监控系统的组态软件系统,为工业过程控制和实时监测领域服务。

它能够在Microsoft的32位Windows平台上运行,能够采集现场数据、处理实时数据和历史数据、实现报警、增加安全机制、控制流程、显示动画效果、制作趋势曲线和输出报表等,还能实现企业监控网络功能。

在工业控制领域有着广泛的应用。

3.2.2MCGS的系统构成

MCGS软件系统包括组态环境和运行环境两个部分。

组态环境相当于一套完整的工具软件,可以根据用户需求设计自己的应用系统,是生成用户应用系统的工作环境,建成的工程默认保存在MCGS目录的Program子目录中。

在组态环境中可以完成动画设计、设备连接、编写控制流程、编制工程、打印报表等流程工作,生成组态结果数据库;运行环境是一个独立的运行系统,它按照组态环境组构造的组态工程以用户指定的方式进行各种处理,完成用户组态设计的目标和功能。

文件也存放在Program子目录中。

简单来说,即是:

组态环境下编写流程程序,运行环境下运行监控[2]。

组态环境与运行环境一起,构成了用户应用系统,统称为“工程”。

组态环境和运行环境既互相独立,又密切相关。

如下图3.1。

图3.1组态环境与运行环境

3.2.3MCGS软件组成

MCGS组态软件由五大组成部分——主控窗口、设备窗口、用户窗口、实时数据库和运行策略。

主控窗口:

主控窗口是工程的主窗口或主构架,主控窗口内可放置一个设备窗口和多个用户窗口,负责调度和管理这些窗口的打开或关闭。

设备窗口:

用来连接和驱动外部设备的工作环境,将系统自带的或自己编写的脚本驱动程序添加到工程中,并设置设备属性,建立通道连接,以完成数据采集和控制输出设备;

用户窗口:

用来设计工作画面,是主要显示窗口,生成各种动画显示画面、数据图表、曲线图表、输出报警等,形象直观的表达出控制流程或结果。

实时数据库:

是工程中各部分数据交换的中心,MCGS中所用到的变量都要在此处定义,并设至相应的属性、注释。

与工程画面等多个模块建立连接,把工程的各个部分连成一个整体,数据相关相通。

运行策略:

用来完成工程运行流程的控制,在此处编写控制程序或是选用各种功能构件,来完成工程中各种不能用画面来完成的操作。

运行策略相当于控制程序[3]。

3.2.4MCGS的工作方式概述

3.2.4.1MCGS如何与外部设备进行通讯

MCGS要与外部设备进行数据交换就必须用到设备驱动程序,用设备驱动来采集数据、发送指令。

设备驱动程序一般是由VB或VC语言编写,生成DLL(动态连接库)档。

程序中用各种函数实现MCGS组态软件读取串口命令、发送数据等操作。

具体程序在第五章会有详细描述。

简单说来,设备驱动程序就是采集或发送设备运行状态的特征数据,以实现组态软件与外接设备的数据交换。

在运行环境中MCGS组态软件才会调用相应的设备驱动程序,将数据传送到工程各部分,完成整个系统的通讯过程。

各个驱动程序间互不干扰,独占一个线程。

3.2.4.2MCGS如何产生动画效果

每一种基本图形元素在MCGS中都被定义了不同的动画属性,比如一个多边形的动画属性有大小变化、可见度等,每种动画属性都会伴随一种动画效果。

动画属性实际上就是反映图形的大小、位置、颜色、可见度等状态的特征参数。

但是,组态环境中生成的画面都是静止不动的,怎样在工程运行中产生动画效果就是我们需要解决的一个重要问题。

要解决这个问题,我们需要建立动画连接。

在图形的每一种动画属性中都可以设定一个与图形状态相联系的数据变量作为“表达式”,连接到实时数据库中,以此来建立各个模块的对应关系,即:

动画连接。

当测控对象的各变量(如:

水位高低等)发生变化时,设备驱动程序会将变化的数据采集到实时数据库的变量中,该变量又与动画属性建立了相关性,图形的状态就会随测控对象的变化而产生相应的变化。

由于现场数据是被连续采集进来,所以会产生逼真的动画效果。

用户也可采用自行编写程序的方法来控制动画界面,以达到满意效果[4]。

3.2.4.3MCGS如何实施远程多机监控

MCGS提供了一套完善的网络机制,可通过Modem网、TCP/IP网和串口网等把多台局域网内的计算机连接到一起,构成分布式网络监控系统,实现一台总机控制局域网内多台PC机各种数据同步和网络事件的快速传递。

同时,MCGS提供的网络功能还可以使在工作站上直接对服务器中的数据库进行读取或写入操作实现。

MCGS各种网络形式,以父设备构件和子设备构件的形式,用户可自行调用,并要设置父设备和子设备的工作状态、端口号、工作站地址等属性。

3.2.4.4MCGS如何对工程运行流程实施有效控制

MCGS利用“运行策略”对工程的运行流程进行有效控制。

MCGS设有撞门用来控制工程流程的“运行策略”窗口,用户可在此窗口根据需要灵活建立自己的运行策略。

运行策略窗口提供各种不同的功能构件,用户可根据需要灵活选用,对各功能构件进行配置和属性设置,最终生成功能各异的功能模块,即“用户策略”,确保系统按照用户设定的流程顺序和各种条件对实时数据库进行各种操作控制,从而实现达到任意切换动画窗口、控制设备工作状态、控制系统运行流程的结果。

3.3MCGS工程建立的一般流程

工程项目系统分析:

新建一个工程项目必须先对工程项目的系统构成、技术要求和它的工艺流程进行分析,弄清楚测控对象的特征、系统的控制流程,明确工程监控要求,构思动画显示方式,设计动画显示画面,分析实时数据库变量与设备采集、输出通道之间的对应关系,分清哪些变量是要求与设备连接在一起的,哪些变量是软件内部用来传递数据及动画显示的。

NTP网络时间显示工程所用变量有17个,接收信号并显示,构造一个用户窗口即可满足要求,脚本驱动需要自己编写,(脚本驱动详见第五章)。

工程立项搭建框架:

MCGS工程框架包括定义工程的名称、封面窗口和启动窗口的名称。

一般打开工程后,首先显示封面窗口,当封面窗口退出后显示启动窗口,可在窗口属性中设置某个窗口为启动窗口。

要在运行策略中设定好动画刷新周期。

NTP网络时间接收显示工程为了显示简便有效、效果清晰,没有建立封面窗口和退出窗口,工程启动运行即可进入组态的动画显示画面,效果直观有效。

要退出工程直接点击“退出”即可。

设计菜单基本体系:

一般要在主控窗口内编制菜单,用来控制工作流程和运行状态。

菜单编写分两步:

(1)搭建菜单框架

(2)对各级菜单命令进行功能组态。

组态时,根据工程需要,可以随时增加或删除菜单内容,不断完善工程的菜主控菜單

单。

本工程设计菜单较为简单,如图3.2。

图3.2主控窗口

制作动画显示画面:

动画显示画是用来形象直观显示工程结果的。

要先画一个静态显示画面,利用MCGS提供的各种图形及动画构件库,“组合”成需要的画面。

然后需要设置动画属性,使图形与实时数据库中定义的变量建立相关的连接关系。

编写控制流程程序:

控制流程可控制运行流程,运行策略窗口的策略构件箱中提供有丰富的功能策略构件,用户根据需要选择合适的策略构件,构成各种功能模块(称为策略块),控制运行流程。

在此也可编写简单的脚本程序添加到“脚本程序”策略中,使控制更为灵活方便[6]。

完善菜单按钮功能:

包括菜单命令、监控器件、操作按钮的功能组态;实现历史数据、实时数据、各种曲线、数据报表、报警信息输出等功能;建立工程安全机制等。

编写程序调试工程:

调试程序会产生模拟数据,用模拟数据来工程设置是否正确。

连接设备驱动程序:

在设备窗口内选择设备驱动构件,设置设备属性。

已达到与外界设备连接的目的。

工程完工综合测试:

工程设置完成后要对工程各部分进行测试,检查是否有误[7]。

通过对NTP网络时间接收显示工程的整体分析、规划,由于本组态工程只需显示接收到的数据,所以只设置一个用户窗口(NTP网络时间显示)用来显示接收数据即可。

17个数据变量,即对应17个通道。

由于MCGS自带的驱动不能满足本工程的需要,本工程所用设备驱动程序是使用MCGS脚本驱动开发工具由MCGS脚本语言自行编写的脚本驱动程序。

MCGS脚本驱动开发工具及脚本程序将在第五章介绍。

4新建MCGS组态工程

4.1工程要求

异步通讯:

串列传输速率9600,无校验位,数据位8位,停止位1位

协议:

数据格式为数据串,16进制表示共17个位元组

格式如下:

AAH,年高两位,年低两位,月,日,星期(低位为星期高位为0),农历月,农历日,小时,分钟,秒,倒计时小时,倒计时分钟,倒计时秒,正计时小时,正计时分钟,正计时秒。

例如:

此时为2005年06月16日,农历五月初十,星期4,11时05分32秒,倒计时为3时40分20秒,正计时为1时19分40秒

则发送的字数据为:

AAH,20H,05H,06H,16H,04H,05H,10H,11H,05H,32H,03H,40H,20H,

01H,19H,40H

显示为:

AA20050616040510110532034020011940

4.2工程分析

在开始组态工程之前,先对该工程进行剖析,以便从整体上把握工程的结构、流程、需实现的功能及如何实现这些功能。

工程框架:

一个用户窗口:

数据显示

一个主菜单:

系统管理

一个子菜单:

用户窗口管理

三个策略:

启动策略、循环策略、退出策略

数据对象:

年高位、年低位、月、日、星期、农历月、农历日、时、分、秒、倒计时时间、倒计时分钟、倒计时秒、正计时时间、正计时分钟、正计时秒

图形制作:

实时数据:

通过输入框引进

注释说明:

通过标签实现

流程控制:

通过脚本驱动程序和编写设置循环策略实现,主要由脚本驱动程序实现。

4.3新建工程

单击菜单中“新建工程”选项,新工程在D:

\MCGS\WORK\目录下自动生成。

选择档菜单中的“工程另存为”菜单项,弹出档保存窗口。

将新工程名改为“NTP网络时间接收显示”。

点击“保存”,新工程创建完毕。

4.4制作工程画面

4.4.1建立窗口

打开“用户窗口”,点击“新建窗口”,建立“窗口0”。

选中“窗口0”,更改窗口属性,窗口名称设为“NTP网络时间显示”,窗口标题为“NTP网络时间显示”,右击“NTP网络时间显示”窗口,在下拉菜单中将此窗口设置为启动窗口。

4.4.2编辑画面

选中“NTP网络时间显示”窗口图示,单击“动画组态”,进入动画组态窗口,开始编辑画面。

单击工具条中的“工具箱”按钮,打开绘图工具箱。

选择“工具箱”内的“标签”按钮,鼠标的游标呈“十字”形,在窗口顶端中心位置拖拽鼠标,根据需要拉出一个一定大小的矩形。

在游标闪烁位置输入文字“NTP网络时间数据接收显示工程”,按回车键或在窗口任意位置用鼠标点击一下,文字输入完毕。

选中文字框,作如下设置:

点击(填充色)按钮,设定文字框的背景颜色为:

蓝色

点击(线色)按钮,设置文字框的边线颜色为:

没有边线

点击(字符字体)按钮,设置文字字体为:

宋体;字型为:

粗体

点击(字符颜色)按钮,将文字颜色设为:

黄色

选择工具箱中标签按钮,在画面上画出18个大小适宜的矩形,并依次填入文字,如下图。

选择工具箱中输入框按钮,在每个标签下面添加一个输入框。

与实时数据库建立动画连接后,输入框即可用来显示接收到的数据。

工程显示画面设计如图4.1。

4.5建立实时数据库

实时数据库是MCGS工程的数据交换和数据处理中心。

建立实时数据库其实就是定义数据对象数据对象,包括定义数据变量的名称、类型、初始值和数值范围,确定存盘相关参数值等。

打开MCGS软件,打开已建立好的“NTP网络时间显示”工程,打开工作台中“实时数据库”窗口,里面有系统自建的四个字符型数据对象:

INPUTETIME、INPUTSTIME、INPUTUSER1、INPUTUSER2。

由于要显示的数据为十六个,须添加十六个数据对象。

对象名称依次为年高位、年低位、月、日、星期、农历月、农历日、时、分、秒、倒计时小

图4.1NTP网络时间接受显示画面

时、倒计时分、倒计时秒、正计时小时、正计时分、正计时秒。

对象属性设置为数据型,

对象初值设为0,最大值设为00,最小值设为99,由于发送的数据不带小数位,故小数位数设为0。

可以在注释栏对数据对象添加相应注释。

实时数据库设置窗口如下图4.2。

图4.2实时数据库设置

4.6建立动画连接

4.4中建立的工程画面“NTP网络时间显示”是由图形元素组合而成,是静止不动的,要达到动态效果需要对这些图形对象进行动画设计,用动画形象描述外界的对象变化。

要实现动画效果就必须将用户窗口中的图形对象与实时数据库中的数据对象建立相关连接。

系统运行过程中,图形对象变化是由数据对象的实时采集值来驱动的。

具体设置步骤如下:

[1]在用户窗口中,双击输入框,弹出输入构件单元属性设置窗口。

[2]单击“操作属性”标签,点击“对应数据名称”栏下的“?

”,从在4.5建好的实时数据库中选择“年高位”,快捷键选择“无”,数据最小值设为“00”最大值设为“99”,点“确认”即建立好了“年高位”的动画属性。

按此方法,依次建立十六个数据对象的动画属性。

4.7设置运行策略

工程要求每50ms刷新一次数据,所以要将循环时间设为50ms。

打开工作台中运行策略窗口,选中循环策略,右击鼠标,选择属性,将策略执行方式选为定时循环执行,循环时间设置为50ms。

4.8设备连接

设备窗口是设置系统与外部硬设备连接的窗口,通过此窗口的设置实现读取外部设备数据并控制外部设备工作状态的目的。

MCGS组态工程,提供了很多设备驱动,用户可根据需要从中选择,并设置驱动的相关属性,如波特率、停止位、串口、通道连接等。

系统运行时,设备构件通过通道连接,向实时数据库对象提供从外部设备采集来的数据,再从实时数据库中查询相关联的对象,吧采集数据发送给系统其他部分,以此实时检测设备工作状态,并自动控制整个过程。

MCGS组态软件提供了大量的工控领域常用的设备驱动程序。

使用时可直接添加进工程里。

但本工程所用设备驱动MCGS还未提供,需要自己利用MCGS高级脚本驱动开发包编写,具体编写和添加在第五章会详细讲解,在此只描述如何将工程中的可选设备添加到工程里面,并设置其属性,实现连接。

具体步骤:

(1)双击在工作台“设备窗口”计入设备窗口。

(2)点击工具条中的“工具箱”图示,打开“设备工具箱”。

(3)单击“设备工具箱”中的“设备管理”按钮。

打开设备管理对话框。

(4)在窗口左侧的可选设备列表中,双击“通用设备”,双击“串口通用父设备”即可将“串口通用父设备

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2