Modbus Register Addressing


Hello everyone. I am working on Modbus addressing for a device. According to the manual, the Device State can be read at Input Register 30214, Least Significant byte (LSB) is State. Most Significant Byte (MSB) is sub-state.
I tried [Device]IR214.0 for MSB and [Device]IR214.15 for LSB but the output was not as I expected. Any suggestions for reading MSB and LSB? Thank you in advance.

Have tried using zero-based addressing? Are you sure these are Input Registers instead of Holding Registers?

Can you provide a link to that user manual?

From the manual, I assume Device State is read at 30214 with MSB as sub state and LSB as state. Please let me know if I misunderstand the manual. Thank you in advance.

So, "LSB" and "MSB" are bytes, not bits. The syntax you attempted is for bits (and is opposite of what you showed). IR214.0 yields a boolean for the least significant bit of that Input Register, and IR214.15 yields a boolean for the most significant bit of that register.

For bytes, you will need to read the whole register, and apply masking and shifting in a pair of derived tags.