Modbus is an open serial communications protocol. It was developed in 1979 for use with Programmable Logic Controller (PLC) devices, and is now widely used for connecting many types of industrial electronic devices connected on different types of networks.
Modbus is a Widely Used ProtocolModbus is used extensively for a number of reasons, including the following:
- Modbus is an open-source protocol, meaning that it can be included in a wide range of device types from any equipment vendor
- Modbus uses a simple message structure, making it less difficult to deploy. Modbus might require just a matter of days to implement, a big improvement over the months of work that might be required to learn and deploy other protocols
- Modbus moves raw words and bits, and it has very few restrictions
Modbus Utilizes Serial or Ethernet Connections
The Modbus protocol can be used with two types of serial connections, both RS-232 and RS-485. Some versions of Modbus can also be sent over Ethernet or TCP/IP. These Modbus communications are packed as a single bit, or 16-bit word packets.
Modbus is not part of a physical layer on a network, as with some other protocols. Modbus communications are transferred on top of physical layers, enabling it to be utilized on many different types of networks. This non-physical layer property makes Modbus an application layer protocol.
Two Variants of the Modbus Protocol
There are two variants of the Modbus protocol that travel over serial connections. One of these is Modbus RTU. This variation is more compact, and uses binary communication. In this format, data transmissions are always followed by a cyclic redundancy check checksum, which are used to detect transmission problems.
The second variant is Modbus ASCII. This version is more verbose, and it uses hexadecimal ASCII encoding of data that can be read by human operators. A different type of checksum, the longitudinal redundancy check checksum, takes place after Modbus ASCII data transmissions. Modbus ASCII is the less secure of the two variants.
As it is also less efficient than Modbus RTU, operators should only utilize Modbus ASCII for the transmission of data to devices which do not support the Modbus RTU format. Modbus ASCII can also be useful when RTU messaging cannot be properly applied.
Modbus is a "Master/Slave " Protocol
Modbus communications take place between a centralized master and up to 247 connected electronic devices on a single network. The design is commonly referred to as a "master/slave" protocol, because the system "master" requests information from connected devices, which are referred to as "slaves". Slave devices only send information to the master in response to these requests, and do not operate autonomously. The master can also write information to the slave devices, but the slave devices cannot write information to the master.
When a slave device transmits a communication to the Modbus master, it begins the message with a unique address identifier. This is a number ranging from 1 to 247. This enables the master to identify which specific device is responding with the requested information.