Originally formulated in 1979, the Modbus protocol is one
of the oldest, but most widely used, industrial control
protocols [4–6]. Modbus engages a simple request/reply
communication mechanism between a control center and
field devices. For example, a control center (master unit)
might send a “read” message to a sensor (slave device)
to obtain the value of a process parameter (e.g., pressure).
Alternatively, it might send a “write” message to an actuator
(slave device) to perform a control action (e.g., open a valve).
A unicast transaction involving a master and an addressed
slave involves two messages, a request message (e.g., to
measure pressure or open a valve) and the corresponding
response message (e.g., the pressure measurement or
an acknowledgment that the valve was opened, or an
error message indicating that the operation could not be
performed). A broadcast transaction involves the master
sending a message to all the slaves; the slaves do not send
response messages. An example broadcast transaction is a
“write” message that resets all the sensors and actuators.
Modbus communications occur over serial lines or, more
recently, using TCP/IP as a transport mechanism. The
following sections describe the Modbus Serial and TCP
protocols in more detail.