发布于 2004-10-26 07:58:00
0楼
你没有搞清楚数据发送端与接收端的概念。
VB窗体一般作为数据发送端,而WinCC通过DDE通道与VB窗体中的TextBox、Label和PictureBox控件进行通讯,也就是WinCC是数据接收端。
下面是一个建立简单的VB-DDE-WinCC的通讯步骤:
VB6.0中的步骤:
1、新建一个“标准 EXE”工程
2、设置窗体Form1的LinkMode属性为1 - Source
3、在Form1上添加一个文本框控件Text1,将其Text属性设为1(其它值也行)
4、保存工程:工程名为VBDDE.vbp
5、生成VBDDE.exe
WinCC5.x中的步骤:
1、新建一单用户项目
2、在变量管理器中添加Windows DDE驱动
3、在DDE下新建连接NewConnection,在其属性对话框中:
Computer Name:不设置
Application:VBDDE
Topic:Form1
注:接收端应用程序(WinCC)使用的application元素,它或者是没有.vbp 扩展名的Visual Basic工程文件名(如果正在Visual Basic开发环境中运行应用程序)或者是没有.exe 扩展名的Visual Basic 应用程序文件名(如果正以独立的可执行文件的形式运行应用程序)。
4、在此连接下新建一有符号16位整型变量Tag1,在其地址选择对话框中:
Item Name:Text1
Data Type:SWORD(根据实际情况设定)
5、新建一个画面:DDE_Test.Pdl
6、在画面中添加一个IO域:与Tag1动态连接,触发为一旦改变,输出格式为s9999
7、保存画面
联机调试:
1、运行VBDDE.EXE(或者在VB设计器中运行工程)
2、激活WinCC项目
3、此时IO域值与Text1值总是保持一致(无论你在哪一方改动)
无论成与败,无论甜与苦,我还是我。