Slow Response from Devices on Modbus RS485 Network

Have issue in response time, reading from power meters connected over RS485 network in Ignition (8.1.42). 14 meters connected over RS485 -> gateway -> Ignition modbus TCP OPC.

Good meters - Switched on
Bad meters - Switched off

Now when:

  1. When all meter devices are enabled in Ignition - Response time is slow for good meters and quality of all meter tags is good.
  2. When bad meters are disabled in Ignition - Response time is fast for good meters and quality of all meter tags is good.

Ignition is slowing down reading of modbus tags when bad meters are enabled. Playing around with settings, highlighted in 'red' in the screenshots.

What could be the ways to improve the response time when all meters are enabled in Ignition? Appreciate any help..



Modbus Settings

  1. Modbus on serial or RS-485 is fundamentally slow. You show a baud rate of 9600. That's going to kill performance, even in the best circumstances.

  2. RS-485 is a shared bus. Only one device can be interrogated at a time. If it doesn't respond (there's a timeout setting you can adjust), all the other devices must wait. This is also fundamental to shared busses.

  3. IA's driver will keep sending all requests for a poll group to a broken device, despite the failures. My alternate driver short-circuits this, failing all pending requests to a particular slave when a request times out. Speeding up access to the other devices. You might get acceptable performance by switching drivers.

@pturmel Thanks for reply.

I hope this is not standard behaviour with RS485 devices in Ignition.
Let me try increasing the baud rate and check for any improvements.

Didn't completely get about the alternate driver and switching drivers. How do I achieve this in Ignition?

Also set the Max Retry Count to 0. Set the timeout on your Modbus gateway to the lowest value that work reliably, maybe ~100ms at 19.2kbaud.

It is, typically, whether Ignition or not.