Universal Robots Forum

ModbusTCP reading multiple registers

Hi there,
I just work with the UR as Modbus-Client.
In this device there are two connected registers, which refer to another register. If I read these two registers with a single command, I get correct values. If I read the registers with commands for reading single values (for example with the ur implemented function), there will be an incorrect value.

Is there some command, which I can use for reading multiple registers in an single Command??
Or is this Modbus function disabled?

1 Like

I am, just like you @seewald.flo, very interested in having the function codes for reading and writing multiple registers at once implemented in the Modbus/TCP interface.
Would be nice to have the current read registers (x05) implemented so it can be used for multiple registers and then also the write registers (0x10) with variable length as well.

The current implementation is rather uphill if one tries to transfer 32bit numbers because the lacking synchronization of two reads/writes corrupts the values.
This is especially a problem on continues data flow where the lower 16 bits goes from xFFFF to x0000 or vice versa because the two 16bits then give a completely wrong result.

From my point of view a good step the right way would be, if in the beginning versions for 32bit numbers could be made.
That would improve the interface considerably.