劉瑞祥,倪福生,顧 明
(1.中交天津航道局有限公司,天津300461;2.疏浚技術(shù)教育部工程研究中心,江蘇 常州213022;3.河海大學(xué)機電工程學(xué)院,江蘇 常州213022)
為研究港口航道疏浚工程中泥沙輸送特性,中交天津航道局有限公司和河海大學(xué)疏浚技術(shù)教育部工程研究中心聯(lián)合研制了泥沙輸送實驗臺。由于管道中輸送的介質(zhì)為沙土和礫石等,一旦遇到故障停機,便會造成管道堵塞,需要耗費大量的人力物力去排查清堵,這就要求其控制系統(tǒng)具有較高的可靠性。冗余技術(shù)通過增加冗余部件,協(xié)調(diào)冗余部件同步運行,使系統(tǒng)的可靠性和穩(wěn)定性得到多重保證,不受局部故障的影響[1]。西門子PLC軟冗余系統(tǒng)通過2臺PLC中的軟件程序?qū)崿F(xiàn)工作/備份PLC的在線切換,是一種硬件和軟件結(jié)合的冗余方法。與硬件冗余相比,切換時間稍長,但大大降低了使用成本,適用于通信數(shù)據(jù)較少、工作/備份切換時間為秒級的系統(tǒng)[2]。
實驗臺系統(tǒng)構(gòu)成如圖1所示??刂葡到y(tǒng)結(jié)構(gòu)如圖2所示。
圖1 泥沙輸送實驗臺結(jié)構(gòu)
圖2 控制系統(tǒng)結(jié)構(gòu)
圖2中,各層分別具有不同的功能,即
a.信息層。在控制系統(tǒng)中處于頂層,由2臺監(jiān)控計算機及監(jiān)控軟件構(gòu)成。監(jiān)控軟件在OPC Server基礎(chǔ)上由VC++軟件開發(fā)程序編制而成,完成數(shù)據(jù)采集、處理、存儲、實時顯示和發(fā)布控制命令等功能。2臺監(jiān)控計算機互為備份,其中每一臺計算機都可以獨立控制實驗臺的運行。
b.控制層??刂茖邮钦麄€軟冗余控制系統(tǒng)的核心部分,它由2個互為冗余的PLC主站和1個ET200M分布式I/O從站組成。每個PLC主站包括1 個 CPU315-2DP 模 塊、1 個 CP343-1 模 塊;ET200M從站包括2個IM153-2接口模塊和若干個I/O模塊。需要注意的是,由于軟冗余系統(tǒng)中的2個IM153-2接口模塊都要能通過背板總線與I/O模塊通信,所以需要將普通導(dǎo)軌更換為帶有有源總線模板的導(dǎo)軌。工作CPU和備份CPU之間通過ISO-ON-TCP協(xié)議的以太網(wǎng)進行冗余數(shù)據(jù)同步;PLC主站與ET200M從站之間通過PROFIBUS總線進行通信。
c.現(xiàn)場層。包括管道流量計、壓力傳感器和密度計等傳感器以及電磁閥和變頻器等執(zhí)行機構(gòu)。系統(tǒng)通過ET200M上的I/O模塊來讀取現(xiàn)場信號或者發(fā)布控制命令。
圖3 冗余CPU工作原理
工作CPU和備份CPU中都裝有軟件冗余組件,冗余CPU工作原理如圖3所示。
當(dāng)工作CPU正在處理冗余程序組件時,備份CPU則跳過這些程序,即防止2個程序組件出現(xiàn)因報警或不同周期時間等導(dǎo)致的數(shù)據(jù)不一致。備用CPU一直處于準(zhǔn)備接管工作CPU的狀態(tài)[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網(wǎng)絡(luò);然后在2個DP網(wǎng)絡(luò)中各自插入1個ET200M從站;最后在從站中插入2個IM153-2接口模塊以及相應(yīng)的I/O模塊,完成冗余系統(tǒng)的硬件模塊組態(tài)。
網(wǎng)絡(luò)組態(tài)在“NetPro”中進行。首先插入2個PC站點和1條Ethernet網(wǎng)絡(luò),將2個PC站點和2個PLC主站連接起來。然后在“SIMATIC 300(A)”的CPU中新建1個指向“SIMATIC 300(B)”CPU的“ISO-ON-TCP”連接,此連接用于同步2個CPU之間的冗余數(shù)據(jù)。最后在2個PC站點中各自建立“S7_connection1”和“S7_connection2”連接,分別連接2個PLC主站。
系統(tǒng)具備以下冗余功能,即監(jiān)控計算機冗余;主機架電源、背板總線冗余;CPU冗余;PROFIBUSDP現(xiàn)場總線冗余;ET200M從站的IM153-2通信接口模塊冗余。
西門子軟冗余的軟件設(shè)計需要用到西門子軟冗余包,軟冗余包中包含了不同結(jié)構(gòu)冗余系統(tǒng)編程所需要的組織塊、功能塊和數(shù)據(jù)塊。在系統(tǒng)中,主要對其中的OB35(定時中斷組織塊)、OB86(故障診斷組織塊)和OB100(暖啟動組織塊)進行編程[4]。編程步驟為:
a.在“SIMATIC 300(A)”中插入冗余系統(tǒng)所需的組織塊、功能塊和數(shù)據(jù)塊。組織塊包括OB80,OB82,OB85,OB86,OB87,OB121,OB122,OB100和OB35。功能塊包括FB1,F(xiàn)C10,F(xiàn)C11,數(shù)據(jù)塊包括DB7(FB1的背景塊)和DB8,DB9。
b.在工作CPU的程序塊OB100中調(diào)用FC100,設(shè)置ET200M從站的個數(shù)、冗余起始數(shù)據(jù)塊及數(shù)據(jù)塊數(shù)量等參數(shù)。
c.在OB35定時中斷組織塊中編寫冗余程序。在OB35中調(diào)用FB101“SWR_ZYK”功能塊,該功能塊中封裝了冗余功能程序段來實現(xiàn)冗余功能。在系統(tǒng)中,程序塊FB1,F(xiàn)C10,F(xiàn)C11是冗余程序塊,其中FB1是數(shù)據(jù)采集子程序,F(xiàn)C10是閥門控制子程序,F(xiàn)C11是變頻器控制子程序,這些程序塊也在OB35中調(diào)用。
d.在OB86中調(diào)用診斷功能塊FC102,該程序塊用于診斷故障。
e.對“SIMATIC 300(A)”編程完畢后將這些程序塊復(fù)制到備份CPU中,并修改OB100中的參數(shù)。
冗余測試實驗中,通過切斷PROFIBUS通信網(wǎng)絡(luò)來模擬故障,測試工作CPU和備份CPU的切換,CPU的狀態(tài)可以通過狀態(tài)標(biāo)志位來識別,系統(tǒng)中的狀態(tài)標(biāo)志位為DB5.DBX9.0。
冗余實驗中,原來A站的CPU為工作CPU,拔掉PROFIBUS通信線纜后,A站狀態(tài)位由TRUE變?yōu)镕ALSE,原來作為備用的B站CPU,其狀態(tài)標(biāo)志位由FALSE變?yōu)門RUE,實現(xiàn)了CPU的自動切換。
利用西門子PLC的軟冗余技術(shù),完成了泥沙輸送實驗臺冗余控制系統(tǒng)設(shè)計。系統(tǒng)在多次故障模擬實驗中都能夠可靠運行,表明采用冗余技術(shù)確實能夠有效提高控制系統(tǒng)的可靠性和穩(wěn)定性,大大降低了由監(jiān)控系統(tǒng)故障而引發(fā)堵管事故的概率。
[1] 路建強,王華強,王聯(lián)慶,等.S7-300軟冗余在壓縮機控制中的應(yīng)用[J].工業(yè)儀表與自動化裝置,2012,(1):80-83.
[2] 南新元,陳 飛,李 泉,等.S7-300PLC軟冗余系統(tǒng)性能實驗研究[J].實驗技術(shù)與管理,2013,30(6):17-19,23.
[3] 張曉慧,袁 敏.PLC軟冗余在氮氣連續(xù)供應(yīng)自控系統(tǒng)中的研究與應(yīng)用[J].計算機與現(xiàn)代化,2012,(2):61-65.
[4] 徐竟天,李樹剛,張乃祿,等.基于S7-300軟冗余的鉆機自動送鉆控制系統(tǒng)設(shè)計[J].石油機械,2009,37(9):98-101.