Q: C# Modbus get a lot register every 20 seconds I've made an application with C#, in this application I have to read every 20 second 840 registers of PLC via Modbus TCP. I use this library http://www.codeproject.com/Tips/16260/Modbus-TCP-class. When I use the method 
Master.ReadHoldingRegister(ushort id, byte unit, ushort startAddress, ushort numInputs) 
It return a bytes array of lenght 144 and not 1680, do you have any idea?

A: As suggested add a bit of delay between the calls.

A: Modbus allows up to 125 holding registers to be read in a single Read Holding Registers function call. If the library does not throw an error on a call to 840 registers, then it is probably taking this limit into account by spliting your call in several Read Holding Registers requests. I would study the source code to be sure that you can do that reliably.
