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?
As suggested add a bit of delay between the calls.