Modbus data transfer rate

B

Thread Starter

Basudev Nishad

I am working on multidrop RS485 network with 50 modbus devices. I have connected these devices to an RTU with 4 ports. Devices are equally distributed to each port. I have set the baud rate to 9800 & mapped 25 parameters per device. I am getting data update on RTU every 60-70 sec, which is seems to be very high. Kindly suggest how speed can be improved.

basudev. klg @ gmail. com
 
V
Please give the specification of the RTU. Is it a PC or something else? Please reply at vipul @ egenietech. com

Vipul Shah
 
F

Fred Loveless

You are talking to the device synchronously, so the thing to look at is how long does it really take to get the data from each device. At 9600 buad it takes approximately 1 msec to transfer 1 byte of data. The Modbus request is 7 bytes and the response is 5 bytes plus the data. There is also a device turn around time which is the time it takes the device to process the request. We will assume that it is 0. We will also assume that the requested data is al integers.

When you request the data, if you are lucky and the data is in contiguous addresses, then you will be able to send one data request. If the data is spread throughout he device or the device will only allow single register requests, then you will have to do several requests to get the data from one device.

So if the data was in contiguous registers and you only needed one request to get it total time would be 7 msec for the rquest plus 55 msec for the response (62 msec) times 50 is 3100 msec.

The worst case scenario is 1 registar at a time, 7 mse for the request plus 7 for the response is 14 msec times 25 is 350 msec times 50 is 17500 mec.

What you will want to look at is the turn around time per device. If there are request failures to the device that require retransmission of request. If there are pauses between requesting data for each device.

Fred Loveless
Kepware Technologies
http://www.kepware.com
 
R
To expand on Fred Loveless post, I think you will find it quicker to read 100 contiguous words and then discard what you don't need rather than reading several smaller bites. You might also try looking at the data stream, see my response to the "Modbus Master Comunication" post.

Regards,
Roy
 
Top