GOOSE 报文的解析心得1、IEC61850的GOOSE 报文的帧格式Header MACMAC 目的地址(6字节)=0x010CCD010000~0x010CCD0101FF MAC 源地址(6字节)TPID (2字节类型)=0x8100TC I(2字节)=0x4000Ethertype (2字节)=0x88B8APPID (2字节)=0x0000~0x3FFF Length (2字节)=8+m Reserved1(2字节)=0x0000Reserved2(2字节)=0x0000ASDU (m 字节<1480)(Pad bytes if necessary )(若干字节)CRC (4字节)Priority tagged Header EthertypeMAC t 填充MAC计算检验87654321图4. GOOSE 报文的帧格式GOOSE报文中主要分为网络参数、GOOSE参数和GOOSE数据,下面主要介绍一下网络参数。
网络参数——Destination(目的地址):一种组播MAC地址,在交换机上以组播的形式传播,GOOSE的目的地址一般以01 -0C-CD-01开头,后两个字节可以自由的分配,是全站唯一的,是GOOSE报文订阅机制的主要参数之一,他的正确配置是过程层实现通信的基本条件,工作人员可将其认定为GOOSE数据的唯一标识。
Source(源地址):装置板卡的物理地址,过程层应用中没有实际的意义,但要保证其不能冲突,物理地址是可以有厂家修改的。
2、程序中所建立的GOOSE数组结构体struct GOOSEData{uint8_t macDst[6];uint8_t macSrc[6];uint8_t TPID[2];uint8_t TCI[2];uint8_t ethernetType[2];uint8_t APPID[2];uint8_t PDULength[2];uint8_t reserved1[2];uint8_t reserved2[2];uint8_t GOOSEPDU[4];uint8_t gocbRef_Type;uint8_t gocbRef_Length;uint8_t gocbRef_String[25];uint8_t timeAllowToLive_Type;uint8_t timeAllowToLive_Length;uint8_t timeAllowToLive_Value[2];uint8_t DatSet_Type;uint8_t DatSet_Length;uint8_t DatSet_string[25];uint8_t goID_Type;uint8_t goID_Length;uint8_t goID_Value[33];uint8_t BianWeiTime_Type;uint8_t BianWeiTime__Length;uint8_t BianWeiTime_Value[8];uint8_t StNum_Type;uint8_t StNum__Length;uint8_t StNum_Value[4];uint8_t SqNum_Type;uint8_t SqNum__Length;uint8_t SqNum_Value[4];uint8_t Test_Type;uint8_t Test__Length;uint8_t Test_Value;uint8_t confRev_Type;uint8_t confRev__Length;uint8_t confRev_Value;uint8_t ndsCom_Type;uint8_t ndsCom__Length;uint8_t ndsCom_Value;uint8_t TotalNumOfGoose_Type;uint8_t TotalNumOfGoose__Length;uint8_t TotalNumOfGoose_Value;uint8_t GOOSEDataHead_Type;uint8_t GOOSEDataHead_Type_Length[3];uint8_t GOOSE_DIData[240];}GOOSEData1={0x00,0x60,0x6e,0x90,0x00,0xae,//目的地址0x01,0x02,0x03,0x03,0x04,0x05, //源地址0x81,0x00,0x40,0x00,0x00,0x00,0x80,0x19,0x50,0x4c,0x32,0x32,0x30,0x31,0x41,0x50,0x49,0x30,0x31,0x2f,0x4c,0x4c,0x4e,0x30,0x24,00x82, 0x19,0x50,0x4c,0x32,0x32,0x30,0x31,0x41,0x50,0x49,0x30,0x31,0x2f,0x4c,0x4c,0x4e,0x30,0x24,0 x47,0x4f,0x24,0x67,0x6f,0x63,0x62,0x31,//27个字节0x83, 0x21,0x50,0x4c,0x32,0x32,0x30,0x31,0x41,0x54,0x45,0x4d,0x50,0x4c,0x41,0x54,0x45,0x50,0x49, 0x30,0x31,0x2f,0x4c,0x4c,0x4e,0x30,0x24, 0x47, 0x4f, 0x24, 0x67, 0x6f, 0x63, 0x62,0x87, 0x01, 0x00,//3个字节0x88, 0x01, 0x01,//3个字节0x89, 0x01, 0x00,//3个字节0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01, 0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00,0x83,0x01,0x00};附加说明:常见的GOOSE参数分为布尔型、位串行、时间型、浮点型四种类型数据。