
作者簡(jiǎn)介:馮曉青(1974-),男,大學(xué)本科,現任廣州地鐵建設總部車(chē)站設備部項目部經(jīng)理,工程師,研究方向為自動(dòng)化控制系統。
摘 要:文章介紹了深圳地鐵BAS系統中的MCP盤(pán)PLC和主控熱備PLC構成三重熱備的方法和技術(shù),從而使MCP盤(pán)PLC在功能上和主控熱備PLC完全相同,以進(jìn)一步提高BAS系統的可靠性。
關(guān)鍵詞:地鐵;環(huán)境與設備監控系統;PLC;三重后備
Abstract:This paper introduces the triplex backup methods and techniques of MCP PLC used for Shenzhen metro BAS.The MCP PLC has the same function as the master PLC to further improve the BAS system reliability.
Key words:Metro;BAS;PLC;Triplex backup
1 概述
1.1 系統冗余的目的及要實(shí)現的功能
通常系統冗余的目的主要是讓系統具有高可靠性,保證工業(yè)企業(yè)不造成停業(yè)停產(chǎn),設備損壞,甚至造成經(jīng)濟損失,人員傷亡。由于PLC本身可靠性的提高有一定的限度,僅靠提高控制系統硬件的可靠性來(lái)滿(mǎn)足上述要求是遠遠不夠的,而使用冗余系統或熱備系統就能夠比較有效地解決這些問(wèn)題。為保證地鐵正常運營(yíng),特別是在FAS主機告知火災時(shí)能有效地執行火災模式,地鐵環(huán)境監視和控制就更應該要求系統可靠性高。深圳地鐵BAS系統需要實(shí)現的功能是:
①車(chē)站監控工作站與PLC采用冗余以太網(wǎng)連接(如圖1所示);
②PLC之間采用冗余控制網(wǎng)連接(如圖1所示);
③主控PLC采用硬冗余配置(如圖1所示);
④MCP盤(pán)PLC不僅和主控PLC具備同樣的功能,還兼備盤(pán)面模擬操作控制功能,并保持與主控PLC同步工作,當主控PLC完全失去控制功能后,自動(dòng)切換到MCP工作。
1.2 深圳地鐵BAS為何不采用成熟冗余系統的驅動(dòng)
深圳地鐵的BAS系統的驅動(dòng)程序是基于Rslinx重新開(kāi)發(fā)的,其原因是HMI提供的冗余驅動(dòng)程序不能滿(mǎn)足BAS系統的特殊要求,即上述1.1所介紹的功能需求。除了這些問(wèn)題,PLC還需要得到驅動(dòng)判斷HMI與主控PLC中的主PLC數據傳送發(fā)生異常的信息,通過(guò)這個(gè)信息實(shí)行主控PLC的主從切換。如果主控PLC冗余鏈路全部連接失敗,PLC還需要驅動(dòng)給出HMI與主控主從PLC均連接失敗的信息,以便切換到MCP鏈路工作,有效地實(shí)現三重冗余??紤]到這個(gè)系統這樣一個(gè)特殊的要求,為實(shí)現其功能,必須考慮到新驅動(dòng)的開(kāi)發(fā)。
1.3 原有冗余技術(shù)基礎上進(jìn)行二次開(kāi)發(fā)的初步構想
在深圳地鐵項目中,BAS系統的PLC系統采用的是Rockwell公司的Logix5000系列的PLC。系統的連接方式如圖1所示:

圖1 系統結構圖
系統中共有三組PLC:主控1、主控2和MCP。其中主控1和主控2是硬冗余的PLC系統,它們通過(guò)同步模塊自動(dòng)進(jìn)行主從切換,正常時(shí)只有為主的模塊能進(jìn)行數據通信。MCP是主控的備份PLC,它在主控全部失效的情況下接管控制權限,并完成主控PLC的任務(wù)。
2 基本要求
計算機與整個(gè)PLC系統進(jìn)行通信,應能正確讀取PLC中的數據,并正確下發(fā)控制指令入PLC中。
在主控正常時(shí),要求從主控讀取數據,下行數據要同時(shí)寫(xiě)入主控和MCP中。
在主控異常時(shí),要求能從MCP中讀取數據,下行數據只寫(xiě)入MCP中。
3 主控同步及切換處理
3.1 說(shuō)明
由圖1可知,系統中比較特殊之處是,主控1和主控2的機架中以太網(wǎng)模塊(ENBT)只有一塊,分別接入不同的網(wǎng)段。當為主的主控機架的以太網(wǎng)連接斷開(kāi)之后,則計算機與主控的通信就斷開(kāi)了,但是不能認為主控異常,切換到MCP中,必需使主控切換到以太網(wǎng)連接為好的機架上。
PLC程序可以控制CPU的主從切換,但是如果發(fā)生切換時(shí),主控的主從PLC不同步,則切換后兩機架就永遠也不能同步了,所以PLC程序在發(fā)送切換指令時(shí),必須有一個(gè)前提條件,即主從同步。
主控與計算機的以太網(wǎng)通信斷開(kāi)的情況可以有多種:交換機異常、PLC與交換機之間的網(wǎng)線(xiàn)異常、計算機與交換機之間的網(wǎng)線(xiàn)異常等。
要求驅動(dòng)能實(shí)時(shí)可靠地判斷與主控的通信狀態(tài),與MCP的通信狀態(tài)。若判斷出主控的通信斷開(kāi),通知PLC,使PLC能發(fā)生主從切換;如果一段時(shí)間內仍為斷開(kāi),則認為主控異常,切換到MCP中。
3.2 驅動(dòng)程序的通信機理
驅動(dòng)程序通過(guò)RSLINX SDK開(kāi)發(fā)包中的API函數與RSLINX進(jìn)行通信,從而實(shí)現與PLC的通信。
要使用API函數進(jìn)行通信,PLC中需要進(jìn)行文件映射,每個(gè)要通信的數組都映射成一個(gè)文件號。
驅動(dòng)與PLC中的哪個(gè)CPU通信是通過(guò)設定不同的通信路徑實(shí)現的。
驅動(dòng)通過(guò)由不同路徑的CPU通信,可判斷出本鏈路的通信狀態(tài)。
3.3 處理過(guò)程
3.3.1 四條路徑
驅動(dòng)要實(shí)時(shí)判斷四條路徑的通信狀態(tài):
計算機-主控1的ENBT-主控1的機架-主控1的CPU;
計算機-主控2的ENBT-主控2的機架-主控2的CPU;
計算機-MCP的ENBT1-MCP的機架-MCP的CPU;
計算機-MCP的ENBT2-MCP的機架-MCP的CPU;
3.3.2 PLC中特殊文件號
在PLC中有幾個(gè)特殊的文件號,意義如下:
·文件號F999,由驅動(dòng)修改,當驅動(dòng)查詢(xún)到主控全斷開(kāi),則發(fā)送1到本文件中;PLC程序檢測到本文件的值為1,則將控制權切換到MCP中。PLC的控制權是表示發(fā)送控制指令的權利。
·文件號F998,由PLC程序修改,表示當前PLC中為主的主控所在的網(wǎng)段。1表示主控171為主,2表示主控172為主。
·文件號F996,由HMI觸發(fā)修改,HMI中在主控鏈路有一條通的情況下周期性修改其值,值應從0-65535變化,變化周期2秒。
3.3.3 過(guò)程詳敘
驅動(dòng)輪巡請求所有數據,在請求的過(guò)程中,若有下發(fā)命令,則在請求完當前的數據之后發(fā)送下發(fā)數據,發(fā)送完后接著(zhù)請求數據(HMI寫(xiě)F996的值就是通過(guò)下發(fā)命令實(shí)現的)。所有數據請求一遍后,查詢(xún)四條鏈路的狀態(tài),即讀取F998的值,根據是否讀取成功判斷出網(wǎng)路的通信狀態(tài),并判斷出當前應該為主的主控的鏈路,在這里如果查詢(xún)的結果與原先的結果不同,則連續讀取3次,如果結果都是新?tīng)顟B(tài),判斷為新?tīng)顟B(tài),否則維持原狀態(tài)不變。
如果原通信的主控鏈路現在判斷為斷開(kāi),則驅動(dòng)休眠30秒(驅動(dòng)不與PLC通信,使PLC能同步)。休眠結束后馬上進(jìn)行查詢(xún)鏈路狀態(tài)。如果原通信的主控鏈路斷開(kāi),則不能修改F996的值,PLC程序在連續20秒之后發(fā)現F996的值沒(méi)有變化,則進(jìn)行主控主從切換。比較讀取的MCP盤(pán)PLC中F998的值和判斷出的主控為主的鏈路,如果兩者不一致,且驅動(dòng)判斷的該網(wǎng)路為通,則按照F998的值進(jìn)行網(wǎng)絡(luò )切換(避免出現驅動(dòng)能通過(guò)從機架讀取數據的情況)。
4 PLC程序處理
4.1 主控切換到MCP例程

圖2 主控切換到MCP例程
如圖2所示,H_P_Par_Ctl[11]即文件F999,當驅動(dòng)查詢(xún)到主控全斷開(kāi),則發(fā)送1到本文件中;PLC程序檢測到本文件的值為1,則將控制權切換到MCP中。PLC的控制權MCP_KG2.MCP_Ctl是表示發(fā)送控制指令的權利。
4.2 PLC告知驅動(dòng)主從PLC的IP地址代號例程

圖3 PLC告知驅動(dòng)主從PLC的IP地址代號例程
如圖3所示,IP_Info即文件F998,表示當前PLC中為主的主控所在的網(wǎng)段。1表示主控171為主,2表示主控172為主。PLC讀取主PLC的IP地址,把它按要求變成地址代碼送給本文件。
4.3 主控PLC主從切換例程

圖4 主控PLC主從切換例程
如圖4所示,H_P_Redundancy_Switch即文件F996,驅動(dòng)給PLC傳送一個(gè)0-65535周期變化的數,變化周期2秒,如果這個(gè)數一直處于變化狀態(tài),表明驅動(dòng)讀取PLC數據正常,一旦這個(gè)數固定不變了,表明驅動(dòng)已經(jīng)不能從主PLC讀取數據。當PLC收到這個(gè)固定不變的數之后,判斷此時(shí)冗余仍然同步,執行主從切換。
5 結論
通過(guò)驅動(dòng)與PLC程序之間的信息處理,成功地解決了在圖1所示的特殊配置下PLC同步和切換的問(wèn)題,進(jìn)而實(shí)現BAS系統PLC三重冗余后備功能。
參 考 文 獻
[1]GB 50157-2003地鐵設計規范[S].北京:中國計劃出版社,2003.
[2]GB/15969.1.2.3-1995可編程序控制器[S].北京:中國標準出版社,1995.
[3]曲立東.城市軌道交通環(huán)境與設備監控系統設計與應用[M].電子工業(yè)出版社,2008.
[4]魏曉東.城市軌道交通自動(dòng)化系統與技術(shù)[M].電子工業(yè)出版社,2004.
[5]ControlLogix.熱備冗余系統1756-UM523D-ZH.2004.
——轉自《自動(dòng)化博覽》