发布于 2007-07-16 18:53:04
0楼
城版你以前发的帖子我没找到,太多啦~查不到。
我按照一篇介绍DDE的方法做了一个测试程序,在VB编程里面定义三个TextBox控件,名称为Text1、Text2和Text3。按钮Add执行Text1和Text2的值相加输出在Text3上。
现在我希望把这三个控件上的值传到WinCC里面去,VB测试程序主窗体的Link Topic名称为Form1(没做改变,默认的);将主窗体的Link Mode属性设为1-source。VB部分的组态就这样设置完了。
然后设置WinCC作为DDE客户端的组态:
1、新建一个单用户项目;
2、在WINCC的变量管理器中右击添加新的通讯驱动程序windows dde.chn;
3、点击windows dde前的+ > 右击DDE > 选择新驱动程序的连接 > 打开连接属性的窗口;
4、在打开的窗口进行组态:名字对话框没做改变,默认的NewConnection。右侧的“属性”对话框中,计算机名称没填为空;应用程序为test(上面VB测试程序生成的test.exe);主题填的是Form1;读变量方式为“一旦改变自动读取”+“读取起始值”;其他项目未作变化;
5、在刚才新建的连接NewConnection下新建三个属性相同的变量:num1,num2,和sum,数据类型都是“文本变量8位字符集”;在地址栏中的“选择”对话框,条目名称本别为Text1、Text2和Text3,数据类型填的都是TEXT8;
6、在图形界面中加入三个输入输出域,本别连接变量num1、num2和sum,属性中,“域类型”都为“输出”,“数据格式”都为“字符串”;
7、到这里,WinCC的客户端组态配置已经完成。
运行VB测试程序test.exe,然后激活WinCC的项目,任意改变测试程序中TextBox栏的值,WinCC的三个I/O域却无法显示并且随之变化,始终都是零!
然后我检查WinCCExplorer的“工具”“驱动程序连接状态”,“NewConnection”的状态都是“断开连接”。
实在不知道怎么回事啊~请大家指教!