6.2 Read coils
Command messages
The read coils functions (01hex x) allow the master to request information from the slave. The
command message of a coil read is structured as shown below. Each row in the table compares
to a byte in the message – top byte (Slave address) is transmitted rst.
The initial slave address is 1. Address 0 (broadcast) and other values between 1 and 255 can be
used.
The function code of this message is 01 hex (read coil) .
The starting coil is the rst binary data to be read.
The quantity indicates how many consecutive bits are to be read. The quantity may range from
1 to 432 bits.
A CRC value is generated from a calculation using the values of the slave address, function code,
and data sections of the message. When the slave receives the command message it calculates
a CRC-16 value and compares it to the one in the CRC-16 eld of the command message. If these
two CRC-16 values are the same the slave has received the proper command message. If the two
CRC-16 values are not the same the slave will not respond.
Table 6-2 Read coil command messages
Message byte Example
Slave address xxhex
Function code 01hex
Starting coil Upper 00hex
Lower 00hex
Quantity Upper 00hex
Lower xxhex
CRC-16 Lower xxhex
Upper xxhex
Normal response
If the command message has a valid slave address, function code, starting coil and quantity
value the slave will respond with a normal response message. If the command message has an
invalid slave address, function code, starting coil and/or quantity the slave will respond with an
exception response message.
The normal response message contains the same slave address and function code as the
command message.
The Bit count is the number of status bits returned in the response message. The number equals
the quantity in the command message.
Functions codes
6.2 Read coils
Modbus RTU RS 485
24 Operating Instructions, 03/2021, A5E00753974-AB