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