读写Modbus RTU

我正在使用minimalmodbus进行读写。我有USB到Rs485的连接。

我正在尝试将此“ 02 05 0000 ff11”写入python中的RTU寄存器,但出现错误。这是我的代码。

设备地址: 02

功能代码: 05

注册地址: 0000

值: ff00

 import minimalmodbus
 instrument = minimalmodbus.Instrument('COM4',1)
 instrument.write_register(02,05,0000,ff00)

我需要使用python在以上代码中具有相同的功能!

读写Modbus RTU

mingtianwen 回答:读写Modbus RTU

您正在混淆一些设置。

Modbus从站地址(在您的情况下为2)应包含在仪器的实例中:

instrument = minimalmodbus.Instrument('COM4',2)

您在write_register函数中使用的参数也是错误的,它们应该是:

instrument.write_register(0,0xff00)

您可以看到write_register仅带有两个参数:寄存器号和您要在其中读取的值。

最好看看the code和/或some examples

编辑:我意识到您实际上要使用功能代码05(写线圈)。为此,您应该使用write_bit函数:

instrument.write_bit(0,1)

这意味着将True写在线圈0上。

本文链接:https://www.f2er.com/3097227.html

大家都在问