我用极小的调制解调器进行阅读和写作。我有USB到Rs485连接。
我试图写这个"02 05万ff11“到RTU注册在python,但我得到了错误。这是我的密码。
设备地址: 02
函数代码: 05
注册地址: 0000
值: ff00
import minimalmodbus
instrument = minimalmodbus.Instrument('COM4', 1)
instrument.write_register(02, 05, 0000, ff00)我需要使用python!在上面的代码中使用相同的功能

发布于 2019-11-15 08:32:33
你混淆了一些设置。
Modbus从地址(在您的示例中为2)应包括在该仪器的实例化中:
instrument = minimalmodbus.Instrument('COM4', 2)用于write_register函数的参数也是错误的,它们应该是:
instrument.write_register(0, 0xff00)如您所见,write_register只使用两个参数:寄存器号和要在其中读取的值。
编辑:我意识到您实际上想使用函数代码05 (写线圈)。要做到这一点,您应该使用write_bit函数来代替:
instrument.write_bit(0, 1)这意味着在线圈0上写True。
https://stackoverflow.com/questions/58872129
复制相似问题