pymodbus3 не удается прочитать с устройства Modbus

У меня проблема с модулем python pymodbus3.

У меня есть устройство Modbus и эти два сценария:

pymodbus_tester.py

#!/usr/bin/env python

from pymodbus.client.sync import ModbusSerialClient

if __name__ == '__main__':
    mdbcli = ModbusSerialClient(
        method   = "rtu",
        parity   = "N",
        stopbits = 1,
        bytesize = 8,
        timeout  = 1,
        port     = "/dev/ttyUSB0",
        baudrate = "115200"
    )

    if not mdbcli.connect():
        print("Could not connect to Modbus")

    print("""
********************************************************************
*****                  SINGLE READ TEST                        *****
********************************************************************
""")
    ret = mdbcli.read_input_registers(
        address = 0x3104,
        count   = 1,
        unit    = 0x01
    )
    print("Single read: {0}".format(ret))

pymodbus3_tester.py

#!/usr/bin/env python3

from pymodbus3.client.sync import ModbusSerialClient

if __name__ == '__main__':
    mdbcli = ModbusSerialClient(
        method   = "rtu",
        parity   = "N",
        stopbits = 1,
        bytesize = 8,
        timeout  = 1,
        port     = "/dev/ttyUSB0",
        baudrate = "115200"
    )

    if not mdbcli.connect():
        print("Could not connect to Modbus")

    print("""
********************************************************************
*****                  SINGLE READ TEST                        *****
********************************************************************
""")
    ret = mdbcli.read_input_registers(
        address = 0x3104,
        count   = 1,
        unit    = 0x01
    )
    print("Single read: {0}".format(ret))

Как вы можете видеть, они практически идентичны, за исключением модуля pymodbus.

Это то, что я получаю, когда запускаю их (комбинированный запуск для простоты):

griccardo@pc:~$ python pymodbus_tester.py ; echo "---------------" ; python3 pymodbus3_tester.py 

********************************************************************
*****                  SINGLE READ TEST                        *****
********************************************************************

Single read: ReadRegisterResponse (1)
---------------

********************************************************************
*****                  SINGLE READ TEST                        *****
********************************************************************

Single read: None

На стороне устройства я получаю один и тот же запрос и выхожу один и тот же ответ в обоих случаях, как вы можете видеть из следующего журнала (вроде):

REQ: '1~�'
RES: '�0'
REQ: '1~�'
RES: '�0

Что-то не так с модулем pymodbus3? Или я использую это неправильно?

Спасибо Риккардо

0 ответов

Другие вопросы по тегам