我使用 Modpoll Modbus 客户端实用程序进行测试。
命令(一)
.\modpoll -1 -t 4:hex -r 40072 -c 2 IP地址
给出以下结果(2 个连续保持寄存器的十六进制值):
[40072]: 0x404F
[40073]:0x5C28
根据文档,这两个寄存器包含一个 IEEE 754 大端编码的单精度浮点数。相应的值约为 3.24(使用 IEEE 754 实用程序解码)。
我想使用 Modpoll 直接读取 IEEE 754 编码的 32 位浮点数。当且仅当我输入以下命令(II)时,我才会得到类似的结果:
.\modpoll -1 -t 4:float -r 40071 -c 1
3.203139
该值不完全相同,因为我读取了随时间变化的电流。
如果我输入:
.\modpoll -1 -t 4:float -r 40072 -c 1
我得到一个完全不同的价值。
知道寄存器 40072 和 40073 (I) 以及寄存器 40071 和 40072 中的相同值是如何出现的吗?