在pymodbus中读取多个保持寄存器

时间:2018-05-22 11:09:13

标签: python modbus pymodbus

我正在使用pymodbus库的ModbusSerialClient。我想要阅读多个寄存器。

我能够一次读取一个寄存器,但无法弄清楚如何一次读取所有寄存器以获得更好的性能。

registers = [3900,3902,3904,3906,3926,3860]
client = ModbusSerialClient(method='rtu',port='/dev/ttyUSB0', timeout=1, parity='N', baudrate=19200, unit=1)
client.connect()

for register in registers:
    response = client.read_holding_registers(register, 2, unit=0x01)

我尝试过这样的事情

add_min, add_max = min(registers), max(registers)
no_bytes = add_max - add_min
response = client.read_holding_registers(add_min, no_bytes, unit=0x01)

但它正在抛出非法地址"错误。

0 个答案:

没有答案