冗余EtherNet/IP转DNP3.0网关方案
背景
在管道SCADA系统中,调度中心的通信协议采用DNP3.0作为全生产SCADA系统的通信协议,现场站场采用AB PLC的是Ethernet/IP协议作为现场通信协议。基于现场与徐州调度中心间不同的通信协议,需要在各现场对通信协议进行转换,这就需要在每个现场布置协议转换网关。而协议转换网关作为调度中心与现场的连接节点,其长期稳定运行就凸显重要。
临濮线SCADA系统的协议网关采用的是PROLINX网关。该网关为单网结构,数据转发最大为500个数据点。其最大的两个缺点:一是数据转发量太小,大点的现场需要配置多个网关;二是单网结构,无法实现可靠的网络冗余。虽然在工程中做了多种尝试,但依然无法实现可靠的冗余功能,当前在应用中经常出现连接中断现象。
基于解决DNP网关完全冗余,实现SCADA系统的安全稳定运行的考虑,上海蓝昱电子科技有限公司长期跟踪国内外相关技术及产品。在为国内多家电力系统厂商定制控制器及各种协议网关的基础上,定制开发出了冗余的Ethernet/IP转DNP3.0协议网关并进行了长时间的实验室测试,使其完全满足DNP网关的完全冗余及大数据量要求,易用性及长期稳定运行也得到验证。
冗余DNP协议网关
该网关由两个带冗余硬件的模块XGW-5002-DNP-EIP成对构成,保证模块的高可用性。该模块提供两个网段的网络接口(RJ45),每个网口Modbus TCP(Client,Server)、DNP3.0(Server)、EtherNet/IP(Server)、IEC104(Server)等协议。双路独立电源,LCD显示,内置冗余功能,工业环境温度,支持高达20000个字的实时数据库。其模块见下图。
模块实物
两个模块通过网口进行冗余心跳监测,其内置的冗余功能根据两个网口的心跳信息实现两个模块的互为冗余。在冗余状态下,主控制器的内部实时数据全部同步到备用模块数据库中,实现两个模块数据的完全同步冗余。与PLC的通信,通过PLC对A、B网络的通信状态,由逻辑实现A网段和B网段的冗余切换,网关模块给调度中心提供与PLC的通信状态监测点。通过PLC逻辑的写数据的回写功能,以此实现在站控或中控时的数据同步和无扰动切换。具有Comm IP功能,无论两个模块如何切换,调度中心均能通过唯一IP与主控制器建立通信。内部功能见下图示意:
从上图可以看到,冗余DNP协议网关通过与PLC建立冗余通信,两模块的硬件及实时数据库冗余,并在两个网段的网口上建立DNP协议监听端口,实现DNP协议的冗余通信。
实验室测试方案及功能测试结果
1、 测试环境搭建
在上海蓝昱试验室搭建了以下图示的试验环境,为了贴近现场实际应用,特别搭建了与现场一致的网络环境。
用两个XGW-5002-DNP-EIP模块,配置成冗余系统。网络配置为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网段,任何一个网段故障均不影响系统运行。
从AB PLC产品代理公司借用一套冗余的control logix 5550 PLC,建立目标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交换机搭建网络环境,模拟调度中心、站控及广域网网络环境。
在搭建好的测试环境中,利用XGW网关的工具软件ICC-Studio配置好冗余网关系统配置,并下载到两个网关模块中。利用PLC编程软件,建立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、 主要性能比较
根据测试结果,与现有在现场应用的Prolinx网关比较,有如下特点:
a. 该DNP协议网关与PLC通信只需建立一个通信通道,当该通信通道发送通信失败时,由PLC通信控制逻辑自动切换到另外一个网段建立新连接,保证了数据的唯一性和减少PLC通信负担。Prolinx是采用一个设备连接一个网段的方式,每个Prolinx均与PLC建立通信连接,大大增加了PLC负荷,同时两个Prolinx的内部数据库实际并不同步,数据不唯一。
b. 该DNP网关在单网络故障、本身单模块故障及PLC单网卡故障等同时存在时,DNP网关依然能够通过其完备的冗余性能保证中心与PLC的通信;Prolinx网关由于一个网段连一个Prolinx的方式进行冗余,当存在两点以上多点故障时,中心即与PLC失去通信;当iaSCADA通过A网段与SCD5200通信,单PLC的A网卡存在故障时,该类型的单点故障也使中心与PLC失去通信,失去冗余功能。
c. 该DNP网关配置非常简单,通过简单添加通信参数,数据块的大小,设置扫描和写地址区域就可完成配置,冗余功能通过简单的选择即可完成;有状态指示LED和友好的远程下载监视工具,方便日常巡视和系统集中维护。Prolinx配置口独立于网络,无法远程进行配置修改于远程监视,组态及维护工作比较复杂。
d. 该DNP网关同时支持Ethernet/IP和Modbus TCP协议,可以实现协议网关的备件统一。
e. 该DNP网关的事件缓冲区可以放大设置,当数据变化频繁时,不会出现事件缓冲溢出的问题。Prolinx网关事件缓冲区固定,目前现场应用经常出现事件缓冲溢出,造成SCADA服务器经常数据缺失和通信中断现象。