师 康,谷传国,朱春红,朱来强
(西门子电力自动化有限公司,南京 211100)
在220 kV及以上的变电站通信系统中,双网星型拓扑结构已经成为主流。通信系统的实时性、可靠性是变电站最基本的要求。随着智能变电站的发展,对通信系统的实时性、可靠性提出了更高要求,既要报文不重复,也要报文不丢包,还要双网切换的延时尽可能短。目前,国内各个厂家针对双网星型拓扑做了冗余设计,但是实现方式各不相同,没有一个统一的标准。
近年来,一些新技术和新的网络拓扑不断出现,其中IEC 62439-3标准中制定的并行冗余协议(Parallel Redundancy Protocol,简称PRP)[1-3]就很好地解决双网星型拓扑中的冗余问题[4-6],并且国内主流继保厂家已经开始逐步应用该标准。本文结合IEC 61850 GOOSE规约,对智能变电站并行冗余协议系统测试方案进行讨论。
PRP适用于双网星型拓扑,能够兼容国内主流的网络配置方案,拓扑结构如图1所示。
PRP是基于网络节点冗余的冗余协议,网络节点通常是以双以太网口的方式连接到网络设备上,称为双连接节点(Doubly Attached Node using PRP,简称DANP),其与两个局域网都会建立物理连接。局域网中可能存在单以太网口设备,称为单连接节点(Singly Attached Node, 简称SAN),其可以与其中任意一个局域网建立连接。
当一个DANP源节点同时向A网和B网发送报文时,DANP目标节点会收到并处理来自A网和B网的两份报文,同时丢弃掉重复的报文,而SAN目标节点只会收到一份报文。当其中一个局域网(A网)发生网络故障时,DANP目标节点会处理来自另外一个局域网(B网)的报文。PRP协议内部处理双网冗余报文机制如图2所示。
图1 PRP网络拓扑
图2 两个DANP节点的PRP通信
目前国外的一些第三方测试机构(例如KEMA公司)已经开展了PRP的第三方认证服务。国内对于PRP规约的工程应用还比较少,第三方认证机构还没有开展PRP规约的认证工作。
考虑到IEC 61850标准已经成为国内数字化变电站的主流通信规约,标准中定义了GOOSE模型,用于变电站内智能设备的通信与交互。GOOSE通信机制是一种实时通信技术,根据IEC 61850标准的规定,GOOSE信号的网络通信延时应当小于4 ms。 因此,GOOSE对于通信的实时性和可靠性提出了很高的要求。本文基于GOOSE进行PRP系统测试。
PRP测试系统构成如图3所示,主要包括测试主机(运行报文监视工具、PRP模拟发送器等软件、PRP诊断信息配置)、以太网交换机、测试设备等。
测试设备为西门子公司的7SJ686装置。该装置支持三个以太网口。测试主机1需要支持两个以太网口,分别通过以太网交换机连接测试设备的以太网口1和2,用于PRP报文的收发以及报文的监视。测试主机2通过以太网口连接测试设备的网口3,用于监视测试设备的PRP管理信息。
图3 PRP测试系统构成
测试系统中需要用到的协议如下:IEC 61850-8-1 Ed2 (2011), GOOSE用于测试主机1和测试设备之间的交互;HTTP用于读取装置中的PRP信息;ICMP用于网络状况的识别。
(1) 测试设备发送PRP报文的网络标识。测试从装置发出的GOOSE报文,网络标识(LanId)需要在报文中传输,并且占用4个比特位。对于A网LanId=0xA,B网LanId=0xB。
(2) 测试设备发送PRP报文的SeqNr。测试从装置发出的GOOSE报文,从A网和B网同时发出报文的SeqNr必须相同,占用16个比特位。
(3) 测试设备发送PRP报文的LSDUSize。测试从装置发出的GOOSE报文,设备发送正确的LSDUSize,并且从A网和B网同时发出的报文的LSDUSize必须相同,占用12个比特位。
(4) 测试设备发送PRP报文的PRPSuffix。测试从装置发出的GOOSE报文,设备从A网和B网发送固定的PRPSuffix=0x88FB,占用16个比特位。
(5) 测试设备发送新PRP报文以后,SeqNr加1。测试从装置发出的GOOSE报文,每当设备发送一帧新的PRP报文,报文的SeqNr比上一帧增加1。
(6) 测试设备发送PRP报文LSDUSize的正确性。测试从装置发出的GOOSE报文,对于正常发送的PRP报文,LSDUSize是独立于VLAN的,仅仅是LSDU和RCT的长度之和;对于网络监视报文,同样LSDUSize也是独立于VLAN的,仍然是LSDU和RCT的长度之和。
(7) 测试设备发送PRP报文的网口MAC地址。测试从装置发出的GOOSE报文,设备从A网和B网发送的PRP报文,应当使用同一个物理地址。
(8) 测试设备发送PRP报文的IP地址。测试从装置发出的GOOSE报文,设备从A网和B网发送的PRP报文,应当使用同一个IP地址。
(9) 测试设备发送PRP最短报文。测试从装置发出的GOOSE报文,对于不含有VLAN标签的PRP报文,报文的最短长度为70字节,不足70字节的部分,应当被强制填充为70字节。对于含有VLAN标签的PRP报文,报文的最短长度为74字节,不足74字节自己的部分应当被强制填充为74字节。
(10) 测试设备发送PRP监视报文。每2 000 ms,设备通过组播的方式从A网和B网同时发送监视报文。
(11) 测试设备发送PRP监视报文的格式。从设备发出网络监视报文格式,由于装置是一个DANP节点,因此发送的监视报文中只需要满足TLV1即可。
(1) 测试设备接收SAN报文:
断开装置B网,从A口接收从测试软件发出的SAN GOOSE报文;
断开装置A网,从B口接收从测试软件发出的SAN GOOSE报文;
装置能够收到并正确处理接收到的GOOSE报文。
(2) 测试设备接收到的DANP报文:
断开装置B口,将装置A口连接到A网,从A口接收从测试软件发出的A网DANP GOOSE报文;
断开装置B口,将装置A口连接到B网,从A口接收从测试软件发出的B网DANP GOOSE报文;
断开装置A口,将装置B口连接到B网,从B口接收从测试软件发出的B网DANP GOOSE报文;
断开装置A口,将装置B口连接到A网,从B口接收从测试软件发出的A网DANP GOOSE报文;
同时连接装置的A网和B网,将装置A口连接到A网,装置B口连接到B网,同时从装置的A口和B口接收从测试软件发出的DANP GOOSE报文;
同时连接装置的A网和B网,将装置A口连接到B网,装置B口连接到A网,同时从装置的A口和B口接收从测试软件发出的DANP GOOSE报文;
装置能够收到并且正确处理收到的GOOSE报文。
(3) 测试设备接收DANP的最大丢弃间隔。设备从A口和B口接收来自A网和B网的同一帧DANP报文,并不能保证A口和B口同时收到,因此需要一个时长tresideMin(400 ms)来区分是否作为同一帧报文来接收。当A口B口接收到同一序号的PRP报文的时差小于该时长,则认为是来自A网和B网的同一帧PRP报文,装置会丢弃掉重复的一帧报文。如果时差大于该时长,则认为是来自A网和B网的两帧报文,两帧报文都会被处理。
为了测试该时长,测试软件需要对GOOSE报文做一些特殊处理,装置需要对来自A网和B网的报文做出不同的处理,但对于报文的PRP部分,A网和B网的序号则一致。因此,装置对收到的A网,B网GOOSE报文触发不同的消息(A网“PRP-A”,B网“PRP-B”),并且将触发的消息作为GOOSE报文发送给测试主机1。用测试主机1监视收到的GOOSE报文。
从测试软件A网发出报文以后,经过延时t发出B网报文,不断调整t来观察装置的行为。网报文丢弃间隔测试结果如表1所示,可以得出该测试的最大延时t为385 ms。
表1 B网报文丢弃间隔测试结果
从测试软件B网发出报文以后,经过延时t发出A网报文,不断调整t来观察装置的行为。A网报文丢弃间隔测试结果如表2所示,可以得出该测试的最大延时t为380 ms。
表2 A网报文丢弃间隔测试
(4) 测试设备接收两帧DANP的最小间隔。当装置从A口和B口接收的报文超过最大丢弃间隔以后,装置会将A网和B网收到的报文按照两帧报文来处理。通过A网,B网GOOSE报文触发不同的消息(A网“PRP-A”,B网“PRP-B”),并且将触发的消息作为GOOSE报文发送给测试主机1。从测试软件A网发出报文以后,经过延时t发出B网报文,不断调整t来观察装置的行为。接收DANP最小间隔测试结果如表3所示,可以得出该测试的最小延时t为395 ms。
表3 接收DANP最小间隔测试
从测试软件B网发出报文以后,经过延时t发出A网报文,不断调整t来观察装置的行为。接收DANP最小间隔测试结果如表4所示,可以得出该测试的最小延时t为395 ms。
表4 接收DANP最小间隔测试
(5) 测试装置接收巨型帧。当增加PRP报文RCT(6字节)以后,PRP网络中的报文有可能会超过ISO/IEC 8802-3[9]中所定义的最大报文数(1522字节)。PRP标准中声明一个DANP节点需要支持超过最大长度的网络报文(1 528字节=1 522字节+RCT)。将测试主机网卡的Jumbo Packet属性设置为启用并指定一个数值。从测试主机发送一个超长的GOOSE报文,装置应当能接收并且处理报文。
(6) 测试装置接收到错误的PRP报文:
测试主机发送GOOSE报文到装置,其中PRPSuffix错误,例如PRPSuffix=0x88FC;
测试主机发送GOOSE报文到装置,其中LSDUsize错误,例如LSDUsize=0;
测试主机发送GOOSE报文到装置,其中LanId错误,例如LanId=0xC;
装置接收到错误的PRP报文,应当直接丢弃报文。
(7) 测试装置没有收到PRP监视报文。装置上电以后,测试主机不向测试装置发送PRP监视报文,此时装置收到的DANP报文将被视作SAN报文。将测试主机发出的A网GOOSE报文点亮装置的1号LED灯,B网发出的GOOSE报文点亮2号LED灯,但A网B网的GOOSE报文使用相同的PRP报文序号。装置同时从A网和B网发出GOOSE报文,装置应当将接收到的报文作为SAN报文处理,同时点亮装置的1号LED灯和2号LED灯。
(8) 测试装置收到PRP监视报文。测试主机定时(2 000 ms)向装置以组播的方式发送PRP监视报文,此时装置接收的报文会视作DANP报文。其中组播报文的MAC地址固定为:“01:15:4E:00:01:XX”,“XX”为可任意设定的地址段,一般设为“00”。将测试主机发出的A网GOOSE报文点亮装置的1号LED灯,B网发出的GOOSE报文点亮2号LED灯,但A网B网的GOOSE报文使用相同的PRP报文序号。装置同时从A网和B网发出上述GOOSE报文,装置应当将接收到的报文作为DANP报文处理,1号LED灯和2号LED灯仅有一个能够被点亮。
通过HTTP协议,可以在网页上获取装置的PRP在线数据,测试过程中,查看并检查在线数据的准确性。
西门子电力自动化有限公司的7SJ686装置完全通过了测试用例,在满足PRP规约的同时,也满足了GOOSE规约传输的可靠性和稳定性。
PRP是一个比较适合国内变电站网络拓扑的冗余协议,提出了一套测试方案。基于此测试方案,可以验证PRP规约的稳定性以及实时性。随着国内变电站对于自动化系统的要求越来越高,PRP规约会得到比较广泛的应用。届时,系统的PRP测试方案会提上日程,第三方的PRP测试认证服务也会得到广泛的开展。