wincc 中通过按钮实现层显隐的问题

Dim Tag
Dim scrObj

Set scrObj = HMIRuntime.Screens("@Screen.@win12:@1001.@Desk:Picture name")
Set Tag = HMIRuntime.Tags("Variable")

Tag.Read

If Tag.Value = 0 Then
    scrObj.Layers(Layer).Visible = False
Else
    scrObj.Layers(layer).Visible = True
End If 

注意: (摘自WinCC Online Help):
在VBS脚本中,层级数从1开始计算,也就是说WinCC图形设计器中的层"0"需要使用层"1"来寻址。 

比如,如果需要使用画面中的层级10,那么需要在 scrObj.Layers(...).Visible中输入11。 
但是我试了之后无法实现,后来我干脆这样写
Set scrObj = HMIRuntime.Screens("@Screen.@win12:@1001.@Desk:Picture name")
scrObj.Layers(Layer).Visible = False
还是不行,求大神帮忙

问题补充:
我是想实现在wincc在运行状态下现整个层上面的元素的消失和隐藏,(这样可以省事一些吧)比如,按下按钮,在图层1上的元素都消失,再按下按钮图层1上的元素都显示。

最佳答案

不知道你要实现什么功能?在实际运行过程中你只要通过按钮让该画面上的元素显示隐藏,运行状态是不分层的,都在一层,编辑状态分层式为了在元素比较多的时候通过分层便于编辑。
直接用:
If Tag.Value = 0 Then
    ScreenItems.Item("对象名称").Visible = False

提问者对于答案的评价:
知道了,谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc255131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月10日 下午8:13
下一篇 2019年6月10日 下午8:13

相关推荐