崔海濤,王國棟
(東北大學軋制技術及連軋自動化國家重點實驗室,遼寧 沈陽,110819)
近年來,我國引進了多條中厚板生產線,其控制系統大多采用西門子公司的設備或者技術。西門子公司的中厚板生產控制系統的自動化程度高、精度好、運行穩定,代表了中厚板軋制自動化控制領域的世界先進水平。
西門子中厚板軋機二級控制系統采用多進程的架構形式,在實際應用中表現出極好的穩定性和可擴展性,非常值得借鑒。本文通過分析西門子中厚板軋機二級控制系統的系統架構設計思想,結合國內中厚板生產線的自動化控制需求,對東北大學軋制技術及連軋自動化國家重點實驗室原有中厚板軋機二級控制系統進行改造,擬開發一個多進程形式的控制系統,使該系統在功能上滿足國內中厚板軋機的控制要求,在穩定性和可擴展性方面以期與西門子中厚板軋機二級控制系統相當。
西門子中厚板軋機二級控制系統采用的是多進程形式和面向對象的編程方式。每個進程實現不同的功能,各進程間的通信、調度等都是在基于CORBA的二級控制系統平臺上完成的。通過該系統平臺可以方便地添加或刪除進程,實現系統功能的伸縮。
該二級控制系統包括30多個進程,進程之間相對獨立。這些進程根據功能大體可以分為3大類型:接口類進程、非控制類進程和控制類進程。這3大類進程的關系如圖1所示。

圖1 西門子軋機二級控制系統各類進程間的關系Fig.1 Relationship among processes of level two control system for SIEMENS mill
由本實驗室開發的軋機二級控制系統已成功應用于國內多條中厚板生產線,該軋機二級控制系統主要由通信和模型兩個進程組成,進程間通過消息傳遞事件,通過共享內存實現數據共享,如圖2所示。這兩個進程皆采用多線程結構設計,每個線程實現不同的功能。通信進程負責實現軋機二級與基礎自動化、人機界面等外部通信;模型進程負責設定計算,其中的跟蹤調度模塊負責對通信進程傳遞的事件進行解析處理,并協調其它模塊的運行,調度進程中的事件[1-2]。

圖2 軋機二級控制系統結構Fig.2 Configuration of level two control system for mill
該控制系統結構簡單,易于掌握和維護,但是在穩定性和可擴展性方面與西門子軋機二級控制系統相比還有一定差距。首先,該系統中任何一個進程出現問題都會導致整個控制系統功能的喪失;其次,隨著新工藝、新技術的投入使用,軋機二級系統的升級改造也越來越頻繁,原有控制系統的架構形式很難適應這種變化,因此有必要對該系統進行改造。
改造后的二級控制系統在系統架構設計上借鑒了西門子控制系統,在模型方面繼承了原系統的控制模型。進程劃分依據兩個原則:①功能惟一,每個進程只實現一個功能;②進程之間相對獨立,這樣既能增強系統的穩定性,又便于日后升級改造。依據上述原則,軋機二級控制系統可劃分為15個進程,進程間的關系如圖3所示。

圖3 改造后的軋機二級控制系統各進程間的關系Fig.3 Relationship among processes of level two control system for reformed mill
接口類進程有6個,分別為三級接口進程(L3l)、加熱爐二級接口進程(FUl)、ACC二級接口進程(ACCl)、人機界面接口進程(HMIl)、一級輸入接口進程(iL1)、一級輸出接口進程(oL1)。
非控制類進程有5個,分別為調度進程(dispatch)、測量值處理進程 (meas)、跟蹤進程(track)、設定值發送進程(spt)、數據庫讀寫進程(dbwriter)。
控制類進程有4個,分別為預計算進程(precalc)、道次修正進程 (recalc)、自學習 進程 (adapt)、軋制節奏控制進程(mipa)。控制類進程用于設定值計算,包含了所有的中厚板軋制工藝模型。
3.2.1 網絡通信
軋機二級控制系統通過工業以太網與上下游設備服務器進行通信。以往的過程控制系統一般采用傳統的Socket(套接字)進行主機間通信,本系統采用 ACE Socket[3-4],通信流程如圖4所示。

圖4 ACE Socket通信流程圖Fig.4 Flow chart of ACE Socket communication
采用ACE進行網絡通信具有高效性、可移植性和穩定性,在實際應用中可以降低通信時延,提高通信效率,增強通信穩定性[5-7]。此外,采用ACE Socket wrapper facade的“面向對象”設計,應用程序的IPC機制可以很容易地改變,并且無需更改API參數,也無需手工修改地址結構和函數。
3.2.2 系統進程間通信
本系統通過共享內存實現進程間通信。由dispatch進程通過 ACE_Malloc[8]模板類創建共享內存池,并在共享內存池中為每個進程開辟相應的數據型共享內存塊和消息型共享內存塊。因此系統中的各個進程就可以通過這兩種共享內存塊進行通信。
數據型共享內存塊用于實現進程間的數據共享,由本進程寫入,供其它進程讀取。以meas進程為例,meas進程將處理后的實測數據寫入到該進程的數據型共享內存塊中,供precalc等進程使用。
消息型共享內存塊用于實現進程觸發,由其它進程寫入觸發消息,本進程讀取并根據觸發消息執行相應功能。
3.2.3 線程間通信
本系統中有些進程實現的功能比較復雜,需要采用多線程結構設計,如HMIl、meas、track等進程。ACE提供了一個用于創建線程的模板類ACE_Tack〈〉,通過該模板類可以很容易地創建線程,并利用ACE消息隊列機制實現線程間通信。
系統中的進程由主調線程和功能線程組成,采用自定義消息實現線程間通信。主調線程負責從該進程的消息型共享內存塊中讀取進程觸發消息,并根據進程消息觸發相應的功能線程,功能線程負責實現具體功能。
3.2.4 系統監控
本軋機二級控制系統包含15個進程,并涉及到數據庫中各種類型的表。為便于操作人員對軋機二級系統進行監控,特別開發了軋機二級系統監控軟件。通過該軟件可進行系統進程監控和數據庫操作。
圖5所示為系統進程監控界面,通過該界面可以實現進程的啟動與關閉以及進程運行狀態實時監控。

圖5 軋機二級系統進程監控界面Fig.5 Monitoring interface of level two processes for mill
系統改造完成后,在實驗室的過程自動化控制模擬平臺上進行測試。測試內容包括系統的穩定性與響應速度、系統通信的準確性、進程間數據共享與調度機制的可靠性以及系統容錯能力等。
測試系統結構如圖6所示。改進后的軋機二級控制系統安裝于軋機二級服務器中,PLC充當現場的基礎自動化,其發送的數據是從現場采集的實測數據。人機界面服務器的配置與現場使用的完全相同,通過人機界面對軋機二級控制系統進行操作。此外,人機界面服務器上還裝有3個基于TCP/IP協議的通信進程,分別與軋機二級系統中的L3l、FUl、ACC進程通信,用來模擬軋機二級與加熱爐、軋機三級以及ACC過程機之間的通信。

圖6 測試系統結構Fig.6 Configuration of test system
經過7d的不間斷測試,結果表明:①改造后的軋機二級控制系統運行穩定,沒有出現死機、無響應等重大問題;②系統通信準確可靠,未出現問題;③系統能夠對各種觸發事件迅速準確地做出響應,最長響應時間不超過0.1s。
(1)改造后的軋機二級控制系統架構設計合理,運行穩定,響應迅速,能夠滿足在線控制要求。通過添加或刪除進程的方式可以非常容易地實現系統功能的伸縮。
(2)采用ACE中間件解決系統開發的關鍵問題,避免了使用復雜的 Windows API函數,大大降低了開發難度,提高了開發效率。
[1]矯志杰,何純玉,陳波,等.首鋼中厚板軋機過程控制系統[J].東北大學學報:自然科學版,2004,25(5):412-415.
[2]何純玉,吳迪,王君,等.中厚板軋制過程計算機控制系統結構的研制[J].東北大學學報:自然科學版,2006,27(2):173-176.
[3]Huston S D,Johnson J C,Syyid U.ACE程序員指南:網絡與系統編程的實用設計模式[M].馬維達,譯.北京:中國電力出版社,2004.
[4]Douglas C S,Stephen D H.C++網絡編程(第1卷):運用ACE和模式消除復雜性[M].於春景,譯.北京:電子工業出版社,2007.
[5]Schmidt D C.ACE:an object-oriented framework for developing distributed applications[C]//Proceedings of the 6th USENIX C++ Technical Conference.Cambridge,Massachusetts:USENIX As-sociation,April 1994:1-17.
[6]Chang-Chien L-R,Ong C-M,Kramer R A.Field tests and refinements of an ACE model[J].IEEE Transactions on Power Systems,2003,18(2):898-903.
[7]Ponterli E,Gupta G,Hermenegildo M V.ACE:a high-performance parallel prolog system[C]//Proceedings of International Parallel and Distributed Processing Symposium/International Parallel Processing Symposium-IPDPS (IPPS),25-28April 1995,Santa Barbara,California,USA.IEEE Computer Society,1995:564-571.
[8]藍炳雄,張麗.基于ACE的共享內存的開發與研究[J].計算機系統應用,2005(4):40-43.