This table refers to a master-slave communication in MODBUS RTU.
Values contained in Response messages are in hex format.
Slave address
Function code + $80 (e.g. 03+80, 04+80, 10+80, according to the query/command)
Exception code
CRC
Response example: 018301F080
Exception codes for MODBUS RTU/ASCII are following described:
$01
ILLEGAL FUNCTION: the function code received in the query is not an allowable action.
$02
ILLEGAL DATA ADDRESS: the data address received in the query is not an allowable address
(e.g. the combination of register and transfer length is invalid).
$03
ILLEGAL DATA VALUE: a value contained in the query data field is not an allowable value.
$04
ILLEGAL RESPONSE LENGTH: the request would generate a response with size bigger than that
available for MODBUS protocol.
3.2 MODBUS TCP
In this section, the table describes the error response structure following to a not-valid query or command.
This table refers to a master-slave communication in MODBUS TCP.
Values contained in Response messages are in hex format.
Transaction ID
Protocol ID
Data bytes
Unit ID
Function code + $80 (e.g. 03+80, 04+80, 10+80, according to the query/command)
Exception code
Response example: 010000000003018301
Exception codes for MODBUS TCP are following described:
$01
ILLEGAL FUNCTION: the function code is unknown by the server.
$02
ILLEGAL DATA ADDRESS: the data address received in the query is not an allowable address for
the slave (i.e. the combination of register and transfer length is invalid).
$03
ILLEGAL DATA VALUE: a value contained in the query data field is not an allowable value for the slave.
$04
SERVER FAILURE: the server failed during the execution.
$05
ACKNOWLEDGE: the server accepted the server invocation but the service requires a relatively long
time to execute. The server therefore returns only an aknowledgement of the service invocation re-
MODBUS RTU/ASCII, TCP
01
-
83
-
01
-
F0
High
80
Low
01
-
00
High
00
Low
00
High
00
Low
03
-
01
-
83
-
01
-
57