作者:李世伟 唐道光 刘忠献
摘 要:阐述了由电话远程控制器与plc、变频器所组成的远程速度监控系统中所采用的dde动态数据交换模式,通过采用该模式,可以实现应用程序与组态软件mcgs的数据交互,最终实现对无级调速系统的电话远程控制.文中较为详细地讨论了dde技术的特点以及在mcgs组态软件中的具体应用,说明了采用dde技术与挂接的设备进行通信来获取系统数据的方式,具有较好的实际应用价值。
关键词:电话;远程监控;doe
1 dde数据交换原理
dde(dynamic data exchange动态数据交换)协议是一种开放的、与语言无关的、基于消息的协议,它允许多个应用程序以任何人为约定的格式交换数据或命令。它是应用程序通过共享内存进行进程间通信的一种形式,也是目前不需要用户干预的最好的数据交换方法。它将控制通信对象划分为:服务名 (dde server,又被称做应用程序名,由服务器应用程序注册)、主题名(topic,用以识别逻辑数据关联的字符串)和项目名(item,用于标识交换数据单位的字符串)。
当两个同时运行的程序通过dde方式进行数据交换时是client和server的关系,如图2所示。WwW.133229.Com一旦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的数据交换。