WinCC中如何通過VBS對不同路徑的多層嵌套的控件進行操作
在WinCC中,有時候會遇到,諸如下圖的情況:

在上述畫面中,按鈕1會對子畫面2中的控件進行操作,按鈕2同樣也會對子畫面1中的控件進行操作,以上所有的WinCC畫面均放置在一個叫做TEST的文件夾中,通過以下方式可以實現該功能:
Wincc畫面絕對路徑尋址的規則如下:
“畫面所在文件夾\一級畫面名稱.一級畫面窗口:畫面所在文件夾\二級畫面名稱.二級畫面窗口:畫面所在文件夾\三級畫面名稱”
根據以上畫面路徑規則:
1、列出子畫面1的畫面路徑:
TEST\START.WINM:TEST\MAIN.WIN1:TEST\SP1
2、列出子畫面2的畫面路徑:
TEST\START.WINM:TEST\MAIN.WIN2:TEST\SP2
有了以上兩個絕對路徑SP1上的按鈕B1和SP2上的按鈕B2就可以互相對彼此畫面上的控件進行操作了,比如按下B1改變B2背景顏色為灰色,按下B2改變B1的背景色為綠色。
'B1的鼠標點擊事件內腳本 hmiruntime.screens("TEST\START.WINM:TEST\MAIN.WIN2:TEST\SP2").screenitems("B2").backcolor=vbgray
'B1的鼠標點擊事件內腳本
hmiruntime.screens("TEST\START.WINM:TEST\MAIN.WIN1:TEST\SP1").screenitems("B1").backcolor=vbgreen
注意:如果實在對某個嵌套太多的畫面中的絕對路徑理不清楚,另外有個函數可以直接顯示當前控件所在的畫面路徑,如在B1的單擊事件中寫入以下腳本,可以輕松的獲得B1所在畫面的絕對路徑:
'為了更好的明白該函數的用法,下面把他的使用方式寫全 dim obj set obj=screenitems("B1") msgbox obj.AccessPath
在WinCC幫助中對該函數的描述如下:
顯示屏幕對象(圖片)的存儲路徑(包含層級信息)。該屬性對應于屏幕集合(Screens Collections)上的完整訪問代碼。
通過以上尋址方式,通過VBS腳本,就可以對任意嵌套中任意畫面中的控件進行操作了。
浙公網安備 33010602011771號