PDU
The Protocol Data Unit (PDU) is the MODBUS function code
and data field. It is packed together with the Address Field and
the CRC (or LRC) to form the Modbus Serial Line PDU.
The MODBUS protocol defines three PDUs. They are:
•
MODBUS Request PDU, mb_req_pdu
•
MODBUS Response PDU, mb_rsp_pdu
•
MODBUS
Exception
Response
PDU,
mb_excep_rsp_pdu
Read Holding Registers
(03, 0003hex)
This function code is used to READ the contents of a
contiguous block of holding registers in a remote device; in
other words, it allows to read the values set ina group of work
parameters placed in order.
Read Input Register (04,
0004hex)
This function code is used to READ from 1 to 125 contiguous
input registers in a remote device; in other words, it allows to
read some result values and state / alarm messages in a
remote device.
Register
MODBUS functions operate on memory registers to configure,
monitor, and control device I/O.
RTU transmission mode
Remote Terminal Unit. When devices communicate on a
MODBUS serial line using the RTU mode, each 8–bit byte in a
message contains two 4–bit hexadecimal characters. The main
advantage of this mode is that its greater character density
allows better data throughput than ASCII mode for the same
baud rate. Each message must be transmitted in a continuous
stream of characters.
Server
A Server is any program that awaits data requests to be sent
to it. Servers do no initiate contacts with Clients, but only
respond to them.
MODBUS follows the Client/Server model. MODBUS Masters
are referred to as clients, while MODBUS Slaves are servers.
Service request
It is the MODBUS Request, i.e. the message sent on the
network by the Client to initiate a transaction.
Slave
A Slave is any program that awaits data requests to be sent to
it. Slaves do no initiate contacts with Masters, but only
respond to them.
Transmission rate
Data transfer rate (in bps).
Write Multiple Registers
(16, 0010hex)
This function code is used to WRITE a block of contiguous
registers (1 to 123 registers) in a remote device.
Write Single Register (06,
0006hex)
This function code is used to WRITE a single holding register in
a remote device.