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