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