劉瑞祥,倪福生,顧 明
(1.中交天津航道局有限公司,天津300461;2.疏浚技術教育部工程研究中心,江蘇 常州213022;3.河海大學機電工程學院,江蘇 常州213022)
為研究港口航道疏浚工程中泥沙輸送特性,中交天津航道局有限公司和河海大學疏浚技術教育部工程研究中心聯合研制了泥沙輸送實驗臺。由于管道中輸送的介質為沙土和礫石等,一旦遇到故障停機,便會造成管道堵塞,需要耗費大量的人力物力去排查清堵,這就要求其控制系統具有較高的可靠性。冗余技術通過增加冗余部件,協調冗余部件同步運行,使系統的可靠性和穩定性得到多重保證,不受局部故障的影響[1]。西門子PLC軟冗余系統通過2臺PLC中的軟件程序實現工作/備份PLC的在線切換,是一種硬件和軟件結合的冗余方法。與硬件冗余相比,切換時間稍長,但大大降低了使用成本,適用于通信數據較少、工作/備份切換時間為秒級的系統[2]。
實驗臺系統構成如圖1所示。控制系統結構如圖2所示。

圖1 泥沙輸送實驗臺結構

圖2 控制系統結構
圖2中,各層分別具有不同的功能,即
a.信息層。在控制系統中處于頂層,由2臺監控計算機及監控軟件構成。監控軟件在OPC Server基礎上由VC++軟件開發程序編制而成,完成數據采集、處理、存儲、實時顯示和發布控制命令等功能。2臺監控計算機互為備份,其中每一臺計算機都可以獨立控制實驗臺的運行。
b.控制層。控制層是整個軟冗余控制系統的核心部分,它由2個互為冗余的PLC主站和1個ET200M分布式I/O從站組成。每個PLC主站包括1 個 CPU315-2DP 模 塊、1 個 CP343-1 模 塊;ET200M從站包括2個IM153-2接口模塊和若干個I/O模塊。需要注意的是,由于軟冗余系統中的2個IM153-2接口模塊都要能通過背板總線與I/O模塊通信,所以需要將普通導軌更換為帶有有源總線模板的導軌。工作CPU和備份CPU之間通過ISO-ON-TCP協議的以太網進行冗余數據同步;PLC主站與ET200M從站之間通過PROFIBUS總線進行通信。
c.現場層。包括管道流量計、壓力傳感器和密度計等傳感器以及電磁閥和變頻器等執行機構。系統通過ET200M上的I/O模塊來讀取現場信號或者發布控制命令。

圖3 冗余CPU工作原理
工作CPU和備份CPU中都裝有軟件冗余組件,冗余CPU工作原理如圖3所示。
當工作CPU正在處理冗余程序組件時,備份CPU則跳過這些程序,即防止2個程序組件出現因報警或不同周期時間等導致的數據不一致。備用CPU一直處于準備接管工作CPU的狀態[3],如圖3所示。
首先在STEP 7中新建一個項目,插入2個PLC站點,分別命名為“SIMATIC 300(A)”和“SIMATIC 300(B)”;其次打開“HW Config”,在2個站中分別插入1個CPU315-2DP模塊和1個CP343-1模塊,2個CPU315-2DP模塊上各自新建1條DP網絡;然后在2個DP網絡中各自插入1個ET200M從站;最后在從站中插入2個IM153-2接口模塊以及相應的I/O模塊,完成冗余系統的硬件模塊組態。
網絡組態在“NetPro”中進行。首先插入2個PC站點和1條Ethernet網絡,將2個PC站點和2個PLC主站連接起來。然后在“SIMATIC 300(A)”的CPU中新建1個指向“SIMATIC 300(B)”CPU的“ISO-ON-TCP”連接,此連接用于同步2個CPU之間的冗余數據。最后在2個PC站點中各自建立“S7_connection1”和“S7_connection2”連接,分別連接2個PLC主站。
系統具備以下冗余功能,即監控計算機冗余;主機架電源、背板總線冗余;CPU冗余;PROFIBUSDP現場總線冗余;ET200M從站的IM153-2通信接口模塊冗余。
西門子軟冗余的軟件設計需要用到西門子軟冗余包,軟冗余包中包含了不同結構冗余系統編程所需要的組織塊、功能塊和數據塊。在系統中,主要對其中的OB35(定時中斷組織塊)、OB86(故障診斷組織塊)和OB100(暖啟動組織塊)進行編程[4]。編程步驟為:
a.在“SIMATIC 300(A)”中插入冗余系統所需的組織塊、功能塊和數據塊。組織塊包括OB80,OB82,OB85,OB86,OB87,OB121,OB122,OB100和OB35。功能塊包括FB1,FC10,FC11,數據塊包括DB7(FB1的背景塊)和DB8,DB9。
b.在工作CPU的程序塊OB100中調用FC100,設置ET200M從站的個數、冗余起始數據塊及數據塊數量等參數。
c.在OB35定時中斷組織塊中編寫冗余程序。在OB35中調用FB101“SWR_ZYK”功能塊,該功能塊中封裝了冗余功能程序段來實現冗余功能。在系統中,程序塊FB1,FC10,FC11是冗余程序塊,其中FB1是數據采集子程序,FC10是閥門控制子程序,FC11是變頻器控制子程序,這些程序塊也在OB35中調用。
d.在OB86中調用診斷功能塊FC102,該程序塊用于診斷故障。
e.對“SIMATIC 300(A)”編程完畢后將這些程序塊復制到備份CPU中,并修改OB100中的參數。
冗余測試實驗中,通過切斷PROFIBUS通信網絡來模擬故障,測試工作CPU和備份CPU的切換,CPU的狀態可以通過狀態標志位來識別,系統中的狀態標志位為DB5.DBX9.0。
冗余實驗中,原來A站的CPU為工作CPU,拔掉PROFIBUS通信線纜后,A站狀態位由TRUE變為FALSE,原來作為備用的B站CPU,其狀態標志位由FALSE變為TRUE,實現了CPU的自動切換。
利用西門子PLC的軟冗余技術,完成了泥沙輸送實驗臺冗余控制系統設計。系統在多次故障模擬實驗中都能夠可靠運行,表明采用冗余技術確實能夠有效提高控制系統的可靠性和穩定性,大大降低了由監控系統故障而引發堵管事故的概率。
[1] 路建強,王華強,王聯慶,等.S7-300軟冗余在壓縮機控制中的應用[J].工業儀表與自動化裝置,2012,(1):80-83.
[2] 南新元,陳 飛,李 泉,等.S7-300PLC軟冗余系統性能實驗研究[J].實驗技術與管理,2013,30(6):17-19,23.
[3] 張曉慧,袁 敏.PLC軟冗余在氮氣連續供應自控系統中的研究與應用[J].計算機與現代化,2012,(2):61-65.
[4] 徐竟天,李樹剛,張乃祿,等.基于S7-300軟冗余的鉆機自動送鉆控制系統設計[J].石油機械,2009,37(9):98-101.