0

我开始在 Python 3.7 中使用 pyModbus。在 pyModbus.client.sync.ModbusTcpClient 中有两种写法:

write_register() write_registers()

使用带有 1 个元素的寄存器列表的 write_register() 而不是 write_registers() 有什么好处吗?总是使用后者会简化我的代码,但我想我会检查一下。

4

1 回答 1

0

Modbus 规范有两个函数代码可以写入一个保持寄存器(0x06) Write Single Register(0x10) Write Multiple registers因此 pymodbus 中有两个方法可以写入寄存器。modbus设备的规格说明支持哪些功能代码,您必须从pymodbus客户端选择相应的方法。

write_registers一次可以写入最多的寄存器,当123需要在一次调用中写入多个寄存器时,这是很有用的。如果您的要求只是写入单个寄存器,那么唯一的优点write_register是您不必将值作为 list 传递。

同样的解释也适用于write_coilwrite_coils方法。

有关功能代码的更多详细信息,请参阅modbus 规范

于 2018-09-03T04:05:14.347 回答