您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > NTP网络时间服务器与PC上位机组态软件的通信
鲁东大学本科毕业设计1NTP网络时间服务器与PC上位机组态软件的通信***(信息与电气工程学院,电气工程及其自动化,***)摘要:本文利用MCGS组态软件实现了NTP网络时间服务器与PC机之间的通信。NTP服务器通过串口向PC机发送时间数据包,PC机串口接收后实时显示当前时间。文中首先简单介绍了NTP网络时间服务器的由来作用以及工作方式,然后重点介绍MCGS组态软件。包括MCGS的功能特点工作原理,如何新建一个工程,如何实现动画显示、定义实时数据库、构思运行策略、编写脚本控制、设计主控菜单等。并引入了MCGS脚本驱动开发工具包,详细介绍了如何利用脚本驱动开发工具包编写本工程的脚本驱动程序,以及把写好的脚本区工程序导入到组态工程的详细过程。文中有操作画面截图,使叙述更直观明了。通过以上介绍详细说明了在MCGS组态软件中实现NTP网络时间服务器与PC上位机的通信方法。关键字:NTP时间服务器;mcgs组态软件;脚本驱动开发工具包;设计编程TheCommunicationofNTPNetworkTimeServerandPCUpperUnitConfigurationSoftwareAbstract: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鲁东大学本科毕业设计21引言随着现代技术的不断发展,尤其是工控领域自动化技术的日益提高,组态软件的应用越来越广泛。MCGS组态软件凭借操作简便、画面丰富、控制灵活等特点越来越受欢迎。我们便想利用MCGS实现一些功能,借此机会好好学习开发MCGS组态软件。刚巧实验室有NTP模拟时间协议,可利用MCGS编写一个接受NTP发送过来的时间数据包并显示的组态工程,本课题的就这样被提出来了。网络时间同步在国内外要求严格使用广泛,研究本课题可实现局域网内多台机器同一时间的目的,在机房、广场显示时钟等都可广泛的应用。MCGS中有自带的使用较为广泛的脚本驱动程序,但本课题要研究的项目目前很少有人研究,脚本驱动程序没有范本,只能自己编写。脚本程序较为复杂,编写并不容易,好在MCGS退出了一套脚本驱动开发工具包,利用此开发工具包的新建程序向导功能能较为轻松实现脚本驱动程序的编写,使本课题得以顺利完成。通过本课题的研究,对NCGS有了深入了解,了解到组态软件的强大功能。图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秒。NTP服务器MCGSPC上位机鲁东大学本科毕业设计33MCGS组态软件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软件系统包括组态环境和运行环境两个部分。组态环境相当于一套完整的鲁东大学本科毕业设计4工具软件,可以根据用户需求设计自己的应用系统,是生成用户应用系统的工作环境,建成的工程默认保存在MCGS目录的Program子目录中。在组态环境中可以完成动画设计、设备连接、编写控制流程、编制工程、打印报表等流程工作,生成组态结果数据库;运行环境是一个独立的运行系统,它按照组态环境组构造的组态工程以用户指定的方式进行各种处理,完成用户组态设计的目标和功能。文件也存放在Program子目录中。简单来说,即是:组态环境下编写流程程序,运行环境下运行监控[2]。组态环境与运行环境一起,构成了用户应用系统,统称为“工程”。组态环境和运行环境既互相独立,又密切相关。如下图3.1。图3.1组态环境与运行环境3.2.3MCGS软件组成MCGS组态软件由五大组成部分——主控窗口、设备窗口、用户窗口、实时数据库和运行策略。主控窗口:主控窗口是工程的主窗口或主构架,主控窗口内可放置一个设备窗口和多个用户窗口,负责调度和管理这些窗口的打开或关闭。设备窗口:用来连接和驱动外部设备的工作环境,将系统自带的或自己编写的脚本驱动程序添加到工程中,并设置设备属性,建立通道连接,以完成数据采集和控制输出设备;用户窗口:用来设计工作画面,是主要显示窗口,生成各种动画显示画面、数据图表、曲线图表、输出报警等,形象直观的表达出控制流程或结果。实时数据库:是工程中各部分数据交换的中心,MCGS中所用到的变量都要在此处定义,并设至相应的属性、注释。与工程画面等多个模块建立连接,把工程的各个部分连成一个整体,数据相关相通。运行策略:用来完成工程运行流程的控制,在此处编写控制程序或是选用各种功能构件,来完成工程中各种不能用画面来完成的操作。运行策略相当于控制程序[3]。3.2.4MCGS的工作方式概述鲁东大学本科毕业设计53.2.4.1MCGS如何与外部设备进行通讯MCGS要与外部设备进行数据交换就必须用到设备驱动程序,用设备驱动来采集数据、发送指令。设备驱动程序一般是由VB或VC语言编写,生成DLL(动态连接库)档。程序中用各种函数实现MCGS组态软件读取串口命令、发送数据等操作。具体程序在第五章会有详细描述。简单说来,设备驱动程序就是采集或发送设备运行状态的特征数据,以实现组态软件与外接设备的数据交换。在运行环境中MCGS组态软件才会调用相应的设备驱动程序,将数据传送到工程各部分,完成整个系统的通讯过程。各个驱动程序间互不干扰,独占一个线程。3.2.4.2MCGS如何产生动画效果每一种基本图形元素在MCGS中都被定义了不同的动画属性,比如一个多边形的动画属性有大小变化、可见度等,每种动画属性都会伴随一种动画效果。动画属性实际上就是反映图形的大小、位置、颜色、可见度等状态的特征参数。但是,组态环境中生成的画面都是静止不动的,怎样在工程运行中产生动画效果就是我们需要解决的一个重要问题。要解决这个问题,我们需要建立动画连接。在图形的每一种动画属性中都可以设定一个与图形状态相联系的数据变量作为“表达式”,连接到实时数据库中,以此来建立各个模块的对应关系,即:动画连接。当测控对象的各变量(如:水位高低等)发生变化时,设备驱动程序会将变化的数据采集到实时数据库的变量中,该变量又与动画属性建立了相关性,图形的状态就会随测控对象的变化而产生相应的变化。由于现场数据是被连续采集进来,所以会产生逼真的动画效果。用户也可采用自行编写程序
本文标题:NTP网络时间服务器与PC上位机组态软件的通信
链接地址:https://www.777doc.com/doc-4339310 .html