我创建了 modbus slave 来将数据写入寄存器。我能够从从端写入浮点值和整数值。
在 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)
但是对于浮点值,我同时使用了上面和下面的代码。
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')
我在读取浮点数时出错,
unpack 需要一个长度为 4 的字节对象