pymodbus-dev / pymodbus

A full modbus protocol written in python
Other
2.16k stars 889 forks source link

Register data missing #2213

Closed NekX1 closed 3 weeks ago

NekX1 commented 3 weeks ago

Bellow is the example which works with pymdobus 3.0.2 but not with pymodbus 3.6.8. No register list received from command client.read_holding_registers(address, count=1, unit=slaveId).

from pymodbus.client import ModbusSerialClient as ModbusClient

client = ModbusClient(method="rtu", port="COM4", stopbits=1, bytesize=8, parity="N", baudrate=19200, timeout=0.1, strict=False) connection = client.connect()

result = modbus.readFunct('Holding_0x03', 2,1, 1, clientModb, connModb)

if (connection == True): try:

make string from int or whatever

    data = client.read_holding_registers(0, count=1, unit=2)
    registers = data.registers
    result = ""
    for register in registers:
        result = result + str(register)
        print(result)
except:
    result = "ReadModbusErr"
    try:
        data
    except:
        result = "NoModbRTUConn"

else: result = "NoModbRTUConn"

client.close()

janiversen commented 3 weeks ago

Please read the documentation, unit= is not valid.