作者簡介:馮曉青(1974-),男,大學本科,現任廣州地鐵建設總部車站設備部項目部經理,工程師,研究方向為自動化控制系統。
摘 要:文章介紹了深圳地鐵BAS系統中的MCP盤PLC和主控熱備PLC構成三重熱備的方法和技術,從而使MCP盤PLC在功能上和主控熱備PLC完全相同,以進一步提高BAS系統的可靠性。
關鍵詞:地鐵;環境與設備監控系統;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 系統冗余的目的及要實現的功能
通常系統冗余的目的主要是讓系統具有高可靠性,保證工業企業不造成停業停產,設備損壞,甚至造成經濟損失,人員傷亡。由于PLC本身可靠性的提高有一定的限度,僅靠提高控制系統硬件的可靠性來滿足上述要求是遠遠不夠的,而使用冗余系統或熱備系統就能夠比較有效地解決這些問題。為保證地鐵正常運營,特別是在FAS主機告知火災時能有效地執行火災模式,地鐵環境監視和控制就更應該要求系統可靠性高。深圳地鐵BAS系統需要實現的功能是:
①車站監控工作站與PLC采用冗余以太網連接(如圖1所示);
②PLC之間采用冗余控制網連接(如圖1所示);
③主控PLC采用硬冗余配置(如圖1所示);
④MCP盤PLC不僅和主控PLC具備同樣的功能,還兼備盤面模擬操作控制功能,并保持與主控PLC同步工作,當主控PLC完全失去控制功能后,自動切換到MCP工作。
1.2 深圳地鐵BAS為何不采用成熟冗余系統的驅動
深圳地鐵的BAS系統的驅動程序是基于Rslinx重新開發的,其原因是HMI提供的冗余驅動程序不能滿足BAS系統的特殊要求,即上述1.1所介紹的功能需求。除了這些問題,PLC還需要得到驅動判斷HMI與主控PLC中的主PLC數據傳送發生異常的信息,通過這個信息實行主控PLC的主從切換。如果主控PLC冗余鏈路全部連接失敗,PLC還需要驅動給出HMI與主控主從PLC均連接失敗的信息,以便切換到MCP鏈路工作,有效地實現三重冗余。考慮到這個系統這樣一個特殊的要求,為實現其功能,必須考慮到新驅動的開發。
1.3 原有冗余技術基礎上進行二次開發的初步構想
在深圳地鐵項目中,BAS系統的PLC系統采用的是Rockwell公司的Logix5000系列的PLC。系統的連接方式如圖1所示:
圖1 系統結構圖
系統中共有三組PLC:主控1、主控2和MCP。其中主控1和主控2是硬冗余的PLC系統,它們通過同步模塊自動進行主從切換,正常時只有為主的模塊能進行數據通信。MCP是主控的備份PLC,它在主控全部失效的情況下接管控制權限,并完成主控PLC的任務。
2 基本要求
計算機與整個PLC系統進行通信,應能正確讀取PLC中的數據,并正確下發控制指令入PLC中。
在主控正常時,要求從主控讀取數據,下行數據要同時寫入主控和MCP中。
在主控異常時,要求能從MCP中讀取數據,下行數據只寫入MCP中。
3 主控同步及切換處理
3.1 說明
由圖1可知,系統中比較特殊之處是,主控1和主控2的機架中以太網模塊(ENBT)只有一塊,分別接入不同的網段。當為主的主控機架的以太網連接斷開之后,則計算機與主控的通信就斷開了,但是不能認為主控異常,切換到MCP中,必需使主控切換到以太網連接為好的機架上。
PLC程序可以控制CPU的主從切換,但是如果發生切換時,主控的主從PLC不同步,則切換后兩機架就永遠也不能同步了,所以PLC程序在發送切換指令時,必須有一個前提條件,即主從同步。
主控與計算機的以太網通信斷開的情況可以有多種:交換機異常、PLC與交換機之間的網線異常、計算機與交換機之間的網線異常等。
要求驅動能實時可靠地判斷與主控的通信狀態,與MCP的通信狀態。若判斷出主控的通信斷開,通知PLC,使PLC能發生主從切換;如果一段時間內仍為斷開,則認為主控異常,切換到MCP中。
3.2 驅動程序的通信機理
驅動程序通過RSLINX SDK開發包中的API函數與RSLINX進行通信,從而實現與PLC的通信。
要使用API函數進行通信,PLC中需要進行文件映射,每個要通信的數組都映射成一個文件號。
驅動與PLC中的哪個CPU通信是通過設定不同的通信路徑實現的。
驅動通過由不同路徑的CPU通信,可判斷出本鏈路的通信狀態。
3.3 處理過程
3.3.1 四條路徑
驅動要實時判斷四條路徑的通信狀態:
計算機-主控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中有幾個特殊的文件號,意義如下:
·文件號F999,由驅動修改,當驅動查詢到主控全斷開,則發送1到本文件中;PLC程序檢測到本文件的值為1,則將控制權切換到MCP中。PLC的控制權是表示發送控制指令的權利。
·文件號F998,由PLC程序修改,表示當前PLC中為主的主控所在的網段。1表示主控171為主,2表示主控172為主。
·文件號F996,由HMI觸發修改,HMI中在主控鏈路有一條通的情況下周期性修改其值,值應從0-65535變化,變化周期2秒。
3.3.3 過程詳敘
驅動輪巡請求所有數據,在請求的過程中,若有下發命令,則在請求完當前的數據之后發送下發數據,發送完后接著請求數據(HMI寫F996的值就是通過下發命令實現的)。所有數據請求一遍后,查詢四條鏈路的狀態,即讀取F998的值,根據是否讀取成功判斷出網路的通信狀態,并判斷出當前應該為主的主控的鏈路,在這里如果查詢的結果與原先的結果不同,則連續讀取3次,如果結果都是新狀態,判斷為新狀態,否則維持原狀態不變。
如果原通信的主控鏈路現在判斷為斷開,則驅動休眠30秒(驅動不與PLC通信,使PLC能同步)。休眠結束后馬上進行查詢鏈路狀態。如果原通信的主控鏈路斷開,則不能修改F996的值,PLC程序在連續20秒之后發現F996的值沒有變化,則進行主控主從切換。比較讀取的MCP盤PLC中F998的值和判斷出的主控為主的鏈路,如果兩者不一致,且驅動判斷的該網路為通,則按照F998的值進行網絡切換(避免出現驅動能通過從機架讀取數據的情況)。
4 PLC程序處理
4.1 主控切換到MCP例程
圖2 主控切換到MCP例程
如圖2所示,H_P_Par_Ctl[11]即文件F999,當驅動查詢到主控全斷開,則發送1到本文件中;PLC程序檢測到本文件的值為1,則將控制權切換到MCP中。PLC的控制權MCP_KG2.MCP_Ctl是表示發送控制指令的權利。
4.2 PLC告知驅動主從PLC的IP地址代號例程
圖3 PLC告知驅動主從PLC的IP地址代號例程
如圖3所示,IP_Info即文件F998,表示當前PLC中為主的主控所在的網段。1表示主控171為主,2表示主控172為主。PLC讀取主PLC的IP地址,把它按要求變成地址代碼送給本文件。
4.3 主控PLC主從切換例程
圖4 主控PLC主從切換例程
如圖4所示,H_P_Redundancy_Switch即文件F996,驅動給PLC傳送一個0-65535周期變化的數,變化周期2秒,如果這個數一直處于變化狀態,表明驅動讀取PLC數據正常,一旦這個數固定不變了,表明驅動已經不能從主PLC讀取數據。當PLC收到這個固定不變的數之后,判斷此時冗余仍然同步,執行主從切換。
5 結論
通過驅動與PLC程序之間的信息處理,成功地解決了在圖1所示的特殊配置下PLC同步和切換的問題,進而實現BAS系統PLC三重冗余后備功能。
參 考 文 獻
[1]GB 50157-2003地鐵設計規范[S].北京:中國計劃出版社,2003.
[2]GB/15969.1.2.3-1995可編程序控制器[S].北京:中國標準出版社,1995.
[3]曲立東.城市軌道交通環境與設備監控系統設計與應用[M].電子工業出版社,2008.
[4]魏曉東.城市軌道交通自動化系統與技術[M].電子工業出版社,2004.
[5]ControlLogix.熱備冗余系統1756-UM523D-ZH.2004.
——轉自《自動化博覽》