Modpoll在读取Holding寄存器时的奇怪行为

时间:2018-03-21 21:12:33

标签: modbus modbus-tcp

我使用Modpoll Modbus客户端实用程序进行测试。

命令(I)

  

。\ 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中的值是一样的吗?

0 个答案:

没有答案