IFM AL1326 - Industrielle Automatisierung

AL1326 - Industrielle Automatisierung IFM - Kostenlose Bedienungsanleitung

Finden Sie kostenlos die Bedienungsanleitung des Geräts AL1326 IFM als PDF.

📄 130 Seiten Deutsch DE Herunterladen 💬 KI-Frage
Notice IFM AL1326 - page 1
Handbuch anzeigen : Français FR Deutsch DE English EN 日本語 JA
Waehlen Sie Ihre Sprache und Ihre E-Mail-Adresse: wir senden Ihnen eine speziell uebersetzte Version.

Benutzerfragen zu AL1326 IFM

0 Frage zu diesem Gerät. Beantworten Sie die, die Sie kennen, oder stellen Sie Ihre eigene.

Eine neue Frage zu diesem Gerät stellen

Die E-Mail bleibt privat: Sie dient nur dazu, Sie zu benachrichtigen, wenn jemand auf Ihre Frage antwortet.

Noch keine Fragen. Stellen Sie die erste.

Laden Sie die Anleitung für Ihr Industrielle Automatisierung kostenlos im PDF-Format! Finden Sie Ihr Handbuch AL1326 - IFM und nehmen Sie Ihr elektronisches Gerät wieder in die Hand. Auf dieser Seite sind alle Dokumente veröffentlicht, die für die Verwendung Ihres Geräts notwendig sind. AL1326 von der Marke IFM.

BEDIENUNGSANLEITUNG AL1326 IFM

Betriebsanleitung

IO-Link Master mit Ether
Net/IP-Schnittstelle

DataLine

AL1326

Inhaltsverzeichnis

1 Vorbemerkung 6

1.1 Rechtliche Hinweise 6
1.2 Verwendete Symbole 6
1.3 Warnhinweise 6
1.4 Änderungshistorie 7

2 Sicherheitshinweise 8

2.1 Cyber-Sicherheit 8
2.2 Sicherheitssymbol auf dem Gerät 8

3 Bestimmungsgemäße Verwendung 9

4 Funktion 10

4.1 IO-Link 10

4.1.1 IO-Link Versorgung.... 10

4.2 Parametrierung 10
4.3 Optische Signalisierung 10
4.4 Ether
Net/IP 10
4.5 ifm IoT-Core 11
4.6 Digitale Eingänge 11

5 Montage 12

5.1 Überblick.... 12
5.2 Gerät montieren 12

6 Elektrischer Anschluss 13

6.1 Generelle Anschlusshinweise 13
6.1.1 Anschlusstechnik 13
6.2 Ethernet-Ports....13
6.3 IO-Link Ports (Class A) 14

6.3.1 IO-Link Devices (Class A) anschließen 14
6.3.2 IO-Link Devices (Class B) anschließen 14

6.4 Funktionserdung 15
6.5 Spannungsversorgung 15

7 Bedien- und Anzeigeelemente 16

7.1 LEDs.... 16

7.1.1 Status 16
7.1.2 Ethernet 16
7.1.3 IoT 16
7.1.4 IO-Link Ports (Class A) 17
7.1.5 Spannungsversorgung 17

8 Inbetriebnahme.... 18
9 Einstellungen 19

9.1 Parametriersoftware 19

9.1.1 Unterstützte Parametriersoftware 19
9.1.2 Verbindung zum Gerät herstellen 19

9.1.2.1 Online-Parametrierung 20
9.1.2.2 Offline-Parametrierung 20

9.1.3 IoT-Schnittstelle 20

9.1.3.1 Zugriffsrechte konfigurieren.... 20
9.1.3.2 IP-Einstellungen konfigurieren 21
9.1.3.3 Schnittstelle zu Monitoring-Software konfigurieren 21

9.1.4 Feldbus-Schnittstelle....22

9.1.4.1 Ether
Net/IP-Schnittstelle konfigurieren 22
9.1.4.2 ▷ Ether
Net/IP-▶ Konfigurationsmodus einstellen.... 23

9.1.5 IO-Link Ports 24

9.1.5.1 Datenübertragung zu Monitoring-Software einstellen 24
9.1.5.2 Betriebsart Pin 4 (US) einstellen 24
9.1.5.3 Zykluszeit einstellen 25
9.1.5.4 Gerätevalidierung und Datenspeicherung einstellen 25
9.1.5.5 ▶ Rückfallwerte einstellen 27

9.1.6 Geräteinformationen 27

9.1.6.1 Identifikationsinformationen lesen 27

9.1.7 Gerätesteuerung 28

9.1.7.1 Gerät auf Werkseinstellungen zurücksetzen 28

9.1.7.2 Gerät neu starten 28

9.1.7.3 Firmware aktualisieren 28

9.1.8 Firmware aktualisieren 29

9.1.9 IO-Link Devices parametrieren 29

9.2 ifm IoT-Core REST API.... 31

9.2.1 ifm IoT-Core: Allgemeine Informationen 31

9.2.1.1 Auf den ifm IoT Core zugreifen 31

9.2.2 Erste Schritte 32

9.2.3 Allgemeine Funktionen 32

9.2.3.1 Beispiel: Eigenschaften eines Elements lesen 33

9.2.3.2 Beispiel: Teilbaum ausgeben 34

9.2.3.3 Beispiel: Einen Parameterwert ändern 36

9.2.3.4 Beispiel: Mehrere Elemente sequenziell lesen 37

9.2.3.5 Beispiel: Gerätebeschreibung durchsuchen 38

9.2.4 IoT: Zugriffsrechte konfigurieren 38

9.2.5 IoT: IP-Einstellungen konfigurieren 38

9.2.6 IoT: Sicherheitsmodus konfigurieren 39

9.2.6.1 Beispiel: Sicherheitsmodus aktivieren 40

9.2.6.2 Beispiel: Anfrage mit Authentifikation 40

9.2.6.3 Beispiel: Passwort zurücksetzen.... 41

9.2.7 IoT: ▷ Schnittstelle zur Monitoring-Software einstellen 41

9.2.8 Fieldbus: Ether
Net/IP-Schnittstelle konfigurieren 42

9.2.9 Fieldbus: Ether
Net/IP-Konfigurationsmodus einstellen 42

9.2.10 Fieldbus: Rückfallwerte der Ausgänge einstellen 43

9.2.11 Ports: Betriebsart Pin 4 (US) einstellen.... 43

9.2.12 Ports: Gerätevalidierung und Datenspeicherung konfigurieren 44

9.2.12.1 Beispiel: Datenspeicher eines IO-Link Ports klonen 45

9.2.13 Ports: Datenübertragung zu Monitoring-Software einstellen 47

9.2.14 Ports: Prozessdaten lesen / schreiben 47

9.2.14.1 Beispiel: IO-Link Prozesswert lesen (Betriebsart "IO-Link"). 47

9.2.14.2 Beispiel: IO-Link Prozesswert schreiben (Betriebsart "IO-Link") ..... 48

9.2.14.3 Beispiel: Digitalen Eingangswert lesen (Betriebsart "DI") 49

9.2.14.4 Beispiel: Digitalen Ausgangswert schreiben (Betriebsart "DO"). 49

9.2.15 Ports: Port-Events lesen 50

9.2.16 Timer: Zeitgeber konfigurieren 50

9.2.16.1 Zählintervall einstellen....50

9.2.17 IO-Link Devices: Auf Parameter zugreifen 51

9.2.17.1 Beispiel: Parameterwert eines IO-Link Devices lesen 51

9.2.17.2 Beispiel: Parameterwert eines IO-Link Devices schreiben.... 52

9.2.18 IO-Link Devices: Geräteinformationen lesen und schreiben 52

9.2.19 IO-Link Devices: IO-Link Events lesen 53

9.2.20 Gateway: Anwendungskennung einstellen 54

9.2.21 Gateway: Firmware aktualisieren 54

9.2.22 Gateway: Zustands- und Diagnoseinformationen lesen 54

9.2.23 Gateway: Geräteinformationen lesen 55

9.2.24 Gateway: Gerät zurücksetzen, neu starten und lokalisieren 55

9.2.25 Benachrichtigungen 55

9.2.25.1 Ereignisgesteuerte Benachrichtigungen 56

9.2.25.2 Zeitgesteuerte Benachrichtigungen.... 56

9.2.25.3 Beispiel: Benachrichtigung abonnieren 56

9.2.25.4 Beispiel: Benachrichtigung ändern 58

9.2.25.5 Beispiel: Benachrichtigung im CSV-Format abonnieren 58

9.2.25.6 Beispiel: Benachrichtigung abmelden 59

9.2.25.7 Beispiel: Benachrichtigung prüfen.... 59

9.2.25.8 MQTT-Unterstützung 60

9.2.25.9 WebSocket-Untertsützung 64

9.3 IoT-Core Visualizer 66

9.3.1 IoT-Core Visualizer starten 66

9.3.2 Benachrichtigungen verwalten 67

9.3.2.1 Neue Benachrichtigung erstellen.... 67

9.3.2.2 Benachrichtigung löschen 67

9.3.3 Elemente des IoT Core suchen.... 68

9.3.4 IO-Link Master konfigurieren....69

9.3.5 Auf Prozessdaten zugreifen 70

9.3.6 Firmware aktualisieren 71

9.4 Ether
Net/IP 72

9.4.1 Hinweis: Startup Packages 72

10 Wartung, Instandsetzung und Entsorgung 73

10.1 Gehäuseoberfläche reinigen 73

10.2 Firmware aktualisieren 73

11 Anhang 74

11.1 ifm IoT-Core 74

11.1.1 Profile 74

11.1.2 Typen 74

11.1.3 Dienste 75

11.1.3.1 Dienst: factoryreset 75

11.1.3.2 Dienst: getblobdata....75

11.1.3.3 Dienst: getdata 75

11.1.3.4 Dienst: getdatamulti 75

11.1.3.5 Dienst: getelementinfo 76

11.1.3.6 Dienst: getidentity 76

11.1.3.7 Dienst: getsubscriberlist 76

11.1.3.8 Dienst: getsubscriptioninfo 77

11.1.3.9 Dienst: gettree....77

11.1.3.10 Dienst: install.... 78

11.1.3.11 Dienst: iolreadacyclic 78

11.1.3.12 Dienst: iolwriteacyclic 78

11.1.3.13 Dienst: querytree....79

11.1.3.14 Dienst: reboot 79

11.1.3.15 Dienst: reset 79

11.1.3.16 Dienst: setblock....79

11.1.3.17 Dienst: setdata 80

11.1.3.18 Dienst: setelementinfo.... 80

11.1.3.19 Dienst: signal 80

11.1.3.20 Dienst: start....80

11.1.3.21 Dienst: start_stream_set 81

11.1.3.22 Dienst: stop....81

11.1.3.23 Dienst: stream_set 81

11.1.3.24 Dienst: subscribe 81

11.1.3.25 Dienst: unsubscribe....82

11.1.3.26 Dienst: validation useconnecteddevice.... 82

11.2 Ether
Net/IP 84

11.2.1 Parameter....84

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

11.2.2 Zyklische Daten 87

11.2.2.1 Input Assembly (Instance 100) 87

11.2.2.2 Input Assembly (Instance 101) 93

11.2.2.3 Input Assembly (Instance 102) 97

11.2.2.4 Output Assembly (Instance 150)....101

11.2.2.5 Output Assembly (Instance 151)....103

11.2.3 Azyklische Daten 105

11.2.3.1 Azyklischer Kommandokanal 105

11.2.3.2 Azyklische Kommandos .....110

11.2.4 Objektverzeichnis 115

11.2.4.1 CIP-Objektklassen 115

11.2.4.2 CIP-Klassen- und Instanzdienste 115

11.2.4.3 Identity Object (Class Code: 0x01) .....116

11.2.4.4 Message Router Object (Class Code: 0x02)....117

11.2.4.5 Assembly Object (Class Code: 0x04) .....118

11.2.4.6 Connection Manager Object (Class Code: 0x06) .....119
11.2.4.7 Device Level Ring Object (Class Code: 0x47).....120
11.2.4.8 Quality Of Service Object (Class Code: 0x48).....121
11.2.4.9 IO-Link Request Object (Class Code: 0x80) .....122
11.2.4.10 TCP/IP Object (Class Code: 0xF5) .....126
11.2.4.11 Ethernet Link Object (Class Code: 0xF6) .....129

1 Vorbemerkung

Anleitung, technische Daten, Zulassungen und weitere Informationen über den QR-Code auf dem Gerät / auf der Verpackung oder über documentation.ifm.com.

1.1 Rechtliche Hinweise

© Alle Rechte bei ifm electronic gmbh. Vervielfältigung und Verwertung dieser Anleitung, auch auszugsweise, nur mit Zustimmung der ifm electronic gmbh.

Alle verwendeten Produktnamen, Bilder, Unternehmen oder sonstige Marken sind Eigentum der jeweiligen Rechteinhaber.

1.2 Verwendete Symbole

√ Voraussetzung
▶ Handlungsanweisung
Reaktion, Ergebnis

[...] Bezeichnung von Tasten, Schaltflächen oder Anzeigen

→ Querverweis

IFM AL1326 - Verwendete Symbole - 1

Wichtiger Hinweis

Fehlfunktionen oder Störungen sind bei Nichtbeachtung möglich

IFM AL1326 - Verwendete Symbole - 2

Information

Ergänzender Hinweis

1.3 Warnhinweise

Warnhinweise warnen vor möglichen Personen- und Sachschäden. Dadurch wird der sichere Umgang mit dem Produkt ermöglicht. Warnhinweise sind wie folgt abgestuft:

IFM AL1326 - Warnhinweise - 1

WARNUNG

Warnung vor schweren Personenschäden

▷ Tödliche und schwere Verletzungen sind möglich, wenn der Warnhinweis nicht beachtet wird.

IFM AL1326 - Warnhinweise - 2

VORSICHT

Warnung vor leichten bis mittelschweren Personenschäden

▷ Leichte bis mittelschwere Verletzungen sind möglich, wenn der Warnhinweis nicht beachtet wird.

ACHTUNG

Warnung vor Sachschäden

▷ Sachschäden sind möglich, wenn der Warnhinweis nicht beachtet wird.

1.4 Änderungshistorie

AusgabeThemaDatum
00Neuerstellung des Dokuments02 / 2023
01Geändert: Identity Object (Class Code: 0x01) ( → ☐ 116)Entfernt: REST API – DNS-Unterstützung
Hinzugefügt: WebSocket-Untertsützung ( → ☐ 64)
07 / 2023
02Geändert: Kapitel "Masseverbindung", Funktionserdung ( → ☐ 15)Geändert: Beschreibung und Beispiel MQTT-Kommandokanal, MQTT-Unterstützung ( → ☐ 60)Hinzugefügt: Hinweis zu UL-Anwendungen, Anschlusstechnik ( → ☐ 13)07 / 2024
03Hinzugefügt: Beschreibung ifm IoT-Core -Dienst setelementinfo, Dienst: setelementinfo ( → ☐ 80)Hinzugefügt: Unterstützte Webbrowser, IoT-Core Visualizer ( → ☐ 66)0? / 2024

2 Sicherheitshinweise

- Das beschriebene Gerät wird als Teilkomponente in einem System verbaut.

– Die Sicherheit dieses Systems liegt in der Verantwortung des Erstellers.
- Der Systemersteller ist verpflichtet, eine Risikobeurteilung durchzuführen und daraus eine Dokumentation nach den gesetzlichen und normativen Anforderungen für den Betreiber und den Benutzer des Systems zu erstellen und beizulegen. Diese muss alle erforderlichen Informationen und Sicherheitshinweise für den Betreiber, Benutzer und ggf. vom Systemersteller autorisiertes Servicepersonal beinhalten.

  • Dieses Dokument vor Inbetriebnahme des Produktes lesen und während der Einsatzdauer aufbewahren.
  • Das Produkt muss sich uneingeschränkt für die betreffenden Applikationen und Umgebungsbedingungen eignen.
  • Das Produkt nur bestimmungsgemäß verwenden (→ Bestimmungsgemäße Verwendung).
  • Die Missachtung von Anwendungshinweisen oder technischen Angaben kann zu Sach- und / oder Personenschäden führen.
  • Für Folgen durch Eingriffe in das Produkt oder Fehlgebrauch durch den Betreiber übernimmt der Hersteller keine Haftung und keine Gewährleistung.
  • Montage, elektrischer Anschluss, Inbetriebnahme, Bedienung und Wartung des Produktes darf nur ausgebildetes, vom Anlagenbetreiber autorisiertes Fachpersonal durchführen.
  • Geräte und Kabel wirksam vor Beschädigung schützen.

2.1 Cyber-Sicherheit

ACHTUNG

Betrieb des Geräts in einer ungeschützten Netzwerkumgebung

▷ Unzulässiger Lese- oder Schreibzugriff auf Daten möglich.
▷ Unzulässige Beeinflussung der Gerätefunktion möglich.
▶ Zugriff auf autorisierte Nutzer beschränken (z. B. passwortgeschützter Zugang).
▶ Sichere Verfahren wählen, um sich mit dem Gerät zu verbinden (z. B. VPN).
▶ Verschlüsselte Datenübertragung nutzen (z. B. https / TLS)

2.2 Sicherheitssymbol auf dem Gerät

IFM AL1326 - Sicherheitssymbol auf dem Gerät - 1

Sicherheitssymbol auf dem Gerät:

▶ Für den sicheren Betrieb des Geräts die Betriebsanleitung beachten.

3 Bestimmungsgemäße Verwendung

Das Gerät darf für folgende Zwecke eingesetzt werden:

• IO-Link Master für die Konfiguration, Verwaltung und den Betrieb von IO-Link Devices
• Gateway zwischen IO-Link Devices und einem übergeordneten Ether
Net/IP-Steuerungssystem
Das Gerät ist für den schaltschranklosen Einsatz im Anlagenbau konzipiert.

4 Funktion

Das Gerät stellt folgende IO-Link Funktionen bereit:

• IO-Link Master (IO-Link Revision 1.0 und 1.1)

Das Gerät bietet Versorgungen für 8 IO-Link Devices (Sensoren, Aktuatoren).

Die Ports X01... X08 sind Ports Class A.

Das Gerät gewährleistet den Brandschutz für angeschlossene IO-Link Devices durch Bereitstellung eines energiebegrenzten Stromkreises an den Ports (nach IEC61010-1 und Class 2 nach UL1310).

4.2 Parametrierung

Das Gerät kann mit folgenden Optionen parametriert werden:

  • Parametriersoftware
  • ifm moneo|IloT Core Cloud (Art.-Nr. QCM100)
  • ifm moneo|IloT Core On-Premises (Art.-Nr. QM9112)
  • ifm moneo|configure free

- ifm IoT-Core

- REST API

- ifm IoT-Core Visualizer

- Ether
Net/IP

- Projektierungssoftware

4.3 Optische Signalisierung

Das Gerät bietet folgende optische Anzeigen:

  • Status- und Fehleranzeige des Ether
    Net/IP-Gateways und des Systems
    • Status der Spannungsversorgung US
  • Status- und Aktivitätsanzeige der Ethernet-Verbindungen
    • Status der IoT-Verbindung
  • Status- und Fehleranzeige der IO-Link Ports (Class A)

4.4 Ether
Net/IP

Das Gerät unterstützt folgende Ether
Net/IP-Funktionen:

• Geräteprofil: Ether
Net/IP Device
• 2-Port-Switch für den Zugriff auf die Feldbus-Schnittstelle
• Min. Zykluszeit: 1 ms (RPI)
- Unterstützte Verbindungsklassen: 1, 3
- Unterstützte Verbindungstypen:

  • Exclusive Owner
  • Input Only
  • Listen Only

• UCMM-Unterstützung

• Vordefinierte Feldbusobjekte

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

  • Unterstützte Protokolle: DHCP, BOOTP, ACD, DLR
    • Gerätebeschreibung: EDS-Datei

4.5 ifm IoT-Core

• Abbildung der Daten, Events und Dienste des Geräts auf ein Objektmodell (ifm IoT-Core)
• Einbindung des Geräts in IIoT-Anwendungen
- Zugriff auf den ifm IoT-Core:
- Browserbasierte Schnittstelle (IoT-Core Visualizer)
- REST-API
• Cyber-Security-Funktionen
- Sichere Datenübertragung über verschlüsselte Verbindung (Secure Layer Transport - TLS)
– Zugriffsschutz per Authentifizierung
- Unterstützte Protokolle: HTTP(S), TCP, JSON, MQTT, Websockets

4.6 Digitale Eingänge

Die Ports X01... X08 verfügen über je einen zusätzlichen digitalen Eingang (Typ 2 nach EN 61131-2). Die digitalen Eingänge liegen an Pin 2.

Die digitalen Eingänge werden über US versorgt. Sie beziehen sich auf das Potential von US (Pin 3).

5 Montage

5.1 Überblick

IFM AL1326 - Überblick - 1

1: Obere Befestigungslasche

2: Untere Befestigungslasche

5.2 Gerät montieren

IFM AL1326 - Gerät montieren - 1

▶ Anlage vor Montage spannungsfrei schalten.

▶ Zur Montage eine plane Montageoberfläche verwenden.

▶ Maximales Anzugsdrehmoment beachten.

▶ Modul auf der Montagefläche mit 2 Montageschrauben und Unterlegscheiben Größe M5 befestigen (Anzugsdrehmoment: 1,8 Nm).

6 Elektrischer Anschluss

6.1 Generelle Anschlusshinweise

Das Gerät darf nur von einer Elektrofachkraft installiert werden.

▶ Nationale und internationale Vorschriften zur Errichtung elektrotechnischer Anlagen befolgen.

Gerät ist nur für den Betrieb an SELV/PELV-Spannungen geeignet.

▶ Hinweise zur IO-Link-Beschaltung beachten!

Das Gerät enthält Bauelemente, die durch elektrostatische Entladung (ESD) beschädigt oder zerstört werden können.

▶ Notwendige Sicherheitsmaßnahmen gegen elektrostatische Entladung beachten!

Die Stromkreise sind untereinander und zu berührbaren Oberflächen des Geräts isoliert mit Basisisolierung nach EN61010-1 (Sekundärstromkreis mit maximal 30 V DC, abgeleitet von Netzstromkreis bis 300 V der Überspannungskategorie II).

Die Kommunikationsschnittstellen sind untereinander und zu berührbaren Oberflächen des Geräts getrennt mit Basisisolierung nach EN61010-1 (Sekundärstromkreis mit maximal 30 V DC, abgeleitet von Netzstromkreis bis 300 V der Überspannungskategorie II). Sie sind ausgelegt für Netzwerkumgebung 0 nach IEC TR62102.

6.1.1 Anschlusstechnik

Die Gewindeanschlüsse im Gerät entsprechen dem M12-Standard. Für die Einhaltung der spezifizierten Schutzart dürfen nur Kabel verwendet werden, die diesem Standard entsprechen. Bei selbst konfektionierten Kabeln ist der Systemersteller für die Schutzart verantwortlich.

▶ Steckverbindungen mit vergoldeten Kontakten verwenden.
▶ Die Verschraubung 2 Wochen nach der Montage prüfen und falls notwendig mit dem richtigen Drehmoment nachziehen.
▶ Steckverbindungen bei der Montage senkrecht aufsetzen, damit die Überwurfmutter nicht das Gewinde beschädigt.
▶ Vor dem Anschluss der Steckverbindung prüfen, ob in der Buchse ein unbeschädigter O-Ring vorhanden ist.
▶ Codierung der Steckverbindungen bei der Montage beachten.
▶ Nicht belegte Anschlüsse mit Schutzkappen verschließen. Drehmoment: 1,3 ± 0,1 Nm

Für UL-Anwendungen:

IFM AL1326 - Anschlusstechnik - 1

VORSICHT

Kurzschluss zwischen den Sensoreingängen der IO-Link-Ports

▷ Brandgefahr / Stromschlaggefahr

▶ Anschlüsse nicht miteinander verbinden.

▶ Für den Anschluss des Geräts und der IO-Link Devices nur UL-zertifizierte Kabel der Kategorie CYJV oder PVVA mit einer Mindesttemperatur von 80°C verwenden (75°C bei einer maximalen Umgebungstemperatur von 40°C).

6.2 Ethernet-Ports

Über die Ethernet-Ports wird das Gerät mit dem Ether
Net/IP-Netzwerk verbunden (z. B. Ether
Net/IP-Steuerung, zusätzliches Ether
Net/IP-Gerät).

Anschlussbelegung:

IFM AL1326 - Ethernet-Ports - 1

1: TX+
2: RX+
3: TX-
4: RX-
5: n.c.

▶ Das Gerät über die Ports X21, X22 mit Ether
Net/IP-Netzwerk verbinden.
▶ Für den Anschluss M12-Steckverbindungen verwenden (min. Schutzart: IP65 / IP66 / IP67).
▶ Kabelstecker mit 1,3 ± 0,1 Nm verschrauben.

An den IO-Link Ports werden die IO-Link Devices (Sensoren, Aktuatoren) angeschlossen.

Die IO-Link Ports erfüllen die Anforderungen der IO-Link Spezifikation 1.0 bis 1.1.2.

Die Ports verfügen über eine Kurzschlusserkennung (US).

Die Ports verfügen über einen zusätzlichen digitalen Eingang (Typ 2, gemäß IEC 61131-2).

Anschlussbelegung:

IFM AL1326 - IO-Link Ports (Class A) - 1

1: L+ (US)
2: IN DI2
3: L- (US)
4: MP1 DO1/DI1(IO-LINK
5: n.c.

Hinweise zur Beschaltung:

  • Die Spannungsversorgung der angeschlossenen IO-Link Devices darf ausschließlich über den IO-Link Master erfolgen.
    ▶ IO-Link Devices mit Ports X01... X08 verbinden. Maximale Leitungslänge pro Port: 20 m.
    ▶ Für den Anschluss M12-Steckverbindungen verwenden (min. Schutzart: IP65 / IP66 / IP67).
    ▶ Kabelstecker mit 1,3 ± 0,1 Nm verschrauben.

Hinweise zur Beschaltung:

- Der Anschluss von IO-Link Devices (Class B) erfordert die Zuführung einer zusätzlichen Hilfsspannung UA. Die Zuführung erfolgt mithilfe eines Y-Verbindungskabels (→ Zubehör).

IFM AL1326 - IO-Link Devices (Class B) anschließen - 1

VORSICHT

Nichtbeachtung der galvanischen Trennung der Stromkreise

▷ Brandgefahr

▶ Sicherstellen, dass die externe Versorgung UA vom Stromkreis des Geräts galvanisch getrennt ist durch Basisisolierung (gemäß IEC 61010-1, Sekundärstromkreis mit max. 30 V DC, abgeleitet von Netzstromkreis bis 300 V der Überspannungskategorie II).

▶ Sicherstellen, dass IO-Link Device und genutzte Verbindungstechnik die galvanische Trennung unterstützen.

  • Beim Anschluss eines IO-Link Devices (Class B) ist der zusätzliche digitale Eingang an Pin 2 des Ports nicht verfügbar.
    ▶ IO-Link Devices über Y-Verbindungskabel mit Ports X01... X08 verbinden.

▶ Y-Verbindungskabel anschließen an Versorgungsspannung 24 V DC (20...30 V SELV/PELV)
▶ Für den Anschluss M12-Steckverbindungen verwenden (min. Schutzart: IP65 / IP66 / IP67).
▶ Kabelstecker mit 1,3 ± 0,1 Nm verschrauben.

6.4 Funktionserdung

Das FE-Potential liegt an folgenden Punkten des Geräts an:

• Obere Befestigungslasche des Gehäuses

Alle Punkte sind im Gerät miteinander verbunden.

▶ Mindestens einen FE-Anschluss des Geräts mit der Erdung der Anlage oder GND der Versorgung verbinden.

Um den elektrischen Störschutz, die bestimmungsgemäße Funktion und den sicheren Betrieb des Geräts zu gewährleisten, für die FE-Verbindung immer den kürzesten Weg wählen.

6.5 Spannungsversorgung

Über den Port X31 wird das Gerät an die Versorgungsspannung US angeschlossen.

Die Versorgungsspannung US versorgt das Gerät und die an den Ports X01... X08 angeschlossenen Geräte.

Der Port X31 verfügt über einen Verpolungsschutz (US, UA).

Anschlussbelegung:

IFM AL1326 - Spannungsversorgung - 1

1: L+ (US)
2: n.c.
3: L- (US)
4: n.c.

▶ Anlage spannungsfrei schalten.
▶ Gerät über Port X31 anschließen an 24 V DC (20...30 V SELV/PELV; gemäß IEC 61010-1, Sekundärstromkreis mit max. 30 V DC, abgeleitet von Netzstromkreis bis 300 V der Überspannungskategorie).
▶ Für den Anschluss eine A-codierte M12-Steckverbindung nutzen (min. Schutzart: IP65 / IP66 / IP67).
▶ Kabelbuchsen nach den Drehmoment-Angaben des Kabelherstellers verschrauben. Maximal zulässiges Drehmoment: 0,8 Nm

Empfohlene max. Leitungslänge: 25 m.

▶ Bei Leitungslängen größer 25 m den eintretenden Spannungsabfall und die notwendige minimale Versorgungsspannung von 20 V beachten!

7 Bedien- und Anzeigeelemente

7.1 LEDs

7.1.1 Status

LEDBeschreibungFarbeZustandBeschreibung
RDYGateway-Status--ausNicht aktiv oder startet neu
grünblinkt (5 Hz)Fehler
blinkt (200 ms ein, 800 ms aus)Firmware-Update läuft
einOK
NETNetzwerk-Status--ausNot powered, no IP address: Gerät hat keine IP-Adresse oder keine Spannung anliegend oder anliegende Spannung zu niedrig
grün / rotblinktSelf test: Gerät im Selbsttest nach Start (→ MOD-LED)
grünblinkt (1 Hz)No connection: keine CIP-Verbindung hergestellt und keine Zeitüberschreitung bei Exclusive-Owner-Verbindung
einConnected: Gerät hat IP-Adresse und mind. eine CIP-Verbindung hergestellt und keine Zeitüberschreitung bei Exclusive-Owner-Verbindung
rotblinkt (1 Hz)Connection Timeout: Gerät hat IP-Adresse und Zeitüberschreitung bei Exclusive-Owner-Verbindung
einDuplicate: IP-Adresse doppelt vergeben
MODEther
Net/IP-Modul-Status
--ausNo power: keine Spannung anliegend oder anliegende Spannung zu niedrig
grün / rotblinktSelf test: Gerät im Selbsttest
grünblinkt (2 Hz)Standby: Gerät noch nicht konfiguriert (keine IP-Adresse)
einDevice operational: Gerät arbeitet fehlerfrei (Normalbetrieb)
rotblinkt (1 Hz)Major recoverable fault: Schwerer, behebbarer Fehler (z. B. inkorrekte Konfiguration)
einMajor unrecoverable fault: Schwerer, nicht behebbarer Fehler (z. B. Modul ausgefallen)

7.1.2 Ethernet

LEDBeschreibungFarbeZustandBeschreibung
LNKStatus der Verbindunggrünauskeine Ethernet-Verbindung
einEthernet-Verbindung hergestellt
ACTStatus der Datenübertragunggelbauskeine Datenübertragung
blinktDatenübertragung

7.1.3 IoT

LEDBeschreibungFarbeZustandBeschreibung
LNKStatus der Verbindunggrünauskeine Ethernet-Verbindung
LNKStatus der VerbindunggrüneinEthernet-Verbindung hergestellt
IoTGeräteidentifizierunggrünblinktGeräteidentifizierung aktiv
ACTStatus der Datenübertragunggelbauskeine Datenübertragung
blinktDatenübertragung
LEDBeschreibungFarbeZustandBeschreibung
Status des IO-Link Ports (Pin 4)gelbausPort-Mode DI / DO: Pin 4 (C/Q) = OFF
einPort-Mode DI / DO: Pin 4 (C/Q) = ON
grünblinkt (1 Hz)Port-Mode IO-Link: kein IO-Link Device gefunden
blinkt (5 Hz)Port-Mode IO-Link: Zustand „PREOPERATE“
einPort-Mode IO-Link: Zustand „OPERATE“
rotblinkt (1,2 Hz)IO-Link Kommunikationsfehler
einPort-Konfigurationsfehler oder Kurzschluss / Überlast an US
DIStatus des digitalen Ein-gangs (Pin 2)gelbausDigitaler Eingang: Pin 2 = OFF
blinkt (5 Hz)Digitaler Eingang: Pin 2 = ON

7.1.5 Spannungsversorgung

LEDBeschreibungFarbeZustandBeschreibung
USStatus der Versorgungs-spannung USgrünauskeine Versorgungspannung anliegend oder anlie-gende Spannung zu niedrig
einVersorgungsspannung liegt an

8 Inbetriebnahme

▶ Gerät ordnungsgemäß montieren.
▶ Gerät ordnungsgemäß elektrisch anschließen.
▷ Nach dem Anschluss an die Versorgungsspannung startet das Gerät.
▷ Die LEDs zeigen Status und Fehlerzustände.
▷ Das Gerät ist betriebsbereit.
▷ Das Gerät kann konfiguriert werden.

9 Einstellungen

9.1 Parametriersoftware

9.1.1 Unterstützte Parametriersoftware

Unterstützte Parametrieroptionen:

- ifm moneo|IloT Core On-Premises (Art.-Nr. QM9112)

- ifm moneo|IloT Core Cloud (Art.-Nr. QCM100)

- ifm moneo|configure free

IFM AL1326 - Unterstützte Parametriersoftware - 1

▶ Für die korrekte Installation: Installationsanleitung ifm moneo beachten.

▶ Die gewünschte Parametriersoftware installieren.
▶ Die für den Betrieb notwendigen Lizenzen aktivieren.
▷ Die installierte Software kann für die Parametrierung des Geräts genutzt werden.

9.1.2 Verbindung zum Gerät herstellen

Voraussetzungen:

√ Laptop / PC ist direkt oder über ein geeignetes Netzwerkkopplungselement (z. B. Switch) mit dem IoT-Port (X23) des Geräts verbunden.

IFM AL1326 - Verbindung zum Gerät herstellen - 1

▷ Ansicht [Geräte konifgurieren] erscheint.

▶ Netzwerk nach Geräten scannen.
▷ ifm moneo erkennt den IO-Link Master.
▶ Optional: IP-Einstellungen des IO-Link Masters anpassen.

9.1.2.1 Online-Parametrierung

Das Gerät unterstützt die Parametrierung während des laufenden Betriebs (Online-Parametrierung). Während des Parametriervorgangs bleiben der IO-Link Master und die angeschlossenen IO-Link Devices im Arbeitsbetrieb. Sie führen ihre Funktionen mit den bestehenden Parametern weiter aus, bis die Parametrierung abgeschlossen ist.

Bei Änderung während des Betriebs wird die Funktionsweise der Anlage beeinflusst.

▶ Sicherstellen, dass es nicht zu Fehlfunktionen in der Anlage kommt.

9.1.2.2 Offline-Parametrierung

Das Gerät unterstützt die Parametrierung vor dem Einbau und der Inbetriebnahme (Offline-Parametrierung). Dabei erstellt der Anwender eine Konfiguration für den IO-Link Master und die angeschlossenen IO-Link Devices, ohne mit dem Gerät verbunden zu sein. Die erstellte Konfiguration kann als Datei (*. Irp) gespeichert und später auf das Gerät geladen und aktiviert werden.

9.1.3 IoT-Schnittstelle

Das Menü [IoT] bietet Zugriff auf die Parameter der IoT-Schnittstelle.

9.1.3.1 Zugriffsrechte konfigurieren

Das Gerät kann parallel in eine Feldbus-Umgebung sowie in eine IT-Netzwerkstruktur für IIoT-Anwendungen integriert werden („Y-Weg“). Um konkurrierende Zugriffe auf Parameter und Prozessdaten zu vermeiden, müssen die Rechte der Instanzen eingestellt werden.

Verfügbare Parameter:

ParameterBeschreibungWertebereichZugriff
[Access rights]Zugriffsrechte auf Parameter, Prozessdaten und Alarme / Events des Geräts• [Fieldbus + IoT]:– Feldbus und ifm IoT-Core haben Lese- und Schreibrechte auf Parameter und Prozessdaten– Feldbus und ifm IoT-Core haben Leserechte auf Ereignisse / Alarme• [Fieldbus + IoT (read only)]:– Feldbus hat Lese- und Schreibrechte auf Parameter und Prozessdaten– Feldbus hat Leserechte auf Ereignisse / Alarme– ifm IoT-Core hat Leserechte auf Parameter, Prozessdaten und Ereignisse / Alarme• [IoT only]:– ifm IoT-Core hat Lese- und Schreibrechte auf Parameter und Prozessdaten– ifm IoT-Core hat Leserechte auf Ereignisse / Alarme– Feldbus hat keine Zugriffsrechterw1

1 lesen und schreiben

Bei der Parametrierung der Zugriffsrechte in ifm moneo|configure folgende Hinweise beachten:

  • Wenn die Zugriffsrechte in Feldbus-Projektierungssoftware und ifm moneo|configure auf den Wert [Fieldbus + IoT] eingestellt sind, dann gelten immer die feldbusseitig eingestellten Parameterwerte.
  • Für einen exklusiven Zugriff auf das Gerät über ihm moneo|configure die Zugriffsrechte auf den Wert [IoT only] setzen und in der Feldbus-Projektierungssoftware die Zugriffsrechte auf [Keep settings] setzen.
  • Wenn die Zugriffsrechte auf den Wert [Fieldbus + IoT (read only)] eingestellt sind, dann können die Zugriffsrechte in ifm moneo|configure nicht mehr geändert werden. Um mit ifm moneo|configure wieder Schreibzugriff zu erhalten, in der Feldbus-Projektierungssoftware die Zugriffsrechte auf den Wert [Fieldbus + IoT] setzen.

Um die Zugriffsrechte zu konfigurieren:

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
▶ Menü [IoT] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Zugriffsrechte einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▶ Gerät neu starten.
▷ Geänderte Zugriffsrechte sind aktiv.

9.1.3.2 IP-Einstellungen konfigurieren

Für die Kommunikation mit dem IT-Netzwerk müssen die IP-Parameter der IoT-Schnittstelle konfiguriert sein.

Verfügbare Parameter:

ParameterBeschreibungWertebereichZugriff
[DHCP]DHCP-Client aktivieren / deaktivieren• [Static IP]: DHCP-Client deaktiviert; IP-Parameter werden vom Anwender gesetzt• [DHCP]: DHCP-Client aktiviert; IP-Parameter werden vom DHCP-Server des Netzwerks gesetzt. r w 1
[IP address]IP-Adresse der IoT-Schnittstellez. B. 192.168.1.100• 169.254.x.x (Default) r w 1 2
[Subnet mask]Subnetzmaske des Ethernet-Netzwerksz. B. 255.255.255.0• 255.255.0.0 (Default) r w 1 2
[Default gateway IP address]IP-Adresse des Netzwerk-Gatewaysz. B. 192.169.1.1• 0.0.0.0 (Default) r w 1 2
[MAC address]MAC-Adresse der IoT-Schnittstellez. B. 00:02:01:05:66:C1 r o 3

1 lesen und schreiben

2 nur änderbar, wenn DHCP deaktiviert

3 nur lesen

Um die IoT-Schnittstelle zu konfigurieren:

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
▶ Menü [IoT] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ IP-▶ Parameter einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▷ IP-Einstellungen der IoT-Schnittstellen sind konfiguriert.

9.1.3.3 Schnittstelle zu Monitoring-Software konfigurieren

Um die Übertragung der Prozessdaten des IO-Link Master zu einer Monitoring-Software (z. B. ifm moneo suite) zu ermöglichen, muss die Schnittstelle entsprechend konfiguriert werden.

Verfügbare Parameter:

NameBeschreibungWertebereichZugriff
[IP address LR Agent or SMARTOBSERVER]IP-Adresse der Monitoring-Softwarez. B. 255.255.255.255 (Default)rw 1
[Port LR Agent or SMARTOBSERVER]Portnummer der Monitoring-Software0: 0...35100: 35100 (Default)...65535: 65535rw 1
[Interval LR Agent or SMARTOBSERVER]Intervall für die ▷ Datenübertragung zur Monitoring-Software (Wert in ms)[Disabled]: keine Übertragung (Default)500: 500 ms...2147483647: 2147483647 msrw 1
[Application Tag]Quellenbezeichner des Geräts in der Monitoring-Software (max. 31 Zeichen)z. B. factory 2 plant 1rw 1

1 lesen und schreiben

Um die Schnittstelle zur Monitoring-Software einzustellen:

Nach der Änderung der Parameter [Port LR Agent or SMARTOBSERVER] oder [Application Tag] kann es 120 Sekunden dauern, bis das Gerät erneut eine TCP-Verbindung aufbaut.

Um die Verzögerung zu vermeiden:

▶ Nach der Änderung des Parameters das Gerät neu starten.

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
▶ Menü [IoT] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Parameter der Schnittstelle einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▷ Schnittstelle zur Monitoring-Software ist eingestellt.

9.1.4 Feldbus-Schnittstelle

Das Menü [Fieldbus] bietet Zugriff auf die ▶ Parameter der Ether
Net/IP-Schnittstelle.

9.1.4.1 Ether
Net/IP-Schnittstelle konfigurieren

Für die Kommunikation mit dem Ether
Net/IP-Netzwerk müssen die IP-Parameter der Ether
Net/IP-Schnittstelle konfiguriert sein.

Verfügbare Parameter:

NameBeschreibungWertebereichZugriff
[DHCP]DHCP-Client des Geräts aktivieren / deaktivieren• [Static IP]: IP-Parameter werden vom Anwender eingestellt• [DHCP]: IP-Parameter werden von einem DHCP-Server im Netzwerk eingestellt• [BOOTP]: IP-Parameter werden über Bootstrap Protocol (BOOTP) eingestelltrw 1
[IP address]IP-Adresse der Ether
Net/IP-Schnittstelle
z. B. 192.168.82.100192.168.1.250 (Default)rw 1
[Subnet mask]Subnetzmaske des Ether
Net/IP-Netzwerks
z. B. 255.255.0.0• 255.255.255.0 (Default)rw 1
[Default gateway IP address]IP-Adresse des Netzwerk-Gatewaysz. B. 192.168.82.1• 0.0.0.0 (Default)rw 1
[Hostname]Ether
Net/IP-Name des Geräts (max. 240 Zeichen)
z. B. iol12.plant1rw 1
[MAC address]MAC-Adresse der Ether
Net/IP-Schnittstelle des Geräts
z. B. 00:02:01:0f:c8:8fro 2
[Fieldbus firmware]Version der Feldbus-Firmwarez. B. 5.3.0.10 (Ether
Net/IP Adapter)
ro 2

1 lesen und schreiben
2 nur lesen

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.

▶ Menü [Fieldbus] wählen.

▷ Menüseite zeigt aktuelle Einstellungen.

▶ Parameter der Ether
Net/IP-Schnittstelle einstellen.
- ▶ Änderungen auf dem Gerät speichern.
▷ IP-Einstellungen der Schnittstelle sind konfiguriert.

9.1.4.2 Ether
Net/IP-Konfigurationsmodus einstellen

Das Gerät unterstützt die Ether
Net/IP-Konfigurationsmodi "Top-Down" und "Independent". Für den Konfigurationsmodus „Independent“ kann der Anwender zusätzlich den Verbindungstypen wählen.

Verfügbare Parameter:

ParameterBeschreibungWertebereichZugriff
[Independent mode]Ether
Net/IP-Konfigurationsmodus
• [Independent mode off]: Konfiguration über Feldbus-SPS• [Independent mode on]: Konfiguration über Gerät rw12
[Process data length]Länge der Prozessdaten (pro IO-Link Port)• [2 Bytes Input 2 Bytes Output]: 2 Bytes Eingangsdaten, 2 Bytes Ausgangsdaten• [4 Bytes Input 4 Bytes Output]: 4 Bytes Eingangsdaten, 4 Bytes Ausgangsdaten• [8 Bytes Input 8 Bytes Output]: 8 Bytes Eingangsdaten, 8 Bytes Ausgangsdaten• [16 Bytes Input 16 Bytes Output]: 16 Bytes Eingangsdaten, 16 Bytes Ausgangsdaten• [32 Bytes Input 32 Bytes Output]: 32 Bytes Eingangsdaten, 32 Bytes Ausgangsdaten rw12
[Swap]Reihenfolge der Bytes im Daten-Wort der Prozessdaten tauschen• [off]: als Array of Bytes• [on]: als Integer16-Wert; bei Aktualisierung der Prozessdaten werden Bytes getauscht rw12

1 lesen und schreiben
2 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
▶ Menü [Fieldbus] wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Konfigurationsmodus einstellen.
▶ Optional: Verbindungstyp wählen.
▶ Anordnung der Bytes in Prozessdaten einstellen.
- ▶ Änderungen auf dem Gerät speichern.
▷ Ether
Net/IP-Konfigurationsmodus ist eingestellt.

Die Menüs [Port x] (x: 1...8) bieten Zugriff auf die Parameter der IO-Link Ports X01... X08.

9.1.5.1 Datenübertragung zu Monitoring-Software einstellen

Verfügbare Parameter:

NameBeschreibungWertebereichZugriff
[Transmission to LR Agent or SMARTOBSERVER]Übertragung der Prozessdaten des Ports zur Monitoring-Software aktivieren / deaktivieren• [Disabled]: Prozessdaten werden nicht übertragen• [Enabled]: Prozessdaten werden übertragenrw1

1 lesen und schreiben

Um die Datenübertragung einstellen:

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
√ Schnittstelle zur Monitoring-Software ist konfiguriert, Schnittstelle zu Monitoring-Software konfigurieren (→ 21).

▶ Menü [Port x] (x = 1...8) wählen.
▷ Menüseite zeigt aktuelle Einstellungen.

▶ Parameter einstellen.

▶ Geänderte Werte auf das Gerät schreiben.

▷ Datenübertragung zur Monitoring-Software ist eingestellt.

9.1.5.2 Betriebsart Pin 4 (US) einstellen

Verfügbare Parameter:

ParameterBeschreibungWertebereichZugriff
[Mode Pin4 US]Betriebsart des Pin 4 (C/Q) des Ports• [Disabled]: Port deaktiviert• [DI]: Digitaler Eingang• [DO]: Digitaler Ausgang• [IO-Link]: IO-Link Prozessdatenrw1

1 lesen und schreiben

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.

▶ Menü [Port x] (x = 1...8) wählen.

▷ Menüseite zeigt aktuelle Einstellungen.

▶ Betriebsart einstellen.

- ▶ Änderungen auf dem Gerät speichern.

▷ Betriebsart für Pin 4 (C/Q) des Ports ist eingestellt.

9.1.5.3 Zykluszeit einstellen

In der Betriebsart IO-Link kann zusätzlich die Zykluszeit des Ports eingestellt werden.

Verfügbare Parameter:

ParameterBeschreibungWertebereichZugriff
[Cycle time actual]Aktuelle Zykluszeit zwischen IO-Link Master und IO-Link Device (Wert in μs)0: bestmögliche Zykluszeit...132800: 132800 μsro 1 2
[Cycle time preset]Zykluszeit zwischen IO-Link Master und IO-Link Device (Wert in μs)0: bestmögliche Zykluszeit1: 1 μs...132800: 132800 μsrw 3 2
[Bitrate]Übertragungsrate zwischen IO-Link Master und IO-Link DeviceCOM1: 4,8k BaudCOM2: 38,4 kBaudCOM3: 230,4 kBaudro 1 2

1 nur lesen

2 Parameter nur verfügbar, wenn Betriebsart Pin 4 (US) = IO-Link und IO-Link Device an Port angeschlossen ist

3 lesen und schreiben

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
√ Betriebsart des Pin 4 des Ports ist "IO-Link".
▶ Menü [Port x] > [IO-Link] (x = 1...8) wählen.
▶ Zykluszeit einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▷ Zykluszeit des IO-Link Ports ist eingestellt.

9.1.5.4 Gerätevalidierung und Datenspeicherung einstellen

Das Gerät unterstützt die Funktionen ▷ Gerätevalidierung und Sicherung / Wiederherstellung von Parameterdaten der angeschlossenen IO-Link Devices.

Folgende Optionen sind verfügbar:

OptionValidierung des angeschlossenen IO-Link DevicesSicherung der ParameterwerteWiederherstellung der Parameterwerte
[No check and clear]NeinNeinNein
[Type compatible V1.0 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.0NeinNein
[Type compatible V1.1 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1NeinNein
[Type compatible V1.1 device with Backup + Restore]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1 und Baugleichheit (Vendor ID, Device ID)Ja, automatische Sicherung der Parameterwerte; Änderungen der aktuellen Parameterwerte werden gespeichertJa, Wiederherstellung der Parametwerte bei Anschluss eines baugleichen IO-Link Devices im Auslieferungszustand
[Type compatible V1.1 device with Restore]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1 und Baugleichheit (Vendor ID, Device ID)Nein, keine automatische Sicherung; Änderungen der Parameterwerte werden nicht gespeichertJa, Wiederherstellung der Parametwerte bei Anschluss eines baugleichen IO-Link Devices im Auslieferungszustand

Gerätevalidierung und Sicherung / Wiederherstellung der Parameterwerte sind nur verfügbar, wenn die Betriebsart „IO-Link“ des Ports aktiviert ist.

Für Optionen [Type compatible V1.1 device with Backup + Restore] und [Type compatible V1.1 device with Restore]: Bei Änderungen der Parameter [Vendor ID] oder [Device ID] im Online-Modus wird der Datenspeicher gelöscht und eine neue Sicherung der Parameterwerte des angeschlossenen IO-Link Devices im IO-Link Master erzeugt.

Verfügbare Parameter:

NameBeschreibungWertebereichZugriff
[Validation / Data Storage]Validierung der angeschlossenen IO-Link Devices und automatische Wiederherstellung der Parametersätze des IO-Link Devices• [No check and clear]:– keine Validierung– keine Datenspeicherung und Datenwiederherstellung• [Type compatible V1.0 device]:– Validierung (IO-Link V1.0)– keine Datenspeicherung und Datenwiederherstellung• [Type compatible V1.1 device]:– Validierung (IO-Link V1.1)– keine Datenspeicherung und Datenwiederherstellung• [Type compatible V1.1 device with Backup + Restore]:– Validierung (IO-Link V1.1)– Datenspeicherung und Datenwiederherstellung• [Type compatible V1.1 device with Restore]:– Validierung (IO-Link V1.1)– Datenwiederherstellung– keine Datenspeicherung r w12
[Vendor ID]Hersteller-ID des IO-Link Devices, gegen die validiert werden sollz. B. 310: ifm electronic gmbh r w12
[Device ID]Geräte-ID des IO-Link Devices, gegen die validiert werden sollz. B. 1129: TCC501 (ifm-Temperatursensor) r w12

1 lesen und schreiben
2 Parameter nur verfügbar, wenn Betriebsart Pin 4 (US) = IO-Link und IO-Link Device an Port angeschlossen ist

Um die Gerätevalidierung und die Sicherung / Wiederherstellung von Parameterwerten zu konfigurieren:

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.

√ Betriebsart des Pin 4 des Ports ist "IO-Link".
▶ Menü [Port x] > [IO-Link] (x = 1...8) wählen.
▷ Menüseite zeigt aktuelle Einstellungen.
▶ Parameter für Gerätevalidierung und Sicherung / Wiederherstellung der Parameterwerte einstellen.
▶ Optional: Hersteller-ID und Geräte-ID eingeben.
- ▶ Änderungen auf dem Gerät speichern.
▶ Gerätevalidierung und Sicherung / Wiederherstellung der Parameterwerte sind konfiguriert.

9.1.5.5 Rückfallwerte einstellen

Der Anwender kann für den Konfigurationsmodus "Independent" die Rückfallwerte der Ausgänge der IO-Link-Ports einstellen. Die Rückfallwerte werden bei einer Unterbrechung der Ether
Net/IP-Verbindung aktiv.

Verfügbare Parameter:

ParameterBeschreibungWertebereichZugriff
[Fail-safe digital out]Rückfallwert für des Ausgangs für Betriebsart "Digitaler Ausgang (DO)"• [Reset]: Defaultwert• [Old]: letzter aktiver Prozesswert• [Set]: HIGH-Pegel rw12
[Fail-safe IO-Link]Rückfallwert des Ausgangs für Betriebsart "IO-Link"• [Off]: Fail-safe deaktiviert• [Reset]: Fail-safe aktiviert – Defaultwert• [Old]: Fail-safe aktiviert - letzter aktiver Prozesswert• [Pattern]: Fail-safe aktiviert - Bytefolge rw12

1 lesen und schreiben
2 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
√ Konfigurationsmodus "Independent" ist aktiv.
▶ Menü [Port x] (x = 1...8) wählen.

▷ Menüseite zeigt aktuelle Einstellungen.

▶ Rückfallwerte einstellen.
▶ Geänderte Werte auf das Gerät schreiben.
▷ Rückfallwerte sind konfiguriert.

9.1.6 Geräteinformationen

Das Menü [Info] bietet Zugriff auf die Identifikationsinformationen des Geräts.

9.1.6.1 Identifikationsinformationen lesen

Verfügbare Informationen:

Um die Geräteinformationen zu lesen:

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.

√ Detailansicht des Geräts ist aktiv.
▶ Menü [Info] wählen.
▷ Menüseite zeigt die Identifikationsinformationen.

9.1.7 Gerätesteuerung

Das Menü [Firmware] bietet Zugriff auf Funktionen zur Steuerung des Geräts.

9.1.7.1 Gerät auf Werkseinstellungen zurücksetzen

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
▶ Menü [Firmware] wählen.
▶ Auf [Factory Reset] klicken.
▷ Gerät wird auf Werkseinstellungen zurückgesetzt.
▷ Alle Parameter werden auf ihre Default-Werte gesetzt.
▷ Gerät wird neu eingelesen.

9.1.7.2 Gerät neu starten

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
▶ Menü [Firmware] wählen.
▶ Auf [Reboot] klicken.
▷ Gerät wird neu gestartet.
▷ Alle eingestellten Parameterwerte bleiben erhalten.

9.1.7.3 Firmware aktualisieren

Um die Firmware des Geräts zu aktualisieren:

Voraussetzungen:

√ Neue Firmware wurde heruntergeladen: documentation.ifm.com
√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.

▶ In Kopfzeile: Auf ↑ klicken.
▷ Dialogfenster erscheint.

▶ Auf [Firmware-Datei importieren] klicken.

▷ Datei Explorer erscheint.

▶ Firmware-Datei (.bin) wählen und auf [Öffnen] klicken.

▷ Neue Firmware-Datei ist ausgewählt.

▶ Auf [OK] klicken.

▷ Firmware des Geräts wird aktualisiert.
▷ Status des Aktualisierungsvorgangs wird angezeigt.

▷ Firmware des Geräts ist aktualisiert.

9.1.8 Firmware aktualisieren

Um die Firmware des Geräts zu aktualisieren:

Voraussetzungen:

√ Neue Firmware wurde heruntergeladen: documentation.ifm.com
√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.

▶ In Kopfzeile: Auf ↑ klicken.
▷ Dialogfenster erscheint.

▶ Auf [Firmware-Datei importieren] klicken.

▷ Datei Explorer erscheint.

▶ Firmware-Datei (.bin) wählen und auf [Öffnen] klicken.

▷ Neue Firmware-Datei ist ausgewählt.

▶ Auf [OK] klicken.

▷ Firmware des Geräts wird aktualisiert.
▷ Status des Aktualisierungsvorgangs wird angezeigt.

▷ Firmware des Geräts ist aktualisiert.

Das Gerät unterstützt den Zugriff auf die angeschlossenen IO-Link Devices (Sensoren, Aktuatoren).

IFM AL1326 - IO-Link Devices parametrieren - 1

Informationen zu den Parametern des IO-Link Devices:

→ Betriebsanleitung IO-Link Device
→ IODD-Beschreibung des IO-Link Devices

Voraussetzungen:

√ ifm moneo|configure ist gestartet.
√ Betriebsart Pin 4 (US) des Ports mit dem IO-Link Device ist „IO-Link“.
√ IoT besitzt Lese- und Schreibrechte für den IO-Link Master.
√ IO-Link Device ist korrekt mit einem IO-Link Port des Geräts verbunden.
√ Lokale IODD-Bibliothek von ifm moeno|configure enthält die IODD des IO-Link Devices.

▶ Netzwerk nach Geräten scannen. ▷ ifm moneo|configure erkennt den IO-Link Master.

▶ Verbindung zum IO-Link Master herstellen. ▷ Parametriersoftware erkennt das angeschlossene IO-Link Device.

▶ In der Zeile des IO-Link Device: Auf 🔒 klicken. ▷ Detailansicht des IO-Link Devices erscheint. ▷ Detailansicht zeigt die aktuellen Parameterwerte des IO-Link Devices.

IFM AL1326 - IO-Link Devices parametrieren - 2

Abb. 1: Beispiel: Detailansicht des Sensors MVQ101

▶ IO-Link Device parametrieren.
▶ Geänderte Konfiguration auf dem IO-Link Device speichern.
▷ IO-Link Device ist parametriert.

9.2 ifm IoT-Core REST API

9.2.1 ifm IoT-Core: Allgemeine Informationen

Das Gerät verfügt über den ifm IoT-Core. Der ifm IoT-Core repräsentiert die Funktionalität des Geräts. Die Funktionalität besteht aus einer Menge aus Daten, Diensten und Ereignissen. Die Elemente des ifm IoT-Core sind in einem JSON-Objekt in einer hierarchischen Baumstruktur angeordnet. Der ifm IoT-Core stellt diese Elemente über Standard-Schnittstellen (z. B. HTTP) der Außenwelt zur Verfügung stellt. So können der Anwender und andere Geräte auf Daten (Parameter, Prozessdaten), Ereignisse (Events) und Funktionen (Dienste) des Geräts zugreifen.

9.2.1.1 Auf den ifm IoT Core zugreifen

Der Zugriff auf ein Element des ifm IoT-Core erfolgt über dessen Adresse (z. B. root/port1/pin2). Die Adresse setzt sich zusammen aus dem zum Element führenden Pfad (root/port1) und dem Identifier des Elements (pin2).

Der Anwender kann über HTTP-Requests auf den ifm IoT-Core zugreifen. Folgende Methoden werden unterstützt.

POST-Methode

Zugriff: lesend, schreibend

Syntax der Anfrage (Request):

{
    "code": "code_id",
    "cid": id,
    "adr": "data_point/service",
    "data": {req_data},
    "auth": {"user": "usr_id", "passwd": "password"}
} 
FeldParameterBeschreibung
codecode_idDienstklasserequest: Anfragetransaction: Transaktionevent: Ereignis
cididCorrelation ID für die paarweise Zuordnung von Anfrage und Rückgabe; vom Nutzer frei zu vergebende Kennung
adrdata_pointDatenpunkt inkl. Pfad, auf den zugegriffen werden soll
serviceDienst, mit den Datenpunkt zugegriffen werden soll
data 1 req_dataDaten, die an den ifm IoT Core gesendet werden (z. B. neue Werte); Syntax abhängig vom Dienst
auth 2 usr_idNutzername (BASE64-codiert); Default: administrator
passwordPasswort (BASE64-codiert)

1 optional; nur erforderlich bei Diensten, die Daten an den ifm IoT Core senden (z. B. setdata)
2 optional; nur erforderlich, wenn Sicherheitsmodus aktiviert ist

Syntax der Antwort (Response):

{
    "cid": id,
    "data": {resp_data},
    "code": diag_code
} 
FeldParameterBeschreibung
cididCorrelation ID für die Zuordnung von Anfrage und Rückgabe (→ Request)
data1resp_dataWerte, die vom ifm IoT Core zurückgegeben werden; Syntax abhängig vom Dienst
codediag_codeDiagnosecode

1 optional; nur verfügbar bei Diensten, die Daten vom ifm IoT Core empfangen (z. B. getdata)

Beim fehlerhaften azyklischen Zugriff auf angeschlossene IO-Link Devices werden gerätespezifische Fehlercodes ausgegeben.

Syntax der Antwort (Response) bei fehlerhaftem Zugriff:

{
    "cid": id,
    "error": err_code,
    "code": diag_code
} 
FeldParameterBeschreibung
cididCorrelation ID für die Zuordnung von Anfrage und Rückgabe (→ Request)
errorerr_codegerätespezifischer Fehlercode (→ IO Device Description (IODD) des IO-Link Devices)
codediag_codeDiagnosecode

Beispiel: POST-Request

Anfrage (Request):

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

Antwort (Response):

{
    "cid": -1,
    "data": {"value":"Do not use"},
    "code": 200
} 

9.2.2 Erste Schritte

Um die Gerätebeschreibung des Geräts zu lesen:

▶ Folgende POST-Anfrage an den ifm IoT Core senden: {"code":"request","cid):-1,"adr":"gettree"}
▷ ifm IoT Core gibt die Gerätebeschreibung als strukturiertes JSON-Objekt zurück.
▶ In der Baumstruktur des JSON-Objekts alle Unterstrukturen und die enthaltenen Datenpunkte identifizieren.
▶ Die anwendbaren Dienste für den Zugriff auf Unterstrukturen und darin enthaltene Datenpunkte identifizieren.

9.2.3 Allgemeine Funktionen

Das Gerät besitzt den Typ device (→ Typen ☐ 74). Auf das Wurzelelement des Gerätebaums können folgende Dienste angewendet werden:

DienstBeschreibung
../gettreeGesamtbaum oder Teilbaum der Gerätebeschreibung (JSON) ausgeben
../getidentityIdentifikationsinformationen des Geräts lesen
../getdatamultiMehrere Elemente sequenziell lesen
../getelementinfoDetaillierte Informationen eines Elements lesen
../getsubscriberlistListe mit allen aktiven Benachrichtigungsabonnements ausgeben
../querytreeGerätebeschreibung nach spezifischen Elementen durchsuchen

Auf Elemente vom Typ data können in Abhängigkeit von den gesetzten Zugriffsrechten folgende Dienste angewendet werden:

DienstBeschreibung
../getdataWert des Elements lesen
../setdataWert des Elements schreiben

9.2.3.1 Beispiel: Eigenschaften eines Elements lesen

Aufgabe: Datentyp und Wertebereich des Parameters accessrights bestimmen

Lösung: Mit Dienst getelementinfo die Eigenschaften des Elements iotsetup/accessrights lesen. Die Felder "type" (Datentyp) und "valuation" (Wertebreich) enthalten die benötigten Informationen.

Anfrage (Request):

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

Antwort (Response):

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

Der Parameter accessrights hat den Datentyp ENUM mit den gültigen Werten "Fieldbus + IoT", "Fieldbus + IoT (read only)" und "IoT only".

9.2.3.2 Beispiel: Teilbaum ausgeben

Aufgabe: Alle direkten Unterelemente des Knotens firmware ausgeben.

Lösung: Mit Dienst gettree den gewünschten Teilbaum ausgeben (Wurzelknoten: firmware, zu zeigende Unterebenen: 1)

Anfrage (Request):

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

Antwort (Response):

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

9.2.3.3 Beispiel: Einen Parameterwert ändern

Aufgabe: Der Parameter Application Tag des Geräts soll mit dem Wert „Do not use“ geschrieben werden. Der neue Wert soll nur bis zum nächsten Neustart des Geräts gültig sein.

Lösung: Mit Dienst setdata den neuen Wert des Elements /devicetag/applicationtag schreiben. Um den neuen Wert nur bis zum nächsten Neustart des Geräts zu halten, die Option "duration" mit dem Werte uptime übergeben.

Anfrage (Request):

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

Antwort (Response):

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

9.2.3.4 Beispiel: Mehrere Elemente sequenziell lesen

Aufgabe: Folgende aktuelle Werte des Geräts sollen nacheinander gelesen werden: Temperatur, Seriennummer

Lösung: Die aktuellen Parameterwerte mit dem Dienst getdatamulti lesen (Datenpunkt Temperatur: /processdatamaster/temperature; Datenpunkt Seriennummer: /deviceinfo/serialnumber)

Anfrage (Request):

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

Antwort (Response):

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

9.2.3.5 Beispiel: Gerätebeschreibung durchsuchen

Aufgabe: Alle Elemente mit dem Profil "timer" auflisten.

Lösung: Mit dem Dienst querytree die Gerätebeschreibung mit dem Parameter "timer" (profile) durchsuchen.

Anfrage (Request):

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

Antwort (Response):

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

9.2.4 IoT: Zugriffsrechte konfigurieren

Das Gerät kann parallel in eine Feldbus-Umgebung sowie in eine IT-Netzwerkstruktur für IIoT-Anwendungen integriert werden („Y-Weg“).

IFM AL1326 - IoT: Zugriffsrechte konfigurieren - 1

Änderungen des Datenpunkts accessrights sind erst wirksam nach einem Neustart des Geräts: Gateway: Gerät zurücksetzen, neu starten und lokalisieren (→ ☐ 55)

Unterstruktur: iotsetup

Verfügbare Datenpunkte:

Bei der Parametrierung der Zugriffsrechte mit dem ifm IoT Core folgende Hinweise beachten:

  • Wenn die Zugriffsrechte in Feldbus-Projektierungssoftware und im ifm IoT Core auf den Wert [Fieldbus + IoT] eingestellt sind, dann gelten immer die feldbusseitig eingestellten Parameterwerte.
  • Für einen exklusiven Zugriff auf das Gerät über den ifm IoT Core die Zugriffsrechte auf den Wert [IoT only] setzen und in der Feldbus-Projektierungssoftware die Zugriffsrechte auf [Keep settings] setzen.
  • Wenn die Zugriffsrechte im ifm IoT Core auf den Wert [Fieldbus + IoT (read only)] eingestellt sind, dann können die Zugriffsrechte über den ifm IoT Core nicht mehr geändert werden. Um mit dem ifm IoT Core wieder Schreibzugriff zu erhalten, in der Feldbus-Projektierungssoftware die Zugriffsrechte auf den Wert [Fieldbus + IoT] setzen.

9.2.5 IoT: IP-Einstellungen konfigurieren

Unterstruktur: iotsetup/network

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../dhcpDHCP-Modus aktivieren / deaktivierenstatic ip: DHCP-Client deaktiviert; IP-Parameter werden vom Anwender gesetztdhcp: DHCP-Client aktiviert; IP-Parameter werden vom DHCP-Server des Netzwerks gesetzt rw1
../ipaddressIP-Adresse der IoT-Schnittstellez. B. 192.68.1.100169.254.x.x (Default) rw1
../subnetmaskSubnetzmaske des Ethernet-Netzwerksegmentsz. B. 255.255.255.0255.255.0.0 (Default) rw1
../ipdefaultgatewayIP-Adresse des Netzwerk-Gatewaysz. B. 192.169.1.10.0.0.0 (Default) rw1

1 lesen und schreiben

Anwendbare Dienste:

NameBeschreibung
../setblockalle Datenpunkte der Unterstruktur blockweise schreiben

IFM AL1326 - IoT: IP-Einstellungen konfigurieren - 1

Die Datenpunkte der Unterstruktur nur mit dem Dienst setblock schreiben!

9.2.6 IoT: Sicherheitsmodus konfigurieren

Das Gerät bietet einen Sicherheitsmodus. Der Sicherheitsmodus ermöglicht es, den Zugriff auf IO-Link Master und angeschlossene IO-Link Devices aus dem IT-Netzwerk heraus zu schützen. Bei aktiviertem Sicherheitsmodus gelten folgende Einschränkungen:

  • Zugriff nur per Authentifizierung (Passwortschutz)
  • Zugriff nur über verschlüsselte Verbindung (TLS – Transport Layer Security)

IFM AL1326 - IoT: Sicherheitsmodus konfigurieren - 1

Der Sicherheitsmodus schützt nur den Zugriff und die Datenübertragung über die IoT-Schnittstelle.

▷ Der Nutzername administrator ist nicht änderbar.
▷ Das gesetzte Passwort kann nicht mit getdata gelesen werden.

Der aktuelle Status des Sicherheitsmodus kann mit dem Dienst getidentity (→ Dienst: getidentity ☐ 76) gelesen werden.

Für die Authentifizierung muss der Anwender den POST-Requests zusätzlich das Feld auth mit gültigem Nutzername und Passwort übergeben. Nutzername und Passwort werden als Base64-codierte Zeichenketten dargestellt.

Folgende Anfragen können bei aktiviertem Sicherheitsmodus auch ohne Authentifizierung ausgeführt werden:

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

Unterstruktur: iotsetup

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../security/securitymodeSicherheitsmodus aktivieren / deaktivierendisabled: Sicherheitsmodus deaktiviertenabled: Sicherheitsmodus aktiviertrw 1
../security/passwordPasswort für Authentifizierung (Base64-codiert)wo 2

1 lesen und schreiben
2 nur schreiben

IFM AL1326 - IoT: Sicherheitsmodus konfigurieren - 2

Gültiger Zeichensatz für die Base64-Kodierung / Dekodierung des Passworts: UTF-8

Online-Werkzeug für Kodierung / Dekodierung: www.base64encode.org

9.2.6.1 Beispiel: Sicherheitsmodus aktivieren

Aufgabe: Der Sicherheitsmodus der IoT-Schnittstelle soll aktiviert werden. Als gültiges Passwort soll "password" gesetzt werden (BASE64-codiert: cGFzc3dvcmQ=).

Lösung: Den Sicherheitsmodus über den Datenpunkt iotsetup/security/securitymode aktivieren. Das gewünschte Passwort auf den Datenpunkt iotsetup/security/password schreiben.

Sicherheitsmodus aktivieren

Anfrage (Request):

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

Antwort (Response):

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

Passwort setzen

Anfrage (Request):

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

Antwort (Response):

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

9.2.6.2 Beispiel: Anfrage mit Authentifikation

Aufgabe: Die Temperatur des IO-Link Masters soll gelesen werden. Die Sicherheitsfunktion ist aktiviert (aktuelles Passwort: password).

Lösung: Den Datenpunkt processdatamaster/temperature lesen. Die Anfrage muss mit https gesendet werden. Nutzername und Passwort werden als BASE64-codierte Zeichenketten übergeben ("administrator" = "YWRtaW5pc3RyYXRvcg==", "password" = "cGFzc3dvcmQ=").

Anfrage (Request):

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

Antwort (Response):

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

9.2.6.3 Beispiel: Passwort zurücksetzen

Aufgabe: Das existierende Passwort soll rückgesetzt werden.

Lösung: Um ein Passwort rückzusetzen, den Sicherheitsmodus deaktivieren. Den Sicherheitsmodus über den Datenpunkt iotsetup/security/securitymode deaktivieren Für die Deaktivierung ist die Eingabe des Nutzernamens und des Passworts notwendig (Felder "user" und "passwd").

Anfrage (Request):

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

Antwort (Response):

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

9.2.7 IoT: Schnittstelle zur Monitoring-Software einstellen

Um die Übertragung der Prozessdaten des IO-Link Master zu Monitoring-Software (z. B. ifm moneo suite) zu ermöglichen, muss die Schnittstelle entsprechend konfiguriert werden.

Unterstruktur: iotsetup

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../smobipIP-Adresse der Monitoring-Softwarez. B. 255.255.255.255 (Default) rw1
../smobportPortnummer der Monitoring-Software0: 0...35100: 35100 (Default)...65535: 65535 rw1
../smobintervalIntervall für die Datenübertragung zur Monitoring-Software (Wert in Millisekunden)0: Off - keine Übertragung (Default)500: 500 ms...2147483647: 2147483647 ms rw1

1 lesen und schreiben

9.2.8 Fieldbus: Ether
Net/IP-Schnittstelle konfigurieren

Für die Kommunikation mit dem Ether
Net/IP-Netzwerk muss die Ether
Net/IP-Schnittstelle konfiguriert werden.

Unterstruktur: fieldbussetup

Verfügbare Datenpunkte:

NameBeschreibungWerteZugriff
../network/dhcpStatus des DHCP-Clients0: Statische IP-Adresse1: DHCP (Dynamic Host Configuration Protocol)2: BOOTP (Bootstrap Protocol) rw1
../network/ipaddressIP-Adresse der Ethernet-Schnittstellez. B. 192.200.0.100192.168.1.250 (Default) rw12
../network/subnetmaskSubnetzmaske des Netzwerksegmentsz. B. 255.255.192.0255.255.255.0 (Default) rw12
../network/ipdefaultgatewayIP-Adresse des Netzwerk-Gatewaysz. B. 192.200.63.10.0.0.0 (Default) rw12
../network/macaddressMAC-Adresse der Ethernet-Schnittstellez. B. 00:02:01:0E:10:7C ro3
../hostnameEther
Net/IP-Hostname
z. B. alxx2x rw1
../fieldbusfirmwareFeldbus-Firmwarez. B. 5.3.0.10 (Ether
Net/IP Adapter)
ro3
../connectionstatusStatus der Feldbusverbindung0: Nicht verbunden1: Verbunden ro3

1 lesen und schreiben
2 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist
3 nur lesen

Anwendbare Dienste:

NameBeschreibung
../network/setblockalle Werte der Unterstruktur blockweise schreiben

IFM AL1326 - Fieldbus: EtherNet/IP-Schnittstelle konfigurieren - 1

▶ Die Parameter in der Unterstruktur network nur blockweise mit dem Dienst setblock ändern!

9.2.9 Fieldbus: Ether
Net/IP-Konfigurationsmodus einstellen

Das Gerät unterstützt die Ether
Net/IP-Konfigurationsmodi „Top-Down Mode“ und „Independent Mode“.

Unterstruktur: fieldbussetup/configuration

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../independentmodeKonfigurationsmodus0: Independent Mode aus1: Independent Mode ein r w12
../explicitmodepdVerbidnungstypen (Input Assembly, Output Assembly)0: Explicit Process Data Mode aus1: Explicit Process Data Mode mit IO-Link I/O + Acyclic + Diag2: Explicit Process Data Mode mit IO-Link I/O + Acyclic3: Explicit Process Data Mode mit IO-Link I/O r w12
../processdataconfigurationLänge der Prozessdaten0: 2 Bytes Input 2 Bytes Output1: 4 Bytes Input 4 Bytes Output2: 8 Bytes Input 8 Bytes Output3: 16 Bytes Input 16 Bytes Output4: 32 Bytes Input 32 Bytes Output r w12
../swapTausch der Bytes in Prozessdaten0: aus1: ein r w12

1 lesen und schreiben
2 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

9.2.10 Fieldbus: Rückfallwerte der Ausgänge einstellen

Für den Fall einer Unterbrechung der Ether
Net/IP-Verbindung können Rückfallwerte für die konfigurierten Ausgänge der Ports eingestellt werden.

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../failsafedigitaloutRückfallwert für digitalen Ausgang – Pin 4 (DO)0: Failsafe – Reset value: Defaultwert1: Failsafe – Old value: letzter aktiver Wert2: Failsafe - Set value: HIGH-Pegel r w12
../failsafeiolinkRückfallwert für IO-Link Ausgangs-daten – Pin 4 (IO-Link)0: No Failsafe: Fail-safe deaktiviert1: Failsafe - Reset value: Fail-safe aktiviert - Defaultwert2: Failsafe – Old value: Fail-safe aktiviert – letzter aktiver Prozesswert3: Failsafe with Pattern: Fail-sage aktiviert - Bytefolge r w12

1 lesen und schreiben
2 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

9.2.11 Ports: Betriebsart Pin 4 (US) einstellen

Der Pin 4 der Ports X01... X08 unterstützt folgende Betriebsarten:

  • Deaktiviert: keine Datenübertragung an Pin 4 (C/Q) des Ports
    • Digitaler Eingang: binäres Eingangssignal an Pin 4 (C/Q) des Ports
    • Digitaler Ausgang: binäres Ausgangssignal an Pin 4 (C/Q) des Ports
    • IO-Link: IO-Link-Datentransfer über Pin 4 (C/Q) des Ports

Die eingestellte Betriebsart muss zum Betriebsmodus des am Port angeschlossenen Geräts passen (Sensor, Aktuator, IO-Link Device).

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
.../modeBetriebsart des Pin 4 (US) des Ports0: Disabled - Port deaktiviert1: DI - Digitaler Eingang2: DO - Digitaler Ausgang3: IO-Link - IO-Link-Daten rw12
../mastercycletime_actualAktuelle Zykluszeit der Datenübertragung zwischen Port und IO-Link Device (Wert in μs)0: bestmögliche Zykluszeit1: 1 μs...132800: 132800 μs ro3
../comspeedAktuelle Übertragungsrate zwischen Port und IO-Link Device0: COM1 - 4,8 kBaud1: COM2 - 38,4 kBaud2: COM3 - 230,4 kBaud ro3
../mastercycletime_presetZykluszeit der Datenübertragung zwischen Port und IO-Link Device (Wert in μs); nur in Betriebsart IO-Link0: Bestmögliche Zykluszeit automatisch einstellen1: 1 μs...132800: 132800 μs rw12

1 lesen und schreiben

2 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

3 nur lesen

9.2.12 Ports: Gerätevalidierung und Datenspeicherung konfigurieren

Das Gerät unterstützt die Funktionen Gerätevalidierung und Sicherung / Wiederherstellung von Parameterdaten der angeschlossenen IO-Link Devices.

Folgende Optionen sind verfügbar:

OptionValidierung des angeschlossenen IO-Link DevicesSicherung der ParameterwerteWiederherstellung der Parameterwerte
[No check and clear]NeinNeinNein
[Type compatible V1.0 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.0NeinNein
[Type compatible V1.1 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1NeinNein
[Type compatible V1.1 device with Backup + Restore]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1 und Baugleichheit (Vendor ID, Device ID)Ja, automatische Sicherung der Parameterwerte; Änderungen der aktuellen Parameterwerte werden gespeichertJa, Wiederherstellung der Parametwerte bei Anschluss eines baugleichen IO-Link Devices im Auslieferungszustand
[Type compatible V1.1 device with Restore]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1 und Baugleichheit (Vendor ID, Device ID)Nein, keine automatische Sicherung; Änderungen der Parameterwerte werden nicht gespeichertJa, Wiederherstellung der Parametwerte bei Anschluss eines baugleichen IO-Link Devices im Auslieferungszustand

Gerätevalidierung und Sicherung / Wiederherstellung der Parameterwerte sind nur verfügbar, wenn die Betriebsart „IO-Link“ des Ports aktiviert ist.

Für Optionen [Type compatible V1.1 device with Backup + Restore] und [Type compatible V1.1 device with Restore]: Bei Änderungen der Parameter [Vendor ID] oder [Device ID] im Online-Modus wird der Datenspeicher gelöscht und eine neue Sicherung der Parameterwerte des angeschlossenen IO-Link Devices im IO-Link Master erzeugt.

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../validation_datastorage_modeVerhalten des Ports beim Anschluss der eines neuen IO-Link Devices0: No check and clear1: Type compatible V1.0 device2: Type compatible V1.1 device3: Type compatible V1.1 device with Backup + Restore4: Type compatibe V1.1. device with Restore rw12
../validation_vendoridIO-Link-ID des Herstellers, der validiert werden soll0...655535 rw12
../validation_deviceidIO-Link-ID des Geräts, das validiert werden soll0...16777215 rw12
../datastorageStruktur für Data Storage des Ports- rw12
../datastorage/maxsizemaximale Größe des Data-Storage-Inhalts (in Bytes)z. B. 2066: 2066 Bytes ro3
../datastorage/chunksizeGröße eines Datensegments (in Bytes)z. B. 256: 256 Bytes ro3
../datastorage/sizeGröße der Data-Storage-Inhalts (in Bytes)z. B. 1024: 2 Bytes ro3

1 lesen und schreiben

2 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

3 nur lesen

Anwendbare Dienste:

NameBeschreibung
../validation_useconnecteddeviceIO-Link Device validieren
../datastorage/getblobdataInhalt des Data-Storage-Bereichs lesen
../datastorage/stream_setEinzelnes Datensegment übertragen
../datastorage/start_stream_setSequenzielle Übertragung mehrerer Datensegmente starten

Aufgabe: Der Datenspeicher des Ports 2 von IO-Link Master 1 soll nach IO-Link Master 2 geklont werden.

Lösung: Das Klonen besteht aus 2 Schritten. Im ersten Schritt wird der Datenspeicher des Ports von IO-Link Master 1 gelesen. Im zweiten Schritt werden die gelesenen Daten in den Datenspeicher des Ports von IO-Link Master 2 gespeichert.

Datenspeicher lesen

▶ Segmentgröße des Data Storage lesen (h = Anzahl der Bytes)

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

Beispiel: h = 256

▶ Gesamtgröße des Data Storage lesen (g = Anzahl der Bytes)

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

Beispiel: g = 550

▶ Anzahl der Leseschritte n berechnen: n = erster ganzzahliger Wert, für den gilt: g < n*h

Beispiel: n= 3, da 550 < 3*256

▶ Segmentweise den Data Storage lesen ("pos" gibt den Byte-Offset an, an dem mit der Länge "length" der Lesevorgang startet).

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

Beispiel:

  1. Lesebefehl: pos = 0, length = 256
  2. Lesebefehl: pos = 256, length = 256
  3. Lesenebefehl: pos = 512, length = 256

Jedes Segment wird als BASE64-codierter String zurückgegeben.

▶ Segmente verbinden (konkatenieren).

Datenspeicher wiederherstellen

▶ Größe des gesicherten Data-Storage-Inhalts ermitteln (n = Anzahl der Bytes).

Beispiel: n = 550

▶ Segmentgröße lesen (s = Anzahl der Bytes)

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

Beispiel: s = 256

▶ Segmentweises Schreiben des Data-Storage-Strings starten ("size" = Größe des gelesenen Data Storage)

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

Beispiel: size = 550

▶ Segmentweise Data-Storage-String übertragen ("value" = String-Wert mit Länge s)

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

9.2.13 Ports: Datenübertragung zu Monitoring-Software einstellen

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../senddatatosmobÜbertragung der Prozessdaten zur Monitoring-Software aktivieren / deaktivieren0: Disabled – Prozessdaten werden nicht übertragen1: Enabled – Prozessdaten werden übertragenrw 1

1 lesen und schreiben

9.2.14 Ports: Prozessdaten lesen / schreiben

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../pin2inDigitaler Eingang (Pin 2)0: OFF1: ONro 1
../iolinkdevice/pdinEingangsdaten (Pin 4)Betriebsart "DI":0x00: OFF0x01: ONBetriebsart "IO-Link":Prozesswert in Hexadezimaldarstellungro 1
../iolinkdevice/pdoutAusgangsdaten (Pin 4)Betriebsart "DO":0x00: OFF0x01: ONBetriebsart "IO-Link":Prozesswert in Hexadezimaldarstellungrw 2\ 3

1 nur lesen

2 lesen und schreiben

3 lesen und schreiben; Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

Aufgabe: Den aktuellen Messwert des ifm-Temperatursensors TN2531 an Port 2 lesen.

Lösung: Den Wert des Datenpunkts pdin lesen.

Anfrage (Request):

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

Antwort (Response):

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

Der Rückgabewert wird im Hexadezimalformat dargestellt. Der Rückgabewert enthält neben dem Temperaturwert zusätzliche Informationen ( → IO Device Description (IODD) des Sensors). Der Temperaturwert wird in den Bits 2 bis 15 abgebildet.

0x03C9 = 0b1111001001 

Temperaturwert: 0b11110010 = 242

Daraus folgt: Der aktuelle Temperaturwert ist 24,2 °C.

Aufgabe: Der Buzzer des DV2500 an Port 2 soll eingeschaltet werden. Der DV2500 arbeitet im On/Off-Modus.

Lösung: Den Wert des Datenpunkts pdout schreiben. Die IODD des DV2500 zeigt die Struktur des Prozesswerts (z. B. LED-Aktivität). Der Buzzer wird über Bit 40 des Prozesswerts geschaltet (OFF = 0, ON = 1).

Ablauf:

  1. Den aktuellen Prozesswert lesen: Beispiel: IO-Link Prozesswert lesen (Betriebsart "IO-Link") (→ 47)
  2. Bit 40 des gelesenen Werts auf 1 setzen.
  3. Neuen Prozesswert schreiben.

Beispiel:

Gelesener Prozesswert:

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

Neuer Prozesswert:

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

Anfrage (Request):

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

Antwort (Response):

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

9.2.14.3 Beispiel: Digitalen Eingangswert lesen (Betriebsart "DI")

Aufgabe: Der digitale Eingangswert des IO-Link Devices an Port 2 (Pin 4) soll gelesen werden. Die Betriebsart des IO-Link Ports ist "Digital Input (DI)".

Lösung: Den Prozesswert des Datenpunkts pdin lesen. Der Prozesswert wird als Hexadezimalwert mit der Länge von 1 Byte zurückgegeben (OFF = "00", ON = "01").

Anfrage (Request):

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

Antwort (Response):

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

9.2.14.4 Beispiel: Digitalen Ausgangswert schreiben (Betriebsart "DO")

Aufgabe: Der digitale Ausgangswert des IO-Link Devices an Port 2 (Pin 4) soll auf ON gesetzt werden. Die Betriebsart des IO-Link Ports ist "Digital Output (DO)".

Lösung: Den Prozesswert des Datenpunkts pdout schreiben. Der Wert muss als Hexadezimalwert mit der Länge von 1 Byte übergeben werden (OFF = "00", ON = "01").

Anfrage (Request):

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

Antwort (Response):

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

9.2.15 Ports: Port-Events lesen

Ein Port-Event enthält Informationen über Ereignisse am IO-Link Port (z. B. IO-Link Device angeschlossen oder getrennt, Änderung der Betriebsart des Ports).

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../porteventPort-Event
Struktur: 0xYYZZ000xYY: Device Status – Status des IO-Link Devices0xZZ: Connection Status – Status der Verbindung
Device Status:0x00: Kein IO-Link Device angeschlossen0x40: Falsches IO-Link Device angeschlossen0x80: IO-Link Device angeschlossen und in Zustand PREOPERATE0xFF: IO-Link Device angeschlossen und in Zustand OPERATEConnection Status:0x00: Port deaktiviert0x01: Port aktiviert, aber kein Gerät angeschlossen0x02: Port aktiviert und in Betriebsart „IO-Link“0x03: Port aktiviert und in Betriebsart „DI“0x04: Port aktiviert und in Betriebsart „DO“0x1B: Wiederholungen erkannt0x1E: Kurzschluss erkannt an Pin 40x42: Falsche Revision des IO-Link Devices0x43: Falsche Vendor ID (V1.1 Revision)0x44: Falsche Device ID (V1.1 Revision)0x45: Falsche Vendor ID (V1.0 Revision)0x46: Falsche Device ID (V1.0 Revision)0x48: Falsche Zykluszeitro 1

1 nur lesen

9.2.16 Timer: Zeitgeber konfigurieren

Das Gerät verfügt über 2 Zeitgeber. Die Zeitgeber können für die zeitgesteuerte Übertragung von Benachrichtigungen genutzt werden.

Die Zeitgeber sind werkseitig aktiv.

Unterstruktur: timer[1] / timer[2]

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../counterZählerstand0...4294967295 rw1
../intervalZählintervall (Wert in ms)1000: 1000 ms...86400000: 86400000 ms rw1
../interval/unitEinheit des Zählintervallsms: Millisekunden ro2

1 lesen und schreiben
2 nur lesen

9.2.16.1 Zählintervall einstellen

Aufgabe: Das Zählintervall des Zeitgebers 2 soll auf 2,5 s eingestellt werden.

Lösung: Mit dem Dienst setdata den neuen Wert 2500 auf den Datenpunkt /timer[2]/interval schreiben (2500 ms = 2,5 s).

Anfrage (Request):

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

Antwort (Response):

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

Der ifm IoT Core unterstützt den Zugriff auf die Parameter von angeschlossenen IO-Link Devices über das IT-Netzwerk per ISDU (Index Service Data Unit). Jeder Parameter ist über seinen ISDU Index und ISDU Subindex adressierbar ( → IODD des IO-Link Devices). Bei einem fehlerhaften Zugriff auf das IO-Link Device wird in der Antwort zusätzlich der ISDU Fehlercode ausgegeben ( → IODD des IO-Link Devices).

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

Anwendbare Dienste:

NameBeschreibung
../iolreadacyclicParameter eines IO-Link Devices lesen (azyklisch)
../iolwriteacyclicParameter eines IO-Link Devices schreiben (azyklisch)

Bei Nutzung des Validierungslevels „Type compatible V1.1 Device with Backup + Restore“:

Nach der Änderung eines Parameters per ISDU-Schreibzugriff muss der Anwender mit dem Systembefehl „Param
DownloadStore“ den Parametriervorgang beenden und den ▷ Data-Storage-Mechanismus auf dem IO-Link Device aktivieren.

▶ Per ayzklischem ISDU-Schreibzugriff das Objekt System
Command (ISDU-Index: 0x0002) auf den Wert 0x05 (Befehl „Param
DownloadStore“) setzen.
▷ Parametriervorgang wird beendet.
Data-Storage-Mechanismus auf IO-Link Device wird aktiviert.
▷ IO-Link Device synchronisiert geänderte Parameterwerte mit Data Storage des IO-Link Masters.

Aufgabe: Seriennummer des ifm-Temperatursensors TN2531 an Port 2 lesen.

Lösung: Die Seriennummer mit dem Dienst iolreadacyclic aus dem IO-Link Devices lesen (Index: 21, Subindex: 0)

Anfrage (Request):

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

Antwort (Response):

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

Der zurückgegebene Wert wird im Hexadezimalformat dargestellt. Die Konvertierung des HEX-Werts in einen STRING-Wert ergibt: G0214280710.

Aufgabe: Die Ausgangskonfiguration OUT1 des ifm-Temperatursensors TN2531 an Port 2 auf den Wert "Hnc / Hysteresefunktion, Öffner" setzen.

Lösung: Den Parameter [ou1] des Sensors mit dem Dienst iolwriteacyclic auf den Wert 4 setzen. Auf den Parameter kann über IO-Link Index 580, Subindex 0 zugegriffen werden (→ IODD-Beschreibung des Sensors).

Anfrage (Request):

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

Der Wert muss im Hexadezimalformat übergeben werden. Die Konvertierung des STRING-Werts in einen HEX-Wert ergibt: 34.

Antwort (Response):

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

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../statusStatus des angeschlossenen IO-Link Devices0: State not connected – Zustand Nicht verbunden1: State preoperate – Zustand PREOPERATE2: State operate – Zustand OPERATE3: State communication error – Zustand Kommunikationsfehlerro 1
../vendoridIO-Link ID des Herstellersz. B. 310: ifm electronicro 1
../deviceidIO-Link ID des IO-Link Devicesz. B. 712: ifm Drucksensor PV7003ro 1
../productnameProduktname des IO-Link Devicesz. B. PV7003ro 1
../serialSeriennummer des IO-Link Devicesz. B. 000008500706ro 1
../applicationspecifictagAnwendungsspezifische Kennung (Application Tag)z. B. sensor1_machine3rw 2

1 nur lesen
2 lesen und schreiben

Das Gerät unterstützt IO-Link Events. IO-Link Events sind Ereignis- und Fehlermeldungen. IO-Link Events können im IO-Link Master und in den angeschlossenen IO-Link Devices generiert werden. In den IO-Link Devices generierte IO-Link Events werden an den IO-Link Master weitergeleitet und dort gespeichert.

Ein IO-Link-Event-Nachricht besitzt folgende Struktur:

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

Legende

InstanceIO-Link Evnet Qualifier: Auslöser1 Byte0x00: unbekannt0x01: PL (Physical Layer)0x02: DL (Data Layer)0x03: AL (Application Layer)0x04: APPL (Application)
ModeIO-Link event Qualifier: Ereignis-Auslöser1 Byte0x40: einmaliges Ereignis oder Warnung (Single Shot)0xC0: Fehler verschwunden (Disappeared)0x80: Fehler erschienen (Appeared)
TypeIO-Link Event Qualifier: Ereignis-Kategorie1 Byte0x10: Benachrichtigung0x20: Warnung0x30: Fehler
ValidityGültigkeit der Prozessdaten1 Byte0x00: gültig0x40: ungültig
SourceIO-Link Event Qualifier: Ereignis-Quelle1 Byte0x00: IO-Link Device0xFF: IO-Link Master
Event CodeIO-Link Event Code (Bytes sind getauscht!)2 Bytes → IO-Link Spezifikation

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

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../iolinkeventIO-Link EventSiehe Hinweisro 1\ 2

1 nur lesen
2 Parameter nur verfügbar, wenn Betriebsart Pin 4 (US) = IO-Link und IO-Link Device an Port angeschlossen ist

9.2.20 Gateway: Anwendungskennung einstellen

Unterstruktur: devicetag

Verfügbare Datenpunkte:

NameBeschreibungWerteZugriff
../applicationtagBezeichnung des Geräts (Application Tag)z. B. “factory 2 plant 1“rw 1

1 lesen und schreiben

Für die Speicherung des Parameters applicationtag stehen auf dem Gerät 32 Byte zur Verfügung. Wird der Speicherbereich überschritten, bricht das Gerät den Schreibvorgang ab (Diagnosecode 400).

▶ Beim Schreiben des Parameters applicationtag den unterschiedlichen Speicherbedarf der einzelnen UTF-8-Zeichen beachten (Zeichen 0-127: 1 Byte pro Zeichen; Zeichen >127: mehr als 1 Byte pro Zeichen).

9.2.21 Gateway: Firmware aktualisieren

Unterstruktur: firmware

Verfügbare Datenpunkte:

NameBeschreibungWerteZugriff
../versionFirmware-VersionAL1x2x_cn_ei_v3.1.95ro 1
../typeSoftware-Typfirmwarero 1
../containerStruktur für Firmware (BLOB)-wo 2
../container/maxsizeGröße Container (in Bytes)z. B. 4194304ro 1
../container/chunksizeGröße Datensegment (in Bytes)z. B. 4096ro 1
../container/sizeGröße Firmware-Datei in Container (in Bytes)z. B. 634523ro 1

1 nur lesen
2 nur schreiben

Anwendbare Dienste:

NameBeschreibung
../installFirmware installieren
../container/stream_setEinzelnes Datensegment übertragen
../container/start_stream_setSequenzielle Übertragung mehrerer Datensegmente starten

ifm electronic empfiehlt, die Firmware über den IoT Core Visualizer ( → IoT-Core Visualizer ☐ 66) zu aktualisieren.

9.2.22 Gateway: Zustands- und Diagnoseinformationen lesen

Unterstruktur: processdatamaster

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../temperatureTemperatur des Geräts (Wert in °C)-30: -30°C...80: 80°Cro 1
../temperature/unitPhysikalische Einheit der Temperatur°Cro 1
../voltageaktueller Spannungswert der Geräteversorgung US (Wert in mV)0: 0 mV...40000: 40000 mVro 1
../voltage/unitPhysikalische Einheit der SpannungmVro 1
../currentaktueller Stromstärkewert der Geräteversorgung US (Wert in mA)0: 0 mA...40000: 40000 mAro 1
../current/unitPhysikalische Einheit der StromstärkemAro 1
../supervisionstatusStatus der Geräteversorgung US0: OK1: Fehlerro 1

1 nur lesen

9.2.23 Gateway: Geräteinformationen lesen

Unterstruktur: deviceinfo

Verfügbare Datenpunkte:

Zusätzliche Informationen über das Geräts können mit dem Dienst getidentity (→ Dienst: getidentity ☐ 76) gelesen werden.

9.2.24 Gateway: Gerät zurücksetzen, neu starten und lokalisieren

Unterstruktur: firmware

Anwendbare Dienste:

NameBeschreibung
../factoryresetGerät auf Werkseinstellungen zurücksetzen
../rebootGerät neu starten
../signalBlinken der Status-LEDs auslösen

9.2.25 Benachrichtigungen

Die ifm IoT Core bietet die Möglichkeit, Benachrichtigungen zu verschicken. Eine Benachrichtigung kann die aktuellen Werte einzelner oder mehrerer Prozessdaten enthalten.

Benachrichtigungen können entweder ereignisgesteuert oder zeitgesteuert ausgelöst werden.

Benachrichtigungen können mit folgenden Protokollen übertragen werden:

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

Benachrichtigungen können in folgenden Formaten übertragen werden:

  • JSON
  • CSV

Die Aktivitätsdauer einer Benachrichtigung kann eingestellt werden:

  • once: Benachrichtigung ist nur einmalig aktiv und wird dann gelöscht
  • uptime: Benachrichtigung ist bis zum nächsten Neustart des Geräts aktiv und wird dann gelöscht
    • lifetime: Benachrichtigung ist dauerhaft aktiv

Benachrichtigungen werden mit dem Dienst subscribe eingerichtet (→ Dienst: subscribe ☐ 81).

Aktive Benachrichtigungen können mit dem Dienst subscribe geändert werden (→ Dienst: subscribe ☐ 81).

Alle aktiven Benachrichtigungen können mit dem Dienst getsubscriberlist angezeigt werden (→ Dienst: getsubscriberlist ☐ 76).

Informationen über eine aktive Benachrichtigung können mit dem Dienst getsubscriptioninfo angezeigt werden (→ Dienst: getsubscriptioninfo ☐ 77).

Aktive Benachrichtigungen können mit dem Dienst unsubscribe abgemeldet werden (→ Dienst: unsubscribe ☐ 82).

9.2.25.1 Ereignisgesteuerte Benachrichtigungen

Alle Elemente des ifm IoT-Cores mit einem Unterelement vom Typ event können als Auslöser für ereignisgesteuerte Benachrichtigungen genutzt werden.

NameBeschreibung
../datachangedKnoten für die Anzeige von Wertänderungen des übergeordneten Datenknotens
../eventcollectionKnoten für die Anzeige von Wertänderungen mehrerer Datenknoten des IoT-Cores
../treechangedKnoten für die Anzeige von Strukturänderungen im IoT-Core

Anwendbare Dienste:

NameBeschreibung
../subscribeBenachrichtigungen anmelden
../unsubscribeBenachrichtigungen abmelden
../getsubscriptioninfoInformationen über Benachrichtigungen anzeigen

9.2.25.2 Zeitgesteuerte Benachrichtigungen

Der ifm IoT-Core bietet 2 Zeitgeber, die als Auslöser für zeitgesteuerte Benachrichtigungen genutzt werden können.

NameBeschreibung
../timer[1]/counter/datachangedZähler des Zeitgerbers 1
../timer[2]/counter/datachangedZähler des Zeitgebers 2

Die Intervallzeit der Zeitgeber kann eingestellt werden. Jeder Zählimpuls löst eine Benachrichtigung aus.

Anwendbare Dienste:

NameBeschreibung
../subscribeBenachrichtigungen anmelden
../unsubscribeBenachrichtigungen abmelden
../getsubscriptioninfoInformationen über Benachrichtigungen anzeigen

9.2.25.3 Beispiel: Benachrichtigung abonnieren

Aufgabe: Es sollen regelmäßig aller 0,5 Sekunden die aktuellen Werte folgender Parameter an einen Netzwerk-Server mit der IP-Adresse 192.168.0.4/temp verschickt werden:

  • zyklische Eingangsdaten des IO-Link Devices an IO-Link Port 2
    • Betriebstemperatur des IO-Link Masters.

IFM AL1326 - Beispiel: Benachrichtigung abonnieren - 1

Folgende Optionen sind zusätzlich verfügbar:

Per WebSockets (ws://): Beispiel: WebSockets nutzen (→ 64)

Per MQTT (mqtt://): Beispiel: ▶ MQTT-Verbindung konfigurieren und aktivieren (→ 62)

Lösung:

▶ Mit dem subscribe-Dienst die erforderlichen Daten abonnieren.
• Anfrage (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"]
    }
} 

▶ Den Timer auf 500 ms setzen.

• Anfrage (Request):

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

- Antwort (Response):

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

• Benachrichtigung (Format: JSON)

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

9.2.25.4 Beispiel: Benachrichtigung ändern

Aufgabe: Das existierende Abonnement soll geändert werden (→ Beispiel: Benachrichtigung abonnieren ☐ 56). Anstatt der Temperatur des IO-Link Masters soll die anliegende Betriebsspannung übertragen werden.

Lösung: Das existierende Abonnement überschreiben. Dafür müssen in der Anfrage die Parmeterwerte für "cid" und "callback" gleich denen des existierenden Abonnements sein.

• Anfrage (Request):

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

9.2.25.5 Beispiel: Benachrichtigung im CSV-Format abonnieren

Aufgabe: Es sollen aller 2 Sekunden die aktuellen Werte folgender Parameter an einen Netzwerk-Server mit der IP-Adresse 192.168.0.4 verschickt werden:

  • zyklische IO-Link-Eingangsdaten des IO-Link Devices an Port 2
    • Betriebstemperatur des IO-Link Masters.

Die Daten sollen im CSV-Format (Komma-Seperator) übertragen werden.

Lösung:

▶ Mit dem subscribe-Dienst die erforderlichen Daten abonnieren und das Ausgabeformat auf "csv0" setzen.

IFM AL1326 - Beispiel: Benachrichtigung im CSV-Format abonnieren - 1

Daten im CSV-Format können nur per TCP-Verbindung verschickt werden.

• Anfrage (Request):

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

▶ Das Intervall des Timers auf 2 Sekunden setzen.
• Anfrage (Request):

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

Die zyklische gesendete Benachrichtigung hat folgende Struktur:

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

9.2.25.6 Beispiel: Benachrichtigung abmelden

Aufgabe: Das existierende Abonnement Beispiel: Benachrichtigung abonnieren (→ ☐ 56) soll gelöscht werden.

Lösung: Mit dem Dienst unsubscribe das Abonnement löschen. Dafür muss in der Anfrage der Wert des Parameters "callback" gleich dem des existierenden Abonnements sein.

• Anfrage (Request):

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

9.2.25.7 Beispiel: Benachrichtigung prüfen

Aufgabe: Informationen über das existierende Abonnement Beispiel: Benachrichtigung abonnieren (→ ☐ 56) anzeigen.

Lösung: Mit Dienst getsubscriptioninfo und den Parameterwerten "cid", "adr" und "callback" des existierenden Abonnements die Informationen abrufen.

• Anfrage (Request):

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

- Antwort (Response):

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

9.2.25.8 MQTT-Unterstützung

Der ifm IoT Core unterstützt das MQTT-Protokoll. MQTT ermöglicht es einem Client über einen Broker mit dem ifm IoT Core zu kommunizieren, um Daten anzufordern und zu empfangen. Der ifm IoT Core kann Nachrichten an einen MQTT-Broker veröffentlichen (publish).

▶ MQTT-Verbindungen nur über den IoT-Port X23 des Geräts erzeugen.

Um eine MQTT-Kommunikation zu ermöglichen, muss der Anwender den ▶ MQTT-Kommandokanal konfigurieren. Die Konfiguration umfasst folgende Teilschritte:

▶ Prüfen, ob MQTT-Broker erreichbar ist.
▶ Prüfen, ob der gewünschte Port des MQTT-Brokers offen ist.
▶ MQTT-Kommandokanal aktivieren.
▶ MQTT-Kommandokanal konfigurieren.
▶ MQTT-Verbindung konfigurieren.
▷ MQTT-Verbindung ist konfiguriert und aktiviert.

MQTT-Verbindung konfigurieren

Das folgende Zustandsdiagramm zeigt den Einfluss der Dienste start, stop und reset auf den aktuellen Zustand einer MQTT-Verbindung:

IFM AL1326 - MQTT-Unterstützung - 1

Nach erfolgreicher Initialisierung im Zustand [init] wechselt die Verbindung automatisch in den Zustand [running].

Die Verbindung nimmt automatisch den Zustand [error] ein, wenn mindestens eins der folgenden Ereignisse aufritt:

- kein MQTT-Broker erreichbar

Maximale Anzahl der MQTT-Broker: 1 Maximale Anzahl gleichzeitiger MQTT-Verbindungen: 3

Unterstruktur: connections/mqtt
Connection

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../typeTyp der Verbindung (MQTT)mqtt: MQTT-Verbindungro 1
../statusStatus der MQTT-Verbindunginit: Zustand [init] – Initialisierungstopped: Zustand [stopped] – Verbindung angehaltenrunning: Zustand [running] – Verbindung läufterror: Zustand [error] - Fehlerzustandro 1
../status/presetVoreinstellung des Status der MQTT-Verbindungrunning: Status [running] (Default)ro 1
../MQTTSetupUnterstruktur für allgemeine MQTT-Einstellungen
../MQTTSetup/QoSQualitiy of Service (QoS) der MQTT-Verbindung0: QoS Level 0 - PUBLISH (ohne Bestätigung) (Default)1: QoS Level 1 - PUBLISH > PUBREC (Einfache Bestätigung)2: QoS Level 2 - PUBLISH > PUBREL > PUBCOMP (Doppelte Bestätigung)rw 2
../MQTTSetup/versionMQTT-Versionz. B. 3.1.1ro 1

1 nur lesen
2 lesen und schreiben

Anwendbare Dienste:

NameBeschreibung
../status/startMQTT aktivieren.
../status/stopMQTT deaktivieren.
../status/resetMQTT zurücksetzen.

MQTT-Kommandokanal konfigurieren

Sicherstellen, dass der MQTT-Broker erreichbar ist und der gewählte Port des MQTT-Brokers für die Datenübertragung freigegeben ist.

Die Wildcards „+“ und „#“ in Topic-Namen werden nicht unterstützt.

Unterstruktur: connections/mqtt
Connection/mqtt
CmdChannel

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../typeType des Kommandokanals• mqtt: MQTT-Kommandokanal (Default)ro 1
../statusStatus des Kommandokanals• init: Zustand [init]• stopped: Zustand [stopped]• running: Zustand [running] (Default)• error: Zustand [error]ro 1
../status/presetVoreingestellter Kanalzustand• running: Zustand RUN (Default)ro 1
../mqtt
CmdChannel
Setup
Unterstruktur für Einstellungen des Kommandokanals--
../mqtt
CmdChannel
Setup/brokerIP
▶ IP-Adresse des MQTT-Brokersz. B. 3.69.1.9rw 2
../mqtt
CmdChannel
Setup/broker-Port
▶ Portnummer des MQTT-Brokersz. B. 1883rw 2
../mqtt
CmdChannel
Setup/cmdTopic
Bezeichnung des MQTT-Kommando-Topicsz. B. reqTopic rw2
../mqtt
CmdChannel
Setup/default-Reply
Topic
Bezeichnung des Standard-MQTT-Antwort-Topicsz. B. resp
Topic
rw2

1 nur lesen
2 lesen und schreiben

Anwendbare Dienste:

NameBeschreibung
../status/startMQTT-Kommandokanal starten
../status/stopMQTT-Kommandokanal stoppen
../status/resetMQTT-Kommandokanal zurücksetzen

Beispiel: MQTT-Verbindung konfigurieren und aktivieren

Aufgabe: MQTT-Verbindung konfigurieren und aktivieren (IP-Adresse des MQTT-Brokers:

192.168.82.100, Port: 1883, Kommando-Topic: reqTopic, Standard-Antwort-Topic: resp
Topic, Quality of Service: Level 2)

Lösung:

▶ Prüfen, ob MQTT-Broker erreichbar ist und der Port freigegeben wurde.
▶ QoS-Stufe einstellen.

Anfrage (Request):

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

}

▶ MQTT-Verbindung aktivieren.

Anfrage (Request):

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

▶ IP-Adresse des MQTT-Brokers einstellen.

Anfrage (Request):

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

▶ Portnummer des MQTT-Brokers einstellen.

Anfrage (Request):

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

▶ Kommando-Topic einstellen.

Anfrage (Request):

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

▶ Standard-Antwort-Topic einstellen.

Anfrage (Request):

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

Beispiel: ▶ Temperatur an MQTT-Broker veröffentlichen

Aufgabe: Temperatur des Geräts soll aller 5 Sekunden an einen MQTT-Broker veröffentlicht werden (IP-Adresse: 192.168.82.100, Port: 1883, Topic: device
Temp).

Lösung:

▶ Intervall des Zeitgebers 1 einstellen

Anfrage (Request):

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

▶ Temperatur an MQTT-Broker veröffentlichen

Anfrage (Request):

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

Antwort (Response):

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

9.2.25.9 WebSocket-Untertsützung

Der ifm IoT-Core unterstützt die Kommunikation per WebSocket-Protokoll. Mit WebSockets kann der Anwender einen Full-Duplex-Kommunikationskanal über eine TCP-Verbindung aufbauen.

WebSocket-Verbindungen können für folgende Dienste genutzt werden:

  • subscribe
  • unsubscribe

IFM AL1326 - WebSocket-Untertsützung - 1

Maximale Anzahl der gleichzeitigen WebSocket-Verbindungen: 8 Sichere WebSocket-Verbindungen (wss://) werden nicht unterstützt.

Um Benachrichtigungen über eine WebSicket-Verbindung zu übertragen:

▶ WebSocket-Verbindung herstellen (z. B. "ws://192.168.0.55:80/mywebsocket")
• Option 1: ohne Parameter "callback"
▶ subscribe-/unsusbribe-Anfrage ohne Parameter "callback" senden.
▷ ifm IoT Core sendet Benachrichtigungen über existierende WebSocket-Verbindung.
• Option 2: mit Parameter "callback"
▶ subscribe-/unsubscribe-Anfragen mit Parameter "callback" ("ws://myTopic") senden.
▷ ifm IoT Core sendet Benachrichtigungen über existierende WebSocket-Verbindung an das Topic myTopic.

Beispiel: WebSockets nutzen

Aufgabe: Es sollen regelmäßig die aktuellen Werte folgender Parameter über eine existierende WebSocket-Verbindung an die Datensenke myTopic verschickt werden:

  • Produktname des IO-Link Devices an IO-Link Port 2
  • zyklische Eingangsdaten des IO-Link Devices an IO-Link Port 2
    • Betriebstemperatur des IO-Link Masters

Lösung: Mit dem subscribe-Dienst die erforderlichen Daten abonnieren.

• Anfrage (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"]
    }
} 

Sollen die Benachrichtigungen über die existierende WebSocket-Verbindung, aber ohne spezielle Datensenke übertragen werden, kann der callback-Parameter entfallen.

• Anfrage (Request):

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

9.3 IoT-Core Visualizer

Der IoT-Core Visualizer bietet eine grafische Benutzeroberfläche für den Zugriff auf die Funktionen des ifm IoT-Cores.

9.3.1 IoT-Core Visualizer starten

Um den IoT-Core Visualizer zu starten:

Voraussetzungen:

√ IoT-Schnittstelle ist ordnungsgemäß konfiguriert.
▶ Webbrowser starten.
▶ Folgende URL aufrufen: http:///web/subscribe (z. B. http://192.168.82.100/web/subscribe)
▷ Webbrowser zeigt die Startseite des IoT-Core Visualizers.

Über das Navigationsmenü hat der Anwender Zugriff auf folgende Funktionen:

  • [Notification]: Benachrichtigungen verwalten (→ 67)
    • [Elements]: Elemente des IoT Core suchen (→ 68)
    • [Parameter]: IO-Link Master konfigurieren (→ 69)
    • [Processdata]: Auf Prozessdaten zugreifen (→ 70)
    • [Update]: Firmware aktualisieren (→ 71)

9.3.2 Benachrichtigungen verwalten

Die Menüseite [Notifications] bietet Zugriff auf folgende Funktionen:

• Benachrichtigungen erstellen
• Aktive Benachrichtigungen anzeigen
- Benachrichtigungen löschen (einzeln, alle)

Voraussetzungen:

√ IoT-Core Visualizer ist gestartet.
▶ Menü [Notification] wählen.
▷ Menüseite für die Verwaltung von Benachrichtigungen erscheint.
▷ Tabelle zeigt alle aktiven Benachrichtigungen.

9.3.2.1 Neue Benachrichtigung erstellen

Die Anmeldung neuer Benachrichtigungen erfolgt mithilfe eines Wizards.

Voraussetzungen:

√ Menüseite [Notification] ist geöffnet.
▶ Am rechten Rand der Tabelle auf + klicken.
▷ Wizard für die Erstellung von Benachrichtigungen erscheint.
▶ Mithilfe des Wizards schrittweise die gewünschten Benachrichtigungsparameter eingeben.
▷ Wizard erzeugt Benachrichtigung.
▷ Erstellte Benachrichtigung wird in Tabelle angezeigt.

IFM AL1326 - Neue Benachrichtigung erstellen - 1

▶ Bei zyklischen Benachrichtigungen über timer[1] oder timer[2] die Intervallzeit des betreffenden Timers setzen.

9.3.2.2 Benachrichtigung löschen

Um eine aktive Benachrichtigung zu löschen:

Voraussetzungen:

√ Menüseite [Notification] ist geöffnet.
√ Mindestens eine Benachrichtigung ist aktiv.
▶ In Spalte [Unsubscribe] auf Symbol × klicken.
▷ Gewählte Benachrichtigung wird gelöscht (unsubscribe).

9.3.3 Elemente des IoT Core suchen

Die Menüseite [Elements] ermöglicht es, den IoT-Core-Baum nach Elementen mit bestimmten Eigenschaften zu durchsuchen und die Ergebnisse auszugeben.

Nach den folgenden Eigenschaften kann gesucht werden:

• [identifier]: Name des Elements
• [profile]: Profil des Elements
• [type]: Typ des Elements

Voraussetzungen:

√ IoT-Core Visualizer ist gestartet.
√ Menü [Elements] ist aktiv.
▶ In den Auswahllisten [identifier], [profile] und [type] die Suchkriterien für das gewünschte Element wählen.
▶ Auf [Search for...] klicken.
▷ IoT-Core Visualizer durchsucht Gerätebeschreibung nach Elementen mit gewählten Suchkriterien.
▷ Ergebnisliste zeigt alle gefundenen Elemente.

Die Menüseite [Parameter] ermöglicht es, den IO-Link Master zu konfigurieren.

Verfügbare Optionen:

  • Einzelne Parameter lesen und schreiben.
  • Aktuelle Konfiguration des Geräts sichern und wiederherstellen.

Voraussetzungen:

√ IoT-Core Visualizer ist gestartet.
▶ Menü [Parameter] wählen.
▷ Menüseite zeigt verfügbare Parameter des IO-Link Masters.
▷ Aktuelle Parametwerte werden angezeigt.
▶ Optional: Auf ○ neben einem Element klicken, um den Prozesswert manuell zu aktualisieren.

Um einen Parameter zu ändern:

▶ In Gerätebeschreibung zum gewünschten Parameter navigieren.

▶ Parameterwert ändern.

▶ Auf ✿ klicken, um die Änderung auf dem IO-Link Master zu speichern.

▷ Der geänderte Parameterwert ist aktiv.

▶ Optional: Vorgang wiederholen, um weitere Parameterwerte zu ändern.

9.3.5 Auf Prozessdaten zugreifen

Die Menüseite [Processdata] ermöglicht es, die Prozessdaten des IO-Link Masters und der angeschlossenen IO-Link Devices zu lesen und zu schreiben.

Voraussetzungen:

√ IoT-Core Visualizer ist gestartet.
▶ Menü [Processdata] wählen.
▷ Menüseite zeigt die Unterstrukturen der Gerätebeschreibung, die Prozessdaten und Events enthalten.
▷ Aktuelle Prozesswerte werden angezeigt.
▶ Optional: Option [Polling] aktivieren und Aktualisierungsintervall ändern.
▷ Prozesswerte werden mit dem eingestellten Intervall aktualisiert.
▶ Optional: Auf ☉ neben einem Element klicken, um den Prozesswert manuell zu aktualisieren.

Um den Wert eines Prozessdatums zu ändern:

▶ In Gerätebeschreibung zum gewünschten Prozessdatum navigieren.
▶ Prozesswert ändern.
▶ Auf ✅ klicken, um die Änderung auf dem IO-Link Master zu speichern.
▷ Änderung werden auf dem IO-Link Master gespeichert.
▷ Der geänderte Prozesswert ist aktiv.
▶ Optional: Vorgang wiederholen, um weitere Prozesswerte zu ändern.

9.3.6 Firmware aktualisieren

Die Menüseite [Update] bietet die Möglichkeit, die Firmware des Geräts zu aktualisieren:

Voraussetzungen:

√ IoT-Core Visualizer ist gestartet.
√ Neue Firmware wurde heruntergeladen: documentation.ifm.com
▶ Menü [Update] wählen.
▷ Menüseite zeigt Informationen zur aktuellen Firmware-Version.

IFM AL1326 - Firmware aktualisieren - 1

▶ Auf [Load software file] klicken und neue Firmware-Datei (*.bin) wählen.
▶ Auf [Update] klicken, um den Aktualisierungsprozess zu starten.
▷ Firmware des Geräts wird aktualisiert.
▷ Fortschritt des Aktualisierungsprozesses wird angezeigt.
▷ Nach erfolgreicher Aktualisierung: Gerät startet automatisch neu.

9.4 Ether
Net/IP

9.4.1 Hinweis: Startup Packages

ifm electronic stellt Startup Packages bereit für die Integration des Geräts in Ether
Net/IP-Umgebungen mit Steuerungen verschiedener Hersteller.

Die Startup Packages können kostenlos von der ifm-Webseite heruntergeladen werden: documentation.ifm.com

10 Wartung, Instandsetzung und Entsorgung

Der Betrieb des Geräts ist wartungsfrei.

▶ Gerät nach dem Gebrauch gemäß den gültigen nationalen Bestimmungen umweltgerecht entsorgen.

10.1 Gehäuseoberfläche reinigen

Die Oberfläche des Geräts bei Bedarf reinigen.

▶ Gerät von der Versorgungsspannung trennen.
▶ Verschmutzungen mit einem weichen, chemisch unbehandelten und trockenen Tuch entfernen.
▶ Bei starker Verschmutzung ein mit Wasser befeuchtetes Tuch verwenden.
▶ Für die Reinigung keine ätzenden Reinigungsmittel verwenden!

10.2 Firmware aktualisieren

Die Firmware des Geräts kann über die folgenden Methoden aktualisiert werden:

  • ifm IoT-Core Visualizer: Firmware aktualisieren (→ 71)
  • ifm moneo: Firmware aktualisieren (→ 28)

11 Anhang

11.1 ifm IoT-Core

11.1.1 Profile

ProfilBeschreibung
blobBinary Large Object
deviceinfoIdentifikationsinformationen eines Geräts
devicetagGerätespezifische Kennzeichnung
iolinkdevice_fullIO-Link Device
iolinkmasterIO-Link Master
networkNetzwerk
parameterParameter
processdataProzessdaten
serviceDienst
softwareSoftware
software/uploadablesoftwareaktualisierbare Software
timerZähler

11.1.2 Typen

TypBeschreibung
dataDatenpunkt
deviceWurzelelement, das ein Gerät repräsentiert
eventEreignis, das durch die Firmware ausgelöst werden kann und Benachrichtigungen verschickt
serviceDienst, der aus dem Netzwerk heraus angesprochen werden kann
structureStrukturelement (z. B. ein Ordner im Dateisystem)

11.1.3 Dienste

11.1.3.1 Dienst: factoryreset

Name: factoryreset

Beschreibung: Der Dienst setzt die Parameter des Geräts auf die Werkseinstellungen.

Anfrage (Feld "data"): keine

Antwort (Feld "data"): keine

11.1.3.2 Dienst: getblobdata

Name: getblobdata

Beschreibung: Der Dienst liest ein Binary Large Object (blob).

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
PosobligatorischNUMBERByte-Position
lengthobligatorischNUMBERGröße des Objekts (Anzahl an Bytes)

Antwort (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
dataobligatorischSTRINGzu dekodierende Daten (BASE64-codiert)
crcoptionalHEX STRINGCRC der Daten nach der Dekodierung
md5optionalHEX STRINGMD5-Prüfsumme der Daten nach der Dekodierung

11.1.3.3 Dienst: getdata

Name: getdata

Beschreibung: Der Dienst liest den Wert eines Datenpunkts und gibt diesen aus.

Anfrage (Feld "data"): keine

Antwort (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
valueobligatorischSTRINGWert des Datenpunkts

11.1.3.4 Dienst: getdatamulti

Name: getdatamulti

Beschreibung: Der Dienst liest sequenziell die Werte mehrerer Datenpunkte und gibt diese aus. Für jeden Datenpunkt werden der Wert und ein Diagnosecode ausgegeben.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
datatosendobligatorischARRAY OF STRINGSListe von Datenpunkten, die abgefragt werden sollen; Datenpunkte müssen den Dienst getdata unterstützen ("datatosend": ["url1", "url2", ..., "urlx"])

Antwort (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
urlobligatorischSTRINGDatenpunkt, der abgefragt wurde
codeobligatorischINTDiagnosecode der Abfrage
dataobligatorischSTRINGWert des Datenpunkts

11.1.3.5 Dienst: getelementinfo

Name: getelementinfo

Beschreibung: Der Dienst liest die Eigenschaften eines Elements des IoT-Baums.

Anfrage (Feld „data“):

ParameterPflichtfeldDatentypBeschreibung
adrobligatorischSTRINGURL des Elements, dessen Eigenschaften gelesen werden sollen

Rückgabe (Feld „data“):

ParameterPflichtfeldDatentypBeschreibung
identifierobligatorischSTRINGBezeichner des Elements
typeobligatorischSTRINGTyp des Elements
formatoptionalJSON-ObjektFormat der Daten oder des Serviceinhalts
uidoptionalSTRING
profilesoptionalJSON-AR-RAYProfile des Elements
hashoptionalSTRING

11.1.3.6 Dienst: getidentity

Name: getidentity

Beschreibung: Der Dienst liest Geräteinformationen und gibt die aus.

Anfrage (Feld „data“): keine

Rückgabe (Feld „data“):

ParameterPflichtfeldDatentypBeschreibung
iotdeviceGerätebeschreibung als JSON-Objekt
iot.nameobligatorischSTRINGTyp des Elements
iot.uidoptionalSTRING
iot.versionobligatorischSTRING
iot.catalogueoptionalARRAY OF OBJECTS
iot.deviceclassoptionalARRAY OF STRINGGeräteklasse
iot.serverlistoptionalARRAY OF OBJECTS
deviceoptionalArtikelnummer
device.serialnumberoptionalSeriennummer
device.hwrevisionoptionalHardware-Version
device.swrevisionoptionalSoftware-Version
device.customoptional

11.1.3.7 Dienst: getsubscriberlist

Name: getsubscriberlist

Beschreibung: Der Dienst liefert eine Liste mit allen aktiven Abonnements.

Anfrage (Feld "data"): keine

Antwort (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
adrobligatorischSTRINGAuslöser für Benachrichtigung
datatosendobligatorischARRAY OF STRINGSListe mit URLs der Datenelemente; URLs sind kommagetrennt
cidobligatorischSTRINGID der aktiven Benachrichtigung
callbackurlobligatorischSTRINGZieladresse für die Benachrichtigungen
durationobligatorischSTRINGAktivitätsdauer

11.1.3.8 Dienst: getsubscriptioninfo

Name: getsubscriptioninfo

Beschreibung: Der Dienst liefert Informationen über eine aktive Benachrichtigung (subscribe). Für die Abfrage müssen folgende Parameter der aktiven Benachrichtigung genutzt werden:

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

Anfrage (Feld „data“):

ParameterPfilchtfeldDatentypBeschreibung
callbackobligatorischSTRINGZieladresse der Benachrichtigungen; komplette URL (z. B. http://ipaddress:port/path)

Rückgabe (Feld „data“):

ParameterPfilchtfeldDatentypBeschreibung
subscriptionobligatorischBOOLStatus der übergebenen Parameter der BenachrichtigungFALSE: Parameter inkorrektTRUE: Parameter korrekt; Benachrichtigung gefunden
datatosendobligatorischSTRINGListe mit URLs der Datenelemente; URLs sind kommagetrennt
cidobligatorischSTRINGID der aktiven Benachrichtigung
callbackurlobligatorischSTRINGZieladresse der Benachrichtigungen

11.1.3.9 Dienst: gettree

Name: gettree

Beschreibung: Der Dienst liest die Gerätebeschreibung des Geräts und gibt sie als JSON-Objekt aus. Die Ausgabe kann auf einen Teilbaum der Gerätebeschreibung begrenzt werden.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
adroptionalSTRINGWurzelelement des Teilbaums
leveloptionalSTRINGmax. Ebene, bis zu der der Teilbaum ausgegeben wird• keine Angabe: alle Ebenen werden angezeigt• 0: keine Unterelemente anzeigen ("subs")• 1: Unterelemente anzeigen• 2: Unterelemente bis zur 2. Ebene anzeigen• 3: Unterelemente bis zur 3. Ebene anzeigen...• 20: Unterelemente bis zur 20. Ebene anzeigen

Antwort (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
identifierobligatorischSTRINGBezeichner des Wurzelelements
typeobligatorischSTRINGTyp des Elements
formatoptionalJSON-ObjektFormat des Dateninhalts
uidoptionalSTRING
profilesoptionalJSON-Array
subsobligatorischJSON-ArrayUnterelemente
hashoptionalSTRING

11.1.3.10 Dienst: install

Name: install

Beschreibung: Der Dienst installiert die in einem Speicherbereich des Geräts gespeicherte Firmware.

Anfrage (Feld „data“): keine

Rückgabe (Feld „data“): keine

11.1.3.11 Dienst: iolreadacyclic

Name: iolreadacyclic

Beschreibung: Der Dienst liest azyklisch den Parameterwert eines IO-Link Devices. Der Zugriff erfolgt über IO-Link Index und Subindex.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
indexobligatorischNUMBERIO-Link Index des Parameters
subindexobligatorischNUMBERIO-Link Subindex des Parameters

Antwort (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
valueobligatorischSTRINGParameterwert (Wert im Hexadezimalformat)

11.1.3.12 Dienst: iolwriteacyclic

Name: iolwriteacyclic

Beschreibung: Der Dienst schreibt azyklisch den Parameterwert eines IO-Link Devices. Der Zugriff erfolgt über IO-Link Index und Subindex.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
indexobligatorischNUMBERIO-Link Index des Parameters
subindexobligatorischNUMBERIO-Link Subindex des Parameters
valueobligatorischSTRINGParameterwert (Wert im Hexadezimalformat)

Antwort (Feld "data"): keine

11.1.3.13 Dienst: querytree

Name: querytree

Beschreibung: Der Dienst durchsucht einen Gerätebaum nach den Kriterien profile, type und identifier und gibt eine Liste aus mit den URLs der gefundenen Elemente. Mindestens eines der Suchkriterien muss angegeben werden. Der Dienst ist nur auf dem Wurzelknoten des Geräts ausführbar.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
profileoptionalSTRINGProfil des gesuchten Elements
typeoptionalSTRINGTyp des gesuchten Elements
identifieroptionalSTRINGName des gesuchten Elements

Antwort (Feld "data"): keine

ParameterPflichtfeldDatentypBeschreibung
urllistobligatorischARRAYArray mit URLs der gefundenen Elemente; URLs sind durch Kommas getrennt

11.1.3.14 Dienst: reboot

Name: reboot

Beschreibung: Der Dienst startet das Gerät neu.

Anfrage (Feld "data"): keine

Antwort (Feld "data"): keine

11.1.3.15 Dienst: reset

Name: reset

Beschreibung: Der Dienst setzt eine Verbindung zurück in den Initialisierungszustand.

Anfrage (Feld "data"): keine

Antwort (Feld "data"): keine

11.1.3.16 Dienst: setblock

Name: setblock

Beschreibung: Der Dienst setzt die Werte mehrerer Datenpunkte einer Struktur gleichzeitig.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
datatosetobligatorischARRAY OF OBJECTSListe von Datenpunkten und deren neuen Werten; Datenpunkte müssen den Dienst setdata unterstützen
consistentoptionalBOOLRückgabe innerhalb einer bestimmten Zeit

Antwort (Feld "data"): keine

11.1.3.17 Dienst: setdata

Name: setdata

Beschreibung: Der Dienst setzt den Wert eines Datenpunkts.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
newvalueobligatorischSTRINGNeuer Wert des Datenpunkts
durationoptionalSTRINGDauer der Speicherung des Wertslifetime: Wert wird mit IoT Core gespeichert; Wert beibt gültig auch nach Neutart des Gerätsuptime: Wert wird bis zum nächsten Neustart des Geräts gespeichert

Antwort (Feld "data"): keine

11.1.3.18 Dienst: setelementinfo

Name: setelementinfo

Beschreibung: Der Dienst setzt die uid eines Elements.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
urlobligatorischSTRINGURL des Elements, das geändert werden soll
uidoptionalSTRINGUID, die gesetzt werden soll
profilesoptionalJSON-Array
formatoptionalJSON-Array

Antwort (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
identifierobligatorischSTRINGBezeichner des Elements
typeobligatorischSTRINGTyp des Elements
formatoptionalJSON-ObjektFormat der Daten oder des Serviceinhalts
uidoptionalSTRING
profilesoptionalJSON-AR-RAY
hashoptionalSTRING

11.1.3.19 Dienst: signal

Name: signal

Beschreibung: Der Dienst löst das Blinken der Status-LEDs des Geräts aus.

Anfrage (Feld "data"): keine

Antwort (Feld "data"): keine

11.1.3.20 Dienst: start

Name: start

Beschreibung: Der Dienst startet eine Funktion (z. B. Verbindung, Timer).

Anfrage (Feld "data"): keine

Antwort (Feld "data"): keine

11.1.3.21 Dienst: start_stream_set

Name: start_stream_set

Beschreibung: Der Dienst startet die sequenzielle Übertragung mehrerer Datenfragmente.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
sizeobligatorischSTRINGGesamtgröße der zu übertragenden Daten (Anzahl der Bytes)

Antwort (Feld "data"): keine

11.1.3.22 Dienst: stop

Name: stop

Beschreibung: Der Dienst stoppt eine Funktion (z. B. Verbindung, Timer).

Anfrage (Feld "data"): keine

Antwort (Feld "data"): keine

11.1.3.23 Dienst: stream_set

Name: stream_set

Beschreibung: Der Dienst übertragt ein Datensegment.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
valueobligatorischBIN (BASE64)Segment der Binärdaten (BASE64-codiert)

Antwort (Feld "data"): keine

11.1.3.24 Dienst: subscribe

Name: subscribe

Beschreibung: Der Dienst erzeugt eine Benachrichtigung.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBechreibung
callbackobligatorischSTRINGZieladresse für Benachrichtigungen; URL-Formate:JSON: http://ipaddress:port/pathJSON: ws://pathMQTT: mqtt://ipadress:port/topicCSV: tcp://ipaddress:port/path
datatosendobligatorischARRAY OF STRINGSListe mit URLs der Datenelemente, die übertragen werden sollen; UR-Ls sind kommagetrennt; Elemente müssen Dienst getdata unterstützen
codecoptionalSTRINGFormat der zurückgegebenen Datenjson: JSON-formatiertcsv: CSV mit Standard-Separator (,)csv0: CSV-formatiert mit Komma-Separator (,)csv1: CSV-formatiert mit Semikolon-Separator (;)
durationoptionalSTRINGDauer der Aktivität der Benachrichtigunglifetime: Anmeldung bleibt dauerhaft aktiv, auch nach Neustart des Gerätsuptime: Anmeldung ist bis zum nächsten Neustart des Geräts aktivonce: Verhalten wie uptime

Antwort (Feld "data"): keine

Benachrichtigungsformat: JSON

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

Benachrichtigungsformat: CSV

SrcURL, EventNo, Event
Status, Event
Data, DataStatus_1, DataValue_1, DataStatus_2, DataValue_2, ...

  • SrcURL: Quelle des Ereignisses (Datenpunkt, auf den der Dienst subscribe aufgeführt wurde)
    • EventNo: Ereignisnummer
    • Event
    Status: Statuscode des Ereignisses
    • Event
    Data: Eventdaten
  • DataStatus_1: Statuscode des 1. Elements in Liste datatosend
  • DataValue_1: Wert des 1. Elements in Liste datatosend
  • DataStatus_2: Statuscode des 2. Elements in Liste datatosend
  • DataValue_2: Wert des 2. Elements in Liste datatosend

11.1.3.25 Dienst: unsubscribe

Name: unsubscribe

Beschreibung: Der Dienst löscht eine aktive Benachrichtigung. Die übergebenen Werte für cid und callback müssen gleich sein wie bei der Erstellung der Benachrichtigung (Dienst: subscribe (→ 81)). Wird als callback der Wert DELETE übergeben, werden alle aktiven Benachrichtigungen gelöscht.

Anfrage (Feld "data"):

ParameterPflichtfeldDatentypBeschreibung
callbackobligatorischSTRINGZieladresse für Benachrichtigungen; URL-Formate:JSON: http://ipaddress:port/pathJSON: ws://pathMQTT: mqtt://ipadress:port/topicCSV: tcp://ipaddress:port/pathDELETE: alle aktiven Benachrichtigungen werden gelöscht

Antwort (Feld "data"): keine

11.1.3.26 Dienst: validation_useconnecteddevice

Name: validation_useconnecteddevice

Beschreibung: Der Dienst prüft, ob Geräte-ID und Hersteller-ID des angeschlossenen IO-Link Devices mit den Datenpunkten /validation_vendorid und /validation_deviceid übereinstimmen.

Anfrage (Feld "data"): keine

Antwort (Feld "data"): keine

11.2 Ether
Net/IP

11.2.1 Parameter

11.2.1.1 Configuration Assembly (Instance 199)

Byte (Offset)Bit
76543210
0Communication Profile
1Port Process Data Size
2...13Port 1 - Port Configuration
14...25Port 2 - Port Configuration
26...37Port 3 - Port Configuration
38...49Port 4 - Port Configuration
50...61Port 5 - Port Configuration
62...73Port 6 - Port Configuration
74...85Port 7 - Port Configuration
86...97Port 8 - Port Configuration

Legende:

  • Communication Profile
    Zugriffsrechte auf die Parameter, Prozessdaten und die Events / Diagnosemeldungen des IO-Link Masters sowie der angeschlossenen IO-Link-Devices
    USINT
    • 0x00: Ether
    Net/IP + LineRecorder
    • 0x01: Ether
    Net/IP + LineRecorder (ro)
    • 0x02: Ether
    Net/IP only
    • 0x03: Keep setting (Default)

- Port Process Data Size

Länge der Prozess-Eingangsdaten und Prozess-Ausgangsdaten pro IO-Link Port

SINT

- 0x00: 2 Bytes

- 0x01: 4 Bytes

- 0x02: 8 Bytes

- 0x03: 16 Bytes

• 0x04: 32 Bytes (Default)

- Port Configuration

Bereich für Konfiguration des Ports (Pin 4)

Mapping: Port Configuration ( → ☐ 85)

Mapping: Port Configuration

Byte (Offset)Inhalt
nPort Mode
n+1Port Cycle Time
n+2Swap
n+3Validation / Data Storage
n+4Vendor ID (VID)[0]
n+5Vendor ID (VID)[1]
n+6Device ID (DID)[0]
n+7Device ID (DID)[1]
n+8Device ID (DID)[2]
n+9Device ID (DID)[3]
n+10Fail Safe Mode Pin4
n+11Fail Safe DO Mode Pin4

Legende:

• Port ModeBetriebsart des Pin 4 des PortsSINT0x00: Disabled0x01: Digital Input (Pin 4)0x02: Digital Output (Pin 4)0x03: IO-Link (Pin 4) (Default)
• Port Cycle TimeZykluszeit der Datenübertragung zwischen IO-Link Master und IO-Link DeviceUSINT0x00: As fast as possible (Default)0x01: 2 ms0x02: 4 ms0x03: 8 ms0x04: 16 ms0x05: 32 ms0x06: 64 ms0x07: 128 ms
• SwapAnordnung der Bytes in Prozessdaten tauschen HINWEIS! Ether
Net/IP nutzt Little-Endian-Format (Intel), IO-Link nutzt Big-Endian-Format (Motorola)
SINT0x00: Enabled0x01: Disabled (Default)
• Validation / Data StorageValidierungsmodus / Data-Storage-ModusSINT0x00: No device check and clear (Default)0x01: Type compatible V1.0 device0x02: Type compatible V1.1 device0x03: Type compatible V1.1 device with Backup + Restore0x04: Type compatible V1.1 device with Restore
• Vendor IDVendor ID des Herstellers des IO-Link Device (für Validierung)Vendor ID = 0x1234
Vendor ID [1]: 0x12
Vendor ID [0]: 0x34
UINT0x0000 (Default)...0x7FFF
• Device IDDevice ID des IO-Link Device (für Validierung)Device ID = 0x00123456
Device ID [3]: 0x00
Device ID [2]: 0x12
Device ID [1]: 0x34
Device ID [0]: 0x56
UDINT0x00000000 (Default)...0x00FFFFFFF
Fail Safe Mode Pin4Rückfall-Modus für Ausgangsdaten des Ports (Pin 4) bei Unterbrechung der Ether
Net/IP-Verbindung (nur gültig, wenn Parameter Port Mode = IO-Link (Pin 4))
SINT0x00: No Fail Safe (Default)0x01: Fail Safe Reset Value0x02: Fail Safe Old Value0x03: Fail Safe with Pattern
Fail Safe DO Mode Pin4Rückfallwert für Ausgangsdaten des Ports (Pin 4) bei Unterbrechung der Ether
Net/IP-Verbindung (nur gültig, wenn Parameter Port Mode = Digital Output (Pin 4))
SINT0x00: Fail Safe Reset Value0x01: Fail Safe Old Value (Default)0x02: Fail Safe Set Value

11.2.2 Zyklische Daten

11.2.2.1 Input Assembly (Instance 100)

Byte (Off-set)Bit
76543210
0...1Digital Input
2...3Status Information
4...45Acyclic Command Channel: Response
46...47Port 1: Port Qualifier Information (PQI)
48...63Port 1: IO-Link Information + IO-Link Events
64...65Port 2: Port Qualifier Information (PQI)
66...81Port 2: IO-Link Information + IO-Link Events
82...83Port 3: Port Qualifier Information (PQI)
84...99Port 3: IO-Link Information + IO-Link Events
100...101Port 4: Port Qualifier Information (PQI)
102...117Port 4: IO-Link Information + IO-Link Events
46...47Port 1: Port Qualifier Information (PQI)
48...63Port 1: IO-Link Information + IO-Link Events
64...65Port 2: Port Qualifier Information (PQI)
66..81Port 2: IO-Link Information + IO-Link Events
82...83Port 3: Port Qualifier Information (PQI)
84...99Port 3: IO-Link Information + IO-Link Events
100...101Port 4: Port Qualifier
Information (PQI)
102...117Port 4: IO-Link Information + IO-Link Events
118...119Port 5: Port Qualifier Information (PQI)
120...135Port 5: IO-Link Information + IO-Link Events
136...137Port 6: Port Qualifier Information (PQI)
138...153Port 6: IO-Link Information + IO-Link Events
154...155Port 7: Port Qualifier Information (PQI)
156...171Port 7: IO-Link Information + IO-Link Events
172...173Port 8: Port Qualifier Information (PQI)
174...189Port 8: IO-Link Information + IO-Link Events
190Port 1: Input Data (n Bytes)
190+nPort 2: Input Data (n Bytes)
190+2nPort 3: Input Data (n Bytes)
190+3nPort 4: Input Data (n Bytes)
190+4nPort 5: Input Data (n Bytes)
190+5nPort 6: Input Data (n Bytes)
190+6nPort 7: Input Data (n Bytes)
190+7nPort 8: Input Data (n Bytes)

Legende:
- Digital Input
- Status Information
Digitale Eingangsdaten der Ports
Statusinformationen des Geräts
Mapping: Digital Input ( → ☐ 89)
Mapping: Status Information ( → ☐ 90)

Acyclic Command Channel: ResponseAzyklischer Kommandokanal - Ant-wortAntwortkanal (Response) ( → ☐ 107)
Port Qualifier Information (PQI)Statusinformationen des IO-Link PortsMapping: Port Qualifier Information (PQI) ( → ☐ 91)
IO-Link Information + IO-Link EventsIO-Link Informationen und IO-Link Events des PortsMapping: IO-Link Information + IO-Link Events ( → ☐ 91)
Input Data (n Bytes)IO-Link Eingangsdaten des Ports (n Bytes)n: {2, 4, 8, 16, 32}; n wird bestimmt durch Parameter Port Process Data SizeUSINTPro Byte:• 0x00...0xFF

Mapping: Digital Input

Byte (Offset)Bit
76543210
nPort 8: DI Pin 4Port 7: DI Pin 4Port 6: DI Pin 4Port 5: DI Pin 4Port 4: DI Pin 4Port 3: DI Pin 4Port 2: DI Pin 4Port 1: DI Pin 4
n+1Port 8: DI Pin 2Port 7: DI Pin 2Port 6: DI Pin 2Port 5: DI Pin 2Port 4: DI Pin 2Port 3: DI Pin 2Port 2: DI Pin 2Port 1: DI Pin 2

Legende:

- DI Pin 4 Signalstatus digitaler Eingang an Pin 1 BIT - 0x0: LOW

4 des Ports • 0x1: HIGH

- DI Pin 2 Signalstatus digitaler Eingang an Pin 1 BIT - 0x0: LOW

2 des Ports • 0x1: HIGH

Mapping: Status Information

Byte (Offset)Bit
76543210
nPort 8: SC / OLPort 7: SC / OLPort 6: SC / OLPort 5: SC / OLPort 4: SC / OLPort 3: SC / OLPort 2: SC / OLPort 1: SC / OL
n+1reserviertreserviertreserviertreserviertreserviertreserviertSENS PWRreserviert

Legende:

• SC / OLShort Circuit / Overload: Anzeige ei-nes Kurzschlusses oder einer Über-spannung am IO-Link Port1 BIT• 0x0: kein Fehler• 0x1: Kurzschluss oder Überspannung
• SENS PWRStatus der Versorgungsspannung US1 BIT• 0x0: kein Fehler / keine Warnung• 0x1: Überstrom an US (>3,6 V)

Mapping: Port Qualifier Information (PQI)

Byte (Offset)Bit
76543210
nDiagnosis presentWrong Length PDoutWrong Length PDinWrong Cyc-le TimeWrong VID / DIDInvalid DataDev Not ConIOL Mode
n+1PQDevErrDevComreserviertreserviertreserviertreserviertreserviert

Legende:

IOL ModeBetriebsart des Ports (Pin 4)1 BIT0x0: sonst.0x1: IO-Link
Dev Not ConVerbindungsstatus zu IO-Link Device am Port1 BIT0x0: verbunden0x1: nicht verbunden
Invalid DataStatus der Prozessdaten1 BIT0x0: gültig0x1: ungültig
Wrong VID / DIDÜbereinstimmung von konfigurierter und erkannter Vendor ID / Device ID1 BIT0x0: OK0x1: keine Übereinstimmung
Wrong Cycle TimeÜbereinstimmung von konfigurierter und erkannter Zykluszeit1 BIT0x0: OK0x1: keine Übereinstimmung
Wrong Length PDinÜbereinstimmung von konfigurierter und erkannter Prozessdatenlänge (Eingänge)1 BIT0x0: OK0x1: konfigurierte Prozessdatenlänge zu klein
Wrong Length PDoutÜbereinstimmung von konfigurierter und erkannter Prozessdatenlänge (Ausgänge)1 BIT0x0: OK0x1: konfigurierte Prozessdatenlänge zu klein
Diagnosis presentAnzeige neuer IO-Link Events (Coming Event, Single Shot Event)Coming Events verschwindet bei Eintritt des entsprechenden Disappearing Events
Single Shot Events verschwinden automatisch
1 BIT0x0: kein IO-Link Event0x1: Neues IO-Link Event erkannt
DevComDevice Communication: Zustandsanzeige der Kommunikation mit IO-Link -Device1 BIT0x0: kein IO-Link Device verfügbar oder IO-Link Device in Fehlerzustand (z. B. Validierungsfehler) ODER Port in Betriebszustand DI, DO, deaktiviert0x1: IO-Link Device erkannt; IO-Link Device ist in Zustand OPERATE und nicht im Fehlerzustand
DevErrDevice Error: Fehleranzeige für Port oder angeschlossenes Gerät1 BIT0x0: kein Fehler / keine Warnung0x1: Fehler / Warnung an Port oder angeschlossenem IO-Link Device aufgetreten
PQPort Qualifier: Gültigkeitsanzeige der Prozessdaten des angeschlossenen IO-Link Devices1 BIT0x0: Ungültige Prozessdaten ODER falsche Prozessdatenlänge ODER falsche Zykluszeit ODER falsche Validierungseinstellungen (Betriebszustand DI, DO, deaktiviert)0x1: Gültige Prozessdaten des IO-Link Device (Betriebsart IO-Link und Zustand OPERATE)

Mapping: IO-Link Information + IO-Link Events

Byte (Offset)Bit
76543210
nVendor ID (VID)[0]
n+1Vendor ID (VID)[1]
n+2Device ID (DID)[0]
n+3Device ID (DID)[1]
n+4Device ID (DID)[2]
n+5Device ID (DID)[3]
n+6Event 1: ModeEvent 1: TypeEvent 1: SrcEvent 1: Instance
n+7Event 1: Code[0]
n+8Event 1: Code[1]
n+9Event 2: ModeEvent 2: TypeEvent 2: SrcEvent 2: Instance
n+10Event 2: Code[0]
n+11Event 2: Code[1]
n+12Event 3: ModeEvent 3: TypeEvent 3: SrcEvent 3: Instance
n+13Event 3: Code[0]
n+14Event 3: Code[1]
n+15reserviert

Legende:

Vendor ID (VID)Vendor ID des angeschlossenen IO-Link DevicesVID = 0x1234DID[1]: 0x12DID[0]: 0x34UINT0x0000...0x7FFF
Device ID (DID)Device ID des angeschlossenen IO-Link DevicesDID = 0x00123456DID[3]: 0x00DID[2]: 0x12DID[1]: 0x34DID[0]: 0x56UDINT0x00000000...0x00FFFFFFF
Event m: ModeMode: Modus des Ereignisses2 BIT0x0: reserviert0x1: Einmaliges Ereignis0x2: Ereignis verschwunden0x3: Ereignis erschienen
Event m: TypeType: Kategorie des Ereignisses2 BIT0x0: reserviert0x1: Benachrichtigung0x2: Warnung0x3: Fehler
Event m: SrcSrc: Quelle des Ereignisses1 BIT0x0: IO-Link Device0x1: IO-Link Master
Event m: InstanceInstance: Auslöser des Ereignisses3 BIT0x0: Unbekannt0x1...0x3: reserviert0x4: Application / Anwendung0x5...0x7: reserviert
Event m: CodeCode: Ereignis-CodeCode = 0x1234
Code (MSB)[1]: 0x12
Code (LSB)[0]: 0x34
UINTgeräteabhängig ( → IODD-Beschreibung des IO-Link Devices)

11.2.2.2 Input Assembly (Instance 101)

Byte (Offset)Bit
76543210
0...1Digital Input
2...3Status Information
4...45Acyclic Command Channel: Response
46...47Port 1: Port Qualifier Information (PQI)
48...49Port 2: Port Qualifier Information (PQI)
50...51Port 3: Port Qualifier Information (PQI)
52...55Port 4: Port Qualifier Information (PQI)
54...53Port 5: Port Qualifier Information (PQI)
56...57Port 6: Port Qualifier Information (PQI)
58...59Port 7: Port Qualifier Information (PQI)
60...61Port 8: Port Qualifier Information (PQI)
62Port 1: Input Data (n Bytes)
62+nPort 2: Input Data (n Bytes)
62+2nPort 3: Input Data (n Bytes)
62+3nPort 4: Input Data (n Bytes)
62+4nPort 5: Input Data (n Bytes)
62+5nPort 6: Input Data (n Bytes)
62+6nPort 7: Input Data (n Bytes)
62+7nPort 8: Input Data (n Bytes)

Legende:

- Digital Input

Digitale Eingangsdaten der Ports

Mapping: Digital Input ( → ☐ 94)

- Status Information

Statusinformationen des Geräts

Mapping: Status Information ( → ☐ 95)

• Acyclic Command Channel: Response

Azyklischer Kommandokanal - Antwort

Antwortkanal (Response) (→ 107)

• Port Qualifier Information (PQI)

Statusinformationen des IO-Link Ports

Mapping: Port Qualifier Information (PQI) (→ ☐ 96)

- Input Data (n Bytes)

IO-Link Eingangsdaten des Ports (n USINT Bytes) n: {2, 4, 8, 16, 32}; n wird bestimmt durch Parameter Port Process Data Size

Pro Byte: • 0x00...0xFF

Mapping: Digital Input

Byte (Offset)Bit
76543210
nPort 8: DI Pin 4Port 7: DI Pin 4Port 6: DI Pin 4Port 5: DI Pin 4Port 4: DI Pin 4Port 3: DI Pin 4Port 2: DI Pin 4Port 1: DI Pin 4
n+1Port 8: DI Pin 2Port 7: DI Pin 2Port 6: DI Pin 2Port 5: DI Pin 2Port 4: DI Pin 2Port 3: DI Pin 2Port 2: DI Pin 2Port 1: DI Pin 2

Legende:

- DI Pin 4 Signalstatus digitaler Eingang an Pin 1 BIT - 0x0: LOW

4 des Ports • 0x1: HIGH

• DI Pin 2 Signalstatus digitaler Eingang an Pin 1 BIT • 0x0: LOW

2 des Ports • 0x1: HIGH

Mapping: Status Information

Byte (Offset)Bit
76543210
nPort 8: SC / OLPort 7: SC / OLPort 6: SC / OLPort 5: SC / OLPort 4: SC / OLPort 3: SC / OLPort 2: SC / OLPort 1: SC / OL
n+1reserviertreserviertreserviertreserviertreserviertreserviertSENS PWRreserviert

Legende:

• SC / OLShort Circuit / Overload: Anzeige ei-nes Kurzschlusses oder einer Über-spannung am IO-Link Port1 BIT• 0x0: kein Fehler• 0x1: Kurzschluss oder Überspannung
• SENS PWRStatus der Versorgungsspannung US1 BIT• 0x0: kein Fehler / keine Warnung• 0x1: Überstrom an US (>3,6 V)

Mapping: Port Qualifier Information (PQI)

Byte (Offset)Bit
76543210
nDiagnosis presentWrong Length PDoutWrong Length PDinWrong Cyc-le TimeWrong VID / DIDInvalid DataDev Not ConIOL Mode
n+1PQDevErrDevComreserviertreserviertreserviertreserviertreserviert

Legende:

IOL ModeBetriebsart des Ports (Pin 4)1 BIT0x0: sonst.0x1: IO-Link
Dev Not ConVerbindungsstatus zu IO-Link Device am Port1 BIT0x0: verbunden0x1: nicht verbunden
Invalid DataStatus der Prozessdaten1 BIT0x0: gültig0x1: ungültig
Wrong VID / DIDÜbereinstimmung von konfigurierter und erkannter Vendor ID / Device ID1 BIT0x0: OK0x1: keine Übereinstimmung
Wrong Cycle TimeÜbereinstimmung von konfigurierter und erkannter Zykluszeit1 BIT0x0: OK0x1: keine Übereinstimmung
Wrong Length PDinÜbereinstimmung von konfigurierter und erkannter Prozessdatenlänge (Eingänge)1 BIT0x0: OK0x1: konfigurierte Prozessdatenlänge zu klein
Wrong Length PDoutÜbereinstimmung von konfigurierter und erkannter Prozessdatenlänge (Ausgänge)1 BIT0x0: OK0x1: konfigurierte Prozessdatenlänge zu klein
Diagnosis presentAnzeige neuer IO-Link Events (Coming Event, Single Shot Event)Coming Events verschwindet bei Eintritt des entsprechenden Disappearing Events
Single Shot Events verschwinden automatisch
1 BIT0x0: kein IO-Link Event0x1: Neues IO-Link Event erkannt
DevComDevice Communication: Zustandsanzeige der Kommunikation mit IO-Link -Device1 BIT0x0: kein IO-Link Device verfügbar oder IO-Link Device in Fehlerzustand (z. B. Validierungsfehler) ODER Port in Betriebszustand DI, DO, deaktiviert0x1: IO-Link Device erkannt; IO-Link Device ist in Zustand OPERATE und nicht im Fehlerzustand
DevErrDevice Error: Fehleranzeige für Port oder angeschlossenes Gerät1 BIT0x0: kein Fehler / keine Warnung0x1: Fehler / Warnung an Port oder angeschlossenem IO-Link Device aufgetreten
PQPort Qualifier: Gültigkeitsanzeige der Prozessdaten des angeschlossenen IO-Link Devices1 BIT0x0: Ungültige Prozessdaten ODER falsche Prozessdatenlänge ODER falsche Zykluszeit ODER falsche

11.2.2.3 Input Assembly (Instance 102)

Byte (Offset)Bit
76543210
0...1Digital Input
2...3Status Information
4...5Port 1: Port Qualifier Information
6...7Port 2: Port Qualifier Information
8...9Port 3: Port Qualifier Information
10...11Port 4: Port Qualifier Information
12...13Port 5: Port Qualifier Information
14...15Port 6: Port Qualifier Information
16...17Port 7: Port Qualifier Information
18...19Port 8: Port Qualifier Information
20Port 1: Input Data (n Bytes)
20+nPort 2: Input Data (n Bytes)
20+2nPort 3: Input Data (n Bytes)
20+3nPort 4: Input Data (n Bytes)
20+4nPort 5: Input Data (n Bytes)
20+5nPort 6: Input Data (n Bytes)
20+6nPort 7: Input Data (n Bytes)
20+7nPort 8: Input Data (n Bytes)

Legende:

• Digital Input Digitale Eingangsdaten der Ports

- Status Information Statusinformationen des Geräts

- Port Qualifier Information Statusinformationen des IO-Link Ports (PQI)

- Input Data (n Bytes) IO-Link Eingangsdaten des Ports (n USINT Bytes) n: {2, 4, 8, 16, 32}; n wird bestimmt durch Parameter Port Process Data Size

Mapping: Digital Input ( → ☐ 98)

Mapping: Status Information ( → ☐ 99)

Mapping: Port Qualifier Information (PQI) (→ 100)

Pro Byte: • 0x00...0xFF

Mapping: Digital Input

Byte (Offset)Bit
76543210
nPort 8: DI Pin 4Port 7: DI Pin 4Port 6: DI Pin 4Port 5: DI Pin 4Port 4: DI Pin 4Port 3: DI Pin 4Port 2: DI Pin 4Port 1: DI Pin 4
n+1Port 8: DI Pin 2Port 7: DI Pin 2Port 6: DI Pin 2Port 5: DI Pin 2Port 4: DI Pin 2Port 3: DI Pin 2Port 2: DI Pin 2Port 1: DI Pin 2

Legende:

• DI Pin 4Signalstatus digitaler Eingang an Pin 4 des Ports1 BIT• 0x0: LOW• 0x1: HIGH
• DI Pin 2Signalstatus digitaler Eingang an Pin 2 des Ports1 BIT• 0x0: LOW• 0x1: HIGH

Mapping: Status Information

Byte (Offset)Bit
76543210
nPort 8: SC / OLPort 7: SC / OLPort 6: SC / OLPort 5: SC / OLPort 4: SC / OLPort 3: SC / OLPort 2: SC / OLPort 1: SC / OL
n+1reserviertreserviertreserviertreserviertreserviertreserviertSENS PWRreserviert

Legende:

• SC / OLShort Circuit / Overload: Anzeige ei-nes Kurzschlusses oder einer Über-spannung am IO-Link Port1 BIT• 0x0: kein Fehler• 0x1: Kurzschluss oder Überspannung
• SENS PWRStatus der Versorgungsspannung US1 BIT• 0x0: kein Fehler / keine Warnung• 0x1: Überstrom an US (>3,6 V)

Mapping: Port Qualifier Information (PQI)

Byte (Offset)Bit
76543210
nDiagnosis presentWrong Length PDoutWrong Length PDinWrong Cyc-le TimeWrong VID / DIDInvalid DataDev Not ConIOL Mode
n+1PQDevErrDevComreserviertreserviertreserviertreserviertreserviert

Legende:

IOL ModeBetriebsart des Ports (Pin 4)1 BIT0x0: sonst.0x1: IO-Link
Dev Not ConVerbindungsstatus zu IO-Link Device am Port1 BIT0x0: verbunden0x1: nicht verbunden
Invalid DataStatus der Prozessdaten1 BIT0x0: gültig0x1: ungültig
Wrong VID / DIDÜbereinstimmung von konfigurierter und erkannter Vendor ID / Device ID1 BIT0x0: OK0x1: keine Übereinstimmung
Wrong Cycle TimeÜbereinstimmung von konfigurierter und erkannter Zykluszeit1 BIT0x0: OK0x1: keine Übereinstimmung
Wrong Length PDinÜbereinstimmung von konfigurierter und erkannter Prozessdatenlänge (Eingänge)1 BIT0x0: OK0x1: konfigurierte Prozessdatenlänge zuklein
Wrong Length PDoutÜbereinstimmung von konfigurierter und erkannter Prozessdatenlänge (Ausgänge)1 BIT0x0: OK0x1: konfigurierte Prozessdatenlänge zuklein
Diagnosis presentAnzeige neuer IO-Link Events (Coming Event, Single Shot Event)Coming Events verschwindet bei Eintritt des entsprechenden Disappearing Events
Single Shot Events verschwinden automatisch
1 BIT0x0: kein IO-Link Event0x1: Neues IO-Link Event erkannt
DevComDevice Communication: Zustandsanzeige der Kommunikation mit IO-Link -Device1 BIT0x0: kein IO-Link Device verfügbar oder IO-Link Device in Fehlerzustand (z. B. Validierungsfehler) ODER Port in Betriebszustand DI, DO, deaktiviert0x1: IO-Link Device erkannt; IO-Link Device ist in Zustand OPERATE und nicht im Fehlerzustand
DevErrDevice Error: Fehleranzeige für Port oder angeschlossenes Gerät1 BIT0x0: kein Fehler / keine Warnung0x1: Fehler / Warnung an Port oder angeschlossenem IO-Link Device aufgetreten
PQPort Qualifier: Gültigkeitsanzeige der Prozessdaten des angeschlossenen IO-Link Devices1 BIT0x0: Ungültige Prozessdaten ODER falsche Prozessdatenlänge ODER falsche Zykluszeit ODER falsche

11.2.2.4 Output Assembly (Instance 150)

Byte (Offset)Bit
76543210
0...1Digital Output
2...3reserviert
4...45Acyclic Command Channel: Request
46Port 1: Output Data (n Bytes)
46+nPort 2: Output Data (n Bytes)
46+2nPort 3: Output Data (n Bytes)
46+3nPort 4: Output Data (n Bytes)
46+4nPort 5: Output Data (n Bytes)
46+5nPort 6: Output Data (n Bytes)
46+6nPort 7: Output Data (n Bytes)
46+7nPort 8: Output Data (n Bytes)

Legende:

  • Digital Output
    • Acyclic Command Channel: Request
    • Output Data (n Bytes)

Digitale Ausgangsdaten der Ports

Azyklischer Kommandokanal - Anforderung

IO-Link Ausgangsdaten des Ports (n Bytes)

n: {2, 4, 8, 16, 32}; n wird bestimmt durch Parameter Port Process Data Size

Mapping: Digital Output ( → ☐ 102)

Anforderungskanal (Request) (→ ☐ 106)

Pro Byte:

- 0x00...0xFF

Mapping: Digital Output

Byte (Offset)Bit
76543210
nPort 8: DO Pin 4Port 7: DO Pin 4Port 6: DO Pin 4Port 5: DO Pin 4Port 4: DO Pin 4Port 3: DO Pin 4Port 2: DO Pin 4Port 1: DO Pin 4
n+1reserviert

Legende:

- DO Pin 4

Signalstatus Digitaler Ausgang an Pin 1 BIT

4 des Ports

- 0x0: LOW

- 0x1: HIGH

11.2.2.5 Output Assembly (Instance 151)

Byte (Offset)Bit
76543210
0...1Digital Output
2Port 1: Output Data (n Bytes)
2+nPort 2: Output Data (n Bytes)
2+2nPort 3: Output Data (n Bytes)
2+3nPort 4: Output Data (n Bytes)
2+4nPort 5: Output Data (n Bytes)
2+5nPort 6: Output Data (n Bytes)
2+6nPort 7: Output Data (n Bytes)
2+7nPort 8: Output Data (n Bytes)

Legende:

- Digital Output

Digitale Ausgangsdaten der Ports

Mapping: Digital Output ( → ☐ 104)

• Output Data (n Bytes)

IO-Link Ausgangsdaten des Ports (n Bytes)

Pro Byte:

n: {2, 4, 8, 16, 32}; n wird bestimmt durch Parameter Port Process Data Size

- 0x00...0xFF

Mapping: Digital Output

Byte (Offset)Bit
76543210
nPort 8: DO Pin 4Port 7: DO Pin 4Port 6: DO Pin 4Port 5: DO Pin 4Port 4: DO Pin 4Port 3: DO Pin 4Port 2: DO Pin 4Port 1: DO Pin 4
n+1reserviert

Legende:

- DO Pin 4

Signalstatus Digitaler Ausgang an Pin 1 BIT

4 des Ports

- 0x0: LOW

- 0x1: HIGH

11.2.3 Azyklische Daten

11.2.3.1 Azyklischer Kommandokanal

Innerhalb der zyklischen Prozessdaten stehen Kommandokanäle für die Übertragung von azyklischen Daten zur Verfügung.

ObjectInhaltByteZugriff
Output AssemblyAnforderungskanal (Ether
Net/IP Controller → IO-Link Master)Anforderungskanal (Request) (→ 106)
4...45rw 1
Input AssemblyAntwortkanal (IO-Link Master → Ether
Net/IP Controller)Antwortkanal (Response) (→ 107)
4...45ro 2

1 lesen und schreiben
2 nur lesen

Anforderungskanal (Request)

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

Legende:

• Port No.IO-Link PortPort No.: 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x341 WORD• 0x0001: Port 1• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• IndexIndex des ISDU-Objekts
Index: 0x1234• Index (MSB): 0x12• Index (LSB): 0x34
1 WORD0x0000...0xFFFF
• SubindexSubindex des ISDU-Objekts
Subindex: 0x1234• Subindex (MSB): 0x12• Subindex (LSB): 0x34
1 WORD0x0000...0xFFFF
• TriggerBefehlsausführung steuern1 BIT• 0x0: keine Aktion• 0x1: Kommando ausführen
• Command IDKommandonummer7 BIT• 0x01: Lesen• 0x02: Schreiben
• Data LengthAnzahl der Bytes, die relevante Nutzdaten enthalten1 BYTE• 0x00: 0 Bytes...• 0x20: 32 Bytes
• Data (Byte n)Nutzerdaten (Byte n)1 BYTEPro Byte• 0x00...0xFF

Antwortkanal (Response)

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

Legende:

• Port No.IO-Link PortPort No.: 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x341 WORD• 0x0001: Port 1• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• IndexIndex des ISDU-Objekts
Index: 0x1234• Index (MSB): 0x12• Index (LSB): 0x34
1 WORD0x0000...0xFFFF
• SubindexSubindex des ISDU-Objekts
Subindex: 0x1234• Subindex (MSB): 0x12• Subindex (LSB): 0x34
1 WORD0x0000...0xFFFF
• HandshakeGültigkeit der IO-Link Antwortdaten1 BIT• 0x0: Daten ungültig• 0x1: Daten gültig
• Command IDKommandonummer7 BIT• 0x01: Lesen• 0x02: Schreiben
• ResultStatus der Kommandoabarbeitung1 BYTE• 0x00: OK• 0x0F: OK, gelesene Nutzdaten > 32 Bytes• 0xFF: Fehler
• Data LengthAnzahl der Bytes, die relevante Nutzdaten enthalten1 BYTE• 0x00: 0 Bytes...• 0x20: 32 Bytes
• Data (Byte 0) | Error CodeNutzdaten (Byte 0) oder Fehlercodes1 BYTE• Nutzdaten: 0x00...0xFF• Error Code: Error Code (→ ☐ 109)
• Data (Byte 1) | Additional CodeNutzdaten (Byte 1) oder zusätzliche Fehlercodes1 BYTE• Nutzdaten: 0x00...0xFF• Additional Code: Additional Code (→ ☐ 109)

• Data (Byte n) Nutzdaten (Byte n)

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

Error Code

FehlercodeBeschreibung
0x71Dienst nicht verfügbar (unbekannte Befehl wurde an den IO-Link Port gesendet)
0x72Port gesperrt (ein anderer azyklischer Prozess greift auf den IO-Link Port zu)
0x73Verboten (Zugriffsrechte verbieten Befehlsausführung)
0x74Ungültige Daten (falscher Parameter wurde im Befehl gesendet)
0x76Falscher Port (falsche Port-Nummer)
0x77Falsche Port-Funktion (falsche Port-Funktion oder falscher Parameter wurde an das Gerät gesendet)
0x78Ungültige Länge (eingestellte Länge ist > 0x20)
0x80Fehler in der Geräte-Applikation; Additional Code beachten (Additional Code (→ ☐ 109))

Additional Code

IFM AL1326 - Azyklischer Kommandokanal - 1

Additional Code nur gültig, wenn Error Code = 0x80 (→ Error Code ☐ 109).

CodeNameBeschreibung
0x00APP_DEVFehler in der Geräte-Appliaktion – keine Details
0x11IDX_NOTAVAILIndex nicht verfügbar
0x12SUBIDX_NOTAVAILSubindex nicht verfügbar
0x20SERV_NOTAVAILDienst vorübergehnd nicht verfügbar
0x21SERV_NOTAVAIL_LOCCTRLDienst vorübergehend nicht verfügbar – Lokal
0x22SERV_NOTAVAIL_DEVCTRLDienst vorübergehend nicht verfügbar – Device
0x23IDX_NOT_WRITEABLEZugriff verweigert
0x30PAR_VALOUTOFRNGParameterwert außerhalb des gültigen Bereichs
0x31PAR_VALGTLIMParameterwert oberhalb des Grenzwerts
0x32PAR_VALLTLIMParameterwert unterhalb des Grenzwerts
0x33VAL_LENOVRRUNParameterlänge überschritten
0x34VAL_LENUNDRUNParameterlänge unterschritten
0x35FUNC_NOTAVAILFunktion nicht verfügbar
0x36FUNC_UNAVAILTEMPFunktion vorübergehend nicht verfügbar
0x40PAR_SETINVALIDUngültiger Parametersatz
0x41PAR_SETINCONSISTInkonsistenter Parametersatz
0x82APP_DEVNOTRDYApplikation nicht bereit

11.2.3.2 Azyklische Kommandos

Set Mode (0x10)

Der Befehl ändert die Betriebsart eines IO-Link Ports des Geräts.

Kommandoanforderung

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

Legende:

  • Port No. IO-Link Port
    Port No.: 0x1234
  • Port No. (MSB): 0x12
  • Port No. (LSB): 0x34
    1 WORD • 0x0001: Port 1
  • 0x0002: Port 2
  • 0x0003: Port 3
  • 0x0004: Port 4
  • 0x0005: Port 5
  • 0x0006: Port 6
  • 0x0007: Port 7
  • 0x0008: Port 8
  • Trigger Befehlsausführung steuern
    1 BIT • 0x0: keine Aktion
    • 0x1: Kommando ausführen
    • Target Mode Betriebsart des Ports IO-Link Ports
    1 BYTE • 0x00: deaktiviert
    • 0x01: Digitaler Eingang (DI)
    • 0x02: Digitaler Ausgang (DO)
  • 0x03: IO-Link

Kommandoantwort

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

Legende:

• Port No.IO-Link PortPort No.: 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x341 WORD• 0x0001: Port 1• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• HandshakeGültigkeit der IO-Link Antwortdaten1 BIT• 0x0: Daten ungültig• 0x1: Daten gültig
• ResultStatus der Kommandoabarbeitung1 BYTE• 0x00: OK• 0x0F: OK, gelesene Nutzdaten > 32 Bytes• 0xFF: Fehler
• Target ModeBetriebsart des Ports IO-Link Ports1 BYTE• 0x00: deaktiviert• 0x01: Digitaler Eingang (DI)• 0x02: Digitaler Ausgang (DO)• 0x03: IO-Link

Set Validation ID / Data Storage (0x20)

Der Befehl setzt das Verhalten des IO-Link Masters beim Anschluss eines neuen IO-Link Devices an einem IO-Link Ports des Geräts.

Kommandoanforderung

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

Legende:

• Port No.IO-Link PortPort No.: 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x341 WORD• 0x0001: Port 1• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• TriggerBefehlsausführung steuern1 BIT• 0x0: keine Aktion• 0x1: Kommando ausführen
• Validation IDValidierungstyp und Data-Storage-Verhalten des Ports1 BYTE• 0x00: No check• 0x01: Type compatible V1.0 Device• 0x02: Type compatible V1.1 Device• 0x03: Type compatible V1.1 Device with Backup + Restore• 0x04: Type compatible V1.1 Device with Restore

Kommandoantwort

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

Legende:

• Port No.IO-Link PortPort No.: 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x341 WORD• 0x0001: Port 1• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• HandshakeGültigkeit der IO-Link Antwortdaten1 BIT• 0x0: Daten ungültig• 0x1: Daten gültig
• ResultStatus der Kommandoabarbeitung1 BYTE• 0x00: OK• 0x0F: OK, gelesene Nutzdaten > 32 Bytes• 0xFF: Fehler
• Validation IDValidierungstyp und Data-Storage-Verhalten des Ports1 BYTE• 0x00: No check• 0x01: Type compatible V1.0 Device• 0x02: Type compatible V1.1 Device• 0x03: Type compatible V1.1 Device with Backup + Restore• 0x04: Type compatible V1.1 Device with Restore

Set Fail-safe Data Pattern (0x30)

Der Befehl setzt das Verhalten der Ausgänge bei einer Unterbrechung der Ether
Net/IP-Verbindung und die entsprechenden Rückfallwerte.

Kommandoantwort

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

- Handshake

Gültigkeit der IO-Link Antwortdaten

1 BIT

- 0x0: Daten ungültig

- 0x1: Daten gültig

- Result

Status der Kommandoabarbeitung

1 BYTE

- 0x00: OK

• 0x0F: OK, gelesene Nutzdaten > 32 Bytes

- 0xFF: Fehler

- Fail-safe Mode

Rückfall-Modus für die Ausgänge der IO-Link Ports bei einer Unterbrechung der Ether
Net/IP-Verbindung

1 BYTE

- 0x00: No Fail-safe

- 0x01: Fail-safe - Reset Value

• 0x02: Fail-safe - Old Value

- 0x03: Fail-safe – Pattern

11.2.4 Objektverzeichnis

11.2.4.1 CIP-Objektklassen

Unterstützte Objektklassen:

Class CodeNameBeschreibung
0x01Identity ObjectIdentity Object (Class Code: 0x01) (→ ☐ 116)
0x02Message Router ObjectMessage Router Object (Class Code: 0x02) (→ ☐ 117)
0x04Assembly ObjectAssembly Object (Class Code: 0x04) (→ ☐ 118)
0x06Connection Manager ObjectConnection Manager Object (Class Code: 0x06) (→ ☐ 119)
0x47Device Level Ring ObjectDevice Level Ring Object (Class Code: 0x47) (→ ☐ 120)
0x48Quality Of Service ObjectQuality Of Service Object (Class Code: 0x48) (→ ☐ 121)
0x80IO-Link Request ObjectIO-Link Request Object (Class Code: 0x80) (→ ☐ 122)
0xF5TCP/IP ObjectTCP/IP Object (Class Code: 0xF5) (→ ☐ 126)
0xF6Ethernet Link ObjectEthernet Link Object (Class Code: 0xF6) (→ ☐ 129)

11.2.4.2 CIP-Klassen- und Instanzdienste

Unterstützte Klassen- und Instanzdienste:

Service CodeNameBeschreibung
0x01Get Attribute AllAlle Attribute lesen
0x02Set Attribute AllAlle Attribute schreiben
0x05ResetRücksetzen
0x09DeleteLöschen
0x0EGet Attribute SingleEinzelnes Attribut lesen
0x10Set Attribute SingleEinzelnes Attribut schreiben
0x4BRead ISDUISDU lesen
0x4CWrite ISDUISDU schreiben
0x4DWrite Failsafe PatternRückfallwerte schreiben
0x4EForward CloseVerbindung schließen
0x54Forward OpenNeue Verbindung öffnen

11.2.4.3 Identity Object (Class Code: 0x01)

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts2.003
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts1
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer eines Klassenattributs7
7GetMax. ID Number Instance AttributesUINTmax. ID-Nummer des Instanzattributs9

Instanzattribute

Attr. IDZugriffNameDatentypBeschreibungDefault
1GetVendor IDUINTHersteller-ID322
2GetDevice TypeUINTGerätetyp12
3GetProduct CodeUINTProduktcode des Geräts1007
4GetRevisionSTRUCTRevision des Geräts2.003
• Major RevisionUSINTHaupt-Revision (1...127)2
• Minor RevisionUSINTNeben-Revision (3 Stellen)003
5GetStatusWORDGesamtstatus des Geräts
6GetSerial NumberUDINTSeriennummer des Geräts--
7GetProduct NameSHORT STRINGProduktname des GerätsIO-Link Master DL EIP 8P IP67
8GetStateUSINTZustand des Geräts (State machine)• 0: Nonexistent• 1: Device Self Testing• 2: Standby• 3: Operational• 4: Major Recoverable Fault• 5: Major Unrecoverable Fault• 6-254: Reserved• 255: Default für “Get_Attributes_All”-Dienst

Dienste

CodeDienstKlasseInstanzBeschreibung
0x01Get Attribute AlljajaAlle Attribute lesen
0x05ResetjajaRücksetzen
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen

Wenn ein Identity Object eine Reset-Anforderung empfängt, dann führt es folgende Aktionen aus:

  • Es prüft, ob es den angeforderten Reset-Typ unterstützt.
  • Es antwortet auf die Anforderung.
  • Es versucht, den geforderten Reset-Typ auszuführen.

Unterstützte Reset-Typen:

• 0: Gerät neu starten (obligatorisch für alle Ether
Net/IP-Geräte).
• 1: Werkseinstellungen wiederherstellen und Gerät neu starten.

11.2.4.4 Message Router Object (Class Code: 0x02)

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts1
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts1
3GetNumber of InstancesUINTAnzahl der Instanzen1
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer eines Klassenattributs7
7GetMax. ID Number Instance AttributesUINTmax. ID-Nummer des Instanzattributs0

Instanzattribute

Die Objektklasse hat hat keine Instanzattribute.

Dienste

CodeDienstKlasseInstanzBeschreibung
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen

11.2.4.5 Assembly Object (Class Code: 0x04)

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts2
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts0x00C7
3GetNumber of InstancesUINTAnzahl der Instanzen3
6GetMax. ID Number Class At-tributesUINTmax. ID-Nummer des Klassenattributs7
7GetMax. ID Number Instance AttributesUINTmax. ID-Nummer des Instanzattributs4

Instanzattribute

Folgende Objektinstanzen stehen zur Verfügung:

  • Configuration Assembly (Instance 199)
    • Input Assembly (Instance 100)
    • Input Assembly (Instance 101)
    • Output Assembly (Instance 150)
    • Output Assembly (Instance 151)

Dienste

CodeDienstKlasseInstanzBeschreibung
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen
0x10Set Attribute SingleneinjaEinzelnes Attribut schreiben

11.2.4.6 Connection Manager Object (Class Code: 0x06)

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts1
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts1
3GetNumber of InstancesUINTAnzahl der Instanzen3
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer eines Klassenattributs7
7GetMax. ID Number Instance AttributesUINTmax. ID-Nummer des Instanzattributs0

Instanzattribute

Die Objektklasse hat hat keine Instanzattribute.

Dienste

CodeDienstKlasseInstanzBeschreibung
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen
0x10Set Attribute SingleneinjaEinzelnes Attribut schreiben
0x4EForward ClosejaneinVerbindung schließen
0x54Forward OpenjaneinNeue Verbindung öffnen

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

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts3
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts1
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer des Klassenattributs7
7GetMax. ID Number Instance AttributesUINTmax. ID-Nummer des Instanzattributs12

Instanzattribute

Attr. IDZugriffNameDatentypBeschreibungDefault
1GetNetwork TopologyUSINTAktuelle Netzwerk-Topologie• 0: Linear0
2GetNetwork StatusUSINTAktueller Netzwerk-Status• 0: OK0
10GetActive SupervisorSTRUCTIdentifikation des Supervisors0
• UDINTIP-Adresse
• ARRAY(6) of USINTMAC-Adresse des aktiven Supervisors
12GetCapability FlagsDWORDDLR-Fähigkeit des Geräts• 0x82: Beacon based Ring Node, Flush Table Frame support0x82

Dienste

CodeDienstKlasseInstanzBeschreibung
0x01Get Attribute AllneinjaAlle Attribute lesen
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen

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

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts1
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts1
3GetNumber of InstancesUINTAnzahl der Instanzen des Objekts1
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer eines Klassenattributs7
7GetMax. ID Number Instance AttributesUINTmax. ID-Nummer des Instanzattributs8

Instanzattribute

Attr. IDZugriffNameDatentypBeschreibungDefault
1Get802.1Q Tag EnableUSINTAktuelle Netzwerk-Topologie0: deaktiviert
2Get / SetDSCP PTP EventUSINTDSCP-Wert für PTP-Event-Frames59
3Get / SetDSCP PTP generalUSINTDSCP-Wert für PTP-General-Frames47
4Get / SetDSCP PTP UrgentUSINTDSCP-Wert für für implizite Nachrichten mit Priorität "Urgent"55
5Get / SetDSCP ScheduledUSINTDSCP-Wert für implizite Nachrichten mit Priorität "Scheduled"47
6Get / SetDSCP HighUSINTDSCP-Wert für implizite Nachrichten mit Priorität "High"43
7Get / SetDSCP LowUSINTDSCP-Wert für implizite Nachrichten mit Priorität "Low"31
8Get / SetDSCP ExplicitUSINTDSCP-Wert für explizite Nachrichten mit Priorität "Explicit"27

Dienste

CodeDienstKlasseInstanzBeschreibung
0x01Get Attribute AlljajaAlle Attribute lesen

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts4
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts2
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer eines Klassenattributs8

Instanzattribute

Über das Instanzattribut wird der gewünschte IO-Link-Port des Gerät adressiert.

Dienste

CodeDienstKlasseInstanzBeschreibung
0x4BRead ISDU (→ ☐ 123)neinjaISDU lesen
0x4CWrite ISDU (→ ☐ 124)neinjaISDU schreiben
0x4DWrite Failsafe Pattern (→ ☐ 125)neinjaRückfallwerte schreiben

Read ISDU

Mit Read_ISDU können Parameter eines angeschlossenen IO-Link Devices gelesen werden.

Request

CIP Attribute bestimmt den IO-Link-Port, an den das IO-Link Gerät angeschlossen ist. Der Bereich CIP User Specific Service Data enthält IO-Link-Index und IO-Link-Subindex des IO-Link Objekts, dessen Wert gelesen werden soll:

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4BDienst „Read ISDU“
CIP User Specific Service DataUINT0x0000...0xFFFFISDU Objekt Index
USINT0x00...0xFFISDU Objekt Subindex

Response

Fehlerfreie Abarbeitung

Wurde der Service fehlerfrei ausgeführt (CIP Error Code = 0), werden die gelesenen Daten byteweise zurückgegeben (CIP User Specific Service Data). Die Antwort liegt in folgendem Format vor:

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4BDienst „Read ISDU“
CIP Error CodeUSINT0x00Fehlerfreie Abarbeitung
CIP Extended Error CodeUSINT0x00--
CIP User Specific Service DataUSINT0x00...0xFFDaten (Byte 0)
USINT0x00...0xFFDaten (Byte 1)
.........
USINT0x00...0xFFDaten (Byte n)

IFM AL1326 - IO-Link Request Object (Class Code: 0x80) - 1

Die gelesenen Daten sind im IO-Link-Format. Der Nutzer muss bei Bedarf die Byte-Anordnung der gelesenen Daten an das CIP-Format anpassen.

Fehlerfall

Tritt bei der Ausführung des Services ein Fehler auf (CIP Error Code <> 0), dann werden wird ein Erweiterter Fehler-Code übertragen (CIP Extended Error Code). Ist der CIP Error Code = 0x1E, dann ist CIP Extended Error Code = 0x00 und es werden im Bereich CIP User Specific Service Data der IO-Link Error Code und der IO-Link Additional Code übertragen. Die Antwort liegt in folgendem Format vor:

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4BDienst „Read ISDU“
CIP Error CodeUSINT<0x00Fehlercode (siehe unten)
CIP Extended Error CodeUSINT0x00Erweiterter Fehlercode
CIP User Specific Service DataUSINT<0x00IO-Link Error Code: Error Code (→ 109)
USINT<0x00IO-Link Additional Code: Additional Code (→ 109)

CIP Error Code:

CodeBeschreibung
0x02Ressource nicht verfügbar: IO-Link Port ist damit beschäftigt, einen anderen azyklischen Service zu bearbeiten
0x05Ungültige Klassen-ID oder Instanz-ID
0x08Falsche Service-ID: nur Service Code 0x4B, 0x4C oder 0x4D sind erlaubt
0x09Falsche Attribut-ID: falsche Port-Nummer
0x20Ungültiger Parameterwert (z. B. ungültige Länge)
0x1EEingebetteter Service-Fehler: Fehler während eines IO-Link Services aufgetreten. Byte 0 und Byte 1 der CIP User Specific Service Data enthalten den IO-Link Error Code und einen zusätzlichen Code, die vom IO-Link Master zurückgegeben werden.

Write ISDU

Mit Write_ISDU können Parameter eines angeschlossenen IO-Link Devices geändert werden.

Request

CIP Attribute bestimmt den IO-Link-Port, an den das IO-Link Gerät angeschlossen ist. Der Bereich CIP User Specific Service Data enthält IO-Link-Index, IO-Link-Subindex des IO-Link Objekts, dessen Wert geändert werden soll. Es folgt byteweise der Wert, der dem Parameter zugewiesen werden sollen.

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4CDienst „Write ISDU“
CIP User Specific Service DataUINT0x0000...0xFFFFISDU Objekt Index
USINT0x00...0xFFISDU Objekt Subindex
USINT0x00...0xFFISDU Daten (Byte 0)
USINT0x00...0xFFISDU Daten (Byte 1)

Response

Fehlerfreie Abarbeitung

Wurde der Dienst fehlerfrei ausgeführt (CIP Error Code = 0), bleibt der Bereich CIP User Specific Data leer. Die Antwort liegt in folgendem Format vor:

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4CDienst „Write ISDU“
CIP Error CodeUSINT0x00Fehlerfreie Abarbeitung
CIP Extended Error CodeUSINT0x00--

Fehlerfall

Tritt bei der Ausführung des Dienstes ein Fehler auf (CIP Error Code <> 0), dann werden wird ein Erweiterter Fehler-Code übertragen (CIP Extended Error Code). Ist der CIP Error Code = 0x1E, dann ist CIP Extended Error Code = 0x00 und es werden im Bereich CIP User Specific Service Data der IO-Link Error Code und der IO-Link Additional Code übertragen. Die Antwort liegt in folgendem Format vor:

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4CDienst „Write ISDU“
CIP Error CodeUSINT<0x00Fehlercode (siehe unten)
CIP Extended Error CodeUSINT0x00Erweiterter Fehlercode
CIP User Specific Service DataUSINT<0x00IO-Link Error Code: Error Code (→ 109)
USINT<0x00IO-Link Additional Code: Additional Code (→ 109)

CIP Error Code:

CodeBeschreibung
0x02Ressource nicht verfügbar: IO-Link Port ist damit beschäftigt, einen anderen azyklischen Service zu bearbeiten
0x05Ungültige Klassen-ID oder Instanz-ID
0x08Falsche Service-ID: nur Service Code 0x4B, 0x4C oder 0x4D sind erlaubt
0x09Falsche Attribut-ID: falsche Port-Nummer
0x20Ungültiger Parameterwert (z. B. ungültige Länge)
0x1EEingebetteter Service-Fehler: Fehler während eines IO-Link Services aufgetreten. Byte 0 und Byte 1 der CIP User Specific Service Data enthalten den IO-Link Error Code und einen zusätzlichen Code, die vom IO-Link Master zurückgegeben werden.

Write Failsafe Pattern

Mit Write Failsafe Pattern kann der Rückfallwert eines IO-Link Ports geschrieben werden.

Request

CIP Attribute bestimmt den IO-Link Port. Der Bereich CIP User Specific Service Data enthält die Failsafe Mode und den Rückfallwert (Failsafe Pattern).

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4DDienst „Write Failsafe Pattern“
CIP User Specific Service DataUSINT0x00: No Fail-safe0x01: Fail-safe Reset Value0x02: Fail-safe Old Value0x03: Fail-safe with PatternFail-safe Mode
USINT0x00...0xFFFail-safe Pattern (MSB)
USINT0x00...0xFFFail-safe Pattern (LSB)

Response

Fehlerfreie Abarbeitung

Wurde der Dienst fehlerfrei ausgeführt (CIP Error Code = 0), bleibt der Bereich User Specific Data leer. Die Antwort liegt in folgendem Format vor:

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Service Code IDUSINT0x4DDienst „Write Failsafe Pattern“
CIP Error CodeUSINT0x00Fehlerfreie Abarbeitung
CIP Extended Error CodeUSINT0x00--

Fehlerfall

Tritt bei der Ausführung des Dienstes ein Fehler auf (CIP Error Code <> 0), dann wird ein Erweiterter Fehler-Code übertragen (CIP Extended Error Code). Die Antwort liegt in folgendem Format vor:

CIP FormatDatentypMSG ConfigBeschreibung
CIP Class IDUINT0x80IO-Link Acyclic Access
CIP Instance IDUINT0x01IO-Link Master
CIP AttributeUSINT0x01...0x08Port-Nummer
CIP Error CodeUSINT<> 0x00Fehlercode (siehe unten)
CIP Extended Error CodeUSINT0x00Erweiterter Fehlercode

CIP Error Code:

CodeBeschreibung
0x02Ressource nicht verfügbar: IO-Link Port ist damit beschäftigt, einen anderen azyklischen Service zu bearbeiten
0x05Ungültige Klassen-ID oder Instanz-ID
0x08Falsche Service-ID: nur Service Code 0x4B, 0x4C oder 0x4D sind erlaubt
0x09Falsche Attribut-ID: falsche Port-Nummer
0x20Ungültiger Parameterwert (z. B. ungültige Länge)
0x1EEingebetteter Service-Fehler: Fehler während eines IO-Link Services aufgetreten. Byte 0 und Byte 1 der CIP User Specific Service Data enthalten den IO-Link Error Code und einen zusätzlichen Code, die vom IO-Link Master zurückgegeben werden.
0x0FNicht ausreichende Zugriffsrechte

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

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts4
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts1
3GetNumber of InstancesUINTAnzahl der Instanzen des Objekts1
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer eines Klassenattributs7
7GetMax. ID Number Instance AttributeUINTmax. ID-Nummer des Instanzattributs13

Instanzattribute

Attr. IDZugriffNameDatentypBeschreibungDefault
1GetStatusUINTStatus der TCP/IP-Schnittstelle0: Schnittstelle nicht konfiguriert1: Schnittstelle konfiguriert mit DHCP, BOOTP oder nichtflüchtigem Speicher
2GetConfiguration CapabilityDWORDConfigurationsoptionen für Schnittstelle
Bit 0: BOOTP Client
Bit 2: DHCP Client
Bit 4: Konfiguration einstellbar
Bit 7: ACD-fähig
0x95 (BOOTP, DHCP, TCP/IP configurable, ACD capable)
3Get / SetConfiguration ControlDWORDKonfigurationssteuerung
Bit 0..3: Startup-Konfiguration0: statisch zugewiesene IP-Adresse1: Konfiguration via BOOTP2: Konfiguration via DHCP
0
4GetPhysical Link Object PathSTRUCT ofLogischer Pfad zur physikalischen Kommunikationsschnittstelle (Ethernet Link Object)
Path SizeUINTLänge (Anzahl der Wörter, Little Endian Format)0x02 00
PathPadded EPATHKlassen-ID: 0xF6 (Ethernet Link Object)Instanz-ID: 0x10x20 F6 2 4 01
5Get / SetInterface ConfigurationSTRUCT ofTCP/IP-Schnittstellen-Konfiguration
IP AddressUDINTIP-Adresse192.168.1.250
Network MaskUDINTNetzwerk-Maske255.255.255.0
Gateway AddressUDINTGateway-Adresse0.0.0.0
Name ServerUDINTPrimärer Name Server0.0.0.0
Name Server 2UDINTSekundärer Name Server0.0.0.0
Domain NameSTRINGDefault Domänen-Name0
6Get / SetHost NameSTRINGHost-Name0: nicht konfiguriert0
8GetTTL ValueUINTTTL-Wert1
9Get / SetMcast ConfigUINTMcast-Konfiguration0
10Get / SetSelect
Acd
BOOLACD-Aktivierung / Deaktivierung0: deaktiviert1: aktiviert1
11Get / SetLast conflict detectedSTRUCT ofLetzter erkannter Konflikt0
AcdActivityUSINTZustand der ACD-Aktivität bei dem zuletzt erkannten Konflikt0: Noconflictdetected1: Probelpv4
Address2: Ongoing Detection3: SemiActiveprobe
Remote MACARRAY(6) of USINTMAC-Adresse des Remote-Knotens der ARP PDU, in dem der Konflikt erkannt wurde
ArpPduARRAY(28) of USINTKopie der Daten der ARP PDU, in welcher der Konflikt erkannt wurde
13Get / SetEncapsulation Inactivity TimeoutUINTInaktivität, bevor die TCP-Verbindung beendet wird (in Sekunden)120

Dienste

CodeDienstKlasseInstanzBeschreibung
0x01Get Attribute AllneinjaAlle Attribute lesen
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen
0x10Set Attribute SingleneinjaEinzelnes Attribut schreiben

Klassenattribute

Attr. IDZugriffNameDatentypBeschreibungWert
1GetRevisionUINTRevision des Objekts4
2GetMax. InstanceUINTmax. Anzahl der Instanzen des Objekts2
3GetNumber of InstancesUINTAnzahl der Instanzen2
6GetMax. ID Number Class AttributesUINTmax. ID-Nummer eines Klassenattributs7
7GetMax. ID Number Instance AttributeUINTmax. ID-Nummer des Instanzattributs768

Instanzattribute

Attr. IDZugriffNameDatentypBeschreibungDefault
1GetInterface SpeedUDINTAktuelle Übertragungsrate• 10: 10 Mbit/s• 100: 100 Mbit/s100
2GetInterface Status FlagDWORDSchnittstellen-Status-Flags• Bit 0: Link Status• Bit 1: Half/Full Duplex• Bit 2...4: Verhandlungsstatus• Bit 5: Manuelle Änderung erfordert Reset• Bit 6: Lokaler Hardware-Fehler• Bit 7...31: reserviert0x20
3GetPhysical AddressARRAY(6) of USINTMAC-Adresse
4GetInterface CountersSTRUCT(11) of UDINTSchnittstellen-spezifischer Zähler
5GetMedia CountersSTRUCT(12) of UDINTMedien-spezifischer Zähler
6Get / SetInterface ControlSTRUCT ofSchnittstellen-Steuerung
• Interface SettingsDWORDEinstellungen
Bit 0:• 0: Auto-Negotiation ein• 1: Auto-Negotiation ausBit 1:• 0: Half Duplex• 1: Full Duplex
0
• Interface SpeedUINTÜberragungsrate• 10: 10 Mbit/s• 100: 100 Mbit/s
7GetInterface TypeUSINT• 0: unbekannt• 1: Interne Schnittstelle• 2: Twisted Pair• 3: Optical Fiber2
8GetInterface StateUSINTAktueller Zustand der Schnittstelle• 0: unbekannt• 1: aktiv; sende- und empfangsbereit• 2: inaktiv• 3: Testmodus0
9Get / SetAdmin StateUSINTSteuerung des Zugriffs auf Schnittstelle1: aktivieren2: Deaktivieren1
10GetInterface LabelSHORT_STRINGSchnittstellen-KennzeichnerX21(Instanz 1)X22(Instanz 2)
11GetInterface CapabilitySTRUCT ofSchnittstellen-Fähigkeit
Interface SpeedDWORDÜbertragungsrate10: 10 Mbit/s100: 100 Mbit/s
Interface Duplex ModeDWORDDuplex ModeHD: Half DuplexFD: Full Duplex
768Get / SetMDIXUSINTMDIX-Konfiguration1: MDIX_AUTO2: MDIX_MDI3: MDIX_MDIX1

Dienste

CodeDienstKlasseInstanzBeschreibung
0x01Get Attribute AllneinjaAlle Attribute lesen
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen
0x10Set Attribute SingleneinjaEinzelnes Attribut schreiben
Inhaltsverzeichnis Klicken Sie auf einen Titel, um darauf zuzugreifen
Handbuch-Assistent
Angetrieben von Anthropic
Warten auf Ihre Nachricht
Produktinformationen

Marke : IFM

Modell : AL1326

Kategorie : Industrielle Automatisierung