李 軍,席 巍,劉長青,李明海,張東波
(1.北京市智能機(jī)械創(chuàng)新設(shè)計(jì) 服務(wù)工程技術(shù)研究中心,北京 100020;2.北京聯(lián)合大學(xué) 機(jī)器人學(xué)院,北京 100020)
應(yīng)用PLC技術(shù),北京奔馳汽車有限公司汽車生產(chǎn)線焊接和沖壓工藝的冷卻水循環(huán)系統(tǒng)實(shí)現(xiàn)了自動(dòng)控制,大大提高了工作效率,降低了現(xiàn)場工作人員的勞動(dòng)強(qiáng)度,改善了工作環(huán)境。其自動(dòng)控制系統(tǒng)采用主從站結(jié)構(gòu),以西門子S7-300 PLC為主控制器,CPU型號(hào)為CPU315-2PN/DP,從站系統(tǒng)采用西門子ET200M[1]。同時(shí),為了方便現(xiàn)場人員操作,以西門子HMI/SCADA系統(tǒng)軟件WinCC為組態(tài)工具設(shè)計(jì)了監(jiān)控系統(tǒng),實(shí)現(xiàn)了過程可視化、過程控制、報(bào)警顯示以及過程值歸檔和趨勢(shì)圖顯示等功能[2]。
監(jiān)控畫面的組態(tài)是實(shí)現(xiàn)監(jiān)控系統(tǒng)過程可視化和過程控制功能的關(guān)鍵,簡潔、一致、友好的監(jiān)控畫面可以讓現(xiàn)場人員的操作變得簡單而高效。汽車生產(chǎn)線冷卻水循環(huán)系統(tǒng)中包含眾多功能和參數(shù)類型相同,只是運(yùn)行時(shí)實(shí)際狀態(tài)不同(參數(shù)值不同)的設(shè)備,例如閉式冷卻塔、工藝循環(huán)泵和蝶閥等。應(yīng)用WinCC的畫面模板技術(shù),為這種設(shè)備組態(tài)一個(gè)通用的畫面模板,然后在監(jiān)控畫面中多次調(diào)用該畫面模板,可避免多次重復(fù)組態(tài),從而減少組態(tài)工作量,保證監(jiān)控畫面的簡潔一致,同時(shí)也能降低監(jiān)控系統(tǒng)的維護(hù)工作量,提高其可維護(hù)性[3~5]。
WinCC畫面模板采用模塊化設(shè)計(jì)思路,與高級(jí)語言程序設(shè)計(jì)利用子程序?qū)崿F(xiàn)模塊化程序設(shè)計(jì)的方法類似[6],通過組態(tài)一個(gè)監(jiān)控畫面作為模板(函數(shù))進(jìn)行“一次定義,多次使用”。因此,畫面模板其實(shí)也是一個(gè)監(jiān)控畫面,只是在使用時(shí)它一般通過畫面窗口(Picture Window)對(duì)象在其他監(jiān)控畫面中顯示[7]。
畫面模板通常需要與WinCC的結(jié)構(gòu)類型結(jié)合使用。在工業(yè)自動(dòng)化控制領(lǐng)域,經(jīng)常是對(duì)電機(jī)、閥和驅(qū)動(dòng)器等設(shè)備進(jìn)行監(jiān)控,這些設(shè)備往往需要使用多個(gè)與之相關(guān)聯(lián)的命令和狀態(tài)數(shù)據(jù)對(duì)其進(jìn)行特征描述。如果在設(shè)計(jì)時(shí)(包括編寫PLC控制程序和組態(tài)監(jiān)控畫面),與設(shè)備相關(guān)的每一個(gè)命令和狀態(tài)數(shù)據(jù)都一一進(jìn)行創(chuàng)建,必然會(huì)大大增加設(shè)計(jì)的工作量,同時(shí)也會(huì)增加出差錯(cuò)的幾率[8],解決方法是使用WinCC的結(jié)構(gòu)類型。
WinCC結(jié)構(gòu)類型是一種自定義數(shù)據(jù)類型,相當(dāng)于C語言的結(jié)構(gòu)體,也與西門子PLC編程軟件STEP 7中的用戶自定義數(shù)據(jù)類型(User Defined Data Type,UDT)類似[9],可由多個(gè)不同數(shù)據(jù)類型的結(jié)構(gòu)元素組合成一個(gè)有機(jī)的整體。定義結(jié)構(gòu)類型后,可在WinCC的變量管理器中創(chuàng)建該結(jié)構(gòu)類型的實(shí)例(其實(shí)質(zhì)就是變量),創(chuàng)建一個(gè)結(jié)構(gòu)實(shí)例,WinCC變量管理器將自動(dòng)生成多個(gè)結(jié)構(gòu)變量,結(jié)構(gòu)變量個(gè)數(shù)與結(jié)構(gòu)類型的結(jié)構(gòu)元素?cái)?shù)量一致。結(jié)構(gòu)類型的使用,可以將相對(duì)獨(dú)立的設(shè)備命令和狀態(tài)數(shù)據(jù)包裝在一個(gè)實(shí)例內(nèi),簡化并加速電機(jī)、閥和驅(qū)動(dòng)器等復(fù)雜設(shè)備的創(chuàng)建。
在WinCC中組態(tài)畫面模板時(shí),一般的步驟是:首先根據(jù)設(shè)備的結(jié)構(gòu)、控制工藝和控制要求創(chuàng)建該設(shè)備的結(jié)構(gòu)類型;然后組態(tài)設(shè)備通用的畫面模板,并組態(tài)畫面模板中畫面對(duì)象的動(dòng)態(tài)屬性;最后在組態(tài)監(jiān)控畫面時(shí),為每個(gè)具體設(shè)備創(chuàng)建結(jié)構(gòu)實(shí)例和畫面窗口。
在汽車生產(chǎn)線冷卻水循環(huán)系統(tǒng)中,有13臺(tái)閉式冷卻塔、4個(gè)工藝循環(huán)泵和12個(gè)蝶閥等屬于功能和參數(shù)類型相同但運(yùn)行時(shí)實(shí)際狀態(tài)不同的設(shè)備。以13臺(tái)閉式冷卻塔為例,其結(jié)構(gòu)和參數(shù)完全相同,但由于采用逐級(jí)啟停的自動(dòng)控制方式[10],每臺(tái)閉式冷卻塔在運(yùn)行時(shí)的狀態(tài)和參數(shù)值是不同的。
閉式冷卻塔內(nèi)部由風(fēng)機(jī)、噴淋泵、內(nèi)循環(huán)輔助泵、內(nèi)循環(huán)電加熱裝置(2臺(tái))等設(shè)備組成,而風(fēng)機(jī)、噴淋泵、內(nèi)循環(huán)輔助泵、內(nèi)循環(huán)電加熱裝置等設(shè)備各自的主要監(jiān)控信號(hào)包括運(yùn)行狀態(tài)、啟??刂啤⑦^載報(bào)警以及手動(dòng)/自動(dòng)模式轉(zhuǎn)換等,如表1所示。顯然,13臺(tái)閉式冷卻塔總共需要?jiǎng)?chuàng)建260個(gè)監(jiān)控?cái)?shù)據(jù)(變量)。
2.1.1 創(chuàng)建結(jié)構(gòu)類型
在WinCC監(jiān)控系統(tǒng)項(xiàng)目中右鍵單擊“結(jié)構(gòu)變量”,在彈出的菜單中單擊“新建結(jié)構(gòu)類型”,打開“結(jié)構(gòu)屬性”窗口,在窗口中右鍵單擊“NewStructure”,在彈出的菜單中單擊“重命名”,如圖1所示。為新建的結(jié)構(gòu)類型命名為Coolingtower,單擊窗口的“新建元素”添加結(jié)構(gòu)元素,右鍵單擊新生成的元素,在彈出的菜單中修改結(jié)構(gòu)元素的名稱和數(shù)據(jù)類型,重復(fù)此操作,根據(jù)表1添加所有的元素并修改其名稱和數(shù)據(jù)類型,如圖2所示。
2.1.2 創(chuàng)建結(jié)構(gòu)變量
創(chuàng)建結(jié)構(gòu)類型Coolingtower后,就可以在WinCC的變量管理器中創(chuàng)建其結(jié)構(gòu)實(shí)例,如圖3所示,設(shè)置變量(實(shí)例)名稱Coolingtower01,數(shù)據(jù)類型下拉列表框中選擇Coolingtower,單擊“確定”按鈕后,WinCC變量管理器將自動(dòng)生成20個(gè)結(jié)構(gòu)變量。在WinCC系統(tǒng)的“結(jié)構(gòu)變量”樹中選中“Coolingtower”,可以在右側(cè)的窗口中看到創(chuàng)建的所有結(jié)構(gòu)實(shí)例。
表1 閉式冷卻塔監(jiān)控信號(hào)表
圖1 創(chuàng)建結(jié)構(gòu)類型
圖2 創(chuàng)建結(jié)構(gòu)類型的元素
由圖3可以看出,WinCC創(chuàng)建的結(jié)構(gòu)變量包含了實(shí)例名稱和元素名稱, 并由“.”將二者結(jié)合在一起,WinCC將實(shí)例名稱與“.”的組合稱為變量前綴[7]。例如,結(jié)構(gòu)變量“Coolingtower01.ctrFanOnoff”的變量前綴為“Coolingtower01.”。
WinCC結(jié)構(gòu)類型和結(jié)構(gòu)變量的使用,使得13臺(tái)閉式冷卻塔僅需創(chuàng)建13個(gè)結(jié)構(gòu)實(shí)例就可以得到所需的總共260個(gè)監(jiān)控?cái)?shù)據(jù)(結(jié)構(gòu)變量),簡化了在監(jiān)控系統(tǒng)中創(chuàng)建閉式冷卻塔、工藝循環(huán)泵和蝶閥等復(fù)雜設(shè)備的工作,組態(tài)的工作量大大降低,大大提高了組態(tài)的效率。
圖3 創(chuàng)建結(jié)構(gòu)變量
組態(tài)畫面模板實(shí)質(zhì)就是組態(tài)一個(gè)監(jiān)控畫面,但是組態(tài)畫面模板的動(dòng)態(tài)屬性時(shí),畫面模板中的圖形對(duì)象必須與結(jié)構(gòu)類型的元素相連[3],因此組態(tài)畫面模板前先要?jiǎng)?chuàng)建與結(jié)構(gòu)元素名相同的WinCC變量。
2.2.1 創(chuàng)建與結(jié)構(gòu)元素名相同WinCC變量
在WinCC監(jiān)控系統(tǒng)項(xiàng)目中右鍵單擊“變量管理”樹下的“內(nèi)部變量”,在彈出的菜單中單擊“新建變量”,打開“變量屬性”窗口,在“名稱”框中輸入變量名,變量名必須與結(jié)構(gòu)元素名完全一致,例如“ctrFanOnoff”,在“數(shù)據(jù)類型”下拉列表框中選擇與該結(jié)構(gòu)元素相同的數(shù)據(jù)類型,單擊“確定”按鈕,完成一個(gè)變量的創(chuàng)建,如圖4所示。重復(fù)此操作,按照表1的“結(jié)構(gòu)元素名”列創(chuàng)建所有的WinCC變量。
圖4 創(chuàng)建與結(jié)構(gòu)元素名相同的WinCC變量
2.2.2 組態(tài)畫面模板
1)組態(tài)畫面模板及其圖形對(duì)象
按照組態(tài)監(jiān)控畫面的一般過程組態(tài)畫面模板并添加所需的圖形對(duì)象。在WinCC監(jiān)控系統(tǒng)項(xiàng)目中右鍵單擊“圖形編輯器”,在彈出的菜單中單擊“新建畫面”,并給畫面命名,例如“CoolingtowerTemplate.Pdl”。在右側(cè)的窗口中雙擊新建的畫面,打開畫面編輯器,右鍵單擊畫面,在彈出的菜單中單擊“屬性”,打開“對(duì)象屬性”窗口,選中“屬性”標(biāo)簽頁,在“幾何”屬性中根據(jù)實(shí)際需求設(shè)置畫面模板的寬度和高度。然后在畫面模板中添加所需的圖形對(duì)象,閉式冷卻塔的畫面模板如圖5所示。
圖5 閉式冷卻塔的畫面模板
2)組態(tài)畫面模板的動(dòng)態(tài)屬性
組態(tài)動(dòng)態(tài)屬性是通過畫面或畫面中的圖形對(duì)象的物理屬性變化(如顏色、幾何尺寸、位置等)反映所監(jiān)控設(shè)備的狀態(tài),或通過操作畫面中的圖形對(duì)象對(duì)設(shè)備進(jìn)行控制。需要注意的是,組態(tài)畫面模板的動(dòng)態(tài)屬性時(shí)必須使用與結(jié)構(gòu)元素名相同的WinCC變量(一般為內(nèi)部變量)。例如,為了反映閉式冷卻塔的噴淋泵的的運(yùn)行狀態(tài)(1運(yùn)行/0停止),組態(tài)噴淋泵中心風(fēng)扇的“閃爍背景激活屬性”,如圖6所示,在用動(dòng)態(tài)對(duì)話框方法組態(tài)該動(dòng)態(tài)屬性時(shí),在“動(dòng)態(tài)值范圍”對(duì)話框的“表達(dá)式/公式”框中選擇相連的變量為“staPumpRun”(值為1激活閃爍/0不閃爍)。
圖6 組態(tài)畫面模板動(dòng)態(tài)屬性
畫面模板的調(diào)用,是在監(jiān)控畫面中通過畫面窗口(Picture Window)對(duì)象顯示畫面模板,并通過設(shè)置畫面窗口的“變量前綴”(TagPrefix)屬性,實(shí)現(xiàn)在窗口中顯示設(shè)備的參數(shù)值。如圖7所示,調(diào)用畫面模板時(shí),主要設(shè)置畫面窗口的“畫面名稱”(PictureName)屬性和“變量前綴”屬性,“畫面名稱”屬性定義了畫面窗口所顯示的畫面模板,而“變量前綴”屬性定義了畫面窗口所監(jiān)控的設(shè)備。例如,“變量前綴”設(shè)置為“Coolingtower01.”時(shí),WinCC將“Coolingtower01.”與畫面模板中圖形對(duì)象所連接的結(jié)構(gòu)元素(例如staPumpRun)組合成完整的結(jié)構(gòu)變量(例如Coolingtower01.staPumpRun),因此,當(dāng)前畫面窗口監(jiān)控的是名稱為Coolingtower01的設(shè)備。
圖7 畫面窗口的屬性設(shè)置
應(yīng)用畫面窗口的“變量前綴”屬性,可以在監(jiān)控畫面中添加多個(gè)畫面窗口,通過設(shè)置不同的“變量前綴”,實(shí)現(xiàn)每個(gè)畫面窗口顯示同一類型的不同設(shè)備,汽車生產(chǎn)線冷卻水循環(huán)系統(tǒng)的13臺(tái)閉式冷卻塔在主監(jiān)控畫面同時(shí)顯示的效果如圖8所示。
圖8 畫面模板的調(diào)用
WinCC畫面模板和結(jié)構(gòu)類型的配合使用,為WinCC組態(tài)監(jiān)控系統(tǒng)提供了很大的便利,大大減少了組態(tài)工作量,提高了組態(tài)效率,降低了維護(hù)的成本,主要體現(xiàn)在:
1)結(jié)構(gòu)類型的使用,簡化了監(jiān)控系統(tǒng)中復(fù)雜設(shè)備的創(chuàng)建。創(chuàng)建一個(gè)結(jié)構(gòu)類型實(shí)例就生成了所需的全部數(shù)據(jù),比單個(gè)創(chuàng)建相互獨(dú)立的數(shù)據(jù)的效率高了很多,且減少了出錯(cuò)的概率。
2)畫面模板的使用,既減少了多次重復(fù)組態(tài)相同畫面的工作量,又使得相同類型的設(shè)備呈現(xiàn)出風(fēng)格統(tǒng)一、內(nèi)容統(tǒng)一的標(biāo)準(zhǔn)化監(jiān)控窗口,監(jiān)控畫面的簡潔性和一致性大大提高。