Class ModbusSlaveErrorResponseException
java.lang.Object
java.lang.Throwable
java.lang.Exception
org.openhab.core.io.transport.modbus.exception.ModbusTransportException
org.openhab.core.io.transport.modbus.exception.ModbusSlaveErrorResponseException
- All Implemented Interfaces:
Serializable
@NonNullByDefault
public abstract class ModbusSlaveErrorResponseException
extends ModbusTransportException
Exception for explicit exception responses from Modbus slave
- Author:
- Sami Salonen - Initial contribution, Nagy Attila Gabor - added getter for error type
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Enum for known exception codes that modbus slaves (servers) can used to indicate exceptions -
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Specialized use in conjunction with programming commands.static final int
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.static final int
Specialized use in conjunction with gateways, indicates that no response was obtained from the target device.static final int
The data address received in the query is not an allowable address for the slave.static final int
A value contained in the query data field is not an allowable value for the slave.static final int
The function code received in the query is not an allowable action for the slave.static final int
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.static final int
The slave cannot perform the program function received in the query.static final int
Specialized use in conjunction with programming commands.static final int
An unrecoverable error occurred while the slave was attempting to perform the requested action. -
Constructor Summary
-
Method Summary
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Field Details
-
ILLEGAL_FUNCTION
public static final int ILLEGAL_FUNCTIONThe function code received in the query is not an allowable action for the 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 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. If a Poll Program Complete command was issued, this code indicates that no program function preceded it. -
ILLEGAL_DATA_ACCESS
public static final int ILLEGAL_DATA_ACCESSThe data address received in the query is not an allowable address for the 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. -
ILLEGAL_DATA_VALUE
public static final int ILLEGAL_DATA_VALUEA value contained in the query data field is not an allowable value for the slave. This indicates a fault in the structure of 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. -
SLAVE_DEVICE_FAILURE
public static final int SLAVE_DEVICE_FAILUREAn unrecoverable error occurred while the slave was attempting to perform the requested action. -
ACKNOWLEDGE
public static final int ACKNOWLEDGESpecialized use in conjunction with programming commands. The 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 master. The master can next issue a Poll Program Complete message to determine if processing is completed. -
SLAVE_DEVICE_BUSY
public static final int SLAVE_DEVICE_BUSYSpecialized use in conjunction with programming commands. The slave is engaged in processing a long-duration program command. The master should retransmit the message later when the slave is free. -
NEGATIVE_ACKNOWLEDGE
public static final int NEGATIVE_ACKNOWLEDGEThe 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 decimal. The master should request diagnostic or error information from the slave. -
MEMORY_PARITY_ERROR
public static final int MEMORY_PARITY_ERRORSpecialized 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 slave attempted to read extended memory or record file, but detected a parity error in memory. The master can retry the request, but service may be required on the slave device. -
GATEWAY_PATH_UNVAVAILABLE
public static final int GATEWAY_PATH_UNVAVAILABLESpecialized 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 the gateway is misconfigured or overloaded. -
GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND
public static final int GATEWAY_TARGET_DEVICE_FAILED_TO_RESPONDSpecialized 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.
-
-
Constructor Details
-
ModbusSlaveErrorResponseException
public ModbusSlaveErrorResponseException()
-
-
Method Details
-
getExceptionCode
public abstract int getExceptionCode()- Returns:
- the Modbus exception code that happened
-