The following information is taken from the Modicon Web site (modbus.org) and the Modbus application
Programming or operation errors are those involving illegal data in a message, no response form the PC to its
interface unit, or difficulty in communicating with a slave. These errors result in an exception response from
either the master computer software (Modbus Communications Handler) or the PC Slave, depending on the type
of error. The exception response codes are listed below. When a PC slave detects one of these errors, it sends a
response message to the master consisting of the slave address, function code, error code and error check fields.
To indicate that the response is a notification of an error, the high order bit of the function code is set to 1.
|01/0x01||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 not configured
and is being asked to return register values.
|02/0x02||Illegal Data Address||The data address received in the query is not an allowable
address for the server (or slave). More specifically, the
combination of reference number and transfer length is
invalid. For a controller with 100 registers a request of offset
96 and a length of 5 will generate exception 02.
|03/0x03||Illegal Data Value||The value contained in the query data field is not an allowable
value for the 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/0x04||Failure In Associated
|An Unrecoverable error occurred while the server (or slave)
was attempting to perform the requested action. (See Note 1)
|05/0x05||Acknowledge||Specialized in conjunction with programming commands.
The server (or slave) has accepted the request and is
processing it, but 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/0x06||Busy, Rejected Message||Specialized use in conjunction with programming commands.
The server (of slave) is engaged in processing a long-duration
program command. The client (or master) should retransmit
the message later when the server (or slave) is free.
|07/0x07||NAK – Negative
|The program function just requested cannot b performed.
Issue poll to obtain detailed device dependent error
information. Valid for Program/Poll 13 and 14 only.
|08/0x08||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.
|10/0x0A||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 out port for
processing the request.
|11/0x0B||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