推荐期刊

电话远程监控中的DDE技术

时间:2015-12-20 23:20:15 所属分类:通信 浏览量:

作者:李世伟 唐道光 刘忠献 摘 要:阐述了由电话远程控制器与PLC、变频器所组成的远程速度监控系统中所采用的DDE动态数据交换模式,通过采用该模式,可以实现应用程序与组态软件MCGS的数据交互,最终实现对无级调速系统的电话远程控制.文中较为详细地讨论了DD

作者:李世伟 唐道光 刘忠献

  摘 要:阐述了由电话远程控制器与PLC、变频器所组成的远程速度监控系统中所采用的DDE动态数据交换模式,通过采用该模式,可以实现应用程序与组态软件MCGS的数据交互,最终实现对无级调速系统的电话远程控制.文中较为详细地讨论了DDE技术的特点以及在MCGS组态软件中的具体应用,说明了采用DDE技术与挂接的设备进行通信来获取系统数据的方式,具有较好的实际应用价值。
  关键词:电话;远程监控;DOE
  
  1 DDE数据交换原理
  
  DDE(Dynamic Data Exchange动态数据交换)协议是一种开放的、与语言无关的、基于消息的协议,它允许多个应用程序以任何人为约定的格式交换数据或命令。它是应用程序通过共享内存进行进程间通信的一种形式,也是目前不需要用户干预的最好的数据交换方法。它将控制通信对象划分为:服务名 (DDE Server,又被称做应用程序名,由服务器应用程序注册)、主题名(Topic,用以识别逻辑数据关联的字符串)和项目名(item,用于标识交换数据单位的字符串)。
  
  当两个同时运行的程序通过DDE方式进行数据交换时是Client和Server的关系,如图2所示。一旦Client和Server建立起连接关系,则当Server中的数据发生变化后就会马上通知Client。通过DDE方式建立的数据连接通道是双向的, 即Client不但能读取Server中的数据,且可对其进行修改。DDE Service名应具有唯一性,当一个DDE Client向一个DDE Server请求数据时,DDE Client必须向系统报告DDE Server的Service名和Topic名,只有与DDE Server内部设定的名称一致时,系统才将DDE Client的请求传达给DDE Server。服务器应用程序可支持一个或多个主题名。
  1.1 MCGS的DDE特性
  MCGS软件包是由McgsSet和McgsRun两大部分组成的。其中McgsSet为画面制作系统,所有与界面设计、变量定义、动画连接等操作相关的设置均在McgsSet中实现;McgsRun则是负责动画图形显示、数据库与服务程序数据交换,并将变化效果通过动画的形式呈现出来。MCGS软件提供了强有力的DDE客户和服务器支持,其中DDE客户支持允许把来自其它应用程序的信息传递到MCGS软件中,并将之用于数据库和画面中;服务器支持允许把MCGS软件的过程信息传递到其它应用程序中去处理。因此,为了建立DDE连接,首先需要在McgsRun部分的实时数据库里建立一个变量作为DDE变量,而后在所建立变量的DDE连接管理里面中建立与DDE变量的连接,并将三个标识名DDE Server、Topic、item进行登记。MCGS运行系统的程序名是“McgsRun”,主题规定为“DataCentre”,项目是在定义DDE变量时定义的项目名称也就是DDE变量的名称。
  (1) VB的DDE属性、DDE事件和DDE方法:VB中能够支持DDE的对象有5类:窗体、多文档窗体、标签、文本框和图片框。其中,窗体和多文档窗体可作为DDE服务器,即数据的提供者;Label、Text Box和Picture Box等可以作为DDE服务器,即数据的接收者。VB为发送端对象提供了两种DDE属性和4种DDE事件,为接收端对象提供了4种DDE属性、4种DDE事件和4种DDE方法(如表1所示)。
  (2)利用VB开发DDE客户/服务器应用程序:
  1.3 通用DDE“软通道”的建立
  为了便于开发与校验,采用VB开发了应用程序VB Server。VB Server应用程序是一个起桥梁作用的接口程序,用来和硬件设备打交道,然后通过DDE与MCGS进行数据交换,把从电话远程控制器采集的实时数据传输到MCGS,实现实时显示和趋势图制作两种功能。VB作为DDE服务器、MCGS作为DDE客户,实际链接数据流向如图3所示。
  为了具有通用性,需要考虑到不同的设备具有不同的通信方式与协议,要想使不同的现场设备共用相同的“软通道”,就必须留出的可设置窗口,使用户根据不同的现场设备设置不同的通信参数如波特率等,通过“软通道”实现自动化设备MCGS的数据交换。

2 基于VB的应用程序的设计
  
  作为与硬件设备打交道的接口程序,必然涉及到硬件的通讯协议。为了适应不同设备的协议情况,建立一个通用的“软通道”,这里留出了相应的设置窗口进行设置。
  2.1 设置界面程序的设计
  基于VB的通信参数设置界面如图4所示:
  (1)在“通信协议设置区”设置硬件相应通讯协议,如通讯端口、波特率、数据位、奇偶校验、停止位都可以在这个区里设置,此设置区的“操作对象”选项是对三菱PLC设备设计的,对于自定义协议的自动化设备,这项不需要设置;
  (2)在“控制参数设置”区设置操作方式和字节数,此设置区是针对此三菱PLC设计的,所以其他的自动化设备不需要设置这个区的参数;
  (3)在“发送数据区”输入特定设备的帧格式,即在文本框Text1中输入自定义自动化设备的帧格式(比如此三菱PLC读对象Y的帧格式是STX000A002ETX66,只要在文本框中输入就可以了)。 如果手动采集,单击发送数据,现场设备的数据就会在“接受数据区” Text2中显示出来;自动采集则需在程序中使用一个定时器控件,采用分时采集的方式实现自动采集。
  2.2 VB服务程序中DDE的设置
   接口程序编写完成后,按照DDE服务器所需要的三要素一一建立DDE Server、Topic和item:服务器DDE Server参数:在VB开发环境里把窗口的Link mode 属性设置为Source;主题名Topic的设置:在VB开发环境里把窗口的Link topic属性设置为Form1;数据项item的设置:它为要接收数据的载体,在这里是Text2。按照以上步骤,DDE服务器建立完成。
  2.3 MCGS中DDE的设置
  在MCGS组态软件中设置所需要的DDE服务:
  进入MCGS组态软件的开发环境中,打开“工具”菜单下的DDE连接管理选项,设置要进行动态数据连接的数据项;服务器名设置为所生成的应用程序名(电话远程控制器采集程序);主题名设置为Form1;数据项设置为Text2。按照以上步骤,基于MCGS的DDE服务建立完成。
  2.4 DDE数据交换程序的调试
  运行生成的基于VB的电话远程控制器接口程序服务器;运行MCGS-DDE工程客户端;在服务器端采集数据,通过双方数据项的变化来验证DDE方式数据通讯的正确性。在一切运行正常的情况下,可看到当现场设备的数据变化时,基于VB应用程序的窗口中的数据同步变化,在MCGS上位界面中的数据也同步变化,说明通过DDE通道的数据链接成功。
  2.5 VB作为DDE客户与DDE服务器MCGS的实际链接
  以上论述的是参数经过VB-Server应用程序流向MCGS(DDE Client),即MCGS上位组态软件采集现场的数据。当需要实现 MCGS上位组态软件控制现场设备时,检测信号和参数的流向是从MCGS传输到VB开发的应用程序VB-Server,再由VB-Server以命令形式经MCGS下达给远程现场的自动化设备。在VB-Server中,把各个设定参数相应的Text-Box的Link-item 属性设置为对应的MCGS的点,然后把从MCGS的点传输到对应Text-Box中的内容下达给远程现场设备。此时,VB应用程序为VB-Server客户,MCGS为服务器。作为通用的“软通道”,需要给用户提供命令格式设定窗口等,其编程的思想方法同上,不再赘述。
  
  参考文献
  [1]郑萍主编. 现代电气控制技术[M]. 重庆:重庆大学出版社,2003.
  [2]张毅刚等编著. 单片机应用设计[M]. 哈尔滨:哈尔滨工业大学出版社,2002,(7).

转载请注明来自:http://www.zazhifabiao.com/lunwen/dzxx/tx/30593.html