Modbus TCP to RTU device server with communication status register


Thread Starter

Brian Cleven

I'm looking for a Modbus TCP to RTU device server that has a status register in it that can be read from the TCP side. This status register needs to indicate the communication status to all the devices on the RTU side.

Our PLC only talks Modbus TCP but we have six safety valves that only talk Modbus RTU. The safety valves don't have any sort of heartbeat signal and therefore we are relying on the protocol converter (device server) to tell us that one or more devices on the RTU side have stopped communicating.

Any recommendations?

I understand that some Modbus/TCP<->Modbus/RTU device servers cache the Modbus/RTU responses, so I'm assuming that you are trying to detect whether you are getting good data or old cached data. Am I correct?

If so, the DOIAP (Digi One IAP) (see forwards each incoming Modbus/TCP request to the Modbus/RTU slave... and if a slave does not respond, then the Modbus/TCP response does not occur.

So with the DOIAP, you should be able to tell on a device-by-device basis whether a slave has stopped responding.

Hope this helps!

Patrick Lansdorf

Hi Brian,

I work for HMS and I believe that we have a gateway that suits your needs. For more information,go to: X-gateway

In the gateway there are several internal registers, such as valid responses, serial timeouts and number of exception responses, that can be read by the Modbus TCP master.

If you have any questions, please contact:

support [at]

Patrick L

Darrin Hansen

Hello Brian -

Our ETH-1000 gateway also performs this functionality. Every access on the RTU side can have a "reflect status" structure attached to it, which contains the number of good/bad packets, last error cause, etc. It also supports other features like PoE, Multiple simultaneous protocols (Profinet, EtherNet/IP client and server, BACnet/IP etc.) USB-based configuration, and includes a dashboard web server which provides an HMI-like display of process variables in guages, meters, line charts, etc.

You can find more information here:

Darrin Hansen
ICC, Inc.

Lynn August Linse

To summarize the TWO sets of answers here.

You'll find two basic types of device on the market:
1) what I call a 'transparent bridge'. The Digi One IAP mentioned is such an example. It obtains a Modbus/RTU response for any Modbus/TCP request, so if you poll each of your 6 valves via Modbus/TCP you would receive a response if they are active/online, or a Modbus Exception 0x0b (time-out) if they are offline.

2) what I call the 'dual-port data' device, where you configure a polling/client side to pull data into a fixed memory. Then a separate polled/server side allows remote clients to see the data. Such devices have the status register you seek, because there is no direct one-to-one relationship between your request and actual confirmation that the end-device still is active & the data is thus valid (not stale garbage).

You have already seen several offers of the 'dual-port data devices'. I'm sure any of those will work for you, if that is how you want this to function.

One "PRO" of the device you seek is you could poll the 'dual-port data' at a high rate, without seeing delays caused by slow RS-485 response. For example, with a Digi One IAP, if the average slave only relies in 1 second (or 3-sec if you wait for timeout) then you could only see a full set of new data after 6 to 18 seconds. With the 'dual-port data' you literally can obtain a response every second, but of course the data values might still require up to 18 seconds to 'refresh'.