如何通过一个变量来实现画面上某个图层的显示/隐藏?

参考如下VBS脚本,用户只需要更改画面名称、层级、控制变量以及它的值(比如,在一个全局 VBS脚本中或者一个按钮事件的VBS动作等等)。

相关画面打开时执行下面的脚本。

Dim Tag
Dim scrObj

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

Tag.Read

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

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

比如,如果需要使用画面中的层级10,那么需要在 scrObj.Layers(...).Visible中输入11。

如果在另外一个显示器上打开了一个画面,需要给它赋相应的地址,例如:"@Screen@win22:@1001.@Deskscreeame".关于不同显示器赋予不同地址的更多信息参见条目:831486.

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论