■ 成都 程閣
我們以西門子的S7 400H型PLC、ET200M型遠(yuǎn)程IO為例,現(xiàn)場(chǎng)級(jí)為雙總線冗余網(wǎng)絡(luò)。S7 400H型PLC所帶的以太網(wǎng)通信處理器能提供10/100Mbps的以太網(wǎng)接口,提供符合國(guó)際標(biāo)準(zhǔn)的Profibus、RS-485接口,每個(gè)PLC均提供了與編程器相連的通信接口,典型車站系統(tǒng)構(gòu)成如圖1所示。

圖1 典型車站系統(tǒng)

圖2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
西門子的S7 400H的PLC,為雙背板、雙電源、雙CPU、雙以太網(wǎng)網(wǎng)接口模塊、雙總線擴(kuò)展模塊的絕對(duì)硬件冗余PLC,通過專用的同步模塊硬件實(shí)現(xiàn)冗余,不需要任何編程,相互之間的切換不占用系統(tǒng)的軟件資源,切換方式為無(wú)擾動(dòng)的硬件自動(dòng)切換。可以在硬件和軟件上進(jìn)行操作簡(jiǎn)單的手動(dòng)切換。背板槽位余量為4個(gè)預(yù)留槽位。所有RI/O模塊均為高性能的模塊,所有模塊均為同一系列的高標(biāo)準(zhǔn)產(chǎn)品。支持熱插拔。在控制器上電的過程中,不會(huì)對(duì)RI/O產(chǎn)生瞬態(tài)電流沖擊的影響。
西門子414H CPU模塊控制器為32位處理器,支持實(shí)時(shí)的多任務(wù)操作系統(tǒng),采用完全自動(dòng)內(nèi)存分配機(jī)制,每毫秒處理指令數(shù)為1/0.00001875=53333。
S7 400H系統(tǒng)是一個(gè)高可靠性的容錯(cuò)系統(tǒng),在這個(gè)典型車站中,冗余PLC與ET200M遠(yuǎn)程IO之間是采用冗余的Profibus-DP總線連接的,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
其中冗余PLC配置了雙背板、雙電源、雙CPU、雙網(wǎng)卡,遠(yuǎn)程IO配置了冗余的接口模塊,冗余PLC與遠(yuǎn)程IO之間采用冗余的Profibus現(xiàn)場(chǎng)總線連接,圖2中實(shí)線表示冗余PLC與遠(yuǎn)程IO的物理連接,虛線表示PLC與遠(yuǎn)程IO之間的數(shù)據(jù)流路徑。
圖2中假設(shè)左端為主CPU,右端CPU為備用CPU,此時(shí)左端總線為主總線,右端為備用總線,CPU與遠(yuǎn)程IO之間的數(shù)據(jù)經(jīng)由主總線進(jìn)行數(shù)據(jù)交互,其數(shù)據(jù)流向見圖2中虛線部分。
當(dāng)現(xiàn)場(chǎng)的某個(gè)遠(yuǎn)程IO站的總線發(fā)生故障時(shí),主備總線不會(huì)整體切換,而是有故障的遠(yuǎn)程IO站的通信切換到備用總線,經(jīng)由備用CPU、同步電纜實(shí)現(xiàn)與主CPU的數(shù)據(jù)交互。而無(wú)故障的站點(diǎn)繼續(xù)在主總線上與主CPU進(jìn)行數(shù)據(jù)交互,此時(shí)冗余PLC之間不發(fā)生主備切換,總線也不發(fā)生整體切換,達(dá)到的效果就是不會(huì)擴(kuò)大故障范圍。此時(shí)數(shù)據(jù)流向如圖3所示。

圖3 一個(gè)遠(yuǎn)程站總線發(fā)生故障時(shí)的數(shù)據(jù)流向

圖4 兩個(gè)遠(yuǎn)程站總線發(fā)生故障時(shí)的數(shù)據(jù)流向
當(dāng)總線上的兩個(gè)遠(yuǎn)程IO站接口分別在兩條不同的總線上發(fā)生故障,則兩個(gè)模塊分別從無(wú)故障的總線上實(shí)現(xiàn)與主CPU的數(shù)據(jù)交互,不會(huì)發(fā)生總線的整體切換,冗余系統(tǒng)也不會(huì)在兩條總線間來(lái)回切換從而造成BAS系統(tǒng)的不穩(wěn)定。數(shù)據(jù)流向如圖4所示。
只有當(dāng)主總線上所有的遠(yuǎn)程IO站接口全部發(fā)生故障系統(tǒng)才會(huì)將所有IO站轉(zhuǎn)移到備用總線,此時(shí)主備CPU仍然不會(huì)發(fā)生切換,此時(shí)的數(shù)據(jù)流如圖5。
綜上所述,采用西門子的S7 400H冗余PLC與ET200M遠(yuǎn)程IO系統(tǒng),能實(shí)現(xiàn)“故障不擴(kuò)大”的原則,不會(huì)因?yàn)榭偩€上的某一個(gè)或某幾個(gè)節(jié)點(diǎn)的故障而造成整條總線的切換,當(dāng)在不同總線上同時(shí)存在多個(gè)遠(yuǎn)程IO站點(diǎn)故障時(shí)也不會(huì)造成系統(tǒng)的在冗余總線之間來(lái)回切換,從而最大限度地保證BAS系統(tǒng)的穩(wěn)定性和功能的完整性。
同時(shí)需要說(shuō)明的是,當(dāng)總線發(fā)生切換時(shí),其切換時(shí)間不大于100ms,典型時(shí)間為30ms,具體時(shí)間取決于所帶遠(yuǎn)程IO節(jié)點(diǎn)的數(shù)量、和需要發(fā)生切換的節(jié)點(diǎn)數(shù),但不論帶多少站點(diǎn),即使是主總線上的所有節(jié)點(diǎn)均要切換到備用總線,其最大的切換時(shí)間也不會(huì)大于100ms。
需要澄清的一個(gè)概念是,采用冗余PLC的目的是提高系統(tǒng)的可用率,當(dāng)主PLC有故障的時(shí)候,備用PLC應(yīng)能有效、無(wú)擾動(dòng)地切換到備用PLC,但是要想有一個(gè)最穩(wěn)定的系統(tǒng),冗余PLC不應(yīng)該因?yàn)橐恍┬〉墓收隙l(fā)生切換,只有在十分必要、且采用別的技術(shù)已經(jīng)無(wú)法避免時(shí)才發(fā)生主備PLC的切換。這樣才能最大限度地保證控制系統(tǒng)的穩(wěn)定性和更高的可用性。
西門子S7 400H冗余PLC就是這么一種非常穩(wěn)定的冗余系統(tǒng),由它組件的冗余系統(tǒng)只有如下三種情況才會(huì)發(fā)生主備切換:主PLC背板故障、主PLC電源故障(或停電)、主PLC本身CPU故障,其它任何情況不會(huì)發(fā)生主備CPU的切換而能保證整個(gè)控制系統(tǒng)的功能是完整的。

圖5 所有遠(yuǎn)程站故障時(shí)的數(shù)據(jù)流向

圖6 完整系統(tǒng)結(jié)構(gòu)

圖7 上位計(jì)算機(jī)與主CPU數(shù)據(jù)交互
下面說(shuō)明當(dāng)主CPU側(cè)網(wǎng)卡發(fā)生故障時(shí),采用S7 400H如何能確保冗余CPU不發(fā)生切換而系統(tǒng)通信功能仍然是完整的。
如圖6是一套完整的S7 400H系統(tǒng),由兩套電源、兩套CPU、兩套網(wǎng)卡和若干遠(yuǎn)程IO構(gòu)成,S7 400H系統(tǒng)通過以太網(wǎng)與上位計(jì)算機(jī)進(jìn)行通信。其中左側(cè)CPU為主CPU,圖中虛線表示了PLC與上位計(jì)算機(jī)的數(shù)據(jù)通信路由。
圖6中可見,上位計(jì)算機(jī)通過主CPU側(cè)的以太網(wǎng)卡實(shí)現(xiàn)與冗余PLC的數(shù)據(jù)通信。當(dāng)主CPU側(cè)的網(wǎng)卡發(fā)生故障時(shí),主備CPU將不會(huì)發(fā)生切換,但是上位計(jì)算機(jī)通過備用CPU側(cè)的網(wǎng)卡,經(jīng)由同步模塊和同步電纜實(shí)現(xiàn)了與主CPU的數(shù)據(jù)交互。如圖7所示,圖中虛線表示了上位計(jì)算機(jī)與主CPU數(shù)據(jù)交互的通信路由。實(shí)現(xiàn)上述功能是利用西門子S7 400H系統(tǒng)的同步模塊和同步電纜的“數(shù)據(jù)路由”功能,同時(shí)在主備PLC側(cè)配置兩塊獨(dú)立的以太網(wǎng)卡,保證系統(tǒng)穩(wěn)定性更高。西門子S7 400H不僅僅是一個(gè)冗余系統(tǒng),更是一個(gè)容錯(cuò)系統(tǒng),它能實(shí)現(xiàn)“不因單點(diǎn)故障而造成控制系統(tǒng)功能的缺失”,當(dāng)網(wǎng)卡故障時(shí)不會(huì)發(fā)生主備切換且保持監(jiān)控功能完整,當(dāng)profibus總線故障時(shí)不會(huì)發(fā)生主備切換且保持監(jiān)控功能完整。
只有主CPU故障、主PLC背板故障、主CPU電源故障(或停機(jī))時(shí)才會(huì)發(fā)生主備切換。
地鐵眾多機(jī)電系統(tǒng)中的設(shè)備均是冗余配置,如何能高效的發(fā)揮和挖掘冗余設(shè)備的功能,是地鐵安全性的體現(xiàn),與也能提高系統(tǒng)的智能化水平。西門子系列的冗余方式和施耐德、AB有些不一樣,使用何種方式更好,需要通過實(shí)踐判斷出來(lái)。