Explanation of function codes
Read Coil Status [01h]:
This function reads the status (ON/OFF) of selected coils. An example follows below.
• Read intelligent input terminals [1] to [5] of an inverter having a slave address “8.”
• This example assumes the intelligent input terminals have terminal states listed
below.
Item Data
Intelligent input
terminal
[1] [2] [3] [4] [5]
Coil number 7 8 9 10 11
Coil Status ON OFF ON OFF OFF
Query: Response:
No. Field Name
Example
(Hex)
No. Field Name
Example
(Hex)
1 Slave address *1 08 1 Slave address 08
2 Function code 01 2 Function code 01
3 Coil start address *4
(high order)
00 3 Data size (in bytes) 01
4 Coil start address *4
(low order)
06 4 Coil data *3 05
5 Number of coils
(high order *2)
00 5 CRC-16 (high order) 92
6 Number of coils
(low order *2)
05 6 CRC-16 (low order) 17
7 CRC-16 (high order) 1C
8 CRC-16 (low order) 91
Note 1: Broadcasting is disabled.
Note 2: When 0 or more than 31 is specified as a number of coils, error code “03h” is
returned.
Note 3: Data is transferred by the specified number of data bytes (data size).
Note 4: The PDU Coils are addressed starting at zero. Therefore coils numbered 1-31
are addressed as 0-30. Coil address value (transmitted on Modbus line) is 1
less than the Coil Number.
• The data set in the response shows terminal state of coils 7 to 14.
• Data “05h = 00000101b” indicates the following assuming coil 7 is the LSB.
Item Data
Coil Number 14 13 12 11 10 9 8 7
Coil Status OFF OFF OFF OFF OFF ON OFF ON
• When a read coil is outside the defined coils, the final coil data to be transmitted
contains “0“as the status of the coil outside the range.
• When the Read Coil Status command cannot be executed normally, see the exception
response.
B−10
Appendix B