作者:李世伟 唐道光 刘忠献
摘 要:阐述了由电话远程控制器与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的数据交换。?