Modbus Write 32-bit value

I am attempting to write a float value to a PLC with the modbus write node. The PLC will not allow me to write to individual registers when those registers are mapped to a 32-bit tag on the PLC, and throws an exception 02.

The modbus write node seems to write to registers individually using FC06, even if multiple, consecutive addresses are provided in the node configuration. I need to be able to write using FC16 so both registers are written at the same time.

Is there a way to do this that I am missing? I suppose I could have interposing 16-bit integer tags that I write to, generate a checksum, reassemble, check and copy to another tag on the PLC, but it seems roundabout for such a simple task.

@Nate_Usher

Thanks for reaching out. I did some digging for you. I think, for now, your workaround may be the best solution. Our Modbus Edge Node is indeed doing FC06 for each individual registers.

Iā€™m going to make a feature request to support the FC16 operation.

1 Like