Я использую ModbusSerialClient из библиотеки pymodbus .У меня есть несколько регистров, которые я хочу прочитать.
Я могу читать по одному регистру за раз, но не могу понять, как читать все регистры за один раз для повышения производительности.
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)
Но выдает ошибку "Недопустимый адрес".