GOOSE的GOCB定义的5种服务中,Send GOOSE Message指GOOSE报文传输,其他4种服务体现了GOOSE模型中发布者/订阅者通信结构的灵活性,即订阅者能够主动询问,发布者会对此询问做出对应响应。例如,利用服务Set GOCB Values能够改变GoCB中GoEna和AppID等属性,从而改变GOOSE报文传输特性。需要注意的是在实现此服务之前,应保证GoEna为FALSE,即发布者停止发送GOOSE报文。
映射提供在APDU(应用协议数据单元)被递交到传输缓冲区时,在此以前由若干个ASDU(应用服务数据单元)连接成一个APDU。被连接为一个APDU的ASDU的数目是可以配置的并与采样速率有关。
IMPORTS构件指出此模块引用了ISO2IEC2950622 (MMS)中定义的Data参数,这从IECGoosePdu定义的元素all Data中也能得到印证。Data是MMS中一个重要的参数,它同样采用ASN.1进行定义。
Data := CHOICE{
IF(str1)
Array [1]IMPLICIT SEQUENCE OF Data,
ELSE
..........
ENDIF
Boolean [3]IMPLICIT BOOLEAN,
bit2string [4]IMPLICIT BIT STRING,
integer [5]IMPLICIT INTEGER,
...............
mMSString [16] IMPLICITMMSString
}
GOOSE报文需要支持的数据类型很少归纳如下: #define TAG_BOOL 0x83 #define TAG_BIT_STRING 0x84 #define TAG_INT32 0x85 CFI固定选择0。VLAN标识VID可以选择0。报文优先级可以按下表选择,4代表最高。 CFI:以太网交换机中,规范格式指示器总被设置为0。由于兼容特性,CFI常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有CFI,那么设置为1,表示该帧不进行转发,这是因为以太网端口是一个无标签端口。 表3.1 Default Virtual LAN IDs and Priorities Service Default VID Default Priority GOOSE 0 4 GSE 0 1 Sampled Values 0 4 优先级2和3都未使用,我们可以按应用数据对实时性要求的不同进行分类,建议如下: 4-跳闸、闭锁命令。 4-断路器和刀闸位置信号。 3-非电量保护信号。 2-GIS、PAS组合电器状态信号等。 表3.1 Assigned Ethertype Values Use Ethertype Value (hexadecimal) APPID Type IEC 61850-8-1 GOOSE 88-B8 0 0 IEC 61850-8-1 GSE Management 88-B9 0 0 IEC 61850-9-2 Sampled Values 88-BA 0 1 表3.3 PDU格式说明: 数据 说明 PDU长度 GOOSE控制块路径 从LD开始的全名路径 生存时间 以毫秒为单位的整型数,为接收端判断网络提供时间判据,当生存时间内收不到报文时,将确定为网络故障 数据集路径 从LD开始的全名路径 应用标识 Gocb控制块中的appID,又叫goID,是字符串。注意不同于前面的appID。 事件发生时刻 utctime格式,基于IEEE1588对时。 事件序号stNum 每次新事件发生,stNum需要加一。上电初始化或累加到最大值时,stNum=1。 发送序号sqNum 每次新事件发生时sqNum=0, 只有心跳报文会使sqNum不断增加。gocb发送后,其记数器加1。上电初始化,sqNum=0;累加到最大值时,sqNum=1。 测试模式 TRUE 表示为测试状态。装置应用时,采集试验把手的位置,对该变量赋值。 配置版本号 与存储不一致时,需要告警。GOOSE配置工具将关联装置的配置版本号下载给装PRS7000新平台置。 需要配置 固定为FALSE 信息点数据 数据集中所有成员的实时数据值 IEC61850 DEFINITIONS : :=BEGIN IMPORTS Data FROM ISO-IEC-9506-2 IEC 61850-8-1 Specific Protocol::=CHOICE{ gseMngtPdu [APPLICATION 0] IMPLICIT GSEMngtPdu, goosePdu [APPLICATION 1] IMPLICIT IECGoosePdu, ………. } IECGoosePdu::=SEQUENCE{ gocbRef [0] IMPLICIT VISIBLE-STRING, timeAllowedtoLive [1] IMPLICIT INTEGER , datSet [2] IMPLICIT VISIBLE-STRING, goID [3] IMPLICIT VISIBLE-STRING OPTIONAL t [4] IMPLICIT UtcTime, stNum [5] IMPLICIT INTEGER, sqNum [6] IMPLICIT INTEGER, test [7] IMPLICIT BOOLEAN DEFAULT FALSE, confRev [8] IMPLICIT INTEGER, nsCom [9] IMPLICIT BOOLEAN DEFAULT FALSE, numDatSetEntries [10] IMPLICIT INTEGER, al1Data [11] IMPLICIT SEQUENCE OF NamedVariableList1 security [12] ANY OPTIONAL } NamedVariableList1::=SEQUENCE{ qOXCBR1$Pos$stVal [0] IMPLICIT INTEGER, qOXCBR1$Pos$validity [1] IMPLICIT BIT-STRING ……. } UtcTime::=OCTETSTRING END