Modbus RTU many data to exchange


I need to exchange more than 128 word between two modbus devices.

According to the documentation, the modbus protocol is limited to 128 word, right ?
Is there a tricks ?

Best regards
The Modbus protocol is not limited to 128 registers (words).

I think you may be confusing the limitation of the number of registers that fit in a single Modbus packet. A Modbus packet is limited to 256 bytes in total. Therefore, the number of registers (words) that fit in a read registers (function code 03 or 04) response is 125 and the number of registers that fit in a write registers (function code 16) request is 123, after accounting for overhead bytes.

Two Modbus devices can exchange up to the entire address range of registers (words), which is 65,536 registers (although some Modbus devices, especially older ones, may be limited to 9,999 registers). However, the maximum number of registers that can be transferred in a single Modbus transaction is 125.
OK, I was confusing with the frame limit.
I use a schneider M241 with a Modbus_IOscanner.
I link a variable to a register. So doing that, I'm limited to 125 or 128 words.

If I want to send frames with differents variables in it, I need to recognize my frames with a number ?
So the first word of my frames will get a number, and I will make differents data frames and send them from the frame N°1 to the frame N°2 ?

I'm not sure....


Unfortunately, I'm not familiar with those Schneider products. Perhaps someone more familiar with Schneider can help you on the specifics.

But in general, yes you would need to have your Modbus Master send multiple Modbus frames targetting different registers in order to read more data.