IFM AL1353 - Industrial interface

AL1353 - Industrial interface IFM - Free user manual and instructions

Find the device manual for free AL1353 IFM in PDF.

📄 107 pages English EN Download 💬 AI Question 10 questions ⚙️ Specs
Notice IFM AL1353 - page 5
Pick your language and provide your email: we'll send you a specifically translated version.
Product Type Electronic Controller
Brand IFM
Model AL1353
Dimensions (H x W x D) 100 x 50 x 30 mm
Weight 0.2 kg
Power Supply 24 V DC
Power Consumption 2 W
Operating Temperature -25 to 70 °C
Protection Rating IP65
Housing Material Polycarbonate
Display 2-line alphanumeric LCD
Inputs 2 digital, 1 analog
Outputs 2 digital (relay)
Communication Interface RS-232, CAN bus
Main Functions Monitoring, control, data logging
Mounting DIN rail mount
Maintenance Clean with dry cloth; no user-serviceable parts
Safety Notes Disconnect power before servicing; use only specified power supply
Spare Parts Connectors, power supply module
Repairability Professional repair only; contact IFM support

Frequently Asked Questions - AL1353 IFM

How do I reset the IFM AL1353 to factory settings?
Press and hold the Enter button while powering on until the display shows 'Factory reset'. Confirm with Enter.
What is the maximum cable length for the sensor input?
The maximum cable length is 30 meters for reliable signal transmission.
Can I use the AL1353 in outdoor environments?
Yes, with an IP65 rating, it is suitable for outdoor use when properly installed in an enclosure.
How do I configure the analog input range?
Navigate to Settings > Inputs > Analog and select the desired range (0-10 V or 4-20 mA).
What does error code 'E02' mean?
Error code E02 indicates a communication fault on the CAN bus. Check wiring and termination resistors.
Is there a backup battery for the clock?
Yes, the device has an internal CR2032 battery for real-time clock backup.
How do I update the firmware?
Connect via RS-232 and use the IFM Configuration Software to upload the latest firmware file.
What is the recommended cleaning procedure?
Use a soft, dry cloth to clean the housing. Avoid solvents or abrasive cleaners.
Can I connect multiple AL1353 units on one CAN bus?
Yes, up to 32 devices can be connected, each with a unique node ID.
Where can I find the spare parts list?
The spare parts list is available in the manual under 'Spare Parts' section or on the IFM website.

User questions about AL1353 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 interface in PDF format for free! Find your manual AL1353 - IFM and take your electronic device back in hand. On this page are published all the documents necessary for the use of your device. AL1353 by IFM.

USER MANUAL AL1353 IFM

Operating instructions

IO-Link master with IoT interface

DataLine

8 ports

IP 65 / IP 66 / IP 67 / IP 69K

AL1353

Firmware: 3.1.x

English

Contents

1 Preliminary note 5

1.1 Legal and copyright information....5
1.2 Purpose of the document....5
1.3 Explanation of Symbols ....5
1.4 Change history....6

2 Safety instructions 7

2.1 General 7
2.2 Required background knowledge ....7
2.3 Safety symbols on the device 7
2.4 IT security....8

3 Functions and features 9

4 Function 10

4.1 Communication, parameter setting, evaluation ....11
4.1.1 IO-Link....11
4.1.2 Internet of Things (IoT)....11
4.1.3 Security mode 11
4.1.4 Parameter setting....11
4.1.5 Visual indication 11
4.2 Digital inputs....12
4.3 IO-Link supply 12

5 Mounting 13

5.1 Mount the device....13

6 Electrical connection 14

6.1 Notes....14
6.2 Connecting the IoT ports....15
6.3 IO-Link ports....16
6.3.1 Connecting IO-Link devices for Class A operation 16
6.4 Connecting the device 17

7 Operating and display elements 18

7.1 Overview....18

7.2 LED indicators....19

7.2.1 Status LEDs 19

7.2.2 IoT ports 19

7.2.3 IO-Link Ports (Class A)....20

7.2.4 Voltage supply....20

8 Set-up 21

8.1 Read device and diagnostic information....22

9 Configuration 23

9.1 LR DEVICE 24

9.1.1 Remarks....25
9.1.2 IoT: Configure IP settings....26
9.1.3 IoT: Configure security mode 27
9.1.4 IoT: Configure the interface to LR AGENT or LR SMARTOBSERVER....28
9.1.5 IO-Link ports: Activate data transfer to LR AGENT or LR SMARTOBSERVER 28
9.1.6 IO-Link ports: Configure operating mode....29
9.1.7 IO-Link ports: Set the device validation and data storage 30
9.1.8 IO-Link ports: Configuration of fail-safe values....31
9.1.9 Info: Show device information 31
9.1.10 Firmware: Reset device to factory settings....32
9.1.11 Firmware: Reboot the device....32
9.1.12 Configure IO-Link devices 32

9.2 ifm IoT Core 34

9.2.1 Programmers' notes 35

9.2.2 First steps....39

9.2.3 General functions 39

9.2.4 IoT: Configuring access rights....43

9.2.5 IoT: Configuring IP settings 43

9.2.6 IoT: Configuring the LR AGENT or LR SMARTOBSERVER interface 44

9.2.7 IoT: Configuring security mode....44

9.2.8 IO-Link ports: Setting the operating mode of pin 4 (US) 47

9.2.9 IO-Link ports: Configuring device validation and data storage 47

9.2.10 IO-Link ports: Configuring data transfer to LR AGENT or LR SMARTOBSERVER....49

9.2.11 IO-Link ports: Reading / writing process data....49

9.2.12 IO-Link ports: Indicating port events....52

9.2.13 IO-Link devices: Accessing parameters 52

9.2.14 IO-Link devices: Reading an writing device information....54

9.2.15 IO-Link devices: Indicating IO-Link events 54

9.2.16 Gateway: Resetting, rebooting and localising the device 54

9.2.17 Gateway: Reading device information....55

9.2.18 Gateway: Reading status and diagnostic information....55

9.2.19 Gateway: Updating the firmware 56

9.2.20 Gateway: Setting the application tag 57

9.2.21 Subscribing to notifications....58

9.2.22 Using Web Socket....61

9.2.23 MQTT support....63

9.2.24 Using the IoT-Core Visualizer....67

10 Operation 74

10.1 Using web-based management....74

11 Maintenance, repair and disposal 75

11.1 Cleaning process....75

11.2 Updating the firmware....75

11.3 Replacing IO-Link device....75

12 Factory settings 76

13 Accessories 77

14 Appendix 78

14.1 Technical data....79

14.1.1 Application....79

14.1.2 Electrical data....79

14.1.3 Inputs / outputs....79

14.1.4 Inputs 80

14.1.5 Outputs....80

14.1.6 Interfaces....80

14.1.7 Operating conditions 81

14.1.8 Approvals / tests....81

14.1.9 Mechanical data 81

14.1.10 Electrical connection 82

14.2 ifm IoT Core 83

14.2.1 Overview: IoT profile 84

14.2.2 Overview: IoT types....91

14.2.3 Overview: IoT services 92

15 Index 106

1 Preliminary note

Content

Legal and copyright information....5

Purpose of the document 5

Explanation of Symbols....5

Change history....6

33203

33117

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

All product names, pictures, companies or other brands used on our pages are the property of the respective rights owners:

• AS-i is the property of the AS-International Association, (→ www.as-interface.net)
• CAN is the property of the CiA (CAN in Automation e.V.), Germany (→ www.can-cia.org)
• CODESYS™ is the property of the CODESYS GmbH, Germany (→ www.codesys.com)
- DeviceNet ^™ is the property of the ODVA ^™ (Open DeviceNet Vendor Association), USA (→ www.odva.org)

- EtherNet/IP ^ is the property of the ODVA ^TM

- EtherCAT ^® is a registered trade mark and patented technology, licensed by Beckhoff Automation GmbH, Germany

- IO-Link ^ is the property of the PROFIBUS Nutzerorganisation e.V., Germany ( www.io-link.com)

- ISOBUS is the property of the AEF – Agricultural Industry Electronics Foundation e.V., Deutschland (→ www.aef-online.org)

- Microsoft ^ is the property of the Microsoft Corporation, USA (→ www.microsoft.com)

- Modbus® is the property of the Schneider Electric SE, France (→ www.schneider-electric.com)

- PROFIBUS ^® is the property of the PROFIBUS Nutzerorganisation e.V., Germany (→ www.profibus.com)

- PROFINET ^ is the property of the PROFIBUS Nutzerorganisation e.V., Germany

- Windows ^ is the property of the Microsoft Corporation, USA

1.2 Purpose of the document

34227

This document is only for device types "IO-Link master - IoT core gateway (DataLine) 8 port IP 65 / IP 66 / IP 67 / IP 69K" (art. no.: AL1353).

It is part of the device and contains information about the correct handling of the product.

▶ Read this document before using the device.
▶ Keep this document during the service life of the device.

1.3 Explanation of Symbols

34171

IFM AL1353 - Explanation of Symbols - 1

WARNING

Warning of serious personal injury.

Death or serious irreversible injuries may result.

IFM AL1353 - WARNING - 1

CAUTION

Warning of personally injury.

Slight reversible injuries may result.

NOTICE

Warning of damage to property

IFM AL1353 - NOTICE - 1

Important note

Non-compliance can result in malfunction or interference

IFM AL1353 - NOTICE - 2

Information

Supplementary note

▶ ...

Request for action

...

Reaction, result

→ ...

"see"

abc

Cross-reference

123

Decimal number

0x123

Hexadecimal number

0b010

Binary number

[...]

Designation of pushbuttons, buttons or indications

1.4 Change history

42750

VersionTopicDate
00New creation of the document04 / 2019
01Correction of device status05 / 2019
02Correction: Technical data - current rating per output09 / 2019
03Added: New IoT core functionsAdded: IoT Core VisualizerCorrection: Description of the IoT Core Service getsubscriptioninfo10 / 2020
04Deleted: ifm IoT Core – DNS support10 / 2021

2 Safety instructions

Content

General....7

Required background knowledge....7

Safety symbols on the device....7

IT security 8

28333

2.1 General

58525

  • The device described is a subcomponent for integration into a system. The manufacturer is responsible for the safety of the system. The system manufacturer 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 manufacturer 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 (→ Functions and features (→ S. 9)).
  • 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, programming, configuration, operation and maintenance of the product must be carried out by personnel qualified and authorised for the respective activity.
  • Protect units and cables against damage.

2.2 Required background knowledge

34185

This document is intended for specialists. Specialists are people who, based on their relevant training and experience, are capable of identifying risks and avoiding potential hazards that may be caused during operation or maintenance of the product.

The document contains information about the correct handling of the product.

2.3 Safety symbols on the device

34199

IFM AL1353 - Safety symbols on the device - 1

General warning

Observe instructions in chapter "Electrical connection" ( Electrical connection ( S. 14))!

2.4 IT security

54678

NOTICE!

If the device is operated in an unprotected network environment.

Unauthorised read or write access to data is possible.
Unauthorised manipulation of the device function is possible.
▶ Check and restrict access options to the device:
- Restrict access to authorised persons.
- Do not connect the device to open networks or the internet.

If access from the internet is inevitable:

▶ choose a safe method to connect with the device (e. g. VPN).
▶ Use encrypted data transmission (e. g. https / TLS).

3 Functions and features

58284

The device may only be used for the following purposes:

  • as IO-Link master for configuration, management and operation of IO-Link devices
    • as gateway between IO-Link devices and AS-i network

The device is designed for use without a control cabinet in the food industry.

▶ Only use the device within the limits of the technical data ( Technical data ( S. 79)).

4 Function

Content

Communication, parameter setting, evaluation....11

Digital inputs....12

IO-Link supply....12

33836

4.1 Communication, parameter setting, evaluation

Content

IO-Link 11
Internet of Things (IoT)....11
Security mode....11
Parameter setting....11
Visual indication....11
33860

34084

The device offers the following IO-Link functions:

• IO-Link master (IO-Link revision 1.0 and 1.1)
- 8 IO-Link ports for connection of IO-Link devices
- Provision of process data of the connected IO-Link devices for LR SMARTOBSERVER monitoring software (→ www.ifm.com)

4.1.2 Internet of Things (IoT)

54679

The device offers the following IoT functions:

  • Gateway for the transmission of process, parameter and monitoring data between IO-Linkmaster / IO-Link devices and the IT network level
  • REST-API to access process and parameter data
    • Supported protocols: TCP/IP JSON, MQTT

4.1.3 Security mode

54697

The IoT interface offers the following optional security functions:

  • Secure data transfer via encrypted connection (Secure Layer Transport - TLS)
  • Access protection via authentication

4.1.4 Parameter setting

34210

The device provides the following configuration options:

  • Parameter setting of the IO-Link master of the AL1353 with LR DEVICE parameter setting software, IoT core projection software or ifm IoT-Core services.
  • Parameter setting of the connected IO-Link devices (sensors, actuators) with LR DEVICE parameter setting software, IoT core projection software or ifm IoT-Core services
    • Storage of parameter sets of the connected IO-Link devices for automatic recovery (data storage)

4.1.5 Visual indication

34192

The device has the following visual indicators:

  • Status and error indication of the gateway, of the IoT core connection and of the system
    • Status display of the voltage supply
  • Status and activity display of the Ethernet connection

- Status, error and short circuit/overload indication of the IO-Link ports

4.2 Digital inputs

33817

The device has 8 additional digital inputs (type 2 according to EN 61131-2).

The digital inputs are on pin 2 of the ports X01...X04.

All inputs refer to the potential of the device supply (pin 3).

34077

The device has 8 supplies for IO-Link devices.

The IO-Link ports X01...X08 are ports class A.

Every supply provides short circuit monitoring.

The device ensures fire protection for the connected IO-Link devices by providing a power-restricted circuit at the IO-Link ports (according to IEC61010-1 and Class 2 according to UL1310).

5 Mounting

Content

Mount the device ....13

34058

5.1 Mount the device

34059

IFM AL1353 - Mount the device - 1

▶ Disconnect the system from power before installation.
▶ For installation choose a flat mounting surface.
▶ Please observe the maximum tightening torque.

▶ Fix the unit to the mounting surface using 2 M5 mounting screws and washers.

- Tightening torque: 1.8 Nm

▶ Ground the unit via the two mounting screws of the upper mounting lugs.

6 Electrical connection

Content

Notes 14

Connecting the IoT ports....15

IO-Link ports 16

Connecting the device....17

33805

6.1 Notes

51957

IFM AL1353 - Notes - 1

A qualified electrician must connect the unit.

The national and international for regulations setting up electrical equipment must be complied with.

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

▶ Please note the information concerning IO-Link wiring!

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

▶ Please observe the required precautions against electrostatic discharge!

The M12 connection parts in the device comply with the ingress resistance requirements of the standard EN 61076-2-101. To adhere to the protection rating, only cables certified to this standard must be used. The system creators undertake to ensure ingress resistance for cables which they cut to length themselves.

  • Carry out the fitting according to the indications of the cable manufacturer. A maximum of 0.8 Nm is permitted.
    ▶ During installation, place the M12 connector vertically so that the coupling nut will not damage the thread.
    ▶ Depending on the mounting conditions, cables must be provided with a strain relief to avoid unacceptable loads on the mounting points and M12 connections.
    ▶ Make sure that the M12 connection parts are correctly seated and mounted correctly. The specified protection rating can not be guaranteed if this is not observed.

For UL applications:

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

Wiring: → Technical data (→ S. 79)

By means of basic insulation according to EN61010-1, the circuits are separated from each other and from device surfaces that could be touched (secondary circuit with 28 V DC maximum, 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 28 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.2 Connecting the IoT ports

52272

IFM AL1353 - Connecting the IoT ports - 1

natural_image Front view of a mobile phone rear panel with multiple circular buttons and ventilation slots (no text or symbols)

▶ Connect the unit via the M12 socket X21 and/or X22 with the IoT core network (e.g. laptop/PC with LR DEVICE parameter setting software, laptop/PC with LR SMARTOBSERVER monitoring software, PC/laptop with http request compatible software)
▶ To connect the devices, use M12 connectors with protection rating IP 65 / IP 66 / IP 67 / IP 69K or higher (→ Accessories (→ S. 77)).
▶ Cover unused sockets with M12 protective caps (art. no.: E12542).

51958

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

▶ Please note the information concerning IO-Link wiring!
▶ Cover unused sockets with M12 protective caps (art. no.: E12542).

51959

Wiring information:

  • The connected IO-Link devices must be supplied exclusively via the IO-Link master.
  • The additional digital inputs IO-Link ports X01...X08 (pin 2) have a type 2 behaviour according to the standard EN61131-2. The connected electronics must be electrically suited for this.

IFM AL1353 - Wiring information: - 1

natural_image Top-down schematic of a mobile phone rear panel with multiple circular components (no text or labels)

▶ Connect the connectors of the IO-Link devices with the M12 sockets of the IO-Link ports X01...X08.
■ Maximum cable length per IO-Link port: 20 m
▶ To connect the devices, use M12 connectors with protection rating IP 65 / IP 66 / IP 67 / IP 69K or higher (→ Accessories (→ S. 77)).

6.4 Connecting the device

33882

IFM AL1353 - Connecting the device - 1

natural_image Top-down schematic of a mobile phone rear panel with multiple circular components and a central button (no text or symbols)

▶ Disconnect power.
Connect the IO-Link Master via M12 socket X31 to 24 V DC (20...28 V SELV/PELV; according to EN61010-1, secondary circuit with maximum 30 V DC supplied by mains circuit up to 300 V of overvoltage category II).
- Maximum cable length: 25 m
▶ To connect the device, use M12 connectors with protection rating IP 65 / IP 66 / IP 67 / IP 69K or higher (→ Accessories (→ S. 77)).

IFM AL1353 - Connecting the device - 2

When using cable length greater than 25 m keep in mind the voltage drop as well as the required minimum voltage supply of 20 V!

7 Operating and display elements

Content

Overview....18

LED indicators....19

34063

7.1 Overview

Diagram of a mobile phone rear panel with numbered labels pointing to various components.

52274

① Status LEDs RDY and IoT → Status LEDs (→ S. 19)
② L/A and 10/100 MBits/s status LEDs of the IoT interface (X21/X22) → IoT ports (→ S. 19)
③ IOL and DI status LEDs of the IO-Link port (X01...X08) → IO-Link Ports (Class A) (→ S. 20)
④ PWR status LED of the voltage supply (X31) → Voltage supply (→ S. 20)

7.2 LED indicators

The device only has the following LED indicators:

34047

7.2.1 Status LEDs

The RDY LED indicates the status of the gateway.

The IoT LED indicates the status of the connection to the LR SMARTOBSERVER.

Status LEDDescription
RDYgreenonStatus: OK
flashes 5 HzStatus: Error
flashes (200 ms on, 800 ms off)Status: Firmware update is running
offStatus: Gateway not running or gateway booting
IoTgreenoffNo connection to the LR SMARTOBSERVER
onConnection to the LR SMARTOBSERVER activated

7.2.2 IoT ports

52238

Each IoT port has the 2 L/A and 10/100 MBits/s LEDs. The LEDs indicate the status of the Ethernet connection.

Status LEDDescription
L/AgreenonEthernet connection established
flashesData is transmitted via the Ethernet interface.
offNo Ethernet connection
10/100 Mbits/syellowon100 MBit/s
off10 MBit/s

34074

Each IO-Link Port Class A has 2 LEDs labelled IOL and DI. The LEDs indicate the status of the IO-Link port.

Status LEDDescription
IOLyellowOffPort configured as DI/DO: pin 4 (C/Q) = OFF
onPort configured as DI/DO: pin 4 (C/Q) =ON
greenflashing 1 HzPort configured asIO-Link: no IO-Link device found
Flashing with 2 HzPort configured asIO-Link: Status PREOPERATE
onPort configured asIO-Link: Status OPERATE
redFlashing with 2 HzPort configuration error or short circuit / overload on US
onTransmission Error
DIyellowOffDigital input: pin 2 = OFF
onDigital input: pin 2 = ON

7.2.4 Voltage supply

34191

The interface for voltage supply (X31) has the LED that is marked as US. The LED indicates the status of the voltage supply.

Status LEDDescription
USgreenonThe supply voltage Us is applied.
offNo supply voltage is applied or the applied supply voltage is too low.

8 Set-up

Content

Read device and diagnostic information ....22

52239

When the supply voltage is switched on, the AL1353 starts with the factory settings. The display elements signal the current operating mode ( Operating and display elements ( S. 18)).

To enable parameter setting of the AL1353 via the IoT core network, the IoT interface must be configured according to the network environment.

▶ Connect AL1353 via the ports X21/X22 to the IoT core network.
▶ Configure the IoT interface ( IoT: Configure IP settings ( S. 26)).

IoT interface has valid IP settings.
User can set the parameters of the AL1353.

Further steps:

- Set the parameters of the AL1353 (→ Configuration (→ S. 23)).

8.1 Read device and diagnostic information

52240

The AL1353 has an integrated web server. The component provides device and diagnostic information of the IO-Link master and the connected IO-Link devices.

▶ Connect laptop/PC and AL1353 via the Ethernet interface.
▶ Start web browser.
▶ Enter the IP address of the AL1353 into the address field of the browser and confirm with [ENTER].

Web browser shows the web interface of the device.
The page shows the following data:

■ Table with connected IO-Link devices

NameDescription
[Port]Number of the IO-Link port
[Mode]Operating mode of the IO-Link port
[Comm. Mode]Baud rate of the IO-Link port
[MasterCycleTime]Cycle time
[Vendor ID]IO-Link ID of the manufacturer of the IO-Link device
[Device ID]IO-Link ID of the IO-Link device
[Name]Article number of the IO-Link device▪ For ifm articles: This article number is stored along with a link to the product page on the ifm website.
[Serial]Serial number of the IO-Link device

■ Diagnostic information of the device

NameDescription
[SW-Version]
[Current]Current (in mA)
[Voltage]Voltage (in mV)
[Short Circuit]Number of detected short circuits
[Overload]Number of overvoltages
[Undervoltage]Number of undervoltages
[Temperature]Device temperature (in °C)

■ Version information of the installed firmware components

NameDescription
[Firmware]Firmware version
[Container]Version of the firmware container
[Bootloader Version]Version of the bootloader
[Fieldbus Firmware]Version of the IoT core firmware

9 Configuration

Content

LR DEVICE....24

ifm IoT Core 34

33858

9.1 LR DEVICE

Content

Remarks 25

IoT: Configure IP settings....26

IoT: Configure security mode 27

IoT: Configure the interface to LR AGENT or LR SMARTOBSERVER 28

IO-Link ports: Activate data transfer to LR AGENT or LR SMARTOBSERVER 28

IO-Link ports: Configure operating mode 29

IO-Link ports: Set the device validation and data storage....30

IO-Link ports: Configuration of fail-safe values 31

Info: Show device information 31

Firmware: Reset device to factory settings 32

Firmware: Reboot the device....32

Configure IO-Link devices 32

33692

On delivery, the AL1353 is configured with the factory settings ( Factory settings ( S. 76)).

Required software: LR DEVICE (1.5.0.x or higher) (art.-no.: QA0011/QA0012)

9.1.1 Remarks

Content

Offline parameter setting....25

VPN connection....25

34180

Offline parameter setting

34060

The AL1353 supports the offline parameter setting. In this context, the user creates and stores a configuration for the IO-Link master and the connected IO-Link devices without being connected to the AL1353 (OFFLINE mode). The configuration created in this way can be stored as a file (*.lrp) and loaded to the AL1353 and activated at a later date.

IFM AL1353 - Offline parameter setting - 1

Further information about offline parameter setting: → Operating instructions LR DEVICE

VPN connection

34382

IFM AL1353 - VPN connection - 1

An active VPN connection blocks the access of the parameter setting software LR DEVICE to the IoT core interface of the AL1353.

▶ Deactivate the VPN connection in order to be able to access the AL1353 with the LR DEVICE.

9.1.2 IoT: Configure IP settings

34049

For access to the IO-Link master via the IT infrastructure the user has to set the IP settings of the IoT port.

IFM AL1353 - IoT: Configure IP settings - 1

To configure the IP settings with DHCP, a DHCP server has to be active in the IT network. If no DHCP server can be reached in the IT network, an IP address is automatically assigned to the IoT port with the Zeroconfig protocol (address range: → Factory settings (→ S. 76)).

To configure the IP settings of the IoT interface:

▶ Select [IoT] menu.

The menu page shows the current settings.
▶ Set the following parameters as required:

NameDescriptionPossible values
[DHCP]Activate/deactivate the DHCP client of the device[Static IP]IP settings were set by the user
[DHCP]IP settings are set by a DHCP server in the network.
[IP address]*IP address of the IoT portFactory setting: 169.254.X.X
[Subnet mask]*Subnet mask of the Ethernet networkFactory setting: 255.255.0.0
[Default gateway IP address]*IP address of the network gatewayFactory setting: 0.0.0.0
[MAC address]MAC address of the IoT portThe value is firmly set.

* ... can only be edited if parameter [DHCP] = [Static IP]

▶ Save changed values on the device.

9.1.3 IoT: Configure security mode

54680

The IoT interface of the IO-Link offers a security mode. It enables secure data transmission via transport encryption and restriction of the access to IO-Link masters and IO-Link devices via user authentication.

To configure the security mode:

▶ Select [IoT] menu.

The menu page shows the current settings.
▶ Set the following parameters as required:

NameDescriptionPossible values
[Security mode HTTPS]Set the security mode[Disabled]Security mode disabled
[Enabled]Security mode enabled
[Security password]PasswordNote: The set password is not displayed.

▶ Save changed values on the device.

IFM AL1353 - IoT: Configure security mode - 1

The security mode only protects the access to the device via the IoT interface.

The user name "administrator" cannot be changed.

IFM AL1353 - IoT: Configure security mode - 2

The security mode can be enabled without setting the password. During the attempt to write to the device, LR DEVICE requires to enter and confirm the password.

After entering the password, the user has unrestricted access to IO-Link masters and connected IO-Link devices. The password will only be requested again if the current LR DEVICE session is over (e.g. after restarting the LR DEVICE).

To change the set password:

▶ Sign in with a valid password.
▶ Enter the new password in the field [Security password].
▶ Write changes to the device.

The new password is set.

9.1.4 IoT: Configure the interface to LR AGENT or LR SMARTOBSERVER

34048

To enable transfer of process data from the IO-Link master to LR AGENT or LR SMARTOBSERVER, the interface has to be configured accordingly.

▶ Select [IoT] menu.

The menu page shows the current settings.
▶ Set the following parameters as required:

NameDescriptionPossible values
[IP address LR Agent or SMARTOBSERVER]IP address of LR AGENT or LR SMARTOBSERVERFactory setting: 255.255.255.255
[Port LR Agent or SMARTOBSERVER]Port number that is used to send process data to LR AGENT or LR SMARTOBSERVER0...65535Factory setting:: 35100
[Interval LR Agent or SMARTOBSERVER]Cycle time for the transfer of the process data to LR AGENT or LR SMARTOBSERVER (value in milliseconds)[Off]no transfer
500...2147483647500 ms...2147483647 ms
[Application Tag]Source identifier of the IO-Link master in the structure of LR AGENT or LR SMARTOBSERVER (String32)Factory setting: AL1353

IFM AL1353 - IoT: Configure the interface to LR AGENT or LR SMARTOBSERVER - 1

After changing the parameter [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:

▶ Reboot the device after changing the the parameter.

▶ Save changed values on the device.

33690

The user can decide separately for each IO-Link port whether the process data of the connected IO-Link devices should be transferred to LR AGENT or LR SMARTOBSERVER.

IFM AL1353 - IO-Link ports: Activate data transfer to LR AGENT or LR SMARTOBSERVER - 1

To transfer process data the interface to the LR AGENT or LR SMARTOBSERVER has to be correctly configured ( IoT: Configure the interface to LR AGENT or LR SMARTOBSERVER ( S. 28)).

To activate / deactivate data transfer:

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

The menu page shows the current settings.
▶ Set the following parameters as required:

NameDescriptionPossible values
[Transmission to LR Agent or SMARTOBSERVER]Transfer of process data of the connected IO-Link device to LR AGENT oder LR SMARTOBSERVER[Disabled]Transfer process data
[Enabled]Don't transfer process data

▶ Save changed values on the device.

33694

The IO-Link ports X01...X08 of the device support the following operating modes:

  • Disabled: no data transfer at pin 4 (C/Q) of the IO-Link port
  • Digital input (DI): binary input signal at pin 4 (C/Q) of the IO-Link port
  • Digital output (DO): binary output signal at pin 4 (C/Q) of the IO-Link port
  • IO-Link: IO-Link data transfer via pin 4 (C/Q) of the IO-Link port

The user can set the operating mode separately for each IO-Link port.

To set the operating mode of an IO-Link port:

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

The menu page shows the current settings.
▶ Set the following parameters as required:

NameDescriptionPossible values
[Mode Pin4 US]Operating mode of pin 4 of the IO-Link port[Disabled]Port deactivated
[DI]Operation as digital input
[DO]Operation as digital output
[IO-Link]Operation as IO-Link interface
[Cycle time actual]**Current cycle time of the data transfer between IO-Link master and IO-Link device on the port (value in microseconds)Parameter can only be read
[Cycle time preset]*Cycle time of the data transfer between the IO-Link master and the IO-Link device at the port (value in microseconds)0The device automatically sets the fastest possible cycle time.
1 ... 1328001 microsecond ... 132800 microseconds
[Bitrate]**Current transmission rate of the data transfer between the IO-Link master and the IO-Link device on the portParameter can only be read

* ... Parameter only available if [Mode] = [IO-Link]

** ... Parameter only visible if the IO-Link device is connected to the IO-Link port.

▶ Save changed values on the device.

33697

The user can choose how the IO-Link ports are to behave with regard to the device validation and the storage / recovery of parameter data of the connected IO-Link device.

The following options are available:

OptionValidation of the IO-Link deviceStorage of the parameter valuesRecovery of the parameter values
[No check and clear]nonono
[Type compatible V1.0 device]yes, test the compatibility with IO-Link standard V1.0nono
[Type compatible V1.1 device]yes, test the compatibility with IO-Link standard V1.1nono
[Type compatible V1.1 device with Backup + Restore]yes, test the compatibility with IO-Link standard V1.1 and identity of design (vendor ID and device ID)yes, automatic storage of the parameter values; changes of the current parameter values will be storedyes, recovery of the parameter values when connecting an identical IO-Link device with factory settings
[Type compatible V1.1 device with Restore]yes, test the compatibility with IO-Link standard V1.1 and identity of design (vendor ID and device ID)no, there is no automatic storage changes of the current parameter values will not be storedyes, recovery of the parameter values when connecting an identical IO-Link device with factory settings

IFM AL1353 - IO-Link ports: Set the device validation and data storage - 1

The options only apply if the IO-Link port is in the operating mode "IO-Link".

For options [Type compatible V1.1 device with Backup + Restore] and [Type compatible V1.1 device with Restore]: If the vendor ID and device ID are changed in the online mode, the data memory will be deleted and a new backup of the parameter values of the connected IO-Link device will be created in the IO-Link master.

To configure the device validation and the data storage:

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

The menu page shows the current settings.
▶ Set the following parameters as required:

NameDescriptionPossible values
[Validation / Data Storage]Supported IO-Link standard and behaviour of the IO-Link master when connecting a new IO-Link device at port x (x = 1...8)[No 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]
[Vendor ID]ID of the manufacturer that is to be validated0...65535Factory setting: 0# ifm electronic: 310
[Device ID]ID of the IO-Link device that is to be validated0...16777215Factory setting: 0

▶ Save changed values on the device.

52242

The user can set the fail-safe values of the outputs of the IO-Link ports X01...X08. The fail-safe values will be activated in case of an interruption of the IoT core connection.

To configure the fail-safe values:

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

The menu page shows the current settings.
▶ Set the following parameters as required:

NameDescriptionPossible values
[Fail-safe digital out]*Fail-safe value of the output for operating mode "digital output (DO)"[Reset]OFF
[Old]Old value
[Set]ON
[Fail-safe IO-Link]*Fail-safe value of the output for operating mode "IO-Link"[Off]No fail-safe
[Reset]Fail-safe: OFF
[Old]Fail-safe: old value
[Pattern]Fail-safe: byte sequence

* ... parameter can only be changed if the IoT core controller is disconnected

▶ Save changed values on the device.

9.1.9 Info: Show device information

34065

To read the general information of the ifm IO-Link master:

▶ Select [Info] menu.

The menu page shows the current settings.

NameDescriptionPossible values
[Product code]Article number of the IO-Link masterAL1353
[Device family]Device family of the IO-Link masterIO-Link master
[Vendor]Vendorifm electronic gmbh
[SW-Revision]Firmware of the IO-Link master
[HW revision]Hardware version of the IO-Link master
[Bootloader revision]Bootloader version of the IO-Link master
[Serial number]Serial number

9.1.10 Firmware: Reset device to factory settings

33838

When the IO-Link master is reset, all parameters are set to the factory settings:

To reset the device to factory settings:

▶ Select [Firmware] menu.

The menu page shows the current settings.
▶ Click on [Factory Reset] to reset the device.
LR DEVICE sets the device to the factory settings.

9.1.11 Firmware: Reboot the device

33832

When rebooting the device, all settings are kept.

To restart the AL1353:

▶ Select [Firmware] menu.

The menu page shows the current settings.
▶ Click on [Reboot] to reboot the device.
LR DEVICE reboots the ifm IO-Link master.

52351

To configure the IO-Link devices connected to the device with the LR DEVICE parameter setting software:

Requirements:

IO-Link master is correctly installed and connected to the LR DEVICE parameter setting software.
The IO-Link device is correctly connected to the AL1353.
Operating mode of the IO-Link port is "IO-Link" ( IO-Link ports: Configure operating mode ( S. 29)).

▶ Start LR DEVICE.
▶ Update IODD file library OR:
Import IODD file of the IO-Link device manually.
▶ Scan network for devices.

LR DEVICE detects IO-Link master.

▶ Under [ONLINE]: Click on the required IO-Link master.

LR DEVICE automatically detects the IO-Link devices connected to the IO-Link master (e.g. ifm sensor KG5065).

ONLINE Devices + AL1nnn O Port 1: KG5065 Port 2 Port 3

▶ Mouse click on the port to which the IO-Link device is connected.

LR DEVICE reads and shows the current parameter values of the IO-Link device.
▶ Configure IO-Link device.

IFM AL1353 - Configure IO-Link device - 1

Information about the available parameters of the IO-Link device: → IO Device Description (IODD) of the IO-Link device

▶ Save the changed configuration on the IO-Link device.

9.2 ifm IoT Core

Content

Programmers' notes ....35

First steps 39

General functions 39

IoT: Configuring access rights....43

IoT: Configuring IP settings....43

IoT: Configuring the LR AGENT or LR SMARTOBSERVER interface 44

IoT: Configuring security mode 44

IO-Link ports: Setting the operating mode of pin 4 (US) 47

IO-Link ports: Configuring device validation and data storage....47

IO-Link ports: Configuring data transfer to LR AGENT or LR SMARTOBSERVER 49

IO-Link ports: Reading / writing process data 49

IO-Link ports: Indicating port events....52

IO-Link devices: Accessing parameters 52

IO-Link devices: Reading an writing device information ....54

IO-Link devices: Indicating IO-Link events....54

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

Gateway: Reading device information....55

Gateway: Reading status and diagnostic information....55

Gateway: Updating the firmware 56

Gateway: Setting the application tag 57

Subscribing to notifications....58

Using Web Socket....61

MQTT support 63

Using the IoT-Core Visualizer 67

52244

IFM AL1353 - Content - 1

General notes on the ifm IoT Core: → Programmers' notes (→ S. 35)

9.2.1 Programmers' notes

Content

IoT Core: General information....35
Access the ifm IoT Core 36
IoT Core: Diagnostic codes....38
34229

IoT Core: General information

52256

The DataLine device family has an IoT Core. The IoT Core allows the user to address the AL1353 from IT networks via a REST API and to integrate it into Internet-of-Things applications.

A device description is stored on the AL1353. This device description is a structured, machine-readable data object in JSON format. All current values of parameters, process data, diagnostic data and device information are mapped in this data object. These data values can be read and changed by means of services.

Access the ifm IoT Core

52257

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

GET request

33804

Using the GET method the user has read access to a data point.

The syntax of the request to the IoT Core is:

http://ip/datapoint/service

ParameterDescription
ipIP address of the IoT interface
data_pointData point which is to be accessed
serviceService

The syntax of the return of the IoT Core is:

{
"cid": id,
"data": {"value": resp_data},
"code": diag_code
} 
ParameterDescription
idCorrelation ID for the assignment of request and return
resp_dataValue of the data point; depending on the data type of the data point
diag_codeDiagnostic code (→ IoT Core: Diagnostic codes (→ S. 38))

Example: GET request

54033

Request (via browser):

http://192.168.0.250/devicetag/applicationontag/getdata

Response:

{
"cid": -1,
"data": {"value":"AL1353"},
"code": 200
} 

POST request

54700

Using a POST request the user has read and write access to a data point.

The syntax of the request to the IoT Core is:

{
    "code": "code_id",
    "cid": id,
    "adr": "data_point/service",
    "data": {req_data},
    "auth": {"user": "usr_id", "passwd": "password"}
} 
FieldParameterDescription
codecode_idService class
requestRequest
transactionTransaction
eventEvent
cididCorrelation ID for the assignment of request and response; ID freely assignable by the user
adrdata_pointData point of the element tree which is to be accessed
serviceService to be performed (→Overview: IoT services (→S.92))
data*req_dataData to be transferred to the IoT Core (e.g. new values); syntax depending on the service
auth**usr_iduser name (base64 coded); default value: administrator
passwordpassword (base64 coded)

* = optional; only required for services, that submit data to the IoT core (e. g. setdata)
** = optional; only required, if security mode is activated

The syntax of the return of the IoT Core is:

{
    "cid": id,
    "data": {resp_data},
    "code": diag_code
} 
FieldParameterDescription
cididCorrelation ID for the assignment of request and response (see request)
data*resp_dataValue of the data point; syntax depending on the service
codediag_codeDiagnostic code ( IoT Core: Diagnostic codes ( S. 38))

* = optional; only required for services, that receive data from the IoT core (e.g. getdata)

Example: POST request

54035

Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "devicetag/applicationtag/getdata"
} 

Response:

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

IoT Core: Diagnostic codes

54688

CodeTextDescription
200OKRequest successfully processed
230OK but needs rebootRequest successfully processed; IO-Link master must be restarted
231OK but block request not finishedRequest successfully processed; blockwise request, but not yet finished
232Data has been accepted, but internally modifiedNew values have been accepted, but were adjusted by the IO-Link master (Master cycle time)
233IP settings (of IoT-Port) have been updated.Application needs to reload device. Wait at least 1 second before reloading device.IP settings have been successfully changed, IO-Link master will be reloaded; wait for at least 1 second
400Bad requestInvalid request
401UnauthorizedNon authorised request
403ForbiddenForbidden request
500Internal Server ErrorInternal fault
503Service UnavailableThe service is not available (e. g. IO-Link port in wrong operating mode; no IO-Link device at IO-Link port)
530The requested data is invalidInvalid process data
531IO-Link errorError in IO-Link Master / device
532PLC connected ErrorError while setting data, because IO-Link master is still connected to fieldbus PLC

9.2.2 First steps

52245

To read the device description of the AL1353:

▶ Send the following POST request to the AL1353:
{"code":"request","cid":-1,"adr":"gettree"}

AL1353 returns the device description as 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

61148

The AL1353 has the type device ( Overview: IoT types ( S. 91)).

The following services can be used on the root element of the type device:

ServiceDescription
../gettreeProvide the complete tree or subtree of the device description (JSON)
../getidentityReading device information
../getdatamultiReading several parameter values sequentially
../getelementinfoReading detailed information of an element
../getsubscriberlistPrint a list of all active notification subscriptions
../querytreeSearch device description for specific elements

Depending on the read and write access rights, the following services can be applied to elements of type data:

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

Example: Reading properties of an element

59782

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",
"uid":null,
"profiles":["parameter"],
"format":{
"type":"enum",
"namepace":"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".

Example: output subtree

61149

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 be shown: 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
} 

33840

Task: The following current values are to be read by the IO-Link master: temperature, serial number

Solution: Read the current parameter values using the getdatamulti service (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
} 

Example: Browsing device description

61150

Task: List all elements with the designation "status" and the profile "runcontrol".

Solution: Use the service querytree to browse the device description with the parameters "status" (name) and "runcorntrol" (profile)

- Request:
{
    "cid":4711,
    "adr":"querytree",
    "code":"request",
    "data":{
    "profile":"runcontrol",
    "name":"status"
    }
}
- Response:
{
    "cid":4711,
    "data":{
    "adrList":[
    "device/connections/mqttConnection/status",
    "device/connections/mqttConnection/mqttCmdChannel/status"]},
    "code":200
} 

Setting the storage duration

61153

The IoT Core offers the possibility to set the storage duration of data and notifications. The Services Service: setdata ( S. 102) and Service: subscribe ( S. 104) therefore have the parameter "duration".

Example: Subscribing to notifications

61154

Task: The current values of the following parameters are to be sent regularly to a network server with IP address 192.168.0.4:

  • Product name of the IO-Link Devices an IO-Link port X02
    • Cyclic input data of the IO-Link Devices an IO-Link port X02
  • Operating temperature of the IO-Link master.

The subscription is only to be active until the next restart 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": "http://192.168.0.4:80/temp",
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/productname",
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/temperature"],
    "duration": "uptime"
    }
}
- Response:
{
    "cid": 4711,
    "code": 200
} 

9.2.4 IoT: Configuring access rights

59785

Substructure: iotsetup

Available data points:

NameDescriptionAccess
../accessrightsAccess rights to the IO-Link masterrw

rw ... read and write

IFM AL1353 - IoT: Configuring access rights - 1

If in IoT and IoT core projection software the parameter [Access Rights] is = [IoT core + IoT], the parameter values set in the IoT core projection software will always apply.

If in IoT the parameter [Access Rights] is = [IoT only], set the parameter [Access Rights] = [Keep settings] in the IoT core projection software.

If in LR DEVICE the parameter [Access Rigts] is = [EtherCAT + IoT (read-only)], write access to the device configuration via LR DEVICE and IoT core services is blocked. To enable write access again, set the parameter to [EtherCAT + IoT] via fieldbus configuration software.

Changes of the parameter [Access Rights] will only be effective after restarting the IO-Link master ( Firmware: Reboot the device ( S. 32)).

9.2.5 IoT: Configuring IP settings

61155

Substructure: iotsetup

Available data points:

NameDescriptionAccess
../network/dhcpConfiguration of the IP settings of the IoT portrw
../network/ipaddressIP address of the IoT portrw
../network/subnetmaskSubnet mask of the network segmentrw
../network/ipdefaultgatewayIP address of the network gatewayrw

rw ... read and write

Applicable services:

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

IFM AL1353 - IoT: Configuring IP settings - 1

Change the IP parameters in the substructure network only blockwise with the setblock service!

9.2.6 IoT: Configuring the LR AGENT or LR SMARTOBSERVER interface

59786

Substructure: iotsetup

Available data points:

NameDescriptionAccess
../smobipIP address of the LR SMARTOBSERVERrw
../smobportPort number of the LR SMARTOBSERVERrw
../smobintervalCycle time for data transmission to LR SMARTOBSERVER (value in milliseconds)rw

rw ... read and write

9.2.7 IoT: Configuring security mode

54683

The access to the IoT interface of the IO-Link master can be protected with a security mode:

Substructure: iotsetup

Available data points:

NameDescriptionAccess
../security/securitymodeactive security moderw
../security/passwordPassword for authentication (Base64 coded)w

rw ... read and write

w ... write only

IFM AL1353 - 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

Note: Security mode

54684

The security mode enables restricting access to the IO-Link master and the connected IO-Link devices from the IT network. In the activated security mode, the following restrictions apply:

  • Access only with authentication (password-protected user account)
  • Access only via secure https connection (Transport Layer Security - TLS)

IFM AL1353 - Note: Security mode - 1

The security mode only protects the access to the device via the IoT interface.

The standard value for users is: administrator

The set password cannot be read with getdata.

The current status of the security function can be read with the getidentity service ( Servicet: getidentity ( S. 95)).

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 will be shown as Base64-coded character strings ( Example: Request with authentication ( S. 46)).

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

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

Example: Activate security mode

54701

Task: Activate the security mode of the IO-Link interface of the IO-Link master. Set the password "password" (Base64 coded: cGFzc3dvcmQ=)

Solution: The activation sonsists of 2 steps:

1 Activate security mode

Use service setdata with datapoint iotsetup/security/securitymode to activate the security mode.

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

2 Set required password

Use service setdata with data point iotsetup/security/password to set the required password.

- Request:
{
  "code": "request",
  "cid": -1,
  "adr": "/iotsetup/security/password/setdata",
} 
"data":{"newvalue":"cGFzc3dvcmQ="}}  
}  
- Response:  
{  
"cid": -1,  
"code": 200} 

Example: Request with authentication

54685

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 with the getdata service. 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
} 

Example: reset password

54686

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
} 

59793

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

Available data points:

NameDescriptionAccess
../modeOperating mode of the IO-Link portrw*
../mastercycletime_presetCycle time of the data transfer at the IO-Link port (value in ms)rw*
../mastercycletime_actualCurrent cycle time of the data transfer at the IO-Link port (value in ms)r
../comspeedData transfer rate of the IO-Link portr

r ... read only

rw ... read and write

* ... only changeable, if the plc is not in RUNNING state

59792

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

Available data points:

NameDescriptionAccess
../validation_datastorage_modeResponse of the IO-Link port when a new IO-Link device is connectedrw*
../validation_vendoridIO-Link ID of the manufacturer that is to be validatedrw*
../validation_deviceidIO-Link ID of the device that is to be validatedrw*
../datastorageStructure for port data storagerw
../datastorage/maxsizeMaximum size of the data storage content (in bytes)r
../datastorage/chunksizeSize of a data segment (in bytes)r
../datastorage/sizeSize of the data storage content (in bytes)r

r ... read only

rw ... read and write

* ... can only be changed if the IoT core PLC is not in RUNNING state

Applicable services:

ServiceDescription
../validation_useconnecteddeviceValidate the IO-Link device connected to the IO-Link port*
../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*

* ... can only be changed if the IoT core PLC is not in the RUNNING state

52344

Task: Save the Data Storage of IO-Link port X02 of IO-Link master 1 and restore the data at IO-Link master 2.

Solution: The cloning process consists of 2 steps. In the first step, the Data Storage of the IO-Link port of IO-Link master 1 is saved. In the second step, the saved data is restored at the Data Storage of port IO-Link port of IO-Link master 2.

Save Data Storage:

1 Preparations

▶ Read size of segments of Data Storage (h = number of bytes):
{"code":"request", "cid": -1,"adr":"iolinkmaster/port[2]/datastorage/chunksize/getdata"} Example: h = 256
▶ Read total size of Data Storage area (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 to which the following applies: g < n*h Example: n=3, because 550 < 3*256

Read Data Storage segment by segment ("pos" is the byte offset, at which the reading process with length "length" starts).
{"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 request: pos = 0, length = 256
2nd read resquest: pos = 256, length =256
3rd read request: pos = 512, length = 256

Each segment value will be returned as BASE64 coded string.

▶ Join segments.

Restore Data Storage:

1 Preparations

▶ Determine the size of the saved Data Storage value (n = number of bytes). Example: n = 550
Read size of segments (s = number of bytes): {"code":"request", "cid": -1, "adr":"/iolinkmaster/port[1]/datastorage/chunksize/getdata"} Example: s = 256

2 Transfer Data Storage strings

▶ Start transfer of Data Storage string ("size" = size of Data Storage string):
{"code":"request", "cid": -1, "adr":"/iolinkmaster/port[1]/datastorage/start_stream_set", "data": {"size": n}} Example: size = 550
▶ Transfer Data Storage string segment by segment ("value" = string value of length s):
{"code": "request", "cid": -1, "adr": "/iolinkmaster/port[1]/datastorage/stream_set", "data": {"value": "aWZtfgIAAABBTDF4NXhfY25faXRfdDluMi43Nw..."}

59795

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

Available data points:

NameDescriptionAccess
../senddatatosmobProcess data to LR AGENT or LR SMARTOBSERVERrw

rw ... read and write

61156

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

Available data points:

NameDescriptionAccess
../pin2inValue of the digital input on pin 2 of the IO-Link portr
../iolinkdevice/pdinValue of the IO-Link input on pin 4 of the IO-Link portr
../iolinkdevice/pdoutValue of the IO-Link output on pin 4 of the IO-Link portrw*

r ... read only

rw ... read and write

*... can only be changed if the fieldbus PLC is not in RUNNING state

33842

Task: Read the current measured value of the ifm temperature sensor TN2531 at IO-Link port X02

Solution: Read the data point for the process input data with the getdata service.

- Request:
{
  "code": "request",
  "cid": 4711,
  "adr": "/iolinkmaster/port[2]/iolinkdevice/pdin/getdata"
}
- Response:
{
  "cid": 4711,
  "data": {"value": "03C9"},
  "code": 200
} 

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

Therefore: The current temperature value is 24.2 °C.

59804

Task: Switch on the buzzer of DV2500 at IO-Link Port X2. The DV2500 operates in On/Off mode.

Solution: The IODD of the DV2500 shows the structure of the IO-Link process value ( e.g. LED activity). The buzzer will be switched using bit 40 of the process value (OFF = 0, ON = 1).

To switch the buzzer:

  1. Read the current process value ( Example: Read IO-Link process data (operating mode "IO-Link") ( S. 49)).
  2. Set bit 40 of the read value to 1.
  3. Write the process value to the IO-Link device.

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
} 

Example: Writing digital output (operating mode "DO")

59803

Task: Set the output value of the IO-Link devices at IO-Link Port X1 to "ON". The operating mode of the IO-Link port is "Digital Output (DO)".

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

- Request:
{
  "code": "request",
  "cid": 10,
  "adr": "iolinkmaster/port[1]/iolinkdevice/pdout/setdata",
  "data": {"newvalue":"01"}
}
- Response:
{
  "cid": 10,
  "code": 200
} 

Example: Reading digital input (operating mode "DI")

59802

Task: Read the current input value of the IO-Link device at IO-Link port X5. The operating mode of the IO-Link port is "Digital Input (DI)".

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

- Request:
{
    "code": "request",
    "cid": 10,
    "adr": "iolinkmaster/port[5]/iolinkdevice/pdin/getdata"
}
- Response:
{
    "cid": 10,
    "data": {"value": "00"},
    "code": 200
} 

59796

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

Available data points:

NameDescriptionAccess
../porteventIndication of the following events at IO-Link port n: · plugging IO-Link device · pulling IO-Link device · changing operating mode of IO-Link portr

r ... read only

IFM AL1353 - IO-Link ports: Indicating port events - 1

Subscribing events: → Subscribing to notifications (→ S. 58)

59800

The ifm IoT Core supports the configuration of the connected IO-Link devices. A parameter is accessed via IO-Link index and subindex ( IO Device Description (IODD) of the device).

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

Applicable services:

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

33847

Task: Read the serial number of the ifm temperature sensor TN2531 at IO-Link port X02

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}
}

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

The returned value is given in hexadecimal format. The conversion of the HEX value in a STRING value is: G0214280710

33844

Task: Set the output configuration OUT1 of the ifm temperature sensor TN2531 at IO-Link port X02 to the value "Hnc / hysteresis function, normally closed".

Solution: Change the parameter [ou1] of the sensor to the value 4 using the iolwriteacyclicdata service. 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 has to be given in hexadecimal format. The conversion of the STRING value in a HEX value is: 34.

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

59797

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

Available data points:

NameDescriptionAccess
../statusStatus of the connected IO-Link devicer
../vendoridIO-Link ID of the vendorr
../deviceidIO-Link ID of the IO-Link devicer
../productnameProduct name of the IO-Link devicer
../serialSerial number of the IO-Link devicer
../applicationspecifictagDevice-specific identification (application tag)rw

r ... read only

rw ... read and write

59798

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

Available data points:

NameDescriptionAccess
../iolinkeventIndication of IO-Link eventsr

r ... read only

IFM AL1353 - IO-Link devices: Indicating IO-Link events - 1

Subscribing events: → Subscribing to notifications (→ S. 58)

9.2.16 Gateway: Resetting, rebooting and localising the device

59790

Substructure: firmware

Applicable services:

NameDescription
../factoryresetReset IO-Link master to factory settings
../rebootReboot IO-Link master
../signalTrigger the flashing of the status LED

9.2.17 Gateway: Reading device information

52254

Substructure: deviceinfo

Available data points:

NameDescriptionAccess
../productcodeArticle numberr
../vendorManufacturerr
../devicefamilyDevice familyr
../hwrevisionHardware revisionr
../serialnumberSerial numberr
../revisionFirmware versionr
../bootloaderrevisionBootloader versionr
../extensionrevisionsFirmware and bootloader versionr
../fieldbustypeFieldbusr

r ... read only

Additional information about the AL1353 can be read with the service getidentity ( Servicet: getidentity ( S. 95)).

9.2.18 Gateway: Reading status and diagnostic information

61157

Substructure: processdatamaster

Available data points:

NameDescriptionAccess
../temperatureTemperature of the IO-Link master (value in °C)r
../voltagePresent voltage value of the supply voltage US (value in mV)r
../currentPresent current value of the sensor supply US (value in mA)r
../supervisionstatusStatus of the device supply USr

r ... read only

9.2.19 Gateway: Updating the firmware

59789

Substructure: firmware

Available data points:

NameDescriptionAccess
../versionSoftware versionr
../typeSoftware typer
../containerStructure for updating the firmwarew
../container/maxsizeMaximum size of the container structure (in bytes)r
../container/chunksizeSize of a data segment (in bytes)r
../container/sizeSize of the container content (in bytes)r

r = only read

w = write only

Applicable services:

NameDescription
../installInstall firmware transferred to the IO-Link master
../container/stream_setTransfer an individual data segment
../container/start_stream_setStart sequential transmission of several data segments

Example: Update firmware

52252

Task:

Update the firmware of the device; size of the firmware file: 356676 bytes

Solution:

The firmware is transferred to the device in fragments (chunks). The size of the fragments depends on the size of the flash memory of the IO-Link master. To transfer the firmware, the firmware file must be converted into a character string using BASE64.

1 Preparations

▶ Determine the size of the fragments (g = number of bytes):
{"code":"request", "cid": -1, "adr":"/firmware/container/chunksize/getdata"}
▶ Convert the firmware file into a BASE64 string.

2 Start the transfer of the firmware

▶ Start the transfer of the firmware via the service start_stream_set (parameter "size": size of the firmware file): {"code":"request", "cid": -1, "adr":"/firmware/container/start_stream_set", "data":{"size":356676}}

▶ Send the BASE64 string of the firmware file to the IO-Link master fragment by fragment (value = string value with length g).
{"code": "request", "cid": -1, "adr": "/firmware/container/stream_set", "cid": -1, "data": {"value": "aWZtfgIAAABBTDF4NXhfY25faXRfdDluMi43Nw..."}
▶ Repeat step 3 until all fragments of the firmware file have been sent to the IO-Link master.

IO-Link master stores the segments received in the container area.

4 Install firmware

▶ Start the installation of the transmitted firmware.
{"code": "request", "cid": -1, "adr": "/firmware/install", "data": {}

9.2.20 Gateway: Setting the application tag

59791

Substructure: devicetag

Available data points:

NameDescriptionAccess
../applicationtagName of the IO-Link master (application tag)rw

rw ... read and write

IFM AL1353 - Gateway: Setting the application tag - 1

For the storage of the applicationtag 32 bytes are available on the IO-Link master. If the memory area is exceeded during writing with setdata, the IoT core aborts the write process and returns the diagnostics code 400.

When writing the application tag, 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

a33823

Task: Set the name of the IO-Link master to AL1353 for the representation in the LR SMARTOBSERVER.

Solution: Change the parameter [Application Tag] with the setdata service to the value [AL1353].

The data point of the parameter [Application Tag] in the device description object is /devicetag/applicationtag.

- Request:
{
    "code": "request",
    "cid": 4711,
    "adr": "/devicetag/applicationtag/setdata",
    "data": {"newvalue": "AL1353"}
}
- Response:
{"cid": 4711, "code": 200} 

9.2.21 Subscribing to notifications

61159

If a data point has the sub-element data changed, the user can subscribe to notifications on value and condition changes. Notifications can be triggered by the expiration of a timer or an event. The IoT Core supports the output of notifications in CSV or JSON format.

Available data points:

NameDescriptionAccess
timer[x]/counterTimer for triggering a notificationrw
timer[x]/intervalCycle time of the update of the subscribed valuesrw
iolinkmaster/port[n]/porteventDisplay of the following events on IO-Link port n:IO-Link device connectedIO-Link device disconnectedOperating mode of the IO-Link port changedrw
iolinkmaster/port[n]/iolinkdevice/iolinkeventDisplay of IO-Link eventsrw

r ... read only

rw ... read and write

x = [1,2]

n = 1...8

Applicable services:

NameDescription
../datachanged/subscribeSubsrscibe to notification
../datachanged/unsubscribeUnsubscribe notification
../datachanged/getsubscriptioninfoShow information about notifications

Additionally, the user can use Service: getsubscriberlist ( S. 96) show all active subscriptions.

Example: Subscribing to notifications

61160

Task: The current values of the following parameters are to be sent regularly to a network server with IP address 192.168.0.4:

• cyclic input data of the IO-Link Devices an IO-Link port X02
- Operating temperature of the IO-Link master.

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

IFM AL1353 - Example: Subscribing to notifications - 1

The following options are additionally available:

• via WebSockets (ws://): Example: Subscribing notifications via WebSocket (→ S. 61)
• via MQTT (mqtt://): Example: Configuring the MQTT command channel ( S. 65)

- 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"] } 

In addition, the time interval of the timer[1] must be set to a value between 500 ms and 2147483647 ms.

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

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

- Notification (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"}}}
    }
} 

Example: Changing a subscription

61161

Task: The existing subscription (Example: Subscribing to notifications ( S. 58)) is to be changed. 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"]
    }
} 

Example: Subscribing to notifications in CSV format

61162

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 X02
- 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 AL1353 - Solution: - 1

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

- Request:
{
    "cid": 1,
    "adr": "/timer[1]/counter/datachanged/subscribe",
    "code": "request",
    "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

Example: Unsubscribing from notifications

61163

Task: The existing subscription (Example: Subscribing to notifications (→ S. 58)) 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.

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

Example: Checking subscriptions

61164

Task: Information about the existing subscription (Example: Subscribing to notifications (→ S. 58) Show Example: Subscribing to notifications (→ S. 58)).

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:
{
    "cid." 4711,
    "data": {
    "callback": "http://192.168.0.4:80/temp",
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/productname",
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/temperature"]},
    "code": 200
} 

9.2.22 Using Web Socket

61165

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

WebSockets can be used for the following services:

- subscribe / unsubscribe

IFM AL1353 - Using Web Socket - 1

Maximum number of WebSocket connections: 8

Fail-safe WebSocket connections (wss://) are not supported.

To transmit notifications via a WebSockets connection:

▶ Establish the WebSocket connection (e.g. "ws://192.168.0.55:80/websocket")
- Option 1: without parameter "callback"
▶ make subscribe/unsubscribe request without parameter "callback".

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

Example: Subscribing notifications via WebSocket

61166

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

  • Product name of the IO-Link Devices an IO-Link port X02
    • cyclic input data of the IO-Link Devices an IO-Link port X02
  • 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.2.23 MQTT support

61168

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

Configuring the MQTT command channel

61169

To enable MQTT communication, the user needs to activate and configure an MQTT command channel.

Substructure: connections/mqttConnection

NameDescriptionAccess
../typeType of the connection (MQTT)r
../statusGlobal MQTT statusr
../status/presetPresetting of the MQTT status; Basic settings: runningr
../MQTTSetupSubstructure for general MQTT settingsw
../MQTTSetup/QoSQuality of Service of the MQTT communication▪ 0: QoS Level 0 - PUBLISH (without confirmation)▪ 1: QoS Level 1 - PUBLISH > PUBREC (one-time confirmation)▪ 2: QoS Level 2 - PUBLISH > PUBREC > PUBREL > PUBCOMP (double confirmation)rw
../MQTTSetup/versionMQTT versionr
../mqttCmdChannelSubstructure of the MQTT command channelw
../mqttCmdChannel/typeType of the MQTT command channelr
../mqttCmdChannel/statusStatus of the MQTT command channelr
../mqttCmdChannel/status/presetPresetting of the MQTT status; Basic setting: stoppedr
../mqttCmdChannel/mqttCmdChannelSetupStructure for settings of the command channelw
../mqttCmdChannel/mqttCmdChannelSetup/brokerIPIP address of the MQTT brokerrw
../mqttCmdChannel/mqttCmdChannelSetup/brokerPortPort number of the MQTT brokerrw
../mqttCmdChannel/mqttCmdChannelSetup/cmdTopicDesignation of the MQTT topicrw
../mqttCmdChannel/mqttCmdChannelSetup/defaultReplyTopicStandard response topicrw

Applicable services:

NameDescription
../status/startEnable MQTT
../status/stopDeactivate MQTT
../status/resetReset MQTT
../mqttCmdChannel/status/startActivate MQTT command channel
../mqttCmdChannel/status/stopDeactivate MQTT command channel
../mqttCmdChannel/status/resetReset MQTT command channel

IFM AL1353 - Configuring the MQTT command channel - 1

Notes on the states of an MQTT connection: Note: Connection states (→ S. 64)

To create an MQTT connection, perform the following steps in sequence:

IFM AL1353 - Configuring the MQTT command channel - 2

Ensure that the MQTT broker can be reached and that the selected port of the MQTT broker is enabled for data transmission.

Max. number of simultaneous MQTT connections: 10

Wildcards "+" and "#" in topics are not supported.

▶ Activate MQTT command channel.
▶ Set the IP address of the MQTT.
▶ Set the port number of the MQTT broker.
▶ Set topic.
▶ Set standard response topic.

The command channel is created with the selected properties.
The user can publish on the topic with the IoT Core.
MQTT clients can subscribe to the topic.

Note: Connection states

61170

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

IFM AL1353 - Note: Connection states - 1

flowchart
graph TD
    A["init"] -->|start / reset| B["running"]
    B -->|stop| C["stopped"]
    C -->|stop / reset| A
    A -->|start / reset| D["error"]
    D -->|stop| C
    B -->|stop| D
    C -->|stop| D
    A -->|reset| B
    B -->|stop| C
    C -->|stop| D

After the initialisation in the "init" state has been completed, the connection automatically changes to the "running" state.

The connection automatically switches to the "error" state if at least one of the following events occurs:

• no MQTT broker available

Example: Configuring the MQTT command channel

61171

Task: Configuring and activating the MQTT command channel (IP address MQTT broker: 192.168.82.100, port: 1883, topic: abc).

Solution:

▶ Check whether MQTT broker can be reached and the port has been released.
▶ Activate command channel
- Request:
▶ Set the IP address of the MQTT broker/server.
- Request:
▶ Set the port number of the MQTT broker/server.
- Request:
▶ Set topic.
- Request:
▶ Set standard response topic.
- Request:
▶ Set the QoS.
- Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "/connections/mqttConnection/MQTTSetup/mqttCmdChannel/status/start"
} 
{
    "code": "request",
    "cid": 4712,
    "adr": "/connections/mqttConnection/mqttCmdChannel/mqttCmdChannelSetup/brokerIP/set data"
    "data": {"192.168.82.100"}
} 
{
    "code": "request",
    "cid": 4713,
    "adr": "/connections/mqttConnection/mqttCmdChannel/mqttCmdChannelSetup/brokerPort/setdata"
    "data": {"1883"}
} 
{
    "code": "request",
    "cid": 4714,
    "adr": "/connections/mqttConnection/mqttCmdChannel/mqttCmdChannelSetup/cmdTopic/set data"
    "data": {"abc"}
} 
{
    "code": "request",
    "cid": 4715,
    "adr": "/connections/mqttConnection/mqttCmdChannel/mqttCmdChannelSetup/defaultReplyTopic/setdata"
    "data": {"xyz"}
} 
{
    "code": "request",
    "cid": 4716,
    "adr": "/connections/mqttConnection/MQTTSetup/QoS/setdata",
    "data": {"QoS2"}
} 

Example: Publish the temperature to an MQTT broker

54687

Task: Publish the temperature of the IO-Link master to an MQTT broker (IP address MQTT broker: 192.168.82.100, port: 1883, topic: abc

Solution:

- Request:
{
    "code": "request",
    "cid": -1,
    "adr": "/timer[1]/counter/datachanged/subscribe",
    "data": {
    "callback": "mqtt://192.168.82.100:1883/abc",
    "datatosend": ["processdatamaster/temperature"]
    }
}
- Response:
{
    "cid": -1,
    "code": 200
} 

9.2.24 Using the IoT-Core Visualizer

Content

Managing notifications....68

Searching for elements in the device tree 70

Configuring IO-Link the master 71

Reading and writing process data 72

Updating the firmware ....73

61173

The ifm-IoT Core Visualizer of the IO-Link master provides a graphical user interface for accessing functions of the ifm-IoT Core.

To start the IoT Core Visualizer:

▶ Start web browser.
▶ Call the following address: http://ipaddress/web/subscribe

Browser shows IoT Core Visualizer:

ifmIoTCore Visualizer + ← → ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↻ ↵ 192.168.178.121/web/subscribe 00-02-01-05-50-8b - online Notification | Elements | Parameter | Processdata | Update | Search Consumer ID Channel Broker/Server Event

The navigation menu gives the user access to the following functions:

  • [Notification]: Creating and managing notifications (subscribe / unsubscribe)
  • [Elements]: Searching for elements in device description
    • [Parameter]: Configuring IO-Link master
  • [Processdata]: Reading and writing process data
  • [Update]: Updating the firmware of the IO-Link master

Managing notifications

61174

The menu page allows you to perform the following functions

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

Requirements:

  • lot-Core Visualizer has been started.
    ▶ Click on [Notification].

    The menu page for managing notifications appears.
    The menu page shows all registered notifications in a table

Creating a new notification

61175

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 the creation of notifications appears.

00-02-01 05-50 8b online Notification | Elements | Parameter | Processdata | Update | Add Subscription 1 Events 2 Data 3 Transfer Info Event Please choose one event, you want to subscribe to. Search for the Identifier of data element to subscribe to its ( counter 00-02-01-05-50-8b/timer[1]/counter/datachanged counter 00-02-01-05-50-8b/timer[2]/counter/datachanged preset 00-02-01-05-50-8b/connections/mqttconnection/status/preset/datachanged status 00-02-01-05-50-8b/connections/mqttconnection/status/datachanged qos 00-02-01-05-50-8b/connections/mqttconnection/mqttsetup/qos/datachanged preset 00-02-01-05-50-8b/connections/mqttconnection/mqttcmdchannel/status/preset/datachanged CANCEL NEXT >

▶ Use the wizard to enter the required notification parameters step by step.

Created notification subscription is displayed in the table.

IFM AL1353 - Creating a new notification - 2

For cyclical notifications via timer[1] or timer[2], the user also needs to set the interval time of the timer in question.

Deleting a notification

61176

Requirements:

  • The [Notification] menu page is open.
  • At least one notification is active.
    ▶ Click on [x] in the column [Unsubscribe].

    The selected notification will be deleted (unsubscribe).

Searching for elements in the device tree

61177

The [Elements] menu page allows you to search the device description for elements with specific properties (status, profile, name) and to output the results.

Requirements:

  • lot-Core Visualizer has been started.
    ▶ Click on [Elements].

    The input mask appears.

00 02 01 05 50-8b - online Notification | Elements | Parameter | Processdata | Update | Search for ... identifier one identifier to search for profile profile(s) to search for: Seperator ; type one type to search for Processdatamaster Deviceinfo Timer[1] Timer[2] lotsetup Fieldbussetup Connections Iolinkmaster Firmware Devicetag 00-02-01-05-50-8 b getidentity 00-02-01-05-50-8b/getidentity type: service profiles: undefined Copy URL gettree 00-02-01-05-50-8b/gettree type: service profiles: undefined Copy URL querytree 00-02-01-05-50-8b/querytree type: service profiles: undefined Copy URL

▶ Enter the search criteria of the required item in the [identifier], [profile] and [type] boxes.
▶ Click on [Search for ...].

IoT-Core Visualizer searches device description for elements with selected search criteria.
The result list shows all elements found.

61178

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

Available options:

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

Requirements:

  • lot-Core Visualizer has been started.
    ▶ Click on [Parameter].

    The menu page shows the available parameters of the IO-Link master.
    Current parameter values are displayed.
    Editable parameters can be changed.

00-02-01-05-50-8b - online Notification | Elements | Parameter | Processdata | Update | Deviceinfo Timer[1] Timer[2] lotsetup Network Fieldbussetup Connections Iolinkmaster Firmware Devicetag lotsetup accessrights lot only Type: enum Namespace: json Encoding: integer Valuation: valuelist: 0: 1: 3: network smobip 192.168.82.2 Type: string Namespace: json Encoding: utf-8 Valuation: minlength:

To change a parameter:

▶ Navigate to the desired parameter in the device description.
▶ Changing the parameter value
▶ Click on the pencil icon to save the change on the IO-Link master.

The changed parameter value is active.
▶ Optional: Repeat the procedure to change further parameter values.

Reading and writing process data

61179

The menu page allows the process data of the IO-Link master and the connected IO-Link devices to be read and written.

Requirements:

  • lot-Core Visualizer has been started.
    ▶ Click on [Processdata].

    Menu page shows the substructures of the device description that contain process data and events.
    The current process values are displayed.
    Editable process data can be changed.

00-02-01-05-50-8b - online Notification | Elements | Parameter | Processdata | Update | Processdatamaster Timer[1] Timer[2] Fieldbussetup Iolinkmaster Port[1] Port[2] Port[3] Port[4] Iolinkmaster port[1] portevent FF0200 Type: string Namespace: json Encoding: hexstring Iolinkdevice vendorid 310 Type: number Namespace: json Encoding: Integer Valuation: min: 0 max: 65535

To change the value of a process date:

▶ Navigate to the required process date in the device description.
▶ Change the process value.
▶ Click on the pencil icon to save the change on the IO-Link master.

The changed process value is active.
▶ Optional: Repeat the procedure to change further process values.

Updating the firmware

61180

The [Update] menu page allows you to update the firmware of the IO-Link master:

Requirements:

  • lot-Core Visualizer has been started.
    ▶ Click on [Update].

    Menu page displays information about the current firmware version.

00-02-01-05-50-8b - online Notification Elements Parameter Processdata Update Firmware 00-02-01-05-50-8b/firmware Container Version: AL1x2x_cn_ei_v3.1.44 Max size: 4194304 Type: firmware Chunk size: 4096 Load software file choose software package Size: 0 Update

▶ Click on [Load software file] and select a new firmware file (*.bin).
▶ Click on [Update] to start the update process.

The firmware of the IO-Link master will be updated.
The area shows the progress bar.
If the update process has been successful, the IO-Link master will restart automatically.

10 Operation

Content

Using web-based management....74

34061

10.1 Using web-based management

61181

The device has an integrated web server The web server generates a website with the following data:

• Status information of the ports
- Access to product page of connected IO-Link devices (only ifm devices)
• Diagnostic information of the device
- Version information of the installed firmware components

To access the web interface of the IO-Link master:

▶ Connect the IO-Link master to the laptop / PC via the IoT port.
▶ Optional: Check the IP settings of the IoT interface.
▶ Start web browser.
In the address field of the web browser, enter the IP address of the IoT interface and confirm with [ENTER].

The web browser shows the website with the status and diagnostic information of the device.

11 Maintenance, repair and disposal

Content

Cleaning process....75

Updating the firmware 75

Replacing IO-Link device....75

51990

The operation of the unit is maintenance-free.

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

11.1 Cleaning process

51991

▶ Clean the surface of the unit when necessary.
▶ Do not use any caustic cleaning agents for this!
▶ In case of severe soiling, use a damp cloth.
▶ Do not use any caustic cleaning agents for this!

11.2 Updating the firmware

61183

The firmware of the IO-Link master can be updated via the IoT Core Visualizer→ Updating the firmware (→ S. 73).

34182

To replace an IO-Link device:

Requirement:

New IO-Link device is with factory settings.
New IO-Link device supports IO-Link standard 1.1 or higher.

1 Set data storage

▶ Set the following parameters of the IO-Link port
- Set Validation and Data Storage to [Type compatible V1.1 device with Restore] or [Type compatible V1.1 device with Backup + Restore]
■ Set correct values to [Vendor ID] and [Device ID] according to properties of the IO-Link device.
▶ Save changes.

▶ Disconnect old IO-Link device from IO-Link master.
▶ Connect new IO-Link device with the same IO-Link port of the AL1353.

IO-Link master copies parameter values from the data memory to the new IO-Link device.

12 Factory settings

33849

In the factory settings, the device has the following parameter settings:

ParameterFactory setting
[IP address] (IoT interface)169.254.X.X
[Subnet mask] (IoT interface)255.255.0.0
[IP gateway address] (IoT interface)0.0.0.0
[Host name]blank
Data storageempty

13 Accessories

List of accessories of AL1353: → www.ifm.com > Product page > Accessories

33870

14 Appendix

Content

Technical data....79

ifm IoT Core 83

33879

14.1 Technical data

Content

Application....79
Electrical data....79
Inputs / outputs....79
Inputs....80
Outputs 80
Interfaces 80
Operating conditions....81
Approvals / tests....81
Mechanical data 81
Electrical connection....82
34188

14.1.1 Application

33878

Application
ApplicationHygienic systems; I/O modules for field applications
Daisy-chain functionFieldbus interface

14.1.2 Electrical data

33808

Electrical data
Operating voltage [V]20...28 DC; (US; to SELV/PELV)
Current Consumption [mA]300...3900; (US)
Protection classIII
Sensor supply US
Max. current load total [A]3.6

14.1.3 Inputs / outputs

34068

Inputs / outputs
Total number of inputs and outputs16; (configurable)
Number of Inputs and OutputsNumber of digital inputs: 16; Number of digital outputs: 8

14.1.4 Inputs

34069

Inputs
Number of digital inputs16; (IO-Link Port Class A: 8 x 2)
Switching level high [V]11...28
Switching level low [V]0...5
Digital inputs protected against short circuitsyes

14.1.5 Outputs

34053

Outputs
Number of digital outputs8; (IO-Link Port Class A: 8 x 1)
Max. current load per output [mA]300
Short-circuit protectionyes

14.1.6 Interfaces

52260

Interfaces
Communication interfaceEthernet; IO-Link
Communication interfaceIO-Link; TCP/IP; TCP/IP JSON
Ethernet
Transmission standard10Base-T; 100Base-TX
Transmission rate [MBit/s]10; 100
ProtocolDCP, DHCP, Auto IP
Factory settingsIP address: 169.254.X.XSubnet mask: 255.255.0.0Gateway IP address: 0.0.0.0MAC address: see type label
IO-Link master
Type of transmissionCOM 1 / COM 2 / COM 3
IO-Link revisionV1.1
Number of ports class A8

14.1.7 Operating conditions

34062

Operating conditions
ApplicationsIndoor use
Ambient temperature [°C]-25...60
Storage temperature [°C]-25...85
Max. perm. relative air humidity [%]90
Max. height above sea level [m]2000
Protection ratingIP 65; IP 66; IP 67; IP 69K; (operation with stainless steel protective caps: IP 69K)
Pollution Degree2

14.1.8 Approvals / tests

33877

Approval / tests
EMCEN 61000-6-2EN 61000-6-4
MTTF [Years]90

14.1.9 Mechanical data

34050

Mechanical data
Weight [g]410,5
MaterialsHousing: PA grey; socket: 1.4404 (stainless steel / 316L)

14.1.10 Electrical connection
52261

Voltage supply IN X31
Plug and socket connectionM12
WiringIFM AL1353 - Mechanical data - 11: + 24 V DC (US)2: -3: GND (US)4: -
IoT port X21, X22
Plug and socket connectionM12
WiringIFM AL1353 - Mechanical data - 21: TX+2: RX+3: TX-4: RX-5: -
Process connection IO-Link ports class A X01...X08
Plug and socket connectionM12
WiringIFM AL1353 - Mechanical data - 31: Sensor supply (US) L+2: DI3: Sensor supply (US) L-4: C/Q IO-Link5: -

14.2 ifm IoT Core

Content

Overview: IoT profile....84

Overview: IoT types....91

Overview: IoT services 92

33803

14.2.1 Overview: IoT profile

Content

Profile: blob....84

Profile: deviceinfo 85

Profile: devicetag 85

Profile: iolinkdevice_full 86

Profile: iolinkmaster 86

Profile:mqttCmdChannel 87

Profile:mqttCmdChannelSetup....87

Profile:mqttConnection....87

Profile: mqttSetup....88

Profile: network....88

Profile: parameter 89

Profile: processdata....89

Profile: runcontrol 89

Profile: service 89

Profile: software....89

Profile: software/uploadedablesoftware 90

Profile: Timer 90

34054

Profile: blob

52264

Element (identifier)PropertiesMandatoryComment
blobname▪ type = data▪ profiles = bloblabels element as device information
../sizetype = datamandatory
../chunksizetype = datamandatory
../setblobdatatype = serviceoptional
../getblobdatatype = serviceoptional
../start_stream_settype = serviceoptional
../stream_settype = serviceoptional
../cleartype = serviceoptional
../getcrctype = serviceoptional
../getmd5type = serviceoptional
../getdatatype = serviceoptional
../setdatatype = serviceoptional

Profile: deviceinfo
34207

Element (identifier)PropertiesmandatoryComments
deviceinfo▪ type = structure▪ profile = deviceinfocharacterises the element as device information
../devicenametype = dataoptional
../devicefamiliytype = dataoptional
../devicevarianttype = dataoptional
../devicesymboltype = dataoptional
../deviceicontype = dataoptional
../serialnumbertype = datamandatory
../productidtype = dataoptional
../productnametype = dataoptional
../productcodetype = datamandatory
../producttexttype = dataoptional
../ordernumbertype = dataoptional
../productiondatetype = dataoptional
../productioncodetype = dataoptional
../hwrevisiontype = datamandatory
../swrevisiontype = datamandatory
../bootloaderrevisiontype = dataoptional
../vendortype = dataoptional
../vendortexttype = dataoptional
../vendorurltype = dataoptional
../vendorlogotype = dataoptional
../productwebsitetype = dataoptional
../supportcontacttype = dataoptional
../icontype = dataoptional
../imagetype = dataoptional
../standardstype = dataoptional

Profile: devicetag
34206

Element (identifier)PropertiesmandatoryComments
devicetag▪ type = structure▪ profile = devicetag
../applicationtagtype = datamandatory
../applicationgrouptype = dataoptional
../machinecodetype = dataoptional
../tenanttype = dataoptional

Profile: iolinkdevice_full
52265

Element (identifier)CharacteristicsMandatoryComments
iolinkdevice▪ type = structure▪ profile = iolinkdevice_fullStructure of an IO-Link device
../vendoridtype = datamandatory
../deviceidtype = datamandatory
../productnametype = datamandatory
../serialtype = datamandatory
../applicationspecifictagtype = datamandatory
../pdintype = datamandatory
../pdouttype = datamandatory
../statustype = datamandatory
../iolreadacyclictype = datamandatory
../iolwriteacyclictype = datamandatory
../iolinkeventtype = datamandatory

Profile: iolinkmaster
34205

Element (identifier)PropertiesMandatoryComments
masterporttype = structureprofile = iolinkmasterExecutable service
../modetype = dataprofile = parametermandatory
../comspeedtype = dataprofile = parametermandatory
../mastercycletime_actualtype = dataprofile = parametermandatory
../mastercycletime_presettype = dataprofile = parametermandatory
../validation_datastorage_modetype = dataprofile = parametermandatory
../validation_vendoridtype = dataprofile = parametermandatory
../validation_deviceidtype = dataprofile = parametermandatory
../additionalpins_intype = dataprofile = processdataoptional
../additionalpins_outtype = dataprofile = processdataoptional
../porteventtype = datamandatory
../iolinkdevicetype = structureprofile = iolinkdevice_fullmandatory

Profile: mqttCmdChannel
61186

Element (identifier)PropertiesMandatoryComment
mqttCmdChannel▪ type = structure▪ profile = commChannelProfile of the MQTT command channel
../type▪ type = data▪ data type = STRINGmandatoryProtocol type of the interface
../status▪ type = data▪ data type = STRINGmandatoryStatus of the MQTT command channel(possible values: init, running, stopped, error)
../mqttCmdChannelSetuptype = profileSub-profile: Profile: mqttCmdChannelSetup(→ S. 87)

Profile: mqttCmdChannelSetup
61187

Element (identifier)PropertiesMandatoryComment
mqttCmdChannelSetuptype = structureprofile =mqttCmdChannelSetupSettings of the MQTT command channel
../brokerIPtype = datatdata type = STRINGoptional
../brokerPorttype = datadata type = STRINGoptional
../cmdTopictype = datadata type = STRINGoptional
../defaultReplyTopictype = datadata type = STRINGoptional

Profile: mqttConnection
61188

Element (identifier)PropertiesMandatoryComment
mqttConnectiontype = structureprofile =commInterfaceMQTT connection in the IoT Core
../typetype = datadata type = STRINGmandatoryProtocol type of the interface
../statustype = datadata type = STRINGmandatoryglobal status of the MQTT (possible values: init, running, stopped, error)
../mqttSetuptype = profileSub-profile:Profile: mqttSetup(→ S. 88)
../mqttCmdChanneltype = profileSub-profile:Profile: mqttCmdChannel(→ S. 87)

Profile: mqttSetup
61189

Element (identifier)PropertiesMandatoryComment
mqttSetup▪ type = structure▪ profile = mqttSetupSettings of the MQTT command channel
../QoS▪ type = data▪ data type = NumbermandatoryQuality of Service of the MQTT connection
../version▪ type = data▪ data type = STRINGmandatory

Profile: network
52266

Element (identifier)CharacteristicsMandatoryComments
networktype = structureprofiles = deviceinfoCharacterises the element as device information
../macaddresstype = dataprofile = parametermandatory
../ipaddresstype = dataprofile = parameteroptional
../ipv6addresstype = dataprofile = parametermandatory
../subnetmasktype = dataprofile = parametermandatory
../ipdefaultgatewaytype = dataprofile = parametermandatory
../dhcptype = dataprofile = parameteroptional
../ipversiontype = dataprofile = parameteroptional
../hostnametype = dataprofile = parameteroptional
../autonegotiationtype = dataprofile = parameteroptional
../portspeedtype = dataprofile = parameteroptional
../enablenetworktype = serviceoptional
../disablenetworktype = serviceoptional

Profile: parameter

34215

The profile is used to mark the elements of type data as parameters (acyclic data). The profile defines no substructure.

Profile: processdata

34225

The profile is used to mark the elements of type data as process data (cyclic data). The profile does not define a substructure.

Profile: runcontrol

61190

Element (identifier)PropertiesMandatoryComment
runcontrol▪ type = profile▪ profile = runcontrolControl of the MQTT command channel
../starttype = servicemandatoryService: start (→ S. 103)
../stoptype = servicemandatoryService: stop (→ S. 103)
../resettype = servicemandatoryService: Reset (→ S. 100)

Profile: service

34224

Element (identifier)PropertiesmandatoryComments
service▪ type = service▪ profile = serviceExecutable service

Profile: software

34223

Element (identifier)PropertiesmandatoryComments
software▪ type = structure▪ profile = softwarecharacterises the element as software
../versiontype = datamandatory
../typetype = datamandatory
../statustype = structureoptional
../diagtype = structureoptional

Profile: software/uploadedablesoftware
52267

Element (identifier)CharacteristicsMandatoryComments
softwaretype = structureprofiles = software/uploadablesoftwareSoftware that can be loaded to the device via the IoT Core
../lastinstalltype = dataoptional
../installhistorytype = dataoptional
../containertype = dataprofile = blobmandatory
../preinstalltype = serviceoptional
../installtype = servicemandatory
../postinstalltype = serviceoptional
../abortinstalltype = serviceoptional
../installstatustype = dataoptional

Profile: Timer
34226

Element (identifier)PropertiesMandatoryComment
timer▪ type = structure▪ profile = timer
../counter▪ type = data▪ profile = parametermandatory
../interval▪ type = data▪ profile = parameteroptional
../starttype = serviceoptional
../stoptype = serviceoptional

14.2.2 Overview: IoT types

The ifm IoT Core uses the following element types:

34055

NameDescription
structureElement is a structure element (like a folder in a file system)
serviceElement is a service that can be addressed from the network
eventElement is an event that can be started by the firmware and sends messages.
dataElement is a data point
deviceRoot element a device represents

14.2.3 Overview: IoT services

Content

Service: factoryreset....92
Service: getblobdata....93
Service:getdata....93
Service: getdatamulti 94
Service: getelementinfo 94
Servicet: getidentity 95
Service: getsubscriberlist....96
Service: getsubscriptioninfo....97
Service: gettree 98
Service: install 99
Service: iolreadacyclic....99
Service: iolwriteacyclic....99
Service: querytree 100
Service: reboot 100
Service: Reset 100
Service: setblock 101
Service: setdata....102
Service: signal 102
Service: start....103
Service: start_stream_set....103
Service: stop....103
Service: stream_set....104
Service: subscribe 104
Service: unsubscribe 105
Service: validation_useconnecteddevice 105
34056

Service: factoryreset

34184

Name: factoryreset

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

Request data (field "data"): none

Response data (field "data"): none

Example:

{
    "code": "request",
    "cid": 4711,
    "adr": "/firmware/factoryreset"
} 

Service: getblobdata

52345

Name: getblobdata

Description: The service reads a binary large object (blob).

Applicable to: datastorage

Request data (field "data"):

Data fieldRequired fieldData typeDefaultDescription
posmandatorynumber0Byte position
lengthmandatorynumber-Size of the object (number of bytes)

Return data (field "data"):

Data fieldRequired fieldData typeDefaultDescription
datamandatorySTRING0Data to be decoded (BASE64 coded)
crcoptionalHEX STRINGCRC of the data after decoding
md5optionalHEX STRINGMD5 checksum of the data after decoding

Service: getdata

34183

Name: getdata

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

Request data (field "data"): none

Return data (field "data"):

Data fieldRequired fieldData typeDescription
valuemandatorySTRINGValue of the element/data point

Example:

{
    "code": "request",
    "cid": 4711,
    "adr": "devicetag/applicationtag/getdata"
} 

Service: getdatamulti

34174

Name: getdatamulti

Description: The service sequentially reads the values of several data points and provides them. The value and the diagnostic code are provided for each data point.

Request data (field "data"):

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

Response data (field "data"): for each requested data point

Data fieldRequired fieldData typeDescription
urlmandatorySTRINGData point request
codemandatoryINTDiagnostic code of the request
datamandatorySTRINGValue of the data point

Service: getelementinfo

52269

Name: getelementinfo

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

Applicable to: Objects of the type device

Request data (field "data"):

Data fieldRequired fieldData typeDefaultDescription
adrmandatorySTRINGURL of the element, which properties to be changed

Return data (field "data"):

Data fieldRequired fieldData typeDefaultDescription
identifiermandatorySTRINGIdentifier of the element
typemandatorySTRINGType of the element
formatoptionalJSON objectblankFormat of the data or the service content
uidoptionalSTRINGblank
profilesoptionalJSON arrayblank
hashoptionalSTRING--

Servicet: getidentity

54690

Name: getidentity

Description: The service reads the device information of the AL1353 and issues it.

Request data ("data" field): none

Return data ("data" field):

Data fieldRequired fieldData typeDescription
iotDeviceDevice description as JSON object
iot.namemandatorySTRING
iot.uidoptionalSTRING
iot.versionmandatorySTRING
iot.catalogueoptionalARRAY OF OBJECTS
iot.deviceclassoptionalARRAY OF STRING
iot.serverlistoptionalARRAY OF OBJECTS
deviceoptionalAL1353
device.serialnumberoptionalSerial number
device.hwrevisionoptionalHardware version
device.swrevisionoptionalSoftware version
device.customoptional
SecurityoptionalSecurity options
security.securitymodeoptionalENUMshows if the security mode is activated
security.authschemeoptionalENUMshows the active authentication scheme
security.ispasswordsetoptionalBOOLshows whether a password has been set
security.activeconnectionoptionalENUMshows the currently used communication interface
· tcp_ifunencrypted http connection at the IoT interface, port 80
· tls_ifencrypted https connection at the IoT interface, port 443
· fb_ifunencrypted http connection at the fieldbus interface, port 80

Service: getsubscriberlist

61191

Name: getsubscriberlist

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

Request data ("data" field): none

Return data ("data" field): Array with the following data

Data fieldMandatory fieldData typeDescription
adrmandatorySTRINGData source
datatosendmandatoryARRAY OF STRINGSList with URLs of the subscribed data points
cidmandatoryNUMBERID of the subscription
callbackurlmandatorySTRINGAddress to which IoT Core event notifications are to be sent;
durationmandatorySTRINGStorage duration of the value

Example:

- Request object:

{
    "code": "request",
    "cid": 4711,
    "adr": "/getsubscriberlist"
} 

- Return object:

{
    "cid":4711,
    "data":[
    {
    "adr":"/timer[1]/counter/datachanged/subscribe",
    "datatosend":["/iolinkmaster/port[2]/iolinkdevice/pdin"],
    "cid":1,
    "callbackurl":"http://192.168.0.45:80/temp",
    "duration":"lifetime"},
    {
    "adr":"/timer[1]/counter/datachanged/subscribe",
    "datatosend":["/processdatamaster/temperature","/processdatamaster/voltage"],
    "cid":2,
    "callbackurl":"http://192.168.0.44:80/temp",
    "duration":"lifetime"}
    ]
    "code":200
    } 

Service: getsubscriptioninfo

61192

Name: getsubscriptioninfo

Description: The service provides information about an existing subscription (subscribe).

IFM AL1353 - Service: getsubscriptioninfo - 1

The following parameters of the existing subscription are to be used for the query:

• Value of the identifier cid (e.g. 4711)
• Number of the timer (e.g. timer[1])
• Name of the callback topic (e.g. B. temp)

Request data ("data" field):

Data fieldMandatory fieldData typeDescription
callbackmandatorySTRINGAddress to which IoT Core event notifications are to be sent; complete URL: http://ipaddress:port/path

Return data ("data" field):

Data fieldMandatory fieldData typeDescription
subscriptionmandatoryBOOLStatus of the transferred subscription parameter
datatosendmandatoryARRAY OF STRINGSList with subscribed data points
cidmandatoryNUMBERID of the subscribe request
callbackurlmandatorySTRINGAddress to which IoT Core event notifications are to be sent; complete URL: http://ipaddress:port/path

Example:

- Request object:

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

- Return object:

{
    "cid": 4711,
    "data": {
    "subscription": true,
    "datatosend": [
    "/iolinkmaster/port[2]/iolinkdevice/productname",
    "/iolinkmaster/port[2]/iolinkdevice/pdin",
    "/processdatamaster/temperature"],
    "callbackurl":"http://192.168.0.44:80/temp",
    "duration":"lifetime"},
    "code":200
    }
} 

Service: gettree

61193

Name: gettree

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

Request data ("data" field):

Data fieldMandatory 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

Return data ("data" field):

Data fieldMandatory fieldData typeDescription
identifiermandatorySTRINGIdentifier of the root element
typemandatorySTRINGType of the element
formatoptionalJSON ObjectFormat of the data content
uidoptionalSTRING
profilesoptionalJSON-Array
subsmandatoryJSON-ArraySub-elements
hashoptionalSTRING

Examples:

  • output the complete device description
  • output the subtree counter[2] of the device description up to the 2nd level
{
    "code": "request",
    "cid": 4,
    "adr": "/gettree"
} 
{
    "code": "request",
    "cid": 4,
    "adr": "/gettree"
    "data": {
    "adr": "counter[2]",
    "level": 2
} 

Service: install

52343

Name: install

Description: The service installs the firmware stored in the container area of the device.

Applicable to: container

Request data (data): none

Return data (data): none

Service: iolreadacyclic

34178

Name: iolreadacyclic

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

Request data (field "data"):

Data fieldRequired fieldData typeDescription
indexmandatoryNUMBERIO-Link index of the parameter
subindexmandatoryNUMBERIO-Link subindex of the parameter

Response data (field "data"):

Data fieldRequired fieldData typeDescription
valuemandatorySTRINGValue of the parameter; Value in hexadecimal format

Service: iolwriteacyclic

34177

Name: iolwriteacyclic

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

Request data (field "data"):

Data fieldRequired fieldData typeDescription
indexmandatoryNUMBERIO-Link index of the parameter
subindexmandatoryNUMBERIO-Link subindex of the parameter
valuemandatorySTRINGNew value of the parameter; Value in hexadecimal format

Response data (field "data"): none

Service: querytree

61194

Name: querytree

Description: The service searches a device tree for the criteria profile, type and name 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 machine.

Return data ("data" field):

Data fieldMandatory fieldData typeDescription
profileoptionalSTRINGProfile of the searched element
typeoptionalSTRINGType of the searched element
nameoptionalSTRINGType of the searched element

Return ("data" field):

Data fieldMandatory fieldData typeDescription
urlListmandatoryArrayArray with URLs of the found elements; URLs are separated by commas

Service: reboot

34176

Name: reboot

Description: The service reboots the device.

Request data (field "data"): none

Return data (field "data"): none

Example:

{
    "code": "request",
    "cid": 4,
    "adr": "firmware/reboot"
} 

Service: Reset

61195

Name: Reset

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

Request data ("data" field): none

Return data ("data" field): none

Example:

{
    "code": "request",
    "cid": 4711,
    "adr": "/connections/mqttConnection/MQTTSetup/mqttCmdChannel/status/reset"
} 

Service: setblock

34186

Name: setblock

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

Request data (field "data"):

Data fieldRequired fieldData typeDescription
datatosetmandatoryARRAY OF OBJECTSList of data points and their new values; data points must support the service setdata
consistentoptionalBOOL

Response data (field "data"): none

Example:

Request:

{
    "code": "request",
    "cid": 4711,
    "adr": "iotsetup/network/setblock",
    "data": {
    "datatoset": {
    "ipaddress": "192.168.0.6",
    "subnetmask": "255.255.255.0",
    "ipdefaultgateway": "192.168.0.250",
    "dhcp": 0
    }
    }
}
Response:
{
    "cid": 4711,
    "code": 233
} 

Service: setdata

34195

Name: setdata

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

Request data ("data" field):

Data fieldMandatory fieldData typeDescription
newvaluemandatorySTRINGNew value of the element/data point
durationmandatorySTRINGDuration 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

Return data ("data" field): none

Example:

{"code": "request",
"cid":4711,
"adr": "devicetag/applicationtag/setdata",
"data": {
"newvalue": "ifm IO-Link master
"duration": "lifetime"}
} 

Service: signal

33819

Name: signal

Description: The service starts the flashing of the status LEDs of the AL1353.

Request data (field "data"): none

Return data (field "data"): none

Example:

{
    "code": "request",
    "cid": 4711,
    "adr": "firmware/signal"
} 

Service: start

61196

Name: start

Description: The service starts a connection.

Request data ("data" field): none

Return data ("data" field): none

Example:

{
    "code": "request",
    "cid": 4711,
    "adr": "/connections/mqttConnection/MQTTSetup/mqttCmdChannel/status/start"
} 

Service: start\_stream\_set

52342

Name: start_stream_set

Description: The service starts the sequential transfer of multiple data segments.

Applicable to: Objects of type data

Request data (data):

Data fieldRequired fieldData typeDefaultDescription
sizemandatorySTRINGTotal size of data to be transferred (number of bytes)

Return data (data): none

Service: stop

61197

Name: stop

Description: The servicestops a connection.

Request data ("data" field): none

Return data ("data" field): none

Example:

{
    "code": "request",
    "cid": 4711,
    "adr": "/connections/mqttConnection/MQTTSetup/mqttCmdChannel/status/stop"
} 

Service: stream\_set

52341

Name: stream_set

Description: The service transfers a data segment.

Applicable to: Objects of type data

Request data (data):

Data fieldRequired fieldData typeDefaultDescription
valuemandatoryBIN (BASE64)*Segment of binary data (BASE64 coded)

Return data (data): none

Service: subscribe

61198

Name: subscribe

Description: The service subscribes to the values of data points. The data points to be subscribed are transferred as a list. The IoT Core sends changes to the data sink defined in callback.

IFM AL1353 - Service: subscribe - 1

CSV formatted notifications can only be transmitted using the TCP protocol via an activated and configured MQTT channel.

Request data ("data" field):

Data fieldMandatory fieldData typeDescription
callbackmandatorySTRINGAddress to which IoT Core event notifications are to be sent; URL format:JSON: http://ipaddress:port/pathJSON: ws://pathJSON: mqtt://ipadress:port/topicCSV: tcp://ipaddress:port/path
datatosendmandatoryARRAY OF STRINGSList from URLs of data elements; Elements must support getdata
codecoptionalSTRINGFormat of the returned datajson: JSON formattedcsv: CSV with standard separator (,)csv0: CSV formatted with comma separator (,)csv1: CSV formatted with semicolon separator (;)
DURATIONmandatorySTRINGDuration 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 deviceonce: send only one notification, user must unsubscribe immediately

Return data ("data" field): none

Notification: JSON

{
    "code": "event",
    "cid": 4711,
    "adr": "",
    "data": { 
"eventno":"EventNo",
"srcurl":"SrcURL",
"payload":{
"eventurl":{"code":EventStatus,"data":EventData},
"datapointurl_1":{"code":DataStatus_1,"data":DataValue_1},
"datapointurl_2":{"code":DataStatus_2,"data":DataValue_2},
...}}
} 

Notification: CSV

SrcURL, EventNo, EventStatus, EventData, DataStatus_1, DataValue_1, DataStatus_2, DataValue_2, ...

  • SrcURL: Source of the event (data point on which subscribe command was listed)
    • EventNo: Event number
    • EventStatus: Status code of the event
  • EventData: Event data
  • DataStatus_1: Status code of the 1st element in list datatosend
  • DataValue_1: Value of the 1st element in list datatosend
  • DataStatus_2: Status code of the 2nd element in list datatosend
  • DataValue_2: Value of the 2nd element in list datatosend
    ...

Service: unsubscribe

34197

Name: unsubscribe

Description: The service deletes an existing subscription. The service unsubscribe is successful if cid and the callback address are registered for an active subscription (subscribe). If the STRING "DELETE" is provided in callback, the IO-Link master deletes all active subscriptions.

Request data (field "data"):

Data fieldRequired fieldData typeDescription
callbackmandatorySTRINGAddress to which IoT Core event notifications are to be sent; complete URL: http://ipaddress:port/path

Response data (field "data"): none

Service: validation\_useconnecteddevice

52340

Name: validation_connecteddevice

Description: The service checks, whether Device ID and Vendor ID of the connected IO-Link device match with the values of the datapoints ../validation_vendorid and ../validation_deviceid.

Applicable to: Objects of type structure

Request data (data): none

Return data (data): none

15 Index

A

Access the ifm IoT Core 36

Accessories ....77

Appendix....78

Application 79

Approvals / tests 81

C

Change history....6

Cleaning process....75

Communication, parameter setting, evaluation....11

Configuration 23

Configure IO-Link devices 32

Configuring IO-Link the master 71

Configuring the MQTT command channel 63

Connecting IO-Link devices for Class A operation....16

Connecting the device....17

Connecting the IoT ports ....15

Creating a new notification....68

D

Deleting a notification....69

Digital inputs 12

E

Electrical connection....14, 82

Electrical data 79

Example

Activate security mode 45

Browsing device description....41

Change name of the IO-Link master....57

Change the parameter value of an IO-Link device....53

Changing a subscription....59

Checking subscriptions....61

Clone the Data Storage of an IO-Link port....48

Configuring the MQTT command channel....65

GET request....36

output subtree 40

POST request....38

Publish the temperature to an MQTT broker 66

Read IO-Link process data (operating mode 49

Read several parameter values of the IO-Link master simultaneously .....41

Read the parameter value of an IO-Link device 52

Reading digital input (operating mode 50

Reading properties of an element....39

Request with authentication 46

reset password....46

Subscribing notifications via WebSocket....61

Subscribing to notifications....42, 58

Subscribing to notifications in CSV format....60

Unsubscribing from notifications....60

Update firmware....56

Writing digital output (operating mode 50

Writing IO-Link value (operating mode 49

Explanation of Symbols 5

F

Factory settings 76

Firmware

Reboot the device 32

Reset device to factory settings....32

First steps 39

Function 10

Functions and features....9

G

Gateway

Reading device information....55

Reading status and diagnostic information....55

Resetting, rebooting and localising the device....54

Setting the application tag....57

Updating the firmware 56

General 7

General functions....39

GET request 36

|

ifm IoT Core 34,83

Info

Show device information 31

Inputs 80

Inputs / outputs 79

Interfaces 80

Internet of Things (IoT) 11

IO-Link 11

Accessing parameters....52

Indicating IO-Link events....54

Reading an writing device information....54

IO-Link ports 16

Activate data transfer to LR AGENT or LR SMARTOBSERVER....28

Configuration of fail-safe values 31

Configure operating mode....29

Configuring data transfer to LR AGENT or LR SMARTOBSERVER .....49

Configuring device validation and data storage....47

Indicating port events 52

Reading / writing process data 49

Set the device validation and data storage....30

Setting the operating mode of pin 4 (US) 47

IO-Link Ports (Class A)....20

IO-Link supply....12

IoT

Configure IP settings....26

Configure security mode 27

Configure the interface to LR AGENT or LR SMARTOBSERVER....28

Configuring access rights....43

Configuring IP settings 43

Configuring security mode....44

Configuring the LR AGENT or LR SMARTOBSERVER interface....44

IoT Core

Diagnostic codes....38

General information....35

IoT ports....19

IT security 8

L

LED indicators 19

Legal and copyright information ....5

LR DEVICE 24

M

Maintenance, repair and disposal 75

Managing notifications....68

Mechanical data....81

Mount the device 13

Mounting 13

MQTT support....63

N

Note

Connection states....64

Security mode 45

Notes....14

0

Offline parameter setting 25

Operating and display elements....18

Operating conditions....81

Operation 74

Outputs 80

Overview 18

IoT profile 84

IoT services....92

IoT types 91

P

Parameter setting 11

POST request....37

Preliminary note....5

Profile

blob 84

deviceinfo 85

devicetag....85

iolinkdevice_full 86

iolinkmaster 86

mqttCmdChannel 87

mqttCmdChannelSetup 87

mqttConnection....87

mqttSetup 88

network....88

parameter 89

processdata....89

runcontrol 89

service....89

software....89

software/uploadedablesoftware....90

Timer....90

Programmers' notes ....35

Purpose of the document ....5

R

Read device and diagnostic information 22

Reading and writing process data 72

Remarks......25

Replacing IO-Link device....75

Required background knowledge....7

s

Safety instructions ....7

Safety symbols on the device....7

Searching for elements in the device tree....70

Security mode....11

Se

factoryreset 92

getblobdata 93

getdata 93

getdatamulti....94

getelementinfo....94

getsubscriberlist 96

getsubscriptioninfo 97

gettree....98

install....99

iolreadacyclic....99

iolwriteacyclic 99

querytree....100

reboot....100

Reset....100

setblock....101

setdata 102

signal....102

start 103

start_stream_set 103

stop 103

stream_set 104

subscribe....104

unsubscribe....105

validation_useconnecteddevice....105

Servicet

getidentity....95

Setting the storage duration 42

Set-up 21

Status LEDs....19

Subscribing to notifications....58

T

Technical data 79

U

Updating the firmware 73, 75

Using the IoT-Core Visualizer....67

Using Web Socket 61

Using web-based management....74

V

Visual indication....11

Voltage supply 20

VPN connection 25

Table of contents Click a title to access it
Manual assistant
Powered by Anthropic
Waiting for your message
Product information

Brand : IFM

Model : AL1353

Category : Industrial interface