IEC104报文解读

104规约大致有1997年和2002年(02版)两个版本,在配置上没什么变化,只是02版在97版上扩展了遥测、遥信等信息体起始地址,区别如下:

类别

97

02

YX

1H------400H

1H------4000H

YC

701H------900H

4001H------5000H

YK

b01H-------b80H

6001H-------6100H

设点

B81H-------c00H

6201H--------6400H

YM

C01H-------c80H

6401H---------6600H

目前常用的是02版的,故一个104通道,YX最多可配16384个,YC最多可配

4096个,YK最多可配256个,YM最多可配512个。

4个控制域8位位组:前两个是发送序号,后两个是接收序号。

补充说明:

1、报文中的APDU长度指的是除68和APDU长度字节的所有字节。

2、注意长帧报文的“发送序号”与“接收序号”具有抗报文丢失功能。

3常用的类型标识

遥测:09----带品质描述的遥测量,每个遥测值占3个字节

      0a----带3个字节时标的且具有品质描述的遥测值,每个遥测值占6个字节

      0b---不带时标的标度化值,每个遥测值占3个字节

      0c---带3个字节时标的标度化值,每个遥测值占6个字节

      0d---带品质描述的浮点值,每个遥测值占5个字节

      0e---带3个字节时标且具有品质描述的浮点值,每个遥测值占8个字节

      15---不带品质描述的遥测值,每个遥测值占2个字节

遥信:01---不带时标的单点遥信,每个遥信占1个字节

      03---不带时标的双点遥信,每个遥信占1个字节

      14---具有状态变位检测的成组单点遥信,每个字节包括8个遥信

SOE:02---带3个字节短时标的单点遥信

      04---带3个字节短时标的双点遥信

      1e---带7个字节时标的单点遥信

      1f---带7个字节时标的双点遥信

遥脉:0f---不带时标的电度量,每个电度量占5个字节

      10---带3个字节短时标的电度量,每个电度量占8个字节

      25---带7个字节长时标的电度量,每个电度量占12个字节

其他:2d---单点遥控

2e---双点遥控

      2f---双电遥调

      64---召唤全数据

      65---召唤全电度

      67---时钟同步命令

4、常用的传送原因列表:

1---周期、循环

2---背景扫描

3---突发、自发上传

4---初始化

5---请求或被请求

6---激活

7---激活确认

8---停止激活

9---停止激活确认

0a---激活结束

14---响应总召唤

104报文

1、初始化链路及总召唤

TX:68 0407 00 00 00

主站发送请求连接报文。68:启动字符;04:APDU长度,表示后面有4个控制域8位位组;07:第一个控制域8位位组,07=00000111,最后两个1表示信息传输格式为U格式,倒数第3个1表示请求连接。

00 第二个8位位组

00 第三个8位位组

00 第四个8位位组

RX68 04 0b 00 00 00

子站发送连接确认报文。68:启动字符;04:APDU长度;0b:第一个控制域8位位组,0b=00001011,最后两个1表示信息传输格式为U格式,倒数第4位上的1表示连接确认。

TX:68 0e 00 00 00 00 64 01 06 00 01 00 00 00 00 14

主站发送总召唤报文。68:启动字符;0e:APDU长度,后面有14(0e)个字节;00 00 00 00 :4个控制域8位位组(I格式);64:类型标识,64H=100,即是总召唤;01:可变结构限定词;06 00:传输原因,激活,低位在前高位在后即值为0006H;01 00:公共地址,即ASDU地址,在附加属性里主站和子站也配置一致,也是低位在前高位在后即值为0001H;00 00 00:信息体地址;14:召唤限定词,表示站召唤(14用于区分总召还是分组召唤,02年修改后的规约中没有分组召唤)

RX:68 04 01 00 0200

S帧。注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧后回答1帧S帧,也可以要求接收1帧I帧就应答1帧S帧。

RX:68 0e 00 00 00 00 64 01 07 00 01 00 00 00 00 14

子站发送总召唤报文。68:启动字符;0e:APDU长度,后面有14(0e)个字节;00 00 00 00 :4个控制域8位位组(I格式);64:类型标识,64H=100,即是总召唤;01:可变结构限定词;07 00:传输原因,激活确认,低位在前高位在后即值为0007H;01 00:公共地址,即ASDU地址,在附加属性里主站和子站也配置一致,也是低位在前高位在后即值为0001H;00 00 00:信息体地址;14:召唤限定词,表示站召唤。

RX:68 f9 02 00 02 00 01 ff 01 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 01

2、遥控报文

TX:68 0e 02 00 12 00 2d 01 06 00 01 00 02 60 00 81

遥控选择报文。68:启动字符;0e:APDU长度;02 00 12 00:4个控制域8位位组;2d:类型标识,单点遥控;01:可变结构限定词;06 00:传输原因,激活,低位在前高位在后即值为0006H;01 00:公共地址,即ASDU地址,在附加属性里主站和子站也配置一致,也是低位在前高位在后即值为0001H;02 60 00:信息体地址,就是遥控号=006002H-006001H=1(标准104,遥控起始地址为6001H=24577);最后一位81=0100 0001,右起第七位(=1:遥控选择,=0:遥控执行),右起第一第二位(=00:分闸;=01:合闸),也就是说,对于2d单点遥控,报文最后一字节(=80:分闸选择,=81:合闸选择;00:分闸执行;01:合闸执行)。对于2e双点遥控,最后一位81=0100 0001,右起第七位(=1:遥控选择,=0:遥控执行),右起第一第二位(=01:分闸;=02:合闸),报文最后一字节(=81:分闸选择,=82:合闸选择;01:分闸执行;02:合闸执行)。

RX:68 0e 12 00 04 00 2d 01 07 00 01 00 02 60 00 81

遥控选择子站确认(返校)报文。07 00:传送原因,激活确认。

TX:68 0e 04 00 14 00 2d 01 06 00 01 00 02 60 00 01

遥控执行。

RX:68 0e 14 00 06 00 2d 01 07 00 01 00 02 60 00 01

遥控执行确认。

TX:68 0e 0c00 32 00 2d 01 08 00 01 00 02 60 00 01

遥控撤销。08 00:传送原因,停止激活。

RX:68 0e 0c00 32 00 2d 01 09 00 01 00 02 60 00 01

遥控撤销确认。09 00:传送原因,停止激活确认。

3、遥信报文

68 0e 3a79 08 00 01 01 03 00 01 00 2a00 00 00

RX:68 11 16 00 06 00 02 01 03 00 01 00 01 00 00 01 4a 46 0e

带时标的遥信量。68:启动字符;11:APDU长度;16 00 06 00:4个控制域8位位组;02:类型标识,带时标的遥信量,就是SOE报文,(以此对于的类型标识01,表示不带时标的单点遥信,就是COS报文,后台要收到YX变位的话就要对方发过来COS报文);01:可变结构限定词;03 00:传送原因:自发;0100:公共地址即ASDU地址;01 00 00:信息体地址;01:信息体状态即合位;4a 46 0e:遥信变位时间,4a 46表示秒和毫秒,低字节在前高字节在后,即464aH=17994,该数字除以1000,商表示秒,余数表示毫秒,0e表示分钟,0eH=14,该报文表示14分17秒994毫秒ASDU=1站的转发过来的第一个遥信(标准104遥信起始地址为0001H=1)变为合位。

RX:68 1e 04 00 02 00 0305 14 00 01 00 01 00 0002 06 00 00 02 0a 00 0001 0b 00 00 02 0c 00 0001

68:启动字符;1e:APDU长度;04 00:发送序号;02 00:接收序号;03:类型标识,双点遥信;05:可变结构限定词,有5个遥信上传;14 00:传送原因,响应总召唤;0100:公共地址;01 00 00:信息体地址,第1个遥信;02:遥信状态合;06 00 00:信息体地址,第6号遥信;02:遥信状态合;0a 00 00:信息体地址,第10号遥信;01:遥信状态分;0b 00 00:信息体地址,第11号地址;02:遥信状态合;0c 00 00:信息体地址,第12号遥信;01:遥信状态分。

4、遥测报文

RX:68 10 20 00 02 00 0b 01 03 00 01 00 01 40 00 e0 54 00

不带时标的遥测量。68:启动字符;10:APDU长度;20 00 02 00:4个控制域8位位组;0b:类型标识,不带时标的遥信量;01:可变结构限定词;03 00:传送原因,自发;0100:公共地址;01 40 00:信息体地址,004001H=16385,标准104遥测起始地址为4001H=16385;e0 54:工程值;00:品质描述。

5、遥脉报文

RX:68 12 0c00 02 00 0f 01 03 0001 00 01 0c 00 01 0000 00 01

脉冲量。68:启动字符;12:APDU长度;0c 00 02 00:4个控制域8位位组;0f:类型标识,脉冲量;01:可变结构限定词;03 00:传送原因,自发;0100:公共地址;01 64 00:信息体地址,006401H=25601,标准104遥脉起始地址为6401H=25601;01 00 0000:脉冲表计当前值,低字节在前。01:BCR

6、对时报文

2004.07.2810:05:01.940TX:68 14 02 00 02 00 67 01 06 00 01 00 00 0000 94 07 05 0a 1c 07 04

68:启动字符;14:APDU长度;02 00 0200:4个控制域8位位组;67:类型标识,时钟同步命令;01:可变结构限定词;0600:传送原因,激活;01 00:公共地址ASDU地址;00 00 00 信息体地址;94 07:秒和毫秒,低字节在前,0794H=1940,即1秒940毫秒;05:分,05分;0a:时,10时;1c:日,28日;07:月,7月;04:年,2004年。

1)程序启动后,首先发送链路连接请求帧,

68 04 07 00 00 00

起始字符:68H

应用规约数据单元长度(APDU):04H4个字节,即07 00 00 00

控制域第一个八位组:07H  --> 00000111

                           由前两位11可知是U格式帧;

                           由第三四位01可知是链路连接请求帧(TESTFR:CON=0,TESTFR:ACT=0,STOPDT:CON=0,STOPDT:ACT=0,STARTDT:CON=0,STARTDT:ACT=1)

控制域后三个八位组:00H 00H 00H(无意义)

 

2)随后,接到模拟从站发送来的连接请求确认帧,

68 04 0B 00 00 00

起始字符:68H

应用规约数据单元长度(APDU):04H4个字节,即0B 00 00 00

控制域第一个八位组:0BH  --> 00001011

                           由前两位11可知是U格式帧;

                           由第三四位10可知是链路连接确认帧(TESTFR:CON=0,TESTFR:ACT=0,STOPDT:CON=0,STOPDT:ACT=0,STARTDT:CON=1,STARTDT:ACT=0)

控制域后三个八位组:00H 00H 00H(无意义)

 

3)主站发送总召唤激活请求命令,

68 0E 00 00 00 00 64 01 06 00 01 00 00 00 00 14

起始字符:68H

应用规约数据单元长度(APDU):0EH14个字节,即00 00 00 00 64 01 0600 01 00 00 00 00 14

控制域第一个八位组:00H  --> 00000000

                            由第一位0可知是I格式帧;

控制域第二个八位组:00H  --> 与第一个八位组的第2-8位组成

                             00000000(高位)0000 000(低位)   

                            所以,发送序号NS=0(注:I格式帧计数)

控制域第三四八位组:00H 00H -->  0000 0000(第四个八位组,高位)0000 000(第三个八位组的第2-8位,低位)

                             所以,接收序号NR=0(注:I格式帧计数)

类型标识:64HCON<100>:=总召唤命令)

可变结构限定词:01HSQ=0number=1

传送原因:06H 00HCause=6,激活)注:用两个八位组表示传送原因,且低位在前、高位在后,即Cause=0006H,本文中的所有报文顺序都是由高至低。

APDU地址:01H 00HADDR=1,即0001H低位在前,高位在后

信息体地址:00H 00H 00H(低位在前,高位在后)

信息体元素:14H(召唤限定词QOI=20,站召唤全局)

 

4)从站发送总召唤激活确认命令,

68 0E 00 00 02 00 64 01 07 00 01 00 00 00 00 14

起始字符:68H

应用规约数据单元长度(APDU):0EH14个字节,即00 00 00 00 64 01 0600 01 00 00 00 00 14

控制域第一个八位组:00H  --> 00000000

                            由第一位0可知是I格式帧;

控制域第二个八位组:00H  --> 与第一个八位组的第2-8位组成

                             00000000(高位)0000 000(低位)   

                            所以,发送序号NS=0(注:I格式帧计数)

控制域第三四八位组:02H 00H -->  0000 0000(第四个八位组,高位)0000 001(第三个八位组的第2-8位,低位)

                             所以,接收序号NR=1(注:I格式帧计数)

类型标识:64HCON<100>:=总召唤命令)

可变结构限定词:01HSQ=0number=1

传送原因:07H 00HCause=7,激活确认)注:用两个八位组表示传送原因,且低位在前、高位在后,即Cause=0006H,本文中的所有报文顺序都是由高至低。

APDU地址:01H 00HADDR=1,即0001H低位在前,高位在后

信息体地址:00H 00H 00H(低位在前,高位在后)

信息体元素:14H(召唤限定词QOI=20,站召唤全局)

 

5)从站发送单点遥信数据帧,(这里SQ=0

68 1E 02 00 02 00 01 05 14 00 01 00 0A 00 00 00 0C00 00 00 0E 00 00 00 10 00 00 00 64 00 00 01

控制域第一个八位组:02H  --> 0000 0010

                             由第一位0可知是I格式帧

控制域第二个八位组:00H  --> 与第一个八位组的第2-8位组成

                             0000 0000(高位)0000 001(低位)   

                            所以,发送序号NS=1(注:I格式帧计数)

控制域第三四八位组:02H 00H -->  0000 0000(第四个八位组,高位)0000 001(第三个八位组的第2-8位,低位)

                             所以,接收序号NR=1(注:I格式帧计数)

类型标识:01HCON<1>:=单点信息)

可变结构限定词:05HSQ=0number=5,由此可知有5个不连续的单点信息)

传送原因:14H 00HCause=20,响应站召唤)

APDU地址:01H 00H

第一个信息体地址:0AH 00H 00H

第一个信息体数据:00H

第二个信息体地址:0CH 00H 00H

第二个信息体数据:00H

。。。

第五个信息体地址:64H 00H 00H

第五个信息体数据:01H

 

6)从站发送遥测归一化值数据帧,

68 22 04 00 02 00 09 04 14 00 01 00 01 07 00 C8 00 00 03 07 00 C800 00 05 07 00 C8 00 0007 07 00 C8 00 00

7)从站站发送总召唤激活结束命令,

68 0E 06 00 02 00 64 01 0A00 01 00 00 00 00 14

 

8)主站站发送S格式确认帧,

68 04 01 00 08 00

控制域第一个八位组:01H -->  00000001

                            由第一位1(及第二位0)可知是S格式帧;

控制域第二个八位组:00H(无意义)

控制域第三四八位组:08H 00H -->  0000 0000(第四个八位组,高位)0000 100(第三个八位组的第2-8位,低位)

                             所以,接收序号NR=4(注:I格式帧计数)        

              

9)主站站发送时钟同步激活请求命令,

68 14 02 00 08 00 67 01 06 00 01 00 00 00 00 1F E0 0C0B 6A 09 08

10)从站站发送时钟同步激活确认命令,

68 14 08 00 04 00 67 01 07 00 01 00 00 00 00 97 CC 1E 0B 0A 09 08

11)主站站发送电能脉冲召唤激活请求命令,

68 0E 04 00 0A 00 65 0106 00 01 00 00 00 00 41

12)从站站发送电能脉冲召唤激活确认命令,

68 0E 0A 00 06 0065 01 07 00 01 00 00 00 00 41

13)从站站发送累计量(电度)数据帧,

68 21 0C 00 06 00 0F 84 25 00 01 00 A2 1C 00 0A 00 00 00 00 0A 00 00 00 00 0A 00 00 00 00 0A 00 00 00 00

14)从站站发送电能脉冲召唤激活结束命令,

68 0E 0E 00 06 00 65 01 0A00 01 00 00 00 00 41

15)主站站发送S格式确认帧,

68 04 01 00 10 00

。。。。。。。。。。。。。。。

无数据接收。。。。。。t3超时,

 

16)主站站发送U格式测试询问帧,

68 04 43 00 00 00

控制域第一个八位组:43H  --> 01000011

                           由前两位11可知是U格式帧;

                           由第七八位01可知是链路测试请求帧(TESTFR:CON=0,TESTFR:ACT=1,STOPDT:CON=0,STOPDT:ACT=0,STARTDT:CON=0,STARTDT:ACT=0)

控制域后三个八位组:00H 00H 00H(无意义)

。。。。。。。。。。。。。。

t2超时,

 

17)主站站发送U格式停止发送数据询问帧,

68 04 13 00 00 00

控制域第一个八位组:13H  --> 0001 0011

                           由前两位11可知是U格式帧;

                           由第五六位01可知是链路断开请求帧(TESTFR:CON=0,TESTFR:ACT=0,STOPDT:CON=0,STOPDT:ACT=1,STARTDT:CON=0,STARTDT:ACT=0)

控制域后三个八位组:00H 00H 00H(无意义)

结束。

 

18)主站站发送U格式链路连接请求帧,

68 04 07 00 00 00

重复(2)到(18)。。。。

 

19)主站站发送遥控预置请求帧,

68 0E 08 00 16 00 2E 01 06 00 01 00 66 0B 00 82

20)从站站发送遥控预置确认帧,

68 0E 16 00 0A 00 2E 0107 00 01 00 66 0B 00 82

21)主站站发送遥控执行请求帧,

68 0E 0A 00 18 002E 01 06 00 01 00 66 0B 00 02

22)从站站发送遥控执行确认帧,

68 0E 18 00 0C 00 2E 0107 00 01 00 66 0B 00 02

23)主站站发送遥控撤销请求帧,

68 0E 0A 00 16 002E 01 08 00 01 00 66 0B 00 02

24)从站站发送遥控撤销确认帧,

68 0E 18 00 0C 00 2E 0109 00 01 00 66 0B 00 02

 

分析了几个典型的104报文,其余略。

------------------------------------

下面分析一下遥控报文:

19)主站站发送遥控预置请求帧,

68 0E 08 00 16 00 2E 01 06 00 01 00 66 0B 00 82

起始字符:68H

数据单元长度:0EH

四个八位组:08H 00H 16H 00H

类型标识:2EHCON<46>:=双命令)

可变结构限定词:01HSQ=0number=1

传送原因:06H 00HCause=6,激活)

APDU地址:01H 00H

信息体地址:66H 0BH 00H(低位在前,高位在后)

信息体元素:82H品质描述词--双命令DCO=82H--选择合

双命令(DCO)

DCO=双命令:=CP8[DCS,QOC]

DCS=双命令状态:=UI2[1..2]<0..3>                                          

          <0>=不允许

         <1>=

         <2>=

         <3>=不允许

QOC=        =CP6[3..8]{QU,S/E}

       QU   :=UI5[3..7]<0..31>

          略。

       S/E  =BS1[8]<0..1>

         <0>=执行

         <1>=选择  

  • 61
    点赞
  • 293
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金士顿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值