发表于:2004-01-13 17:22:00
楼主
DDE(Dynamic Data Exchange,动态数据交换)是在Microsoft Windows系统下使用共享内存在两个应用程序之间进行数据交换的方式,它的特点是如果数据在链接的应用程序中改变,则本程序数据库中的数据也会发生变化,反之亦然。
通过采用DDE方式,我们可以利用计算机上的丰富资源来扩充MCGS的功能,使计算机上的多种应用程序通过DDE的方式与MCGS进行数据交换,例如我们可以使用Microsoft 的Excel从MCGS的实时数据库中读取数据,对采集结果进行计算处理,生成电子报表,并且可以将处理结果作为控制参数对生产过程进行控制。我们还可以使用高级语言开发自己的应用程序以DDE方式与MCGS进行数据交换,实现更加复杂的功能。
在这里,我们给出一个例子,来说明MCGS和Excel 以DDE方式建立数据交换的过程,当然也可以和其它应用程序进行交互,MCGS的组态过程是相似的。
在这个例子中,我们要求使用Excel表单Sheet1的第1行到第10行的第一列显示MCGS数据对象Dat01到Dat10的值,把表单Sheet1的第1行到第10行的第二列输入的值送到MCGS数据对象Dat11到Dat20中。MCGS使用DDE和Excel进行交互的过程如下:
1、首先在MCGS的“实时数据库”窗口中进行变量定义工作,定义20个数值类型的变量Data01~Data20;
2、在MCGS组态环境的“工具”菜单中选取“DDE连接管理”菜单项,弹出如下窗口:
3、在DDE连接管理窗口中,把Dat01到Dat10设置为DDE输出(选中各数据对象对应的DDE输出选项框);把Dat11到Dat20设置为DDE输入,同时对服务节点进行如下配置:
4、按“服务节点配置”按钮,弹出如下配置窗口
5、按“增加”按钮,弹出如下配置窗口,把服务节点名设为“Excel表单”,把服务名设为“Excel”,主题名设为“Sheet1”(当把Excel应用软件作为DDE服务器时,服务名永远为“Excel”,主题名为对应表单--Sheet的名称)
6、配置好服务器节点后,把Dat11到Dat20的连接节点都设为“Excel表单”,连接项目分别设为R1C2到R10C2。
7、运行Excel,在表单Sheet1的R1C1到R10C1中依次输入从 =McgsRun|DataCentre!Dat01 到 =McgsRun|DataCentre!Dat10 ,这样就完成了所有的DDE连接设置工作。
当进入MCGS运行环境后,MCGS数据对象Dat01到Dat10的值就显示在Excel的表单Sheet1的第一列中,同时,当改变表单Sheet1的第二列值时,MCGS中数据对象Dat11到Dat20的值也随之而改变。