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

相关推荐

  • wincc和SETP 7不能同时在线

    我公司生产线的PLC为CP314C-2DP,上位机网卡为CP5611,一台上位机连接一台PLC,连接方式为MPI。在上位机中wincc和SETP 7不能同时在线,WINC…

    SIMATIC WinCC 2021年7月5日
  • 如何将设备启动的时间归档

    想实现设备启动时归档当前时刻,停止时也归档当前时刻。现做法如下:1.system info中新建无符号16位数fzqshi,fzqfen,fzqmiao分别代表时,分,秒…

    SIMATIC WinCC 2019年6月10日
  • WINCC 脚本编译错误

    wincc C脚本编译时报错,不管什么脚本,即使没有脚本编译一下也报错。请教各位是什么原因?? 图片说明:    最佳答案 http://www.ad…

    2021年7月5日
  • 怎样在WINCC中制作动画

    我想在WINCC中制作一个图形风机动画,如我的VW100出1时图形风机可在转动.VW100出0时图形风机停止转动.那位懂做,请指导下或者发过例子到我邮箱417090855@QQ.C…

    SIMATIC WinCC 2019年6月11日
  • Wincc与300PLC的通讯问题

    准备将WINcc与300PLC进行连接,然后进行模拟,但是一直连接不上,Ping不通。求大侠 最佳答案 设wincc的通讯协议和地址 提问者对于答案的评价:好

    SIMATIC WinCC 2021年7月5日
  • prosave恢复提示通道不支持完整备份

    op73恢复程序,提示通道不支持完整备份 最佳答案 恢复所选择的*.psb 压缩文件为带许可证的完全备份或含有配方数据的完全备份的文件,OP73不支持这两种完全备份。确定…

    2020年11月1日
  • SQL服务器的连接

    WinCC当再次打开是出现:无法将数据库某某.hmi连接到SQL服务器,请确认.hmi和_log.ldf文件相匹配,现在程序中只有.hmi文件了,不能打开,_log.ldf文件可能…

    SIMATIC WinCC 2019年6月11日
  • WINCC中的变量问题

    1.在WINCC里创建了几个外部变量,但地址现在是随意写的,但是创建后,想对这些变量的地址进行修改,点击属性里的选择按钮重新修改地址,却改不了,怎么办?2.在WINCC里要导入ST…

    SIMATIC WinCC 2019年6月11日
  • smart line 700 IE 和smart line 700 IE V3

    有一台 700 IE 的HMI坏了,没有WINCC的程序,只有用Prosave导出的psb文件。能否用Prosave直接导入700 IE&n…

    SIMATIC WinCC 2021年7月5日
  • 如何卸载wicc 5.1

    如何卸载wicc 5.1 最佳答案 你可以用360安全卫士的软件管家进行卸载,它可以在卸载的同时删除相应的注册表,干净又彻底! 提问者对于答案的评价:haode 专家置评…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论