我需要用A PLC站的模拟量控制B PLC站的设备,在上位机A站建变量A_CUR 地址PIW512 ,在上位机B站建变量A_CUR_SIM 地址MW0. 用Get取A_CUR值后Set给A_CUR_SIM.
现在发现一个问题 :A站跟B站各有一个画面,取值赋值做在A站画面,当我看A站画面时取值赋值正常进行,当我看B站画面时取值赋值停止了. 是不是WINCC对不在当前画面的变量不进行运算的啊?我该怎么做才能让我不管看哪个画面的时候取值赋值始终在进行?谢谢!!!
问题补充:
回一楼,我没用任何脚本. 在A站画面有一个输入输出域用来显示A_CUR的. 原来显示值动态那里用的是变量,现在我把它改成C语言进行取值赋值再返回显示值就这样
最佳答案
因为wincc的变量刷新有一个优化的功能也就是不显示的画面连接的变量它是不和下位机通讯的,所以你的要求应该是用全局脚本周期触发来做。c脚本就是1楼的,如果是vbs:
dim mytag
mytag=hmiruntime.tags("A_CUR ").read
hmiruntime.tags("A_CUR_SIM").write mytag
提问者对于答案的评价:
谢谢 ,我就是采取barry老师回答的那样用C语言写的 也是采用2秒周期的循环触发写的,但是切换画面之后就不传送数据了。象barry老师建议的那样在B画面再建个输入/输出域不完全管用,因为下面PLC站多,画面很多,操作员可能2个画面都不看。 您的答复让我知道问题出在什么地方了,我再试试怎么做。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263951.html