MODBUS-tk读取主站中从站的浮点值

MODBUS-tk读取主站中从站的浮点值

问题描述:

我已经创建了modbus从站来将数据写入寄存器。 我能够从从端写入浮点值和整数值。MODBUS-tk读取主站中从站的浮点值

在modbus master中,我只能访问整数值但不能读取浮点值。

我经历了这个https://github.com/ljean/modbus-tk/issues/72但这并没有解决我的问题。

对于读取的整数值,我可以使用下面的代码并读取值。

master = modbus_tcp.TcpMaster() 
master.set_timeout(time_out_period) 
result = master.execute(slave = 100, function_code = 3 , starting_address = 0, quantity_of_x = 25) 

但是,对于float值,我使用了上面和下面的代码。

master = modbus_tcp.TcpMaster() 
master.set_timeout(time_out_period) 
result = master.execute(slave = 100, function_code = 3 , starting_address = 0, quantity_of_x = 25 , data_format='>f') 

我得到错误而读浮子如,

解压缩需要长度的字节对象4

+0

什么是你试图写的浮点值? – Sanju

x的量应该是2的倍数。由于浮需要两个16位寄存器或字,所以如果你想要25它应该是50.