概述
短浮点数遥测计算
104中的一组报文
68 3F 18 00 06 00
0D
//104遥测asdu类型一般都是13
8A
//信息体一般都是连续的,10个信息体
14 00
01 00
01 40 00
//信息体地址起始地址默认都是4001
6A CD 2F 41 00
//短浮点数据占4字节,品质位占一字节
6A CD 2F 41 00
6A CD 2F 41 00
6A CD 2F 41 00
6A CD 2F 41 00
6A CD 2F 41 00
6A CD 2F 41 00
6A CD 2F 41 00
6A CD 2F 41 00
6A CD 2F 41 00
tcp/ip的大端模式
- 大端:低字节放在高位,高字节放在低位,例如0x123456,表现为0x563412
- 小端:低字节放在低位,高字节放在高位例如0x123456,表现为0x123456
一字节就无所谓大小端模式
TCP/IP协议中所定义的网络字节顺序采用大端模式排序,
读写顺序为——数据按地址由高到低的写入,由低到高写出。这样就造就了我们所看到的报文是低位字节在前,高位字节在后。
14 00
实际就是0014,0x14也就是总招14
01 00
实际就是0001,0x01也就是asdu地址是1
01 40 00
实际就是004001,0x004001信息体地址起始地址默认都是4001
遥测数据
6A CD 2F 41,实际就是十六进制的41 2f cd 6a
短浮点类型遥测计算
短浮点数占4字节,也就是32位,单精度格式
每个浮点数均由三部分组成:符号位S、指数部分E和尾数部分M
单精度格式(32位),除去符号位1位后,E占8位,M占23位;
符号位S:1位,决定了短浮点数的正负,0正1负
指数E :共计8位,以2为底,在这里称为阶码,为了表示指数的正负,阶码部分采用移码表示,移码值为127。对于规格化浮点数而言,阶码值即从1~254变为-126~+127,计算公式——阶码=阶码真值+127
尾数M 共计24位,约定小数点左边隐含有一位1,这样实际上使尾数的有效位数为24位,即尾数真值形如1. M。
位数 | 31 | 30----------23 | 22------0 |
---|---|---|---|
含义 | 符号位S | 指数E | 尾数M |
计算6A CD 2F 41
-
高低字节转换为41 2f cd 6a
-
转化为二进制
41 2f cd 6a
0100 0001 0010 1111 1100 1101 0110 1010符号位S,首位 一位 0 符号位正
指数E,八位 100 0001 0,转化为十进制为130
计算阶码真值=阶码-127= 130-127=3
计算尾数: 1.M*2^3=1.010 1111 1100 1101 0110 1010*2^3=1010.1111 1100 1101 0110 1010=
10+1/2+1/4+1/8+1/16+1/32+1/64+1/512+1/1024+…=10.987…
最后
以上就是唠叨大山为你收集整理的浮点数遥测计算短浮点数遥测计算的全部内容,希望文章能够帮你解决浮点数遥测计算短浮点数遥测计算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复