leigan231
级别: 略有小成
精华主题: 0
发帖数量: 84 个
工控威望: 259 点
下载积分: 3445 分
在线时间: 46(小时)
注册时间: 2019-08-12
最后登录: 2023-11-23
查看leigan231的 主题 / 回贴
楼主  发表于: 2020-01-13 15:45
罗美特流量计,通过modbus通讯,发送过来的数据如下
流量计温度和压力分别占用2个地址,发送过来的数据对应为16进制数,如下所示,这个数据如何计算为10进制数呢



参数           寄存器地址    十六进制数
流量计温度    4072            418C
                    4073            E8EE
流量计压力    4074            42CA
                    4075            4E39
wanzhen2006
做工控人.不停学习.分享.交流.
级别: 论坛先锋
精华主题: 0
发帖数量: 253 个
工控威望: 1779 点
下载积分: 2406 分
在线时间: 591(小时)
注册时间: 2012-03-01
最后登录: 2024-04-30
查看wanzhen2006的 主题 / 回贴
1楼  发表于: 2020-01-13 21:38
国内设备基本上是A B C D顺序,国外设备基本上是B A D C顺序。低位优先字节交换。使用两个寄存器。
使用IEEE 754规范,如显示不正常可进行 字节顺序 交换位置即可。如下:

Float Big-endian     字节顺序:A B C D
Float Little-endian   字节顺序:D C B A
Float Big-endian byte swap      字节顺序:B A D C
Float Little-endian byte swap    字节顺序:C D A B

举个栗子:41  8C  E8  EE
字节顺序: A    B     C   D

A B C D


B A D C


A B C D


B A D C
    
[ 此帖被wanzhen2006在2020-01-13 21:52重新编辑 ]
做工控人.不停学习.分享.交流.