IO-Link Master  1.06.00
SMI Arg Blocks

Overview

SMI Arg Blocks.

Data Structures

struct  IOLM_SMI_SVoidArgBlock
 This structure is used as general and void ArgBlock. More...
 
struct  IOLM_SMI_SJobError
 This structure is used as JobError ArgBlock. More...
 
struct  IOLM_SMI_SMasterident
 This structure is used to get Master identification. More...
 
struct  IOLM_SMI_SFSMasterAccess
 This structure is used to get FS Master access. More...
 
struct  IOLM_SMI_SFSCPAuthenticity
 This structure is used to retrieve FSCPAuthenticity. More...
 
struct  IOLM_SMI_SWMasterConfigList
 This structure is used for the wireless Master configuration. More...
 
struct  IOLM_SMI_SWPortConfigList
 This structure is used to store wireless port configuration. More...
 
struct  IOLM_SMI_SFSPortConfigList
 This structure is used to store FS port configuration. More...
 
struct  IOLM_SMI_SPortConfigList
 This structure is used to store port configuration. More...
 
struct  IOLM_SMI_SWPortStatusList
 This structure is used to store wireless port status. More...
 
struct  IOLM_SMI_SWTrackStatusList
 This structure is used to store track status. More...
 
struct  IOLM_SMI_SWScan
 This structure is used to trigger a scan request. More...
 
struct  IOLM_SMI_SWPairingList
 This structure is used to trigger a pairing request. More...
 
struct  IOLM_SMI_SWTrackConfigList
 This structure is used for the track configuration. More...
 
struct  IOLM_SMI_SFSPortStatusList
 This structure is used to store FS port status. More...
 
struct  IOLM_SMI_SPortStatusList
 This structure is used to store port status. More...
 
struct  IOLM_SMI_SPDIn
 This structure is used for Process Data input. More...
 
struct  IOLM_SMI_SPDOut
 This structure is used for Process Data output. More...
 
struct  IOLM_SMI_SPDInIQ
 This structure is used for IQ input. More...
 
struct  IOLM_SMI_SPDOutIQ
 This structure is used for IQ output. More...
 
struct  IOLM_SMI_SSPDUIn
 This structure is used for SPDU input. More...
 
struct  IOLM_SMI_SSPDUOut
 This structure is used for SPDU output. More...
 
struct  IOLM_SMI_SPDInOut
 This structure is used for Process Data input and output read back. More...
 
struct  IOLM_SMI_SPortEvent
 This generic structure is used for events. More...
 
struct  IOLM_SMI_SScanResult
 This structure is used for scan results. More...
 
struct  IOLM_SMI_SOnRequestData
 This structure is used for On-request Data. More...
 
struct  IOLM_SMI_SPortPowerOffOn
 This structure is used for PortPowerOffOn requests. More...
 
struct  IOLM_SMI_SDSData
 This structure is used for DataStorage Data. More...
 
struct  IOLM_SMI_SHeader
 This structure is used for the SMI_Header. More...
 
struct  IOLM_SMI_SArgBlockParam
 This structure follows the IOLM_SMI_SHeader struct. More...
 
struct  IOLM_SMI_SDeviceEvent
 This structure is used for Device Events (remote). More...
 
struct  IOLM_SMI_SPortEvent
 This structure is used for port events (local). More...
 

Macros

#define IOLM_SMI_CLIENTID_INTERN   0xFE
 Used for internal communication.
 
#define IOLM_SMI_CLIENTID_BROADCAST   0x00
 Used for broadcasting (events).
 
#define IOLM_SMI_PQI_PQ   (1<<7)
 
#define IOLM_SMI_PQI_DEVERR   (1<<6)
 
#define IOLM_SMI_PQI_DEVCOM   (1<<5)
 
#define IOLM_SMI_ARGBLOCK_PDIN_LEN(Datalen)   (sizeof(IOLM_SMI_SPDIn) - 32 + Datalen)
 
#define IOLM_SMI_ARGBLOCK_PDOUT_LEN(Datalen)   (sizeof(IOLM_SMI_SPDOut) - 32 + Datalen)
 
#define IOLM_SMI_ARGBLOCK_SSPDUIN_LEN(Datalen)   (sizeof(IOLM_SMI_SSPDUIn) - 32 + Datalen)
 
#define IOLM_SMI_ARGBLOCK_SSPDUOUT_LEN(Datalen)   (sizeof(IOLM_SMI_SSPDUOut) - 32 + Datalen)
 
#define IOLM_SMI_ARGBLOCK_PDINOUT_LEN(InputLen, OutputLen)   (4 + 2 + InputLen + OutputLen)
 
#define IOLM_SMI_ARGBLOCK_ONREQ_LEN(Datalen)   (sizeof(IOLM_SMI_SOnRequestData) - IOLM_MAX_ISDU_LENGTH + Datalen)
 
#define IOLM_SMI_ENDIAN_32(x)
 
#define IOLM_SMI_ENDIAN_16(x)   ( (((x) >> 8) & 0x00FF) | (((x) << 8) & 0xFF00) )
 

Typedefs

typedef IOL_ENUM_DECL IOLM_SMI_EServiceID
 SMI ServiceIDs (IDs >= 0x80 are used for non standard, proprietary services).
 
typedef IOL_ENUM_DECL IOLM_SMI_EArgBlockID
 SMI ArgBlock IDs. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EMasterTypes
 SMI Master types. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EPortTypes
 SMI port types. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EPortMode
 SMI port mode. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EPairCmd
 SMI pairing commands. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EValidationBackup
 SMI port validation and backup. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EIQBehavior
 SMI port IQ behavior. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EPortStatus
 SMI port status. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_ETrackMode
 SMI track mode. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_ETrackStatus
 SMI track status. More...
 
typedef IOL_ENUM_DECL IOLM_SMI_EPortPowerMode
 SMI port power mode. More...
 
typedef IOLM_SMI_SVoidArgBlock IOLM_SMI_SGeneralArgBlock
 

Macro Definition Documentation

◆ IOLM_SMI_ENDIAN_32

#define IOLM_SMI_ENDIAN_32 (   x)
Value:
( (((x) >> 24) & 0x000000FF) | (((x) >> 8) & 0x0000FF00) | \
(((x) << 24) & 0xFF000000) | (((x) << 8) & 0x00FF0000))

Typedef Documentation

◆ IOLM_SMI_EArgBlockID

typedef IOL_ENUM_DECL IOLM_SMI_EArgBlockID

SMI ArgBlock IDs.

Coding: 0x N4 N3 N2 N1

N4 - Service group:

  • 0: Identification (Master)
  • 1: Process Data (PD)
  • 2: Reserved
  • 3: On-request Data (OD)
  • 4-6: Reserved
  • 7: Mixed system features
  • 8: Configurations
  • 9: Status information (port, Device, etc.)
  • A: Events
  • B-E: Manufacturer specific
  • F: SMI management

N3 - Domain:

  • 0: General
  • 1: Safety extension
  • 2: Wireless extension
  • 3-E: Reserved
  • F: SMI management

N2/N1

  • Assigned by domain

For a list of all currently available ArgBlock IDs, see the overview above.

◆ IOLM_SMI_EIQBehavior

typedef IOL_ENUM_DECL IOLM_SMI_EIQBehavior
Initial value:
{
IOLM_SMI_ePortIQBehavior_NotSupported = 0,
IOLM_SMI_ePortIQBehavior_DigitalInput = 1,
IOLM_SMI_ePortIQBehavior_DigitalOutput = 2,
IOLM_SMI_ePortIQBehavior_AnalogInput = 3,
IOLM_SMI_ePortIQBehavior_AnalogOutput = 4,
IOLM_SMI_ePortIQBehavior_Power2 = 5,

SMI port IQ behavior.

◆ IOLM_SMI_EMasterTypes

typedef IOL_ENUM_DECL IOLM_SMI_EMasterTypes
Initial value:
{
IOLM_SMI_eMasterTypes_Unspecific = 0,
IOLM_SMI_eMasterTypes_Reserved = 1,
IOLM_SMI_eMasterTypes_Master_acc = 2,
IOLM_SMI_eMasterTypes_FS_Master = 3,
IOLM_SMI_eMasterTypes_W_Master = 4,

SMI Master types.

◆ IOLM_SMI_EPairCmd

typedef IOL_ENUM_DECL IOLM_SMI_EPairCmd
Initial value:
{
IOLM_SMI_ePairCmd_Unpairing = 0,
IOLM_SMI_ePairCmd_PairingUnique = 1,
IOLM_SMI_ePairCmd_PairingButton = 2,

SMI pairing commands.

◆ IOLM_SMI_EPortMode

typedef IOL_ENUM_DECL IOLM_SMI_EPortMode
Initial value:
{
IOLM_SMI_ePortMode_DEACTIVATED = 0,
IOLM_SMI_ePortMode_IOL_MANUAL = 1,
IOLM_SMI_ePortMode_IOL_AUTOSTART = 2,
IOLM_SMI_ePortMode_DI_CQ = 3,
IOLM_SMI_ePortMode_DO_CQ = 4,
IOLM_SMI_ePortMode_SAFETYCOM = 49,
IOLM_SMI_ePortMode_MIXEDSAFETYCOM = 50,
IOLM_SMI_ePortMode_OSSDE = 51,
IOLM_SMI_ePortMode_CYCLIC = 52,
IOLM_SMI_ePortMode_ROAMING = 53,

SMI port mode.

◆ IOLM_SMI_EPortPowerMode

typedef IOL_ENUM_DECL IOLM_SMI_EPortPowerMode
Initial value:
{
IOLM_SMI_ePortPowerMode_ONE_TIME_SWITCH_OFF = 0,
IOLM_SMI_ePortPowerMode_OFF = 1,
IOLM_SMI_ePortPowerMode_ON = 2,

SMI port power mode.

◆ IOLM_SMI_EPortStatus

typedef IOL_ENUM_DECL IOLM_SMI_EPortStatus
Initial value:
{
IOLM_SMI_ePortStatus_NO_DEVICE = 0,
IOLM_SMI_ePortStatus_DEACTIVATED = 1,
IOLM_SMI_ePortStatus_PORT_DIAG = 2,
IOLM_SMI_ePortStatus_PREOPERATE = 3,
IOLM_SMI_ePortStatus_OPERATE = 4,
IOLM_SMI_ePortStatus_DI_CQ = 5,
IOLM_SMI_ePortStatus_DO_CQ = 6,
IOLM_SMI_ePortStatus_OSSDE = 7,
IOLM_SMI_ePortStatus_SPDU_EXCHANGE = 8,
IOLM_SMI_ePortStatus_PAIRING_FAULT = 10,
IOLM_SMI_ePortStatus_PORT_POWER_OFF = 254,
IOLM_SMI_ePortStatus_NOT_AVAILABLE = 255

SMI port status.

◆ IOLM_SMI_EPortTypes

typedef IOL_ENUM_DECL IOLM_SMI_EPortTypes
Initial value:
{
IOLM_SMI_ePortTypes_ClassA = 0,
IOLM_SMI_ePortTypes_ClassAWithPowerOffOn = 1,
IOLM_SMI_ePortTypes_ClassB = 2,
IOLM_SMI_ePortTypes_FSPortAWithoutOSSDe = 3,
IOLM_SMI_ePortTypes_FSPortAwithOSSDe = 4,
IOLM_SMI_ePortTypes_FSPortB = 5,
IOLM_SMI_ePortTypes_WMaster = 6,

SMI port types.

◆ IOLM_SMI_ETrackMode

typedef IOL_ENUM_DECL IOLM_SMI_ETrackMode
Initial value:
{
IOLM_SMI_eTrackMode_STOP = 0,
IOLM_SMI_eTrackMode_CYCLIC = 1,
IOLM_SMI_eTrackMode_ROAMING = 2,
IOLM_SMI_eTrackMode_SERVICE = 3,

SMI track mode.

◆ IOLM_SMI_ETrackStatus

typedef IOL_ENUM_DECL IOLM_SMI_ETrackStatus
Initial value:
{
IOLM_SMI_eTrackStatus_STOP = 0,
IOLM_SMI_eTrackStatus_CYCLIC = 1,
IOLM_SMI_eTrackStatus_ROAMING = 2,
IOLM_SMI_eTrackStatus_SCAN = 3,
IOLM_SMI_eTrackStatus_PAIRING = 4,

SMI track status.

◆ IOLM_SMI_EValidationBackup

typedef IOL_ENUM_DECL IOLM_SMI_EValidationBackup
Initial value:
{
IOLM_SMI_ePortValBack_NoDeviceCheck = 0,
IOLM_SMI_ePortValBack_V10 = 1,
IOLM_SMI_ePortValBack_V11 = 2,
IOLM_SMI_ePortValBack_V11_BackupRestore = 3,
IOLM_SMI_ePortValBack_V11_Restore = 4,

SMI port validation and backup.

IOLM_SMI_EPortStatus
IOL_ENUM_DECL IOLM_SMI_EPortStatus
SMI port status.
Definition: IOLM_SMI_Types.h:291
IOLM_SMI_EPortPowerMode
IOL_ENUM_DECL IOLM_SMI_EPortPowerMode
SMI port power mode.
Definition: IOLM_SMI_Types.h:333
IOLM_SMI_EPortMode
IOL_ENUM_DECL IOLM_SMI_EPortMode
SMI port mode.
Definition: IOLM_SMI_Types.h:235
IOLM_SMI_ETrackStatus
IOL_ENUM_DECL IOLM_SMI_ETrackStatus
SMI track status.
Definition: IOLM_SMI_Types.h:321
IOLM_SMI_EPairCmd
IOL_ENUM_DECL IOLM_SMI_EPairCmd
SMI pairing commands.
Definition: IOLM_SMI_Types.h:254
IOLM_SMI_ETrackMode
IOL_ENUM_DECL IOLM_SMI_ETrackMode
SMI track mode.
Definition: IOLM_SMI_Types.h:310
IOLM_SMI_EMasterTypes
IOL_ENUM_DECL IOLM_SMI_EMasterTypes
SMI Master types.
Definition: IOLM_SMI_Types.h:208
IOLM_SMI_EPortTypes
IOL_ENUM_DECL IOLM_SMI_EPortTypes
SMI port types.
Definition: IOLM_SMI_Types.h:220
IOLM_SMI_EValidationBackup
IOL_ENUM_DECL IOLM_SMI_EValidationBackup
SMI port validation and backup.
Definition: IOLM_SMI_Types.h:264
IOLM_SMI_EIQBehavior
IOL_ENUM_DECL IOLM_SMI_EIQBehavior
SMI port IQ behavior.
Definition: IOLM_SMI_Types.h:277