Modbus TCP Read Write

Hello there,

I read posts from other users for read/write Modbus and found they either had issue writing in multiple registers or writing into bit of single register.

In my case I am able to read 32 bit signed real values and Discrete Input values. I am able to write into Coil also.
Thing is I am trying to write into 32 bit signed real or 16 bit unsigned integer. However as soon as I add the tag into ignition, the other tags which I am reading goes into BAD state. The value goes RED.
Reading values behaves GOOD, when I delete the newly added tag for WRITE.
Write tag also shows BAD Quality, however I am able to write in it. The value I put can be seen in Schneider software, but in Ignition it says BAD Quality and does not read value.
Please see below snips,

Before adding WRITE tag:

After adding WRITE tag

Logs:

Also I verified that there is 32 bit unsigned Real available at register 24

This sounds like the device doesn’t emulate empty registers. For efficiency, the driver will combine nearby reads into one larger read when the gaps are small. But many devices choke on that. There is a setting in Ignition’s driver called “Span Gaps” that you can turn off to prevent this optimization.

Also, you say the 32-bit value is at register 24, but your OPC item is HRF12. That should be HRF24, based on your description. (HRF24 uses registers 24 & 25.)