Ken Roach
Lifetime Supporting Member + Moderator
Another thought, though I'm sure you are very familiar with Modbus by now:
Conventional Modbus "register addressing" begins with Address 1, which is located at Offset 00.
Therefore when you're looking at raw Modbus commands, the byte that holds the Offset value is always 1 less than the "Address" you intend to read.
Nearly every time I do Modbus data transfer, I have to guess, test, and change my assumption about the actual "first register".
I don't know the XPort device, and I don't know your application, but the message you are sending looks like it will read starting at the second register (offset 01) instead of the first register (offset 00). I could be off base, as well, because you mentioned this is a configuration command rather than a real Modbus Function call.
Conventional Modbus "register addressing" begins with Address 1, which is located at Offset 00.
Therefore when you're looking at raw Modbus commands, the byte that holds the Offset value is always 1 less than the "Address" you intend to read.
Nearly every time I do Modbus data transfer, I have to guess, test, and change my assumption about the actual "first register".
I don't know the XPort device, and I don't know your application, but the message you are sending looks like it will read starting at the second register (offset 01) instead of the first register (offset 00). I could be off base, as well, because you mentioned this is a configuration command rather than a real Modbus Function call.