WinCC觸摸屏中的畫面模板應(yīng)用實(shí)例
在實(shí)際工程應(yīng)用和WinCC畫面組態(tài)中,經(jīng)常會遇到一些功能類似,畫面布局基本沒差別的情況。比如,電機(jī)的啟??刂坪蛣討B(tài)數(shù)據(jù)監(jiān)控畫面,如圖1所示。一個(gè)成熟的工業(yè)現(xiàn)場,可能有數(shù)十臺電機(jī)甚至上百臺電機(jī)需要在HMI畫面上進(jìn)行組態(tài),若對每一臺電機(jī)都單獨(dú)繪制一個(gè)畫面,則一方面勞動強(qiáng)度太大,另一方面也顯得太過笨拙了。
畫面模板就是用來解決這類重復(fù)性的工作的。對于工業(yè)現(xiàn)場的諸多電機(jī)或其他被控對象,只要其在HMI上的表現(xiàn)形式?jīng)]太多差別的話,我們只需繪制一幅畫面,實(shí)際WinCC運(yùn)行中,根據(jù)被控對象實(shí)時(shí)與之進(jìn)行對應(yīng)即可。
圖1 電機(jī)啟??刂飘嬅?br style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; visibility: visible;"/>
二、 結(jié)構(gòu)變量
畫面模板的實(shí)現(xiàn)辦法之一就是利用結(jié)構(gòu)變量。圖1中的電機(jī)控制畫面中,共包含電流、電壓、轉(zhuǎn)矩以及啟停信號四個(gè)變量,將它們聲明成名為"motor"的結(jié)構(gòu)變量,如圖2所示。
圖2 結(jié)構(gòu)變量motor
為方便仿真運(yùn)行,這里將motor的元素都聲明為內(nèi)部變量,并建立3個(gè)該結(jié)構(gòu)變量的實(shí)例,如圖3所示。
圖3 結(jié)構(gòu)變量motor的3個(gè)實(shí)例
三、繪制畫面模板并關(guān)聯(lián)變量
在WinCC的"圖形編輯器"里新建一幅320*200的畫面,命名為"電機(jī).pdl",并按照圖1的布局布置畫面對象。然后,進(jìn)行對象的屬性和動作配置。
1、 電流、電壓、轉(zhuǎn)矩三個(gè)輸入/輸出框關(guān)聯(lián)變量
圖4 輸入/輸出框關(guān)聯(lián)變量
圖5 輸入/輸出框關(guān)聯(lián)變量
按圖4、圖5的步驟關(guān)聯(lián)變量。需要注意的是,由于畫面模板對應(yīng)的是結(jié)構(gòu)變量,而非實(shí)例,因此,在關(guān)聯(lián)變量過程中,要將變量前綴刪掉,這樣,畫面模板中關(guān)聯(lián)的才是結(jié)構(gòu)變量motor,而非它的其中一個(gè)實(shí)例。
刪掉前綴后,關(guān)聯(lián)變量時(shí),會彈出圖6所示的報(bào)錯信息,這里可暫時(shí)點(diǎn)擊忽略即可。關(guān)聯(lián)變量后,輸出值對應(yīng)的動態(tài)屬性會出現(xiàn)一個(gè)紅色的閃電標(biāo)識,證明變量關(guān)聯(lián)成功,如圖7所示。
圖6 "丟失變量"報(bào)錯
圖7 紅色閃電表示變量關(guān)聯(lián)完成
2、 配置"啟動"、"停止"以及"退出"按鈕的動作
圖8 配置"啟動"按鈕動作
3、 配置電機(jī)圖標(biāo)的顏色屬性
如圖9所示,電機(jī)圖標(biāo)配置為運(yùn)行時(shí),即"ON_OFF=1"時(shí),顯示為綠色;停止時(shí),即"ON_OFF=0"時(shí),顯示為藍(lán)色。
圖9 電機(jī)圖標(biāo)顏色配置
四、畫面模板應(yīng)用
按照圖10-圖12編輯應(yīng)用畫面。需要注意以下幾點(diǎn):
1、3臺電機(jī)實(shí)例的畫面維護(hù)在同一個(gè)畫面窗口中,通過不同的按鈕來切換,因此畫面窗口的畫面名稱填入模板"電機(jī).pdl"即可;
2、畫面窗口僅在按下按鈕后顯示,所以畫面窗口"顯示"的靜態(tài)屬性設(shè)置為"不顯示"。然后,在每個(gè)按鈕的鼠標(biāo)左鍵釋放事件中,觸發(fā)其"顯示",如圖12所示;
3、每個(gè)按鈕在響應(yīng)鼠標(biāo)左鍵按下的事件中,將各自關(guān)聯(lián)的結(jié)構(gòu)變量motor的實(shí)例,如motor1,傳遞給畫面窗口的"變量前綴"屬性中,注意,傳遞的前綴要帶".",即傳遞的是"motor1.",而不是"motor"。
圖10 畫面模板應(yīng)用
圖11 畫面窗口屬性組態(tài)