Это старая версия документа!
RS485 / Modbus
Отладка протокола Modbus для устройств по RS485
Устанавливаем minimalmodbus:
pip3 install -U minimalmodbus
А дальше уже можно в интерактивном режиме читать/писать регистры:
>>> import minimalmodbus >>> instr = minimalmodbus.Instrument('/dev/ttyUSB0', 1)https://minimalmodbus.readthedocs.io/en/master/advancedusage.html#interactive-usage
Основные команды:
https://minimalmodbus.readthedocs.io/en/stable/apiminimalmodbus.html
Также желательно включить Debug, чтобы видеть, что было отправлено устройству, и что оно прислало в ответ. Для этого при начальной инициализации добавить параметр Debug:
instr = minimalmodbus.Instrument('/dev/ttyAMA1', 1, debug = True)
Например, считать 5 регистров holding registers, начиная c адреса 0x0000
>>> instr.read_registers(0, 5, 3) MinimalModbus debug mode. Will write to instrument (expecting 15 bytes back): 01 03 00 00 00 05 85 C9 (8 bytes) MinimalModbus debug mode. Clearing serial buffers for port /dev/ttyAMA1 MinimalModbus debug mode. No sleep required before write. Time since previous read: 22959.92 ms, minimum silent period: 2.01 ms. MinimalModbus debug mode. Response from instrument: 01 03 0A 03 E6 66 14 00 01 14 00 FF FF DD 5E (15 bytes), roundtrip time: 0.0 ms. Timeout for reading: 50.0 ms. [998, 26132, 1, 5120, 65535]