朱耿華(1980-)
男,浙江紹興人,(信息產業部電子第六研究所, 北京 100083)現就讀于信息產業部電子第六研究所,研究方向為計算機工業過程控制。
摘要:本文首先介紹了自動化系統中冗余技術的基本概念及常見體系結構;分析了目前工業控制器冗余方案的流程和結構;最后結合應用給出了一種實現原型,該實現在控制系統中的應用達到了很好的效果。
關鍵詞:工業控制器;冗余;可靠性;切換
Abstract: Basic concept and common architecture of the redundant technique in the automatic system are introduced in this paper. The current redundant plan of industry controller has been analyzed. Finally a prototype according to application was put forward. This design achieves good effects in the application of the control system.
Key words: Industry controller; Redundancy; Reliability; Switch
對于一個自動化控制系統來說,可靠性和穩定性是最首要的問題。特別是應用于工業控制領域時,由于工業控制的對象和環境千差萬別;即使在同一個工廠中,隨著生產流程的推進其工況也復雜多變;有些現場的環境過于惡劣,電磁干擾特別強烈;以及一些人為的因素,這些都會對控制系統產生影響,無法保證系統長時間的正常安全運行。而由于系統故障或者系統崩潰而導致的生產停產甚至事故會造成極大重大的損失。因此,這就要求控制系統有極高的可靠性。
與此同時,無限制的通過提高控制系統軟硬件本身的可靠性來滿足對可靠性的要求是不現實的,因為控制裝置本身的可靠性提高有一定的限度,并且會造成成本的急劇增加。
所以,需要利用冗余技術來提高系統的可靠性。
1 冗余技術概述
冗余技術就是通過配置多余的同等功能的部件,并通過一定的冗余邏輯使它們協調地同步運行,使系統應用功能的實現得到多重保證。冗余的目的是為了降低失效率,提高整個應用系統的平均故障間隔時間。
通常按照冗余的程度可分為1:1、1:N、K:N等多種冗余。在當前元器件可靠性不斷提高的情況下,1:1的熱冗余顯得有效而又相對簡單、配置靈活且比較經濟,因此,目前國內外的過程控制系統中大多采用這種方式。
一個簡單的1:1冗余系統如圖1所示。部件1和部件2是具有同等功能的部件,在冗余控制邏輯F的協調下并聯運行,完成系統某項功能。而互為冗余兩個部件完成的功能與非冗余配置部件的功能對用戶而言應當是等同的,這就需要采用冗余控制邏輯F協調部件1和部件2。冗余控制邏輯F使兩個相同的部件1和部件2處于工作或者備用狀態,實現輸出功能和人機界面的單一性,而處于備用狀態的部件實時跟蹤工作狀態部件的控制信息,并且與工作狀態部件同步執行,保持狀態的同步;當工作狀態部件發生故障時,備用部件將瞬間無擾動切換為工作狀態,接替控制功能。
圖1 1:1冗余系統圖
2 冗余工業控制器實現模型
在工業過程控制系統中,冗余的對象可以是電源、網絡、工業控制器乃至整個控制系統。控制系統的核心是工業控制器,它是現場設備和用戶界面之間的樞紐,承擔了絕大部分的控制任務。一旦工業控制器發生故障,那整個控制系統就無法工作。因此,設計一個高效可靠的控制器冗余方案是整個系統是否穩定的關鍵。
2.1 系統結構圖
在本冗余實現方案中,系統結構圖如圖2所示。
上位應用軟件(組態軟件、服務器)是通過工業以太網與下位設備(工業控制器)通信。兩個冗余工業控制器之間通過冗余網絡通信進行冗余、診斷等,保證數據和狀態的同步。同時,由硬件邏輯電路確定工業控制器的工作/備用分配、仲裁以及切換。
兩個工業控制器上的軟硬件相同。一個作為工作控制器,另一個作為備用控制器。當一個控制器被設置為工作狀態,另一個控制器必須為備用狀態。同樣,也不可能兩個控制器都為備用控制器。工作備用狀態可以互相切換。
工作控制器和備用控制器都能接受現場設備數據,但輸出是由工作控制器控制的,即只有工作控制器才能將數據發送給現場設備。
圖2 體系結構圖
2.2 冗余功能模塊劃分
通過圖2可以看到,工業控制器的實現主要在于工業控制器(工作)和工業控制器(備用)之間的冗余邏輯設計,而該冗余邏輯的關鍵在于保證工作/備用工業控制器之間的真正同步以及實現無擾切換。
2.2.1冗余過程
工業控制器之間的整個冗余過程如圖3所示。
包括下面幾個步驟:
(1)硬件邏輯電路根據工業控制器上電情況及硬件地址確定工作/備用分配。
(2)工作控制器和備用控制器建立聯系并發送初始化信息及同步數據。
(3)工作/備用控制器同步運行,由心跳信號保證。
(4)周期更新數據或按照需求更新數據。
(5)當心跳信號發生故障時實現無擾切換。
(6)繼續步驟2-4。
圖3 冗余過程圖
2.2.2工作/備用控制器的確定
當兩個工業控制器同時上電時,硬件地址小的工業控制器優先成為工作控制器,另一臺控制器自動成為備用控制器。
對于非同時上電情況,先上電的工業控制器成為工作控制器,后上電的自動成為備用控制器。
2.2.3 數據的同步
工業控制器(工作)和工業控制器(備用)之間采用獨立的網絡進行控制器之間的數據同步。需要同步的信息包括控制器初始狀態、各種控制運算中間狀態、輸出狀態、系統時鐘、故障診斷信息等,特別是帶有積分作用或時間效應的信息單元,如累積、定時器、PID積分單元等。
為了保證在工作/備用控制器之間數據同步的同時,不降低系統的實時性,對于由上位機設定或下裝產生的組態信息和靜態參數等,工作控制器通過給備用控制器發送初始化信息來保證工作/備用控制器之間的狀態一致。而對于具有時間累積特性的“動態數據”,則必須進行動態的同步。工作控制器可以在每個運行周期內實時的將重要的動態變量傳送給備用控制器,以保證備用控制器和工作控制器之間數據的一致性。
2.2.4 運行狀態的同步
系統通過心跳信號來控制工作/備用控制器的狀態。控制器之間會交換健康信息,如果工作控制器有錯誤,就會通知備用控制器,備用控制器就會承擔工作控制器的作用。如果備用控制器有錯誤,工作控制器會單獨繼續運行。
同時,工作控制器也會對冗余網絡的通信狀況進行驗證。如果備用控制器從未收到冗余網絡上的任何信息,備用控制器就會試著確定故障原因,如有必要,承擔起控制的作用。如果工作控制器未從備用控制器收到有效的回復,工作控制器會獨立運行,就好像沒有備用控制器一樣。
當工作控制器處于特殊狀態時,會通過冗余網絡通知備用控制器,并且發送相關數據。備用控制器收到從工作控制器發來的通知及相關數據后,使自身同樣處于該特殊的狀態,從而保證如果在這個時段發生切換時還能保證切換的無擾性。
2.2.5冗余控制器切換機制
工作/備用控制器冗余切換發生情況有:
(1)工作控制器硬件故障(包括拔除工作控制器、工作控制器復位、工作控制器電源故障等)。
(2)工作控制器軟件故障(可以由軟件設定)。
(3)在系統調試和維護時,手動進行冗余切換。
當有主/從冗余切換需要發生時,由硬件電路具體實現切換,由數據同步和狀態同步來保證切換時的無擾性。
3 驗證和總結
經過長時間的現場驗證,事實證明了這個工業控制器冗余方案是可靠實用的,并且大大的提高了整個控制系統的穩定性和可靠性。
因此,從中可以總結出一套設計冗余系統的經驗和方法,為今后設計其他設備的冗余方案提供參考。
參考文獻:
[1] 黃文君,金建祥,馮冬芹,.控制系統的冗余策略和實現準則[J].儀器儀表學報,2004,25(4).
[2] 謝鯤,馮正進,羅振軍.軟件冗余現場總線系統的研究[J].總線與網絡,2003,(9).
[3] 蔣濟友.冗余DCS開發方法.PLCopen專欄,2007,(8).