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
答
x的量应该是2的倍数。由于浮需要两个16位寄存器或字,所以如果你想要25它应该是50.
什么是你试图写的浮点值? – Sanju