Modbus (MODRTU32, MODBUS_ENERGY) communication with ABB AC500

Modbus (MODRTU32, MODBUS_ENERGY) communication with ABB AC500

When communicating with the MODRTU32 or MODBUS_ENERGY Driver in zenon with ABB AC500 devices, under specific circumstances the device aborts the TCP Connection to the driver.
Specific circumstances could be the following:

  • Several Routers (hops) lie between zenon and AC500 device
  • The AC500 device is connected via UMTS
  • The Network has a high latency

Those situations could lead to high RTTs (Round Trip Time) of packets.
The Modbus protocol standard, the MODRTU32 and MODBUS_ENERGY driver and most of the Modbus devices available do not have problems with higher latencies. It just takes a bit longer time to receive the values in the zenon runtime because the RTTs of request and response are higher due to the higher latency.
However when communicating with ABB AC500 devices, there could be an issue when communicating with the MODRTU32 or MODBUS_ENERGY Driver, due to a specific setting of AC500 devices called OMB-Time:

The OMB-Time specifies the time how long an existing Connection shall stay active after the receipt of a response telegram.

So e. g. when the OMB-Time of an AC500 ist set to 100ms but the RTT within the Network is ~350ms, then the device will close the TCP-Connection to the driver.
Workaround:

Set a higher value (higher than RTT within the network) for the OMB-Time or if possible deactivate this setting if possible and not needed.


This is a migrated post! Originally posted on 14.04.2020 by user ChristopherK. Please be aware that information can be outdated.