Modbus RTU Polling Delay

G

Thread Starter

Graham Pyatt

I am trying to implement a Modbus RTU system (PLC to 4 slaves) and have found it necessary to set the polling delay to 100mS for reliable operation.

The problem appears to be with the slave response.

I understood that if a slave receives a normal (error-free) message that it will respond. There will be minimal time required following a response before a slave is ready to accept another message. There is no indication of a polling delay being required in the Modbus Protocol.

Why is a 100mS delay required and is there anything that can be done to reduce the delay?
 
The required (Turnaround) delay is most likely due to 1/2 duplex physical layer like 2 wire RS485. In 2 wire RS485 the Master must release the RS485 Transmitter before the Slave tries to respond.
 
G

Graham Pyatt

>The required (Turnaround) delay is most likely due to 1/2
>duplex physical layer like 2 wire RS485. In 2 wire RS485 the
>Master must release the RS485 Transmitter before the Slave
>tries to respond.

Thanks for the information. Quite useful. The system is 2 wire RS485. The slaves can't operate 4 wire RS485.

I presume the turnaround delay as described would be attributable to the master (3-4mS). Each slave has a query /response overhead of around 38mS (+ waiting time)at 9600baud. This suggests the slaves are largely behind the requirement for a 100mS polling time.

We are currently operating the link at 9600baud. I think the polling time can be reduced by a factor of 4 by increasing the baud rate to 38400 (maximum available).

I have suggested that.
 
>We are currently operating the link at 9600baud. I think the
>polling time can be reduced by a factor of 4 by increasing
>the baud rate to 38400 (maximum available).

It is a common misconception that doubling (or 4 fold increase) will result in the same increase in through-put. There is too much overhead in 1/2 duplex required delays to allow this increase in speed to bear a significant amount of fruit.
 
G

Graham Pyatt

>It is a common misconception that doubling (or 4 fold
>increase) will result in the same increase in through-put.
>There is too much overhead in 1/2 duplex required delays to
>allow this increase in speed to bear a significant amount of
>fruit.

Thanks for that. I have suggested 'some' improvement may be possible. Since a polling time is required in any event then there is little advantage in changing from 100mS. The signals are relatively slow changing (transformer temperatures) so I don't think it is particularly detrimental in staying where we are. The key thing is the reliability of the communications and we have no communication failures with this polling time.
 
Top