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