Technical FAQs

Ask a Question

What is the reason of getting “Scanner Command (Start MDRP Comms) timed out” alarm for a running ClearSCADA system?

When any request becomes active, it is passed to the scanner of a channel to perform the request. The scanner also generates requests internally, for example to poll an outstation. Each request consists of a sequence of commands that are sent by the scanner to an outstation. The abbreviation MDRP is short for "multi-drop". The "Start MDRP Comms" request is responsible for establishing comms with an outstation. For all Advanced Drivers including DNP3, each channel (independent of each other) is to poll the outstations in a round robin arrangement. Starting with the lowest protocol address first (although this can be driver dependant but this is the case for DNP3). When it is time to poll an outstation the Advanced Driver layer will ask driver if there is anything to do for the selected outstation. If there is a poll will occur if there is not it will move on to the next outstation. The poll intervals configured on the outstation object in ClearSCADA (for DNP3 this is Class polls and Integrity Polls). External requests from the database (e.g. a Control request) will interrupt the round robin process.

For Example,if you have a channel with 3 DNP3 outstation (Addresses 1, 2, 3) all configured with a Class 1 Poll of 10 seconds, then OS 1 will be polled first, then OS 2, then OS 3. The Advanced Driver library will then keep going around all three outstation objects in sequence and ask if they have anything to poll for assuming there is some idle time then OS 1, 2 and 3 will skip their slot in the round robin process. When the 10 second timer has expired for OS 1 then when it is next selected in the round robin process it will do a Class 1 poll. And so on for OS 2 and OS 3. If the communication network is slow and the poll intervals short, then you may end up with a situation that by the time the round robin sequence is complete the first outstation timer will have expired. For example, if it takes 5 seconds to complete each poll sequence for an outstation then it will take 15 seconds to complete the full round robin poll. So OS 1 will immediately do another poll, but 15 seconds after it started the first not 10 seconds

poll requests are created when the outstation is selected in the round robin sequence. However external requests are created when they arrive from the database.

In case there are too many outstations configured on a channel, and the bandwidth on the channel is limited you can end up with a situation where the channel becomes overloaded and doesn't have enough capacity to meet the polling schedule and worse still it can affect external requests from the database which might not be able to be processed in the time they are given. This can lead to the request being failed, one of the reasons for failure is that the request had been created in the channel (or scanner) but the channel was so busy that it could not process the request in time so the request was aborted , this leads to the Scanner Command Timeout alarm.


Increasing the DNP3 application and/or data link timeouts is the first place to adjust its settings, then the scanner command timeout may also need increasing as well. Changing the Scanner Command and Request Timeouts is accessible from the ClearSCADA Server Configuration Tool :

Was this helpful?
What can we do to improve the information ?