Best way to configure Modbus RTU protocol for multiple (non-ABB) slaves
a. Protocol 1 : Modbus RTU via RS485 to 6 devices (3 x Delta PLC :( , and 3 x WEG CFW-11 VSD). There are 3 pumps each with a PLC and VSD.
b. Protocol 2 : Modbus TCP (server). This is to read information to a Unitronics PLC/HMI.
As can be seen there are multiple different devices and fortunately it all works.
However, when there is a device out of service on the RS485 link, there are significant delays until the algorithm starts to ignore the U/S device.
Would it be better to create a separate protocol for each device (or device pair) or is this not possible ?
Minimise the number of messages. It is almost always more effective to transmit several hundred bytes of empty data than make two separate requests for registers that are not adjacent.
To make most effective use of the Modbus if a node does fail, you need to minimise the timeout value and number of retries.
Figure out the longest time required to get a complete response from the slaves. This should be quite short even on a slow link like modbus serial.Hopefully it is less than 500ms. Set the timeout to approx double this value. Set the retries to 1.