Modbus RTU is the most common implementation available for Modbus. Modbus RTU is simply Modbus over serial communication media like RS485, RS422, and RS232.
The RTU format follows the commands/data with a cyclic redundancy check checksum.
Standard Modbus RTU nodes addresses are 1-255 with 0 being reserved for broadcast messages and write-only.
The size of the serial Modbus PDU is limited by the size constraint that was inherited from the first Modbus serial network implementation of 256 bytes. Modbus slave addresses are limited to 1-255. Addresses 1-247 are available to the user and addresses 248-255 are reserved.
Modbus TCP/IP or Modbus TCP
Modbus TCP or TCP/IP is basically Modbus RTU wrapped in an Ethernet (IEEE 802.3) package with the destination address as an IP address using the TCP/IP transaction protocol.
The TCP port 502 is reserved for Modbus, while the new Modbus/TCP Security uses Port 802
Also known as Modbus IP, Modbus Ethernet, and Modbus TCP/IP.
Modbus TCP runs on an Ethernet physical layer. It uses a 6-byte header to allow routing.
Modbus TCP allows for multiple clients and is not limited to 32 devices like RS 485.
Unlike Modbus RTU (serial) which you can daisy chain all devices together, Modbus TCP (Ethernet) requires a switch to connect multiple devices.
In the Modbus TCP/IP message format, the Modbus PDU is typically wrapped into the Ethernet package and consists of the Modbus function code and the Modbus data request. The slave address and error code (CRC) are typically not needed as the Modbus TCP/IP packet is routed by the network to the desired IP address (unless there is to be a connection into a serial network), and the error check is done as part of the Ethernet packet.
In Modbus TCP/IP used Modbus Server & Modbus Client Network. Any Modbus device connected switches or series of switches.
This is used in serial communication and makes use of ASCII characters for protocol communication. The ASCII characters can be read by human operators. The ASCII format uses a longitudinal redundancy check checksum. Modbus ASCII messages are framed by leading colon (":") and trailing newline (CR/LF).
It is however less secured.
Modbus Plus (Modbus+, MB+ or MBP)
Modbus Plus supports peer-to-peer communications between multiple masters.
It requires a dedicated co-processor to handle fast HDLC-like token rotation. It uses twisted pair at 1 Mbit/s and includes transformer isolation at each node, which makes it transition/edge-triggered instead of voltage/level-triggered. Special hardware is required to connect Modbus Plus to a computer, typically a card made for the ISA, PCI or PCMCIA bus.
Enron Modbus returns 4-bytes per register instead of the 2-bytes implied by the term “Holding Register”. This means a poll of registers 4x5001 and 4x5002 in Enron-MB returns 8-bytes or two 32-bit integers, whereas Standard Modbus would only return 4-bytes or one 32-bit integer treated as two 16-bit integers. In addition, polling register 4x5010 in Enron-MB returns the tenth 32-bit long integer, whereas Standard Modbus would consider this 1/2 of the fifth 32-bit long integer in this range.
Challenges of using Enron-Modbus slaves are;
- Some Masters/clients insist on receiving 2-bytes per register thus they can never successfully poll a slave that returns 40 bytes when they ask for 10 registers and expect only 20 bytes.
- Some Masters/clients handling 32-bit responses will miscalculate the offset to the next block of registers. Thus, after they can poll 50 registers starting at 4x5001, they assume the next block of 50 starts at 4x5101 instead of 4x5051 as Enron-MB expects.
JBus has 255 stations on a bus and can read a maximum number of 2000 bits in a single request. It can read 125 words, write 123 words and write 1968 bits in a single request.
Jbus supports 65535 points unlike the standard Modbus RTU which had a limit of 9999 points. These days, almost all Modbus RTU devices are actually Jbus devices as they support 65535points.
Jbus access objects for instance address n while MODBUS uses address n+1. The addressing offset of 1 which must be managed.
This is an extension of standard Modbus with support for historical and flow data. It was designed for the Pemex oil and gas company for use in process control and never gained widespread adoption.