VBS中如何访问画面窗口中的对象属性?

请教各位大神,比如我的画面上有一个名叫"Win" 的画面窗口,画面窗口中的画面名称是"皮带机",我想通过画面上的一个按钮改变"皮带机"画面中的"静态文本1"的text属性,要怎样写才正确呢?

最佳答案

通过画面窗口设置属性

图形编辑器中的 VBS 提供两种可行的画面超越访问方法:

使用“ScreenItems”通过画面窗口的 Screen 对象

使用“HMIRuntime.Screens”通过基本画面

通过画面窗口引用

以下示例中,在从属画面窗口中更改矩形的颜色。 相应脚本在画面窗口“ScreenWindow1”所处的画面“BaseScreen”中执行。 此画面窗口会显示包含名称为“Rectangle1”的“Rectangle”类型对象的画面。

  
''VBS199

Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)

Dim objRectangle

Set objRectangle = ScreenItems("ScreenWindow1").Screen.ScreenItems("Rectangle1")

objRectangle.BackColor = RGB(255,0,0)

End Sub
 
clipboard


通过基本画面引用

可通过 HMIRuntime.Screens 引用具有待修改对象的画面。该画面相对于基本画面的规范通过以下访问代码进行定义:

[<Grundbildname>.]<Bildfenstername>[:<Bildname>]... .<Bildfenstername>[:<Bildname>]

在以下示例中,将创建对“Rectangle1”画面中包含的“Screen2”对象的引用,并将背景颜色设置为红色。

这种情况下,画面“Screen2”位于“Screen1”中。 “Screen1”显示在基本画面“BaseScreen”中。

  
''VBS141

Dim objRectangle

Set objRectangle = HMIRuntime.Screens("BaseScreen.ScreenWindow1:Screen1.ScreenWindow1:Screen2").ScreenItems("Rectangle1")

objRectangle.BackColor = RGB(255,0,0)
 
clipboard


无需指定画面名称。 可以通过画面窗口名称唯一地访问某一画面。 因此,只需指定画面窗口的名称,如下示例所示:

  
''VBS142

Dim objRectangle

Set objRectangle = HMIRuntime.Screens("ScreenWindow1.ScreenWindow2").ScreenItems("Rectangle1")

objRectangle.BackColor = RGB(255,0,0)
 
clipboard


这种访问类型可实现在不同画面中访问画面窗口中的对象。 就画面模块技术而言,这是特别有趣的一点。
参考资料:WinCC Online Help

提问者对于答案的评价:
这个应该是可以的,谢谢!!!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:54
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论