我用VB编一个带有手自动转换的功能按钮,按左键即按一下自动,再按一下手动,再按一下自动,以此类推,用一个变量,自动时为1,手动时为0,正常时好用,但有时突然间自动变手动程序如下Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim Tag
Set Tag = HMIRuntime.Tags("变量名")
Tag.Read
If Tag.Value =1 Then
Tag.Value=0
Else
Tag.Value =1
End If
Tag.Write
End Sub
产品版区:SIMATIC WinCC
悬赏分:5 | 解决时间:2015-01-08 18:54:54 | 提问者: jlxylh - 新生  第1级
最佳答案
回答者:
Danielcjd
-
顶级工程师  第12级
2015-01-08 07:52:19
提问者对于答案的评价:
试了一下,等几天看效果
有可能是你的鼠标问题,你点住没有松开,鼠标抖动了。你的代码没有问题。
回答者: zhangli0 - 超级顾问  第15级
2015-01-08 08:07:05
If Tag.Value =1 Then
Tag.Value=0
Else
Tag.Value =1
End If
这段语句你可以把1改为0,0改为1,也就是说:if 条件为0 then 叙述1 else 叙述0
另外,你可以写更简单的语句,用invertbit smarttags,它就简洁得多!
回答者: 看雪001 - 中级工程师  第10级
2015-01-08 09:05:03
有问题不是代码,而是代码的执行,也就是你要保证代码被执行而且每次只被执行1次。
回答者: skbear - 助理工程师  第8级
2015-01-08 09:12:28
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!