冗余EtherNet/IP轉(zhuǎn)DNP3.0網(wǎng)關(guān)方案
?
背景
在管道SCADA系統(tǒng)中,調(diào)度中心的通信協(xié)議采用DNP3.0作為全生產(chǎn)SCADA系統(tǒng)的通信協(xié)議,現(xiàn)場(chǎng)站場(chǎng)采用AB PLC的是Ethernet/IP協(xié)議作為現(xiàn)場(chǎng)通信協(xié)議?;诂F(xiàn)場(chǎng)與徐州調(diào)度中心間不同的通信協(xié)議,需要在各現(xiàn)場(chǎng)對(duì)通信協(xié)議進(jìn)行轉(zhuǎn)換,這就需要在每個(gè)現(xiàn)場(chǎng)布置協(xié)議轉(zhuǎn)換網(wǎng)關(guān)。而協(xié)議轉(zhuǎn)換網(wǎng)關(guān)作為調(diào)度中心與現(xiàn)場(chǎng)的連接節(jié)點(diǎn),其長(zhǎng)期穩(wěn)定運(yùn)行就凸顯重要。
臨濮線SCADA系統(tǒng)的協(xié)議網(wǎng)關(guān)采用的是PROLINX網(wǎng)關(guān)。該網(wǎng)關(guān)為單網(wǎng)結(jié)構(gòu),數(shù)據(jù)轉(zhuǎn)發(fā)最大為500個(gè)數(shù)據(jù)點(diǎn)。其最大的兩個(gè)缺點(diǎn):一是數(shù)據(jù)轉(zhuǎn)發(fā)量太小,大點(diǎn)的現(xiàn)場(chǎng)需要配置多個(gè)網(wǎng)關(guān);二是單網(wǎng)結(jié)構(gòu),無(wú)法實(shí)現(xiàn)可靠的網(wǎng)絡(luò)冗余。雖然在工程中做了多種嘗試,但依然無(wú)法實(shí)現(xiàn)可靠的冗余功能,當(dāng)前在應(yīng)用中經(jīng)常出現(xiàn)連接中斷現(xiàn)象。
基于解決DNP網(wǎng)關(guān)完全冗余,實(shí)現(xiàn)SCADA系統(tǒng)的安全穩(wěn)定運(yùn)行的考慮,上海藍(lán)昱電子科技有限公司長(zhǎng)期跟蹤國(guó)內(nèi)外相關(guān)技術(shù)及產(chǎn)品。在為國(guó)內(nèi)多家電力系統(tǒng)廠商定制控制器及各種協(xié)議網(wǎng)關(guān)的基礎(chǔ)上,定制開(kāi)發(fā)出了冗余的Ethernet/IP轉(zhuǎn)DNP3.0協(xié)議網(wǎng)關(guān)并進(jìn)行了長(zhǎng)時(shí)間的實(shí)驗(yàn)室測(cè)試,使其完全滿足DNP網(wǎng)關(guān)的完全冗余及大數(shù)據(jù)量要求,易用性及長(zhǎng)期穩(wěn)定運(yùn)行也得到驗(yàn)證。
?
冗余DNP協(xié)議網(wǎng)關(guān)
該網(wǎng)關(guān)由兩個(gè)帶冗余硬件的模塊XGW-5002-DNP-EIP成對(duì)構(gòu)成,保證模塊的高可用性。該模塊提供兩個(gè)網(wǎng)段的網(wǎng)絡(luò)接口(RJ45),每個(gè)網(wǎng)口Modbus TCP(Client,Server)、DNP3.0(Server)、EtherNet/IP(Server)、IEC104(Server)等協(xié)議。雙路獨(dú)立電源,LCD顯示,內(nèi)置冗余功能,工業(yè)環(huán)境溫度,支持高達(dá)20000個(gè)字的實(shí)時(shí)數(shù)據(jù)庫(kù)。其模塊見(jiàn)下圖。
模塊實(shí)物
?
兩個(gè)模塊通過(guò)網(wǎng)口進(jìn)行冗余心跳監(jiān)測(cè),其內(nèi)置的冗余功能根據(jù)兩個(gè)網(wǎng)口的心跳信息實(shí)現(xiàn)兩個(gè)模塊的互為冗余。在冗余狀態(tài)下,主控制器的內(nèi)部實(shí)時(shí)數(shù)據(jù)全部同步到備用模塊數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)兩個(gè)模塊數(shù)據(jù)的完全同步冗余。與PLC的通信,通過(guò)PLC對(duì)A、B網(wǎng)絡(luò)的通信狀態(tài),由邏輯實(shí)現(xiàn)A網(wǎng)段和B網(wǎng)段的冗余切換,網(wǎng)關(guān)模塊給調(diào)度中心提供與PLC的通信狀態(tài)監(jiān)測(cè)點(diǎn)。通過(guò)PLC邏輯的寫(xiě)數(shù)據(jù)的回寫(xiě)功能,以此實(shí)現(xiàn)在站控或中控時(shí)的數(shù)據(jù)同步和無(wú)擾動(dòng)切換。具有Comm IP功能,無(wú)論兩個(gè)模塊如何切換,調(diào)度中心均能通過(guò)唯一IP與主控制器建立通信。內(nèi)部功能見(jiàn)下圖示意:
?
?
?
? 從上圖可以看到,冗余DNP協(xié)議網(wǎng)關(guān)通過(guò)與PLC建立冗余通信,兩模塊的硬件及實(shí)時(shí)數(shù)據(jù)庫(kù)冗余,并在兩個(gè)網(wǎng)段的網(wǎng)口上建立DNP協(xié)議監(jiān)聽(tīng)端口,實(shí)現(xiàn)DNP協(xié)議的冗余通信。
?
實(shí)驗(yàn)室測(cè)試方案及功能測(cè)試結(jié)果
1、??????? 測(cè)試環(huán)境搭建
在上海藍(lán)昱試驗(yàn)室搭建了以下圖示的試驗(yàn)環(huán)境,為了貼近現(xiàn)場(chǎng)實(shí)際應(yīng)用,特別搭建了與現(xiàn)場(chǎng)一致的網(wǎng)絡(luò)環(huán)境。
用兩個(gè)XGW-5002-DNP-EIP模塊,配置成冗余系統(tǒng)。網(wǎng)絡(luò)配置為DNPA的兩個(gè)網(wǎng)絡(luò)配置成192.168.1.21及192.168.2.21,DNPB的兩個(gè)網(wǎng)絡(luò)配置成192.168.1.22及192.168.2.22,冗余Comm IP配置為192.168.1.23及192.168.2.23,其中兩個(gè)模塊的冗余心跳監(jiān)測(cè)網(wǎng)口為192.168.1.0網(wǎng)段192.168.2.0網(wǎng)段,任何一個(gè)網(wǎng)段故障均不影響系統(tǒng)運(yùn)行。
從AB PLC產(chǎn)品代理公司借用一套冗余的control logix 5550 PLC,建立目標(biāo)PLC通信系統(tǒng)。PLC的兩個(gè)網(wǎng)絡(luò)配置為192.168.1.13及192.168.2.13。
在SUN T5120服務(wù)器上安裝Solaris 10操作系統(tǒng),兩個(gè)網(wǎng)絡(luò)配置為172.20.1.12及172.20.2.12,安裝FOXBORO公司的iaSCADA V9 DEMO版本的SCADA軟件,模擬調(diào)度中心SCADA環(huán)境。
采用思科1811路由器及3560交換機(jī)搭建網(wǎng)絡(luò)環(huán)境,模擬調(diào)度中心、站控及廣域網(wǎng)網(wǎng)絡(luò)環(huán)境。
在搭建好的測(cè)試環(huán)境中,利用XGW網(wǎng)關(guān)的工具軟件ICC-Studio配置好冗余網(wǎng)關(guān)系統(tǒng)配置,并下載到兩個(gè)網(wǎng)關(guān)模塊中。利用PLC編程軟件,建立PLC的實(shí)驗(yàn)配置,并下載到PLC中,同時(shí)利用該軟件進(jìn)行在線監(jiān)視。利用安裝好的iaSCADA軟件,建立試驗(yàn)測(cè)試所需要的通道及數(shù)據(jù)點(diǎn)配置。由此,開(kāi)始功能測(cè)試。
?
2、??????? 功能測(cè)試項(xiàng)目及結(jié)果
根據(jù)上述的測(cè)試環(huán)境,對(duì)下列功能項(xiàng)目進(jìn)行了反復(fù)測(cè)試和驗(yàn)證,同時(shí)進(jìn)行了長(zhǎng)達(dá)1周的穩(wěn)定性測(cè)試,在獲得的試驗(yàn)數(shù)據(jù)的基礎(chǔ)上,分析得出以下結(jié)果:
序號(hào) | 測(cè)試項(xiàng)目 | 測(cè)試結(jié)果 |
一 | DNP網(wǎng)關(guān)本身冗余性能測(cè)試 | |
1 | DNPA控制器斷電 | 自動(dòng)切換到DNPB為主控 |
2 | DNPB控制器斷電 | 自動(dòng)切換到DNPA為主控 |
3 | 拔除DNPA控制器第一(二)網(wǎng)口網(wǎng)線 | 自動(dòng)切換到DNPB為主控 |
4 | 拔除DNPB控制器第一(二)網(wǎng)口網(wǎng)線 | 自動(dòng)切換到DNPA為主控 |
5 | CommIP:DNPA為主控制器時(shí) | CommIP綁定在DNPA上 |
6 | CommIP:DNPB為主控制器時(shí) | CommIP綁定在DNPB上 |
7 | LED狀態(tài)指示 | 主控制器A燈綠閃,備控制器B燈黃閃 |
8 | 實(shí)時(shí)數(shù)據(jù)庫(kù)同步 | 兩個(gè)控制器的YNC同步燈綠閃 |
二 | DNP網(wǎng)關(guān)與PLC通信 | |
1 | DNPA為主控時(shí)斷開(kāi)PLC A網(wǎng)段 | 與PLC通信自動(dòng)切換到B網(wǎng)段 |
2 | DNPA為主控時(shí)斷開(kāi)PLC B網(wǎng)段 | 與PLC通信自動(dòng)切換到A網(wǎng)段 |
3 | DNPB為主控時(shí)斷開(kāi)PLC A網(wǎng)段 | 與PLC通信自動(dòng)切換到B網(wǎng)段 |
4 | DNPB為主控時(shí)斷開(kāi)PLC B網(wǎng)段 | 與PLC通信自動(dòng)切換到A網(wǎng)段 |
5 | PLC重新上電時(shí) | 自動(dòng)建立連接,與PLC數(shù)據(jù)自動(dòng)同步 |
6 | DNP網(wǎng)關(guān)兩模塊同時(shí)掉電后恢復(fù) | PLC能自動(dòng)建立與主控制器連接,并同步所有數(shù)據(jù)到控制器實(shí)時(shí)數(shù)據(jù)庫(kù)中 |
7 | 站控、中心控制狀態(tài)切換時(shí) | 站控狀態(tài)下自動(dòng)從PLC中同步數(shù)據(jù) |
8 | DNP網(wǎng)關(guān)與PLC通信鏈路 | 只有主控網(wǎng)關(guān)與PLC建立唯一通道 |
三 | DNP網(wǎng)關(guān)與iaSCADA通信 | |
1 | DNPA為主控時(shí)斷開(kāi)路由器 A網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
2 | DNPA為主控時(shí)斷開(kāi)路由器 B網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
3 | DNPB為主控時(shí)斷開(kāi)路由器 A網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
4 | DNPB為主控時(shí)斷開(kāi)路由器 B網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
5 | DNPA與DNPB主備切換 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
6 | 當(dāng)iaSCADA連接DNP網(wǎng)關(guān)A網(wǎng)段時(shí),斷開(kāi)PLC的A網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
7 | 當(dāng)iaSCADA連接DNP網(wǎng)關(guān)B網(wǎng)段時(shí),斷開(kāi)PLC的B網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
8 | 斷開(kāi)T5120 A網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
9 | 斷開(kāi)T5120 B網(wǎng)段 | iaSCADA能正常刷新PLC數(shù)據(jù)及控制 |
10 | 當(dāng)DNPA主控時(shí)掉電 | iaSCADA能正常通過(guò)A\B網(wǎng)段通信DNPB |
11 | 當(dāng)DNPB主控時(shí)掉電 | iaSCADA能正常通過(guò)A\B網(wǎng)段通信DNPA |
3、??????? 主要性能比較
根據(jù)測(cè)試結(jié)果,與現(xiàn)有在現(xiàn)場(chǎng)應(yīng)用的Prolinx網(wǎng)關(guān)比較,有如下特點(diǎn):
a.? 該DNP協(xié)議網(wǎng)關(guān)與PLC通信只需建立一個(gè)通信通道,當(dāng)該通信通道發(fā)送通信失敗時(shí),由PLC通信控制邏輯自動(dòng)切換到另外一個(gè)網(wǎng)段建立新連接,保證了數(shù)據(jù)的唯一性和減少PLC通信負(fù)擔(dān)。Prolinx是采用一個(gè)設(shè)備連接一個(gè)網(wǎng)段的方式,每個(gè)Prolinx均與PLC建立通信連接,大大增加了PLC負(fù)荷,同時(shí)兩個(gè)Prolinx的內(nèi)部數(shù)據(jù)庫(kù)實(shí)際并不同步,數(shù)據(jù)不唯一。
b.? 該DNP網(wǎng)關(guān)在單網(wǎng)絡(luò)故障、本身單模塊故障及PLC單網(wǎng)卡故障等同時(shí)存在時(shí),DNP網(wǎng)關(guān)依然能夠通過(guò)其完備的冗余性能保證中心與PLC的通信;Prolinx網(wǎng)關(guān)由于一個(gè)網(wǎng)段連一個(gè)Prolinx的方式進(jìn)行冗余,當(dāng)存在兩點(diǎn)以上多點(diǎn)故障時(shí),中心即與PLC失去通信;當(dāng)iaSCADA通過(guò)A網(wǎng)段與SCD5200通信,單PLC的A網(wǎng)卡存在故障時(shí),該類型的單點(diǎn)故障也使中心與PLC失去通信,失去冗余功能。
c.? 該DNP網(wǎng)關(guān)配置非常簡(jiǎn)單,通過(guò)簡(jiǎn)單添加通信參數(shù),數(shù)據(jù)塊的大小,設(shè)置掃描和寫(xiě)地址區(qū)域就可完成配置,冗余功能通過(guò)簡(jiǎn)單的選擇即可完成;有狀態(tài)指示LED和友好的遠(yuǎn)程下載監(jiān)視工具,方便日常巡視和系統(tǒng)集中維護(hù)。Prolinx配置口獨(dú)立于網(wǎng)絡(luò),無(wú)法遠(yuǎn)程進(jìn)行配置修改于遠(yuǎn)程監(jiān)視,組態(tài)及維護(hù)工作比較復(fù)雜。
d.? 該DNP網(wǎng)關(guān)同時(shí)支持Ethernet/IP和Modbus TCP協(xié)議,可以實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)的備件統(tǒng)一。
e.? 該DNP網(wǎng)關(guān)的事件緩沖區(qū)可以放大設(shè)置,當(dāng)數(shù)據(jù)變化頻繁時(shí),不會(huì)出現(xiàn)事件緩沖溢出的問(wèn)題。Prolinx網(wǎng)關(guān)事件緩沖區(qū)固定,目前現(xiàn)場(chǎng)應(yīng)用經(jīng)常出現(xiàn)事件緩沖溢出,造成SCADA服務(wù)器經(jīng)常數(shù)據(jù)缺失和通信中斷現(xiàn)象。