IFM AL1326 - Industrial Automation

AL1326 - Industrial Automation IFM - Free user manual and instructions

Find the device manual for free AL1326 IFM in PDF.

📄 117 pages English EN Download 💬 AI Question
Notice IFM AL1326 - page 1
View the manual : Français FR Deutsch DE English EN 日本語 JA
Pick your language and provide your email: we'll send you a specifically translated version.

User questions about AL1326 IFM

0 question about this device. Answer the ones you know or ask your own.

Ask a new question about this device

The email remains private: it is only used to notify you if someone responds to your question.

No questions yet. Be the first to ask one.

Download the instructions for your Industrial Automation in PDF format for free! Find your manual AL1326 - IFM and take your electronic device back in hand. On this page are published all the documents necessary for the use of your device. AL1326 by IFM.

USER MANUAL AL1326 IFM

Operating instructions

IO-Link master with Ether
Net/IP interface

DataLine

AL1326

Contents

1 Preliminary note 6

1.1 Legal and copyright information 6
1.2 Symbols used 6
1.3 Warnings.... 6
1.4 Change history 6

2 Safety instructions.... 8

2.1 Cyber security 8
2.2 Safety symbol on the device 8

3 Intended use.... 9

4 Function 10

4.1 IO-Link 10
4.1.1 IO-Link supply.... 10
4.2 Parameter setting 10
4.3 Visual indication 10
4.4 Ether
Net/IP 10
4.5 ifm IoT Core 11
4.6 Digital inputs 11

5 Installation.... 12

5.1 Overview.... 12

6 Electrical connection.... 13

6.1 General wiring information 13
6.1.1 Connection technology 13
6.2 Ethernet ports 13
6.3 IO-Link ports (class A). 14

6.3.1 Connecting IO-Link devices (class A) 14
6.3.2 Connecting IO-Link devices (Class B).... 14
6.4 Ground connection 15

7 Operating and display elements 16

7.1 LEDs.... 16

7.1.1 Status 16
7.1.2 Ethernet 16
7.1.3 IoT 16
7.1.4 IO-Link ports (Class A) 17
7.1.5 Voltage supply 17

8 Set-up.... 18

9 Settings.... 19

9.1 Parameter setting software 19

9.1.1 Supported parameter setting software 19
9.1.2 Getting started 19

9.1.2.1 Online parameter setting.... 20
9.1.2.2 Offline parameter setting.... 20

9.1.3 Configuring IP settings 20

9.1.4 IoT interface 20

9.1.4.1 Configuring access rights 21
9.1.4.2 Configuring IP settings 21
9.1.4.3 Configuring the interface to the monitoring software 22

9.1.5 Fieldbus interface 23

9.1.5.1 Configuring the Ether
Net/IP interface 23
9.1.5.2 Setting the ▷ Ether
Net/IP configuration mode 24

9.1.6 IO-Link ports 24

9.1.6.1 Setting data transmission to the monitoring software 24
9.1.6.2 Setting the operating mode Pin 4 (US) 25
9.1.6.3 Setting the cycle time 25
9.1.6.4 Setting the device validation and data storage 26
9.1.6.5 ▶ Setting fail-safe values 27

9.1.7 Device information 28

9.1.7.1 Reading identification information 28

9.1.8 Device control 28

9.1.8.1 Resetting the device 28

9.1.8.2 Restarting the device 28

9.1.9 Updating the firmware....29

9.1.10 Setting the parameters of IO-Link devices.... 29

9.2 ifm IoT Core REST API 31

9.2.1 ifm IoT Core: General information 31

9.2.1.1 Accessing the ifm IoT Core 31

9.2.2 Getting started 31

9.2.3 General functions 31

9.2.3.1 Example: Reading properties of an element 31

9.2.3.2 Example: Outputting the subtree.... 33

9.2.3.3 Example: Changing a parameter value 35

9.2.3.4 Example: Read multiple elements sequentially 36

9.2.3.5 Example: Browsing device description 37

9.2.4 IoT: Configuring access rights.... 37

9.2.5 IoT: Configuring IP settings.... 37

9.2.6 IoT: Configuring security mode 38

9.2.6.1 Example: Activating security mode 39

9.2.6.2 Example: Request with authentication 39

9.2.6.3 Example: Resetting the password.... 40

9.2.7 IoT: Configuring the interface to the monitoring software 40

9.2.8 Fieldbus: Configuring the Ether
Net/IP interface.... 41

9.2.9 Fieldbus: Setting the Ether
Net/IP configuration mode 41

9.2.10 Fieldbus: Setting fail-safe values of the outputs 42

9.2.11 Ports: Setting the operating mode Pin 4 (US) 42

9.2.12 Ports: Configuring device validation and data storage.... 43

9.2.12.1 Example: Cloning the data memory of an IO-Link port 44

9.2.13 Ports: Setting data transmission to the monitoring software 46

9.2.14 Ports: Reading / writing process data 46

9.2.14.1 Example: Reading an IO-Link process value (operating mode "IO-Link") . . . . 46

9.2.14.2 Example: Reading an IO-Link process value (operating mode "IO-Link") ..... 47

9.2.14.3 Example: Reading the digital input value (operating mode "DI") ..... 48

9.2.14.4 Example: Writing the digital output value (operating mode "DO") ..... 48

9.2.15 Ports: Reading port events 49

9.2.16 Timer: Configuring the timers 49

9.2.16.1 Set the counting interval 49

9.2.17 IO-Link devices: Accessing parameters 50

9.2.17.1 Example: Reading a parameter value of an IO-Link device....50

9.2.17.2 Example: Writing a parameter value of an IO-Link device....51

9.2.18 IO-Link devices: Reading and writing device information 51

9.2.19 IO-Link devices: Reading IO-Link events 52

9.2.20 Gateway: Set the application tag.... 53

9.2.21 Gateway: Update firmware 53

9.2.22 Gateway: Reading status and diagnostic information 53

9.2.23 Gateway: Reading device information.... 53

9.2.24 Gateway: Resetting, rebooting and localising the device.... 54

9.2.25 Notifications 54

9.2.25.1 Event-controlled notifications 54

9.2.25.2 Time-controlled notifications 55

9.2.25.3 Example: Subscribing to notifications 55

9.2.25.4 Example: Changing a notification 56

9.2.25.5 Example: Subscribing to a notification in CSV format 56

9.2.25.6 Example: Unsubscribing from a notification.... 57

9.2.25.7 Example: checking a notification.... 58

9.2.25.8 MQTT support.... 58

9.2.25.9 WebSocket support.... 62

9.3 IoT Core Visualizer 64

9.3.1 Starting the IoT-Core Visualizer 64

9.3.2 Managing notifications 65

9.3.2.1 Creating a new notification 65

9.3.2.2 Deleting a notification 65

9.3.3 Searching for elements of the IoT Core.... 66
9.3.4 Configuring the IO-Link master 67
9.3.5 Accessing process data 68
9.3.6 Update firmware 69

9.4 Ether
Net/IP 70

9.4.1 Note: Startup package 70

10 Maintenance, repair and disposal 71

10.1 Cleaning the housing surface 71
10.2 Update firmware 71

11 Appendix....72

11.1 ifm IoT Core 72

11.1.1 Profiles 72
11.1.2 Types 72
11.1.3 Services 73

11.1.3.1 Service: factoryreset 73
11.1.3.2 Service: getblobdata 73
11.1.3.3 Service: getdata 73
11.1.3.4 Service: getdatamulti....73
11.1.3.5 Service: getelementinfo....74
11.1.3.6 Service: getidentity 74
11.1.3.7 Service: getsubscriberlist 75
11.1.3.8 Service: getsubscriptioninfo 75
11.1.3.9 Service: gettree....75
11.1.3.10 Service: install.... 76
11.1.3.11 Service: iolreadacyclic....76
11.1.3.12 Service: iolwriteacyclic 76
11.1.3.13 Service: querytree....77
11.1.3.14 Service: reboot 77
11.1.3.15 Service: reset 77
11.1.3.16 Service: setblock....77
11.1.3.17 Service: setdata 78
11.1.3.18 Service: signal.... 78
11.1.3.19 Service: start....78
11.1.3.20 Service: start_stream_set 78
11.1.3.21 Service: stop 78
11.1.3.22 Service: stream_set 79
11.1.3.23 Service: validation_useconnecteddevice....79

11.2 Ether
Net/IP 80

11.2.1 Parameters 80

11.2.1.1 Configuration Assembly (Instance 199)....80

11.2.2 Cyclic data 83

11.2.2.1 Input Assembly (Instance 100) 83
11.2.2.2 Input Assembly (Instance 101) 84
11.2.2.3 Input Assembly (Instance 102) 85
11.2.2.4 Output Assembly (Instance 150)....90
11.2.2.5 Output Assembly (Instance 151)....90

11.2.3 Acyclical data 92

11.2.3.1 Acyclic command channel.... 92
11.2.3.2 Acyclic commands 97

11.2.4 Object directory....102

11.2.4.1 CIP object classes....102
11.2.4.2 CIP class and instance services ..... 102
11.2.4.3 Identity Object (Class Code: 0x01) .....103
11.2.4.4 Message Router Object (Class Code: 0x02)....104
11.2.4.5 Assembly Object (Class Code: 0x04) .....105
11.2.4.6 Connection Manager Object (Class Code: 0x06) .....106
11.2.4.7 Device Level Ring Object (Class Code: 0x47).....107
11.2.4.8 Quality Of Service Object (Class Code: 0x48).....108
11.2.4.9 IO-Link Request Object (Class Code: 0x80) .....109
11.2.4.10 TCP/IP Object (Class Code: 0xF5) .....113

11.2.4.11 Ethernet Link Object (Class Code: 0xF6) .....116

1 Preliminary note

You will find instructions, technical data, approvals and further information using the QR code on the unit / packaging or at documentation.ifm.com.

© All rights reserved by ifm electronic gmbh. No part of these instructions may be reproduced and used without the consent of ifm electronic gmbh.

All product names, pictures, companies or other brands used are the property of the respective rights owners.

1.2 Symbols used

√ Requirement
Instructions
Reaction, result

[...] Designation of keys, buttons or indications

→ Cross-reference

IFM AL1326 - Symbols used - 1

Important note

Non-compliance may result in malfunction or interference.

IFM AL1326 - Symbols used - 2

Information

Supplementary note

1.3 Warnings

Warnings indicate the possibility of personal injury and damage to property. This enables safe product handling. Warnings are graded as follows:

IFM AL1326 - Warnings - 1

WARNING

Warning of serious personal injury

▷ If the warning is not observed, fatal and serious injuries are possible.

IFM AL1326 - Warnings - 2

CAUTION

Warning of minor to moderate personal injury

▷ If the warning is not observed, minor to moderate injuries are possible.

ATTENTION

Warning of damage to property

▷ If the warning is not observed, damage to property is possible.

1.4 Change history

IssueSubjectDate
00New creation of the document02 / 2023
01Changed: Identity Object (Class Code: 0x01) (→ ☐ 103)Removed: REST API – DNS support
Added: WebSocket support (→ ☐ 62)
07 / 2023
02Changed: Chapter “Ground connection”, Ground connection (→ ☐ 15)Changed: Description and example MQTT command channel, MQTT support (→ ☐ 58)Added: Note regarding UL applications, Connection technology (→ ☐ 13)07 / 2024

2 Safety instructions

- The unit described is a subcomponent for integration into a system.

  • The system architect is responsible for the safety of the system.
  • The system architect undertakes to perform a risk assessment and to create documentation in accordance with legal and normative requirements to be provided to the operator and user of the system. This documentation must contain all necessary information and safety instructions for the operator, the user and, if applicable, for any service personnel authorised by the architect of the system.

  • Read this document before setting up the product and keep it during the entire service life.

  • The product must be suitable for the corresponding applications and environmental conditions without any restrictions.
  • Only use the product for its intended purpose (→ Intended use).
  • If the operating instructions or the technical data are not adhered to, personal injury and/or damage to property may occur.
  • The manufacturer assumes no liability or warranty for any consequences caused by tampering with the product or incorrect use by the operator.
  • Installation, electrical connection, set-up, operation and maintenance of the product must be carried out by qualified personnel authorised by the machine operator.
  • Protect units and cables against damage.

2.1 Cyber security

ATTENTION

Device operation in an unprotected network environment.

▷ Unauthorised read or write access to data is possible.
▷ Unauthorised manipulation of the device function is possible.
▶ Restrict access to authorised users (e.g. password-protected access).
▶ Choose a safe method to connect with the device (e. g. VPN).
▶ Use encrypted data transmission (e. g. https / TLS).

2.2 Safety symbol on the device

IFM AL1326 - Safety symbol on the device - 1

Safety symbol on the device:

▶ Adhere to the operating instructions for the safe operation of the device.

3 Intended use

The device may only be used for the following purposes:

• IO-Link master for configuration, management and operation of IO-Link devices
• Gateway between IO-Link devices and a higher-level Ether
Net/IP control system

The device is designed for use outside of a control cabinet.

4 Function

The device offers the following IO-Link functions:

• IO-Link master (IO-Link revision 1.0 and 1.1)

The device offers supplies for 8 IO-Link devices (sensors, actuators).

Ports X01... X08 are class A ports.

The device ensures fire protection for connected IO-Link devices by providing an energy-limited circuit at the ports (according to IEC61010-1 and class 2 to UL1310).

4.2 Parameter setting

▷ The device can be configured with the following options:

• Parameter setting software
- ifm moneo OS + ifm moneo|configure
- ifm moneo|configure free

- ifm IoT Core - ifm IoT Core Visualizer

- Ether
Net/IP - Projection software

4.3 Visual indication

The device displays the following indications:

• Status and activity indication of the Ethernet connections

4.4 Ether
Net/IP

The device supports supports the following Ether
Net/IP functions:

• Device profile: Ether
Net/IP device
• 2-port switch for access to the fieldbus interface
• Min. cycle time: 1 ms (RPI)
• Supported connection classes: 1, 3
• Supported connection types:
- Exclusive Owner
- Input Only
- Listen Only

  • UCMM support
    • Predefined fieldbus objects
    – Identity Object (0x01)

  • Message Router Object (0x02)

  • Assembly Object (0x04)
  • Connection Manager (0x06)
  • DLR Object (0x47)
  • QoS Object (0x48)
    – IO-Link Request Object (0x80)
    – TCP/IP Interface Object (0xF5)
    – Ethernet Link Object (0xF6)

• Supported protocols: DHCP, BOOTP, ACD, DLR

• Device description: EDS file

4.5 ifm IoT Core

  • Mapping of the data, events and services of the device to an object model (ifm IoT Core)
    • Integration of the device in IIoT applications
  • Access to the ifm IoT Core:

– Browser-based interface (IoT Core Visualizer)

4.6 Digital inputs

The ports X01... X08 each have an additional digital input (type 2 according to EN 61131-2). The digital inputs are on pin 2.

The digital inputs are supplied via US. They refer to the potential of US (pin 3).

5 Installation

5.1 Overview

IFM AL1326 - Overview - 1

1: Upper mounting lug

2: Lower mounting lug

6 Electrical connection

6.1 General wiring information

The unit must be connected by a qualified electrician.

▶ Observe the national and international regulations for the installation of electrical equipment.

The unit is only suitable for operation using SELV/PELV voltages.

▶ Take information about IO-Link configuration into consideration!

This device contains components that may be damaged or destroyed by electrostatic discharge (ESD).

▶ Please observe the required precautions against electrostatic discharge!

By means of basic insulation according to EN61010-1, the circuits are isolated from each other and from device surfaces that could be touched (secondary circuit with max. 30 V DC, supplied from mains circuit up to 300 V overvoltage category II).

By means of basic insulation according to EN61010-1, the communication interfaces are separated from each other and from device surfaces that could be touched (secondary circuit with V DC maximum, supplied from mains circuit up to 300 V overvoltage category II). They are designed for network environment 0 according to IEC TR62102).

6.1.1 Connection technology

The threaded connections in the device correspond to the M12 standard. To ensure compliance with the specified protection rating, only cables that comply with this standard may be used. In the case of self-assembled cables, the system manufacturer is responsible for the protection rating.

▶ Use connectors with gold-plated contacts.
▶ Check the screw connection 2 weeks after installation and retighten to the correct torque if necessary.
▶ During installation, place the connectors vertically so that the coupling nut will not damage the thread.
▶ Before connecting the connector, check that there is an undamaged O-ring in the socket.
▶ Observe the coding of the connectors during installation.
▶ Cover unused connections with protective covers. Tightening torque: 1.3 ± 0.1 Nm

For UL applications:

IFM AL1326 - Connection technology - 1

CAUTION

Short circuit bewtween the sensor inputs of the IO-Link ports

▷ Fire Hazard / Danger of electric shock

▶ Do not interconnect terminations.

▶ To connect the device and the IO-Link devices, only use UL-certified cables belonging to category CYJV or PVVA with a minimum temperature of 80 °C (75 °C in case of a maximum ambient temperature of 40 °C).

6.2 Ethernet ports

The device is connected to the Ether
Net/IP network via the Ethernet ports (e. g. Ether
Net/IP controller, additional Ether
Net/IP device).

Wiring:

IFM AL1326 - Ethernet ports - 1

1: TX +
2: RX +
3: TX -
4: RX -
5: not used

▶ Connect the device to the Ether
Net/IP network via the X21, X22 ports.
▶ For connection, use M12 connectors (minimum protection rating: IP 65 / IP 66 / IP 67).
▶ Tighten the cable plug using 1.3 ± 0.1 Nm.

IO-Link devices (sensors, actuators) are connected to the IO-Link ports (class B).

The IO-Link ports meet the requirements of the IO-Link specifications 1.0 to 1.1.2.

The ports are equipped with short-circuit detection (US).

The ports have an additional digital input (type 2, according to IEC 61131-2).

Wiring:

IFM AL1326 - IO-Link ports (class A) - 1

1: Sensor supply (US) L+
2: Digital input
3: Sensor supply (US) L-
4: C/Q IO-Link
5: not used

Wiring information:

  • The connected IO-Link devices must be supplied exclusively via the IO-Link master.
    ▶ Connect the IO-Link devices to ports X01... X08. Maximum cable length per port: 20 m.
    ▶ For connection, use M12 connectors (minimum protection rating: IP 65 / IP 66 / IP 67).
    ▶ Tighten the cable plug using 1.3 ± 0.1 Nm.

Wiring information:

- The connection of IO-Link devices (Class B) requires the supply with an additional auxiliary voltage UA. Feeding is done with the help of a Y-connection cable (→ accessories).

IFM AL1326 - Connecting IO-Link devices (Class B) - 1

CAUTION

Non-compliance with the electrical separation of the circuits

▷ Risk of fire
▶ Ensure that the external supply UA is electrically separated from the power circuit of the unit by basic insulation (according to IEC 61010-1, secondary current circuit with max. 30 V DC, derived from mains circuit up to 300 V of overvoltage category II).
▶ Ensure that the IO-Link devices and the connection technology support the electrical separation.

  • When connecting an IO-Link device (Class B), the additional digital input at pin 2 of the port is not available.
    ▶ Connect IO-Link devices via a Y-connection cable with ports X01... X08.
    ▶ Connect Y-connection cable to the supply voltage 24 V DC (20...30 V SELV/PELV).

▶ For connection, use M12 connectors (minimum protection rating: IP 65 / IP 66 / IP 67).
▶ Tighten the cable plug using 1.3 ± 0.1 Nm.

6.4 Ground connection

The FE potential is connected to the following points of the device:

• Upper mounting lug of the housing

To ensure the protection of the device against electrical interference and to ensure the safe function of the device, the housing has to be connected to the GND of the installation using the shortest possible route.

▶ Ground the device via the mounting screw of the upper mounting lug.

7 Operating and display elements

7.1 LEDs

7.1.1 Status

LEDDescriptionColourStateDescription
RDYGateway status--OffNot active or reboots
greenflashes (5 Hz)Error
flashes (200 ms on, 800 ms off)Firmware update running
OnOK
NETNetwork status--offNot powered, no IP address: device has no IP address or no voltage applied or voltage applied is too low
green / redflashesSelf test: device in self-test after start (→ MOD-LED)
greenflashes (1 Hz)No connection: no CIP connection established and no Exclusive Owner connection timeout
onConnected: device has IP address and at least one CIP connection established and no Exclusive Owner connection timeout
redflashes (1 Hz)Connection timeout: device has IP address and Exclusive Owner connection timeout
onDuplicate: IP address used twice
MODEther
Net/IP module status
--offNo power: no voltage is applied or the applied voltage is too low
green / redflashesSelf test: device in self-test
greenflashes (2 Hz)Standby: device not yet configured (no IP address)
onDevice operational: device functions reliably (normal operation)
redflashes (1 Hz)Major recoverable fault: serious, recoverable error (e.g. incorrect configuration)
onMajor unrecoverable fault: serious, unrecoverable error (e.g. module failed)

7.1.2 Ethernet

LEDDescriptionColourStateDescription
LNKStatus of the connectionGreenOffNo Ethernet connection
OnEthernet connection established
ACTStatus of the transmissionYellowOffNo data transmission
FlashesData transmission

7.1.3 IoT

LEDDescriptionColourStateDescription
LNKStatus of the connectionGreenOffNo Ethernet connection
OnEthernet connection established
IoTDevice identificationGreenFlashesDevice identification active
ACTStatus of the data transmissionYellowOffNo data transmission
FlashesData transmission
LEDDescriptionColourStateDescription
Status of the IO-Link port (pin 4)YellowOffPort mode DI / DO: Pin 4 (C/Q) = OFF
OnPort mode DI / DO: Pin 4 (C/Q) = ON
GreenFlashes (1 Hz)Port mode IO-Link: No IO-Link device found
Flashes (5 Hz)Port mode IO-Link: “PREOPERATE” state
OnPort mode IO-Link: “OPERATE” state
RedFlashes (1.2 Hz)IO-Link communication error
OnPort configuration error or short circuit / overload at US
DIStatus of the digital input (pin 2)YellowOffDigital input: Pin 2 = OFF
Flashes (5 Hz)Digital input: Pin 2 = ON

7.1.5 Voltage supply

LEDDescriptionColourStateDescription
USStatus of the supply voltage USGreenOffNo supply voltage is applied or the applied voltage is too low
OnSupply voltage applied

8 Set-up

▶ Install the unit correctly.
▶ Establish a correct electrical connection with the device.
▷ Once connected to the supply voltage, the unit will start.
▷ The LEDs show status and error conditions.
▷ The unit is ready for operation.
▷ The device can be configured.

9 Settings

9.1 Parameter setting software

9.1.1 Supported parameter setting software

For parameterising the IO-Link master and the connected IO-Link devices a parameter setting software is required.

Supported parameter setting software

  • ifm moneo OS (art no. QMS001) + module licence ifm moneo|configure (art. no. QMP020)
  • ifm moneo|configure free

IFM AL1326 - Supported parameter setting software - 1

▶ For a correct installation: observe the installation instruction for ifm moneo.

▶ Install the desired parameter setting software.
▶ Activate the licences required for operation.
▷ The installed parameter setting software can be used for parameter setting of the device.

9.1.2 Getting started

Requirements:

√ The laptop / PC is connected directly or via a suitable network coupling element (e.g. switch) to an IoT port (X23) of the device.

IFM AL1326 - Getting started - 1

▷ View of [connected devices] appears.

▶ Scan the network for devices.
▷ ifm moneo detects the IO-Link master.
▶ Optional: Adapt the IP settings of the IO-Link master.

9.1.2.1 Online parameter setting

▷ The parameters of the IO-Link master and the connected sensors and actuators can be set before installation and set-up or during operation.

If you change parameters during operation, this will influence the function of the plant. ▶ Ensure that there will be no malfunctions in your plant.

During the parameter setting process, the IO-Link master and the connected IO-Link devices stay in operating mode. They continue to perform their functions with the existing parameters until the parameter setting has been completed.

9.1.2.2 Offline parameter setting

The device supports offline parameter setting. The user creates a configuration for the IO-Link master and the connected IO-Link devices without being connected to the device. The configuration created can be stored as a file (*.lrp) and loaded to the device and activated at a later point.

9.1.3 Configuring IP settings

For communication with the IT network, the IP parameters of the IoT interface must be configured.

Available parameters:

ParameterDescriptionValue rangeAccess
[DHCP]Enable / disable the DHCP client• [Static IP]: DHCP client disabled; IP parameters are set by the user• [DHCP]: DHCP client enabled; IP parameters are set by the network's DHCP server. rw1
[IP address]IP address of the IoT interfacee.g. 192.168.1.100• 169.254.x.x(default) rw12
[Subnet mask]Subnet mask of the Ethernet networke.g. 255.255.255.0• 255.255.0.0 (Default) rw12
[Default gateway IP address]IP address of the network gatewaye.g. 192.169.1.1• 0.0.0.0 (Default) rw12
[MAC address]MAC address of the IoT interfacee.g. 00:02:01:0E:66:C1 ro3

1 Read and write
2 can only be changed if DHCP is disabled
3 Read only

To configure the IoT interface:

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ ▷ The detailed view of the device is active.

▶ Select [IoT] menu.

▷ The menu page shows the current settings.

▶ Set IP parameters.
▶ Write the changed values to the device.
▷ IP settings of the IoT interface are configured.

9.1.4 IoT interface

The [IoT] menu provides access to the parameters of the IoT interface.

9.1.4.1 Configuring access rights

The device can be integrated in parallel into a fieldbus environment and into an IT network structure for IIoT applications (“Y-path”). To avoid competing access to parameters and process data, the rights of the instances must be set.

Available parameters:

ParameterDescriptionValue rangeAccess
[Access rights]Access rights to parameters, process data and alarms / events• [Fieldbus + IoT]:– Fieldbus and ifm IoT Core have read and write access rights to parameters and process data– Fieldbus and ifm IoT Core have read access rights to events / alarms• [Fieldbus + IoT (read only)]:– Fieldbus has read and write access rights to parameters and process data– Fieldbus has read access rights to events / alarms– ifm IoT Core has read access rights to parameters, process data and events / alarms• [IoT only]:– ifm IoT Core has read and write access rights to parameters and process data– ifm IoT Core has read access rights to events / alarms– Fieldbus has no access rightsrw1

1 Read and write

When setting the parameters of the access rights in the parameter setting software, observe the following notes:

  • If the access rights in the fieldbus projection software and ifm moneo|configure are set to the [Fieldbus + IoT] value, the parameter values set on the fieldbus side always apply.
  • For exclusive access to the device via ifm moneo|configure, set the access rights to the [IoT only] value and set the access rights to [Keep settings] in the fieldbus projection software.
  • If the access rights in have been set to the [Fieldbus + IoT (read only)] value, the access rights in ifm moneo|configure can no longer be changed. To regain write access with ifm moneo|configure, set the access rights in the fieldbus projection software to the [Fieldbus + IoT] value.

To configure the access rights:

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
▶ Select the [IoT] menu.
▷ The menu page shows the current settings.
▶ Set the access rights.
▶ Write the changed values to the device.
▶ Restart the device.
▷ The changed access rights are active.

9.1.4.2 Configuring IP settings

For communication with the IT network, the IP parameters of the IoT interface must be configured.

Available parameters:

ParameterDescriptionValue rangeAccess
[DHCP]Enable / disable the DHCP client• [Static IP]: DHCP client disabled; IP parameters are set by the user• [DHCP]: DHCP client enabled; IP parameters are set by the network's DHCP server. rw1
[IP address]IP address of the IoT interfacee.g. 192.168.1.100• 169.254.x.x(default) rw12
[Subnet mask]Subnet mask of the Ethernet networke.g. 255.255.255.0• 255.255.0.0 (Default) rw12
[Default gateway IP address]IP address of the network gatewaye.g. 192.169.1.1• 0.0.0.0 (Default) rw12
[MAC address]MAC address of the IoT interfacee.g. 00:02:01:0E:66:C1 ro3

1 Read and write
2 can only be changed if DHCP is disabled
3 Read only

To configure the IoT interface:

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.

▶ Select [IoT] menu.

▷ The menu page shows the current settings.

▶ Set IP parameters.

▶ Write the changed values to the device.

▷ IP settings of the IoT interface are configured.

9.1.4.3 Configuring the interface to the monitoring software

To enable transmission of the process data of the IO-Link master to the monitoring software (e.g. ifm moneo suite), the interface must be configured accordingly.

Available parameters:

NameDescriptionValue rangeAccess
[IP address LR Agent or SMARTOBSERVER]IP address of the monitoring soft-waree.g. 255.255.255.255 (default) rw1
[Port LR Agent or SMARTOB-SERVER]Port number of the monitoring soft-ware0: 0...35100: 35100 (default)...65535: 65535 rw1
[Interval LR Agent or SMAR-TOBSERVER]Interval for data transmission to the monitoring software (value in milli-seconds)[Disabled]: No transmission (default)500: 500 ms...2147483647: 2147483647 ms rw1
[Application tag]Source identifier of the device in the monitoring softwaree.g., factory 2 plant 1 rw1

1 Read and write

To set the interface to the monitoring software:

After changing the parameters [Port LR Agent or SMARTOBSERVER] or [Application Tag], it may take 120 seconds before the device establishes a new TCP connection.

To prevent the delay:

▶ When the parameter has been changed, restart the IO-Link master.

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.

▶ Select the [IoT] menu.

▷ The menu page shows the current settings.

▶ Set the parameters of the interface.

▶ Write the changed values to the device.

▷ Interface to the monitoring software has been set.

9.1.5 Fieldbus interface

The [Fieldbus] menu provides access to the parameters of the Ether
Net/IP interface.

9.1.5.1 Configuring the Ether
Net/IP interface

For communication with the Ether
Net/IP network, the IP parameters of the Ether
Net/IP interface must be configured.

Available parameters:

NameDescriptionValue rangeAccess
[DHCP]Enable / disable the DHCP client of the device• [Static IP]: IP parameters are set by the user• [DHCP]: IP parameters are set by a DHCP server in the network• [BOOTP]: IP parameters are set via Bootstrap Protocol (BOOTP) rw1
[IP address]IP address of the Ether
Net/IP interface
e.g. 192.168.82.100192.168.1.250 (default) rw1
[Subnet mask]Subnet mask of the Ether
Net/IP network
e.g. 255.255.0.0• 255.255.255.0 (default) rw1
[Default gateway IP address]IP address of the network gatewaye.g. 192.168.82.1• 0.0.0.0 (default) rw1
[Host name]Ether
Net/IP name of the device (max. 240 characters)
e.g. iol12.plant1 rw1
[MAC address]MAC address of the device's Ether
Net/IP interface
e.g. 00:02:01:0f:c8:8f ro2
[Fieldbus firmware]Version of the fieldbus firmwaree.g. 5.3.0.10 (Ether
Net/IP Adapter)
ro2

1 Read and write
2 Read only

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
▶ Select the [Fieldbus] menu.

▷ The menu page shows the current settings.

▶ Set the parameters of the Ether
Net/IP interface.
▶ Save the changes on the device.
▷ IP settings of the interface are configured.

9.1.5.2 Setting the Ether
Net/IP configuration mode

The device supports the fieldbus configuration modes "top-down" and "independent". For the configuration mode "Independent", the user can additionally select the connection type.

Available parameters:

ParameterDescriptionValue rangeAccess
[Independent mode]Ether
Net/IP configuration mode
· [Independent mode off]: Configuration via fieldbus PLC· [Independent mode on]: Configuration via the device rw12
[Process data length]Length of process data (per IO-Link port)· [2 bytes input 2 bytes output]: 2 bytes input data, 2 bytes output data· [4 bytes input 4 bytes output]: 4 bytes input data, 4 bytes output data· [8 bytes input 8 bytes output]: 8 bytes input data, 8 bytes output data· [16 bytes input 16 bytes output]: 16 bytes input data, 16 bytes output data· [32 bytes input 32 bytes output]: 32 bytes input data, 32 bytes output data rw12
[Swap]Swap the order of the bytes in the data word of the process data· [off]: as Array of Bytes· [on]: as Integer16 value; during an update of the process data, the bytes are exchanged rw12

1 Read and write
2 Read and write; parameter can only be changed if no active connection to fieldbus controller

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
▶ Select the [Fieldbus] menu.

▷ The menu page shows the current settings.

▶ Set the configuration mode.
▶ Optional: Select connection type.
▶ Set arrangement of the bytes in the process data.
▶ Save the changes on the device.
▷ Ether
Net/IP configuration mode is set.

The Port x menus provide access to the parameters of the IO-Link portsX01... X08.

9.1.6.1 Setting data transmission to the monitoring software

Available parameters:

NameDescriptionValue rangeAccess
[Transmission to LR Agent or SMARTOBSERVER]Enable / Disable the transmission of process data of the port to the monitoring software• [Disabled]: Process data is not transmitted• [Enabled]: Process data is transmittedrw 1

1 Read and write

To set the data transmission:

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
√ Interface to the monitoring software has been configured.
▶ Select the [Port x] (x = 1...8) menu.
▷ The menu page shows the current settings.
▶ Set the parameters.
▶ Write the changed values to the device.
▷ Data transmission to the monitoring software has been set.

9.1.6.2 Setting the operating mode Pin 4 (US)

Available parameters:

ParameterDescriptionValue rangeAccess
[Mode Pin4 US]Operating mode of Pin 4 (C/Q) of the port• [Disabled]: Port deactivated• [DI]: Digital input• [DO]: Digital output• [IO-Link]: IO-Link process datarw1

1 Read and write

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.

▶ Select the [Port x] (x = 1...8) menu.

▷ The menu page shows the current settings.

▶ Set the operating mode.

▶ Save the changes on the device.

▷ Operating mode of pin 4 (US) of the port has been set.

9.1.6.3 Setting the cycle time

In the IO-Link operating mode, the cycle time of the port can also be set.

Available parameters:

ParameterDescriptionValue rangeAccess
[Cycle time actual]Current cycle time between the IO-Link master and the IO-Link device (value in μs)0: best possible cycle time...132800: 132800 μsro 1 2
[Cycle time preset]Cycle time between the IO-Link master and the IO-Link device (value in μs)0: best possible cycle time1: 1 μs...132800: 132800 μs rw32
[Bit rate]Transmission rate between the IO-Link master and the IO-Link deviceCOM1: 4.8 kbaudCOM2: 38.4 kbaudCOM3: 230.4kbaud ro12

1 Read only

2 Parameter only available if operating mode pin 4 (US) = IO-Link and IO-Link device is connected to the port

3 Read and write

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
√ Operating mode of pin 4 of the port is "IO-Link".

▶ Select the [Port x] > [IO-Link] menu (x = 1...8).

▶ Set the cycle time.

▶ Write the changed values to the device.

▷ Cycle time of the IO-Link port is set.

9.1.6.4 Setting the device validation and data storage

The device supports the functions device validation and backup / restore of parameter data of the connected IO-Link devices.

The following options are available:

OptionValidation of the connected IO-Link deviceBackup of parameter valuesRestore of parameter values
[No check and clear]NoNoNo
[Type compatible V1.0 device]Yes, test compatibility with IO-Link standard V1.0NoNo
[Type compatible V1.1 device]Yes, test compatibility with IO-Link standard V1.1NoNo
[Type compatible V1.1 device with Backup + Restore]Yes, test compatibility with IO-Link standard V1.1 and identity of design (vendor ID, device ID)Yes, automatic backup of parameter values; Changes to the current parameter values will be storedYes, restore of parameter values when connecting an identical IO-Link device with factory settings
[Type compatible V1.1 device with Restore]Yes, test compatibility with IO-Link standard V1.1 and identity of design (vendor ID, device ID)No, there is no automatic backup; Changes to the parameter values are not storedYes, restore of parameter values when connecting an identical IO-Link device with factory settings

▷ Device validation and backup / restore of parameter values are only available if the "IO-Link" operating mode of the port has been activated.

For options [Type compatible V1.1 device with Backup + Restore] and [Type compatible V1.1 device with Restore]: If the parameters [Vendor ID] or [Device ID] are changed in online mode, the data memory is deleted and the parameter values of the connected IO-Link device are backed-up again in the IO-Link master.

Available parameters:

ParameterDescriptionValue rangeAccess
Validation / Data StorageValidation of the connected IO-Link devices and automatic restore of parameter sets of the IO-Link deviceNo check and clear
Type compatible V1.0 device
Type compatible V1.1 device
Type compatible V1.1 device with Backup + Restore
Type compatible V1.1 device with Restore
rw12
Vendor IDVendor ID of the IO-Link device to be validated againste.g., 310: ifm electronic gmbh rw12
Device IDDevice ID of the IO-Link device to be validated againste.g., 1129: TCC501 (ifm temperature sensor) rw12

1 Read and write
2 Parameter only available if operating mode pin 4 (US) = IO-Link and IO-Link device is connected to the port

To configure the device validation and the backup / restore of parameter values:

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
√ Operating mode of pin 4 of the port is "IO-Link".
▶ Select the [Port x] > [IO-Link] menu (x = 1...8).

▷ The menu page shows the current settings.

▶ Set the parameters for device validation and backup / restore of parameter values.
▶ Optional: Enter the vendor ID and device ID.
▶ Save the changes on the device.
▷ Device validation and backup / restore of parameter values have been configured.

9.1.6.5 Setting fail-safe values

The user can set the fail-safe values of the outputs of the IO-Link ports for the "Independent" configuration mode. The fail-safe values will only be enabled if the Ether
Net/IP connection is interrupted.

Available parameters:

ParameterDescriptionValue rangeAccess
[Fail-safe digital out]Fail-safe value of the output for operating mode "digital output (DO)"• [Reset]: default value• [Old]: most recent process value• [Set]: HIGH level rW12
[Fail-safe IO-Link]Fail-safe value of the output for "IO-Link" operating mode• [Off]: Fail-safe deactivated• [Reset]: Fail-safe activated – default value• [Old]: Fail-safe activated – most recent process value• [Pattern]: Fail-safe activated - byte sequence rW12

1 Read and write
2 Read and write; parameter can only be changed if no active connection to fieldbus controller

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
√ Configuration mode "Independent" is enabled.

▶ Select the [Port x] (x = 1...8) menu.
▷ The menu page shows the current settings.
▶ Setting fail-safe values
▶ Write the changed values to the device.
▷ Fail-safe values are configured.

9.1.7 Device information

The [Info] menu provides access to the identification information of the device.

9.1.7.1 Reading identification information

Available information:

To read the device information:

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
▶ Select [Info] menu.
▷ The menu page shows the device information.

9.1.8 Device control

The [Firmware] menu provides access to functions for controlling the device.

9.1.8.1 Resetting the device

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
▶ Select the [Firmware] menu.
▶ Click on [Factory reset].
▷ The device is reset to factory settings.
▷ All parameters are set to their default values.
▷ The device is read again.

9.1.8.2 Restarting the device

Requirements:

√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.
▶ Select the [Firmware] menu.
▶ Click on [Reboot].
▷ The device is restarted.

▷ All set parameter values will be retained.

9.1.9 Updating the firmware

To update the firmware of the device:

Requirements:

√ New firmware has been downloaded. documentation.ifm.com
√ The parameter setting software has been started.
√ The connection to the device has been established.
√ The detailed view of the device is active.

▶ In the header: Click on ↑. ▷ A dialogue window appears.

▶ Click on [Import firmware file]. ▷ The file explorer appears.

▶ Select the firmware file (.bin) and click on [Open]. ▷ The new firmware file is selected.

▶ Click on [OK]. ▷ The firmware of the device is updated. ▷ The status of the update process is displayed.

▷ The firmware of the device has been updated.

The device supports access to connected IO-Link devices (sensors, actuators).

IFM AL1326 - Setting the parameters of IO-Link devices - 1

Information about the parameters of the IO-Link device:

→ Operating instructions IO-Link device

→ IODD description of the IO-Link device

Requirements:

√ ifm moneo|configure has been started.
√ Operating mode pin 4 (US) of the port with the IO-Link device is „IO-Link“.
√ IoT has read and write access rights for the IO-Link master.
√ The IO-Link device is properly connected to the IO-Link port of the device.
√ The IODD library of ifm moeno|configure contains the IODD of the IO-Link device.

▶ Scan the network for devices. ▷ ifm moneo|configure detects the IO-Link master.

▶ Establish connection to the IO-Link master. ▷ ifm moneo|configure detects the connected IO-Link device.

▶ In the row of the IO-Link device: Click on ⚙. ▷ The detailed view of the IO-Link device appears. ▷ The detailed view shows the current parameter values of the IO-Link device.

IFM AL1326 - Setting the parameters of IO-Link devices - 2

Fig. 1: Example: Detailed view of the MVQ101 sensor

▶ Configure the IO-Link device.
▶ Store the changed configuration on the IO-Link device.
The parameters of the IO-Link device have been set.

9.2 ifm IoT Core REST API

9.2.1 ifm IoT Core: General information

The device has the ifm IoT Core. The ifm IoT Core represents the functionality of the device. The functionality consists of a set of data, services and events. The elements of the ifm IoT Core are arranged in a JSON object in a hierarchical tree structure. The ifm IoT Core makes these elements available to the outside world via standard interfaces (e.g. HTTP). This allows the user and other devices to access data (parameters, process data), events and functions (services) of the device.

9.2.1.1 Accessing the ifm IoT Core

Any element of the ifm IoT Core is accessed via its address (e.g. root/port1/pin2). The address is composed of the path leading to the element (root/port1) and the identifier of the element (pin2).

The user can access the ifm IoT Core via HTTP requests. The following methods are supported.

9.2.2 Getting started

To read the device description:

▶ Send the following POST request to the ifm IoT Core: {"code":"request","cid):-1,"adr":"gettree"}
▷ The ifm IoT Core returns the device description as a structured JSON object.
▶ Identify all substructures and the data points contained therein in the tree structure of the JSON object.
▶ Identify the applicable services for the access to substructures and the data points contained therein.

9.2.3 General functions

The device has the type “device” ( → Types ☐ 72). The following services can be applied to the root element of the device tree:

ServiceDescription
../gettreeProvide the complete tree or subtree of the device description (JSON)
../getidentityRead identification information of the unit
../getdatamultiRead multiple elements sequentially
../getelementinfoRead detailed information of an element
../getsubscriberlistProvide a list of all active notification subscriptions
../querytreeSearch device description for specific elements

The following services can be applied to elements of the type data depending on the configured access rights:

ServiceDescription
../getdataRead the value of the element
../setdataWrite the value of the element

9.2.3.1 Example: Reading properties of an element

Task: Determine the data type and value range of the accessrights parameter.

Solution: Read the properties of the element iotsetup/accessrights of the getelementinfo service. The fields type (data type) and valuation (range of values) contain the required information.

Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "getelementinfo",
    "data": {"adr": "iotsetup/accessrights"}
} 

Response:

{
    "cid":4711,
    "data":{
    "identifier":"accessrights",
    "type":"data",
    "profiles":["parameter"],
    "format":{
    "type":"enum",
    "namespace":"json",
    "encoding":"integer",
    "valuation":{
    "valuelist":{
    "0":"Fieldbus + IoT",
    "1":"Fieldbus + IoT (read-only)",
    "3":"IoT only"
    }
    }
},
"code":200
} 

The accessrights parameter has the data type ENUM with the valid values "Fieldbus + IoT", "Fieldbus + IoT (read only)" and "IoT only".

9.2.3.2 Example: Outputting the subtree

Task: Output all direct sub-elements of the node firmware.

Solution: Use the service gettree to output the required subtree (root node: firmware, sub-levels to display: 1)

Request:

{
    "code":"request",
    "cid":4711,
    "adr":"gettree",
    "data":{
    "adr":"firmware",
    "level":1
    }
} 

Response:

{
    "cid":4711,
    "data":{
    "identifier":"firmware",
    "type":"structure",
    "profiles":["software","software/uploadablesoftware"],
    "subs":[{
    "identifier":"version",
    "type":"data",
    "profiles":["parameter"],
    "format":{
    "type":"string",
    "namespace":"json",
    "encoding":"UTF-8"
    }
    },
    {
    "identifier":"type",
    "type":"data",
    "format":{
    "type":"string",
    "namespace":"json",
    "encoding":"UTF-8"
    }
    },
    {
    "identifier":"install",
    "type":"service"
    },
    {
    "identifier":"factoryreset",
    "type":"service"
    },
    {
    "identifier":"signal",
    "type":"service"
    },
    {
    "identifier":"container",
    "type":"data",
    "format":{
    "type":"binary",
    "namespace":"json",
    "encoding":"base64"
    }
    },
    {
    "identifier":"reboot",
    "type":"service"
    }
    ]
},
"code":200
} 

9.2.3.3 Example: Changing a parameter value

Task: The Application Tag parameter of the device is to be written with the value "Do not use". The new value is only supposed to be valid until the next reboot of the device.

Solution: Write the new value of the /devicetag/applicationtag element with the setdata service. To keep the new value only until the next restart of the unit, pass on the duration option with the uptime value.

Request:

{
    "code":"request",
    "cid":4711,
    "adr":"/devicetag/applicationtag/setdata",
    "data":{
    "duration":"uptime",
    "newvalue":"Do not use"
    }
} 

Response:

{
    "cid":4711,
    "code":200,
} 

9.2.3.4 Example: Read multiple elements sequentially

Task: The following current values of the device are to be read consecutively: temperature, serial number

Solution: Read the current parameter values using the service getdatamulti (data point temperature: /processdatamaster/temperature; data point serial number: /deviceinfo/serialnumber)

Request:

{
    "code":"request",
    "cid":4711,
    "adr":"/getdatamulti",
    "data":{"datatosend":[ "/processdatamaster/temperature", "/deviceinfo/serialnumber"]
}
} 

Response:

{
    "cid":4711,
    "data":{
    "processdatamaster/temperature":{
    "code":200,
    "data":44
    },
    "deviceinfo/serialnumber":{
    "code":200,
    "data":"000174210147"
    }
},
"code":200
} 

9.2.3.5 Example: Browsing device description

Task: All elements with the "timer" profile are to be listed.

Solution: Use the querytree service to search the device description with parameter "timer" (profile).

Request:

{
    "cid":4711,
    "code":"request",
    "adr":"querytree",
    "data":{
    "profile":"timer"
    }
} 

Response:

{
    "cid":4711,
    "data":{
    "adrList":[
    "device/timer[1]",
    "device/timer[2]"
    ]
},
"code": 200
} 

9.2.4 IoT: Configuring access rights

The device can be integrated in parallel into a fieldbus environment and into an IT network structure for IIoT applications (“Y-path”).

IFM AL1326 - IoT: Configuring access rights - 1

Changes to the Gateway: Resetting, rebooting and localising the device ( → ☐ 54) data point will only take effect after the device has been restarted.

Substructure: iotsetup

Available data points:

When parameterising the access rights with the ifm IoT Core, observe the following notes:

  • If the access rights in the fieldbus projection software and the parameter setting software are set to the [Fieldbus + IoT] value, the parameter values set on the fieldbus side always apply.
  • For exclusive access to the device via the parameter setting software, set the access rights to the [IoT only] value and set the access rights to [Keep settings] in the fieldbus projection software.
  • If the access rights in the ifm IoT Core are set to the value [Fieldbus + IoT (read only)], the access rights can no longer be changed via the ifm IoT Core. To regain write access with the parameter setting software, set the access rights in the fieldbus projection software to the [Fieldbus + IoT] value.

9.2.5 IoT: Configuring IP settings

Substructure: iotsetup/network

Available data points:

ParameterDescriptionValue rangeAccess
../dhcpActivate / deactivate DHCP mode·static ip: DHCP client disabled; IP parameters are set by the user ·dhcp: DHCP client enabled; IP parameters are set by the network's DHCP server. rw1
../ipaddressIP address of the IoT interfacee.g. 192.168.1.100 ·169.254.x.x (default) rw1
../subnetmaskSubnet mask of the network segmente.g. 255.255.255.0 ·255.255.0.0 (default) rw1
../ipdefaultgatewayIP address of the network gatewaye.g. 192.169.1.1 ·0.0.0.0 (default) rw1

1 Read and write

Applicable services:

NameDescription
../setblockwrite all data points of the substructure blockwise

Write the data points of the substructure only with the setblock service!

9.2.6 IoT: Configuring security mode

The unit provides a security mode. The security mode makes it possible to protect access to IO-Link masters and connected IO-Link devices from the IT network. When security mode is activated, the following restrictions apply:

  • Access only by authentication (password protection)
  • Access only via encrypted connection (TLS - Transport Layer Security)

The security mode only protects access and data transmission via the IoT interface.

▷ The user name administrator cannot be changed.
▷ The set password cannot be read with getdata.

The current status of the security mode can be read with the getidentity service ( → Service: getidentity ☐ 74).

For the authentication, the user must additionally provide the POST requests with a valid user name and password in the field "auth". The user name and the password are shown as Base64-coded character strings.

The following requests can be done if the security mode is enabled, also without authentication:

  • getidentity
    • deviceinfo/vendor/getdata
    • deviceinfo/productcode/getdata

Substructure: iotsetup

Available data points:

NameDescriptionValue rangeAccess
../security/securitymodeEnabling / disabling security modedisabled: Security mode deactivatedenabled: Security mode activated rw1
../security/passwordPassword for authentication (Base64 coded) wo2

1 Read and write

2 write only

IFM AL1326 - IoT: Configuring security mode - 1

Valid character set for the Base64 coding / decoding of the password: UTF-8

Online tool for coding / decoding: www.base64encode.org

9.2.6.1 Example: Activating security mode

Task: The security mode of the IoT interface is to be activated. The valid password is to be set to "password" (BASE64-coded: cGFzc3dvcmQ=).

Solution: Activating the security mode with data point iotsetup/security/securitymode. Writing the password to the data point iotsetup/security/password.

Activating security mode

Request:

{
    "code": "request",
    "cid": 1,
    "adr": "/iotsetup/security/securitymode/setdata",
    "data": {"newvalue": 1}
} 

Response:

{
    "cid": -1,
    "code": 200
} 

Setting the password

Request:

{
    "code": "request",
    "cid": 2,
    "adr": "/iotsetup/security/password/setdata",
    "data": {"newvalue":"cGFzc3dvcmQ Heroin"} 

Response:

{
    "cid": 2,
    "code": 200
} 

9.2.6.2 Example: Request with authentication

Task: The temperature of the IO-Link master is to be read. The security function is enabled (current password: password).

Solution: Read the data point processdatamaster/temperature. The request must be sent using https. The user name and the password are transferred as a Base64-coded character string ("administrator" = "YWRtaW5pc3RyYXRvcg==", "password" = "cGFzc3dvcmQ=")

Request:

{
    "code": "request",
    "cid": 1,
    "adr": "processdatamaster/temperature/getdata",
    "auth": {
    "user": "YWRtaW5pc3RyYXRvcg==",
    "passwd": "cGFzc3dvcmQ="
    }
} 

Response:

{
    "cid": 1,
    "data": {"value": 37},
    "code": 200
} 

9.2.6.3 Example: Resetting the password

Task: The existing password is to be reset.

Solution: To reset a password, disable the security mode. To disable it, enter the user name and the password (the fields "user" and "passwd").

Request:

{
    "code": "request",
    "cid": -1,
    "adr": "iotsetup/security/securitymode/setdata",
    "data": {"newvalue": 0},
    "auth": {
    "user": "YWRtaW5pc3RyYXRvcg==",
    "passwd": "SW9UNG1mbQ==""
    }
} 

Response:

{
    "cid": -1,
    "code": 200
} 

9.2.7 IoT: Configuring the interface to the monitoring software

To enable transmission of the process data of the IO-Link master to the monitoring software (e.g. ifm moneo suite), the interface must be configured accordingly.

Substructure: iotsetup

Available data points:

NameDescriptionValue rangeAccess
../smobipIP address of the monitoring softwaree.g. 255.255.255.255 (default) rw1
../smobportPort number of the monitoring software0: 0...35100: 35100 (default)...65535: 65535 rw1
../smobintervalInterval for data transmission to the monitoring software (value in milliseconds)0: Off – no transmission (default)500: 500 ms...2147483647: 2147483647 ms rw1

1 Read and write

9.2.8 Fieldbus: Configuring the Ether
Net/IP interface

For communication with the Ether
Net/IP network, the Ether
Net/IP interface must be configured.

Substructure: fieldbussetup

Available data points:

NameDescriptionValuesAccess
../network/dhcpStatus of the DHCP client0: Static IP address:1: DHCP (Dynamic Host Configuration Protocol)2: BOOTP (Bootstrap Protocol) rw1
../network/ipaddressIP address of the Ethernet interface:e.g. 192.200.0.100192.168.1.250 (Default) rw12
../network/subnetmaskSubnet mask of the network segmente.g. 255.255.192.0255.255.255.0 (Default) rw12
../network/ipdefaultgatewayIP address of the network gatewaye.g. 192.200.63.10.0.0.0 (Default) rw12
../network/macaddressMAC address of the Ethernet interfacee.g. 00:02:01:0E:10:7C ro3
../hostnameEther
Net/IP hostname
e.g. alxx2x rw1
../fieldbusfirmwareFirmware of the fieldbuse.g. 5.3.0.10 (Ether
Net/IP Adapter)
ro3
../connectionstatusStatus of the fieldbus connection0: Not connected1: Connected ro3

1 Read and write

2 Read and write; parameter can only be changed if no active connection to fieldbus controller

3 Read only

Applicable services:

NameDescription
../network/setblockWrite all values of the substructure blockwise

IFM AL1326 - Fieldbus: Configuring the EtherNet/IP interface - 1

▶ Change the parameters in the substructure network only block by block with the service setblock!

9.2.9 Fieldbus: Setting the Ether
Net/IP configuration mode

The device supports the Ether
Net/IP configuration modes "Top-Down Mode" and "Independent Mode".

Substructure: fieldbussetup/configuration

Available data points:

NameDescriptionValue rangeAccess
../independentmodeConfiguration mode0: Independent mode off1: Independent mode on rW12
../explicitmodepdConnection types (Input Assembly, Output Assembly)0: Explicit Process Data Mode off1: Explicit Process Data Mode with IO-Link I/O + Acyclic + Diag2: Explicit Process Data Mode with IO-Link I/O + Acyclic3: Explicit Process Data Mode with IO-Link I/O rW12
../processdataconfigurationLength of the process data0: 2 bytes input 2 bytes output1: 4 bytes input 4 bytes output2: 8 bytes input 8 bytes output3: 16 bytes input 16 bytes output4: 32 bytes input 32 bytes output rW12
../swapSwap of the bytes in process data0: Off1: On rW12

1 Read and write

2 Read and write; parameter can only be changed if no active connection to fieldbus controller

9.2.10 Fieldbus: Setting fail-safe values of the outputs

If the Ether
Net/IP connection is interrupted, fail-safe values can be set for the configured outputs of the ports.

Substructure: fieldbussetup/configuration/port[x] (x:1...8)

Available data points:

NameDescriptionValue rangeAccess
../failsafedigitaloutFail-safe value for the digital output - pin 4 (DO)0: Failsafe – Reset value: default value1: Failsafe – Old value: most recent process value2: Failsafe – Set value: HIGH level rw12
../failsafeiolinkFail-safe value for IO-Link output data - Pin 4 (IO-Link)0: No failsafe: Fail-safe deactivated1: Failsafe – Reset value: Fail-safe activated – default value2: Failsafe – Old value: Fail-safe – most recent process value3: Failsafe with Pattern: Fail-safe – byte sequence rw12

1 Read and write

2 Read and write; parameter can only be changed if no active connection to fieldbus controller

9.2.11 Ports: Setting the operating mode Pin 4 (US)

Pin 4 of ports X01... X08 supports the following operating modes:

- Disabled: No data transmission at pin 4 (C/Q) of the port

• Digital input: Binary input signal at pin 4 (C/Q) of the port

• Digital output Binary output signal at pin 4 (C/Q) of the port

• IO-Link: IO-Link data transmission via pin 4 (C/Q) of the port

The set operating mode must match the operating mode of the device connected to the port (sensor, actuator, IO-Link device).

Substructure: iolinkmaster/port[x] (x: 1...8)

Available data points:

NameDescriptionValue rangeAccess
.../modeOperating mode of pin 4 (US) of the port0: Disabled - port deactivated1: DI - digital input2: DO - digital output3: IO-Link - IO-Link data rW12
../mastercycletime_actualCurrent cycle time of the data transfer between port and IO-Link device (value in μs)0: best possible cycle time1: 1 μs...132800: 132800 μs ro3
../comspeedCurrent transfer rate between port and IO-Link device0: COM1 - 4.8 kBaud1: COM2 - 38.4 kBaud2: COM3 - 230.4 kBaud ro3
../mastercycletime_presetCycle time of the data transfer between port and IO-Link device (value in μs); only in IO-Link operating mode0: Automatically set the best possible cycle time1: 1 μs...132800: 132800 μs rW12

1 Read and write

2 Read and write; parameter can only be changed if no active connection to fieldbus controller

3 Read only

9.2.12 Ports: Configuring device validation and data storage

The device supports the functions device validation and backup / restore of parameter data of the connected IO-Link devices.

The following options are available:

OptionValidation of the connected IO-Link deviceBackup of parameter valuesRestore of parameter values
[No check and clear]NoNoNo
[Type compatible V1.0 device]Yes, test compatibility with IO-Link standard V1.0NoNo
[Type compatible V1.1 device]Yes, test compatibility with IO-Link standard V1.1NoNo
[Type compatible V1.1 device with Backup + Restore]Yes, test compatibility with IO-Link standard V1.1 and identity of design (vendor ID, device ID)Yes, automatic backup of parameter values; Changes to the current parameter values will be storedYes, restore of parameter values when connecting an identical IO-Link device with factory settings
[Type compatible V1.1 device with Restore]Yes, test compatibility with IO-Link standard V1.1 and identity of design (vendor ID, device ID)No, there is no automatic backup; Changes to the parameter values are not storedYes, restore of parameter values when connecting an identical IO-Link device with factory settings

Device validation and backup / restore of parameter values are only available if the "IO-Link" operating mode of the port has been activated.

For options [Type compatible V1.1 device with Backup + Restore] and [Type compatible V1.1 device with Restore]: If the parameters [Vendor ID] or [Device ID] are changed in online mode, the data memory is deleted and the parameter values of the connected IO-Link device are backed-up again in the IO-Link master.

Substructure: iolinkmaster/port[x] (x: 1...8)

Available data points:

NameDescriptionValue rangeAccess
../validation_datastorage_modeBehaviour of the port when connecting a new IO-Link device0: No check and clear1: Type compatible V1.0 device2: Type compatible V1.1 device3: Type compatible V1.1 device with Backup + Restore4: Type compatible V1.1 device with Restore rw12
../validation_vendoridIO-Link ID of the manufacturer that is to be validated0...655535 rw12
../validation_deviceidIO-Link ID of the device to be validated0...16777215 rw12
../datastorageStructure for port data storage- rw12
../datastorage/maxsizeMaximum size of the data storage content (in bytes)e.g. 2066: 2066 bytes ro3
../datastorage/chunksizeSize of a data segment (in bytes)e.g. 256: 256 bytes ro3
../datastorage/sizeSize of the data storage content (in bytes)e.g. 1024: 2 bytes ro3

1 Read and write

2 Read and write; parameter can only be changed if no active connection to fieldbus controller

3 Read only

Applicable services:

NameDescription
../validation_useconnecteddeviceValidate the IO-Link device
../datastorage/getblobdataReading the content of the data storage area
../datastorage/stream_setTransfer an individual data segment
../datastorage/start_stream_setStart sequential transmission of several data segments

Task: The data memory of port 2 of IO-Link master 1 is to be cloned to IO-Link master 2.

Solution: The cloning consists of 2 steps. In the first step, the data memory of the port is read by IO-Link master 1. In the second step, the read data is stored in the data memory of the port of IO-Link master 2.

Read data memory

▶ Read segment size of the data storage (h = number of bytes)

{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[2]/datastorage/chunksize/getdata"
} 

Example: h = 256

▶ Read total size of the data storage (g = number of bytes)

{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[2]/datastorage/size/getdata"
} 

Example: g = 550

▶ Calculate the number of reading steps n: n = first integer value for which applies: g < n*h

Example: n=3, da 550 < 3*256
▶ Read the data storage segment by segment ("pos" indicates the byte offset at which the read process starts with the length "length").

{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[2]/datastorage/getblobdata",
    "data": {"pos": 0, "length": h}
}
{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[2]/datastorage/getblobdata",
    "data": {"pos": h, "length": h}
}
{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[2]/datastorage/getblobdata",
    "data": {"pos": 2 * h, "length": h}
}
...
{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[2]/datastorage/getblobdata",
    "data": {"pos": n * h, "length": h}
} 

Example:
1st read command: pos = 0, length = 256
2nd read command: pos = 256, length = 256
3rd read command: pos = 512, length = 256
Each segment is returned as a BASE64-encoded string.
▶ Connect segments (concatenate).

Restore data memory

▶ Determine the size of the backed-up data storage content (n = number of bytes).
Example: n = 550
▶ Read segment size (s = number of bytes)

{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[1]/datastorage/chunksize/getdata"
} 

Example: s = 256
▶ Start writing the data storage string segment by segment ("size" = size of the read data storage)

{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[1]/datastorage/start_stream_set",
    "data": {"size": n}
} 

Example: size = 550

▶ Transmit data storage string segment by segment ("value" = string value with length s)

{
    "code": "request",
    "cid": -1,
    "adr": "/iolinkmaster/port[1]/datastorage/stream_set",
    "data": { "value": "aWZtfgIAAABBTDF4NXhfY25faXRfdDIuMi43Nw..." }
} 

9.2.13 Ports: Setting data transmission to the monitoring software

Substructure: iolinkmaster/port[x] (x: 1...8)

Available data points:

NameDescriptionValue rangeAccess
../senddatatosmobEnable / Disable the transmission of process data of the port to the monitoring software0: Disabled – process data will not be transmitted1: Enabled – process data will be transmittedrw 1

1 Read and write

9.2.14 Ports: Reading / writing process data

Substructure: iolinkmaster/port[x] (x: 1...8)

Available data points:

NameDescriptionValue rangeAccess
../pin2inDigital input (pin 2)0: OFF1: ONro 1
../iolinkdevice/pdinInput data (pin 4)"DI" operating mode:0x00: OFF0x01: ON"IO-Link" operating mode:Process value in hexadecimal representationro 1
../iolinkdevice/pdoutOutput data (pin 4)"DO" operating mode:0x00: OFF0x01: ON"IO-Link" operating mode:Process value in hexadecimal representationrw 23

1 Read only

2 Read and write

3 Read and write; parameter can only be changed if no active connection to fieldbus controller

Task: Read the current measured value of the ifm temperature sensor TN2531 at port 2.

Solution: Read the value of the pdin data point.

Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/iolinkmaster/port[2]/iolinkdevice/pdin/getdata"
} 

Response:

{
    "cid":4711,
    "data":{"value":"03C9"},
    "code":200
} 

The return value is displayed in hexadecimal format. The return value is given in hexadecimal format. Besides the temperature value the return value comprises additional information ( → IO Device Description (IODD) of the sensor). The temperature value is shown in bits 2 to 15.

0x03C9 = 0b1111001001 

Temperature value: 0b11110010 = 242

This means that The current temperature value is 24.2 °C.

Task: The buzzer of the DV2500 at port 2 is to be switched on. The DV2500 operates in On/Off mode.

Solution: Write the value of the pdout data point. The IODD of the DV2500 shows the structure of the process value (e.g. LED activity). The buzzer is switched via bit 40 of the process value (OFF = 0, ON = 1).

Course:

  1. Read the current process value Example: Reading an IO-Link process value (operating mode "IO-Link") (→ 46).
  2. Set bit 40 of the read value to 1.
  3. Write the new process value.

Example:
Read process value:

0x0000 0000 004D = 0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 1101 

New process value:

0b0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0100 1101 = 0x0100 0000 004D 

Request:

{
    "code": "request",
    "cid": 10,
    "adr": "iolinkmaster/port[2]/iolinkdevice/pdout/setdata",
    "data": {"newvalue":"01000000004D"}
} 

Response:

{
    "cid":10,
    "code":200
} 

9.2.14.3 Example: Reading the digital input value (operating mode "DI")

Task: The digital input value of the IO-Link device at port 2 (pin 4) is to be read. The operating mode of the IO-Link port is "Digital Input (DI)".

Solution: Read the process value of the pdin data point. The process value is returned as a hexadecimal value with a length of 1 byte (OFF = "00", ON = "01").

Request:

{
    "code": "request",
    "cid": 10,
    "adr": "iolinkmaster/port[2]/iolinkdevice/pdin/getdata"
} 

Response:

{
    "cid":10,
    "data": {
    "value":"00"
    },
    "code":200
} 

9.2.14.4 Example: Writing the digital output value (operating mode "DO")

Task: The digital output value of the IO-Link device at port 2 (pin 4) is to be set. The operating mode of the IO-Link port is "Digital Output (DO)".

Solution: Write the process value of the pdout data point. The value has to be written as a hexadecimal value with a length of 1 byte (OFF = "00", ON = "01").

Request:

{
    "code": "request",
    "cid": 10,
    "adr": "iolinkmaster/port[2]/iolinkdevice/pdout/setdata",
    "data": {
    "newvalue": "01"
    }
} 

Response:

{
    "cid":10,
    "code":200
} 

9.2.15 Ports: Reading port events

A port event contains information about events on the IO-Link port (e.g. IO-Link device connected or disconnected, change of the operating mode of the port).

Substructure: iolinkmaster/port[x] (x: 1...8)

Available data points:

NameDescriptionValue rangeAccess
../porteventPort event
Structure: 0xYYZZ000xYY: Device Status - Status of the IO-Link devices0xZZ: Connection Status - Status of the connection
Device status:0x00: No IO-Link device connected0x40: Wrong IO-Link device connected0x80: IO-Link device connected and in PREOPERATE state0xFF: IO-Link device connected and in OPERATE state
Connection Status:0x00: Port deactivated0x01: Port activated, but no device connected0x02: Port activated and in “IO-Link” operating mode0x03: Port activated and in “DI” operating mode0x04: Port activated and in “DO” operating mode0x1B: Repetitions detected0x1E: Short circuit detected at pin 40x42: Wrong revision of the IO-Link device0x43: Wrong vendor ID (V1.1 Revision)0x44: Wrong device ID (V1.1 Revision)0x45: Wrong vendor ID (V1.0 Revision)0x46: Wrong device ID (V1.0 Revision)0x48: Wrong cycle time
ro 1

1 Read only

9.2.16 Timer: Configuring the timers

The unit has 2 timers. The timers can be used for time-triggered transmission of notifications.

The timers are active by default.

Substructure: timer[1] | timer[2]

Available data points:

NameDescriptionValue rangeAccess
../counterCounter reading0...4294967295 rw1
../intervalCounting interval (value in ms)1000: 1000 ms...86400000: 86400000 ms rw1
../interval/unitUnit of the counting intervalms: milliseconds ro2

1 Read and write
2 Read only

9.2.16.1 Set the counting interval

Task: The counting interval of timer 2 is to be set to 2.5 s.

Solution: Using the setdata service to write the new value 2500 to the data point /timer[2]/interval (2500 ms = 2.5 s).

Request:

{
    "code": "request",
    "cid": 1,
    "adr": "/timer[2]/interval/setdata",
    "data": {
    "newvalue": 2500
    }
} 

Response:

{
    "cid": 1,
    "code": 200
} 

The ifm IoT Core supports access to the parameters of connected IO-Link devices via the IT network using ISDU (Index Service Data Unit). Each parameter can be addressed via its ISDU index and ISDU subindex ( → IODD of the IO-Link device). If access to the IO-Link device is faulty, the ISDU error code will also be output in the response ( → IODD of the IO-Link device).

Substructure: iolinkmaster/port[x]/iolinkdevice (x: 1...8)

Applicable services:

NameDescription
../iolreadacyclicRead a parameter of an IO-Link device (acyclic)
../iolwriteacyclicWrite a parameter of an IO-Link device (acyclic)

When using the validation level "Type compatible V1.1 Device with Backup + Restore":

After changing a parameter via ISDU write access, the user must end the parameter setting process with the "Param
DownloadStore" system command and activate the data storage mechanism on the IO-Link device.

▶ Set the System
Command object (ISDU index: 0x0002) to the value 0x05 (command "Param
DownloadStore") via acyclic ISDU write access.
▷ The parameter setting process is finished.
▷ The data storage mechanism on IO-Link device will be activated.
▷ The IO-Link device synchronises changed parameter values with data storage of the IO-Link master.

Task: Reading the serial number of the ifm temperature sensor TN2531 at port 2.

Solution: Read the serial number with the iolreadacyclic service from the IO-Link device (index: 21, subindex: 0)

Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/iolinkmaster/port[2]/iolinkdevice/iolreadacyclic",
    "data": {
    "index": 21,
    "subindex": 0
    }
} 

Response:

{
    "cid":4711,
    "data":{"value":"4730323134323830373130"},
    "code":200
} 

The returned value is displayed in hexadecimal format. Converting the HEX value to a STRING value results in: G0214280710.

Task: Setting the output configuration OUT1 of the ifm temperature sensor TN2531 at port 2 to the value "Hnc / hysteresis function, normally closed".

Solution: Set the parameter [ou1] of the sensor with the service iolwriteacyclic to the value 4. The parameter can be accessed via IO-Link Index 580, Subindex 0 ( → IO-Link description of the sensor).

Request:

{
    "code":"request",
    "cid":4711,
    "adr":"/iolinkmaster/port[2]/iolinkdevice/iolwriteacyclic",
    "data":{
    "index":580,
    "subindex":0,
    "value":"34"
    }
} 

The value must be passed in hexadecimal format. Converting the STRING value to a HEX value results in: 34.

Response:

{
    "cid":4711,
    "code":200
} 

Substructure: iolinkmaster/port[x]/iolinkdevice (x: 1...8)

Available data points:

NameDescriptionValue rangeAccess
../statusStatus of the connected IO-Link device0: State not connected - State not connected1: State preoperate - State PREOPERATE2: State operate - State OPERATE3: State communication error - State communication errorro 1
../vendoridIO-Link ID of the manufacturere.g. 310: ifm electronicro 1
../deviceidIO-Link ID of the IO-Link devicee.g. 712: ifm pressure sensor, PV7003ro 1
../productnameProduct name of the IO-Link devicee.g. PV7003ro 1
../serialSerial number of the IO-Link devicee.g. 000008500706ro 1
../applicationspecifictagApplication specific identification (application tag)e.g. sensor1_machine3rw 2

1 Read only

2 Read and write

The device supports IO-Link events. IO-Link events are event and error messages. IO-Link events can be generated in the IO-Link master and in the connected IO-Link devices. IO-Link events generated in the IO-Link devices are forwarded to the IO-Link master and stored there.

An IO-Link event message has the following structure:

Byte 0...1Byte 2Byte 3Byte 4Byte 5Byte 6
Event CodeSourceValidityTypeModeInstance

Legend

InstanceIO-Link Event Qualifier: Trigger1 byte0x00: unknown0x01: PL (Physical Layer)0x02: DL (Data Layer)0x03: AL (Application Layer)0x04: APPL (Application)
ModeIO-Link Event Qualifier: Event trigger1 byte0x40: One-time event or warning (single shot)0xC0: Error disappeared0x80: Error appeared
TypeIO-Link Event Qualifier: Event category1 byte0x10: Notification0x20: Warning0x30: Error
ValidityValidity of the process data1 byte0x00: Valid0x40: Invalid
SourceIO-Link Event Qualifier: Event source1 byte0x00: IO-Link device0xFF: IO-Link master
Event CodeIO-Link event code (bytes are swapped!)2 bytes→ IO-Link specification

Substructure: iolinkmaster/port[x]/iolinkdevice (x: 1...8)

Available data points:

NameDescriptionValue rangeAccess
../iolinkeventIO-Link eventSee notero 12

1 Read only

2 Parameter only available if operating mode pin 4 (US) = IO-Link and IO-Link device is connected to the port

9.2.20 Gateway: Set the application tag

Substructure: devicetag

Available data points:

NameDescriptionValue rangeAccess
../applicationtagBezeichnung des Geräts (Application Tag)e.g. “factory 2 plant 1”rw 1

1 Read and write

32 bytes are available on the device for storing the applicationtag parameter. If the memory range is exceeded, the device will abort the write process (diagnostic code 400).

▶ When writing the applicationtag parameter, note the different memory requirements of the individual UTF-8 characters (characters 0-127: 1 byte per character; characters >127: more than 1 byte per character).

9.2.21 Gateway: Update firmware

Substructure: firmware

Available data points:

NameDescriptionValue rangeAccess
../versionFirmware versionAL1x2x_cn_ei_v3.1.95ro 1
../typeSoftware typefirmwarero 1
../containerStructure for firmware (BLOB)-wo
../container/maxsizeContainer size (in bytes)e.g. 4194304ro 1
../container/chunksizeSize of a data segment (in bytes)e.g. 4096ro 1
../container/sizeSize of firmware file in container (in bytes)e.g. 634523ro 1

1 Read only

Applicable services:

NameDescription
../installInstall firmware
../container/stream_setTransfer an individual data segment
../container/start_stream_setStart sequential transmission of several data segments

ifm recommends using the IoT Core Visualizer ( → IoT Core Visualizer ☐ 64) to update the firmware.

9.2.22 Gateway: Reading status and diagnostic information

Substructure: processdatamaster

Available data points:

9.2.23 Gateway: Reading device information

Substructure: deviceinfo

Available data points:

Additional information about the can be read with the service getidentity ( → Service: getidentity ☐ 74).

9.2.24 Gateway: Resetting, rebooting and localising the device

Substructure: firmware

Applicable services:

NameDescription
../factoryresetReset device to factory settings
../rebootRestart the device.
../signalTrigger the flashing of the status LEDs

9.2.25 Notifications

The ifm IoT-Core offers the possibility to send notifications. A notification can contain the current values of individual or multiple process data.

Notifications can be triggered either time-controlled or event-controlled.

Notifications can be transmitted using the following protocols:

  • HTTP (Hypertext Transfer Protocol)
    • MQTT (Message Queuing Telemetry Transport)
    • TCP (Transmission Control Protocol)
  • WS (WebSocket)

Notifications can be transmitted in the following formats:

  • JSON
  • CSV

The activity duration of a notification can be set:

  • once: Notification is only active once and is then deleted
  • uptime: Notification is active until the next restart of the unit and is then deleted
    • lifetime: Notification is permanently active

Notifications are set up with the subscribe service.

Active notifications can be changed with the subscribe service.

All active notifications can be displayed with the getsubscriberlist service (→ Service: getsubscriberlist ☐ 75).

Information about an active notification can be displayed with the getsubscriptioninfo service (→ Service: getsubscriptioninfo ☐ 75).

Active notifications can be unsubscribed using the unsubscribe service.

9.2.25.1 Event-controlled notifications

All elements of the ifm IoT Core with a sub-element of the type event can be used as triggers for event-triggered notifications.

NameDescription
../datachangedNode for displaying value changes of the parent data node
../eventcollectionNode for displaying value changes of multiple data nodes of the IoT Core
../treechangedNode for displaying structural changes in the IoT Core

Applicable services:

NameDescription
../subscribeSubscribe to notifications
../unsubscribeUnsubscribe from notifications
../getsubscriptioninfoDisplay information about notifications

9.2.25.2 Time-controlled notifications

The ifm IoT Core offers 2 timers that can be used as triggers for time-triggered notifications.

NameDescription
../timer[1]/counter/datachangedCounter of timer 1
../timer[2]/counter/datachangedCounter of timer 2

The interval time of the timers can be set. Each counting pulse triggers a notification.

Applicable services:

NameDescription
../subscribeSubscribe to notifications
../unsubscribeUnsubscribe from notifications
../getsubscriptioninfoDisplay information about notifications

9.2.25.3 Example: Subscribing to notifications

Task: Every 0.5 seconds, the current values of the following parameters are to be sent regularly to a network server with the IP address 192.168.0.4/temp.

• Cyclic IO-Link input data of the IO-Link device at IO-Link port 2
- Operating temperature of the IO-Link master.

IFM AL1326 - Example: Subscribing to notifications - 1

The following options are additionally available:

via WebSockets (ws://): Example: Using WebSockets (→ 63)

via MQTT (mqtt://): Example: Configure and activate MQTT command channel (→ ☐ 60)

Solution:

▶ Subscribe to the required data using the subscribe service.
- Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/timer[1]/counter/datachanged/subscribe",
    "data": {
    "callback": "http://192.168.0.4:80/temp",
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/temperature"]
    }
} 

▶ Set the timer to 500 ms.
- Request:

{
    "code":"request",
    "cid":4712,
    "adr":"/timer[1]/interval/setdata",
    "data":{
    "newvalue":500
    }
} 

- Response:

{
    "cid":4712,
    "code":200
} 

- Notification (Format: JSON)

{
    "code": "event",
    "cid": 4711,
    "adr": "",
    "data": {
    "eventno": "6317",
    "srcurl": "/timer[1]/counter/datachanged",
    "payload": {
    "/timer[1]/counter": {"code": 200, "data": 1},
    "/processdatamaster/temperature": {"code": 200, "data": 39},
    "/iolinkmaster/port[2]/iolinkdevice/pdin": {"code": 200, "data": "03B0"}
    }
    }
} 

9.2.25.4 Example: Changing a notification

Task: The existing sbscription is to be changed ( → Example: Subscribing to notifications ☐ 55). Instead of the temperature of the IO-Link master, the operating voltage applied is to be transmitted.

Solution: Overwrite the existing subscription. For this purpose, the parameter values for "cid" and "callback" in the request must be the same as those of the existing subscription.

- Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/timer[1]/counter/datachanged/subscribe",
    "data": {
    "callback": "http://192.168.0.4:80/temp",
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/voltage"
    }
} 

9.2.25.5 Example: Subscribing to a notification in CSV format

Task: Every 2 seconds, the current values of the following parameters are to be sent to a network server with the IP address 192.168.0.4

• Cyclic IO-Link input data of the IO-Link device at port 2
- Operating temperature of the IO-Link master.

The data should be transmitted in CSV format (comma separator).

Solution:

▶ Use the subscribe service to subscribe to the required data and set the output format to "csv0".

IFM AL1326 - Example: Subscribing to a notification in CSV format - 1

Data in CSV format can only be sent via TCP connection.

- Request:

{
    "code": "request",
    "cid": 1,
    "adr": "/timer[1]/counter/datachanged/subscribe",
    "callback": "tcp://192.168.50.59:1883/topic",
    "codec": "csv0",
    "data": {
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/temperature"]
    }
} 

▶ Set the interval of the timer to 2 seconds:

- Request:

{
    "code":"request",
    "cid":4712,
    "adr":"/timer[1]/interval/setdata",
    "data":{"newvalue":2000}
} 

The cyclically sent notification has the following structure:

/timer[1]/counter/datachanged,6317,200,1,200,39,200,03B0 

9.2.25.6 Example: Unsubscribing from a notification

Task: The existing subscription Example: Subscribing to notifications ( → ☐ 55) is to be deleted.

Solution: Use the unsubscribe service to delete the subscription. For this purpose, the value of the parameter "callback" in the request must be equal to the value of the existing subscription.

- Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/timer[1]/counter/datachanged/unsubscribe",
    "data": {
    "callback": "http://192.168.0.4:80/temp"
    }
} 

9.2.25.7 Example: checking a notification

Task: Display information about the existing subscription Example: Subscribing to notifications ( → ☐ 55).

Solution: Use the service getsubscriptioninfo and the parameter values cid, "adr" and "callback" of the existing subscription to retrieve the information.

- Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/timer[1]/counter/datachanged/getsubscriptioninfo",
    "data": {
    "callback": "http://192.168.0.4:80/temp"
    }
} 

- Response:

{
    "code": "request",
    "cid": 4711,
    "data": {
    "callback": "http://192.168.0.4:80/temp",
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/productname",
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/temperature"]
    }
} 

9.2.25.8 MQTT support

The ifm IoT Core supports the MQTT protocol. MQTT lets a client communicate with the ifm IoT Core via a broker to request and receive data. The ifm IoT Core can publish data to an MQTT broker.

IFM AL1326 - MQTT support - 1

▶ Establish MQTT connections only on IoT port X23 of the device.

To enable MQTT communication, the user needs to configure the MQTT command channel. The configuration consists of the following sub-steps:

▶ Check that the MQTT broker can be reached.
▶ Check that the requested port of the MQTT broker is open.
▶ Activate the MQTT command channel.
▶ Configure the MQTT command channel.
▶ Configure the MQTT connection.
▷ The MQTT connection is configured and activated.

Configuring the MQTT connection

The following status diagram shows how the start, stop and reset services influence the current status of an MQTT connection:

IFM AL1326 - MQTT support - 2

After successful initialisation in the [init] state, the connection automatically changes to the [running] state.

The connection automatically assumes the [error] state if at least one of the following events occurs:

• no MQTT broker can be reached

IFM AL1326 - MQTT support - 3

Maximum number of MQTT broker: 1

Maximum number of simultaneous MQTT connections: 3

Substructure: connections/mqtt
Connection

Available data points:

NameDescriptionValue rangeAccess
../typeType of the connection (MQTT)mqtt: MQTT connectionro 1
../statusStatus of the MQTT connectioninit: [init] state – initialisationstopped: [stopped] state – connection stoppedrunning: [running] state – connection runningerror: [error] statero 1
../status/presetPresetting of the status of the MQTT connectionrunning: [running] state (default)ro 1
../MQTTSetupSubstructure for general MQTT settings
../MQTTSetup/QoSQuality of Service (QoS) of the MQTT connection0: QoS level 0 - PUBLISH (without confirmation) (default)1: QoS level 1 - PUBLISH > PUBREC (single confirmation)2: QoS level 2 - PUBLISH > PUBREL > PUBCOMP (double confirmation)rw 2
../MQTTSetup/versionMQTT versione.g. 3.1.1ro 1

1 Read only
2 Read and write

Applicable services:

NameDescription
../status/startActivate MQTT.
../status/stopDeactivate MQTT.
../status/resetReset MQTT.

Configuring the MQTT command channel

Make sure that the MQTT broker can be reached and that the selected port of the MQTT broker is released for data transfer.

The wildcards “+” and “#” are not supported in topic names.

Substructure: connections/mqtt
Connection/mqtt
CmdChannel

Available data points:

NameDescriptionValue rangeAccess
../typeType of the command channel·mqtt: MQTT command channel (default)ro 1
../statusStatus of the command channel·init: [init] state·stopped: [stopped] state·running: [running] state (default)·error: [error] statero 1
../status/presetPreset channel state·running: RUN state (default)ro 1
../mqtt
CmdChannel
Setup
Substructure for settings of the command channel--
../mqtt
CmdChannel
Setup/brokerIP
IP address of the MQTT brokere.g. 3.69.1.9rw 2
../mqtt
CmdChannel
Setup/broker-Port
Port number of the MQTT brokere.g. 1883rw 2
../mqtt
CmdChannel
Setup/cmd-Topic
Designation of the MQTT command topice.g. reqTopicrw 2
../mqtt
CmdChannel
Setup/default
ReplyTopic
Designation of the MQTT standard re-sponse topice.g. resp
Topic
rw 2

1 Read only
2 Read and write

Applicable services:

NameDescription
../status/startStart the MQTT command channel
../status/stopStop the MQTT command channel
../status/resetReseit the MQTT command channel

Example: Configure and activate MQTT command channel

Task: Configuring and activating the MQTT command channel (IP address of the MQTT broker): 192.168.82.100, port: 1883, command topic: reqTopic, standard response topic: resp
Topic, Quality of Service: Level 2)

Solution:

▶ Check whether MQTT broker can be reached and the port has been released.
▶ Set QoS level.

Request:

{
    "code": "request",
    "cid": 1,
    "adr": "/connections/mqtt
Connection/MQTTSetup/cmdChannel/QoS/setdata" "data": {"newvalue": 2}

}

▶ Activate MQTT connection

Request:

{
    "code": "request",
    "cid": 1,
    "adr": "connections/mqtt
Connection/MQTTSetup/cmdChannel/Status/start" }

▶ Set the IP address of the MQTT broker.

Request:

{
    "code": "request",
    "cid": 2,
    "adr": "connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/brokerIP/setdata", "data": { "newvalue": "192.168.82.100" } }

▶ Set the port number of the MQTT broker.

Request:

{
    "code": "request",
    "cid": 3,
    "adr": "connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/broker
Port/setdata", "data": { "newvalue": "1883" } }

▶ Set the command topic.

Request:

{
    "code": "request",
    "cid": 4,
    "adr": "connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/cmdTopic/setdata", "data": { "newvalue": "reqTopic" } }

▶ Set standard response topic.

Request:

{
    "code": "request",
    "cid": 5,
    "adr": "/connections/mqtt
Connection/mqtt
CmdChannel/mqtt
CmdChannel
Setup/default
ReplyTopic/setdata", "data": { "newvalue": "resp
Topic" } }

Example: ▶ Publishing the temperature to an MQTT broker

Task: The temperature of the unit is to be published to an MQTT broker every 5 seconds (MQTT broker: 192.168.82.100, port: 1883, topic: device
Temp).

Solution:

▶ Setting the interval of the timer

Request:

{
    "code":"request",
    "cid":1,
    "adr":"/timer[1]/interval/setdata",
    "data":{
    "newvalue":5000
    }
} 

▶ Publishing the temperature to an MQTT broker

Request:

{
    "code": "request",
    "cid": 2,
    "adr": "/timer[1]/counter/datachanged/subscribe",
    "data": {
    "callback": "mqtt://192.168.82.100:1883/device
Temp", "datatosend": ["processdatamaster/temperature"] } }

Response:

{
    "cid": 2,
    "code": 200
} 

9.2.25.9 WebSocket support

The ifm IoT-Core supports communication via WebSocket protocol. With WebSocket, the user can establish a full-duplex communication channel via a TCP connection.

WebSocket can be used for the following services:

  • subscribe
  • unsubscribe

Maximum number of simultaneous WebSocket connections: 8 Secure WebSocket connections (wss://) are not supported.

To transmit notifications via a WebSocket connection:

▶ Establish a WebSocket connection (e.g. "ws://192.168.0.55:80/mywebsocket")
- Option 1: without parameter "callback"
▶ Send a subscribe/unsubscribe request without "callback" parameter.
▷ ifm IoT-Core sends notifications about existing WebSocket connections.
- Option 2: with parameter "callback"

▶ Send subscribe/unsubscribe requests with "callback" parameter ("ws://myTopic").
▷ ifm IoT-Core sends notifications about existing WebSocket connections to the myTopic topic.

Example: Using WebSockets

Task: The current values of the following parameters are to be sent regularly to the myTopic data sink via an existing WebSocket connection:

• Product name of the IO-Link device at IO-Link port 2
• Cyclic IO-Link input data of the IO-Link device at IO-Link port 2
- Operating temperature of the IO-Link master.

Solution: Subscribe to the required data using the subscribe service.

- Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/timer[1]/counter/datachanged/subscribe",
    "data": {
    "callback": "ws://myTopic",
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/productname",
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/temperature"]
    }
} 

If the notifications are to be transmitted via the existing WebSocket connection, but without a special data sink, the callback parameter is not required.

- Request:

{
    "code":"request",
    "cid":4711,
    "adr":"/timer[1]/counter/datachanged/subscribe",
    "data":{
    "datatosend":[ "/iolinkmaster/port[2]/iolinkdevice/productname", "/iolinkmaster/port[2]/iolinkdevice/pdin", "/processdatamaster/temperature"]
    }
} 

9.3 IoT Core Visualizer

The IoT Core Visualizer provides a graphical user interface to access the functions of the ifm IoT Core.

9.3.1 Starting the IoT-Core Visualizer

To start the IoT-Core Visualizer:

Requirements:

√ The IoT interface is configured.
▶ Start the web browser.
▶ Go to the following URL: http:///web/subscribe (e.g. http://192.168.82.100/web/subscribe)
▷ The web browser displays the start page of the IoT-Core Visualizer.

The navigation menu gives access to the following functions:

• [Notification]: Managing notifications ( → ☐ 65)
• [Elements]: Searching for elements of the IoT Core ( → ☐ 66)
• [Parameter]: Configuring the IO-Link master ( → ☐ 67)
• [Processdata]: Accessing process data ( → ☐ 68)
• [Update]: Update firmware (→ 69)

9.3.2 Managing notifications

The [Notification] menu page gives access to the following functions:

  • Creating notifications
    • Showing active notifications
    • Deleting notifications (single, all)

Requirements:

√ IoT Core Visualizer has been started.
▶ Select the [Notification] menu.
▷ Menu page for managing notifications appears.
▷ Table shows all active notifications.

9.3.2.1 Creating a new notification

A wizard is used to register new notifications.

Requirements:

√ The [Notification] menu page is open.
▶ Click on + on the right side of the table.
▷ The wizard for creating notifications appears.
▶ Use the wizard to enter the required notification parameters step by step.
▷ The wizard generates a notification.
▷ The created notification is displayed in the table.

IFM AL1326 - Creating a new notification - 1

▶ For cyclical notifications via timer[1] or timer[2], set the interval time of the corresponding timer.

9.3.2.2 Deleting a notification

To delete an active IODD:

Requirements:

√ The [Notification] menu page is open
√ At least one notification is active.
▶ Click on the x symbol in the [Unsubscribe] column.
▷ The selected notification will be deleted (unsubscribe).

9.3.3 Searching for elements of the IoT Core

The [Elements] menu page allows you to search the IoT Core tree for elements with specific properties and output the results.

The following properties can be searched for:

• [identifier]: Name of the element
• [profile]: Profile of the element
• [type]: Type of the element

Requirements:

√ IoT Core Visualizer has been started.
√ The [Elements] menu is active.
▶ Select the search criteria for the required element in the selection lists [identifier], [profile] and [type].
▶ Click on [Search for...].
▷ IoT Core Visualizer searches the device description for elements with selected search criteria.
▷ The result list shows all the elements found.

The [Parameter] menu page allows to configure the IO-Link master.

Available options:

  • Reading and writing individual parameters
  • Backup and restore the current configuration of the machine.

Requirements:

√ IoT Core Visualizer has been started.
▶ Select the [Parameter] menu.
▷ The menu page shows the available parameters of the IO-Link master.
▷ Current parameter values are displayed.
▶ Optional: Click on ⊙ next to an element to manually update the process value.

To change a parameter:

▶ Navigate to the desired parameter in the device description.
▶ Changing the parameter value
▶ Click on ✿ to save the change on the IO-Link master.
▷ The changed parameter value is active.
▶ Optional: Repeat the procedure to change further parameter values.

9.3.5 Accessing process data

The [Processdata] menu page makes it possible to read and write the process data of the IO-Link master and the connected IO-Link devices

Requirements:

√ IoT Core Visualizer has been started.
▶ Select the [Processdata] menu.
▷ Menu page shows the substructures of the device description that contain process data and events.
▷ The current process values are displayed.
▶ Optional: Activate the [Polling] option and change the update interval.
▷ The process values will be updated with the set interval.
▶ Optional: Click on ⊙ next to an element to manually update the process value.

To change the value of a process date:

▶ Navigate to the required process date in the device description.
▶ Change the process value.
▶ Click on ✿ to save the change on the IO-Link master.
▷ Changes are saved on the IO-Link master.
▷ The changed process value is active.
▶ Optional: Repeat the procedure to change further process values.

9.3.6 Update firmware

The [Update] menu page allows you to update the firmware of the device:

Requirements:

√ IoT Core Visualizer has been started.
√ New firmware has been downloaded. documentation.ifm.com
▶ Select the [Update] menu.
▷ Menu page shows information about the current firmware version.
▶ Click on [Load software file] and select the new firmware file (*.bin).
▶ Click on [Update] to start the update process.
▷ The firmware of the device is updated.
▷ The progress of the update process is displayed.
▷ After successful update: The device reboots automatically.

9.4 Ether
Net/IP

9.4.1 Note: Startup package

ifm electronic provides Startup Packages for the integration of the device in Ether
Net/IP environments with controllers from different manufacturers.

The Startup Packages can be downloaded from the ifm website: documentation.ifm.com

10 Maintenance, repair and disposal

The operation of the unit is maintenance-free.

▶ Dispose of the device in an environmentally friendly way in accordance with the applicable national regulations when it is no longer used.

10.1 Cleaning the housing surface

Clean the surface of the device when necessary.

▶ Disconnect the device.
▶ Clean the device from dirt using a soft, chemically untreated and dry cloth.
▶ In case of severe soiling, use a cloth moistened with water.
▶ Do not use any caustic cleaning agents for this!

10.2 Update firmware

The firmware of the device can be updated using the following methods:

  • ifm IoT Core Visualizer: Update firmware (→ 69)
  • ifm moneo: Updating the firmware (→ 29)

11 Appendix

11.1 ifm IoT Core

11.1.1 Profiles

ProfileDescription
blobBinary Large Object
deviceinfoIdentification information of a device
devicetagDevice-specific identification
iolinkdevice_fullIO-Link device
iolinkmasterIO-Link master
networkNetwork
parameterParameter
processdataProcess data
serviceService
softwareSoftware
software/uploadable-softwareupgradeable software
timerCounter

11.1.2 Types

TypeDescription
dataData point
deviceRoot element representing a device
eventEvent that can be triggered by the firmware and sends notifications
serviceService that can be addressed from the network
structureStructural element (e.g. a folder in the file system)

11.1.3 Services

11.1.3.1 Service: factoryreset

Name: factoryreset

Description: The service sets the parameters of the device to the factory settings.

Request ("data" field): none

Response ("data" field): none

11.1.3.2 Service: getblobdata

Name: getblobdata

Description: The service reads a Binary Large Object (blob).

Request ("data" field):

ParameterMandatory fieldData typeDescription
PosMandatoryNUMBERByte position
lengthMandatoryNUMBERSize of the object (number of bytes)

Response ("data" field):

ParameterMandatory fieldData typeDescription
dataMandatorySTRINGData to be decoded (BASE64-encoded)
crcOptionalHEX STRINGCRC of the data after decoding
md5OptionalHEX STRINGMD5 checksum of the data after decoding

11.1.3.3 Service: getdata

Name: getdata

Description: The service reads the value of a data point and provides it.

Request ("data" field): none

Response ("data" field):

ParameterMandatory fieldData typeDescription
valueMandatorySTRINGValue of the data point

11.1.3.4 Service: getdatamulti

Name: getdatamulti

Description: The service sequentially reads the values of multiple data points and outputs them. The value and a diagnostic code are output for each data point.

Request ("data" field):

ParameterMandatory fieldData typeDescription
datatosendMandatoryARRAY OF STRINGSList of data points to be requested; data points must support the getdata service ("datatosend":[“url1”, “url2”, ..., “urlx”])

Response ("data" field):

ParameterMandatory fieldData typeDescription
urlMandatorySTRINGData point that was queried
codeMandatoryINTDiagnostic code of the request
dataMandatorySTRINGValue of the data point

11.1.3.5 Service: getelementinfo

Name: getelementinfo

Description: The service reads the properties of an element of the IoT tree.

Request ("data" field):

ParameterMandatory fieldData typeDescription
adrmandatorySTRINGURL of the element whose properties are to be changed

Return ("data" field):

ParameterMandatory fieldData typeDescription
identifiermandatorySTRINGIdentifier of the element
typemandatorySTRINGType of the element
formatoptionalJSON objectFormat of the data or of the service content
uidoptionalSTRING
profilesoptionalJSON-AR-RAYElement profiles
hashoptionalSTRING

11.1.3.6 Service: getidentity

Name: getidentity

Description: The service reads device information and outputs it.

Request (field „data“): keine

Response (field „data“):

ParameterMandatory fieldData typeDescription
iotdeviceDevice description as JSON object
iot.namemandatorySTRINGType of the element
iot.uidoptionalSTRING
iot.versionmandatorySTRING
iot.catalogueoptionalARRAY OF OBJECTS
iot.deviceclassoptionalARRAY OF STRINGDevice class
iot.serverlistoptionalARRAY OF OBJECTS
deviceoptionalArticle nummer
device.serialnumberoptionalSerial number
device.hwrevisionoptionalHardware version
device.swrevisionoptionalSoftware version
device.customoptional

11.1.3.7 Service: getsubscriberlist

Name: getsubscriberlist

Description: The service provides a list of all active subscriptions.

Request ("data" field): none

Response ("data" field):

ParameterMandatory fieldData typeDescription
adrMandatorySTRINGNotification trigger
datatosendMandatoryARRAY OF STRINGSList with URLs of the data elements; URLs are comma separated
cidMandatorySTRINGID of the active notification
callbackurlMandatorySTRINGDestination address for the notifications
durationMandatorySTRINGActivity duration

11.1.3.8 Service: getsubscriptioninfo

Name: getsubscriptioninfo

Description: The service provides information about an active notification (subscribe). The following parameters of the active notification are to be used for the query:

  • cid (e.g. 4711)
  • adr (e.g. timer[1]/counter/datachanged)
  • callback (e.g. http://192.168.82.121:8080/topic)

Request ("data" field):

ParameterMandatory fieldData typeDescription
callbackmandatorySTRINGDestination address of the notifications; complete URL (e.g. http://ipaddress:port/path)

Return ("data" field):

ParameterMandatory fieldData typeDescription
subscriptionmandatoryBOOLStatus of the transferred parameters of the notificationFALSE: Parameter incorrectTRUE: Parameter correct; Notification found
datatosendmandatorySTRINGList with URLs of the data elements; URLs are comma separated
cidmandatorySTRINGID of the active notification
callbackurlmandatorySTRINGDestination address of the notifications

11.1.3.9 Service: gettree

Name: gettree

Description: The service reads the device description of the unit and outputs it as a JSON object. The output can be limited to a subtree of the device description.

Request ("data" field):

ParameterMandatory fieldData typeDescription
adrOptionalSTRINGRoot element of the subtree
levelOptionalSTRINGMax. level up to which the subtree is outputno entry: all levels will be displayed0: do not display sub-elements (“subs”)1: display sub-elements2: display sub-elements up to the 2nd level3: display sub-elements up to the 3rd level...20: display sub-elements up to the 20th level

Response ("data" field):

ParameterMandatory fieldData typeDescription
identifierMandatorySTRINGIdentifier of the root element
typeMandatorySTRINGType of the element
formatOptionalJSON objectFormat of the data content
uidOptionalSTRING
profilesOptionalJSON array
subsMandatoryJSON arraySub-elements
hashOptionalSTRING

11.1.3.10 Service: install

Name: install

Description: The service installs the firmware stored in a memory area of the unit.

Request ("data" field): none

Return ("data" field): none

11.1.3.11 Service: iolreadacyclic

Service: iolreadacyclic

Description: The service acyclically reads the parameter value of an IO-Link device. It is accessed via IO-Link index and subindex.

Request ("data" field):

ParameterMandatory fieldData typeDescription
indexmandatoryNUMBERIO-Link index of the parameter
subindexmandatoryNUMBERIO-Link subindex of the parameter

Return ("data" field):

ParameterMandatory fieldData typeDescription
valuemandatorySTRINGParameter value (value in hexadecimal format)

11.1.3.12 Service: iolwriteacyclic

Name: iolwriteacyclic

Description: The service acyclically writes the parameter value of an IO-Link device. It is accessed via IO-Link index and subindex.

Request ("data" field):

ParameterMandatory fieldData typeDescription
indexmandatoryNUMBERIO-Link index of the parameter
subindexmandatoryNUMBERIO-Link subindex of the parameter
valuemandatorySTRINGParameter value (value in hexadecimal format)

Return ("data" field): none

11.1.3.13 Service: querytree

Name: querytree

Description: The service searches a device tree for the criteria profile, type and identifier and outputs a list with the URLs of the elements found. At least one of the search criteria must be specified. The service can only be executed on the root node of the unit.

Request ("data" field):

ParameterMandatory fieldData typeDescription
profileOptionalSTRINGProfile of the requested element
typeOptionalSTRINGType of the requested element
identifierOptionalSTRINGName of the requested element

Response ("data" field): none

ParameterMandatory fieldData typeDescription
urlListMandatoryARRAYArray with URLs of the found elements; URLs are separated by commas

11.1.3.14 Service: reboot

Name: reboot

Description: The service reboots the device.

Request ("data" field): none

Response ("data" field): none

11.1.3.15 Service: reset

Name: reset

Description: The service resets a connection to the initialisation state.

Request ("data" field): none

Response ("data" field): none

11.1.3.16 Service: setblock

Name: setblock

Description: The service simultaneously sets the values of multiple data points of a structure.

Request ("data" field):

ParameterMandatory fieldData typeDescription
datatosetMandatoryARRAY OF OBJECTSList of data points and their new values; Data points must support the setdata service
consistentOptionalBOOLResponse within a certain time

Response ("data" field): none

11.1.3.17 Service: setdata

Name: setdata

Description: The service sets the value of a data point.

Request ("data" field):

ParameterMandatory fieldData typeDescription
newvalueMandatorySTRINGNew value of the data point
durationOptionalSTRINGDuration of value storagelifetime: value is saved with IoT Core; value remains valid even after restart of the deviceuptime: value is saved until the next restart of the device

Response ("data" field): none

11.1.3.18 Service: signal

Name: signal

Description: The service triggers the flashing of the status LEDs of the unit.

Request ("data" field): none

Response ("data" field): none

11.1.3.19 Service: start

Name: start

Description: The service starts a function (e.g. connection, timer).

Request ("data" field): none

Response ("data" field): none

11.1.3.20 Service: start_stream_set

Name: start_stream_set

Description: The service starts the sequential transmission of several data fragments.

Request ("data" field):

ParameterMandatory fieldData typeDescription
sizeMandatorySTRINGOverall length of the data to be transmitted (number of bytes)

Response ("data" field): none

11.1.3.21 Service: stop

Name: stop

Description: The service stops a function (e.g. connection, timer).

Request ("data" field): none

Response ("data" field): none

11.1.3.22 Service: stream_set

Name: stream_set

Description: The service transfers a data segment.

Request ("data" field):

ParameterMandatory fieldData typeDescription
valueMandatoryBIN (BASE64)Segment of the binary data (BASE64-encoded)

Response ("data" field): none

11.1.3.23 Service: validation_useconnecteddevice

Name: validation_useconnecteddevice

Description: The service checks whether the device ID and the vendor ID of the connected IO-Link device match the data points ../validation_vendorid and ../validation_deviceid.

Request ("data" field): none

Return ("data" field): none

11.2 Ether
Net/IP

11.2.1 Parameters

11.2.1.1 Configuration Assembly (Instance 199)

Byte (Offset)Bit
76543210
0Communication profile
1Port Process Data Size
2...13Port X01: Port Configuration ( → Mapping: Port Configuration ☐ 81)
14...25Port X02: Port Configuration ( → Mapping: Port Configuration ☐ 81)
26...37Port X03: Port Configuration ( → Mapping: Port Configuration ☐ 81)
38...49Port X04: Port Configuration ( → Mapping: Port Configuration ☐ 81)
50...61Port X05: Port Configuration ( → Mapping: Port Configuration ☐ 81)
62...73Port X06: Port Configuration ( → Mapping: Port Configuration ☐ 81)
74...85Port X07: Port Configuration ( → Mapping: Port Configuration ☐ 81)
86...97Port X08: Port Configuration ( → Mapping: Port Configuration ☐ 81)

Legend:

- Communication profile

The access rights to the parameters, process data and events/diagnostic messages of the IO-Link master and the connected IO-Link devices

1 BYTE

• 0x00: Ether
Net/IP + LineRecorder
• 0x01: Ether
Net/IP + LineRecorder (ro)
• 0x02: Ether
Net/IP only
• 0x03: Keep setting (Default)

- Port Process Data Size

Length of the process data (inputs and outputs)

1 BYTE

  • 0x00: 2 bytes
    – Input Assembly: 206 bytes
    – Output Assembly: 62 bytes
  • 0x01: 4 bytes
    – Input Assembly: 222 bytes
    – Output Assembly: 78 bytes

- 0x02: 8 bytes

– Input Assembly: 254 bytes

– Output Assembly: 110 bytes

- 0x03: 16 bytes

– Input Assembly: 318 bytes

- Output Assembly: 174 bytes

- 0x04: 32 bytes

– Input Assembly: 446 bytes

– Output Assembly: 302 bytes

Mapping: Port Configuration

Byte (Offset)Content
nPort Mode
n+1Port Cycle Time
n+2Swap
n+3Validation / Data Storage
n+4Vendor ID (LSB)
n+5Vendor ID (MSB)
n+6Device ID (LSB)
n+7Device ID
n+8Device ID (MSB)
n+9reserved
n+10Failsafe Mode – Pin 4 (IO-Link)
n+11Failsafe Mode – Pin 4 (DO)

Legend:

ModeOperating mode of the port (pin 4)1 BYTE0x00: Disabled0x01: digital input (pin 4)0x02: digital output (pin 4)]0x03: IO-Link (pin 4)
Port Cycle TimeCycle time of the data transmission between the IO-Link master and the IO-Link device1 BYTE0x00: As fast as possible0x01: 2 ms0x02: 4 ms0x03: 8 ms0x04: 16 ms0x05: 32 ms0x06: 64 ms0x07: 128 ms
SwapSwap arrangement of bytes in process data (Ether
Net/IP uses little-endian format (Intel), IO-Link uses big-endian format (Motorola))
1 BYTE0x00: Enabled0x01: Disabled
Validation / Data StorageValidation mode / data storage mode1 BYTE0x00: No device check and clear0x01: Type compatible V1.0 device0x02: Type compatible V1.1 device0x03: Type compatible V1.1 device with Backup + Restore0x04: Type compatible V1.1 device with Restore
Vendor IDVendor ID of the manufacturer of the IO-Link device
Vendor ID = 0x1234
Vendor ID (MSB): 0x12
Vendor ID (LSB): 0x34
2 BYTE0x00...0x7FFF
Device IDDevice ID of the IO-Link device
Device ID = 0x123456
Device ID (MSB): 0x12
Device ID 0x34
Device ID (LSB): 0x56
3 BYTE0x000000...0xFFFFF
Failsafe Mode – Pin 4 (IO-Link)Fail-safe mode for output data of the port if the Ether
Net/IP connection is interrupted (only valid for port mode: IO-Link)
1 BYTE0x00: No failsafe0x01: Failsafe Reset Value0x02: Failsafe Old Value0x03: Failsafe with Pattern

- Failsafe Mode – Pin 4 (DO)

Fail-safe value for output data of the port if the Ether
Net/IP connection is interrupted (only valid for port mode: Digital Output (DO)

1 BYTE

  • 0x00: Failsafe Reset Value
    • 0x01: Failsafe Old Value
    • 0x02: Failsafe Set Value

11.2.2 Cyclic data

11.2.2.1 Input Assembly (Instance 100)

Byte (Offset)Bit
76543210
0...1Digital Input ( → Mapping: Digital Input 86)
2...3Status Information ( → Mapping: Status Information 87)
4...45Acyclic Command Channel: Response ( → Response channel 94)
46...47Port X01: Mapping: Port Qualifier Information (PQI) ( → 88)
48...63Port X01: Mapping: IO-Link information + events ( → 88)
64...65Port X02: Mapping: Port Qualifier Information (PQI) ( → 88)
66...81Port X02: Mapping: IO-Link information + events ( → 88)
82...83Port X03: Mapping: Port Qualifier Information (PQI) ( → 88)
84...99Port X03: Mapping: IO-Link information + events ( → 88)
100...101Port X04: Mapping: Port Qualifier Information (PQI) ( → 88)
102...117Port X04: Mapping: IO-Link information + events ( → 88)
118...119Port X05: Mapping: Port Qualifier Information (PQI) ( → 88)
120...135Port X05: Mapping: IO-Link information + events ( → 88)
136...137Port X06: Mapping: Port Qualifier Information (PQI) ( → 88)
138...153Port X06: Mapping: IO-Link information + events ( → 88)
154...155Port X07: Mapping: Port Qualifier Information (PQI) ( → 88)
156...171Port X07: Mapping: IO-Link information + events ( → 88)
172...173Port X08: Mapping: Port Qualifier Information (PQI) ( → 88)
174...189Port X08: Mapping: IO-Link information + events ( → 88)
190Port X01: Input data IO-Link (n bytes) 1
190+nPort X02: Input data IO-Link (n bytes) 1
190+2nPort X03: Input data IO-Link (n bytes) 1
190+3nPort X04: Input data IO-Link (n bytes) 1
190+4nPort X05: Input data IO-Link (n bytes) 1
190+5nPort X06: Input data IO-Link (n bytes) 1
190+6nPort X07: Input data IO-Link (n bytes) 1
190+7nPort X08: Input data IO-Link (n bytes) 1

1 n: 2, 4, 8, 16, 32 ; n is determined by the parameter [Port Process Data Size] in the configuration assembly ( → Configuration Assembly (Instance 199) ☐ 80)

11.2.2.2 Input Assembly (Instance 101)

Byte (Offset)Bit
76543210
0...1Digital Input ( → Mapping: Digital Input 86)
2...3Status Information ( → Mapping: Status Information 87)
4...45Acyclic Command Channel: Response ( → Response channel 94)
46...47Port X01: Mapping: Port Qualifier Information (PQI) ( → 88)
48...49Port X02: Mapping: Port Qualifier Information (PQI) ( → 88)
50...51Port X03: Mapping: Port Qualifier Information (PQI) ( → 88)
52...55Port X04: Mapping: Port Qualifier Information (PQI) ( → 88)
54...53Port X05: Mapping: Port Qualifier Information (PQI) ( → 88)
56...57Port X06: Mapping: Port Qualifier Information (PQI) ( → 88)
58...59Port X07: Mapping: Port Qualifier Information (PQI) ( → 88)
60...61Port X08: Mapping: Port Qualifier Information (PQI) ( → 88)
62Port X01: Input data IO-Link (n bytes) 1
62+nPort X02: Input data IO-Link (n bytes) 1
62+2nPort X03: Input data IO-Link (n bytes) 1
62+3nPort X04: Input data IO-Link (n bytes) 1
62+4nPort X05: Input data IO-Link (n bytes) 1
62+5nPort X06: Input data IO-Link (n bytes) 1
62+6nPort X07: Input data IO-Link (n bytes) 1
62+7nPort X08: Input data IO-Link (n bytes) 1

n: {2, 4, 8, 16, 32}; n is determined by the parameter [Port Process Data Size] in the configuration assembly (→ Configuration Assembly (Instance 199) ☐ 80)

11.2.2.3 Input Assembly (Instance 102)

Byte (Offset)Bit
76543210
0...1Digital Input ( → Mapping: Digital Input 86)
2...3Status Information ( → Mapping: Status Information 87)
4...5Port X01: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
6...7Port X02: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
8...9Port X03: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
10...11Port X04: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
4...5Port X01: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
6...7Port X02: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
8...9Port X03: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
10...11Port X04: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
12...13Port X05: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
14...15Port X06: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
16...17Port X07: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
18...19Port X08: Port Qualifier Information ( → Mapping: Port Qualifier Information (PQI) 88)
20Port X01: Input data IO-Link (n bites)
20+nPort X02: Input data IO-Link (n bites)
20+2nPort X03: Input data IO-Link (n bites)
20+3nPort X04: Input data IO-Link (n bites)
20+4nPort X05: Input data IO-Link (n bites)
20+5nPort X06: Input data IO-Link (n bites)
20+6nPort X07: Input data IO-Link (n bites)
20+7nPort X08: Input data IO-Link (n bites)

Mapping: Digital Input

Legend:

  • DI Pin 4 Signal status of the digital input on Pin 4 of 1 BIT
  • 0x0: LOW
  • 0x1: HIGH
  • DI Pin 2 Signal status of the digital input on Pin 2 of 1 BIT
  • 0x0: LOW
  • 0x1: HIGH

Mapping: Status Information

Legend:

• SC / OLShort Circuit / Overload: Indication of a short circuit or of an overvoltage in the IO-Link port1 BIT• 0x0: No error• 0x1: Short circuit or overvoltage
• SENS PWRStatus of the voltage supply US1 BIT• 0x0: No error• 0x1: Excessive current on US (>3.6 V)

Mapping: Port Qualifier Information (PQI)

Mapping: IO-Link information + events

Byte (Offset)Bit
76543210
nVendor ID (LSB)
n+1Vendor ID (MSB)
n+2Device ID (LSB)
n+3Device ID
n+4Device ID (MSB)
n+5reserved
n+6Event 1: ModeEvent 1: TypeEvent 1: SrcEvent 1: Instance
n+7Event Code 1 (LSB)
n+8Event Code 1 (MSB)
n+9Event 2: ModeEvent 2: TypeEvent 2: SrcEvent 2: Instance
n+10Event 2 (LSB)
n+11Event 2 (MSB)
n+12Event 3: ModeEvent 3: TypeEvent 3: SrcEvent 3: Instance
n+13Event 3 (LSB)
n+14Event 3 (MSB)
n+15reserved

Legend:

• VIDVendor ID of the connected IO-Link deviceVID = 0x1234• DID (MSB): 0x12• DID (LSB): 0x342 BYTE0x0000...0x7FFF
• DIDDevice ID of the connected IO-Link deviceDID = 0x123456• DID (MSB): 0x12• DID: 0x34• DID (LSB): 0x563 BYTE0x000000...0xFFFFF
• Event m: ModeMode Mode of the event2 BIT0x0: reserved0x1: One-time event0x2: Event has disappeared0x3: Event has appeared
• Event m: TypeType: category of the event2 BIT0x0: reserved0x1: Notification0x2: Warning0x3: Error
• Event m: SrcSrc: Source of the event1 BIT0x0: IO-Link device0x1: IO-Link master
• Event m: InstanceInstance: Trigger of the event3 BIT0x0: Unknown0x1...0x3: reserved0x4: Application0x5...0x7: reserved

- Event m: Code

Code Event code

Code = 0x1234

  • Code (MSB): 0x12
  • Code (LSB): 0x34

2 BYTE

depending on the device ( → IODD description of the IO-Link device)

11.2.2.4 Output Assembly (Instance 150)

Byte (Offset)Bit
76543210
2...3reserved
4...45Acyclic Command Channel: Request (→ Request channel ☐ 93)

11.2.2.5 Output Assembly (Instance 151)

Mapping: Digital output

Legend:

- DO Pin 4

Signal status of the digital output on pin 4 of the port

1 BIT

- 0x0: LOW - 0x1: HIGH

11.2.3 Acyclical data

11.2.3.1 Acyclic command channel

In the cyclic process data, command channels for the transmission of acyclic data is available.

ObjectContentByteAccess
Output assemblyRequest channel (Ether
Net/IP controller → IO-Link master)Request channel (→ ☐ 93)
4...45rw 1
Input assemblyResponse channel (IO-Link master → Ether
Net/IP controller)Response channel (→ ☐ 94)
4...45ro 2

1 Read and write

2 Read only

Request channel

Byte (offset)Bit
76543210
4Port No. (LSB)
5Port No. (MSB)
6Index (LSB)
7Index (MSB)
8Subindex (LSB)
9Subindex (MSB)
10TriggerCommand ID
11Data Length
12Data (Byte 0)
13Data (Byte 1)
......
43Data (Byte 31)
44reserved
45reserved

Legend:

• Port No.IO-Link PortPort No. 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x341 WORD• 0x0001: Port 1• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• IndexIndex of the ISDU object
Index: 0x1234• Index (MSB): 0x12• Index (LSB): 0x34
1 WORD0x0000...0xFFFF
• SubindexSubindex of the ISDU object
Subindex 0x1234• Subindex (MSB): 0x12• Subindex (LSB): 0x34
1 WORD0x0000...0xFFFF
• TriggerControl of the command execution1 BIT• 0x0: no action• 0x1: Execute command
• Command IDCommand number7 BIT• 0x01: Get• 0x02: Write
• Data LengthNumber of bytes that contain relevant user data1 BYTE• 0x00: 0 bytes...• 0x20: 32 bytes
• Data (byte n)User data (byte n)1 BYTEPro byte:• 0x00...0xFF

Response channel

Byte (offset)Bit
76543210
4Port No. (LSB)
5Port No. (MSB)
6Index (LSB)
7Index (MSB)
8Subindex (LSB)
9Subindex (MSB)
10HandshakeCommand ID
11Result
12Data Length
13Data (Byte 0) | Error Code
14Data (Byte 1) | Additional Code
...
44Data (Byte 31)
45reserved

Legend:

• Port No.IO-Link PortPort No. 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x341 WORD• 0x0001: Port 1• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• IndexIndex of the ISDU object
Index: 0x1234• Index (MSB): 0x12• Index (LSB): 0x34
1 WORD0x0000...0xFFFF
• SubindexSubindex of the ISDU object
Subindex 0x1234• Subindex (MSB): 0x12• Subindex (LSB): 0x34
1 WORD0x0000...0xFFFF
• HandshakeValidity of the IO-Link response data1 BIT• 0x0: data invalid• 0x1: data valid
• Command IDCommand number7 BIT• 0x01: Get• 0x02: Write
• ResultStatus of the command processing1 BYTE• 0x00: OK• 0x0F: OK, data user read > 32 bytes• 0xFF: Error
• Data LengthNumber of bytes that contain relevant user data1 BYTE• 0x00: 0 bytes...• 0x20: 32 bytes
• Data (Byte 0) | Error CodeUser data (byte 0) or error codes1 BYTE• User data: 0x00...0xFF• Error Code: Error Code (→ ☐ 96)
• Data (Byte 1) | Additional CodeUser data (byte 1) or additional error codes1 BYTE• User data: 0x00...0xFF• Additional Code: Additional Code (→ ☐ 96)

• Data (byte n) User data (byte n)

1 BYTE Pro Byte: 0x00...0xFF

Error Code

Error codeDescription
0x71Service not available (unknown command has been sent to the IO-Link port)
0x72Port blocked (another cyclic process accesses the IO-Link port)
0x73Forbidden (access rights prohibit command execution)
0x74Invalid data (wrong parameter has been sent in the command)
0x76Wrong port (wrong port number)
0x77Wrong port function (wrong port function or wrong parameter has been sent to the device)
0x78Invalid length (set length is > 0x20)
0x80Error in the device application Consider additional code (Additional Code (→ ☐ 96))

Additional Code

IFM AL1326 - Acyclic command channel - 1

Additional Code only valid if Error Code = 0x80 ( → Error Code ☐ 96).

CodeNameDescription
0x00APP_DEVError in the device application - no details
0x11IDX_NOTAVAILIndex not available
0x12SUBIDX_NOTAVAILSubindex not available
0x20SERV_NOTAVAILService temporarily unavailable
0x21SERV_NOTAVAIL_LOCCTRLService temporarily unavailable - local
0x22SERV_NOTAVAIL_DEVCTRLService temporarily unavailable - device
0x23IDX_NOT_WRITEABLEAccess denied
0x30PAR_VALOUTOFRNGParameter value outside the valid range
0x31PAR_VALGTLIMParameter value above the threshold
0x32PAR_VALLTLIMParameter value below the threshold
0x33VAL_LENOVRRUNParameter length exceeded
0x34VAL_LENUNDRUNParameter length not reached
0x35FUNC_NOTAVAILFunction not available
0x36FUNC_UNAVAILTEMPFunction temporarily unavailable
0x40PAR_SETINVALIDInvalid parameter set
0x41PAR_SETINCONSISTInconsistent parameter set
0x82APP_DEVNOTRDYApplication not ready

11.2.3.2 Acyclic commands

Set Mode (0x10)

The command changes the operating mode of an IO-Link port of the device.

Command request

Byte (offset)Bit
76543210
4Port No. (LSB)
5Port No. (MSB)
6reserved
7reserved
8reserved
9reserved
10Trigger0x10
11Target Mode
12reserved
......
45reserved

Legend:

  • Port No. IO-Link Port
    Port No. 0x1234
    • Port No. (MSB): 0x12
  • Port No. (LSB): 0x34
    1 WORD • 0x0001: Port 1
  • 0x0002: Port 2
  • 0x0003: Port 3
  • 0x0004: Port 4
  • 0x0005: Port 5
  • 0x0006: Port 6
  • 0x0007: Port 7
  • 0x0008: Port 8
  • Trigger Control of the command execution
    1 BIT • 0x0: no action
  • 0x1: Execute command
    • Target Mode Operating mode of the IO-Link port
    1 BYTE • 0x00: deactivated
    • 0x01: Digital input (DI)
    • 0x02: Digital output (DO)
  • 0x03: IO-Link

Command response

Byte (offset)Bit
76543210
4Port No. (LSB)
5Port No. (MSB)
6reserved
7reserved
8reserved
9reserved
10Handshake0x10
11Result
12Target Mode
13reserved
......
45reserved

Legend:
- Port No.
IO-Link Port
Port No. 0x1234
- Port No. (MSB): 0x12
- Port No. (LSB): 0x34
1 WORD
- 0x0001: Port 1
- 0x0002: Port 2
- 0x0003: Port 3
- 0x0004: Port 4
- 0x0005: Port 5
- 0x0006: Port 6
- 0x0007: Port 7
- 0x0008: Port 8
- Handshake
Validity of the IO-Link response data
1 BIT
- 0x0: data invalid
- 0x1: data valid
- Result
Status of the command processing
1 BYTE
- 0x00: OK
- 0x0F: OK, data user read > 32 bytes
- 0xFF: Error
- Target Mode
Operating mode of the IO-Link port
1 BYTE
- 0x00: deactivated
- 0x01: Digital input (DI)
• 0x02: Digital output (DO)
- 0x03: IO-Link

Set validation ID / data storage (0x20)

The command sets the behaviour of the IO-Link master when connecting a new IO-Link device to an IO-Link port of the device.

Command request

Byte (offset)Bit
76543210
4Port No. (LSB)
5Port No. (MSB)
6reserved
7reserved
8reserved
9reserved
10Trigger0x20
11Validation ID
12reserved
......
45reserved

Legend:

• Port No.IO-Link Port1 WORD0x0001: Port 1
Port No. 0x12340x0002: Port 2
• Port No. (MSB): 0x120x0003: Port 3
• Port No. (LSB): 0x340x0004: Port 4
0x0005: Port 5
0x0006: Port 6
0x0007: Port 7
0x0008: Port 8
• TriggerControl of the command execution1 BIT0x0: no action
0x1: Execute command
• Validation IDValidation type and data storage behaviour of the port1 BYTE0x00: No check
0x01: Type compatible V1.0 device
0x02: Type compatible V1.1 device
0x03: Type compatible V1.1 device with Backup + Restore
0x04: Type compatible V1.1 device with Restore

Command response

Byte (offset)Bit
76543210
4Port No. (LSB)
5Port No. (MSB)
6reserved
7reserved
8reserved
9reserved
10Handshake0x20
11Result
12Validation ID
13reserved
......
45reserved

Legend:

• Port No.IO-Link Port1 WORD0x0001: Port 1
Port No. 0x12340x0002: Port 2
• Port No. (MSB): 0x120x0003: Port 3
• Port No. (LSB): 0x340x0004: Port 4
0x0005: Port 5
0x0006: Port 6
0x0007: Port 7
0x0008: Port 8
• HandshakeValidity of the IO-Link response data1 BIT0x0: data invalid
0x1: data valid
• ResultStatus of the command processing1 BYTE0x00: OK
0x0F: OK, data user read > 32 bytes
0xFF: Error
• Validation IDValidation type and data storage behaviour of the port1 BYTE0x00: No check
0x01: Type compatible V1.0 device
0x02: Type compatible V1.1 device
0x03: Type compatible V1.1 device with Backup + Restore
0x04: Type compatible V1.1 device with Restore

Set fail-safe data pattern (0x30)

The command sets the behaviour of the outputs when the Ether
Net/IP connection and the corresponding fail-safe values are interrupted.

Command response

Byte (Offset)Bit
76543210
4Port No. (LSB)
5Port No. (MSB)
6reserved
7reserved
8reserved
9reserved
10Handshake0x30
11Result
12Fail-safe mode
13reserved
......
45reserved

- Handshake

Validity of the IO-Link response data

1 BIT

- 0x0: data invalid

- 0x1: data valid

- Result

Status of the command processing

1 BYTE

- 0x00: OK

- 0x0F: OK, data user read > 32 bytes

- 0xFF: Error

- Fail-safe mode

Fail-safe mode for the outputs of the IO-Link ports in case of an interruption of the Ether
Net/IP connection

1 BYTE

- 0x00: No Fail-safe

• 0x01: Fail-safe - Reset Value

• 0x02: Fail-safe - Old Value

• 0x03: Fail-safe - Pattern

11.2.4 Object directory

11.2.4.1 CIP object classes

Supported object classes:

Class CodeNameDescription
0x01Identity ObjectIdentity Object (Class Code: 0x01) (→ ☐ 103)
0x02Message Router ObjectMessage Router Object (Class Code: 0x02) (→ ☐ 104)
0x04Assembly ObjectAssembly Object (Class Code: 0x04) (→ ☐ 105)
0x06Connection Manager ObjectConnection Manager Object (Class Code: 0x06) (→ ☐ 106)
0x47Device Level Ring ObjectDevice Level Ring Object (Class Code: 0x47) (→ ☐ 107)
0x48Quality Of Service ObjectQuality Of Service Object (Class Code: 0x48) (→ ☐ 108)
0x80IO-Link Request ObjectIO-Link Request Object (Class Code: 0x80) (→ ☐ 109)
0xF5TCP/IP ObjectTCP/IP Object (Class Code: 0xF5) (→ ☐ 113)
0xF6Ethernet Link ObjectEthernet Link Object (Class Code: 0xF6) (→ ☐ 116)

11.2.4.2 CIP class and instance services

Supported class and instance services:

Service codeNameDescription
0x01Get Attribute AllRead all attributes
0x02Set Attribute AllWrite all attributes
0x05ResetReset
0x09DeleteDelete
0x0EGet Attribute SingleRead single attribute
0x10Set Attribute SingleWrite single attribute
0x4BRead ISDURead ISDU
0x4CWrite ISDUWrite ISDU
0x4DWrite Failsafe PatternWrite fail-safe values
0x4EForward CloseClose connection
0x54Forward OpenOpen new connection

11.2.4.3 Identity Object (Class Code: 0x01)

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object2.003
2GetMax. InstanceUINTMax. number of instances of the object1
6GetMax. ID Number Class AttributesUINTMax. ID number of a class attribute7
7GetMax. ID Number In-stance AttributesUINTMax. ID number of the instance attribute9

Instance attributes

Attr. IDAccessNameData typeDescriptionDefault
1GetVendor IDUINTManufacturer ID322
2GetDevice TypeUINTDevice type12
3GetProduct CodeUINTProduct code of the device1007
4GetRevisionSTRUCTRevision of the device2.003
• Major RevisionUSINTMajor revision (1...127)2
• Minor RevisionUSINTMinor revision (3 digits)003
5GetStatusWORDOverall status of the device
6GetSerial NumberUDINTSerial number of the device--
7GetProduct NameSHORT STRINGProduct name of the deviceIO-Link Master DL EIP 8P IP67
8GetStateUSINTState of the device (State machine)• 0: Nonexistent• 1: Device Self Testing• 2: Standby• 3: Operational• 4: Major Recoverable Fault• 5: Major Unrecoverable Fault• 6-254: Reserved• 255: Default for “Get_Attributes_All” service

Services

CodeServiceClassInstanceDescription
0x01Get Attribute AllYesYesRead all attributes
0x05ResetYesYesReset
0x0EGet Attribute SingleYesYesRead single attribute

If an Identity Object receives a reset request, it carries out the following actions:

  • It checks if it supports the requested reset type.
    • It responds to the request.
  • It tries to execute the requested reset type.

Supported reset types:

• 0: reboot the device (mandatory for all Ether
Net/IP devices).
• 1: restore factory settings and reboot the device.

11.2.4.4 Message Router Object (Class Code: 0x02)

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object1
2GetMax. InstanceUINTMax. number of instances of the object1
3GetNumber of instancesUINTNumber of instances1
6GetMax. ID Number Class AttributesUINTMax. ID number of a class attribute7
7GetMax. ID Number Instance AttributesUINTMax. ID number of the instance attribute0

Instance attributes

The object class has no instance attributes.

Services

CodeServiceClassInstanceDescription
0x0EGet Attribute SingleYesYesRead single attribute

11.2.4.5 Assembly Object (Class Code: 0x04)

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object2
2GetMax. InstanceUINTMax. number of instances of the object0x00C7
3GetNumber of instancesUINTNumber of instances3
6GetMax. ID Number Class At-tributesUINTMax. ID number of the class attribute7
7GetMax. ID Number Instance AttributesUINTMax. ID number of the instance attribute4

Instance attributes

The following object instances are available:

Services

CodeServiceClassInstanceDescription
0x0EGet Attribute SingleYesYesRead single attribute
0x10Set Attribute SingleNoYesWrite single attribute

11.2.4.6 Connection Manager Object (Class Code: 0x06)

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object1
2GetMax. InstanceUINTMax. number of instances of the object1
3GetNumber of instancesUINTNumber of instances3
6GetMax. ID Number Class AttributesUINTMax. ID number of a class attribute7
7GetMax. ID Number Instance AttributesUINTMax. ID number of the instance attribute0

Instance attributes

The object class has no instance attributes.

Services

CodeServiceClassInstanceDescription
0x0EGet Attribute SingleYesYesRead single attribute
0x10Set Attribute SingleNoYesWrite single attribute
0x4EForward CloseYesNoClose connection
0x54Forward OpenYesNoOpen new connection

11.2.4.7 Device Level Ring Object (Class Code: 0x47)

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object3
2GetMax. InstanceUINTMax. number of instances of the object1
6GetMax. ID Number Class AttributesUINTMax. ID number of the class attribute7
7GetMax. ID Number In-stance AttributesUINTMax. ID number of the instance attribute12

Instance attributes

Attr. IDAccessNameData typeDescriptionDefault
1GetNetwork topologyUSINTCurrent network topology• 0: linear0
2GetNetwork statusUSINTCurrent network status• 0: OK0
10GetActive SupervisorSTRUCTIdentification of the supervisor0
• UDINTIP address
• ARRAY(6) of USINTMAC address of the active supervisor
12GetCapability FlagsDWORDDLR capability of the device• 0x82: Beacon based Ring Node, Flush Table Frame support0x82

Services

CodeServiceClassInstanceDescription
0x01Get Attribute AllNoYesRead all attributes
0x0EGet Attribute SingleYesYesRead single attribute

11.2.4.8 Quality Of Service Object (Class Code: 0x48)

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object1
2GetMax. InstanceUINTMax. number of instances of the object1
3GetNumber of instancesUINTNumber of instances of the object1
6GetMax. ID Number Class AttributesUINTMax. ID number of a class attribute7
7GetMax. ID Number Instance AttributesUINTMax. ID number of the instance attribute8

Instance attributes

Attr. IDAccessNameData typeDescriptionDefault
1Get802.1Q Tag EnableUSINTCurrent network topology0: deactivated
2Get / SetDSCP PTP EventUSINTDSCP value for PTP event frames59
3Get / SetDSCP PTP GeneralUSINTDSCP value for PTP general frames47
4Get / SetDSCP PTP UrgentUSINTDSCP value for implicit messages with “urgent” priority55
5Get / SetDSCP ScheduledUSINTDSCP value for implicit messages with “scheduled” priority47
6Get / SetDSCP HighUSINTDSCP value for implicit messages with “high” priority43
7Get / SetDSCP LowUSINTDSCP value for implicit messages with “low” priority31
8Get / SetDSCP ExplicitUSINTDSCP value for explicit messages with “scheduled” priority27

Services

CodeServiceClassInstanceDescription
0x01Get Attribute AllYesYesRead all attributes

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object4
2GetMax. InstanceUINTMax. number of instances of the object2
6GetMax. ID Number Class AttributesUINTMax. ID number of a class attribute8

Instance attributes

The required IO-Link port of the device is addressed via the instance attribute.

Services

Read ISDU

With Read_ISDU, parameters of a connected IO-Link device can be read.

Request

CIP Attributes determines the IO-Link port to which the IO-Link device is connected. The area "CIP User Specific Service Data" contains the IO-Link index and the IO-Link sub-index of the IO-Link object whose value is to be read:

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4B“Read ISDU” service
CIP User Specific Service DataUINT0x0000...0xFFFFISDU object index
USINT0x00...0xFFISDU object subindex

Response

Fault-free processing

If the service has been executed successfully (CIP Error Code = 0), the read data are returned bit by bit (CIP User Specific Service Data). The response has the following format:

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4B“Read ISDU” service
CIP Error CodeUSINT0x00Fault-free processing
CIP Extended Error CodeUSINT0x00--
CIP User Specific Service DataUSINT0x00...0xFFData (byte 0)
USINT0x00...0xFFData (byte 1)
.........
USINT0x00...0xFFData (byte n)

The read data is in the IO-Link format. If necessary, the user needs to adapt the byte arrangement of the read data to the CIP format.

Fault

If an error occurs while executing the service (CIP Error Code <> 0), an extended error code will be transmitted (CIP Extended Error Code). If the CIP Error Code = 0x1E, the CIP Extended Error Code is = 0x00 and the IO-Link Error Code and the IO-Link Additional Code will be transmitted in the CIP User Specific Service Data area. The response has the following format:

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4B“Read ISDU” service
CIP Error CodeUSINT<0x00Error code (see below)
CIP Extended Error CodeUSINT0x00Extended error code
CIP User Specific Service DataUSINT<0x00IO-Link Error Code: Error Code ( → ☐ 96)
CIP User Specific Service DataUSINT<0x00IO-Link Additional Code:Additional Code(→ 96)

CIP Error Code:

CodeDescription
0x02Resource not available: The IO-Link port is busy processing another acyclic service.
0x05Invalid class ID or instance ID
0x08Wrong service ID: only service 0x4B, 0x4C or 0x4D is permitted
0x09Wrong attribute ID: wrong port number
0x20Invalid parameter value (e.g. invalid length)
0x1EEmbedded service error: Error occurred during an IO-Link service. Byte 0 and byte 1 of the CIP User Specific Service Data contain the IO-Link error code and an additional code returned by the IO-Link master.

Write ISDU

With Write_ISDU, the parameters of a connected IO-Link device can be changed.

Request

CIP Attributes determines the IO-Link port to which the IO-Link device is connected. The area "User Specific Service Data" contains the IO-Link index, the IO-Link sub-index of the IO-Link object whose value is to be changed. The value to be assigned to the parameter follows byte by byte.

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4C“Write ISDU” service
CIP User Specific Service DataUINT0x0000...0xFFFFISDU object index
USINT0x00...0xFFISDU object subindex
USINT0x00...0xFFISDU data (byte 0)
USINT0x00...0xFFISDU data (byte 1)

Response

Fault-free processing

If the service was executed successfully (CIP Error Code = 0), the area "User Specific Data" will remain empty. The response has the following format:

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4C“Write ISDU” service
CIP Error CodeUSINT0x00Fault-free processing
CIP Extended Error CodeUSINT0x00--

Fault

If an error occurs while executing the service (CIP Error Code <> 0), an extended error code is transmitted (CIP Extended Error Code). If the CIP Error Code = 0x1E, the CIP Extended Error Code is = 0x00 and the IO-Link Error Code and the IO-Link Additional Code will be transmitted in the CIP User Specific Service Data area. The response has the following format:

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4C“Write ISDU” service
CIP Error CodeUSINT<0x00Error code (see below)
CIP Extended Error CodeUSINT0x00Extended error code
CIP User Specific Service DataUSINT<0x00IO-Link Error Code: Error Code (→ 96)
USINT<0x00IO-Link Additional Code: Additional Code (→ 96)

CIP Error Code:

CodeDescription
0x02Resource not available: The IO-Link port is busy processing another acyclic service.
0x05Invalid class ID or instance ID
0x08Wrong service ID: only service 0x4B, 0x4C or 0x4D is permitted
0x09Wrong attribute ID: wrong port number
0x20Invalid parameter value (e.g. invalid length)
0x1EEmbedded service error: Error occurred during an IO-Link service. Byte 0 and byte 1 of the CIP User Specific Service Data contain the IO-Link error code and an additional code returned by the IO-Link master.

Write Failsafe Pattern

Write Failsafe Pattern can be used to write the failsafe value of an IO-Link port.

Request

CIP Attribute determines the IO-Link port. The area CIP User Specific Service Data includes the fail-safe mode and the fail-safe value (Failsafe Pattern).

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4D“Write Failsafe Pattern” service
CIP User Specific Service DataUSINT0x00: No Fail-safe0x01: Fail-safe Reset Value0x02: Fail-safe Old Value0x03: Fail-safe with PatternFail-safe Mode
USINT0x00...0xFFFail-safe Pattern (MSB)
USINT0x00...0xFFFail-safe Pattern (LSB)

Response

Fault-free processing

If the service was executed successfully (CIP Error Code = 0), the area "User Specific Data" will remain empty. The response has the following format:

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Service Code IDUSINT0x4D“Write Failsafe Pattern” service
CIP Error CodeUSINT0x00Fault-free processing
CIP Extended Error CodeUSINT0x00--

Fault

If an error occurs while executing the service (CIP Error Code <> 0), an extended error code will be transmitted (CIP Extended Error Code). The response has the following format:

CIP FormatData typeMSG ConfigDescription
CIP Class IDUINT0x80IO-Link acyclic access
CIP Instance IDUINT0x01IO-Link master
CIP attributesUSINT0x01...0x08Port number
CIP Error CodeUSINT<> 0x00Error code (see below)
CIP Extended Error CodeUSINT0x00Extended error code

CIP Error Code:

CodeDescription
0x02Resource not available: The IO-Link port is busy processing another acyclic service.
0x05Invalid class ID or instance ID
0x08Wrong service ID: only service 0x4B, 0x4C or 0x4D is permitted
0x09Wrong attribute ID: wrong port number
0x20Invalid parameter value (e.g. invalid length)
0x1EEmbedded service error: Error occurred during an IO-Link service. Byte 0 and byte 1 of the CIP User Specific Service Data contain the IO-Link error code and an additional code returned by the IO-Link master.
0x0FInsufficient access rights

11.2.4.10 TCP/IP Object (Class Code: 0xF5)

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object4
2GetMax. InstanceUINTMax. number of instances of the object1
3GetNumber of instancesUINTNumber of instances of the object1
6GetMax. ID Number Class AttributesUINTMax. ID number of a class attribute7
7GetMax. ID Number Instance AttributeUINTMax. ID number of the instance attribute13

Instance attributes

Attr. IDAccessNameData typeDescriptionDefault
1GetStatusUINTStatus of the TCP/IP interface• 0: interface not configured• 1: interface configured with DHCP, BOOTP or non-volatile memory
2GetConfiguration CapabilityDWORDConfiguration options for interface
Bit 0: BOOTP Client
Bit 2: DHCP Client
Bit 4: configuration adjustable
Bit 7: ACD-capable
0x95 (BOOTP, DHCP, TCP/IP configurable, ACD capable)
3Get / SetConfiguration ControlDWORDConfiguration control
Bit 0..3: startup configuration0: statically assigned IP address1: configuration via BOOTP2: configuration via DHCP
0
4GetPhysical Link Object PathSTRUCT ofLogical path to the physical communication interface (Ethernet link object)
Path SizeUINTLength (number of words, little endian format)0x02 00
PathPadded EPATHClass ID: 0xF6 (Ethernet Link Object)Instance ID: 0x10x20 F6 2 4 01
5Get / SetInterface configurationSTRUCT ofTCP/IP interface configuration
IP AddressUDINTIP address192.168.1.250
Network MaskUDINTNetwork mask255.255.255.0
Gateway AddressUDINTGateway address0.0.0.0
Name ServerUDINTPrimary name server0.0.0.0
Name Server 2UDINTSecondary name server0.0.0.0
Domain NameSTRINGDefault domain name0
6Get / SetHost NameSTRINGHost Name0: not configured0
8GetTTL ValueUINTTTL value1
9Get / SetMcast ConfigUINTMcast configuration0
10Get / SetSelect
Acd
BOOLACD activation / deactivation0: deactivated1: activated1
11Get / SetLast conflict detectedSTRUCT ofLast conflict detected0
AcdActivityUSINTCondition of ACD activity at last conflict detected0: Noconflictdetected1: Probelpv4
Address2: Ongoing Detection3: SemiActiveprobe
Remote MACARRAY(6) of USINTMAC address of the remote node of the ARP PDU in which the conflict was detected
ArpPduARRAY(28) of USINTCopy of the data of the ARP PDU in which the conflict was detected
13Get / SetEncapsulation Inactivity Time-outUINTInactivity before the TCP connection is deactivated (in seconds)120

Services

CodeServiceClassInstanceDescription
0x01Get Attribute AllNoYesRead all attributes
0x0EGet Attribute SingleYesYesRead single attribute
0x10Set Attribute SingleNoYesWrite single attribute

Class attributes

Attr. IDAccessNameData typeDescriptionValue
1GetRevisionUINTRevision of the object4
2GetMax. InstanceUINTMax. number of instances of the object2
3GetNumber of instancesUINTNumber of instances2
6GetMax. ID Number Class AttributesUINTMax. ID number of a class attribute7
7GetMax. ID Number Instance AttributeUINTMax. ID number of the instance attribute768

Instance attributes

Attr. IDAccessNameData typeDescriptionDefault
1GetInterface SpeedUDINTCurrent transmission rate• 10: 10 Mbit/s• 100: 100 Mbit/s100
2GetInterface Status FlagDWORDInterface status flags• Bit 0: link status• Bit 1: half/full duplex• Bit 2...4: negotiation status• Bit 5: manual change requires reset• Bit 6: local hardware error• Bit 7...31: reserved0x20
3GetPhysical AddressARRAY(6) of USINTMAC address
4GetInterface CountersSTRUCT(11) of UDINTInterface-specific counter
5GetMedia CountersSTRUCT(12) of UDINTMedium-specific counter
6Get / SetInterface ControlSTRUCT ofInterface control
• Interface SettingsDWORDSettings
Bit 0:• 0: auto-negotiation on• 1: auto-negotiation offBit 1:• 0: half duplex• 1: full duplex
0
• Interface SpeedUINTTransmission rate• 10: 10 Mbit/s• 100: 100 Mbit/s
7GetInterface typeUSINT• 0: unknown• 1: internal interface• 2: twisted pair• 3: optical fibre2
8GetInterface StateUSINTCurrent status of the interface• 0: unknown• 1: active; ready for transmission and reception• 2: not active• 3: test mode0
9Get / SetAdmin StateUSINTControl of the access to the interface• 1: activate• 2: deactivate1
10GetInterface LabelSHORT_STRINGInterface identifier• X21 (instance 1)• X22 (instance 2)
11GetInterface CapabilitySTRUCT ofInterface capability
• Interface SpeedDWORDTransmission rate• 10: 10 Mbit/s• 100: 100 Mbit/s
• Interface Duplex ModeDWORDDuplex mode• HD: half duplex• FD: full duplex
768Get / SetMDIXUSINTMDIX configuration• 1: MDIX_AUTO• 2: MDIX_MDI• 3: MDIX_MDIX1

Services

CodeServiceClassInstanceDescription
0x01Get Attribute AllNoYesRead all attributes
0x0EGet Attribute SingleYesYesRead single attribute
0x10Set Attribute SingleNoYesWrite single attribute
Table of contents Click a title to access it
Manual assistant
Powered by Anthropic
Waiting for your message
Product information

Brand : IFM

Model : AL1326

Category : Industrial Automation