请教各位大神,比如我的画面上有一个名叫"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