MODBUS Response Time Calculation

A

Thread Starter

abraham februano

Hello guys,

I have problem with communication Modbus RTU, for those moment we still in engineering and construction phase for oleo chemicals plant.

We have idea to use Modbus RTU with RS485 serial communication line for load-shedding system in power generation. We have Power logic control in each of Low / High Voltage panel, and I was try to communicate between subsystem (Power logic metering Schneider PM5035 and main system DCS Yokogawa Centum VP on (IFAT-integration test), and no issue. But I have worry, because actually we have a lot subsystem on the site include PLC (modicon). Could somebody tell me know to calculate the response time (bidirectional) let say the data is 100byte/ subsystem & speed is 19600kbs, how to calculate if.

1. Single subsystem connected.
2. Multi drop point with multi subsystem connected.

Thanks and regards,
Abraham Februano
[email protected]
 
Hi Abraham,

The actual response time of a device will usually vary from time to time. I think that the easiest way to find out is to ask the manufacturer. If they do not know, I am afraid that you may need an ocilloscope and measure - Send a command to the device and see how long it takes for it to answer.

A number of years ago, I made an excel sheet that calculates line time on Modbus, but one needs to know the response time for the slave and the master. email me at [email protected], if you want a copy.

Patrick L
 
Response time can also be affected by unexpected events. I'm not sure if the vendors in these cases would even acknowledge the odd behavior, so you should also do some field tests.

For example, I once linked to a Modbus/RTU inspection machine which normally answered in less than 1/2 second ... however, if it was busy doing a "rejected inspection", then it took up to 5 seconds to respond. This did NOT mean it ignored comms for 5 seconds, it means it buffered any requests & answered them ALL after the delay in a very non-Modbus flood. So if you polled every 1 second, it would return 5 responses in a burst.

Another example, I once worked on a device which (for some reason - reduce IRQ load?) disabled its serial port for ~250msec if it saw a request for ANOTHER slave address. So a single device could be polled flat out, but a multi-drop had to be polled with care not to poll subsequent nodes too fast.

- Lynn August Linse, [email protected]
 
S
Abraham,

You may download a free Modbus .NET driver class from www.controlsystemtools.com

When you run this, it will give you the time in millisec from the time the request is made to the time response came. It will work for single or multi-drop scenarios. It is designed for use with Microsoft products to make them work as a HMI or SCADA.

There is a priced & more elaborate product available called Modbus Analyzer .NET from parijat.com also. If you need more info, you may contact me.
 
Hi Abraham,

I have used Centum VP / CS3000 to do load shedding via a combination of Modbus & Hardwired interfaces.
Key points:

1. Modbus RTU is too slow - don't bother - in fact - don't use it ever again ... use ALE111 with Modbus TCP gateways such as MB3170 for legacy RTU gear.

2. Modbus TCP is suitable - you get about 33 transactions per second from an ALE111 card - and no delay when one slave is offline or slow to respond. You can have up to 8 x ALE111 cards in a single FCS.

I use multiple ALE111 cards and Modbus TCP to send trip commands to Moxa E1211 in distributed substations - total of about 40 switchable HV loads which can be dynamically selected in/out of load shedding schemes depending on plant operational needs.
From memory CRO testing shows times for CS3000 hardwired read & Modbus data write and "trigger" at E1211 around 30-80ms.

3. Yokogawa CS3000+ reads and writes "fast scan" I/O as it is addressed in code (not buffered - unlike basic scan)
This means that response times can exceed the scan rate - i.e.; the fastest CS3000 scan rate is 50ms (you have to type 50ms in - it's not in the drop-down). Testing DI input to DO output with a CRO you will get response times that vary between 10-60ms.

There are many other tricks to improve speed of response - but basically I have found 150-200ms to be fit for purpose.

I recommend that after you open a breaker for load shedding - you engineer an automated reclose (i.e.; 10-60s later).
You will receive the benefit of the load shed, most of the loads will "unlatch" - and restoring power to the load centre means that critical equipment can be returned to operation immediately (UPS, seal water, scrubbers, vents, area lighting, etc).

Cheers, PB
 
Top