Design and Implementation of a Secure Modbus Protocol
In every industry or corporation, having a stable system that collects, monitors and transfers essential information is an essential matter so that it can ensure its smooth-sailing operations. So, in 1979, a multi-national corporation published a communication protocol that can be used by any industrial environment, the Modbus Protocol. If you have interest in knowing more about this protocol, you ca click Equustek Solutions Inc. has since released their discounted prices on modbus gateways.
With its reputation of being the top means in linking industrial electronic devices, Modbus protocol is developed for industrial applications. Moreover, it is also free in royalty and published openly, with little to no hassle in installing and maintenance and in moving raw bits and words without putting restrictions on its vendors.
Some of its versions are Modbus TCP, Modbus RTU, Modbus ASCII, Modbus Plus, Modbus Daniels, Modbus Tek-Air and Modbus Omniflow. Of these, the Modbus RTU is the most popular.
Design and Implementation
Modbus is a master-slave protocol. On this setting, the Modbus needs a node that will follow the protocol’s commands. The slave nodes will not transmit information not unless it will be ordered by the master node. In addition, they are also not able to communicate to other slave nodes.
A certain address is given to each device that intends to communicate with Modbus protocol. A Modbus master node has the Modbus address of the device that is assigned to it. Only the assigned device will act on the command sent by the master node. In case of transmission errors, all of the Modbus commands have the so-called checksum information so that it can easily detect the errors.
Since it is a very simple and mostly copied protocol, there are many modems and gateways that can support Modbus protocol.
Format of the Frame
The frame of the Modbus protocol is made of an Applicant Data Unit (ADU) that encompasses the Protocol Data Unit (PDU).
ADU comes from the combination of the address, PDU and error check, while the PDU is from the Function code and the data collected.
Request and Response Cycle
Function codes in the request instruct the slave device the action it has to perform. It has the data bytes that is needed by any slave device in order to do the instructed action from the master node. Moreover, the data field must have the identified register to start and how many registers to read.
When there is a normal response in the slave device, the data bytes have the collected data of the slave. However, if there is an error, there will modification in the function code to inform that there is an error in the response, and the data bytes have the code that contains the error. Afterwards, there is the error check field which makes the master device confirm the received message content.
The Transmission Modes
The American Standard Code for Information Interchange (ASCII) mode is able to send an 8-bit byte as two ASCII characters. This way, it can have time intervals to occur on every character, usually up to one second, without having errors.
Remote Terminal Unit (RTU) mode, on the other hand, has two 4-bit hexadecimal characters. Its greater density can make data much better.