wincc VB

来源:百度知道 编辑:UC知道 时间:2024/05/08 12:55:26
我现在想做的是,通过DDE建立VB与WinCC之间的数据传递,VB通过串口读取某控制仪的重量数值,然后被WinCC中的DDE中的过程变量读取。我的问题是:读取后的数值存放在DDE驱动连接中的过程变量中,怎样把此过程变量的值传递到TCP/IP过程驱动下的过程变量呢?因为TCP/IP过程驱动下的过程变量要和PLC进行通信。请高手指点,最好用VBS,不要用C脚本。
对于楼主的回答我已经用过了,不行。怎么也看不到TCP/IP下的过程变量值在改变。是不是一定要连接PLC,并建立正确的通信连接才行啊?谢谢! 这种方法是不是不适用于过程变量,只适用于内部变量啊?
是不是需要什么设置啊?给个详细的示意图。如果谁给解决了,再追加50分 。
另外,我是要实时地读取变量,不是通过界面中的按钮触发。是不是要放在全局的脚本动作中呢?要怎样设置才能一运行就能实时的传递变量呢?谢谢!

有其它解决办法也行,不局限于VBS脚本。OPC也行,C也行!

在VBS里一般用WinCC运行时对象HMIRuntime
比如DDE的变量是Tag_A,要写入TCP/IP变量Tag_B
Dim Tag1,Tag2

Set Tag1=HMIRuntime.Tags("Tag_A")
Set Tag2=HMIRuntime.Tags("Tag_B")

Tag2.Value=Tag1.Read
Tag2.Write

补充回答:过程变量没有过程连接那是无论如何都不行的
在使用上内部变量和过程变量是一样的

再补充:你这样最好是在VB里读到了控制仪的值后直接写入过程变量

在VB里使用HMIRuntime对象

Dim HMI as Object

Dim Tag as Object

Set HMI=CreateObject("CCHMIRuntime.HMIRuntime")

Set Tag=HMI.Tags("过程变量")

Tag.Value=通过串口读取的值

Tag.Write '写入过程变量

几条语句注意在程序中放置的位置