Exception codes
- Last UpdatedNov 17, 2022
- 3 minute read
When an exception occurs the interface will write the exception code and a short description of the exception to the PI log. A list of possible exception response codes is shown below along with the corresponding PI log message text and the meaning of the exception:
|
Code (Hex) |
Message ID |
Log Message Text |
Meaning |
|---|---|---|---|
|
01 |
43400 |
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 |
43401 |
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, the PDU addresses the first register as 0, and the last one as 99. If a request is submitted with a starting register address of 96 and a quantity of registers of 4, then this request will successfully operate (address-wise at least) on registers 96, 97, 98, 99. If a request is submitted with a starting register address of 96 and a quantity of registers of 5, then this request will fail with Exception Code 0x02 "Illegal Data Address" since it attempts to operate on registers 96, 97, 98, 99 and 100, and there is no register with address 100. |
|
03 |
43402 |
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 |
43403 |
SLAVE DEVICE FAILURE |
An unrecoverable error occurred while the server (or slave) was attempting to perform the requested action. |
|
05 |
43404 |
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 |
43405 |
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. |
|
07 |
43406 |
NEGATIVE ACKNOWLEDGEMENT |
The slave cannot perform the program function received in the query. This code is returned for an unsuccessful programming request using function code 13 or 14 (codes not supported by this interface). The master should request diagnostic information from the slave. Note: This exception code is for function codes not supported by this interface, but is included to be fully compatible with all Modbus exceptions. |
|
08 |
43407 |
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 |
43408 |
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 not configured correctly or overloaded. |
|
11 |
43409 |
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. |
|
21 |
43410 |
Response CRC did not match calculated CRC |
Indicates that the CRC contained in the response packet does not match the CRC calculated by the interface after receiving the packet. Note: This exception code is not standard Modbus and is provided by the interface so that a CRC mismatch will be handled as if it is an exception. |
|
?? |
43411 |
Unknown Error |
Indicates an undefined exception occurred. This should never occur, but will be handled by the interface as if a known exception occurred. |