博图VB HmiRuntime.tags 脚本报错

想法:当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时不动作脚本)谢谢!

图片说明:

博图VB HmiRuntime.tags 脚本报错   

最佳答案

脚本是在变量的“数值更改”事件中调用的吧?“数值更改”事件只会检查变量是否更改,不会确认是上升沿还是下降沿,所以需要在脚本中判断变量的值再编写相应的代码。


触摸屏脚本中读取变量的值不要再使用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/plc135256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年5月31日 下午11:27
下一篇 2017年5月31日 下午11:28

相关推荐