MVI56-MCM ♦ ControlLogix Platform Reference
Modbus Communication Module
Page 136 of 159 ProSoft Technology, Inc.
July 24, 2008
In this example, the client addresses a request to server device. The function
code (01) is for a Read Output Status operation. It requests the status of the
output at address 1245 (04A1 hex). Note that only that one output is to be read,
as specified by the number of outputs field (0001).
If the output address is non-existent in the server device, the server will return
the exception response with the exception code shown (02). This specifies an
illegal data address for the slave.
MODBUS Exception Codes
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 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 with
offset 96 and length 4 would succeed, a request with offset
96 and length 5 will generate exception 02.
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, because 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-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.