ADS error codes
Error codes are generated in the event of an error during ADS access to an IO-Link device.
The possible error codes are listed in tables C.1 and C.2.
Example of an AdsReturnCode
AdsReturnCode 0x80110700
- 80: Device Application Error (IO-Link Spec),
- 11: Index not Available (IO-Link Spec),
- 0700: General ADS Error
ErrorTypes (IO-Link Spec)
| 
 Incident  | 
 Error Code  | 
 Additional Code  | 
 Name  | 
 Definition  | 
|---|---|---|---|---|
| 
 Device application error – no details  | 
 0x80  | 
 0x00  | 
 APP_DEV  | 
 This ErrorType shall be used if the requested service has been refused by the Device application and no detailed  | 
| 
 Index not available  | 
 0x80  | 
 0x11  | 
 IDX_NOTAVAIL  | 
 This ErrorType shall be used whenever a read or write access occurs to a not existing Index.  | 
| 
 Subindex not available  | 
 0x80  | 
 0x12  | 
 SUBIDX_NOTAVAIL  | 
 This ErrorType shall be used whenever a read or write access occurs to a not existing Subindex.  | 
| 
 Service temporarily not available  | 
 0x80  | 
 0x20  | 
 SERV_NOTAVAIL  | 
 This ErrorType shall be used if a parameter is not accessible for a read or write service due to the current state of the Device application.  | 
| 
 Service temporarily not available – local control  | 
 0x80  | 
 0x21  | 
 SERV_NOTAVAIL_LOCCTRL  | 
 This ErrorType shall be used if a parameter is not accessible for a read or write service due to an ongoing local operation at the Device (for example operation or parameterization via an on-board Device control panel).  | 
| 
 Service temporarily not available – Device control  | 
 0x80  | 
 0x22  | 
 SERV_NOTAVAIL_DEVCTRL  | 
 This ErrorType shall be used if a read or write service is not accessible due to a remote triggered state of the device application (for example parameterization during a remote triggered teach-in operation or calibration).  | 
| 
 Access denied  | 
 0x80  | 
 0x23  | 
 IDX_NOT_WRITEABLE  | 
 This ErrorType shall be used if a write service tries to access a read-only parameter.  | 
| 
 Parameter value out of range  | 
 0x80  | 
 0x30  | 
 PAR_VALOUTOFRNG  | 
 This ErrorType shall be used for a write service to a parameter outside its permitted range of values.  | 
| 
 Parameter value above limit  | 
 0x80  | 
 0x31  | 
 PAR_VALGTLIM  | 
 This ErrorType shall be used for a write service to a parameter above its specified value range.  | 
| 
 Parameter value below limit  | 
 0x80  | 
 0x32  | 
 PAR_VALLTLIM  | 
 This ErrorType shall be used for a write service to a parameter below its specified value range.  | 
| 
 Parameter length overrun  | 
 0x80  | 
 0x33  | 
 VAL_LENOVRRUN  | 
 This ErrorType shall be used when the content of a write service to a parameter is greater than the parameter specified length. This ErrorType shall also be used, if a data object is too large to be processed by the Device application (for example ISDU buffer restriction).  | 
| 
 Parameter length underrun  | 
 0x80  | 
 0x34  | 
 VAL_LENUNDRUN  | 
 This ErrorType shall be used when the content of a write service to a parameter is less than the parameter specified length (for example write access of an Unsigned16 value to an Unsigned32 parameter).  | 
| 
 Function not available  | 
 0x80  | 
 0x35  | 
 FUNC_NOTAVAIL  | 
 This ErrorType shall be used for a write service with a command value not supported by the Device application (for example a SystemCommand with a value not implemented).  | 
| 
 Function temporarily unavailable  | 
 0x80  | 
 0x36  | 
 FUNC_UNAVAILTEMP  | 
 This ErrorType shall be used for a write service with a command value calling a Device function not available due to the current state of the Device application (for example a SystemCommand).  | 
| 
 Invalid parameter set  | 
 0x80  | 
 0x40  | 
 PAR_SETINVALID  | 
 This ErrorType shall be used if values sent via single parameter transfer are not consistent with other actual parameter settings (for example overlapping set points for a binary data setting  | 
| 
 Inconsistent parameter set  | 
 0x80  | 
 0x41  | 
 PAR_SETINCONSIST  | 
 This ErrorType shall be used at the termination of a block parameter transfer with ParamDownloadEnd or ParamDownloadStore if the plausibility check shows inconsistencies  | 
| 
 Application not ready  | 
 0x80  | 
 0x82  | 
 APP_DEVNOTRDY  | 
 This ErrorType shall be used if a read or write service is refused due to a temporarily unavailable application (for example peripheral controllers during startup).  | 
| 
 Vendor specific  | 
 0x81  | 
 0x00  | 
 UNSPECIFIC  | 
 This ErrorType will be propagated directly to higher level processing elements as an error (no warning) by the Master.  | 
| 
 Vendor specific  | 
 0x81  | 
 0x01 to 0xFF  | 
 VENDOR_SPECIFIC  | 
Table C.1 ErrorTypes, IO-Link Spec
Derived ErrorTypes (IO-Link Spec)
| 
 Incident  | 
 Error Code  | 
 Additional Code  | 
 Name  | 
 Definition  | 
|---|---|---|---|---|
| 
 Master – Communication error  | 
 0x10  | 
 0x00  | 
 COM_ERR  | 
 The Master generates a negative service response with this ErrorType if a communication error occurred during a read or write service, for example the SDCI connection is interrupted.  | 
| 
 Master – ISDU timeout  | 
 0x11  | 
 0x00  | 
 I-SERVICE_TIMEOUT  | 
 The Master generates a negative service response with this ErrorType, if a Read or Write service is pending longer than the specified I-Service timeout in the Master.  | 
| 
 Device Event – ISDU error (DL, Error, single shot, 0x5600)  | 
 0x11  | 
 0x00  | 
 I-SERVICE_TIMEOUT  | 
 If the Master received an Event with the EventQualifier and the EventCode 0x5600, a negative service response indicating a service timeout is generated and returned to the requester (Master – ISDU timeout).  | 
| 
 Device Event – ISDU illegal service primitive (AL, Error, single shot, 0x5800)  | 
 0x11  | 
 0x00  | 
 I-SERVICE_TIMEOUT  | 
 If the Master received an Event with the EventQualifier and the EventCode 0x5800, a negative service response indicating a service timeout is generated and returned to the requester (Master – ISDU timeout).  | 
| 
 Master – ISDU checksum error  | 
 0x56  | 
 0x00  | 
 M_ ISDU_CHECKSUM  | 
 The Master generates a negative service response with this ErrorType, if its data link layer detects an ISDU checksum error.  | 
| 
 Master – ISDU illegal service primitive  | 
 0x57  | 
 0x00  | 
 M_ ISDU_ILLEGAL  | 
 The Master generates a negative service response with this ErrorType, if its data link layer detects an ISDU illegal service primitive.  | 
| 
 Device Event – ISDU buffer overflow (DL, Error, single shot, 0x5200)  | 
 0x80  | 
 0x33  | 
 VAL_LENOVRRUN  | 
 If the Master received an Event with the EventQualifier and the EventCode 0x5200, a negative service response indicating a parameter length overrun is generated and returned to the requester (see parameter length overrun) 
 Events from legacy Devices shall be redirected in compatibility mode to this derived ErrorType  | 
Table C.2 Derived ErrorTypes, IO-Link Spec