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日 下午12:54

相关推荐

  • 请指教:PC ACCESS跟wincc怎么用?

    最佳答案 与wincc采用OPC通讯  1,用STEP7 MICROWIN完成S7-200的工程建立和编程,其中必须为OPC准备好符号表。注意符号表名…

    SIMATIC WinCC 2019年6月11日
  • wincc与excel

    现使用wincc里面的VBS编写一段程序,使历史数据以EXCEL格式保存。在画面里以一个输入、输出域的变化作为触发条件。当值变化时,打开一表格,望里面写数据,数值变化后,再写一行。…

    SIMATIC WinCC 2019年6月11日
  • TIA V13出错问题

    之前用得TIA V13都挺好的,也编写了几个项目的触摸屏了并应用起来了,但是昨天打开一个之前的项目后发现触摸屏画面什么也没有了(之后打开几个之前没有问题的项目情况也是一样…

    2017年6月10日
  • WINcc模拟量求和

    各位工程师好,小弟现在要在WINcc上面对几个浮点型数据求和,请问该怎么实现?先谢谢了。 最佳答案 io域,动态连接输入公式:”变量1”+‘变量2’+‘变量3’…….v…

    SIMATIC WinCC 2017年12月8日
  • WinCC C脚本字符串操作死机

    我用C脚本编写了一段字符串赋值给窗口名称的按钮操作,编译通过,但运行时反复操作几次按钮就死机了,强行停止报脚本服务器错误。程序如下:char * title;t…

    SIMATIC WinCC 2019年6月11日
  • WINCC数据采集?

    我要WINCC数据采集10MS的数据变化,并在趋势图上显示出来,但是WINCC最低采集是250MS,PLC是西门子S7-300 315-2DP,有什么好办法吗?或者有这样…

    SIMATIC WinCC 2017年6月29日
  • WinCC与多台PLC通讯

    请问,WinCC与2台S7-400通讯,WinCC变量应该怎样建立?2台PLC有相同变量,咋办? 最佳答案 2台PLC有相同变量没事,只要注意在建立变量时,选择不同的连接。 提问者…

    SIMATIC WinCC 2019年6月11日
  • MP 277的SD

    MP 277的SD卡中的.pdz文件能打开并编辑吗 最佳答案 该文件将压缩的项目文件与运行系统项目一同传送到HMI 设备,在下载是选择了“启用回传”(Enabl…

    SIMATIC WinCC 2020年11月1日
  • wincc配工控机控制PLC问题。

    wincc配工控机控制PLC,这个需要什么端口(以太网能实现吗?)我看到有人说得用指定的协议,我要工控机上面安装Wincc,并且保存部分历史数据。wincc可以远程控制PLC输出,…

    SIMATIC WinCC 2021年7月5日
  • wincc项目移植器

    用TOOLS里的项目移植器,一步一步往下点,最后提示找不到数据换出的路径是怎么回事啊 问题补充:我用的是WINCC6.0 英文路径试过了,还是不行 最佳答案 你的机器是否…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论