第32卷第16期电网技术V ol. 32 No.16 2008年8月Power System Technology Aug. 2008 文章编号:1000-3673(2008)16-0016-06 中图分类号:TM73 文献标识码:A 学科代码:470·4054
基于GMRP的变电站发布/订阅通信模型设计
李晶,段斌,周江龙,刘莉莉
(湘潭大学信息工程学院,湖南省湘潭市 411105)
Design of a Publish/Subscribe Communication Model
Bad on GMRP for Substation Communication
微信网名男生简单气质LI Jing,DUAN Bin,ZHOU Jiang-long,LIU Li-li
(College of Information Engineering,Xiangtan University,Xiangtan 411105,Hunan Province,China)
ABSTRACT: According to the requirement in real time performance of substation communication, on the basis of GARP multicast registration protocol (GMRP) a publish/subscribe (P/S) communication mo
del suitable to power system is designed, the function of each module in this model is described, combining with GOOSE message in IEC 61850 the work flow of the propod model is expounded in the aspects of system configuration, subscription and publication. Bad on experimental data the unicast mode and multicast mode of P/S model are analyzed and compared. It is pointed out that the P/S communication model bad on GMRP not only can meet the requirement in network delay of substation communication, but also can enhance real time performance under heavy traffic.
KEY WORDS: substation;GARP multicast registration protocol (GMRP);generic object oriented substation event (GOOSE);IEC 61850;publish/subscribe;unicast;multicast
摘要:针对变电站通信的实时性要求,基于组播注册协议(GARP multicast registration protocol,GMRP)设计了适用于
电力系统的发布/订阅(publish/subscribe,P/S)通信模型,描
述了模型中各模块的功能,并结合IEC 61850标准中面向通
用对象的变电站事件(GOOSE)报文从系统配置、订阅和发布
等方面对该模型的工作流程进行了详细阐述。结合实验数据
对P/S模型的单播和广播方式进行了分析比较,指出基于GMRP的P/S通信模型不仅能满足变电站通信的网络时延
要求,而且在系统数据流量大的情况下能增强实时性。
关键词:变电站;组播注册协议(GMRP);面向通用对象的
变电站事件(GOOSE);IEC 61850;发布/订阅;单播;广播0 引言
随着IEC 61850标准的颁布实施,基于以太网技术的新一代数字化变电站成为变电站自动化领域的研究热点[1-4]。在以太网中,传输数据的通信模型主要有3种:点对点模型、客户机/服务器(client/ rver,C/S)模型、发布/订阅(publish/subscribe,P/S)模型。其中P/S模型与前2种模型相比具有异步、多点通信等优点,能使通信的参与者在空间、时间和控制流上完全解耦[5]。对于变电站中数据流量大、实时性要求高、多点传输的情况,IEC 61850推荐采用P/S模型,但没有说明具体实现方案。
目前,国内外在P/S模型方面的研究多是针对大规模分布式环境下的P/S应用,如基于CORBA 技术的解决方案[6]、基于MQSeries的解决方案[7]等,其本质都是使用软件中间件、基于IP技术、面向非嵌入式系统应用的,不适用于电力系统通信环境。文献[8-11]研究了P/S通信模型在电力系统中的应用,但均侧重于P/S流程控制机制的研究,没有提出适用的具体实现方案,其中文献[8]提出在P/S 模型中采用组播技术的设想。
本文结合变电站的通信特点和IEC 61850标准的要求,提出一种适用于电力系统通信的基于组播注册协议(GARP multicast registration protocol,GMRP)的P/S通信模型实现方案,并结合实验数据对该方案的实时性进行分析。
1 变电站通信的特点
在基于以太网的变电站过程层通信中,采样测量值和跳闸命令是最重要的2类数据。IEC 61850定义了2种报文:采样值(sampled analogue value,SA V)
基金项目:国家自然科学基金资助项目(50677058);湖南省自然科学基金资助项目(06JJ50081)。
Project Supported by National Natural Science Foundation of China (50677058).
第32卷第16期电网技术 17
报文和面向通用对象的变电站事件(generic object oriented substation event,GOOSE)报文,分别应用于传输采样值和跳闸命令。SA V和GOOSE报文均是实时报文,要求通信时延小于4ms[12]。为了降低通信协议栈的时间开销,IEC 61850规定SA V报文和GOOSE报文在经过应用层和表示层处理后直接映射到数据链路层[9],因此这2种实时报文被限制在一个子网内,不能跨越路由器[12]。
P/S通信模型在复杂分布式应用中使用很广泛,是一种事件触发的异步数据传输模式,可以在各通信节点之间形成点对多点的直接通信。IEC 61850中的P/S通信模型见图1,整个通信过程由控制模块进行控制,发布者和订阅者之间有控制值读取(GetDataValue)、控制值设置(SetControlValue)和报文传输(SendMessage)等服务。本文基于GMRP 设计的P/S通信模型主要通过减少系统资源损耗来改善报文传输服务的实时性。
图1 IEC 61850的发布/订阅通信模型
Fig. 1 Publish/subscribe communication model
of IEC 61850
2相关技术简介
2.1 组播技术
目前,以太网中有3种网络传输方式能用于实现P/S通信模型:单播、广播和组播。单播即点对点通信;广播即使用广播地址向广播域内的所有成员广播数据;组播即一个组播源使用组播地址向加入该组的所有成员发送数据,分为第3层组播和第2层组播。第3层组播协议使用互联网组管理协议(Internet group management protocol,IGMP)实现,是面向整个互联网并基于IP实现的,其在边缘子网仍然是广播方式。第2层组播技术目前有3种:CGMP(Cisco group management protocol)、IGMP Snooping和GMRP[13],其中CGMP和IGMP Snooping都基于IGMP,也都是面向整个互联网并基于IP的,只是这2种协议使得组播的范围扩展到边缘子网。SA V报文和GOOSE报文没有网络层,因此IGMP、CGMP和IGMP Snooping技术均不适用,而GMRP是纯第2层组播协议,可扩展性好,转发速度快,可靠性高,支持的组数量多,最大支持245个组,适用于电力系统通信。
2.2 GMRP技术简介
IEEE 802.1D中定义了GMRP,它依赖于一般属性注册协议(generic attribute registration protocol,GARP)[14]提供的一般属性注册功能。GARP要求交换机的每个端口和每一个参与GARP的主机都必须有一个独立的GARP实体(GARP participant)。每个GARP实体都包括以下3部分:
(1)GARP应用(GARP Application),负责定义属性类型、属性值的含义、结构和编码方式,并且接
收和生成GARP协议数据单元(protocol data unit,PDU)。
(2)GARP信息声明(GARP information declaration,GID),这是GARP协议的核心组件,一个GID实例包含了当前所有属性值及其状态。
(3)GARP信息传播(GARP information propagation,GIP),负责在交换机内部的GARP实体间传播属性信息。
GMRP是目前已有的基于GARP的两种应用之一。IEEE 802.1D特别针对GMRP定义了组属性类型,该属性的值是组的介质访问控制(media access control,MAC)地址。GMRP协议数据报文的目的MAC地址是特定的组播MAC地址(01-80-C2-00- 00-20),交换机和主机在接收到报文后根据该地址区分GMRP协议数据和其他数据。
3 基于GMRP的变电站P/S通信模型
在基于GMRP的P/S通信模型中,订阅一个主题T可以被认为是加入组T,而在主题T上发布数据也相应地转换成在组T的成员中广播该数据。GMRP支持一个终端加入多个组播组,因此一个智能电子设备(intelligent electronic device,IED)可以同时订阅多个主题的数据。根据GMRP和电力系统通信特点,设计了基于GMRP的变电站P/S通信模型,如图2所示。
发布IED的主要模块及其功能如下:
(1)发布管理模块,负责数据发布流程的控制,包括新主题数据发布时发送广播报文对订阅
18 李晶等:基于GMRP的变电站发布/订阅通信模型设计V ol. 32 No.16
图2基于GMRP的P/S模型实现机制
Fig. 2 Realizing mechanism of publish/subscribe model bad on GMRP
IED进行配置,与GMRP实体交互,发布数据时控制数据封装模块进行数据封装等。
(2)控制模块,功能与图1中发布者控制模块相同,控制数据发布。允许订阅IED通过GetControlValue和SetControlValue服务对其中参数进行获取和设置。
(3)发布数据分类模块,将待发布数据按主题进行分组,然后将不同组的数据交给数据封装模块中不同的子模块进行处理。
(4)数据封装模块,在发布管理模块和控制模块的控制下将待发布的数据封装入相应的组地址和对应的控制参数,然后送到发送缓冲区。数据封装模块分为多个子模块,分别被不同的控制模块类控制,负责不同组的数据封装。
(5)GMRP实体,与其他GMRP实体通信实现GMRP协议,并提供组属性查询、注册和注销接口功能以实现和发布管理模块的交互。
(6)数据分类模块,将从接收缓冲区中接收的数据分为控制数据、发布控制数据、重发请求和GMRP协议数据,分别送到相应模块进行处理。其中,控制数据即订阅IED对发布数据进行控制的指令,发布控制数据即订阅IED对数据发布流程进行控制的指令及应答,重发请求为订阅IED要求重发数据的请求消息。
订阅IED的主要模块及功能如下:
(1)数据处理程序,分为多个处理子程序,对不同主题的订阅数据进行处理。
(2)控制参数检查模块,负责对订阅数据的参数进行检查,如检查SA V报文的采样值计数器参数(S
mpCnt)以检测是否有漏包情况发生,若出错则向发布IED发送重发请求。
(3)数据分类模块,将接收缓冲区的数据分为订阅数据、控制数据和GMRP协议数据,分别送给相应模块进行处理。控制数据即与发布IED进行交互以控制订阅、发布流程的控制指令及应答。
(4)GMRP实体,功能与发布IED的GMRP 实体相同。
(5)订阅数据拆封分类模块,负责将订阅数据拆封,然后按不同的组地址交给相应的数据处理子程序。
小儿干咳(6)订阅控制模块,是订阅IED的控制中心,负责与GMRP实体交互实现数据的订阅、退订,控制订阅数据参数的检查和订阅数据的拆封分类,对发布IED的控制模块进行设置等。
4 GOOSE报文传输实例
4.1 GOOSE报文发布前的配置
双曲率后视镜4.1.1 发布IED的配置
当需要发布一个新主题的GOOSE报文时,发布IED新建一个GOOSE控制模块类,并需要完成如下配
置:①建立需要发布的数据集;②GOOSE 控制模块的配置,图3显示了定义GOOSE控制模块需要添加的变电站配置语言(substation configuration language,SCL)的内容[10,12],包含IED 和Communication两部分。
与本文设计的P/S通信模型相关的最主要的配置参数有2个:①appID,应用标识,一个变电站内部不同控制模块类必须有唯一的appID,也就是待发布GOOSE报文的主题;②MAC地址,即发布GOOSE报文的组播MAC地址,IEC 61850建议用于GOOSE报文传输的组播MAC地址范围是01-0C-CD-01-00-00至01-0C-CD-01-01-FF,发布IED的发布管理模块从此范围中选取一个MAC地址,并通过与GMRP实体交互证实此地址没有被占用后,才能确定此参数。
4.1.2 订阅IED的配置
在此P/S模型中,GOOSE订阅IED必须知道
第32卷第16期电网技术 19
(a) IED部分的配置
(b) Communication部分的配置
图3 GOOSE控制块定义的语法
Fig. 3 Definition scheme of GOOSE
待发布GOOSE报文的如下信息才能保证对其进行正确的订阅和接收:①GOOSE 控制块引用;②appID;③MAC 地址。
订阅IED的配置可采用发布IED发送广播的方式进行,即发布IED的发布管理模块向全网广播待发布GOOSE报文的appID和MAC地址等参数,各订阅IED收到后更新其配置文件。
4.2 GOOSE报文的订阅和退订
GOOSE报文的订阅就是该订阅IED通过GMRP实体加入到发布该GOOSE报文的组中的过程。该过程可分为组属性声明和组属性注册。组属性声明过程是:
①先由订阅控制模块调用GMRP实体提供的组属性注册接口请求加入该组,GMRP实体的GMRP Appli
cation接收到此请求后调用GID 的quest原语对组属性进行声明,原语中带有该发布GOOSE
报文的组地址作为参数; ②随后GMRP实体通过GMRP PDU发送Join消息给所接交换机声明该组属性,该组属性声明在网络中传播,如图4所示。图中a表示组属性注册,A表示组属性声明。交换机的GMRP实体间通过GIP 传播组属性声明,而在IED之间及交换机之间使用GMRP PDU传播组属性声明。
GMRP的
IED
IED
图4组属性声明传播图
Fig. 4 Propagation of the declaration of group attributes 只有接收到GMRP PDU组属性声明的端口才对该组属性进行注册,这样就防止了不必要的GMRP PDU扩散。组属性的注册状态由GID的注册者状态机(registrar state machine)维护。GMRP中规定每个注册属性都有一个注册者状态机,注册者状态机维护1个定时器(LeaveTimer)和属性的3种状态:IN表示已经注册了该属性;LV表示已经注册了该属性,但是现在正在注销该属性;MT表示已经注销了该属性。状态转换图如图5所示。状态由接收到的事件驱动,在订阅注册阶段,该注册属性的注册者状态机接收到Join消息进入IN态,表示组属性在该端口上注册成功。最后GID会调用GID_Join.indication原语通知GMRP Application该组属性注册成功。
图5注册者状态机状态转换图
Fig. 5 State transition map of registrar state machine
当交换机中GMRP实体的GMRP Application 收到表示组属性注册成功的GID_Join.indication原语后,更新交换机过滤数据库中的组播转发表(即组MAC地址与端口MAC地址集合的映射表)。至此,订阅IE
D成功地加入到发布该GOOSE报文的组中,即成功地订阅了此GOOSE报文。
订阅IED退订GOOSE报文过程和订阅过程相
杨再兴简介20 李晶等:基于GMRP的变电站发布/订阅通信模型设计V ol. 32 No.16
反,是对组属性进行注销的过程,不再详述。需要指出的是,注销时,当组属性的注册者状态机接收到Leave消息后从IN态进入LV态并开启LeaveTimer,在LeaveTimer到期前收到Join消息则又进入IN态,否则进入MT态,表示注销成功。设置LeaveTimer定时器和LV状态是为了给组属性一个重新加入组的机会。
4.3 GOOSE报文的发布
GOOSE报文发布原理见图6。图中仅用一个2端口交换机示意,交换机每个端口都有独立的GMRP实体、逻辑链路控制(logical link control, LLC)和帧接收、传输模块,每个交换机都有过滤数据库和转发程序,2个端口分别接发布IED和订阅IED,图中实线为控制数据,虚线为发布的GOOSE报文。
图6 GOOSE发布原理图
Fig. 6 Principle of GOOSE publishing
当发布IED向订阅IED发布一个GOOSE报文时,发布IED的发布管理模块和GOOSE控制模块控制数据封装模块,将对应的组地址和相关参数封装入待发布报文中,然后将封装好的报文通过发送缓冲区转发给交换机[10]。交换机接收到报文后由转发程序查询过滤数据库中的组播转发表,查到有n 个订阅IED加入了该组,将报文复制n份,分别转发到这n个端口。从发布过程可知,在每个订阅IED 看来,发布一组GOOSE报文的网络传输时延和使用单播方式传输一个报文的传输时延几乎相同。此P/S模型可支持源裁剪(source pruning),即如果发布IED的发布管理模块通过查询GMRP实体发现该组中没有成员(即没有IED订阅该GOOSE报文)时随即停止发布,进一步节省带宽。
SA V报文的传输过程与GOOSE报文类似,不再赘述。
5 实时性分析
最帅P/S通信模型的订阅过程和发布过程是异步的,本文所设计的P/S订阅过程就是GMRP协议处理过程,订阅时间就是订阅IED通过GMRP协议
加入组的反应时间,小于200ms[13]。发布时间就是
报文时延,报文时延包括发布IED处理时延、订阅IED处理时延和网络传输时延[12,15]。根据GOOSE
报文的发布过程可知,本文所设计的P/S模型的报
文发布过程并不涉及GMRP协议处理,在低负载下
发布一个GOOSE报文给多个订阅IED时,对每个
订阅IED来说,发布IED处理时延、订阅IED处
理时延和网络传输时延与单播传输一个GOOSE报
文相同,分别为460μs、460μs和10μs [16],完全能应接不暇的意思
满足变电站的实时通信要求。
本文所设计的P/S模型最重要特点是能适应数
据流量大的情况。假如发布IED发布一个GOOSE
安胃疡胶囊说明书
报文到多个订阅IED,使用单播方式,发布IED要
对报文进行多次封装,而使用广播和GMRP组播方
式只要封装1次。广播方式下,同一子网没有订阅愁的反义词
该GOOSE报文的IED也会接收到该报文并进行处理,增加了不必要的系统损耗。由广播和GMRP组
播原理可知,使用广播和GMRP组播传输一组GOOSE报文的网络传输时间和使用单播传输一个GOOSE报文的网络传输时间几乎相同。由以上分析,假设有1台发布IED发布1个GOOSE报文,
有50个IED与这个发布IED处于同一子网,其中
X台IED订阅了这个报文,可得出3种传播方式下
的系统资源损耗情况,如表1所示。由表1可得出
3种传播方式下订阅IED数量和系统资源损耗的关系,如图7所示。可以看出,GMRP组播方式能使
系统资源损耗达到最小。
表13种传播方式的系统资源损耗
Tab. 1 The loss of system resources of
three transmission modes
损耗类型单播/μs 广播/μs GMRP组播/μs
发布IED损耗460X 460 460 订阅IED损耗460X 460×50 460X
网络传输损耗10X 10 10 系统损耗总计(460+460+10)X460+460×50+10 460+460X+10
订阅IED数量/台
系
统
时
间
损
耗/
m
s
图73种传播方式下系统资源损耗与订阅IED数量的关系Fig. 7 The relation between system resources loss of
three transmission modes and subscribing IED number