Im using a Modbus gateway to talk to a few multi-dropped RS485 VFDs and other devices in a motor control center. The units have device IDs of 1 to 5. It appears that when one of the devices gets turned off for maintenance it causes the other devices to stop communicating. I was able to duplicate the problem by creating two Kepware OPC devices, one with a valid device ID and the other one with an invalid device ID. When I turn on data collection for the invalid device ID, I see the valid device error out.

I have 8 VFDs on Modbus and the communications are done via a series of stages. When a drive is intentionally off I skip the appropriates stages. Every stage with a Modbus block ends on the success bit AND the error bit, so communication continues to all the other drives. The difference between success and error bits is that errors generate alarms too.

If a timeout occurs, I set a bit to disable talking to that device for awhile (timer), then try again later. You do get the one long delay, but then the rest get updated quickly while the one that stopped talking sits in the timeout corner. I watch for awhile to see how long all good communications takes then set the timeout a bit longer than that.