CN111131213B - 一种r-goose电力报文的实现方法 - Google Patents

一种r-goose电力报文的实现方法 Download PDF

Info

Publication number
CN111131213B
CN111131213B CN201911308349.0A CN201911308349A CN111131213B CN 111131213 B CN111131213 B CN 111131213B CN 201911308349 A CN201911308349 A CN 201911308349A CN 111131213 B CN111131213 B CN 111131213B
Authority
CN
China
Prior art keywords
length
goose
message
value
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911308349.0A
Other languages
English (en)
Other versions
CN111131213A (zh
Inventor
王智东
杨玲
张凯琳
刘培然
李乐章
邓丰强
梁梅
李洁仪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201911308349.0A priority Critical patent/CN111131213B/zh
Publication of CN111131213A publication Critical patent/CN111131213A/zh
Application granted granted Critical
Publication of CN111131213B publication Critical patent/CN111131213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Abstract

本发明公开了一种R‑GOOSE电力报文的实现方法,所述方法包括以下步骤:S1、根据SCL配置文件内容,确定电力微机设备所需实现的R‑GOOSE电力报文模板;S2、把R‑GOOSE电力报文内容划分为三个部分:R‑GOOSE电力报文中的固定内容、由SCL文件提取的配置信息、电力系统实时运行和命令信息;S3、由SCL文件提取配置信息;S4、填充R‑GOOSE电力报文中的固定内容;S5、根据变电站的实时状态获取GOOSE PDU的报文信息。本发明的R‑GOOSE电力报文实现方法简单高效,能够在传统微机设备的快速实现R‑GOOSE电力报文。

Description

一种R-GOOSE电力报文的实现方法
技术领域
本发明涉及一种R-GOOSE电力报文的实现方法,尤其是一种适用于变电站间信息传输的R-GOOSE电力报文的实现方法。属于电力系统保护、控制与自动化技术。
背景技术
随着智能电网向纵深发展,电力信息系统将更加依赖通信网络,以报文形式传递表征电力保护、控制和自动化状态及其命令的信息,也将由原先局限于站内扩展到整个电力系统,形成具有路由功能的R-GOOSE。
GOOSE报文作为智能变电站传递开关状态和命令信息的重要报文,为了保证传输的实时性,直接避开了传输层和网络层,这虽然提高了GOOSE报文的实时性,但由于不具有路由功能,导致GOOSE报文只能在变电站内进行传输,无法实行在变电站间的信息交换,经典GOOSE报文不具备路由功能、无法进行跨(变电站)站和(变电站)站控(控制中心)交互等缺陷。
R-GOOSE电力报文具有路由功能,能在广域电力信息系统中交换,但当前R-GOOSE实现多依赖需要专门的TCP/IP协议栈支撑,而且涉及面向对象等复杂的软件技术]。如文献I.Ali,M.A.Aftab,and S.M.S.Hussain,“Performance comparison of IEC 61850-90-5and IEEE C37.118.2based wide area PMU communication networks,”J.Mod.PowerSyst.Clean Energy,vol.4,no.3,pp.487–495,Jul.2016.等文献都借助于专用的通信协议栈来实现。而专用的通信协议栈对电力设备CPU和内存等要求较高。由于传统电力微机设备内存和处理能力有限,不容易实现R-GOOSE电力报文。
发明内容
针对传统微机实验设备受限于自身性能,难以实现复杂的R-GOOSE电力报文的情况,本专利提供一种适用于传统微机实验设备的R-GOOSE电力报文实现方法,该方法针对传统微机实验设备的有限资源,提供一种基于样式报文的高效实现方法。使得传统电力智能电子设备、电力实验测试设备等不具有R-GOOSE功能的传统电力微机设备,无需另增加额外的协议堆栈支持下,具有实现R-GOOSE电力报文功能。
本发明至少通过如下技术方案之一实现。
一种R-GOOSE电力报文的实现方法,所述方法包括以下步骤:
S1、根据SCL配置文件内容,确定电力微机设备所需实现的R-GOOSE电力报文模板;
S2、把R-GOOSE电力报文内容划分为三个部分:R-GOOSE电力报文中的固定内容、由SCL文件提取的配置信息、电力系统实时运行和命令信息;
S3、由变电站配置描述语言(SCL)文件提取配置信息;
S4、填充R-GOOSE电力报文中的固定内容;
S5、根据变电站的实时状态获取GOOSE PDU(面向通用对象的变电站事件协议数据单元:General Object Oriented Substation Event Protocol Data Unit)的报文信息,形成R-GOOSE(Routing general object oriented substation event)电力报文。
进一步地,步骤S1是通过SCL配置工具提取SCL配置文件的报文网络信息,报文网络信息包括报文IP、MAC地址和提取GOOSE PDU内容信息,在报文网络信息的基础上,添加路由信息形成电力微机设备所需实现的R-GOOSE电力报文模板,R-GOOSE电力报文模板的基本结构包括应用层、会话层、传输层、网络层;应用层信息包括有效负载长度(PayloadLength)、负载类型(Payload type)、模拟(Simulation)、应用标识(APPID)、应用协议数据单元长度(APDU Length)、面向通用对象的变电站事件协议数据单元(GOOSE PDU)、签名(Signature)、安全算法长度(Length of HMAC)、安全算法(HMAC);会话层信息包括长度标识符(LI)、传输标识符(TI)、会话标识符(SI)、会话层协议数据单元长度标识符(LengthIdentifier)、会话层头部常量(Common Session Header)、参数单元的长度标识符(LengthIdentifier)、会话协议版本号(Version Number)、安全算法(Security Algorithm)、秘钥ID(Key ID);传输层信息包括出发端口(Source Port)、目标端口号(Destination Port)、长度(Length)、校验层(Checksum)、电力报文数据(Data);网络层信息包括目的物理地址(Destination MAC Address)、源物理地址(Source MAC Address)、IP类型、IP协议的版本号(Version)、IP的报头长度(IHL)、区分服务代码点(DSCP)、IP报文总长度(TotalLength)、标识符(Identification)、标志位(Flag)、分段偏移(Fragment Offset)、生存时间(TTL)、协议(Protocol)、头部校验(Header Checksum)、源IP地址(Source IP Address)、目的IP地址(Destination IP Address)。
进一步地,步骤S2是在内存中按照步骤S1确定的报文模板生成一个预处理报文,该预处理报文把R-GOOSE电力报文的内容分为以下三个部分:R-GOOSE电力报文中的固定内容、由SCL文件提取的配置信息、电力系统实时运行和命令信息。
进一步地,步骤S3所述的由SCL文件提取配置信息包括描述变电站规范的SSD(System Specificiation Description)文件、描述IED能力的ICD(IED CapabilityDescription)文件、描述全站完整配置的SCD(Substation Configuration Description)文件、描述单个IED配置的CID(Configured IED Description)文件四种SCL文件提供的配置信息,配置信息内容包括:目的物理地址(Destination MAC Address)、源物理地址(Source MAC Address)、IP的报头长度(IHL)、IP报文总长度(Total Length)、标识符(Identification)、标志位(Flag)、分段偏移(Fragment Offset)、协议(Protocol)、源IP地址(Source IP Address)、目的IP地址(Destination IP Address)、出发端口(SourcePort)、目标端口号(Destination Port)、会话层协议数据单元的长度(SPDU Length)、会话协议数据单元号(SPDU Number)、当前密钥允许的时间(Time of current key)、下一个密钥的时间(Time to next key)、有效负载长度(Payload length)、应用协议数据单元长度(APDU Length)。
进一步地,步骤S4所述固定内容包括:IP类型、IP协议的版本号(Version)、区分服务代码点(DSCP)、生存时间(TTL)、头部校验(Header Checksum)、校验(Checksum)、长度标识符(LI)、传输标识符(TI)、会话标识符(SI)、会话层协议数据单元长度标识符(LengthIdentifier)、会话层头部常量(Common Session Header)、参数单元的长度标识符(LengthIdentifier)、会话协议版本号(Version Number)、安全算法(Security Algorithm)、秘钥ID(Key ID)、负载类型(Payload type)、模拟(Simulation)、应用标识(APPID)、报文域签名(Signature)、安全算法长度(Length of HMAC)、安全算法(HMAC)、GOOSE-PDU的标志位(Tag)、GoCBRef字符串的标志位(Tag)、报文存活时间(Times Allowed To live)、DataSet字符串的Tag、GoID字符串的Tag、报文发送时间T的Tag和长度(Length)、变化序号(StNum)的Tag和Length、SqNum(报文顺序号)的Tag和Length、测试标志(Test)的Tag和Length、配置版本号(ConfRev)的Tag和Length、控制块配置的必要性(NdsCom)的Tag和Length、开关量信息路数(NumdataSetEntries)的Tag和Length、全部数据(All Data)的Tag和Length,除全部数据(All Data)的Tag和Length各为两个字节外,其余内容的Tag(标志位)和Length(长度)均各占一个字节。
进一步地,步骤S5所述的GOOSE PDU的报文信息内容包括GOOSE PDU的Length、GoCBRef字符串的Length和数值(Value)、DataSet字符串的Length和Value、GoID字符串的Length和Value、报文发送时间T的Value、StNum的Value、SqNum的Value、Test的Value、ConfRev的Value、NdsCom的Value、NumdataSetEntries的Value、All Data(全部数据)的Value。
本发明相对于现有技术具有以下有益效果:
1、解决了传统GOOSE报文限定传输范围的局限性,大大改善了GOOSE报文的实用性,使各个变电站间能通过网络传输快速准确掌握用电信息。
2、使得传统电力智能电子设备、电力实验测试设备等不具有R-GOOSE功能的传统电力微机设备,无需另增加额外的协议堆栈支持下,实现R-GOOSE报文的站站传输和站控交互。
附图说明
图1为本发明实施例的一种R-GOOSE电力报文的实现方法流程图;
图2为本发明实施例的R-GOOSE电力报文基本结构示意图。
具体实施方式
下面结合实施例及附图对本实施例作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,一种R-GOOSE电力报文的实现方法,包括以下步骤:
S1、根据SCL配置文件内容,确定传统电力微机设备所需实现的R-GOOSE电力报文的基本结构。可以通过SCL配置工具提取SCL配置文件的报文网络信息、GOOSE PDU内容信息,再添加路由信息形成电力微机设备所需实现的R-GOOSE电力报文模板。R-GOOSE电力报文模板的基本结构包括应用层、会话层、传输层、网络层。
S2、把R-GOOSE电力报文内容划分为三个部分:R-GOOSE电力报文中的固定内容、由SCL文件提取的配置信息、电力系统实时运行和命令信息。由于配置较低的传统电力微机设备难以实现面向对象建模、协议栈的处理,所以在具体实施时可以事先在内存中按照步骤S1确定的报文模板生成一个预处理报文,该预处理报文把整个R-GOOSE电力报文的内容分为三个部分:R-GOOSE电力报文中的固定内容、由SCL文件提取的配置信息、电力系统实时运行和命令信息,如下表1所示:
表1 R-GOOSE电力报文的内容
Figure BDA0002323809220000041
S3、由SCL文件提取配置信息,提取的配置信息包括四种SCL文件提供的配置信息:描述变电站规范的SSD文件、描述IED能力的ICD文件、描述全站完整配置SCD文件、描述单个IED配置的CID文件。配置信息内容内容包括:Destination MAC Address(目的物理地址)、Source MAC Address(源物理地址)、IHL(IP的报头长度)、Total Length(IP报文总长度)、Identification(标识符)、Flag(标志位)、Fragment Offset(分段偏移)、Protocol(协议)、Source IP Address(源IP地址)、Destination IP Address(目的IP地址)、Source Port(出发端口)、Destination Port(目标端口号)、Length、SPDU Length(会话层协议数据单元的长度)、SPDU Number、Time of current key(当前密钥允许的时间)、Time to next key(下一个密钥的时间)、Payload Length、APDU Length。把由SCL文件获取的上述信息按照图2所示格式填充,提取内容如下:
(1)Destination MAC Address:表示目的物理地址,占6个字节。即接受报文一端或多端的物理地址,为发送装置实际发送GOOSE报文的目标MAC地址。此地址作为接收装置的识别标识之一,由事先配置获得。
(2)Source MAC Address:表示源物理地址,占6个字节。即发出报文一端的物理地址,为发送装置物理网卡的物理地址,MAC芯片出厂时已确定,不随程序及应用发生改变。由事先配置获得。
(3)IHL:表示IP的报头长度,其占4bits。IP报头的最小长度为20字节,由于在报头中含有变长的可选部分,因此最大长度可能会变成60字节。这是所有报头的总长度,由IPv4中获取。
(4)Total Length:表示为IP报文总长度,占2个字节。IP报文最大长度为65535字节,即IHL加上IP有效负荷长度,由IPv4结构中提取。
分段操作(Fragment)含三部分:
(5)Identification:表示标识符,占2个字节。包含一个整数,用来标识当前的数据报。这是一个序列号。该字段和Flags和Fragment Offest字段联合使用,对大的上层数据包进行分段(fragment)操作;
(6)Flags:表示标志位,占3bits,用于控制和识别分片。
Bit 0:必须为0;
Bit 1:(DF)为0表示可以分组,为1表示不可以对分组进行分片;
Bit 2:(MF)为0表示该数据段是本分组中最后的一个数据分段,为1表示后面还有数据分段,由IPv4中提取。
(7)Fragment Offset:表示分段偏移。占13bits。指示分段在数据包中的位置,用于重组数据分段。这个字段允许标记字段终止在16Bit的边界,由IPv4中提取。
(8)Protocol(协议):占1个字节,标志了在IP处理过程结束后,哪一个上层协议将接收这些数据,TCP用6表示,UDP用17表示;可从IPv4中提取。
(9)Source IP Address:占4个字节,指明了发送节点的IP地址,由IPv4中提取。
(10)Destination IP Address:占4个字节,指明了接收节点的IP地址,由IPv4中提取。
(11)Source Port:表示出发端口,占2个字节。在需要对方回信时根据实际端口号填写,如果不使用,设置值为0。
(12)Destination Port:目标端口号,占2个字节,目标端口在特殊因特网目标地址的情况下具有意义,根据实际交付报文端口填写。
(13)Length:占2个字节。该用户数据报的八位长度,包含了Source Port至HMAC的所有字节长度,长度最小值为8,根据实际情况填写。
(14)SPDU Length:表示整个会话层协议数据单元的长度,占4个字节,由实际情况填写。
(15)SPDU Number:固定4个字节,用于检验是否有重复或无序的数据包传送,自行定义。
(16)Time of current key:当前密钥允许的时间,占4个字节,根据实际情况自行定义。
(17)Time to next key:到下一个密钥的时间,占2个字节,根据实际情况自行定义。
(18)Payload Length:包含了Payload Length至Payload部分的全部会话用户信息长度,占4个字节,最大值为65339,由KDC分配。
(19)APDU Length:R-GOOSE电力报文信息长度加上本身2字节长度,占2字节。
S4、填充R-GOOSE电力报文中的固定内容,固定内容包括:IP类型、Version(IP协议的版本号)、DSCP(Differentiated Services Code Point)、TTL(Time to Live)、HeaderChecksum(头部校验)、Checksum、LI(长度标识符)、TI(传输标识符)、SI(会话标识符)、Length Identifier(会话层协议数据单元长度标识符)、Common Session Header(会话层头部常量)、Length Identifier(参数单元的长度标识符)、Version Number(会话协议版本号)、Security Algorithm、Key ID(秘钥ID)、Payload type(负载类型)、Simulation(模拟)、APPID(应用标识)、Signature(报文域签名)、Length of HMAC、HMAC。把R-GOOSE电力报文中的固定内容按照图2所示格式填充,填充的固定内容如下:
(1)IP:根据以太网封装类型(RFC894)规定IP类型填写0x0800。
(2)Version:表示该数据报采用的IP协议的版本号,占4bits。在IEC6150-90-5报文中一般采用较为普遍的IPv4协议,填写0x04表示IPv4。
(3)DSCP(Differentiated Services Code Point):表示差分服务代码点,占6bits,重新命名了IPv4报头中服务类型(TOS)使用的那1个字节,其作用是用来标记数据,定义优先级,最多可以定义64个不同的服务类型(0-63)。其中EF表示无阻碍转发(Expedited Forwarding,EF)由RFC2598定义,DSCP值0X46(101110)。EF服务适用于低丢包率,低延迟,低抖动及保证带宽的业务,剩余2bits由ECN占用不填。
(4)TTL(Time to Live):表示生存时间,占1个字节。指示分组在网络传输中的允许保持的时间,以秒为单位。当该计时器为0时,数据报将被丢弃。为避免报文在网络中一直存在,填写最大生存时间255s的十六进制0xFF。
(5)Header Checksum:表示头部校验占2个字节,用于检验IP数据包正确性,发送方根据检验和标准计算后填写,接受方对该数据进行校对,如果数据包没有发送错误,那么结果应该16位全部为1,即0XFFFF,由于每一台路由器都会降低TTL的值,所以每台路由器都必须重新计算校验和。
(6)Checksum:占2个字节。其与IPV4中的Header Checksum算法相类似,用于检验IP端口的正确性。在IPV4中checksum可为0。
(7)LI:长度标识符,此处为0x01。
(8)TI:传输标识符,此处为0x40。
(9)SI:会话标识符:由定义的4个十六进制值表示,0xA0,隧道GOOSE和采样值包;0xA1,非隧道GOOSE应用协议数据单元;0xA2,非隧道SV APDU;0xA3,非隧道管理APDU,此处填0xA1.
(10)Length Identifier:会话层协议数据单元(SPDU)的长度标识符,跟在会话标识符后面(SI),覆盖会话头所有参数字段的长度,即Common Session Header至Key ID字节长度的十六进制表达式,为0x18。
(11)Common Session Header:会话层头部常量,同时也是参数标识符(PI),作为参数单元的开头。通常填充十六进制值0x80。
(12)Length Identifier:参数单元的长度标识符,占一个字节,即SPDU至Key ID字节长度的十六进制表达式,为0x16。
(13)Version Number:会话协议版本号,固定两个字节,填写表示IPv4的0x0004。
(14)Security Algorithm:指示加密类型和哈希信息认证码(HMAC)签名生成的算法信息,占2个字节。由于使用电力专网,填充0X0000。
(15)Key ID:表示秘钥ID,占4个字节,由密钥分配中心提供,由于使用电力专网,填充0X00000000。
(16)Payload type:有效负荷的映射协议,由IEC-61850-90-5指定了4种类型,分别为非隧道GOOSE APDU—0x81,非隧道SV APDU—0x82,隧道GOOSE和SV数据包—0x83,非隧道管理APDU—0x84,此处填0X81。
(17)Simulation:仿真为占一个字节的布尔值,有效负荷用于测试时为1,否则为0,填充0X00。
(18)APPID:应用标识,填充为0X0100。
(19)Signature:报文域签名,占一个字节。如不用于测试,可取0,由于使用电力专网,填充0X00。
(20)Length of HMAC:占一个字节。根据下一部分HMAC的长度填写,由于使用电力专网,填充0X00。
(21)HMAC:报文收发双方通过核对安全算法HMAC是否一致来判断报文是否被篡改,由HMAC算法得出。由于使用电力专网,填充0X00。
(22)GOOSE PDU:GOOSE报文信息。
使用ASN1编码规则,遵循Tag(也有称TYPE)、长度Length、值Value的格式,简称TLV。
Tag:占1或者两个字节,Bit7和Bit6选用10:Contest-Specific,上下文相关,Bit5选用0,即0X61。
(23)GoCBRef:使用ASN1编码规则,遵循Tag(也有称TYPE)、长度Length、值Value的格式,简称TLV。
Tag:占1或者两个字节,Bit7和Bit6选用10:Contest-Specific,上下文相关,Bit5选用0,即0X80
(24)Times Allowed To live:表示报文存活时间,使用ASN1编码规则。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X81;
Length:表示Value值是由多少个字节构成的,值为0X04;
Value值的单位为毫秒,默认为心跳报文时间的两倍,即10000ms,表示为0X00002710。
(25)DataSet:使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X82;
(26)GoID:使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X83;
(27)T:stnum加1的时间,精确到毫秒,使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X84;
Length:表示Value值是由多少个字节构成的,这里为0X08;
(28)StNum和SqNum:表示状态数目和顺序号,当后面的All Data数据跟上一次的All Data值不一致时,StNum+1,SqNum=0。一致时StNum不变,SqNum+1,装置发送方上电第一帧时StNum=1,SqNum=1。装置接收方上电第一帧时StNum=SqNum=0。
均使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式,格式如下:
StNum和SqNum均由Tag、长度Length、值Value三部分组成,其中Tag、长度Length属于固定值;
StNum:
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X85;
Length:表示Value值是由多少个字节构成的,这里为0X04;
SqNum:
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X86;
Length:表示Value值是由多少个字节构成的,这里为0X04;
(29)Test:当装置检修压板投入时,装置发送的R-GOOSE电力报文中的Test应置位,R-GOOSE接收装置应将接收的R-GOOSE电力报文中的Test位与装置自身的检修压板状态相比较,只有当两者一致时才将信号作为有效信号进行处理或动作。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X87;
Length:表示Value值是由多少个字节构成的,这里为0X01;
(30)ConfRev:表示配置版本号,即DataSet配置改变的计数器。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X88;
Length:表示Value值是由多少个字节构成的,这里为0X04;
(31)NdsCom:表示此控制块配置的必要性,当属性DataSet值为NULL时,NdsCom值应为TRUE,表示此控制块需进一步配置。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X89;
Length:表示Value值是由多少个字节构成的,这里为0X01;
(32)NumdataSetEntries:表示All Data中有多少路开关量信息。
Tag:占1或者两个字节,为Contest-Specific,上下文相关,即0X8A;
Length:表示Value值是由多少个字节构成的,这里为0X04。
S5、根据变电站的实时状态获取GOOSE PDU的报文信息,GOOSE PDU的报文信息的内容包括:GoCBReferen字符串,Times Allowed To live(报文存活时间),DataSet字符串,GoID字符串,T(报文发送时间),StNum(状态数目),SqNum(顺序号),Test,ConfRev(配置版本号),NdsCom(控制块配置的必要性),NumdataSetEntries(开关量信息路数),All Data(全部数据)。把根据变电站的实时状态获取GOOSE PDU的报文信息按照图2所示格式填充,GOOSE PDU所包含的内容均使用ASN.1编码规则,遵循Tag(也有称TYPE)、长度Length、值Value的格式,简称TLV,其中:
Tag:占1或者两个字节;
Length:表示Value值是由多少个字节构成的。若Value长度<=127,则Length占一个字节,字节最高位为Bit7=0;若Value长度>127,则Length第一字节最高位Bit7=1,Bit6-0表示的是Length本身所占的字节数,从第二个字节到最后一个字节表示的是Value的长度;
Value:表示值,即实际所要传递的编码内容,根据不同的标记类型,采用不同的编码规范。
(1)GOOSE PDU即GOOSE报文信息,描述如下:
使用ASN1编码规则,遵循Tag(也有称TYPE)、长度Length、值Value的格式,简称TLV。
Length:表示Value值是由多少个字节构成的;
(2)GoCBRef:使用ASN1编码规则,遵循Tag(也有称TYPE)、长度Length、值Value的格式,简称TLV。
Length:表示Value值是由多少个字节构成的;
Value:表示值,即实际所要传递的编码内容。
(3)DataSet:使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式。
Length:表示Value值是由多少个字节构成的;
Value:表示值,即实际所要传递的编码内容。
(4)GoID:使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式。
Length:表示Value值是由多少个字节构成的;
Value:表示值,即实际所要传递的编码内容。
(5)T:stnum加1的时间,精确到毫秒,使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式。
Value:表示值,即实际所要传递的编码内容。
(6)SqNum:表示状态数目和顺序号,当后面的All Data数据跟上一次的All Data值不一致时,StNum+1,SqNum=0。一致时StNum不变,SqNum+1,装置发送方上电第一帧时StNum=1,SqNum=1。装置接收方上电第一帧时StNum=SqNum=0。
均使用ASN1编码格式TLV,遵循Tag(也有称TYPE)、长度Length、值Value的格式。
StNum:
Value:表示值,即实际所要传递的编码内容。
SqNum:
Value:表示值,即实际所要传递的编码内容。
(7)Test:当装置检修压板投入时,装置发送的R-GOOSE电力报文中的Test应置位,R-GOOSE接收装置应将接收的R-GOOSE电力报文中的Test位与装置自身的检修压板状态相比较,只有当两者一致时才将信号作为有效信号进行处理或动作。
Value:表示值,即实际所要传递的编码内容。
(8)ConfRev:表示配置版本号,即DataSet配置改变的计数器。
Value:表示值,即实际所要传递的编码内容。
(9)NdsCom:表示此控制块配置的必要性,当属性DataSet值为NULL时,NdsCom值应为TRUE,表示此控制块需进一步配置。
Value:表示值,即实际所要传递的编码内容。
(10)NumdataSetEntries:表示All Data中有多少路开关量信息。
Value:表示值,即实际所要传递的编码内容。
(11)All date:即R-GOOSE电力报文包括的n路遥信信息,即状态量信息,是为了将开关、刀闸、中央信号等位置信号上送到监控后台,遥信信息包括:开关状态、刀闸状态,变压器分接头信号、一次设备告警信号、保护跳闸信号、预告信号等等。
所述每路遥信信息由三部分组成:
(1)StVal:表示状态值,占N3个字节。
(2)时标t,占8个字节,tn表示第n路遥信信息的时标。
(3)质量q,占2个字节,qn表示第n路遥信信息的质量。
由于每路遥信的字节数不是固定的,所以All Date的Value(数值)长度也不固定,用N2表示,GOOSE PDU的Value(数值)长度也不固定,用N1表示。
把步骤S3、步骤S4、步骤S5获取的报文信息的各个部分按照图2的顺序组合在一起,可得到一帧完整的R-GOOSE电力报文,如下:
01 0C CD 01 00 04(目的物理地址)46 35 30 30 30 30(源物理地址)08 00(IP类型)45(版本号和报文的报头长度)46(DSCP+ECN)00 54(Total Length)00 00(Fragment)FF(TTL)17(Protocol)FF FF(Header Checksum)C0 A8 0A 0E(源IP地址)C0 A8 0A 0F(目的IP地址)00 00(源端口)00 00(目标端口)01 41(Length)00 00(Checksum)01(LI)40(TI)A1(SI)18(Length Identifier)80(Common Session Header)16(Length Identifier)0000 01 2F(SPDU Length)00 00 00 01(SPDU number)00 04(version number)00 00 00 3C(Time of current key)00 0A(Time of next key)00 00(Security Algorithm)00 00 0000(key ID)00 00 01 15(Payload Length)81(Payload type)00(Simulation)10 04(APPID)01 05(APDU Length)61(GOOSE PDU Tag)82 01 0F(GOOSE PDU Length)80 1A 5052 53 2D 37 33 39 35 52 50 49 54 2F 4C 4C 4E 30 24 47 4F 24 67 6F 63 62 31(GoCBRef)81 04 00 00 27 10(报文存活时间)82 1A 50 52 53 2D 37 33 39 35 52 5049 54 2F 4C 4C 4E 30 24 64 73 47 4F 4F 53 45 31(Dataset)83 1A 54 45 4D 50 4C41 54 45 52 50 49 54 2F 4C 4C 4E 30 24 47 4F 24 67 6F 63 62 31(GoID)84 08 0000 0A 2B AF 4B 15 00(T)85 04 00 00 00 02(StNum)86 04 00 00 00 00(SqNum)87 0100(test位=0)88 04 00 00 00 00(ConRev)89 01 2C(NdsCom)8A 04 00 00 00 2D(NumdataSetEntries)AB 81(Tag)87(Length=0X87=135)83 01 01 83 01 00 83 01 0083 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 0100 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 8301 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 0083 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 0100 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00 83 01 00(All Date)00(signature)00(Length of HMAC)00(HMAC)
综上所述,本发明一种R-GOOSE电力报文的实现方法适用于变电站内的传统电力微机设备通过既定格式构建R-GOOSE电力报文,解决了传统GOOSE报文限定传输范围的局限性,大大改善了GOOSE报文的实用性,使各个变电站间能通过网络传输快速准确掌握用电信息。
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

Claims (6)

1.一种R-GOOSE电力报文的实现方法,其特征在于,所述方法包括以下步骤:
S1、根据SCL配置文件内容,确定电力微机设备所需实现的R-GOOSE电力报文模板;
S2、把R-GOOSE电力报文内容划分为三个部分:R-GOOSE电力报文中的固定内容、由SCL文件提取的配置信息、电力系统实时运行和命令信息;
S3、由SCL文件提取配置信息;提取内容包括:
(1)Destination MAC Address:表示目的物理地址,用于接受报文一端或多端的物理地址,为发送装置实际发送GOOSE报文的目标MAC地址,此地址作为接收装置的识别标识之一;
(2)Source MAC Address:表示源物理地址,用于发出报文一端的物理地址,为发送装置物理网卡的物理地址;
(3)IHL:表示IP的报头长度,IP报头的最小长度为20字节;
(4)Total Length:表示为IP报文总长度,IP报文最大长度为65535字节;
(5)Identification :表示标识符,用于标识当前的数据报;
(6)Flags:表示标志位用于控制和识别分片;
(7)Fragment Offset:表示分段偏移,指示分段在数据包中的位置,用于重组数据分段;
(8)Protocol(协议):标志在IP处理过程结束后,指定上层协议将接收这些数据;
(9)Source IP Address:指定发送节点的IP地址;
(10)Destination IP Address:指定接收节点的IP地址;
(11)Source Port :表示出发端口,在需要对方回信时根据实际端口号填写,如果不使用,设置值为0;
(12)Destination Port :目标端口号,根据实际交付报文端口填写;
(13)Length :包括Source Port至HMAC的所有字节长度,长度最小值为8;
(14)SPDU Length:表示整个会话层协议数据单元的长度;
(15)SPDU Number:用于检验是否有重复或无序的数据包传送;
(16)Time of current key: 表示当前密钥允许的时间;
(17)Time to next key: 表示到下一个密钥的时间;
(18)Payload Length: 包括Payload Length至Payload部分的全部会话用户信息长度;
(19)APDU Length: 表示R-GOOSE电力报文信息长度加上本身2字节长度;
S4、填充R-GOOSE电力报文中的固定内容;填充的固定内容如下:
(1)IP:根据以太网封装类型(RFC894)规定IP类型填写0x0800;
(2)Version:表示该数据报采用的IP 协议的版本号;
(3)DSCP(Differentiated Services Code Point):表示差分服务代码点;
(4)TTL(Time to Live):表示生存时间,指示分组在网络传输中的允许保持的时间,当计时器为0时,数据报将被丢弃;
(5)Header Checksum:用于检验IP数据包是否正确性,发送方根据检验和标准计算后填写,接受方对该数据进行校对,如果数据包没有发送错误, 那么结果应该 16 位全部为1,即0XFFFF;
(6)Checksum :用于检验IP端口的是否正确性;
(7)LI: 表示长度标识符;
(8)TI: 表示传输标识符;
(9)SI: 表示会话标识符;
(10)Length Identifier: 会话层协议数据单元(SPDU)的长度标识符,跟在会话标识符后面(SI),覆盖会话头所有参数字段的长度;
(11)Common Session Header :会话层头部常量,同时也是参数标识符(PI),作为参数单元的开头;
(12)Length Identifier:参数单元的长度标识符;
(13)Version Number:会话协议版本号,固定两个字节,填写表示IPv4的0x0004;
(14)Security Algorithm: 指示加密类型和哈希信息认证码(HMAC)签名生成的算法信息;
(15)Key ID: 表示秘钥ID;
(16)Payload type: 表示有效负荷的映射协议;
(17)Simulation:仿真为占一个字节的布尔值,有效负荷用于测试时为1,否则为0,填充0X00;
(18)APPID: 表示应用标识;
(19)Signature:报文域签名,如不用于测试,可取0,由于使用电力专网,填充0X00;
(20)Length of HMAC:根据HMAC的长度填写;
(21)HMAC:报文收发双方通过核对安全算法HMAC是否一致来判断报文是否被篡改;
(22)StNum和SqNum:表示状态数目和顺序号,当后面的All Data数据跟上一次的AllData值不一致时,StNum+1,SqNum=0;一致时StNum不变,SqNum+1,装置发送方上电第一帧时StNum=1,SqNum=1;装置接收方上电第一帧时StNum=SqNum=0;
(23)Test:当装置检修压板投入时,装置发送的R-GOOSE电力报文中的Test应置位,R-GOOSE接收装置应将接收的R-GOOSE电力报文中的Test位与装置自身的检修压板状态相比较,只有当两者一致时才将信号作为有效信号进行处理或动作;
S5、根据变电站的实时状态获取GOOSE PDU的报文信息,形成R-GOOSE电力报文。
2.根据权利要求1所述的一种R-GOOSE电力报文的实现方法,其特征在于:步骤S1是通过SCL配置工具提取SCL配置文件的报文网络信息,报文网络信息包括报文IP、MAC地址和提取GOOSE PDU内容信息,在报文网络信息的基础上,添加路由信息形成电力微机设备所需实现的R-GOOSE电力报文模板,R-GOOSE电力报文模板的基本结构包括应用层、会话层、传输层、网络层;应用层信息包括有效负载长度(Payload Length)、负载类型(Payload type)、模拟(Simulation)、应用标识(APPID)、应用协议数据单元长度(APDU Length)、面向通用对象的变电站事件协议数据单元(GOOSE PDU)、签名(Signature)、安全算法长度(Length ofHMAC)、安全算法(HMAC);会话层信息包括长度标识符(LI)、传输标识符(TI) 、会话标识符(SI)、会话层协议数据单元长度标识符(Length Identifier)、会话层头部常量(CommonSession Header)、参数单元的长度标识符(Length Identifier)、会话协议版本号(Version Number)、安全算法(Security Algorithm)、秘钥ID(Key ID);传输层信息包括出发端口(Source Port)、目标端口号(Destination Port)、长度(Length)、校验层(Checksum)、电力报文数据(Data);网络层信息包括目的物理地址(Destination MACAddress)、源物理地址(Source MAC Address)、IP类型、IP 协议的版本号(Version)、IP的报头长度(IHL)、区分服务代码点(DSCP)、IP报文总长度(Total Length)、标识符(Identification)、标志位(Flag)、分段偏移(Fragment Offset)、生存时间(TTL)、协议(Protocol)、头部校验(Header Checksum)、源IP地址(Source IP Address)、目的IP地址(Destination IP Address)。
3.根据权利要求1所述的一种R-GOOSE电力报文的实现方法,其特征在于:步骤S2是在内存中按照步骤S1确定的报文模板生成一个预处理报文,该预处理报文把R-GOOSE电力报文的内容分为以下三个部分:R-GOOSE电力报文中的固定内容、由SCL文件提取的配置信息、电力系统实时运行和命令信息。
4.根据权利要求2所述的一种R-GOOSE电力报文的实现方法,其特征在于:步骤S3所述的由SCL文件提取配置信息包括描述变电站规范的SSD(System SpecificiationDescription)文件、描述IED(Intelligent Electronic Devices)能力的ICD(IEDCapability Description)文件、描述全站完整配置的SCD(Substation ConfigurationDescription)文件、描述单个IED配置的CID(Configured IED Description)文件四种SCL文件提供的配置信息。
5.根据权利要求4所述的一种R-GOOSE电力报文的实现方法,其特征在于:步骤S4所述固定内容还包括: GOOSE-PDU的标志位(Tag)、GoCBRef字符串的标志位(Tag)、报文存活时间(Times Allowed To live)、DataSet字符串的Tag、GoID字符串 的Tag、报文发送时间T的Tag和长度(Length)、配置版本号(ConfRev)的Tag和Length、控制块配置的必要性(NdsCom)的Tag和Length、开关量信息路数(NumdataSetEntries)的Tag和Length、全部数据(AllData)的Tag和Length,除全部数据(All Data)的Tag和Length各为两个字节外,其余内容的Tag(标志位)和Length(长度)均各占一个字节。
6.根据权利要求5所述的一种R-GOOSE电力报文的实现方法,其特征在于:步骤S5所述的GOOSE PDU的报文信息内容包括GOOSE PDU 的Length、GoCBRef字符串的Length和数值(Value)、DataSet字符串的Length和Value、GoID字符串的Length和Value、报文发送时间T的Value、StNum的Value、SqNum的Value、Test的Value、ConfRev的Value、NdsCom的Value、NumdataSetEntries的Value、All Data(全部数据)的Value。
CN201911308349.0A 2019-12-18 2019-12-18 一种r-goose电力报文的实现方法 Active CN111131213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911308349.0A CN111131213B (zh) 2019-12-18 2019-12-18 一种r-goose电力报文的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911308349.0A CN111131213B (zh) 2019-12-18 2019-12-18 一种r-goose电力报文的实现方法

Publications (2)

Publication Number Publication Date
CN111131213A CN111131213A (zh) 2020-05-08
CN111131213B true CN111131213B (zh) 2021-12-21

Family

ID=70499607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911308349.0A Active CN111131213B (zh) 2019-12-18 2019-12-18 一种r-goose电力报文的实现方法

Country Status (1)

Country Link
CN (1) CN111131213B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111970278B (zh) * 2020-08-18 2022-08-23 金华八达集团有限公司科技信息分公司 基于改进udp传输方式的智能分布式fa通信方法
CN112333032B (zh) * 2020-11-25 2022-04-22 苏州盛科通信股份有限公司 一种网络芯片scl key的可编程实现方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297358B (zh) * 2012-02-27 2016-12-14 北京东土科技股份有限公司 一种智能电网跨广域网goose报文传输系统及方法
WO2014032688A1 (en) * 2012-08-26 2014-03-06 Abb Research Ltd Embedded ethernet tunneling
CN105791214B (zh) * 2014-12-18 2019-12-13 中兴通讯股份有限公司 一种RapidIO报文和以太网报文之间的转换方法和设备
CN109831440A (zh) * 2019-02-21 2019-05-31 中国联合网络通信集团有限公司 接口报文转换方法、装置及存储介质

Also Published As

Publication number Publication date
CN111131213A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
US10404605B2 (en) Packet processing method, device and computer storage medium
CN103746962B (zh) 一种goose电力实时报文加解密方法
CN111131213B (zh) 一种r-goose电力报文的实现方法
CN101193064A (zh) 用于计算机联网的系统和方法
CN111010274B (zh) 一种安全低开销的SRv6实现方法
CN109525566B (zh) 一种基于增强型MQTT消息机制的LoRaWan数据交换方法
CN110995588B (zh) 适用于goose报文向r-goose报文的转换方法
CN108616549A (zh) 一种文件上传方法及文件服务器
CN105262740B (zh) 一种大数据传输方法和系统
Konka et al. Traffic generation of IEC 61850 sampled values
CN112822276A (zh) 一种变电站站控层通信方法、系统、电子设备及存储介质
CN112134791A (zh) 一种智能网络链路监控及切换的综合路由网关
CN110858822B (zh) 媒体接入控制安全协议报文传输方法和相关装置
Matoušek Description of IEC 61850 communication
US8149731B2 (en) Technique for transferring data over a packet switched network
CN106470212B (zh) 一种基于lzw压缩算法对eigrp协议报文进行压缩和加密的方法
CN107948217A (zh) 交换机系统和通信方法
CN110086669A (zh) 一种基于zynq的网络发包机
CN106533503B (zh) 一种电力线网络通信的方法及装置
CN111131214B (zh) 适用于变电站之间的sv报文向r-sv报文的转换方法
CN107483281A (zh) 一种基于软件定义网络的统计方法、装置及系统
CN104795892B (zh) 适用于传统电力微机实验设备的goose报文实现方法
WO2016154861A1 (zh) 数据处理方法及装置
CN111031136B (zh) 一种r-sv电力报文的实现方法
CN102611631A (zh) 一种伪线场景下协议报文保护方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant