104规约版报文解析汇报.docx
《104规约版报文解析汇报.docx》由会员分享,可在线阅读,更多相关《104规约版报文解析汇报.docx(16页珍藏版)》请在冰豆网上搜索。
104规约版报文解析汇报
104规约(2002版)报文解析
1、初始化
●主站发:
680407000000
目的:
给子站发请求链路状态命令。
子站回答:
68040B000000
目的:
子站向主站响应链路状态。
子站回答:
680E0000000046010400010000000000
目的:
初始化结束。
2、对时
时钟同步命令一般不在104中应用,因为网络路由的延时永远不定(随机),导致对时不准。
●主站发:
68142C006A00670106000100000000E53F000F090C04
目的:
向子站发送对时报文。
357毫秒16秒0分15小时9日12月4年
3、总召唤
●主站发:
680E0000060064010600010000000014
目的:
向地址为01的子站发总召唤命令。
子站回答:
680E0800020064010700010000000014
目的:
子站响应总召唤。
子站回答:
682D0A00020001A0140001000100000001000100000000000000000000000000000000000000000000000000000000
目的:
子站向主站以ASDU1方式连续上送全遥信,此为第一帧。
报文解析:
682D0A000200
01
A0
1400
0100
010000
00
01
00
……
00
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,20转成十进制=32)
传送原因
子站地址
起始点号
点号1的遥信状态(分)
点号2的遥信状态(合)
点号3的遥信状态(分)
……
点号32的遥信状态(分)
子站回答:
682D0C00020001A0140001002100000000000000000000000000000000000000000000000000000000000000000000
目的:
子站继续上送全遥信的下一帧。
…………
子站回答:
682D2000020001A0140001006101000000000000000000000000000000000000000000000000000000000000000000
目的:
子站向主站上送全遥信的最后一帧。
子站回答:
68AD220002000DA014000100014000B20B4B42000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
目的:
子站向主站以ASDU13方式(浮点数)上送全遥测中的第一帧。
(有些调度要求用ASDU9(码值)上送,见下文补充)
报文解析:
68AD
2200
0200
0D
A0
1400
0100
014000
B20B
4B42
00
0000
0000
00
……
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,20转成十进制=32)
传送原因
子站地址
起始点号(16385)
点号16385的遥测值
点号16386的遥测值
00
……
子站回答:
68AD240002000DA01400010021400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
目的:
子站继续上送全遥测的下一帧。
…………
子站回答:
6817320002000D821400010001410000000000000000000000
目的:
子站向主站上送全遥测的最后一帧。
子站回答:
680E3400020064010A00010000000014
目的:
子站以ASDU100响应主站,指明总查询结束。
补充:
有些主站要求遥测用ASDU9方式上送,举例报文如下
子站回答:
686D9E00060009A014000200014000ED0100760100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
目的:
子站向主站以ASDU9方式(码值)上送全遥测中的第一帧。
报文解析:
686D9E00
0600
09
A0
1400
0200
014000
ED01
00
7601
00
……
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,20转成十进制=32)
传送原因
子站地址
起始点号(16385)
点号16385的遥测值
点号16386的遥测值
00
……
4、变化遥测
●子站回答:
681A360002000D0203000100014000225D874100A44000225D874100
目的:
有变化数据并以ASDU13方式上送变化遥测
报文解析:
681A36000200
0D
02
0300
0100
014000
225D
8741
00
A44000
225D
8741
00
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,02转成十进制=02)
传送原因
子站地址
点号(16385)
点号16385的遥测值
点号(16548)
点号16548的遥测值
00
●子站回答:
6816B0000400090203000200014100E90200024100290200
目的:
有变化数据并以ASDU9方式上送变化遥测
报文解析:
6816B0000400
09
02
0300
0200
014100
E902
00
024100
2902
00
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,02转成十进制=02)
传送原因
子站地址
点号(16641)
点号16641的遥测值02E9转成十进制=745
点号(16642)
点号16642的遥测值
00
●主站发680443000000
目的:
召唤变化数据。
子站回答:
680483000000
目的:
此刻没有变化数据。
5、变化遥信
当站有相应遥信点变位时
WATCHBUG会提示GetMSG_LON_YX_CHANGEIndex:
1Val:
0
GetMSG_LON_YX_CHANGEIndex:
2Val:
1
GetMSG_LON_YX_CHANGEIndex:
3Val:
0
●子站回答:
681632000200010303000100020000000300000104000000
目的:
以ASDU1方式上送变位遥信(2号点置0,3号点置0,4号点置0,)。
报文解析:
681632000200
01
03
0300
0100
020000
00
030000
01
040000
00
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,03转成十进制=03)
传送原因
子站地址
点号(02)
点号02的遥信状态,为分
点号(03)
点号03的遥信状态,为合
点号(04)
点号04的遥信状态,为分
…………
WATCHBUG提示GetMSG_LON_YX_CHANGEIndex:
2Val:
0
子站回答:
680E3600020001010300010003000000
目的:
以ASDU1方式上送变位遥信(3号点置0)。
6、SOE的处理
分为3字节时标和7字节时标两种:
●子站回答:
681124002A00020101000100010000007E3E18
目的:
以ASDU2方式上送SOE(3字节时标)。
报文解析:
681124002A00
02
01
0100
0100
010000
00
7E3E
18
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,01转成十进制=01)
传送原因
子站地址
点号
(1)
点号1的遥信状态,为分
毫秒(低字节在前)
分
●子站回答:
68159C012E001E010300020085040001806D13111E0C06
目的:
以ASDU30方式上送SOE(7字节时标)。
报文解析:
68159C012E00
1E
01
0300
0200
850400
01
806D
13
11
1E
0C
06
数据类型(ASDU方式)
可变结构限定词(低7位表示一组遥信的个数,03转成十进制=03)
传送原因
子站地址
点号(1157)
点号1157的遥信状态,为合
毫秒
分
时
日
月
年
7、遥控
●主站发:
680E04009C002E010600020042600082
目的:
对地址为02的子站发遥控预置。
报文解析:
680E04009C00
2E
01
0600
0200
426000
82
数据类型(ASDU方式)
可变结构限定词
传送原因
子站地址
点号(6042转成十进制=24642)
转为二进制10000010最高位1表示预置(0表示执行),最低两位10表示控合(01表示控分)
子站回答:
680E9C0006002E010700020042600082
目的:
子站上送遥控预置成功的反校报文。
……
●主站发:
680E06009E002E010600020042600002
目的:
发遥控执行命令。
子站回答:
680E9E0008002E010700020042600002
目的:
执行确认。
子站回答:
680EA00008002E010A00020042600002
目的:
一次遥控过程结束。
IEEE754浮点数
2008年04月15日星期二07:
01
一:
概述
IEEE754浮点数格式
短实数也称单精度数 符号位1位,阶码8位,尾数23位
长实数也称双精度数 符号位1位,阶码11位,尾数52位
42E48000
第一步,化为2进制
01000010111001001000000000000000
第二步:
因为IEEE754使用1个符号,8个阶码,23个尾数,我们分别在上面提取这些容.
符号:
第一位:
0表示正数
阶码:
2-9位:
10000101为133,实际的幂值为133-127=6
尾数:
10-32位:
11001001000000000000000,实际值为1.11001001(1+尾数)
第三步:
根据公式写出实际数值大小
为1110010.01,化为十进制为:
114.25
二:
基础知识扩展
-----------------------------------------------------------------------
值 存储为 指数偏移量
real*4 1位符号位(s)、8位指数(e),23位尾数(m,共32位) 127(7FH)
real*8 1位符号位(s)、11位指数(e),52位尾数(m,共64位) 1023(3FFH)
real*10 1位符号位(s)、15位指数(e),64位尾数(m,共80位) 16383(3FFFH)
-----------------------------------------------------------------------
计算公式:
V=(-1)^s*2^E*M
V=(-1)^s*2^( 1 -指数偏移量)*(尾数) (当指数位为0时)
V=(-1)^s*2^(指数位数值-指数偏移量)*(1+尾数) (当指数位不全为0或不全1)
情况1:
当e(各位)为全'0'时:
E=1-(2^(e(位数)-1)-1);<===>E=1-指数偏移量
M=m。
如:
real*4是8位,E=1-(2^(8-1)-1)=1-127=-
在real*4时:
V=(-1)^s*2^(-)*m
在real*8时:
V=(-1)^s*2^(-1022)*m
情况2:
当e(各位)不为全'0'且不为全'1'时:
E=e(值)-(2^(e(位数)-1)-1);<===>E=指数位数值-指数偏移量
M=1+m。
在real*4时:
V=(-1)^s*2^(e(值)-127)*(1+m)
在real*8时:
V=(-1)^s*2^(e(值)-1023)*(1+m)
三:
将浮点格式转换成十进制数
[例3.1]:
0x00280000(real*4)
转换成二进制
00000000001010000000000000000000
我们将其分段:
符号位指数部分(8位)尾数部分
010*********
符号位=0;
指数部分=0;
尾数部分M为m:
.010*********
该浮点数的十进制为:
(-1)^0*2^(-)*0.3125
=3.6734198463196484624023016788195e-39
[例3.2]:
0xC04E000000000000(real*8)
转换成二进制
1100000001001110000000000000000000000000000000000000000000000000
符号位指数部分(11位)尾数部分
1 10000000100 1110000000000000000000000000000000000000000000000000
符号位=1;指数=1028,因指数部分不为全'0'且不为全'1',则:
尾数部分M为1+m:
1.1110000000000000000000000000000000000000000000000000=1.875
该浮点数的十进制为:
(-1)^1*2^(1028-1023)*1.875
=-60
四:
将十进制数转换成浮点格式(real*4)
[例4.1]:
26.0
十进制26.0转换成二进制
11010.0
规格化二进制数
1.10100*2^4
计算指数
4+127=131
符号位指数部分尾数部分
01000001110100000000000000000000
以单精度(real*4)浮点格式存储该数
01000001110100000000000000000000
0x41D00000
[例4.2]:
0.75
十进制0.75转换成二进制
0.11
规格化二进制数
1.1*2^-1
计算指数
-1+127=
符号位指数部分尾数部分
00111111010000000000000000000000
以单精度(real*4)浮点格式存储该数
00111111010000000000000000000000
0x3F400000
[例4.3]:
-2.5
十进制-2.5转换成二进制
-10.1
规格化二进制数
-1.01*2^1
计算指数
1+127=128
符号位指数部分尾数部分
010*********
以单精度(real*4)浮点格式存储该数
11000000001000000000000000000000
0xC0200000