李 軍,席 巍,劉長青,李明海,張東波
(1.北京市智能機械創新設計 服務工程技術研究中心,北京 100020;2.北京聯合大學 機器人學院,北京 100020)
應用PLC技術,北京奔馳汽車有限公司汽車生產線焊接和沖壓工藝的冷卻水循環系統實現了自動控制,大大提高了工作效率,降低了現場工作人員的勞動強度,改善了工作環境。其自動控制系統采用主從站結構,以西門子S7-300 PLC為主控制器,CPU型號為CPU315-2PN/DP,從站系統采用西門子ET200M[1]。同時,為了方便現場人員操作,以西門子HMI/SCADA系統軟件WinCC為組態工具設計了監控系統,實現了過程可視化、過程控制、報警顯示以及過程值歸檔和趨勢圖顯示等功能[2]。
監控畫面的組態是實現監控系統過程可視化和過程控制功能的關鍵,簡潔、一致、友好的監控畫面可以讓現場人員的操作變得簡單而高效。汽車生產線冷卻水循環系統中包含眾多功能和參數類型相同,只是運行時實際狀態不同(參數值不同)的設備,例如閉式冷卻塔、工藝循環泵和蝶閥等。應用WinCC的畫面模板技術,為這種設備組態一個通用的畫面模板,然后在監控畫面中多次調用該畫面模板,可避免多次重復組態,從而減少組態工作量,保證監控畫面的簡潔一致,同時也能降低監控系統的維護工作量,提高其可維護性[3~5]。
WinCC畫面模板采用模塊化設計思路,與高級語言程序設計利用子程序實現模塊化程序設計的方法類似[6],通過組態一個監控畫面作為模板(函數)進行“一次定義,多次使用”。因此,畫面模板其實也是一個監控畫面,只是在使用時它一般通過畫面窗口(Picture Window)對象在其他監控畫面中顯示[7]。
畫面模板通常需要與WinCC的結構類型結合使用。在工業自動化控制領域,經常是對電機、閥和驅動器等設備進行監控,這些設備往往需要使用多個與之相關聯的命令和狀態數據對其進行特征描述。如果在設計時(包括編寫PLC控制程序和組態監控畫面),與設備相關的每一個命令和狀態數據都一一進行創建,必然會大大增加設計的工作量,同時也會增加出差錯的幾率[8],解決方法是使用WinCC的結構類型。
WinCC結構類型是一種自定義數據類型,相當于C語言的結構體,也與西門子PLC編程軟件STEP 7中的用戶自定義數據類型(User Defined Data Type,UDT)類似[9],可由多個不同數據類型的結構元素組合成一個有機的整體。定義結構類型后,可在WinCC的變量管理器中創建該結構類型的實例(其實質就是變量),創建一個結構實例,WinCC變量管理器將自動生成多個結構變量,結構變量個數與結構類型的結構元素數量一致。結構類型的使用,可以將相對獨立的設備命令和狀態數據包裝在一個實例內,簡化并加速電機、閥和驅動器等復雜設備的創建。
在WinCC中組態畫面模板時,一般的步驟是:首先根據設備的結構、控制工藝和控制要求創建該設備的結構類型;然后組態設備通用的畫面模板,并組態畫面模板中畫面對象的動態屬性;最后在組態監控畫面時,為每個具體設備創建結構實例和畫面窗口。
在汽車生產線冷卻水循環系統中,有13臺閉式冷卻塔、4個工藝循環泵和12個蝶閥等屬于功能和參數類型相同但運行時實際狀態不同的設備。以13臺閉式冷卻塔為例,其結構和參數完全相同,但由于采用逐級啟停的自動控制方式[10],每臺閉式冷卻塔在運行時的狀態和參數值是不同的。
閉式冷卻塔內部由風機、噴淋泵、內循環輔助泵、內循環電加熱裝置(2臺)等設備組成,而風機、噴淋泵、內循環輔助泵、內循環電加熱裝置等設備各自的主要監控信號包括運行狀態、啟停控制、過載報警以及手動/自動模式轉換等,如表1所示。顯然,13臺閉式冷卻塔總共需要創建260個監控數據(變量)。
2.1.1 創建結構類型
在WinCC監控系統項目中右鍵單擊“結構變量”,在彈出的菜單中單擊“新建結構類型”,打開“結構屬性”窗口,在窗口中右鍵單擊“NewStructure”,在彈出的菜單中單擊“重命名”,如圖1所示。為新建的結構類型命名為Coolingtower,單擊窗口的“新建元素”添加結構元素,右鍵單擊新生成的元素,在彈出的菜單中修改結構元素的名稱和數據類型,重復此操作,根據表1添加所有的元素并修改其名稱和數據類型,如圖2所示。
2.1.2 創建結構變量
創建結構類型Coolingtower后,就可以在WinCC的變量管理器中創建其結構實例,如圖3所示,設置變量(實例)名稱Coolingtower01,數據類型下拉列表框中選擇Coolingtower,單擊“確定”按鈕后,WinCC變量管理器將自動生成20個結構變量。在WinCC系統的“結構變量”樹中選中“Coolingtower”,可以在右側的窗口中看到創建的所有結構實例。

表1 閉式冷卻塔監控信號表

圖1 創建結構類型

圖2 創建結構類型的元素
由圖3可以看出,WinCC創建的結構變量包含了實例名稱和元素名稱, 并由“.”將二者結合在一起,WinCC將實例名稱與“.”的組合稱為變量前綴[7]。例如,結構變量“Coolingtower01.ctrFanOnoff”的變量前綴為“Coolingtower01.”。
WinCC結構類型和結構變量的使用,使得13臺閉式冷卻塔僅需創建13個結構實例就可以得到所需的總共260個監控數據(結構變量),簡化了在監控系統中創建閉式冷卻塔、工藝循環泵和蝶閥等復雜設備的工作,組態的工作量大大降低,大大提高了組態的效率。

圖3 創建結構變量
組態畫面模板實質就是組態一個監控畫面,但是組態畫面模板的動態屬性時,畫面模板中的圖形對象必須與結構類型的元素相連[3],因此組態畫面模板前先要創建與結構元素名相同的WinCC變量。
2.2.1 創建與結構元素名相同WinCC變量
在WinCC監控系統項目中右鍵單擊“變量管理”樹下的“內部變量”,在彈出的菜單中單擊“新建變量”,打開“變量屬性”窗口,在“名稱”框中輸入變量名,變量名必須與結構元素名完全一致,例如“ctrFanOnoff”,在“數據類型”下拉列表框中選擇與該結構元素相同的數據類型,單擊“確定”按鈕,完成一個變量的創建,如圖4所示。重復此操作,按照表1的“結構元素名”列創建所有的WinCC變量。

圖4 創建與結構元素名相同的WinCC變量
2.2.2 組態畫面模板
1)組態畫面模板及其圖形對象
按照組態監控畫面的一般過程組態畫面模板并添加所需的圖形對象。在WinCC監控系統項目中右鍵單擊“圖形編輯器”,在彈出的菜單中單擊“新建畫面”,并給畫面命名,例如“CoolingtowerTemplate.Pdl”。在右側的窗口中雙擊新建的畫面,打開畫面編輯器,右鍵單擊畫面,在彈出的菜單中單擊“屬性”,打開“對象屬性”窗口,選中“屬性”標簽頁,在“幾何”屬性中根據實際需求設置畫面模板的寬度和高度。然后在畫面模板中添加所需的圖形對象,閉式冷卻塔的畫面模板如圖5所示。

圖5 閉式冷卻塔的畫面模板
2)組態畫面模板的動態屬性
組態動態屬性是通過畫面或畫面中的圖形對象的物理屬性變化(如顏色、幾何尺寸、位置等)反映所監控設備的狀態,或通過操作畫面中的圖形對象對設備進行控制。需要注意的是,組態畫面模板的動態屬性時必須使用與結構元素名相同的WinCC變量(一般為內部變量)。例如,為了反映閉式冷卻塔的噴淋泵的的運行狀態(1運行/0停止),組態噴淋泵中心風扇的“閃爍背景激活屬性”,如圖6所示,在用動態對話框方法組態該動態屬性時,在“動態值范圍”對話框的“表達式/公式”框中選擇相連的變量為“staPumpRun”(值為1激活閃爍/0不閃爍)。

圖6 組態畫面模板動態屬性
畫面模板的調用,是在監控畫面中通過畫面窗口(Picture Window)對象顯示畫面模板,并通過設置畫面窗口的“變量前綴”(TagPrefix)屬性,實現在窗口中顯示設備的參數值。如圖7所示,調用畫面模板時,主要設置畫面窗口的“畫面名稱”(PictureName)屬性和“變量前綴”屬性,“畫面名稱”屬性定義了畫面窗口所顯示的畫面模板,而“變量前綴”屬性定義了畫面窗口所監控的設備。例如,“變量前綴”設置為“Coolingtower01.”時,WinCC將“Coolingtower01.”與畫面模板中圖形對象所連接的結構元素(例如staPumpRun)組合成完整的結構變量(例如Coolingtower01.staPumpRun),因此,當前畫面窗口監控的是名稱為Coolingtower01的設備。

圖7 畫面窗口的屬性設置
應用畫面窗口的“變量前綴”屬性,可以在監控畫面中添加多個畫面窗口,通過設置不同的“變量前綴”,實現每個畫面窗口顯示同一類型的不同設備,汽車生產線冷卻水循環系統的13臺閉式冷卻塔在主監控畫面同時顯示的效果如圖8所示。

圖8 畫面模板的調用
WinCC畫面模板和結構類型的配合使用,為WinCC組態監控系統提供了很大的便利,大大減少了組態工作量,提高了組態效率,降低了維護的成本,主要體現在:
1)結構類型的使用,簡化了監控系統中復雜設備的創建。創建一個結構類型實例就生成了所需的全部數據,比單個創建相互獨立的數據的效率高了很多,且減少了出錯的概率。
2)畫面模板的使用,既減少了多次重復組態相同畫面的工作量,又使得相同類型的設備呈現出風格統一、內容統一的標準化監控窗口,監控畫面的簡潔性和一致性大大提高。