想法:当HMI变为1时,调用脚本,一开始用的是变量变化,但这样一样会存在一个问题,变量由0-1时会调用,由1-0时也会调用,这不是我想要的效果,我只想为1时调用脚本即可。所以想在脚本里编写程序实现。
问题:当在VB脚本里编写
Dim Taglog
Set HmiRuntime.tags("taglog_change")
Taglog.read
If Taglog.Value=1 Then
..........
需要的脚本
...........
End if
编写后编译报错,说Tag需要声明?
在我的理解里HmiRuntime.tags应该是个固定格式吧,那还问什么要声明呢,怎么声明法?
我这两天才接触脚本,望大神指教。
另外要实现我的目的,当变量为1是调用或激活脚本还有那些方法呢(为0时不动作脚本)谢谢!
图片说明:
最佳答案
脚本是在变量的“数值更改”事件中调用的吧?“数值更改”事件只会检查变量是否更改,不会确认是上升沿还是下降沿,所以需要在脚本中判断变量的值再编写相应的代码。
在触摸屏脚本中读取变量的值不要再使用HmiRuntime.Tags,直接使用SmartTags("TagName") = value就可以。
If SmartTags("taglog_change'') Then
''Other code
end if
提问者对于答案的评价:
明白了,感谢!
还有个问题不明白,开始这样写的,但是脚本不报错但运行不起来,达不到预期效果
If SmartTags("taglog_change") =1 Then
######
其他语句
######
End If
后来我改成这样,语句就可以了,也达到了我目的。
对于SmartTags("taglog_change") =1这个语句还有些疑问 ,求指教。谢谢!
If SmartTags("taglog_change") =0 Then
Else
#######
其他语句
#######
End If
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc155424.html