Hi,
I'm a Modbus newbie, who is trying to control a heating device remotely with a Python script. The device is connected via RS485 to an Elfin EE11, which acts as a Modbus server. I can connect to the server and read the necessary register values for example with this:
which returns [39, 65535]. The data type of the registers I'm trying to adjust is S32 so I figured that I would have to fetch two registers from the starting address.
However, I cannot write a new value to the register with
which returns me an exception 2, which I've now understood is "invalid address".
I'm quite confused why the address is invalid as reading is successful. Can anyone help me out a bit?
I'm a Modbus newbie, who is trying to control a heating device remotely with a Python script. The device is connected via RS485 to an Elfin EE11, which acts as a Modbus server. I can connect to the server and read the necessary register values for example with this:
Code:
from pyModbusTCP.client import ModbusClient
c = ModbusClient(host="192.168.0.11", port=8899, auto_open=True)
regs = c.read_holding_registers(502, 2)
print (regs)
However, I cannot write a new value to the register with
Code:
c.write_multiple_registers(502, [41, 65535])
I'm quite confused why the address is invalid as reading is successful. Can anyone help me out a bit?