Except for broadcast messages, when the MRX and MWX instructions send
a query to a Modbus server they expect a normal response. If the server
receives the query without a communication error, but cannot handle it
(for example, if the request is to write to a non-existent coil or register),
the server will return an exception response informing the instruction
of the nature of the error.
The response value from the server can optionally be stored in a designated
Exception Response location.
Code |
Name |
Meaning |
01 |
Illegal Function |
The function code received in the query is not an allowable action for
the server (or slave). This may be because the function code is only applicable
to newer devices, and was not implemented in the unit selected. It could
also indicate that the server (or slave) is in the wrong state to process
a request of this type, for example because it is unconfigured and is
being asked to return register values. |
02 |
Illegal Data Address |
The function code received in the query is not an allowable action for
the server (or slave). This may be because the function code is only applicable
to newer devices, and was not implemented in the unit selected. It could
also indicate that the server (or slave) is in the wrong state to process
a request of this type, for example because it is unconfigured and is
being asked to return register values. |
03 |
Illegal Data Value |
A value contained in the query data field is not an allowable value
for server (or slave). This indicates a fault in the structure of the
remainder of a complex request, such as that the implied length is incorrect.
It specifically does NOT mean that a data item submitted for storage in
a register has a value outside the expectation of the application program,
since the MODBUS protocol is unaware of the significance of any particular
value of any particular register. |
04 |
Slave Device Failure |
An unrecoverable error occurred while the server (or slave) was attempting
to perform the requested action. |
05 |
Acknowledge |
Specialized use in conjunction with programming commands.
The server (or slave) has accepted the request and is processing it,
but a long duration of time will be required to do so. This response is
returned to prevent a timeout error from occurring in the client (or master).
The client (or master)
can next issue a Poll Program Complete message to determine if processing
is completed. |
06 |
Slave Device Busy |
Specialized use in conjunction with programming commands.
The server (or slave) is engaged in processing a long&endash;duration
program command. The client (or master) should retransmit the message
later when the server (or slave) is free. |
08 |
Memory Parity Error |
Specialized use in conjunction with function codes 20 and 21 and reference
type 6, to indicate that the extended file area failed to pass a consistency
check.
The server (or slave) attempted to read record file, but detected a
parity error in the memory. The client (or master) can retry the request,
but service may be required on the server (or slave) device. |
0A |
Gateway Path Unavailable |
Specialized use in conjunction with gateways, indicates that the gateway
was unable to allocate an internal communication path from the input port
to the output port for processing the request. Usually means that the
gateway is misconfigured or overloaded. |
0B |
Gateway Target Device Failed to Respond |
Specialized use in conjunction with gateways, indicates that no response
was obtained from the target device. Usually means that the device is
not present on the network. |