Bad("Bad_NotWritable: The access level does not allow writing to the Node.") error


I am trying to write back to either an Input Register or Discrete Input block of memory on my PLC (BRX do-more), and I get this error whenever I try to write a value in the Tag Browser (none of the attached widgets will propagate data correctly):


The security settings say read/write are both set to public, and I can read data from the coils and holding registers just fine:


Here are the settings on one of the variables that wont write, in case I am missing something:

Ill keep fiddling, but any help would be appreciate!

Discrete Inputs and Input Registers are read only.

I want to write from Ignition to the Inputs on the PLC -- is this not possible?

No, Modbus defines inputs as read only. In theory these areas model physical inputs, so it doesn’t make sense to write to them. You can write to a Holding Register or Coil and react to it however you want in the PLC program, but inputs are not writable.

I am a little confused about how you would have values communicate on those two channels if they can not be written to -- I was under the impression that the PLC treats them as read-only; something else must write to them such that the PLC can read them?

yeah, a physical input on the PLC "writes" to them. Or if the PLC lets you assign arbitrary memory areas to arbitrary Modbus addresses and write to them in logic somehow (not via Modbus).

There does not exist a Modbus function code to write to addresses in either of these areas.

I see -- well that explains why I have only ever seen a single device that used them. So much for isolating reads and writes on my PLC! I will segment the coils and holding registers for read/write.

Thanks for the help!