MODBUS Addressing High and Low Bytes

Hello all.

I have connected to a device using OPC MODBUS RTU over TCP. I’m receiving good data for most of the points I need to bring into the SCADA but I have a question about splitting up a 16bit packed register. I need to read the high and low bytes. I believe what I need to do is first bring in the full 16bit register as a tag and then use an expression tag to perform the read function with an expression. My questions are:

  1. Is this a correct workflow?
  2. If so, does anyone know what the correct expression would be?

You’ve got the right idea.

The expressions would look something this:
High Byte: ({PathToRegisterTag} >> 8) & 0xFF
Low Byte: {PathToRegisterTag} & 0xFF

Perfect! That worked a treat. Thanks for the quick resposne.