当前位置: 主页 > PLC控制

博图VB HmiRuntime.tags 脚本报错

想法:当HMI变为1时,调用脚本,一开始用变量变化,但这样一样会存在一个问题,变量由0-1时会调用,由1-0时也会调用,这不是我想要的效果,我只想为1时调用脚本即可。所以想在脚本里编写程序实现。
问题:当在VB脚本里编写
DimTaglog
SetHmiRuntime.tags("taglog_change")
Taglog.read
IfTaglog.Value=1Then
……….
需要的脚本
………..
Endif
编写后编译报错,说Tag需要声明?
在我的理解里HmiRuntime.tags应该是个固定格式吧,那还问什么要声明呢,怎么声明法?
我这两天才接触脚本,望大神指教。
另外要实现我的目的,当变量为1是调用或激活脚本还有那些方法呢(为0时不动作脚本)谢谢!

图片说明:

博图VB HmiRuntime.tags 脚本报错1aa86a871ca5e8ccaaFC6e8a5f8b1838

最佳答案

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


在触摸屏脚本中读取变量的值不要再使用HmiRuntime.Tags,直接使用SmaRTTags("TagName")=value就可以。

IfSmartTags("taglog_change”)Then
”Othercode
endif

提问者对于答案的评价:
明白了,感谢!
还有个问题不明白,开始这样写的,但是脚本不报错但运行不起来,达不到预期效果
IfSmartTags("taglog_change")=1Then
######
其他语句
######
EndIf


后来我改成这样,语句就可以了,也达到了我目的。
对于SmartTags("taglog_change")=1这个语句还有些疑问,求指教。谢谢!

IfSmartTags("taglog_change")=0Then

Else
#######
其他语句
#######
EndIf

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号