Enron Modbus Read Boolean Variables (FC01)
Function Code 01
Request
This command is requesting the ON/OFF status of boolean variables # 1020 to 1056
from the slave with address 17.
11 01 03FC 0025 3F35
11: The SlaveID
(11 hex = address 17 )
01: The Function Code (read Boolean variables)
03FC: The Data Address of the first boolean to read.
(1020 = 03FC hex)
(
03FC hex = 1020 decimal
)
0025: The total number of booleans
requested. (25
hex = 37, inputs 1020 to 1056 )
3F35
: The CRC (cyclic redundancy check) for error checking.
Response
11 01 05 CD6BB20E1B 45E6
11: The SlaveID
(11 hex = address 17 )
01: The Function Code (read Boolean variables)
05
: The number of data bytes to follow (37 Coils / 8 bits per byte = 5 bytes)
CD: Boolean variables 1020 - 1027
(1100 1101)
6B: Boolean variables 1028 - 1035
(0110 1011)
B2: Boolean variables 1036 - 1043
(1011 0010)
0E: Boolean variables 1044 - 1051
(0000 1110)
1B: Boolean variables 1052 - 1056
(0001 1011)
45E6: The CRC (cyclic redundancy check).
The more significant bits contain the higher coil variables. This shows that coil 1036 is off ( 0) and 1043 is on ( 1). Due to the number of coils requested, the last data field 1B contains the status of only 5 coils. The three most significant bits in this data field are filled in with zeroes.