IO-Link Master  1.03.03
IO-Link Types

Overview

IO-Link Master Types.

IO-Link definitions for Master and Device.

Data Structures

struct  IOL_SDirectParam1
 This structure stores the Direct Parameter Page 1. More...
 
struct  IOL_SEventEntry
 This structure defines a event buffer entry. More...
 

Macros

#define NULL   ((void*)0)
 
#define FALSE   ((TBOOL)0)
 
#define TRUE   ((TBOOL)1)
 

Typedefs

typedef char CHAR8
 8 bit character data type
 
typedef uint8_t TBOOL
 Boolean data type (at least 1 bit)
 
typedef int8_t INT8S
 8 bit signed integer
 
typedef int16_t INT16S
 16 bit signed integer
 
typedef int32_t INT32S
 32 bit signed integer
 
typedef uint8_t INT8U
 8 bit unsigned integer
 
typedef uint16_t INT16U
 16 bit unsigned integer
 
typedef uint32_t INT32U
 32 bit unsigned integer
 
typedef float FLOAT32
 32 bit float
 
typedef double FLOAT64
 64 bit float
 

Enumerations

enum  IOL_ETransferMode {
  IOL_eTransferMode_INACTIVE = 0, IOL_eTransferMode_COM1, IOL_eTransferMode_COM2, IOL_eTransferMode_COM3,
  IOL_eTransferMode_DI, IOL_eTransferMode_DO
}
 This enumeration indicates the requested operation mode. More...
 
enum  IOL_EODLen { IOL_eODLen_1_Byte = 0, IOL_eODLen_2_Byte, IOL_eODLen_8_Byte, IOL_eODLen_32_Byte }
 This enumeration indicates the number of OD bytes in M-sequence.
 
enum  IOL_ETransferStatus { IOL_eTransferStatus_OK, IOL_eTransferStatus_PARITY_ERROR, IOL_eTransferStatus_FRAMING_ERROR, IOL_eTransferStatus_OVERRUN }
 This enumeration contains supplementary information on the transfer. status. More...
 
enum  IOL_EErrorInfo {
  IOL_eErrorInfo_NONE = 0, IOL_eErrorInfo_NO_COMM, IOL_eErrorInfo_STATE_CONFLICT, IOL_eErrorInfo_PARAMETER_CONFLICT,
  IOL_eErrorInfo_TIMING_CONFLICT, IOL_eErrorInfo_NO_DATA, IOL_eErrorInfo_VALUE_OUT_OF_RANGE, IOL_eErrorInfo_ISDU_TIMEOUT,
  IOL_eErrorInfo_ISDU_NOT_SUPPORTED, IOL_eErrorInfo_TIMEOUT
}
 This enumeration contains error information. More...
 
enum  IOL_EComChannel { IOL_eComChannel_PROCESS = 0x00, IOL_eComChannel_PAGE = 0x20, IOL_eComChannel_DIAGNOSIS = 0x40, IOL_eComChannel_ISDU = 0x60 }
 This enumeration indicates the communication channel for the access to the user data.
 
enum  IOL_EDirection { IOL_eDirection_WRITE = 0x00, IOL_eDirection_READ = 0x80 }
 This enumeration contains ISDU transport direction. More...
 
enum  IOL_EDLMode {
  IOL_eDLMode_INACTIVE = 0, IOL_eDLMode_STARTUP, IOL_eDLMode_PREOPERATE, IOL_eDLMode_OPERATE,
  IOL_eDLMode_UNPAIRING
}
 This enumeration indicates the requested mode of the Master's DL on an individual port. More...
 
enum  IOL_EDLRealMode {
  IOL_eDLRealMode_INACTIVE = 0, IOL_eDLRealMode_COM1, IOL_eDLRealMode_COM2, IOL_eDLRealMode_COM3,
  IOL_eDLRealMode_COMLOST, IOL_eDLRealMode_ESTABCOM, IOL_eDLRealMode_ACTIVE, IOL_eDLRealMode_STARTUP,
  IOL_eDLRealMode_PREOPERATE, IOL_eDLRealMode_OPERATE, IOL_eDLRealMode_INVALID
}
 This enumeration indicates the status of the DL-mode handler. More...
 
enum  IOL_EMSequence { IOL_eMSequence_TYPE_0 = 0, IOL_eMSequence_TYPE_1 = 0x40, IOL_eMSequence_TYPE_2 = 0x80, IOL_eMSequence_TYPE_MASK = 0xC0 }
 This enumeration contains the M-sequence types. More...
 
enum  IOL_EPDInStatus { IOL_ePDInStatus_VALID = 0, IOL_ePDInStatus_INVALID = 0x40 }
 This enumeration indicates the qualifier status of the Process Data (PD). More...
 
enum  IOL_EPDOutStatus { IOL_ePDOutStatus_PDOUTVALID = 0, IOL_ePDOutStatus_PDOUTINVALID, IOL_ePDOutStatus_RTFAULT }
 This enumeration indicates the qualifier status of the Process Data (PD). More...
 
enum  IOL_EMHInfo { IOL_eMHInfo_COMLOST = 0, IOL_eMHInfo_ILLEGAL_MESSAGETYPE, IOL_eMHInfo_CHECKSUM_MISMATCH }
 This enumeration contains the exception indication of the message handler. More...
 
enum  IOL_ETargetMode {
  IOL_eTargetMode_INACTIVE = 0, IOL_eTargetMode_DI, IOL_eTargetMode_DO, IOL_eTargetMode_CFGCOM,
  IOL_eTargetMode_AUTOCOM, IOL_eTargetMode_COM1, IOL_eTargetMode_COM2, IOL_eTargetMode_COM3,
  IOL_eTargetMode_OSSDE, IOL_eTargetMode_SAFETYCOM, IOL_eTargetMode_MIXEDSAFETYCOM
}
 This enumeration indicates the requested operational mode of the port. More...
 
enum  IOL_EIQMode { IOL_eIQMode_INACTIVE = 0, IOL_eIQMode_IN, IOL_eIQMode_OUT }
 This enumeration indicates the requested IQ mode of the port. More...
 
enum  IOL_ECqMode { IOL_eCqMode_INACTIVE = 0, IOL_eCqMode_NPN, IOL_eCqMode_PNP, IOL_eCqMode_PUSHPULL }
 This enumeration indicates the requested CQ mode of the port. More...
 
enum  IOL_EBaudrate { IOL_eBaudrate_AUTO = 0, IOL_eBaudrate_COM1, IOL_eBaudrate_COM2, IOL_eBaudrate_COM3 }
 This enumeration indicates the transmission rate. More...
 
enum  IOL_EPortMode {
  IOL_ePortMode_INACTIVE = 0, IOL_ePortMode_DI, IOL_ePortMode_DO, IOL_ePortMode_COMREADY,
  IOL_ePortMode_READY_TO_OPERATE, IOL_ePortMode_SM_OPERATE, IOL_ePortMode_COMLOST, IOL_ePortMode_REVISION_FAULT,
  IOL_ePortMode_COMP_FAULT, IOL_ePortMode_SERNUM_FAULT, IOL_ePortMode_DS_FAULT, IOL_ePortMode_CYCTIME_FAULT,
  IOL_ePortMode_PORTPOWEROFF
}
 This enumeration indicates changes or faults of the local communication mode. More...
 
enum  IOL_EDeviceMode {
  IOL_eDeviceMode_INACTIVE = 0, IOL_eDeviceMode_IDLE, IOL_eDeviceMode_SIO, IOL_eDeviceMode_ESTABCOM,
  IOL_eDeviceMode_COMx, IOL_eDeviceMode_STARTUP, IOL_eDeviceMode_IDENT_STARTUP, IOL_eDeviceMode_IDENT_CHANGE,
  IOL_eDeviceMode_PREOPERATE, IOL_eDeviceMode_OPERATE, IOL_eDeviceMode_PAIRING, IOL_eDeviceMode_TIMEOUT,
  IOL_eDeviceMode_TEMPORARY, IOL_eDeviceMode_PERMANENT, IOL_eDeviceMode_PAIRED, IOL_eDeviceMode_UNPAIRED,
  IOL_eDeviceMode_UNPAIRING
}
 This enumeration indicates changes of communication states to the Device application. More...
 
enum  IOL_EIService {
  IOL_eIService_NO_SERVICE = 0, IOL_eIService_WR_REQ_8B_IDX, IOL_eIService_WR_REQ_8B_IDX_SIDX, IOL_eIService_WR_REQ_16B_IDX_SIDX,
  IOL_eIService_WR_RES_NOK, IOL_eIService_WR_RES_OK, IOL_eIService_RESERVED_1, IOL_eIService_RESERVED_2,
  IOL_eIService_RESERVED_3, IOL_eIService_RD_REQ_8B_IDX, IOL_eIService_RD_REQ_8B_IDX_SIDX, IOL_eIService_RD_REQ_16B_IDX_SIDX,
  IOL_eIService_RD_RES_NOK, IOL_eIService_RD_RES_OK, IOL_eIService_RESERVED_4, IOL_eIService_RESERVED_5
}
 This enumeration defines the I-Services of the ISDU.
 
enum  IOL_EDirectParam {
  IOL_eDirectParam_MasterCommand = 0, IOL_eDirectParam_MasterCycleTime, IOL_eDirectParam_MinCycleTime, IOL_eDirectParam_MSequenceCapability,
  IOL_eDirectParam_RevisionID, IOL_eDirectParam_ProcessDataIn, IOL_eDirectParam_ProcessDataOut, IOL_eDirectParam_VendorID1,
  IOL_eDirectParam_VendorID2, IOL_eDirectParam_DeviceID1, IOL_eDirectParam_DeviceID2, IOL_eDirectParam_DeviceID3,
  IOL_eDirectParam_FunctionID1, IOL_eDirectParam_FunctionID2, IOL_eDirectParam_Reserved, IOL_eDirectParam_SystemCommand,
  IOL_eDirectParam_MAX
}
 This enumeration is a index list of the Direct Parameter Page 1.
 
enum  IOL_EMasterCommand {
  IOL_eMasterCommand_Fallback = 0x5A, IOL_eMasterCommand_Inactive = 0x5C, IOL_eMasterCommand_PreDLink = 0x5D, IOL_eMasterCommand_FullDLink = 0x5E,
  IOL_eMasterCommand_Unpairing = 0x5F, IOL_eMasterCommand_MasterIdent = 0x95, IOL_eMasterCommand_DeviceIdent = 0x96, IOL_eMasterCommand_DeviceStartup = 0x97,
  IOL_eMasterCommand_ProcessDataOutputOperate = 0x98, IOL_eMasterCommand_DeviceOperate = 0x99, IOL_eMasterCommand_DevicePreoperate = 0x9A, IOL_eMasterCommand_Jump_0 = 0xF0,
  IOL_eMasterCommand_Jump_1 = 0xF1, IOL_eMasterCommand_Jump_2 = 0xF2, IOL_eMasterCommand_Jump_3 = 0xF3, IOL_eMasterCommand_Jump_4 = 0xF4,
  IOL_eMasterCommand_Jump_5 = 0xF5, IOL_eMasterCommand_Jump_6 = 0xF6, IOL_eMasterCommand_Jump_7 = 0xF7, IOL_eMasterCommand_Jump_8 = 0xF8,
  IOL_eMasterCommand_Jump_9 = 0xF9, IOL_eMasterCommand_Jump_10 = 0xFA, IOL_eMasterCommand_Jump_11 = 0xFB, IOL_eMasterCommand_Jump_12 = 0xFC,
  IOL_eMasterCommand_Jump_13 = 0xFD, IOL_eMasterCommand_Jump_14 = 0xFE, IOL_eMasterCommand_WakeUp = 0xFF
}
 This enumeration indicates the Master Commands.
 
enum  IOL_EISDUIndex {
  IOL_eISDUIndex_DirectParam1 = 0, IOL_eISDUIndex_DirectParam2 = 1, IOL_eISDUIndex_SystemCommand = 2, IOL_eISDUIndex_DataStorage = 3,
  IOL_eISDUIndex_DeviceAccessLocks = 12, IOL_eISDUIndex_ProfileCharacteristic = 13, IOL_eISDUIndex_PDInputDescriptor = 14, IOL_eISDUIndex_PDOutputDescriptor = 15,
  IOL_eISDUIndex_VendorName = 16, IOL_eISDUIndex_VendorText = 17, IOL_eISDUIndex_ProductName = 18, IOL_eISDUIndex_ProductID = 19,
  IOL_eISDUIndex_ProductText = 20, IOL_eISDUIndex_SerialNumber = 21, IOL_eISDUIndex_HardwareRevision = 22, IOL_eISDUIndex_FirmwareRevision = 23,
  IOL_eISDUIndex_AppSpecificTag = 24, IOL_eISDUIndex_ErrorCount = 32, IOL_eISDUIndex_DeviceStatus = 36, IOL_eISDUIndex_DetailedDeviceStatus = 37,
  IOL_eISDUIndex_ProcessDataInput = 40, IOL_eISDUIndex_ProcessDataOutput = 41, IOL_eISDUIndex_WirelessSystemMgmnt = 0x5001, IOL_eISDUIndex_WirelessSystemCfg = 0x5002,
  IOL_eISDUIndex_LinkQuality = 0x5003, IOL_eISDUIndex_WBridgeInfo = 0x5004, IOL_eISDUIndex_WirelessRadioInfo = 0x5005, IOL_eISDUIndex_AdaptiveHopTable = 0x5006
}
 This enumeration indicates the predefined index values for ISDU.
 
enum  IOL_EErrorType {
  IOL_eErrorType_NONE = 0, IOL_eErrorType_APP_DEV = 0x8000, IOL_eErrorType_IDX_NOTAVAIL = 0x8011, IOL_eErrorType_SUBIDX_NOTAVAIL = 0x8012,
  IOL_eErrorType_SERV_NOTAVAIL = 0x8020, IOL_eErrorType_SERV_NOTAVAIL_LOCCTRL = 0x8021, IOL_eErrorType_SERV_NOTAVAIL_DEVCTRL = 0x8022, IOL_eErrorType_IDX_NOT_WRITEABLE = 0x8023,
  IOL_eErrorType_PAR_VALOUTOFRNG = 0x8030, IOL_eErrorType_PAR_VALGTLIM = 0x8031, IOL_eErrorType_PAR_VALLTLIM = 0x8032, IOL_eErrorType_VAL_LENOVRRUN = 0x8033,
  IOL_eErrorType_VAL_LENUNDRUN = 0x8034, IOL_eErrorType_FUNC_NOTAVAIL = 0x8035, IOL_eErrorType_FUNC_UNAVAILTEMP = 0x8036, IOL_eErrorType_PAR_SETINVALID = 0x8040,
  IOL_eErrorType_PAR_SETINCONSIST = 0x8041, IOL_eErrorType_APP_DEVNOTRDY = 0x8082, IOL_eErrorType_UNSPECIFIC = 0x8100, IOL_eErrorType_VENDOR_SPECIFIC_BEGIN = 0x8101,
  IOL_eErrorType_VENDOR_SPECIFIC_END = 0x81FF, IOL_eErrorType_COM_ERR = 0x1000, IOL_eErrorType_I_SERVICE_TIMEOUT = 0x1100, IOL_eErrorType_M_ISDU_CHECKSUM = 0x5600,
  IOL_eErrorType_M_ISDU_ILLEGAL = 0x5700, IOL_eErrorType_ARGBLOCK_NOT_SUPPORTED = 0x4001, IOL_eErrorType_ARGBLOCK_ID_NOT_SUPPORTED = 0x4002, IOL_eErrorType_DEVICE_NOT_ACCESSIBLE = 0x4003,
  IOL_eErrorType_SERVICE_NOT_SUPPORTED = 0x4004, IOL_eErrorType_CMD_NOT_SUPPORTED = 0x4005, IOL_eErrorType_PORT_NUM_INVALID = 0x4011, IOL_eErrorType_ARGBLOCK_LENGTH_INVALID = 0x4034,
  IOL_eErrorType_SERVICE_TEMP_UNAVAILABLE = 0x4036, IOL_eErrorType_PORT_CONFIG_INCONSISTENT = 0x4041
}
 This enumeration indicates the permissible ISDU ErrorTypes resulting from the Device application. More...
 
enum  IOL_EECode {
  IOL_eECode_NO_MALFUNCTION = 0x0000, IOL_eECode_GENERAL_MALFUNCTION = 0x1000, IOL_eECode_TEMP_FAULT = 0x4000, IOL_eECode_TEMP_OVERRUN = 0x4210,
  IOL_eECode_TEMP_UNDERRUN = 0x4220, IOL_eECode_HW_FAULT = 0x5000, IOL_eECode_COMP_MALFUNCTION = 0x5010, IOL_eECode_MEM_LOSS = 0x5011,
  IOL_eECode_BATTERIES_LOW = 0x5012, IOL_eECode_SUPPLY_FAULT = 0x5100, IOL_eECode_FUSE_OPEN = 0x5101, IOL_eECode_SUPPLY_OVERRUN = 0x5110,
  IOL_eECode_SUPPLY_UNDERRUN = 0x5111, IOL_eECode_SEC_SUPPLY_FAULT = 0x5112, IOL_eECode_SW_FAULT = 0x6000, IOL_eECode_PARAM_ERROR = 0x6320,
  IOL_eECode_PARAM_MISSING = 0x6321, IOL_eECode_PARAM_CHANGED = 0x6350, IOL_eECode_WIRE_BREAK = 0x7700, IOL_eECode_WIRE_BREAK_D1 = 0x7701,
  IOL_eECode_WIRE_BREAK_D2 = 0x7702, IOL_eECode_WIRE_BREAK_D3 = 0x7703, IOL_eECode_WIRE_BREAK_D4 = 0x7704, IOL_eECode_WIRE_BREAK_D5 = 0x7705,
  IOL_eECode_WIRE_BREAK_D6 = 0x7706, IOL_eECode_WIRE_BREAK_D7 = 0x7707, IOL_eECode_WIRE_BREAK_D8 = 0x7708, IOL_eECode_WIRE_BREAK_D9 = 0x7709,
  IOL_eECode_WIRE_BREAK_D10 = 0x770A, IOL_eECode_WIRE_BREAK_D11 = 0x770B, IOL_eECode_WIRE_BREAK_D12 = 0x770C, IOL_eECode_WIRE_BREAK_D13 = 0x770D,
  IOL_eECode_WIRE_BREAK_D14 = 0x770E, IOL_eECode_WIRE_BREAK_D15 = 0x770F, IOL_eECode_SHORT_CIRCUIT = 0x7710, IOL_eECode_GROUND_FAULT = 0x7711,
  IOL_eECode_APP_FAULT = 0x8C00, IOL_eECode_SIM_ACTIVE = 0x8C01, IOL_eECode_PD_OVERRUN = 0x8C10, IOL_eECode_MEASUREMENT_OVERRUN = 0x8C20,
  IOL_eECode_PD_UNDERRUN = 0x8C30, IOL_eECode_MAINT_CLEANING = 0x8C40, IOL_eECode_MAINT_REFILL = 0x8C41, IOL_eECode_MAINT_EXCHANGE = 0x8C42,
  IOL_eECode_EVENT = 0xFF31, IOL_eECode_DS_UPLOAD_REQ = 0xFF91, IOL_eECode_IOLW_RETRY_ERROR_R = 0xFFB0
}
 This enumeration lists the specified EventCode identifiers and their definitions. The EventCodes are created by the technology specific Device application (instance = APP). More...
 
enum  IOL_EEPortCode {
  IOL_eEPortCode_NoDevice = 0x1800, IOL_eEPortCode_StartupParamError = 0x1801, IOL_eEPortCode_IncorrectVendorId = 0x1802, IOL_eEPortCode_IncorrectDeviceId = 0x1803,
  IOL_eEPortCode_ShortCircuit = 0x1804, IOL_eEPortCode_PhyOvertemperatur = 0x1805, IOL_eEPortCode_ShortCircuitLP = 0x1806, IOL_eEPortCode_OvercurrentAtLp = 0x1807,
  IOL_eEPortCode_DeviceEventOverflow = 0x1808, IOL_eEPortCode_BackupMemOutOfRange = 0x1809, IOL_eEPortCode_BackupIdentityFault = 0x180A, IOL_eEPortCode_BackupUnspecificError = 0x180B,
  IOL_eEPortCode_BackupUploadFault = 0x180C, IOL_eEPortCode_BackupDownloadFault = 0x180D, IOL_eEPortCode_P24MissingUndervoltage = 0x180E, IOL_eEPortCode_ShortCircuitP24 = 0x180F,
  IOL_eEPortCode_ShortCircuitIQ = 0x1810, IOL_eEPortCode_ShortCircuitAtCQ = 0x1811, IOL_eEPortCode_OvercurrentIQ = 0x1812, IOL_eEPortCode_OvercurrentCQ = 0x1813,
  IOL_eEPortCode_EvalExpired = 0x1F00, IOL_eEPortCode_InvalidCycleTime = 0x6000, IOL_eEPortCode_RevisionFault = 0x6001, IOL_eEPortCode_ISDUBatchFailed = 0x6002,
  IOL_eEPortCode_NEW_SLAVE = 0xFF21, IOL_eEPortCode_DEV_COM_LOST = 0xFF22, IOL_eEPortCode_DS_IDENT_MISMATCH = 0xFF23, IOL_eEPortCode_DS_BUFFER_OVERFLOW = 0xFF24,
  IOL_eEPortCode_DS_ACCESS_DENIED = 0xFF25, IOL_eEPortCode_PortStatusChanged = 0xFF26, IOL_eEPortCode_DataStorageComplete = 0xFF27, IOL_eEPortCode_IncorectEventSignalling = 0xFF31,
  IOL_eEPortCode_IOLW_RETRY_ERROR_L = 0x3000, IOL_eEPortCode_IOLW_IMA_TIMEOUT = 0x3001
}
 This enumeration lists the specified EventCode identifiers and their definitions. The EventCodes are created by the technology specific Device application (instance = APP). More...
 
enum  IOL_EEInstance {
  IOL_eEInstance_UNKNOWN = 0, IOL_eEInstance_PHY, IOL_eEInstance_DL, IOL_eEInstance_AL,
  IOL_eEInstance_APPLICATION, IOL_eEInstance_RESERVED_4, IOL_eEInstance_RESERVED_5, IOL_eEInstance_RESERVED_6
}
 This enumeration indicates the particular source (instance) of an event thus refining its evaluation on the receiver side. More...
 
enum  IOL_EESource { IOL_eESource_DEVICE = 0, IOL_eESource_MASTER }
 This enumeration indicates the source of the event. More...
 
enum  IOL_EEType { IOL_eEEType_RESERVED = 0, IOL_eEEType_NOTIFICATION, IOL_eEEType_WARNING, IOL_eEEType_ERROR }
 This enumeration indicates the event category. More...
 
enum  IOL_EEMode { IOL_eEEMode_RESERVED = 0, IOL_eEEMode_SINGLE_SHOT, IOL_eEEMode_DISAPPEARS, IOL_eEEMode_APPEARS }
 This enumeration indicates the event mode. More...
 
enum  IOL_EDSCommand {
  IOL_eDSCommand_Reserved = 0, IOL_eDSCommand_UploadStart, IOL_eDSCommand_UploadEnd, IOL_eDSCommand_DownloadStart,
  IOL_eDSCommand_DownloadEnd, IOL_eDSCommand_Break
}
 This enumeration indicates the DS commands.
 
enum  IOL_ESystemCommand {
  IOL_eSystemCommand_Reserved = 0, IOL_eSystemCommand_UploadStart, IOL_eSystemCommand_UploadEnd, IOL_eSystemCommand_DownloadStart,
  IOL_eSystemCommand_DownloadEnd, IOL_eSystemCommand_DownloadEndStore, IOL_eSystemCommand_Break, IOL_eSystemCommand_DeviceReset = 128,
  IOL_eSystemCommand_ApplicationReset = 129, IOL_eSystemCommand_RestoreFactorySettings = 130, IOL_eSystemCommand_BackToBox = 131
}
 This enumeration indicates the predefined system commands.
 
enum  IOL_ESlotType { IOL_eSlotType_SSLOT = 0, IOL_eSlotType_DSLOT = 1 }
 Physical layer slot types.
 

Enumeration Type Documentation

◆ IOL_EBaudrate

This enumeration indicates the transmission rate.

Enumerator
IOL_eBaudrate_AUTO 

Master accepts transmission rate found during IOL_eDLRealMode_ESTABCOM "ESTABLISHCOM".

IOL_eBaudrate_COM1 

Transmission rate of COM1 (4,8 kbit/s).

IOL_eBaudrate_COM2 

Transmission rate of COM2 (38,4 kbit/s).

IOL_eBaudrate_COM3 

Transmission rate of COM3 (230,4 kbit/s).

◆ IOL_ECqMode

This enumeration indicates the requested CQ mode of the port.

Enumerator
IOL_eCqMode_INACTIVE 

CQ disabled. == SIO disabled.

IOL_eCqMode_NPN 

CQ is in NPN mode.

IOL_eCqMode_PNP 

CQ is in PNP mode.

IOL_eCqMode_PUSHPULL 

CQ is in Push Pull mode.

◆ IOL_EDeviceMode

This enumeration indicates changes of communication states to the Device application.

Enumerator
IOL_eDeviceMode_INACTIVE 

Handler changed to the INACTIVE state.

IOL_eDeviceMode_IDLE 

Device changed to waiting for configuration.

IOL_eDeviceMode_SIO 

Device changed to the mode defined in service "SM_SetDeviceCom".

IOL_eDeviceMode_ESTABCOM 

Device changed to the SM mode "SM_ComEstablish".

IOL_eDeviceMode_COMx 

Device changed to the configured COM mode.

IOL_eDeviceMode_STARTUP 

Device changed to the STARTUP mode.

IOL_eDeviceMode_IDENT_STARTUP 

Device changed to the SM mode "SM_IdentStartup".

IOL_eDeviceMode_IDENT_CHANGE 

Device changed to the SM mode "SM_IdentCheck".

IOL_eDeviceMode_PREOPERATE 

Device changed to the PREOPERATE mode.

IOL_eDeviceMode_OPERATE 

Device changed to the OPERATE mode.

IOL_eDeviceMode_PAIRING 

Change to button pairing state.

IOL_eDeviceMode_TIMEOUT 

Pairing failed by timeout.

IOL_eDeviceMode_TEMPORARY 

Temporary pairing successful.

IOL_eDeviceMode_PERMANENT 

Permanent pairing successful.

IOL_eDeviceMode_PAIRED 

Permanent pairing successful.

IOL_eDeviceMode_UNPAIRED 

Permanent pairing successful.

IOL_eDeviceMode_UNPAIRING 

Try to do unpairing by Device.

◆ IOL_EDirection

This enumeration contains ISDU transport direction.

Enumerator
IOL_eDirection_WRITE 

Write operation.

IOL_eDirection_READ 

Read operation.

◆ IOL_EDLMode

This enumeration indicates the requested mode of the Master's DL on an individual port.

Enumerator
IOL_eDLMode_INACTIVE 

Handler shall change to the INACTIVE state.

IOL_eDLMode_STARTUP 

Handler shall change to the STARTUP state.

IOL_eDLMode_PREOPERATE 

Handler shall change to the PREOPERATE state.

IOL_eDLMode_OPERATE 

Handler shall change to the OPERATE state.

IOL_eDLMode_UNPAIRING 

Handler shall change to the INACTIVE after unpairing state.

◆ IOL_EDLRealMode

This enumeration indicates the status of the DL-mode handler.

Enumerator
IOL_eDLRealMode_INACTIVE 

Handler changed to the INACTIVE state.

IOL_eDLRealMode_COM1 

COM1 mode established.

IOL_eDLRealMode_COM2 

COM2 mode established.

IOL_eDLRealMode_COM3 

COM3 mode established.

IOL_eDLRealMode_COMLOST 

Lost communication.

IOL_eDLRealMode_ESTABCOM 

Handler changed to the ESTABCOM state.

IOL_eDLRealMode_ACTIVE 

Handler changed to the ACTIVE state.

IOL_eDLRealMode_STARTUP 

Handler changed to the STARTUP state.

IOL_eDLRealMode_PREOPERATE 

Handler changed to the PREOPERATE state.

IOL_eDLRealMode_OPERATE 

Handler changed to the OPERATE state.

IOL_eDLRealMode_INVALID 

Invalid value.

◆ IOL_EECode

enum IOL_EECode

This enumeration lists the specified EventCode identifiers and their definitions. The EventCodes are created by the technology specific Device application (instance = APP).

Enumerator
IOL_eECode_NO_MALFUNCTION 

No malfunction (Notification).

IOL_eECode_GENERAL_MALFUNCTION 

General malfunction – unknown error (Error).

IOL_eECode_TEMP_FAULT 

Temperature fault – Overload (Error).

IOL_eECode_TEMP_OVERRUN 

Device temperature overrun – Clear source of heat (Warning).

IOL_eECode_TEMP_UNDERRUN 

Device temperature underrun – Insulate Device (Warning).

IOL_eECode_HW_FAULT 

Device hardware fault – Device exchange (Error).

IOL_eECode_COMP_MALFUNCTION 

Component malfunction – Repair or exchange (Error).

IOL_eECode_MEM_LOSS 

Non volatile memory loss – Check batteries (Error).

IOL_eECode_BATTERIES_LOW 

Batteries low – Exchange batteries (Warning).

IOL_eECode_SUPPLY_FAULT 

General power supply fault – Check availability (Error).

IOL_eECode_FUSE_OPEN 

Fuse blown/open – Exchange fuse (Error).

IOL_eECode_SUPPLY_OVERRUN 

Primary supply voltage over-run – Check tolerance (Warning).

IOL_eECode_SUPPLY_UNDERRUN 

Primary supply voltage under-run – Check tolerance (Warning).

IOL_eECode_SEC_SUPPLY_FAULT 

Secondary supply voltage fault (Port Class B) – Check tolerance (Warning).

IOL_eECode_SW_FAULT 

Device software fault – Check firmware revision (Error).

IOL_eECode_PARAM_ERROR 

Parameter error – Check data sheet and values (Error).

IOL_eECode_PARAM_MISSING 

Parameter missing – Check data sheet (Error).

IOL_eECode_PARAM_CHANGED 

Parameter changed – Check configuration (Error).

IOL_eECode_WIRE_BREAK 

Wire break of a subordinate Device – Check installation (Error).

IOL_eECode_WIRE_BREAK_D1 

Wire break of subordinate Device 1-15 – Check installation (Error).

IOL_eECode_SHORT_CIRCUIT 

Short circuit – Check installation (Error).

IOL_eECode_GROUND_FAULT 

Ground fault – Check installation (Error).

IOL_eECode_APP_FAULT 

Technology specific application fault – Reset Device (Error).

IOL_eECode_SIM_ACTIVE 

Simulation active – Check operational mode (Warning).

IOL_eECode_PD_OVERRUN 

Process variable range over-run – Process Data uncertain (Warning).

IOL_eECode_MEASUREMENT_OVERRUN 

Measurement range over-run – Check application (Error).

IOL_eECode_PD_UNDERRUN 

Process variable range under-run – Process Data uncertain (Warning).

IOL_eECode_MAINT_CLEANING 

Maintenance required – Cleaning (Notification).

IOL_eECode_MAINT_REFILL 

Maintenance required – Refill (Notification).

IOL_eECode_MAINT_EXCHANGE 

Maintenance required – Exchange wear and tear parts (Notification).

IOL_eECode_DS_UPLOAD_REQ 

Data Storage upload request.

IOL_eECode_IOLW_RETRY_ERROR_R 

Remote max retry error.

◆ IOL_EEInstance

This enumeration indicates the particular source (instance) of an event thus refining its evaluation on the receiver side.

Enumerator
IOL_eEInstance_PHY 

Source is IO-Link physical layer.

IOL_eEInstance_DL 

Source is IO-Link data link layer.

IOL_eEInstance_AL 

Source is IO-Link application layer.

IOL_eEInstance_APPLICATION 

Event source is application layer.

◆ IOL_EEMode

enum IOL_EEMode

This enumeration indicates the event mode.

Enumerator
IOL_eEEMode_SINGLE_SHOT 

Single shot event.

IOL_eEEMode_DISAPPEARS 

Event disappears.

IOL_eEEMode_APPEARS 

Event appears.

◆ IOL_EEPortCode

This enumeration lists the specified EventCode identifiers and their definitions. The EventCodes are created by the technology specific Device application (instance = APP).

Enumerator
IOL_eEPortCode_NEW_SLAVE 

Mode indication.

IOL_eEPortCode_DEV_COM_LOST 

Device communication lost.

IOL_eEPortCode_DS_IDENT_MISMATCH 

Data Storage identification mismatch.

IOL_eEPortCode_DS_BUFFER_OVERFLOW 

Data Storage buffer overflow.

IOL_eEPortCode_DS_ACCESS_DENIED 

Data Storage parameter access denied.

IOL_eEPortCode_PortStatusChanged 

Incorrect event signaling.

IOL_eEPortCode_IOLW_RETRY_ERROR_L 

Local max retry error.

IOL_eEPortCode_IOLW_IMA_TIMEOUT 

Ima Timeout.

◆ IOL_EErrorInfo

This enumeration contains error information.

Enumerator
IOL_eErrorInfo_NONE 

No error occurred.

IOL_eErrorInfo_NO_COMM 

No communication available.

IOL_eErrorInfo_STATE_CONFLICT 

Service unavailable within current state.

IOL_eErrorInfo_PARAMETER_CONFLICT 

Consistency of parameter set violated.

IOL_eErrorInfo_TIMING_CONFLICT 

The requested combination of cycle times for the activated ports is not possible.

IOL_eErrorInfo_NO_DATA 

DL did not provide Process Data.

IOL_eErrorInfo_VALUE_OUT_OF_RANGE 

Parameter is out of range.

IOL_eErrorInfo_ISDU_TIMEOUT 

ISDU request timed out.

IOL_eErrorInfo_ISDU_NOT_SUPPORTED 

ISDU not supported by Device.

IOL_eErrorInfo_TIMEOUT 

Timeout.

◆ IOL_EErrorType

This enumeration indicates the permissible ISDU ErrorTypes resulting from the Device application.

Enumerator
IOL_eErrorType_NONE 

No error.

IOL_eErrorType_APP_DEV 

Device application error – no details.

This ErrorType shall be used if the requested service has been refused by the Device application and no detailed information of the incident is available.

IOL_eErrorType_IDX_NOTAVAIL 

Index not available.

This ErrorType shall be used whenever a read or write access occurs to a not existing Index.

IOL_eErrorType_SUBIDX_NOTAVAIL 

SubIndex not available.

This ErrorType shall be used whenever a read or write access occurs to a not existing SubIndex.

IOL_eErrorType_SERV_NOTAVAIL 

Service temporarily not available.

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.

IOL_eErrorType_SERV_NOTAVAIL_LOCCTRL 

Service temporarily not available – local control.

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).

IOL_eErrorType_SERV_NOTAVAIL_DEVCTRL 

Service temporarily not available – Device control.

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).

IOL_eErrorType_IDX_NOT_WRITEABLE 

Access denied.

This ErrorType shall be used if a write service tries to access a read-only parameter.

IOL_eErrorType_PAR_VALOUTOFRNG 

Parameter value out of range.

This ErrorType shall be used for a write service to a parameter outside its permitted range of values. Version 1.1.2 – 232 – IO-Link Interface and System © IO-Link.

IOL_eErrorType_PAR_VALGTLIM 

Parameter value above limit.

This ErrorType shall be used for a write service to a parameter above its specified value range.

IOL_eErrorType_PAR_VALLTLIM 

Parameter value below limit.

This ErrorType shall be used for a write service to a parameter below its specified value range.

IOL_eErrorType_VAL_LENOVRRUN 

Parameter length overrun.

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).

IOL_eErrorType_VAL_LENUNDRUN 

Parameter length underrun.

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).

IOL_eErrorType_FUNC_NOTAVAIL 

Function not available.

This ErrorType shall be used for a write service with a command value not supported by the Device application (for example a system command with a value not implemented).

IOL_eErrorType_FUNC_UNAVAILTEMP 

Function temporarily unavailable.

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 system command).

IOL_eErrorType_PAR_SETINVALID 

Invalid parameter set.

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; see 10.3.4).

IOL_eErrorType_PAR_SETINCONSIST 

Inconsistent parameter set.

This ErrorType shall be used at the termination of a block parameter transfer with ParamDownloadEnd or ParamDownloadStore if the plausibility check shows inconsistencies (see 10.3.5 and B.2.2).

IOL_eErrorType_APP_DEVNOTRDY 

Application not ready.

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).

IOL_eErrorType_UNSPECIFIC 

Vendor specific.

This ErrorType will be propagated directly to higher level processing elements as an error (no warning) by the Master.

IOL_eErrorType_VENDOR_SPECIFIC_BEGIN 

Begin of Vendor specific ErrorTypes.

This ErrorType will be propagated directly to higher level processing elements as an error (no warning) by the Master.

IOL_eErrorType_VENDOR_SPECIFIC_END 

End of Vendor specific ErrorTypes.

IOL_eErrorType_COM_ERR 

Master – Communication error.

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.

IOL_eErrorType_I_SERVICE_TIMEOUT 

ISDU timeout, ISDU error or ISDU illegal service primitive.

  • Master – ISDU 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 (see Table 97) in the Master.
  • Device Event – ISDU error: If the Master received an event with the EventQualifier (see A.6.4: DL, Error, Event single shot) and the EventCode 0x5600, a negative service response indicating a service timeout is generated and returned to the requester (see C.3.3).
  • Device Event – ISDU illegal service primitive: If the Master received an event with the EventQualifier (see A.6.4: AL, Error, Event single shot) and the EventCode 0x5800, a negative service response indicating a service timeout is generated and returned to the requester (see C.3.3).
IOL_eErrorType_M_ISDU_CHECKSUM 

Master – ISDU checksum error.

The Master generates a negative service response with this ErrorType, if its data link layer detects an ISDU checksum error.

IOL_eErrorType_M_ISDU_ILLEGAL 

Master – ISDU illegal service primitive.

The Master generates a negative service response with this ErrorType, if its data link layer detects an ISDU illegal service primitive.

IOL_eErrorType_ARGBLOCK_NOT_SUPPORTED 

SMI ErrorTypes.

◆ IOL_EESource

This enumeration indicates the source of the event.

Enumerator
IOL_eESource_DEVICE 

Source is Device which means it is a remote event.

IOL_eESource_MASTER 

Source is Master which means it is a local event.

◆ IOL_EEType

enum IOL_EEType

This enumeration indicates the event category.

Enumerator
IOL_eEEType_NOTIFICATION 

Notification.

IOL_eEEType_WARNING 

Warning.

IOL_eEEType_ERROR 

Error.

◆ IOL_EIQMode

This enumeration indicates the requested IQ mode of the port.

Enumerator
IOL_eIQMode_INACTIVE 

IQ disabled.

IOL_eIQMode_IN 

IQ is in input mode.

IOL_eIQMode_OUT 

IQ is in output mode.

◆ IOL_EMHInfo

This enumeration contains the exception indication of the message handler.

Enumerator
IOL_eMHInfo_COMLOST 

Lost communication.

IOL_eMHInfo_ILLEGAL_MESSAGETYPE 

Unexpected M-sequence type detected.

IOL_eMHInfo_CHECKSUM_MISMATCH 

Checksum error detected.

◆ IOL_EMSequence

This enumeration contains the M-sequence types.

TYPE_1_1 forces interleave mode of process and On-request Data transmission, see 7.3.4.2 of IO-Link Specification v1.1.2.

◆ IOL_EPDInStatus

This enumeration indicates the qualifier status of the Process Data (PD).

Enumerator
IOL_ePDInStatus_VALID 

Input Process Data is valid; see 7.2.2.5, 8.2.2.12.

IOL_ePDInStatus_INVALID 

Input Process Data is invalid.

◆ IOL_EPDOutStatus

This enumeration indicates the qualifier status of the Process Data (PD).

Enumerator
IOL_ePDOutStatus_PDOUTVALID 

Output Process Data is valid; see 7.3.7.1.

IOL_ePDOutStatus_PDOUTINVALID 

Output Process Data is invalid or missing.

IOL_ePDOutStatus_RTFAULT 

Real time fault happened. max retry limit reached.

◆ IOL_EPortMode

This enumeration indicates changes or faults of the local communication mode.

Enumerator
IOL_ePortMode_INACTIVE 

Communication disabled, no DI, no DO.

IOL_ePortMode_DI 

Port in digital input mode (SIO).

IOL_ePortMode_DO 

Port in digital output mode (SIO).

IOL_ePortMode_COMREADY 

Communication established and inspection successful.

IOL_ePortMode_READY_TO_OPERATE 

Data Storage finished and ready for operate.

IOL_ePortMode_SM_OPERATE 

Port is ready to exchange Process Data.

IOL_ePortMode_COMLOST 

Communication failed, new wake-up procedure required.

IOL_ePortMode_REVISION_FAULT 

Incompatible protocol revision.

IOL_ePortMode_COMP_FAULT 

Incompatible Device or Legacy-Device according to the InspectionLevel.

IOL_ePortMode_SERNUM_FAULT 

Mismatching Serial Number according to the InspectionLevel.

IOL_ePortMode_DS_FAULT 

Data Storage fault.

IOL_ePortMode_CYCTIME_FAULT 

Cycle Time fault.

IOL_ePortMode_PORTPOWEROFF 

Port in Power-Off mode.

◆ IOL_ETargetMode

This enumeration indicates the requested operational mode of the port.

Enumerator
IOL_eTargetMode_INACTIVE 

Communication disabled, no DI, no DO.

IOL_eTargetMode_DI 

Port in digital input mode (SIO).

IOL_eTargetMode_DO 

Port in digital output mode (SIO).

IOL_eTargetMode_CFGCOM 

Device communicating in mode CFGCOM after successful inspection (FIXEDMODE).

IOL_eTargetMode_AUTOCOM 

Device communicating in mode AUTOCOM without inspection (SCANMODE).

IOL_eTargetMode_COM1 

Port in COM1 mode.

IOL_eTargetMode_COM2 

Port in COM2 mode.

IOL_eTargetMode_COM3 

Port in COM3 mode.

IOL_eTargetMode_OSSDE 

Port in digital input mode at C/Q and I/Q.

IOL_eTargetMode_SAFETYCOM 

Device communicating safety Process Data.

IOL_eTargetMode_MIXEDSAFETYCOM 

Device communicating mixed safety and non safety Process Data.

◆ IOL_ETransferMode

This enumeration indicates the requested operation mode.

Enumerator
IOL_eTransferMode_INACTIVE 

C/Q line in high impedance.

IOL_eTransferMode_COM1 

C/Q line in COM1 mode.

IOL_eTransferMode_COM2 

C/Q line in COM2 mode.

IOL_eTransferMode_COM3 

C/Q line in COM3 mode.

IOL_eTransferMode_DI 

C/Q line in digital input mode.

IOL_eTransferMode_DO 

C/Q line in digital output mode.

◆ IOL_ETransferStatus

This enumeration contains supplementary information on the transfer. status.

Enumerator
IOL_eTransferStatus_OK 

No error occurred.

IOL_eTransferStatus_PARITY_ERROR 

UART detected a parity error.

IOL_eTransferStatus_FRAMING_ERROR 

Invalid UART stop bit detected.

IOL_eTransferStatus_OVERRUN 

Octet collision within the UART.