资源描述
组态王通过DDE与VB应用程序、Excel程序进行数据交换
组态王支持通过DDE方式与其它应用程序进行数据交换,通过DDE方式用户自编的应用程序可以无缝的与组态王进行数据交换,扩充组态王的功能,为用户提供更为灵活的应用空间。
现就组态王与VB应用程序、Excel程序通过DDE方式进行数据交换的使用方法进行简要的说明:
一、 与Excel程序进行实时的数据交换
Excel程序从组态王中获得数据
1. 在组态王中建立变量。
建立变量"B",并设置允许DDE访问。(本例连接的物理设备为亚控仿真PLC)
2. 创建Excel数据表格,输入访问组态王变量的连接语句。
图二
选择"R1C2"单元格按如下格式输入DDE连接语句" =VIEW|TAGNAME!设备地址",其中设备地址为在组态王中定义的IO变量的寄存器地址,其格式为"连接设备名.寄存器名"。在本例中访问组态王中变量"B"的DDE连接语句为" =VIEW|TAGNAME!PLC.INCREA100"。
3. 运行组态王的运行系统(加载演示本演示工程),Excel数据表格可以实时的得到组态王变量的数据。
组态王从Excel程序中获得数据
1. 创建Excel数据表格,并给工作表起名为"AAA"(参见图-2)。
2. 在工作表"AAA"的R1C1单元格添加"=R1C2"的语句(在R1C1单元格引用) R1C2的值。
3. 在组态王中建立Excel的DDE连接。
图三
在组态王工程浏览器à设备àDDEà新建DDE设备。弹出设备向导(参见图-3),要求输入DDE的连接设备名,本例为" Excel"(可按用户的实际需求命名);单击下一部(参见图-4),设置DDE的服务程序名"Excel"(Excel程序的服务名,不可更改),设置话题名"AAA"(为Excel的表格名称,可以按用户的实际需求设定),设置数据交换方式为"标准的Windows项目交换"(兼容微软应用程序DDE数据交换)。单击下一步(参见图-5),显示所配置DDE设备信息,确认无误后单击完成,即完成Excel DDE设备的配置。
图四
图五
4. 在组态王中添加由Excel 作为数据源的IO变量(参见图-6)。设置连接设备为"Excel"(DDE设备名),项目名为"R1C1"(Excel表格的名称)。单击确认。在组态王的画面中建立此IO点的动态连接。
图六
5. 运行组态王的运行系统(加载本演示工程),参见图-7。Excel 通过DDE连接获得组态王变量"B"的数值,并通过表格的付值操作将值传递给"R1C1"单元格,组态王IO变量"Excel2"获得此值并显示在画面上。
图七
二、 与VB应用程序进行实时的数据交换
VB应用程序从组态王中获得数据
1. 创建VB应用程序。(参见图-8)创建标准EXE程序(工程名为VBDDE),窗体名为"VBDome"(DDE服务的话题名)。
图八
2. 在VB应用程序中建立与组态王变量的DDE连接(参见图-9),在VB窗体里加一个"Label"控件(将其命名为VB2,),在其属性里设置与DDE相关的项目:
设置LinkTopic的值为"view|tagname"(组态王默认的服务名和应用名,不可更改);
设置LinkItem的值为"PLC.INCREA100"(组态王变量得寄存器地址,格式为" 连接设备名.寄存器名");
设置LinkMode的值为"1"(如组态王运行系统未运行,显示错误,参见第3步);
设置LinkTimeout的值为"50"(为默认值即可)。
图九
3. VB应用程序启动时设置连接模式为自动(VB2.LinkMode=1)。参见图-10。单击窗体(Foem),弹出代码编辑框,选择Form的Load属性。键入"VB2.LinkMode=1"。编译本工程。
图十
4. 运行组态王的运行系统(加载本演示工程),运行生成的VB运行程序。Vb应用程序即可通过DDE方式得到组态王变量"B"的实时数据,并显示其值在当前的窗口。
组态王从VB应用程序中获得数据
1. 利用上述创建的VB应用程序,在菜单条选择"VBDDE属性",弹出如下窗口(参见图-11)。选择生成属性框,在应用程序的标题中键入"VBDDE"(DDE服务程序名)。
图十一
2. 在窗体里添加TextBox控件(命名为VB1,将作为DDE服务的项目名),参见图-12。选择代码编辑窗口,选择Form的MouseMove事件,键入如下语句" VB1.Text = Int(VB2.Caption)+1"。
图十二
3. 设置VBDDE程序为DDE发布端。设置窗体属性的DDE属性,参见图-13。
设置LinkMode的值为"1"(表示应用程序为DDE的发布端);
设置LinkTopic的值为"VBDome"((DDE话题名)。
设置完成并确认无误后即可编译生成应用程序文件
图十三
4. 在组态王建立IO变量,并以前面所创建的VB用程序作为数据源。添加DDE设备的方法同前(定义的DDE设备名为VBDDE),DDE的应用程序名和话题名为前面设置的名称,即应用程序名为"VBDDE",话题名为"VBDome"。
5. 在组态王建立变量"VB2"(参见图-14),连接设备为"VBDDE",项目名为"VB1"(即为VB程序TexTBox控件的名称)。
图十四
6. 在画面里建立与变量"VB2"的动画连接。
7. 运行组态王的运行系统(加载演示本演示工程),运行前面建立的VB应用程序(组态王画面的点"VB2的值不变化,选择菜单中的特殊à"重新建立DDE连接"即可)。参见图-15。本例VB应用程序获得组态王变量"B"的数值并将此数值返回到组态王变量"VB2"中并在画面显示此值。
图十五
展开阅读全文