Configuration of Ethenet Port 1 of APC810-AR A4.34 as Modbus server

Good Morning, I’ve configurated ethernet port 1 of my APC810 - AR A4.34 as modbus server, but when I connect (ETH 1 mapping) a variable UINT to a channel IR Input Register defined in the configuration, automatically this the PV is “forced” and I can’t write it in my code.
Same for Holding register: only a Modbus Master simulator can write a HR, not possible if I try to manage it in the code. Any idea? I don’t use external libraries but only native AS tools. Thank You in advance for any help - Massimo Q

NB: The AS version is 4.3

Hi Massimo, welcome to the Community!

I may be misunderstanding, but it sounds like you’re trying to write to a variable (via code) that you have mapped to an I/O input? This is not possible because the input will be overwritten with the physical input value every cycle. If I’m misunderstanding, let me know! Maybe if you explain a little more about your use case, we can help you find a different solution.

Hi Marcus, thank you for your reply.

I try to explain my situation:

ETH1 → Configuration (as modbus server)

  1. I define an Input Register Channel, address 4500, type UINT.

I can write this value by changing the mapped variable (but the PV used for
mapping must be defined as local to program, if it is defined in Global Variables
it results always forced and the code can’t affect it)

With Modbus Client simulator i can see the value at address 4500 that changes.

  1. I define an Holding Register Channel, address 4501, type UINT.

The mapped PV appears always “forced”, the code doesn’t affect it.
This, indipendently if I have the MOdbus Client simulator connected or not.

The simulator changes the PV mapped to this Holding Register channel without problems.

But there are cases like this: for example, you have possibility to change a temperature threshold
from HMI (Modbus Client), but sometimes, it is necessary to adjust it automatically (via code),
and this second way doesn’t change the PV vlue.

Also in Watch Monitor enviroment, if I want to change a PV mapped on a Holding Register,
the only possibility is to force its value.

Thank You in advance,

Massimo Quaglianello