Modbus RTU verses Modbus TCP/IP: What’s the Difference?

-Robert Frohock, Danbury, CT

See also: “I know what Modbus is, but what is BACnet?”

Modbus Protocol is a messaging structure developed by Modicon. It is used to establish master-slave/client-server communication between devices. Modbus has a lot of protocol options. But the two used most are Modbus RTU (Remote Terminal Unit), serial (RS-232 or RS-485) protocol or Modbus (TCP/IP) Transmission Control Protocol and Internet Protocol. What’s the difference between the two? Although the two protocols are similar, cost and speed differentiate the two.

Modicon introduced the Modbus protocol to the market in 1979. Modbus RTU mode is the most common implementation, but Modbus TCP/IP is gaining ground and ready to surpass it. To move Modbus into the 21st century, an open Modbus TCP/IP specification was developed in 1999. Modbus is a standard that is open and is widely-used network protocol in the industrial manufacturing environment. It’s a common link that has been implemented by hundreds of vendors for integration on thousands of different manufacturing devices to transfer discrete/analog I/O and register data between control devices. A MODBUS communication is always initiated by the master node to the slave node. The slave nodes will never transmit data without receiving a request from the master node nor communicate with each other. The master node initiates only one MODBUS transaction at the same time.There are 4 types of MODBUS registers used:

The coils, starting at 00001, corresponding to on/off binary outputs, such as relays.

The input bits, starting at 10001, corresponding to binary inputs (read only).

The input registers, starting at 30001, corresponding to analog inputs (read only).

The holding registers, starting at 40001, corresponding to analog parameters which can be changed.

On the contrary, Modbus RTU mode is the most common implementation, using binary coding and CRC error-checking. RTU Protocol is an efficient binary protocol in which each eight-bit byte in a message contains two four-bit hexadecimal characters. Each message must be transmitted in a continuous stream. The format for each byte (11 bits) in RTU mode is: Coding System: 8–bit binary, Bits per Byte: 1 start bit, 8 data bits, least significant bit sent first, 1 bit for parity completion, 1 stop bit. MODBUS RTU packets are only intended to send data; they do not have the capability to send parameters, such as point name, resolution, units, etc. Standard MODBUS RTU node addresses are 1-254, with 0 being reserved for broadcast messages and write only. MODBUS over Serial Line systems may use different physical interfaces (RS485, RS232). TIA/EIA-485 (RS485) Two-Wire interface is the most common. As an add-on option, RS485 Four-Wire interface may also be implemented. An RS485-MODBUS configuration without repeater has one trunk cable, along which devices are connected directly (daisy chaining). The trunk cable, also named “Bus”, vary in length, however, its two ends must be connected with Line Terminations. The use of repeaters between several RS485-MODBUS is also possible. The end to end length of the trunk cable must be limited. The maximum length depends on the baud rate, the cable (Gauge, Capacitance or Characteristic Impedance), the number of loads on the daisy chain, and the network configuration (2-wire or 4-wire). The typical cable lengths for this kind of bus connection are up to 1000m, and the typical baud rate is 9600 bps. A good cable selection, at least 22 gauge, at an adequate length may be costly.

Modbus TCP/IP is simply the Modbus RTU protocol with a TCP interface that runs on Ethernet. With Ethernet, you are combining a versatile, scalable, and worldwide physical network (Ethernet) with a universal networking standard (TCP/IP) and a vendor-neutral data representation, Modbus. This protocol gives a truly open, accessible network, which allows blocks of binary data to be exchanged between devices. It is simple to implement for any device that supports TCP/IP sockets, with a switch and cable available to each device. It remains fully compatible with the already installed Ethernet infrastructure any customer might have.

Ethernet is of course, a lot faster and a bit easier to troubleshoot. However, you may not wish to use Ethernet for your Modbus communications. It may, perhaps, be too fast. TCP/IP is the common transport protocol of the Internet and is a set of layered protocols, providing a reliable data transport mechanism between machines. Ethernet has become the standard of many systems, so it comes as no surprise that it has also become one of the standards for factory networking. As Ethernet technology has been around for years, it has matured to the point that the cost of implementing this network solution has become quite affordable.

The Ethernet devices are going to be faster, but speed is not completely necessary with a lot of Modbus devices. All these level sensors, temperature sensors, flow meters and other transmitters do not need to report data very fast. It is necessary for data to be reported every few seconds. Throughput is hardly a good reason to use RTU over Ethernet. The most basic difference between MODBUS RTU and MODBUS TCP/IP is that MODBUS TCP/IP runs on an Ethernet physical layer, and Modbus RTU is a serial level protocol. Modbus TCP/IP also uses a 6-byte header to allow routing. You can have a lot of issues trying to get the RS485 network to work correctly. You must deal with wire termination issues, network termination issues and more configuration issues than with Ethernet devices. But overall would you take Modbus RTU Devices over Modbus TCP? Modbus TCP/IP is simply the Modbus RTU protocol with a TCP interface that runs on Ethernet. So, if you desire data fast, and you want to come into the 21st century, then Modbus TCP/IP is the way to go.

Leave a Reply

Your email address will not be published. Required fields are marked *