那你的test1,经过50个周期后值是0还是1?弹出窗口的显示属性连接test1,为1显示,为0不显示,如果你的没有隐藏,说明你的test1没有被复位。
你用两个io域分别显示test和test2看看他们的当前值是多少?
-------您好zhangli0 ,用IO域检测了test和test2的当前值(test和test2为HMI内部变量)。按钮按下时调用脚本,但test2没有预期的自动加。按一次按钮加1,我按了50次按钮,test2累积到50清零并且test1被复位,弹框显示关闭。我感觉这与test2的变量类型有关系,现在做的时INT数据。用PLC的变量就可以,用HMI内部变量就不行。想不出变量类型错误在那,望您帮助。谢谢
--------test2=test2+1后,你要把test2的值写到hmi内部变量或者plc变量中才行。然后下一个周期再读取出来。
如wincc中vbs可以用:
dim mytag'定义脚本内的变量
mytag=hmiruntime.tags("test2").read'读取hmi变量的值到脚本内变量中
mytag=mytag+1'变量值自加
hmiruntime.tags("test2").write mytag'写脚本内变量的值到hmi变量中。
--------zhangli0您好,当test1和test2设为HMI内部变量时,经测试还是不能自动执行累加。能不能用博图做测试呢?非常感谢您的帮助。脚本如下
Dim tag
tag=HmiRuntime.SmartTags("test2")
If SmartTags("test1")=True Then
tag=tag+1
If tag>=50 Then
ResetBit "test1"
tag=0
test2=0
End If
HmiRuntime.SmartTags("test2")=tag
End If
---------每一次触发都 dim tag 肯定不能自动加啦。
欢迎光临 工控编程吧 (https://www.gkbc8.com/) | Powered by Discuz! X3.4 |