南新元,陳 飛,李 泉
(新疆大學 電氣工程學院,新疆 烏魯木齊 830047)
隨著現代工業規模的不斷擴大,許多應用場合對控制可靠性提出了更高的要求。冗余技術是提高控制系統可靠性的有效措施。可編程序控制器(PLC)被廣泛用于各行各業,目前大多數的冗余方案都是基于PLC的冗余系統。作為PLC控制核心的CPU模塊,在控制過程中難免會出現故障或者停機,這時有效的方法是對CPU進行備份,雙CPU的冗余控制便是一種滿足連續生產、提高系統可靠性的有效手段[1-2]。根據冗余實現方式的不同可分為硬件冗余和軟件冗余,硬件冗余的可靠性很高,但構建的系統成本昂貴。針對一些對冗余質量要求不高的中小企業,軟件冗余是一種低成本且能提高系統可靠性的方法,但軟冗余系統性能參數多停留在理論分析階段,這就增加了PLC冗余系統在實際應用中的不確定性[3-4]。
為解決該問題,本文以西門子S7-300PLC軟冗余系統為研究對象,在分析了西門子軟冗余系統工作原理及性能的基礎上,通過檢測系統的冗余效果并設計測量冗余切換時間的控制程序,為冗余系統的應用和性能分析尋找到了一種可行的方法。
西門子S7-300PLC軟冗余系統由2套相同的控制系統構成,二者在運行時相互獨立,分別完成處理器的運行、通信功能以及輸入輸出控制,但是整個系統的實時控制輸出由其中的主CPU決定,另一個CPU作為備用。冗余系統在運行過程中,主CPU執行全部的用戶程序段,而備用CPU跳過冗余用戶程序段,只執行非冗余部分,整個冗余實現的運行過程見圖1[5]。由圖1可以看到,PLC軟冗余系統中,主CPU獨立控制與運行,當前時刻主CPU控制整個系統,只有當主CPU發生故障或通信中斷時,備用CPU才切換成工作狀態,代替主CPU完成控制任務。
西門子S7-300PLC系統要完成軟冗余功能,必須在編程軟件STEP7中調用冗余程序塊,進而實現冗余切換。西門子軟冗余包共有4個程序庫,包含了編寫冗余程序的所有程序段[6],如表1所示。

圖1 PLC軟冗余系統內部運行流程

表1 軟冗余包程序庫
表1中的4個程序塊中:FC100為初始化程序塊,在冗余主程序組織塊OB100中調用;FC102為診斷功能塊,在OB86中調用診斷功能塊并且將得到的診斷數據,供FB101調用循環使用;FB101主要的任務是將主站系統CPU當中的冗余數據復制并拷貝到備用系統CPU當中;FB103主要實現主、備CPU之間的MPI通信,并默認調用了2個系統功能,分別為SFC65“X_SEND”和SFC66“X_RCV”,負責數據的接收與發送。由表1可以看出,FC100、FC102及FB101在每個程序庫中均被調用。除此之外,由于本文在冗余實現中使用的是西門子S7-300系列PLC中具備冗余功能的315-2DP CPU,主CPU的通信連接方式為MPI通信,因此還要使用FB103功能塊。
冗余系統的切換時間會隨著故障的產生時間和原因而發生變化,切換時間的分析有助于對系統的把握。軟冗余功能的實現主要是通過調用軟冗余包中的幾個程序庫,編寫相應的軟件程序來實現冗余控制,執行冗余方案時將冗余數據發送到指定的內部數據塊中去,然后主CPU在每個掃描周期中把這些存儲在內部數據塊中的數據發送到備用CPU中。數據發送也并非是一次全部發送完畢,而是將發送的數據分成幾個小的數據包分別發送,這樣發送的方式避免了單次發送大量數據而消耗過多的時間,但分批次發送數據導致備用系統得到數據要相對滯后,所以備用系統切換時間的快慢就決定了軟冗余系統性能的好壞。因此針對軟冗余系統數據同步時間和主備切換時間的分析,對于研究軟冗余系統的性能有極其重要的作用[7-8]。
針對冗余系統中不同的同步網絡,其數據傳輸速率是不一樣的。另外,不同規格的CPU在相同的網絡通信線和相同的數據量下,其傳輸速率也是不一樣的,性能較高的CPU傳送速率相對更快。當西門子S7-300PLC冗余系統的數據同步方式為MPI時,冗余程序使用FB103“SWR_SFC_COM”將冗余數據分割成76字節大小的數據塊,每次調用軟冗余程序只傳送1個數據塊,這樣就減輕了通信線的負荷,使得數據同步時間縮短。
令:LA為同步數據量長度;LQ為輸出過程映像區長度;LM為位地址區長度;LDB*為冗余數據塊長度;LDB*為非冗余數據塊長度;LIEC為定時計數器背景數據塊的長度;此外設TD為數據同步時間;td代表傳送1次數據所需要的時間,N代表傳送的數據總量[9]。則傳送同步數據量長度為

因td與OB35的中斷間隔時間有關,如果設中斷時間為tOB35,則傳送1次的周期數n為

則數據同步時間為

當主備系統完成切換后,備用系統將會采用最后一次數據同步值,原先的主系統自動變為備用系統,備用系統轉變為主系統完成控制輸出。
主備切換時間,指的是主系統CPU與備用系統CPU之間的工作交換所需要的時間。切換方式有很多方面,如DP從站變更、CPU斷電等導致的切換,不同的故障情況對應的切換方式也不相同。發生硬件故障指的是在系統運行過程中,負責控制輸出的CPU出現停機,變為STOP模式,這時備用系統的CPU中FB101功能塊開始工作,此時FB101模塊調用發送數據功能塊SFC65,SFC65會檢測到同步數據傳輸過程中的中斷,原先的主系統CPU變為備用站,備用系統CPU同時也會檢測出主控系統的從站與CPU斷開鏈接,將會自動切換[10]。這種情況下主備切換時間的分析要分以下兩種情況:
(1)在備用CPU還沒有調用FB101執行發送功能時,主CPU就出現故障,那么備用CPU在調用過程中第一時間就可以發現數據中斷,并在下一個周期調用時將備用CPU切換為主CPU,此時切換時間為

式中Tcycle為PLC循環掃描周期,t101為FB101執行時間。
(2)備用CPU已完成調用,主CPU此時發生故障,那么在下一個周期發送完成時,備用系統CPU才能檢測到通信故障并完成切換,所需時間為

觀測電機在不同頻率下主備切換后引起的轉速變化情況,可直觀分析S7-300PLC軟冗余系統的性能指標及穩定性。搭建的S7-300PLC軟冗余系統的CPU型號為315-2DP,接口模塊為IM153-2,數據同步方式為MPI,通過MPI電纜與上位機進行連接和通信,使用STEP7編寫冗余程序實現冗余系統的切換。
轉速測量使用S7-200PLC中的高速脈沖計數器,根據與電機同軸的光電編碼器輸出的高速脈沖頻率計算轉速值,并將實驗過程中實時采集的轉速數值以曲線顯示[11],驗證主備系統切換后能否保證電機穩定運轉,以及冗余系統能否實現主系統出現停機或出現故障斷電時備用系統及時切換接管控制。實際連接的測試系統如圖2所示。左側部分為搭建的S7-300 PLC軟冗余系統,右側部分為在該冗余系統控制下的電機轉速控制系統。

圖2 實際連接的測試系統
這里使用冗余系統中的模擬量輸出作為控制量來控制MM440變頻器的電源輸出,即4~20mA電流信號對應變頻器工作的0~50Hz。當電機轉速穩定時,通過觀察在主備控制系統切換前后電機轉速曲線的變化情況,分析軟冗余系統的性能指標和可靠性[12]。圖3中從左到右的3條曲線代表了電機工作頻率在32.65、41.69Hz和50.00Hz時,冗余系統控制作用下,主備CPU切換前后電機轉速的變化情況。
由前面介紹可知,切換時間范圍從t1=tcycle-t101到t2=2(tcycle-t101),即從99ms到198ms。觀察到的電機轉速的變化趨勢:在MM440變頻器控制下,電機空載運行下的冗余切換迅速,轉速可及時穩定在設定值。當主系統CPU被強制處于STOP模式下,備用CPU切換為當前控制站,電機轉速曲線有較小波動,切換時間在150ms左右,滿足軟冗余切換時間的性能指標,并驗證了軟冗余控制系統的穩定性,電機在切換過程中轉速穩定,冗余系統保證了電機在主備CPU切換時無較大轉速波動。

圖3 電機轉速曲線變化趨勢圖
本文以西門子S7-300PLC軟冗余系統為研究對象,在分析軟冗余實現原理與理論性能指標的基礎之上,使用MM440變頻器與S7-200PLC設計搭建了主備系統切換時間的測試系統,通過實驗結果與理論分析的比較可知,軟冗余系統的切換時間符合理論分析的結果,為該軟冗余系統在工業現場的應用提供了可靠的參考依據。
(
)
[1]衡軍山,甄成剛.基于軟件的雙CPU冗余控制研究[J].微機算機信息,2005(7):59-61.
[2]范麗云,武保紅,黃維金.硬件冗余在安全控制系統中的應用[J].自動化儀表,2004,27(4):38-40.
[3]桂躍武.PLC軟冗余系統在城市污水處理工程中的應用[J].現代電子技術,2010(9):205-207.
[4]謝鯤,馮正進,羅振軍.軟件冗余現場總線控制系統的研究[J].儀表技術與傳感器,2003(9):43-44.
[5]SIEMENS公司.S7-300/400SIMATIC S7的軟冗余功能手冊[M].北京:SIEMENS公司,2010:1-119.
[6]SIEMENS公司.SIEMENS PLC系統軟件冗余的說明與實現[M].北京:SIEMENS公司,2010:1-27.
[7]黃文君.控制系統的冗余策略和實現準則[J].儀器儀表學報,2004,12(8):545-548.
[8]陳子平.淺談控制系統冗余控制的實現[J].自動化儀表,2005,26(9):4-10.
[9]馬伯淵,呂京梅,張志同.PLC軟冗余性能分析[J].電力自動化設備,2009,29(2):98-100.
[10]馮立,王良勇,錢曉龍.冗余控制系統的原理及性能優化[J].儀器儀表學報,2003,24(4):334-336.
[11]李曉海,南新元.基于高速脈沖計數器的電機轉速測量系統設計[J].微電機,2012,45(2):72-74.
[12]柴瑞娟,孫承志,孫書芳,等.西門子PLC高級培訓教程[M].北京:人民郵電出版社,2009:242-288.