发表于:2006-03-09 15:47:00
楼主
感谢0134228提供。
WinCC与应用程序的DDE通讯
1 DDE通讯的介绍
DDE是动态数据交换(Dynamic Data Exchange)的缩写,使用DDE通讯需要两个应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。
本系统中把用VB6.0编写的应用程序作为DDE通讯的服务器提供数据,WINCC 6.0作为DDE通讯的客户接收数据。
2 WINCC与VB6.0的DDE通讯组态
一、VB6.0作为DDE通讯的服务器的组态
VB6.0作为DDE通讯的服务器,其组态非常的简单。当应用程序编好以后要确定:
1、 你所生成的应用程序的名称,如vb_wincc.exe的文件名vb_wincc
2、 应用程序的窗体的Link Topic属性,如vbimp
3、 每一个数据输入的对应的Text控件的名称属性,如1CH1 Text的名称1CH1
4、 把窗体的 Link Mode的属性设为1-source
在VB中不需要编写任何的代码,到此VB6.0作为DDE通讯的服务器的组态全部完成。
二、WINCC作为DDE通讯的客户的组态
DDE作为WINCC的通讯驱动程序,可以在变量管理器的新建驱动程序中添加,它存在于\siemens\wincc\bin的文件夹中。它的组态步骤大致如下:
1、 在WINCC的变量管理器中右击添加新的通讯驱动程序windows dde.chn
2、 点击windows dde前的+ > 打开DDE > 用右键点击 > 打开菜单 > 选择新驱动程序的连接 > 将打开连接属性的窗口
3、 在打开的窗口中进行组态:1、在名字对话框中输入你喜欢的名字2、点击后面的属性按钮,将打开一属性对话框,计算机的名称对话框可以不添(当你的DDE服务器程序和客户接收程序在同一台机子上时),在应用程序对话框中输入你的作为DDE服务器的应用程序的名称,如上面获得的vb_wincc.exe应用程序(注意:只要输入文件名就行,不要加.exe),在主题对话框中输入你的应用程序的窗体的Link Topic属性,像在上面确定的vbimp,在读变量的方式中选择一旦改变自动读取并选中读取起始值,最后点击确定按钮,到此一个新的DDE通讯通道就建立好了!!
点击DDE前的+你就可以看到以你的名字建立的DDE通讯
4、 这一步就是在新建好的DDE通道中建立变量,用它来接收从服务器传送过来的数据。在VB的窗口中有多少个用于数据显示的Text控件,就要在WINCC中建立多少个变量与之对应。1、右击你建好的DDE通道>打开菜单>选择新建变量>打开变量属性对话框,先选择常规选项卡,在名称对话框中输入你喜欢的变量的名称,在数据类型的下拉菜单中选择你需要的数据类型2、然后点击地址对话框后面的选择按钮,将打开DDE变量对话框,在条目名称的对话框中输入服务器应用程序中数据输出对应的Text控件的名称,在数据类型对话框的下拉菜单中选择你所需要的数据类型(若WINCC中的变量类型选择32位浮点数IEEE754,则在DDE中的数据类型选择float),最后点击确定按钮,一个对应的接收应用程序的变量就建好了。
接着用同样的方法建立其他的变量,这些变量就可以在WINCC组态时直接的使用!
注意:当你在VB中的数据输出的对应的Text控件的名称变了后,WINCC中的对应变量的条目名称属性也必须跟着改变,使他们保持相同。
DDE通讯的稳定、简易为系统的数据的准确、快速的传输提供了保证。当由于需要修改时,软硬件之间的相对调整,它们所花费的时间很短,操作起来很简单。