01-WinCC VBS腳本的概述
本系列VBS內(nèi)容、結(jié)構(gòu)等均來自于WinCC自帶的幫助文檔,經(jīng)過多年使用的經(jīng)驗(yàn)對(duì)文檔進(jìn)行發(fā)散解析,以便更深入的了解相應(yīng)的內(nèi)容。因當(dāng)前在WinCC中雖然不使用腳本基本也可以完整的實(shí)現(xiàn)WinCC的功能,但是為了提高組態(tài)的效率,充分發(fā)揮WinCC的可擴(kuò)展性更能,如操作記錄的制作、報(bào)表的制作、批量實(shí)現(xiàn)某個(gè)畫面中的對(duì)象屬性動(dòng)態(tài)化等。
本系列只討論有關(guān)VBS在WinCC中的應(yīng)用,無法在WinCC中使用的內(nèi)容,不做記錄。
一、VBS在WinCC中的作用
VBS即為Visual Basic的縮寫,在WinCC中,VBScript (VBS) 提供運(yùn)行時(shí)圖形運(yùn)行系統(tǒng)的變量和對(duì)象訪問,并允許執(zhí)行獨(dú)立于畫面的動(dòng)作,比如以下幾種:
1、變量的讀寫操作,在WinCC運(yùn)行的時(shí)候,VBS可以對(duì)變量進(jìn)行讀寫操作,這樣可以在產(chǎn)生動(dòng)作或者屬性變更時(shí),出發(fā)相應(yīng)的VBS腳本對(duì)指定變量的值進(jìn)行讀取或者寫入操作;
比如,在按鈕的單擊鼠標(biāo)事件中,加入一下腳本,用來讀取“TagTest”變量的值,并且將其使用彈窗輸出。
dim Val set Val=hmiruntime.tags("TagTest") Val.read Msgbox Val.value
2、對(duì)WinCC中的對(duì)象進(jìn)行操作,可以使用VBS對(duì)WinCC中對(duì)象的屬性動(dòng)態(tài)化,同時(shí)也可以在對(duì)象的事件中來觸發(fā)動(dòng)作;
比如,在WinCC的一個(gè)畫面中,有一個(gè)指示燈,其名稱為Sng,那么可以分別創(chuàng)建兩個(gè)按鈕,當(dāng)按下按鈕1的時(shí)候,Sng的背景顏色變?yōu)榫G色,當(dāng)按下按鈕2的時(shí)候,Sng背景顏色變?yōu)榧t色,并且每次變化之后,都要有彈窗提醒當(dāng)前Sng的背景顏色。
'在按鈕1的單擊鼠標(biāo)事件中,寫下如下VBS腳本 dim obj set obj=screenitems("Sng") obj.backcolor=vbgreen set obj=nothing '在按鈕2的單擊鼠標(biāo)事件中,寫下如下VBS腳本 dim obj set obj=screenitems("Sng") obj.backcolor=vbred set obj=nothing '在Sng的事件中,找到屬性主題→顏色→背景顏色→更改處,添加以下腳本 if value=vbgreen then msgbox "當(dāng)前指示燈顏色為綠色!" elseif value=vbred then msgbox "當(dāng)前指示燈顏色為紅色!" end if
3、單獨(dú)觸發(fā)動(dòng)作,VBS可以獨(dú)立于畫面系統(tǒng)單獨(dú)觸發(fā)動(dòng)作,如定時(shí)向數(shù)據(jù)庫或Excel中寫入數(shù)據(jù);
如每當(dāng)整點(diǎn)的時(shí)候,即彈出一個(gè)彈窗,報(bào)一下當(dāng)前的事件。
'在WinCC全局腳本的動(dòng)作中,創(chuàng)建以下腳本動(dòng)作,觸發(fā)器設(shè)置為每分周期觸發(fā) dim HNow,MNow,SNow HNow=hour(now()) MNow=minute(now()) SNow=second(now()) if HNow=0 and MNow=0 and SNow=0 then Msgbox Now(),vbExclamation, "當(dāng)前時(shí)間:" end if
二、VBS在WinCC中的使用位置
1、VBS可以在WinCC的全局腳本中使用,如全局動(dòng)作或標(biāo)準(zhǔn)模塊,這些過程可以獨(dú)立于畫面系統(tǒng)進(jìn)行單獨(dú)動(dòng)作;
2、在畫面中使用,在WinCC的所有可以觸發(fā)事件的屬性或者可以動(dòng)態(tài)化內(nèi)容的對(duì)象屬性均可以使用,如顏色變化后觸發(fā)某個(gè)動(dòng)作,值超過某個(gè)限值之后更改背景顏色等;
3、在用戶自定義的菜單或者工具中,在WinCC中可以自定義菜單欄和工具欄,這些自定義的菜單欄或者工具欄,也可以觸發(fā)VBS腳本;
可在 WinCC 的以下位置使用 VBS。
注:與“菜單和工具欄”相關(guān)聯(lián)的經(jīng)過更改的 VB 腳本只有在重新啟動(dòng)運(yùn)行系統(tǒng)后才會(huì)被更新,如果在運(yùn)行系統(tǒng)中更改“菜單和工具欄”的屬性,則更改只會(huì)在下列情況下起作用:
① 在畫面更改后(如果組態(tài)更改不影響基本畫面)。
② 裝載另一組態(tài)文件并重新裝載已修改的組態(tài)文件時(shí)。
posted on 2025-06-03 15:53 老邁克 閱讀(290) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)