Modbus serial to ip communications


Thread Starter


Can someone explain why most of the modbus serial to ip devices only work when the ip device is the master and the serial device is the slave?

The FieldServer can be set up both ways, have a look at their web site. Generally the Modbus RTU devices are the slaves I believe that is the general application.


Lynn August Linse

> Can someone explain why most of the modbus serial to ip devices only work
> when the ip device is the master and the serial device is the slave?

Because such a limited product is less cost to design, support and document - just set an IP and baud, and it does what little it does.

But I don't think that 'most' only do IP to serial. The big PLC vendors tend to stick to that because it's more profitable.

But most comm companies have versions which handle any combination of serial and IP master, including handling Modbus/RTU (serial or IP), plus Modbus/TCP. You'll get responses from Moxa and few others. Of course Digi sells units which work. Here is an app note explaining some of the function:
The best guess I could venture is because it's in general easier to code a Modbus/TCP server stack (which communicates to the Modbus/TCP client). So some device gateway manufacturers just follow the low-hanging fruit and create a "reactive" server driver. Making the Modbus RTU master driver to talk to the end slave devices isn't all that hard, and it's sequential by nature as only one outstanding request is allowed on the serial network at a time.

It's a little more work to make Modbus/TCP client driver, because you need more information like the IP address of the device to target, the port (typically 502) on that device to target, etc. And then you would typically maintain a separate persistent socket for each device. So (if you've done your job right) you would have to maintain multiple simultaneous TCP/IP connections to the Modbus/TCP servers.

Another reason might be historical, as newer Ethernet-enabled PLCs and controllers were rolled out (as masters), they were likely tasked with connecting to existing serial-based end devices (such as drives). So in between you would require a device that acts as a Modbus/TCP server and Modbus RTU master.

Our devices support both conversion methods equally well. In fact, the Modbus/TCP server and client drivers can be active simultaneously on our ETH-1000 gateway ( On the serial side, we support Modbus RTU master, slave and sniffer drivers (of course only one of those can be active at any given time).


James Ingraham

Generally, something that can speak Ethernet (e.g. computer, PLC, etc.) is a master class device. And serial devices (e.g. barcode scanners, temperature controllers, etc.) are not able to be masters anyway. The normal use case for an Ethernet-to-Modbus-serial converter is "I've replaced my controller with a more modern one, but I don't want to replace all of my working field devices." Of course, that's not the ONLY case, but it's by far the more common.

-James Ingraham
Sage Automation, Inc.

Santosh Kubasad

Generally Modbus IP devices are Human Machine Interface (HMI's) that needs to communicate with many serial remote terminals (barcode readers, temperature controllers, pressure sensors etc.) to acquire data from them or send control signals. Now since HMI is one for a control system with many RTU's, it invariably becomes the Modbus Master with all terminals acting like slaves.

Santosh Kubasad
Modbus Protocol Engineer
Colways Solutions (
A simple answer would be because it's in higher demand - there are far more Modbus serial slave devices that need to talk to a Modbus TCP/IP clients (masters), than Modbus serial masters that need to talk to Modbus TCP/IP servers.

Also, for migration - these gateways allow you to replace an outdated Modbus RTU/ASCII master with a newer Modbus TCP/IP client/master.

As a few have posted, many companies like Prosoft Technology, Fieldserver, and others, make Modbus gateways that can be configured in any Modbus TCP/IP client/server and Modbus RTU/ASCII master/slave configuration.