IFM AL1921 - Industrieautomatisierung

AL1921 - Industrieautomatisierung IFM - Kostenlose Bedienungsanleitung

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

📄 133 Seiten Deutsch DE Herunterladen 💬 KI-Frage 10 Fragen ⚙️ Technik
Notice IFM AL1921 - page 6
Waehlen Sie Ihre Sprache und Ihre E-Mail-Adresse: wir senden Ihnen eine speziell uebersetzte Version.
Produkttyp IO-Link Master mit EtherNet/IP-Schnittstelle
Modell AL1921 (CabinetLine)
Marke IFM electronic
Abmessungen (ca.) Schaltschrankmodul, Hutschiene 35 mm, typische Bauform
Gewicht (ca.) ca. 200 g
Spannungsversorgung 24 V DC (20…30 V) SELV/PELV, über Port X31
Leistungsaufnahme max. 4 A (pro Port Class A)
Anzahl IO-Link-Ports 8 Ports (Class A), X01…X08
IO-Link Revision 1.0 und 1.1
Feldbus EtherNet/IP, 2-Port-Switch, min. Zykluszeit 1 ms
IoT-Schnittstelle ifm IoT-Core mit REST API, HTTP(S), MQTT, WebSocket
Digitale Eingänge 8 (Pin 2 jedes Ports, Typ 2 nach EN 61131-2)
Optische Signalisierung LEDs: Status (RDY), Netzwerk (NET), Ethernet (LNK/ACT), Spannung (PWR), IoT, Portstatus
Schutzart IP 20 (nur Schaltschrank)
Umgebungstemperatur 0…55 °C (Betrieb)
Montage 35 mm DIN-Hutschiene, senkrecht
Anschlüsse RJ45 (Ethernet, IoT), Push-in-Klemmen (Power, IO-Link)
Konfiguration ifm moneo|configure, IoT-Core Visualizer, EtherNet/IP-Projektierungssoftware
Sicherheit Sicherheitsmodus mit Passwortschutz und TLS-Verschlüsselung, Cyber-Sicherheitshinweise
Firmware-Update über ifm moneo|configure oder REST API (Datei .bin)
Reinigung Gehäuseoberfläche mit trockenem Tuch reinigen
Zubehör (nicht im Lieferumfang) Parametriersoftware ifm moneo, IODD-Dateien, Kabel (AWG 26…12)

Häufig gestellte Fragen - AL1921 IFM

Wie wird der AL1921 IO-Link Master montiert?
Das Gerät wird senkrecht auf eine 35 mm DIN-Profilschiene im Schaltschrank montiert. Vor der Montage die Anlage spannungsfrei schalten und ausreichend Platz für Luftzirkulation lassen.
Welche Spannungsversorgung benötigt der AL1921?
Das Gerät benötigt 24 V DC (20…30 V) SELV/PELV, angeschlossen am Port X31 (Klemmen 3 und 4 für +24 V, 1 und 2 für GND). Die empfohlene maximale Leitungslänge beträgt 25 m.
Wie viele IO-Link Devices können angeschlossen werden?
Es können bis zu 8 IO-Link Devices (Class A) an den Ports X01…X08 angeschlossen werden. Class B Devices erfordern eine externe Hilfsspannung UA.
Wie wird die IP-Adresse der IoT-Schnittstelle konfiguriert?
Die IP-Parameter der IoT-Schnittstelle werden entweder über die Parametriersoftware ifm moneo|configure (Menü IoT) oder über die REST API des ifm IoT-Core eingestellt. DHCP kann aktiviert oder eine statische IP vergeben werden.
Was ist der Sicherheitsmodus und wie aktiviere ich ihn?
Der Sicherheitsmodus schützt den Zugriff über die IoT-Schnittstelle durch Passwortauthentifizierung und TLS-Verschlüsselung. Aktivierung erfolgt in der Parametriersoftware unter IoT > Sicherheitsmodus oder über die REST API (iotsetup/security/securitymode). Das Passwort wird BASE64-codiert gespeichert.
Kann der AL1921 parallel im Feldbus und IT-Netzwerk betrieben werden?
Ja, das Gerät unterstützt den Y-Weg. Die Zugriffsrechte können über den Parameter Access rights konfiguriert werden (Fieldbus + IoT, Fieldbus + IoT (read only) oder IoT only). Bei Änderungen ist ein Neustart erforderlich.
Wie werden IO-Link Devices parametriert?
Nachdem das IO-Link Device angeschlossen und der Port auf Betriebsart IO-Link gestellt wurde, kann es über ifm moneo|configure parametriert werden. Die IODD des Devices muss in der lokalen Bibliothek vorhanden sein. Die Detailansicht zeigt die aktuellen Parameter.
Welche EtherNet/IP-Funktionen werden unterstützt?
Das Gerät unterstützt Exclusive Owner, Input Only und Listen Only Verbindungen, UCMM, DLR, QoS sowie vordefinierte CIP-Objekte (Identity, Assembly, Connection Manager etc.). Die min. Zykluszeit beträgt 1 ms.
Wie wird die Firmware aktualisiert?
Die Firmware wird über ifm moneo|configure importiert (Menü Firmware > Firmware-Datei importieren, .bin-Datei). Alternativ kann die REST API verwendet werden (Dienst firmware/install). Nach dem Update startet das Gerät neu.
Was bedeuten die LEDs am Gerät?
Die LED RDY zeigt den Gateway-Status (grün = OK, blinkt = Fehler/Update). NET zeigt den Netzwerkstatus. PWR leuchtet bei anliegender Versorgungsspannung. Die Port-LEDs zeigen den IO-Link-Status (grün = Operate, rot = Fehler) und den digitalen Eingang (gelb).

Benutzerfragen zu AL1921 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 Industrieautomatisierung kostenlos im PDF-Format! Finden Sie Ihr Handbuch AL1921 - 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. AL1921 von der Marke IFM.

BEDIENUNGSANLEITUNG AL1921 IFM

IO-Link Master mit EtherNet/IP-Schnittstelle

CabinetLine

AL1921

Inhaltsverzeichnis

1 Vorbemerkung 6

1.1 Verwendete Symbole 6
1.2 Warnhinweise 6
1.3 Änderungshistorie 6

2 Sicherheitshinweise 7

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

3 Bestimmungsgemäße Verwendung 8

4 Funktion 9

4.1 IO-Link 9
4.1.1 IO-Link Versorgung.... 9
4.2 Parametrierung 9
4.3 EtherNet/IP 9
4.4 ifm IoT-Core 10
4.5 Optische Signalisierung 10
4.6 Digitale Eingänge 10

5 Montage 11

5.1 Gerät montieren 11

6 Elektrischer Anschluss 12

6.1 Überblick.... 12
6.2 Generelle Anschlusshinweise 12

6.2.1 Hinweise zur Verkabelung.... 12

6.3 Ethernet-Ports.... 12
6.4 IoT-Port 13
6.5 IO-Link Ports (Class A) 13

6.5.1 IO-Link Devices (Class A) anschließen 13
6.5.2 IO-Link Devices (Class B) anschließen 14
6.6 Spannungsversorgung 14

7 Bedien- und Anzeigeelemente 16

7.1 LEDs.... 16

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

8 Inbetriebnahme.... 18

9 Einstellungen 19

9.1 Parametriersoftware 19

9.1.1 Unterstützte Parametriersoftware 19
9.1.2 Erste Schritte 19
9.1.3 IoT: IP-Einstellungen konfigurieren 20
9.1.4 IoT: Zugriffsrechte konfigurieren 20
9.1.5 IoT: Schnittstelle zu Monitoring-Software konfigurieren.... 21
9.1.6 IoT: Sicherheitsmodus konfigurieren.... 22

9.1.6.1 Sicherheitsmodus aktivieren 23
9.1.6.2 Sicherheitsmodus deaktivieren 23

9.1.7 Fieldbus: EtherNet/IP-Schnittstelle konfigurieren 23
9.1.8 Fieldbus: EtherNet/IP-Konfigurationsmodus einstellen 24
9.1.9 Ports: Betriebsart Pin 4 (US) einstellen....25
9.1.10 Ports: Gerätevalidierung und Datenspeicherung einstellen.... 26
9.1.11 Ports: Zykluszeit einstellen 27
9.1.12 Ports: Rückfallwerte einstellen 28
9.1.13 Ports: Datenübertragung zu Monitoring-Software einstellen 28
9.1.14 Info: Geräteinformationen lesen 29
9.1.15 Firmware: Firmware-Version anzeigen 29
9.1.16 Firmware: Firmware aktualisieren 29

9.1.17 Firmware: Gerät zurücksetzen 30
9.1.18 Firmware: Gerät neu starten 30
9.1.19 IO-Link Devices parametrieren 30

9.2 ifm IoT-Core REST API 32

9.2.1 ifm IoT-Core: Allgemeine Informationen 32
9.2.1.1 Auf den ifm IoT Core zugreifen 32
9.2.2 Erste Schritte 35
9.2.3 Allgemeine Funktionen 35

9.2.3.1 Beispiel: Eigenschaften eines Elements lesen 35
9.2.3.2 Beispiel: Teilbaum ausgeben 37
9.2.3.3 Beispiel: Einen Parameterwert ändern 39
9.2.3.4 Beispiel: Mehrere Elemente sequenziell lesen 40
9.2.3.5 Beispiel: Gerätebeschreibung durchsuchen 41

9.2.4 IoT: Zugriffsrechte konfigurieren 41

9.2.5 IoT: IP-Einstellungen konfigurieren 42
9.2.6 IoT: Sicherheitsmodus konfigurieren 42

9.2.6.1 Beispiel: Sicherheitsmodus aktivieren 43
9.2.6.2 Beispiel: Anfrage mit Authentifikation 44
9.2.6.3 Beispiel: Passwort zurücksetzen.... 44

9.2.7 IoT: Schnittstelle zur Monitoring-Software einstellen 45

9.2.8 Fieldbus: EtherNet/IP-Schnittstelle konfigurieren 45
9.2.9 Fieldbus: EtherNet/IP-Konfigurationsmodus einstellen 46
9.2.10 Fieldbus: Rückfallwerte der Ausgänge einstellen 46
9.2.11 Ports: Betriebsart Pin 4 (US) einstellen.... 47
9.2.12 Ports: Gerätevalidierung und Datenspeicherung konfigurieren 47
9.2.12.1 Beispiel: Datenspeicher eines IO-Link Ports klonen 48
9.2.13 Ports: Datenübertragung zu Monitoring-Software einstellen 50
9.2.14 Ports: Prozessdaten lesen / schreiben 50

9.2.14.1 Beispiel: IO-Link Prozesswert lesen (Betriebsart "IO-Link"). 51
9.2.14.2 Beispiel: IO-Link Prozesswert schreiben (Betriebsart "IO-Link") 51
9.2.14.3 Beispiel: Digitalen Eingangswert lesen (Betriebsart "DI") 52
9.2.14.4 Beispiel: Digitalen Ausgangswert schreiben (Betriebsart "DO"). 52

9.2.16 Timer: Zeitgeber konfigurieren 53

9.2.16.1 Zählintervall einstellen.... 54

9.2.17 IO-Link Devices: Auf Parameter zugreifen 54

9.2.17.1 Beispiel: Parameterwert eines IO-Link Devices lesen 55
9.2.17.2 Beispiel: Parameterwert eines IO-Link Devices schreiben.... 55

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

9.2.19 IO-Link Devices: IO-Link Events lesen 56
9.2.20 Gateway: Anwendungskennung einstellen 57
9.2.21 Gateway: Firmware aktualisieren 57
9.2.22 Gateway: Zustands- und Diagnoseinformationen lesen 58
9.2.23 Gateway: Geräteinformationen lesen 58
9.2.24 Gateway: Gerät zurücksetzen, neu starten und lokalisieren 58
9.2.25 Benachrichtigungen 59

9.2.25.1 Ereignisgesteuerte Benachrichtigungen 59
9.2.25.2 Zeitgesteuerte Benachrichtigungen.... 59
9.2.25.3 Beispiel: Benachrichtigung abonnieren 60
9.2.25.4 Beispiel: Benachrichtigung ändern 61
9.2.25.5 Beispiel: Benachrichtigung im CSV-Format abonnieren 61
9.2.25.6 Beispiel: Benachrichtigung abmelden 62
9.2.25.7 Beispiel: Benachrichtigung prüfen 62
9.2.25.8 MQTT-Unterstützung 63
9.2.25.9 WebSocket-Untertsützung 67

9.3 IoT-Core Visualizer 69

9.3.1 IoT-Core Visualizer starten 69
9.3.2 Benachrichtigungen verwalten 70

9.3.2.1 Neue Benachrichtigung erstellen.... 70
9.3.2.2 Benachrichtigung löschen 70

9.3.3 Elemente des IoT Core suchen.... 72

9.3.4 IO-Link Master konfigurieren....73

9.3.5 Auf Prozessdaten zugreifen 74
9.3.6 Firmware aktualisieren 75

9.4 EtherNet/IP 76

9.4.1 Hinweis: Startup Packages 76
9.4.2 Gerät in Projekt einbinden.... 76

9.4.2.1 Top-Down Mode 76
9.4.2.2 Independent Mode 78

9.4.3 Auf Prozessdaten zugreifen 80

9.4.4 Auf Diagnose- und Statusinformationen zugreifen 80
9.4.5 Auf IO-Link Devices zugreifen.... 81
9.4.6 Auf IO-Link Events zugreifen.... 81
9.4.7 Azyklische Dienste nutzen 82

9.4.7.1 Azyklischer Kommandokanal nutzen....82
9.4.7.2 Azyklische Port-Kommandos 83
9.4.7.3 EtherNet/IP-Mechanismen für azyklische Kommandos....83

10 Wartung, Instandsetzung und Entsorgung 84

10.1 Gehäuseoberfläche reinigen 84
10.2 Firmware aktualisieren 84

11 Anhang 85

11.1 ifm IoT Core 85

11.1.1 Profile 85
11.1.2 Typen 85
11.1.3 Dienste 86

11.1.3.1 Dienst: factoryreset 86
11.1.3.2 Dienst: getsubscriberlist 86
11.1.3.3 Dienst: getsubscriptioninfo 86
11.1.3.4 Dienst: getblobdata....86
11.1.3.5 Dienst: getdata 87
11.1.3.6 Dienst: getdatamulti 87
11.1.3.7 Dienst: getelementinfo 87
11.1.3.8 Dienst: getidentity 88
11.1.3.9 Dienst: gettree.... 88
11.1.3.10 Dienst: install.... 89
11.1.3.11 Dienst: iolreadacyclic 89
11.1.3.12 Dienst: iolwriteacyclic 89
11.1.3.13 Dienst: querytree....90
11.1.3.14 Dienst: reboot 90
11.1.3.15 Dienst: reset 90
11.1.3.16 Dienst: setblock....90
11.1.3.17 Dienst: setdata 91
11.1.3.18 Dienst: signal 91
11.1.3.19 Dienst: start.... 91
11.1.3.20 Dienst: start_stream_set....91
11.1.3.21 Dienst: stop....91
11.1.3.22 Dienst: stream_set 92
11.1.3.23 Dienst: subscribe 92
11.1.3.24 Dienst: unsubscribe....93
11.1.3.25 Dienst: validation_useconnecteddevice....93

11.2 EtherNet/IP 94

11.2.1 Parameter....94

11.2.2 Zyklische Daten 97

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)....118
11.2.4.5 Assembly Object (Class Code: 0x04) .....119
11.2.4.6 Connection Manager Object (Class Code: 0x06) .....120
11.2.4.7 Device Level Ring Object (Class Code: 0x47)....121
11.2.4.8 Quality Of Service Object (Class Code: 0x48). 122
11.2.4.9 IO-Link Request Object (Class Code: 0x80) .....123
11.2.4.10 TCP/IP Object (Class Code: 0xF5) .....130
11.2.4.11 Ethernet Link Object (Class Code: 0xF6) .....132

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 Verwendete Symbole

√ Voraussetzung
▶ Handlungsanweisung
Reaktion, Ergebnis

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

→ Querverweis

IFM AL1921 - Verwendete Symbole - 1

Wichtiger Hinweis

Fehlfunktionen oder Störungen sind bei Nichtbeachtung möglich

IFM AL1921 - Verwendete Symbole - 2

Information

Ergänzender Hinweis

1.2 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 AL1921 - Warnhinweise - 1

WARNUNG

Warnung vor schweren Personenschäden

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

IFM AL1921 - WARNUNG - 1

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.3 Änderungshistorie

Ausgabe Thema Datum
00 Neuerstellung des Dokuments 11 / 2023

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 AL1921 - 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 EtherNet/IP-Steuerungssystem

Das Gerät ist als Schaltschrankmodul für den 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)
- 8 IO-Link Ports (Class A) für den Anschluss von IO-Link Devices

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 OS + ifm moneo|configure
  • ifm moneo|configure free

- ifm IoT-Core

- ifm IoT-Core Visualizer

- EtherNet/IP

– Projektierungssoftware

4.3 EtherNet/IP

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

• Geräteprofil: EtherNet/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.4 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.5 Optische Signalisierung

Das Gerät verfügt über folgende optische Anzeigen:

  • Status- und Fehleranzeige des Gateways und des Systems
  • Status- und Aktivitätsanzeige der Ethernet-Verbindung
  • Statusanzeige der Spannungsversorgung
  • Status-, Fehler- und Kurzschluss-/Überlastanzeige der Sensor-Ports

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 Gerät montieren

IFM AL1921 - Gerät montieren - 1

▶ Anlage vor Montage spannungsfrei schalten.
Das Gerät nur an einer geerdeten Tragschiene montieren.

Gerät in Schaltschrank einbauen (Mindestschutzart: IP 20). Der Schaltschrank sollte in Übereinstimmung mit den Vorschriften der lokalen und nationalen Bestimmungen installiert werden.
Das Gerät senkrecht auf eine 35 mm DIN-Profilschiene montieren.
Ausreichend Platz zu Boden und Deckel des Schaltschranks sowie zu benachbarten Geräten lassen, um Luftzirkulation zu ermöglichen und unzulässige Erwärmung zu vermeiden.

6 Elektrischer Anschluss

6.1 Überblick

X01 X02 X05 X21 X22 X23 X06 X03 X04 X07 X08 X31

X21 Ethernet-Port 1 (EtherNet/IP)

X22: Ethernet-Port 2 (EtherNet/IP)

X23: IoT-Port

X31: Power - Spannungsversorgung

6.2 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.2.1 Hinweise zur Verkabelung

Für UL-Anwendungen:

Für den Anschluss des IO-Link Masters und der IO-Link Devices nur Kabel im Bereich AWG 26 bis 12 mit einer Mindesttemperatur von 75 °C verwenden.

6.3 Ethernet-Ports

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

Anschlussbelegung:

IFM AL1921 - Anschlussbelegung: - 1

1: TX + 5: nicht belegt
2: TX - 6: RX -
3: RX + 7: nicht belegt
4: nicht belegt 8: nicht belegt

▶ Gerät über die Ports X21, X22 mit dem EtherNet/IP-Netzwerk verbinden.
Für den Anschluss eine RJ45-Steckverbindung verwenden (min. Schutzart: IP 20).

6.4 IoT-Port

Über den IoT-Port wird das Gerät mit einem IT-Netzwerk verbunden (z. B. Laptop mit ifm moneo|configure oder IoT-fähigen Software).

Anschlussbelegung:

IFM AL1921 - Anschlussbelegung: - 1

1: TX + 5: nicht belegt
2: TX - 6: RX -
3: RX + 7: nicht belegt
4: nicht belegt 8: nicht belegt

Das Gerät über Port X23 mit dem IT-Netzwerk verbinden.
▶ Für den Anschluss eine RJ45-Steckverbindung verwenden (min. Schutzart: IP 20).

Über die IO-Link Ports werden IO-Link Devices (Sensoren, Aktuatoren) an das Gerät angeschlossen.

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

IFM AL1921 - Anschlussbelegung: - 2

VORSICHT

Zuführung von Energie in die IO-Link Ports

▷ Brandgefahr
Ein- und Rückspeisung von Energie in die IO-Link Ports verhinden.
▶ Vor Inbetriebnahme den korrekten Anschluss der Versorgungsverbindungen prüfen.

Hinweise zur Beschaltung:

  • Die Spannungsversorgung der angeschlossenen IO-Link Devices darf ausschließlich über den IO-Link Master erfolgen.
    • Die Ports X01...X08 verfügen über einen zusätzlichen digitalen Eingang (Typ 2, gemäß IEC 61131-2). Die angeschlossene Elektronik muss dafür elektrisch ausgelegt sein.

Anschlussbelegung:

IFM AL1921 - Anschlussbelegung: - 1
4 3 2 1

1: Sensorversorgung (US) L+
2: Digitaler Eingang (DI)
3: Sensorversorgung (US) L-
4: C/Q IO-Link

IO-Link Devices mit Ports X01...X08 verbinden. Maximale Leitungslänge pro Port: 20 m.
Für den Anschluss nur Kabel verwenden mit der Mindestschutzart IP 20.

Hinweise zur Beschaltung:

  • Der Anschluss von IO-Link Devices (Class B) erfordert die Zuführung einer zusätzlichen Hilfsspannung UA. Max. Stromstärke für UA: 4 A
  • Beim Anschluss eines IO-Link Devices (Class B) ist der zusätzliche digitale Eingang (Klemme 2) nicht verfügbar.

IFM AL1921 - 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.

Anschlussbild:
US +24V GND UA +24V GND ① +24V GND L+ L- C/Q ② L+ (UA) L- (UA) L+ (US) L- (US) C/Q

1: IO-Link Master

2: IO-Link Device

Anschlussbelegung:
IFM AL1921 - VORSICHT - 2
4 3 2 1
1: Sensorversorgung (US) L+
2: nicht belegt
3: Sensorversorgung (US) L-
4: C/Q IO-Link

▶ IO-Link Devices mit Ports X01...X08 verbinden. Maximale Leitungslänge pro Port: 20 m.
▶ IO-Link Devices anschließen an UA mit 24 V DC (20...30 V SELV/PELV).
Für den Anschluss nur Kabel verwenden mit der Mindestschutzart IP 20.

6.6 Spannungsversorgung

Über den Power-Port wird das Gerät an die Spannungsversorgung angeschlossen.

IFM AL1921 - Spannungsversorgung - 1
4 3 2 1
1: GND (US
2: GND (US)
3: + 24 V DC
4: + 24 V DC

▶ Anlage spannungsfrei schalten!
Gerät über Port X31 anschließen an 24 V DC (20...30 V SELV/PELV).
Für den Anschluss nur Kabel verwenden mit der Mindestschutzart IP 20.

IFM AL1921 - Spannungsversorgung - 2

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

IFM AL1921 - LEDs - 1

LED Beschreibung Farbe Zustand Beschreibung
RDY Gateway-Status grün aus Gateway: nicht aktivoder startet neu
blinkt (5 Hz) GatewayFehler
blinkt (200 ms ein, 800 ms aus)Gateway: Firmware-Update läuft
ein Gateway: OK
NET Netzwerk-Status (Network Status)grün / rot aus Network: keine Spannung anliegend oder Spannung anliegend, aber IP-Adresse noch nicht konfiguriert
grün / rot aus Module: keine Spannung anliegend oder anliegen-de Spannung zu niedrig

7.1.2 Ethernet

LED Beschreibung Farbe Zustand Beschreibung
LNK Status der Verbindung grün aus keine Ethernet-Verbindung
ein Ethernet-Verbindung hergestellt
ACT Status der Datenübertragunggelb aus keine Datenübertragung
blinkt Datenübertragung

7.1.3 Spannungsversorgung

LED Beschreibung Farbe Zustand Beschreibung
PWR Status der Spannungsversorgunggrün auskeineVersorgungsspannung anliegend oder anliegende Versorgungsspannung zu niedrig
einVersorgungsspannung US liegt an

7.1.4 IoT

LED Beschreibung Farbe Zustand Beschreibung
LNK Status der Verbindung grün auskeine Ethernet-Verbindung
einEthernet-Verbindung hergestellt
IoTGeräteidentifizierunggrünblinktGeräteidentifizierung aktiv
ACT Status der Datenübertragunggelbauskeine Datenübertragung
blinktDatenübertragung
LED Beschreibung Farbe Zustand Beschreibung
eStatus 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ün blinkt(1 Hz) Port-Mode IO-Link: keine 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

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

Für die Parametrierung des IO-Link Masters und der angeschlossenen IO-Link Devices wird eine Parametriersoftware benötigt.

Unterstützte Parametriersoftware:

  • ifm moneo OS (Art.-Nr. QMS001) + Modullizenz ifm moneo|configure (Art.-Nr. QMP020)
  • ifm moneo|configure free

IFM AL1921 - 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 Parametriersoftware kann für die Parametrierung des Geräts genutzt werden.

9.1.2 Erste Schritte

Voraussetzungen:

√ ifm moneo|configure ist korrekt auf Laptop / PC installiert.
√ ifm moneo|configure ist eingerichtet.
√ Laptop / PC ist direkt oder über ein geeignetes Netzwerkkopplungselement (z. B. Switch) mit dem IoT-Port (X23) des Geräts verbunden.
▶ ifm moneo starten.

▷ Bedienoberfläche erscheint.

ifm moneo 17.5.2023 07:24:17 OS RTM DST Device-Management Integrierte Geräte und Einrichtung der... Kalkulierte Werte Erzeugen Sie neue Informationen, indem Sie... Geräte konfigurieren Konfiguration der angeschlossenen Geräte Gespeicherte Konfigurationen Verwaltung der gespeicherten... Geräte- beschreibungen Verwaltung der IODD- und... edgeConnect Verbinden von externen Zielsystemen und...

▶ Auf Kachel [Geräte konfigurieren] klicken.
▷ Ansicht [Angeschlossene Geräte] erscheint.
▶ Netzwerk nach Geräten scannen.

▷ ifm moneo erkennt den IO-Link Master.
▶ Optional: IP-Einstellungen des IO-Link Masters anpassen.
In der Zeile des IO-Link Masters: Auf Symbol ↗ klicken.

▷ Verbindung zum Gerät wird hergestellt.

▷ Ansicht zeigt den IO-Link Master und die angeschlossenen IO-Link Devices.

In der Zeile des IO-Link Masters: Auf Symbol ✉ klicken.
Editoransicht des IO-Link Masters erscheint.

9.1.3 IoT: IP-Einstellungen konfigurieren

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

Verfügbare Parameter:

Parameter Beschreibung Wertebereich Zugriff
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-Schnittstelle z. B. 192.168.1.100169.254.x.x (Default) r w 1\ 2
Subnet mask Subnetzmaske des Ethernet-Netz-werksz. B. 255.255.255.0255.255.0.0 (Default) r w 1\ 2
Default gateway IP address IP-Adresse des Netzwerk-Gateways z. B.192.169.1.10.0.0.0 (Default) r w 1\ 2
MAC address MAC-Adresse der IoT-Schnittstelle z. B. 00:02:01:05:66:C1 ro 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.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“).

Verfügbare Parameter:

Parameter Beschreibung Wertebereich Zugriff
Access rights Zugriffsrechte auf das Gerät • Fieldbus + IoT:– Feldbus und ifm IoT Core haben Lese- und Schreibrechte auf Parameter und Prozessdaten– Feldbus und ifm IoT Core haben Lese- und Schreibrechte auf Parameter und Prozessdaten• 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 Zugriffsrechterw 1

1 lesen und schreiben

Bei der Parametrierung der Zugriffsrechte in der Parametriersoftware folgende Hinweise beachten:

  • Wenn die Zugriffsrechte in Feldbus-Projektierungssoftware und Parametriersoftware auf den Wert [Fieldbus + IoT] eingestellt sind, dann gelten immer die feldbusseitig eingestellten Parameterwerte.
  • Für einen exklusiven Zugriff auf das Gerät über die Parametriersoftware die Zugriffsrechte auf den Wert [IoT only] setzen und in der Feldbus-Projektierungssoftware die Zugriffsrechte auf [Keep settings] setzen.
  • Wenn die Zugriffsrechte in der Parametriersoftware auf den Wert [Fieldbus + IoT (read only)] eingestellt sind, dann können die Zugriffsrechte in der Parametriersoftware nicht mehr geändert werden. Um mit der Parametriersoftware 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.5 IoT: Schnittstelle zu Monitoring-Software konfigurieren

Für die optionale Übertragung der Prozessdaten an eine Monitoring-Software muss die Schnittstelle entsprechend konfiguriert werden.

Verfügbare Parameter:

Parameter Beschreibung Wertebereich Zugriff
IP address Moneo, LR Agent or SMARTOBSERVERIP-Adresse von moneo, LR AGENT oder LR SMARTOBSERVER• 0.0.0.0...• 255.255.255.255 (Default) r w 1
Port Moneo, LR Agent or SMARTOBSERVERNummer des Ports von moneo, LR AGENT oder LR SMARTOBSERVER, an den die Prozessdaten gesendet werden0...35100 (Default)...65535 rw1
Interval Moneo, LR Agent or SMARTOBSERVERZykluszeit für die Übertragung der Prozessdaten zu moneo, LR AGENT oder LR SMARTOBSERVER (Wert in ms)Off: keine Übertragung (Default)500: 500 ms...2147483647: 2147483647 ms rw1
Application Tag Quellenbezeichner des IO-Link Masters in der Struktur des LR AGENT oder LRSMARTOBSERVER (String32)z. B. "factory 2 plant 1" rw 1

1 lesen und schreiben

IFM AL1921 - IoT: Schnittstelle zu Monitoring-Software konfigurieren - 1

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

Um die Verzögerung zu vermeiden:

▶ Gerät neu starten.

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
▶ Menü [IoT] wählen.

▷ Menüseite zeigt aktuelle Einstellungen.

▶ Schnittstelle konfigurieren.
- Änderungen auf dem Gerät speichern.
▷ Schnittstelle zur Monitoring-Software ist eingestellt.

9.1.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 AL1921 - 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.

Der Sicherheitsmodus kann aktiviert werden, ohne gleichzeitig das Password zu setzen. Beim nächsten Zugriff auf das Gerät verlangt das Konfigurationstool das Setzen des Passworts.

Nach der Eingabe des korrekten Passworts kann der Nutzer uneingeschränkt auf den IO-Link Master und die angeschlossenen IO-Link Devices zugreifen. Das Passwort wird erneut abgefragt, wenn die aktuelle Sitzung der Parametriersoftware beendet wurde (z. B. nach einem Neustart).

Verfügbare Parameter:

Parameter Beschreibung Wertebereich Zugriff
Security mode HTTPS Sicherheitsmodus aktivieren oder de-aktivieren• Disabled: Sicherheitsmodus deaktiviert• Enabled: Sicherheitsmodus aktiviert r w 1
Security password Passwort für AuthentifizierungHinweis: Das gesetzte Passwort wird nicht angezeigt wo2

1 lesen und schreiben

2 nur schreiben

9.1.6.1 Sicherheitsmodus aktivieren

Um den Sicherheitsmodus zu aktivieren:

Voraussetzungen:

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

▶ Menü [IoT] wählen.

▷ Menüseite zeigt aktuelle Einstellungen.

▶ Sicherheitsmodus aktivieren.
▶ Optional: Passwort setzen.
▷ Sicherheitsmodus ist aktiv.

- Änderungen auf dem Gerät speichern.

9.1.6.2 Sicherheitsmodus deaktivieren

Um den Sicherheitsmodus zu deaktivieren:

Voraussetzungen:

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

▷ Parametriersoftware fordert die Eingabe des Passworts.

▶ Passwort eingeben und Eingabe bestätigen.

▷ Parametriersoftware hat Zugriff auf Einstellungen.

▶ Menü [IoT] wählen.

▷ Menüseite zeigt aktuelle Einstellungen.

▶ Sicherheitsmodus deaktivieren.

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

▷ Sicherheitsmodus ist deaktiviert.

9.1.7 Fieldbus: EtherNet/IP-Schnittstelle konfigurieren

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

Verfügbare Parameter:

Name Beschreibung Wertebereich Zugriff
DHCP DHCP-Client des Geräts aktivieren / deaktivierenStatic IP: IP-Parameter werden vom Anwender eingestelltDHCP: IP-Parameter werden von einem DHCP-Server im Netzwerk eingestelltBOOTP: IP-Parameter werden über Bootstrap Protocol (BOOTP) eingestellt rw1
IP address IP-Adresse der EtherNet/IP-Schnittstellez. B. 192.168.82.100192.168.1.250 (Default) rw1
Subnet mask Subnetzmaske des EtherNet/IP-Netzwerksz. B. 255.255.0.0• 255.255.255.0 (Default) rw1
Default gateway IP address IP-Adresse des Netzwerk-Gateways z. B.192.168.82.1• 0.0.0.0 (Default) rw1
Hostname EtherNet/IP-Name des Geräts (max. 240 Zeichen)z. B. iol12.plant1 rw 1
MAC address MAC-Adresse der EtherNet/IP-Schnittstelle des Gerätsz. B. 00:02:01:0f:c8:8f ro 2
Fieldbus firmware Version der Feldbus-Firmware z. B. 5.3.0.10 (EtherNet/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 EtherNet/IP-Schnittstelle einstellen.
- Änderungen auf dem Gerät speichern.
▷ IP-Einstellungen der Schnittstelle sind konfiguriert.

9.1.8 Fieldbus: EtherNet/IP-Konfigurationsmodus einstellen

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

Verfügbare Parameter:

ParameterBeschreibung WertebereichZugriff
Independent modeEtherNet/IP-Konfigurationsmodus• Independent mode off: Konfiguration über Feldbus-SPS• Independent mode on: Konfiguration über Gerät r w 12
Parameter Beschreibung Wertebereich Zugriff
Process data mode Explicit PD Mode aktivieren / deaktivieren und die zu übertragenden Prozessdaten wählen (Verbindungstyp)• Explicit process data mode off: Explicit PD Mode deaktiviert• Explicit process data mode with IO-Link I/O + Acyclic + Diag: Explicit PD Mode aktiviert -- IO-Link Ein-/Ausgänge, Azyklische Daten und Diagnosedaten werden übertragen• Explicit process data mode with IO-Link I/O + Acyclic: Explicit PD Mode aktiviert -- IO-Link Ein-/Ausgänge und azyklische Daten werden übertragen• Explicit process data mode with IO-Link I/O: Explicit PD Mode aktiviert -- IO-Link Ein-/Ausgänge werden übertragen rw13
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 Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist
3 Parameter nur änderbar im Konfigurationsmodus "Independent"

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.
▷ EtherNet/IP-Konfigurationsmodus ist eingestellt.

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

Verfügbare Parameter:

Parameter Beschreibung Wertebereich Zugriff
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.10 Ports: 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] Nein Neinn Nein
[Type compatible V1.0 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.0Nein Nein
[Type compatible V1.1 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1Nein Nein
[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

IFM AL1921 - Ports: Gerätevalidierung und Datenspeicherung einstellen - 1

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:

Name Beschreibung Wertebereich Zugriff
Validation / Data Storage Valdierung der angeschlossenen IO-Link Devices und automatische Wiederherstellung der Parametersätze des IO-Link DevicesNo check and clearType compatible V1.0 deviceType compatible V1.1 deviceType compatible V1.1 device with Backup + RestoreType compatible V1.1 device with Restore r w12
Vendor ID Hersteller-ID des IO-Link Devices, gegen die validiert werden sollz. B. 310: ifm electronic gmbh rw 12
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.11 Ports: Zykluszeit einstellen

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

Verfügbare Parameter:

Parameter Beschreibung Wertebereich Zugriff
Cycle time actual Aktuelle Zykluszeit zwischen IO-Link Master und IO-Link Device (Wert in μs)• 0: bestmögliche Zykluszeit ... • 132800: 132800 μsro 12
Cycle time preset Zykluszeit zwischen IO-Link Master und IO-Link Device (Wert in μs)• 0: bestmögliche Zykluszeit • 1: 1 μs ... • 132800: 132800 μsrw 32
Bitrate Übertragungsrate zwischen IO-Link Master und IO-Link Device• COM1: 4,8k Baud • COM2: 38,4 kBaud • COM3: 230,4 kBaudro 12

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.12 Ports: 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 EtherNet/IP-Verbindung aktiv.

Verfügbare Parameter:

Parameter Beschreibung Wertebereich Zugriff
Fail-safe digital out Rückfallwert für des Ausgangs für Betriebsart "Digitaler Ausgang (DO)"Reset: DefaultwertOld: letzter aktiver ProzesswertSet: HIGH-Pegel r w12
Fail-safe IO-Link Rückfallwert des Ausgangs für Betriebsart "IO-Link"Off: Fail-safe deaktiviertReset: Fail-safe aktiviert – DefaultwertOld: Fail-safe aktiviert - letzter aktiver ProzesswertPattern: Fail-safe aktiviert - Bytefolge r w12

1 lesen und schreiben

2 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.13 Ports: Datenübertragung zu Monitoring-Software einstellen

Verfügbare Parameter:

Name Beschreibung Wertebereich Zugriff
Transmission to Moneo, 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.
▶ 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.14 Info: Geräteinformationen lesen

Verfügbare Informationen:

Name Beschreibung Wertebereich Zugriff
Product code Artikelnummer AL1921 ro 1
Device family Gerätefamilie IO-Link Master ro 1
Vendor Hersteller ifm electronic ro 1
SW-Revision Firmware-Version z. B. AL1x2x_cn_ei_v3.1.95 ro 1
HW-RevisionHardware-Standz. B. AA ro 1
Bootloader revisionBootloader-Versionz. B. AL1xxx_bl_f7_v2.4.1 ro 1
Serial numberSeriennummerz. B. 000194610104 ro 1
Fieldbus type FeldbusEtherNet/IPro 1

1 nur lesen

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 Geräteinformationen.

9.1.15 Firmware: Firmware-Version anzeigen

Verfügbare Parameter:

ParameterBeschreibungWertebereichZugriff
VersionFirmware-Version z. B. AL1x2x_cn_ei_v3.1.95 roro 1

1 nur lesen

Voraussetzungen:

√ Parametriersoftware ist gestartet.
√ Verbindung zum Gerät ist hergestellt.
√ Detailansicht des Geräts ist aktiv.
▶ Menü [Firmware] wählen.
▷ Menüseite zeigt Firmware-Version.

9.1.16 Firmware: 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.17 Firmware: Gerät 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.18 Firmware: 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.

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

IFM AL1921 - 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 moneo ZURÜCK Verbunden: AL1066 (undefined) / Port 1 / winkelmesser (MVQ101) Identifikation Parameter Diagnose Anwendungsspezifisches winkelmesser Kennzeichen: Anlagenkennzeichen: *** Ortskennzeichen: *** Produktname: MVQ101 Familie: MV Hersteller: ifm electronic gmbh Hersteller-ID: 0x136 | 310 d | Bytes 1d 54d Geräte-ID: 0x253 | 595 d | Bytes 2d 83d Seriennummer: MVQ101001336 Hardware-/Firmware-Revision: AA / 1.0.1 Beschreibung: Ventisensor, -180.0...179.9°, SVS Basic IO-Link Quelle Parametername Wert Derzeitiger Minimum Maximum Beschreibung • Identifikation Anwendungsspezifisches winkelmesser winkelmesser 0 32 Möglichkeit ein Gerät mit benutzer- oder anwendungspezifischen Informationen zu ZUM GERÄT SCHREIBEN PARAMETERSATZ SPEICHERN VERWERFEN

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.

GET-Methode

Zugriff: lesend

Syntax der Anfrage (Request):

Element Beschreibung
ip IP-Adresse der IoT-Schnittstelle
data_point Datenpunkt inkl. Pfad, auf den zugegriffen werden soll
service Dienst, mit dem auf den Datenpunkt zugegriffen werden soll

Syntax der Antwort (Response):

{
    "cid": id,
    "data": {"value": resp_data},
    "code": diag_code
} 
Feld Element Beschreibung
cid id Correlation ID für die Zuordnung von Anfrage und Antwort
data resp_data Wert des Datenpunkts; abhängig vom Datentyp des Datenpunkts
code diag_codeDiagnosecodes (→ 34)

Beispiel: GET-Request

Anfrage (Request):

http://192.168.0.250/devicetag/applicationontag/getdata 

Antwort (Response):

{
    "cid": -1,
    "data": {"value":"factory 2 plant 1"},
    "code": 200
} 

POST-Methode

Syntax der Anfrage (Request):

{
    "code":"code_id",
    "cid":id,
    "adr":"data_point/service",
    "data":{"req_data}},
    "auth":{"user":"usr_id","passwd":"password"}
} 
Feld Parameter Beschreibung
code code_id Dienstklasserequest: Anfragetransaction: Transaktionevent: Ereignis
cid id Correlation ID für die paarweise Zuordnung von Anfrage und Rückgabe; vom Nutzer frei zuvergebende Kennung
adr data_pointDatenpunkt inkl.Pfad, auf den zugegriffen werden soll
service Dienst, mit den Datenpunkt zugegriffen werden soll
data1req_data Daten, die an den ifm IoT Core gesendet werden (z. B. neue Werte); Syntax abhängig vom Dienst
auth2usr_id Nutzername (BASE64-codiert); Default: administrator
password Passwort (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
} 
Feld ParameterBeschreibung
cididCorrelation ID für die Zuordnung von Anfrage und Rückgabe (→ Request)
data1resp_data Werte, die vom ifm IoT Core zurückgegeben werden; Syntax abhängig vom Dienst
codediag_codeDiagnosecode (→ Diagnosecodes ☐ 34)

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
} 
Feld Parameter Beschreibung
cid id
error err_codeCorrelation ID für die Zuordnung von Anfrage und Rückgabe (→ Request)
gerätespezifischer Fehlercode (→ IO Device Description (IODD) des IO-Link Devices)
code diag_codeDiagnosecode (→ Diagnosecodes ☐ 34)

Beispiel: POST-Request

Anfrage (Request):

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

Antwort (Response):

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

Diagnosecodes

Code Text Beschreibung
200 OK Anfrage erfolgreich abgearbeitet
230 OK but needs reboot Anfrage erfolgreich abgearbeitet; Gerät muss neu gestartet werden
231 OK but block request not finished Anfrage erfolgreich abgearbeitet; blockweise Anfrage aber nicht beendet
233 IP settings (of IoT-Port) have been updated. Application needs to reload device. Wait at least 1 second before reloading device.IP-Einstellungen erfolgreich geändert, IO-Link Master wird neu geladen; mind. 1 Sekunde warten
400 Bad request Ungültige Anfrage
401 Unauthorized Nicht-authorisierte Anfrage
403 Forb dden Verbotene Anfrage
500 Internal Server Error Interner Fehler; detailierte Inforrationen im Feld „error“
503 Service Unavailable Dienst nicht verfügbar (z. B. IO-Link Port im falschen Betriebsmodus; kein IO-Link Device an IO-Link Port)
507 Insufficient Storage Interner Speicher für Benachrichtigungen voll (max. 16 kB)
530 The requested data is invalid Ungültige Prozessdaten
531 IO-Link Error Fehler in IO-Link Master / IO-Link Device; detailierte Infomrationsen im Feld „error“
532 PLC connected Error Fehler beim Schreiben der Daten, da IO-Link Master noch mit Feldbus-SPS verbunden ist

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 ☐ 85). Auf das Wurzelelement des Gerätebaums können folgende Dienste angewendet werden:

Dienst Beschreibung
../gettree Gesamtbaum oder Teilbaum der Gerätebeschreibung (JSON) ausgeben
../getidentity Identifikationsinformationen des Geräts lesen
../getdatamulti Mehrere Elemente sequenziell lesen
../getelementinfo Detaillierte Informationen eines Elements lesen
../getsubscriberlist Liste mit allen aktiven Benachrichtigungsabonnements ausgeben
../querytree Gerätebeschreibung nach spezifischen Elementen durchsuchen

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

Dienst Beschreibung
../getdata Wert des Elements lesen
../setdata Wert 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 AL1921 - 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 (→ 58)

Unterstruktur: iotsetup

Verfügbare Datenpunkte:

Parameter Beschreibung Wertebereich Zugriff
../accessrights Zugriffsrechte auf das Gerät • 0: Fieldbus+ IoT (Default):– Feldbus und ifm IoT Core haben Lese- und Schreibrechte auf Parameter und Prozessdaten– Feldbus und ifm IoT Core haben Lese- und Schreibrechte auf Parameter und Prozessdaten• 1: 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• 3: IoT only– ifm IoT Core hat Lese- und Schreibrechte auf Parameter und Prozessdaten– ifm IoT Core hat Leserechte auf Ereignisse Alarme– Feldbus hat keine Zugriffsrechterw 1

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 ihm 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:

Name Beschreibung WertebereichZugriff
../dhcp DHCP-Modus aktivieren / deaktivie-ren· 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
../ipaddress IP-Adresse der IoT-Schnittstelle z. B. 192.68.1.100· 169.254.x.x (Default) r w 1
../subnetmask Subnetzmaske des Ethernet-Netz-werksegmentsz. B. 255.255.255.0 · 255.255.0.0 (Default) r w 1
../ipdefaultgateway IP-Adresse desNetzwerk-Gateways z. B. 192.169.1.1· 0.0.0.0 (Default) r w 1

1 lesen und schreiben

Anwendbare Dienste:

Name Beschreibung
../setblock alle Datenpunkte der Unterstruktur blockweise schreiben

IFM AL1921 - 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 AL1921 - 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 ☐ 88) 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:

Name Beschreibung Wertebereich Zugriff
../security/securitymode Sicherheitsmodus aktivieren / deaktivieren• disabled: Sicherheitsmodus deaktiviert• enabled: Sicherheitsmodus aktiviert r w 1
../security/password Passwort für Authentifizierung (Base64-codiert) wo 2

1 lesen und schreiben
2 nur schreiben

IFM AL1921 - 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:

Name Beschreibung Wertebereich Zugriff
../smobip IP-Adresse der Monitoring-Software z. B. 255.255.255.255 (Default) rw1
../smobport Portnummer der Monitoring-Software • 0: 0...• 35100: 35100 (Default)...• 65535: 65535rw1
../smobinterval Intervall für die Datenübertragung zur Monitoring-Software (Wert in Millisekunden)• 0: Off - keine Übertragung (Default)• 500: 500 ms...• 2147483647: 2147483647 msrw1

1 lesen und schreiben

9.2.8 Fieldbus: EtherNet/IP-Schnittstelle konfigurieren

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

Unterstruktur: fieldbussetup

Verfügbare Datenpunkte:

Name Beschreibung WerteZugriff
../network/dhcp Status des DHCP-Clients • 0: Statische IP-Adresse• 1: DHCP (Dynamic Host Configuration Protocol)• 2: BOOTP (Bootstrap Protocol) rw1
../network/ipaddress IP-Adresse der Ethernet-Schnittstelle z. B. 192.200.0.100• 192.168.1.250 (Default) rw12
../network/subnetmaskSubnetzmaske des Netzwerksegmentsz. B. 255.255.192.0• 255.255.255.0 (Default) rw12
../network/ipdefaultgatewayIP-Adresse des Netzwerk-Gatewaysz. B. 192.200.63.1• 0.0.0.0 (Default) rw12
../network/macaddressMAC-Adresse der Ethernet-Schnittstellez. B. 00:02:01:0E:10:7C ro3
../hostnameEtherNet/IP-Hostnamez. B. alxx2x rw1
../fieldbusfirmwareFeldbus-Firmwarez. B. 5.3.0.10 (EtherNet/IP Adapter) ro3
../connectionstatusStatus der Feldbusverbindung• 0: Nicht verbunden• 1: Verbunden ro3

1 lesen und schreiben

2 Parameter nur änderbar, wenn keine Verbindung zu Feldbus-Steuerung aktiv ist

3 nur lesen

Anwendbare Dienste:

Name Beschreibung
../network/setblock alle Werteder Unterstruktur blockweise schreiben

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

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

9.2.9 Fieldbus: EtherNet/IP-Konfigurationsmodus einstellen

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

Unterstruktur: fieldbussetup/configuration

Verfügbare Datenpunkte:

Name Beschreibung Wertebereich Zugriff
../independentmode Konfigurationsmodus • 0: Independent Mode aus• 1: Independent Mode ein rw12
../explicitmodepd Verbidnungstypen (Input Assembly, Output Assembly)• 0: Explicit Process Data Mode aus• 1: Explicit Process Data Mode mit IO-Link I/O + Acyclic + Diag• 2: Explicit Process Data Mode mit IO-Link I/O + Acyclic• 3: Explicit Process Data Mode mit IO-Link I/O rw12
../processdataconfiguration Länge der Prozessdaten • 0: 2 Bytes Input 2 Bytes Output• 1: 4 Bytes Input 4 Bytes Output• 2: 8 Bytes Input 8 Bytes Output• 3: 16 Bytes Input 16 Bytes Output• 4: 32 Bytes Input 32 Bytes Output rw12
../swap Tausch der Bytes in Prozessdaten • 0: aus• 1: ein rw12

1 lesen und schreiben
2 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 EtherNet/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:

Name Beschreibung WertebereichZugriff
../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
../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

1 lesen und schreiben
2 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:

Name Beschreibung Wertebereich Zugriff
.../mode Betriebsart des Pin 4 (US) des Ports • 0: Disabled - Port deaktiviert• 1: DI - Digitaler Eingang• 2: DO - Digitaler Ausgang• 3: IO-Link - IO-Link-Daten rw12
../mastercycletime_actual Aktuelle Zykluszeit der Datenübertragung zwischen Port und IO-Link Device (Wert in μs)• 0: bestmögliche Zykluszeit• 1: 1 μs...• 132800: 132800 μs ro3
../comspeed Aktuelle Übertragungsrate zwischen Port und IO-Link Device• 0: COM1 - 4,8 kBaud• 1: COM2 - 38,4 kBaud• 2: COM3 - 230,4 kBaud ro3
../mastercycletime_preset Zykluszeit der Datenübertragung zwischen Port und IO-Link Device (Wert in μs); nur in Betriebsart IO-Link• 0: Bestmögliche Zykluszeit automatisch einstellen• 1: 1 μs...• 132800: 132800 μs rw12

1 lesen und schreiben

2 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] Nein Neinn Nein
[Type compatible V1.0 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.0Nein Nein
[Type compatible V1.1 device]Ja, Prüfung auf Kompatibilität zu IO-Link Standard V1.1Nein Nein
[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

IFM AL1921 - Ports: Gerätevalidierung und Datenspeicherung konfigurieren - 1

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:

Name Beschreibung Wertebereich Zugriff
../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_vendorid IO-LinkID des Herstellers, der validiert werden soll0...655535 rw 12
../validation_deviceid IO-LinkID des Geräts, das validiert werden soll0...16777215 rw 12
../datastorage Struktur für Data Storage des Ports - rw 12
../datastorage/maxsize maximale Größe des Data-Storage-Inhalts (in Bytes)z. B. 2066: 2066 Bytes ro 3
../datastorage/chunksize Größe eines Datensegments (in Bytes) z. B. 256:256 Bytes ro 3
../datastorage/sizeGröße der Data-Storage-Inhalts (in Bytes)z. B. 1024: 2 Bytes ro3

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

Anwendbare Dienste:

Name Beschreibung
../validation_useconnecteddeviceIO-Link Device validieren
../datastorage/getblobdataInhalt des Data-Storage-Bereichs lesen
../datastorage/stream_set EinzelnesDatensegment ü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:

Name Beschreibung Wertebereich Zugriff
../senddatatosmob Übertragung der Prozessdaten zur Monitoring-Software aktivieren / deaktivieren• 0: Disabled – Prozessdaten werden nicht übertragen• 1: 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:

Name Beschreibung Wertebereich Zugriff
../pin2in Digitaler Eingang (Pin 2) • 0: OFF• 1: ONro 1
../iolinkdevice/pdin Eingangsdaten (Pin 4) Betriebsart "DI":• 0x00: OFF• 0x01: ONBetriebsart "IO-Link":• Prozesswert in Hexadezimaldarstellungro 1
../iolinkdevice/pdout Ausgangsdaten (Pin 4) Betriebsart "DO":0x00: OFF0x01: ONBetriebsart "IO-Link":Prozesswert in Hexadezimaldarstellung r w 23

1 nur lesen
2 lesen und schreiben
3 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") (→ 51)

  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
} 

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:

Name Beschreibung Wertebereich Zugriff
../portevent Port-EventStruktur: 0xYYZZ00• 0xYY: Device Status – Status des IO-Link Devices• 0xZZ: Connection Status – Status der VerbindungDevice Status:• 0x00: Kein IO-Link Device angeschlossen• 0x40: Falsches IO-Link Device angeschlossen• 0x80: IO-Link Device angeschlossen und in Zustand PREOPERATE• 0xFF: IO-Link Device angeschlossen und in Zustand OPERATEConnection Status:• 0x00: Port deaktiviert• 0x01: Port aktiviert, aber kein Gerät angeschlossen• 0x02: Port aktiviert und in Betriebsart „IO-Link“• 0x03: Port aktiviert und in Betriebsart „DI“• 0x04: Port aktiviert und in Betriebsart „DO“• 0x1B: Wiederholungen erkannt• 0x1E: Kurzschluss erkannt an Pin 4• 0x42: Falsche Revision des IO-Link Devices• 0x43: 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:

Name Beschreibung Wertebereich Zugriff
../counter Zählerstand • 0...4294967295 rw1
../interval Zählintervall (Wert in ms) • 1000: 1000 ms...• 86400000: 86400000 msrw1
../interval/unit Einheit des Zählintervalls • ms: 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:

Name Beschreibung
../iolreadacyclic Parameter eines IO-Link Devices lesen (azyklisch)
../iolwriteacyclic Parameter 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 „ParamDownloadStore“ den Parametriervorgang beenden und den Data-Storage-Mechanismus auf dem IO-Link Device aktivieren.

▶ Per ayzklischem ISDU-Schreibzugriff das Objekt SystemCommand (ISDU-Index: 0x0002) auf den Wert 0x05 (Befehl „ParamDownloadStore“) 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:

Name Beschreibung Wertebereich Zugriff
../status Status 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
../vendorid IO-Link ID des Herstellers z. B. 310: ifm electronic ro 1
../deviceid IO-Link ID des IO-Link Devices z. B. 712: ifm DrucksensorPV7003 ro 1
../productname Produktnames des IO-Link Devices z. B. PV7003 ro 1
../serial Seriennummer des IO-Link Devices z. B. 000008500706ro 1
../applicationspecifictag Anwendungsspezifische 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 Byte• 0x00: unbekannt• 0x01: PL (Physical Layer)• 0x02: DL (Data Layer)• 0x03: AL (Application Layer)• 0x04: APPL (Application)
• ModeIO-Link event Qualifier: Ereignis-Auslöser1 Byte• 0x40: einmaliges Ereignis oder Warnung (Single Shot)• 0xC0: Fehler verschwunden (Disappeared)• 0x80: Fehler erschienen (Appeared)
• TypeIO-Link Event Qualifier: Ereignis-Kategorie1 Byte• 0x10: Benachrichtigung• 0x20: Warnung• 0x30: Fehler
• ValidityGültigkeit der Prozessdaten 1 Byte • 0x00: gültig• 0x40: ungültig

- Source IO-Link Event Qualifier: Ereignis-Quelle 1 Byte • 0x00: IO-Link Device

- 0xFF: IO-Link Master

- Event Code IO-Link Event Code (Bytes sind getauscht!) 2 Bytes

→ IO-Link Spezifikation

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

Verfügbare Datenpunkte:

Name Beschreibung Wertebereich Zugriff
../iolinkevent IO-Link Event Siehe Hinweis ro1 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:

Name Beschreibung Werte Zugriff
../applicationtag Bezeichnung desGeräts (Application Tag)z. B. “factory 2 plant 1“rw 1

1 lesen und schreiben

IFM AL1921 - Gateway: Anwendungskennung einstellen - 1

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:

Name Beschreibung Werte Zugriff
../versionFirmware-VersionAL1x2x_cn_ei_v3.1.95 ro 1
../type Software-Typfirmware ro 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/size Größ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 AL1921 - Gateway: Firmware aktualisieren - 1

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

9.2.22 Gateway: Zustands- und Diagnoseinformationen lesen

Unterstruktur: processdatamaster

Verfügbare Datenpunkte:

Name Beschreibung Wertebereich Zugriff
../temperature Temperaturdes Geräts (Wert in °C) • -30: -30°C...• 80: 80°Cro 1
../temperature/unit Physikalische Einheit der Temperatur • °C ro 1
../voltage aktueller Spannungswert der Geräteversorgung US (Wert in mV)• 0: 0 mV...• 40000: 40000 mVro 1
../voltage/unit Physikalische Einheit der Spannung • mV ro 1
../current aktueller Stromstärkewert der Geräteversorgung US (Wert in mA)• 0: 0 mA...• 40000: 40000 mAro 1
../current/unit Physikalische Einheit der Stromstärke • mA ro 1
../supervisionstatusStatus der Geräteversorgung US• 0: OK• 1: Fehlerro 1

1 nur lesen

9.2.23 Gateway: Geräteinformationen lesen

Unterstruktur: deviceinfo

Verfügbare Datenpunkte:

NameBeschreibungWertebereichZugriff
../productcodeArtikelnummerAL1921ro 1
../vendorHerstellerifm electronicro 1
../devicefamilyGerätefamilieIO-Link Masterro 1
../hwrevisionHardware-Standz. B. AA ro 1
../serialnumber Seriennummerz. B. 000174210155 ro 1
../swrevisionFirmware-Versionz. B. AL1x2x_cn_ei_v3.1.95ro 1
../bootloaderrevisionBootloader-Versionz. B. AL1xxx_bl_f7_v2.4.1ro 1
../fieldbustypeFeldbusethernet/ipro 1

1 nur lesen

Zusätzliche Informationen über das Geräts können mit dem Dienst getidentity (→ Dienst: getidentity ☐ 88) 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 ☐ 92).

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

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

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

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

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.

Name Beschreibung
../datachanged Knoten für die Anzeige von Wertänderungen des übergeordneten Datenknotens
../eventcollection Knoten für die Anzeige von Wertänderungen mehrerer Datenknoten des IoT-Cores
../treechanged Knoten für die Anzeige von Strukturänderungen im IoT-Core

Anwendbare Dienste:

Name Beschreibung
../subscribe Benachrichtigungen anmelden
../unsubscribe Benachrichtigungen abmelden
../getsubscriptioninfo Informationen überBenachrichtigungen 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.

Name Beschreibung
../timer[1]/counter/datachanged Zähler des Zeitgerbers 1
../timer[2]/counter/datachanged Zähler des Zeitgebers 2

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

Anwendbare Dienste:

Name Beschreibung
../subscribe Benachrichtigungen anmelden
../unsubscribe Benachrichtigungen abmelden
../getsubscriptioninfo Informationen überBenachrichtigungen 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 AL1921 - Beispiel: Benachrichtigung abonnieren - 1

Folgende Optionen sind zusätzlich verfügbar:

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

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

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

- 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 ☐ 60). 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 AL1921 - 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:

9.2.25.6 Beispiel: Benachrichtigung abmelden

Aufgabe: Das existierende Abonnement Beispiel: Benachrichtigung abonnieren (→ 60) 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 (→ 60) 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).

IFM AL1921 - MQTT-Unterstützung - 1

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.
▶ MQTT-Kommandokanal aktivieren.
▶ MQTT-Kommandokanal konfigurieren.
▶ MQTT-Verbindung konfigurieren.
MQTT-Verbindung ist konfiguriert und aktiviert.

Prüfen, ob der gewünschte Port des MQTT-Brokers offen ist.

MQTT-Verbindung konfigurieren

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

IFM AL1921 - MQTT-Verbindung konfigurieren - 1

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

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

IFM AL1921 - MQTT-Verbindung konfigurieren - 2

Maximale Anzahl der MQTT-Broker: 1

Maximale Anzahl gleichzeitiger MQTT-Verbindungen: 3

Unterstruktur: connections/mqttConnection

Verfügbare Datenpunkte:

Name Beschreibung WertebereichZugriff
../type Typ der Verbindung (MQTT)mqtt: MQTT-Verbindung ro1
../status Status der MQTT-Verbindung• init: Zustand [init] – Initialisierung• stopped: Zustand [stopped] – Verbindung angehalten• running: Zustand [running] – Verbindung läuft• error: Zustand [error] - Fehlerzustandro1
../status/preset Voreinstellung des Status der MQTT-Verbindung• running: Status [running] (Default) ro1
../MQTTSetupUnterstruktur für allgemeine MQTT-Einstellungen
../MQTTSetup/QoSQualitiy of Service (QoS) der MQTT-Verbindung• 0: 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)rw2
../MQTTSetup/versionMQTT-Versionz. B. 3.1.1ro1

1 nur lesen
2 lesen und schreiben

Anwendbare Dienste:

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

MQTT-Kommandokanal konfigurieren

IFM AL1921 - MQTT-Kommandokanal konfigurieren - 1

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.

Verfügbare Datenpunkte:

Name Beschreibung WertebereichZugriff
../type Type des Kommandokanals• mqtt: MQTT-Kommandokanal(Default)ro 1
../status Status des Kommandokanals• init: Zustand [init]• stopped: Zustand [stopped]• running: Zustand [running](Default)• error: Zustand [error]ro 1
../status/preset Voreingestellter Kanalzustand • running: Zustand RUN (Default) ro 1
../mqttCmdChannelSetup Unterstruktur für Einstellungen desKommandokanals--
../mqttCmdChannelSetup/brokerIPIP-Adresse des MQTT-Brokers z. B. 3.691.9 rw 2
../mqttCmdChannelSetup/broker-PortPortnummer des MQTT-Brokers z. B. 1883rw 2
../mqttCmdChannelSetup/cmdTo-picBezeichnung des MQTT-Topicsz. B. myTopicrw 2
../mqttCmdChannelSetup/default-ReplyTopicStandard-Antwort-Topicz. B. stdTopicrw 2

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:

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

Anfrage (Request):

▶ MQTT-Verbindung aktivieren

Anfrage (Request):

IP-Adresse des MQTT-Brokers einstellen.

Anfrage (Request):

▶ Portnummer des MQTT-Brokers einstellen.

Anfrage (Request):

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

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/myTopic",
    "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:

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:

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

IoT-Core Visualizer 192.168.82.100/web/subscribe 00-02-01-05-50-71 - online Notification | Elements | Parameter | Processdata | Update | Search Consumer ID Channel Broker/Server Event Data Duration Unsubscribe

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

• [Notification]: Benachrichtigungen verwalten (→ 70)
• [Elements]: Elemente des IoT Core suchen (→ 72)
• [Parameter]: IO-Link Master konfigurieren (→ 73)
• [Processdata]: Auf Prozessdaten zugreifen (→ 74)
- [Update]: Firmware aktualisieren (→ 75)

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.

IFM AL1921 - Neue Benachrichtigung erstellen - 1

Mithilfe des Wizards schrittweise die gewünschten Benachrichtigungsparameter eingeben.
▷ Wizard erzeugt Benachrichtigung.
Erstellte Benachrichtigung wird in Tabelle angezeigt.

IFM AL1921 - Neue Benachrichtigung erstellen - 2

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.

00-02-01-0f-c8-92 - online Notification | Elements | Parameter | Processdata | Update | Search for ... identifier getdatamulti profile service type Processdatamaster Deviceinfo Timer[1] Timer[2] lotsetup Fieldbussetup Connections Iolinkmaster Firmware Devicetag ^ 00-02-01-0f-c8-92 getidentity 00-02-01-0f-c8-92/getidentity type: service profiles: undefined Copy URL gettree 00-02-01-0f-c8-92/gettree type: service profiles: undefined Copy URL querytree 00-02-01-0f-c8-92/querytree type: service profiles: undefined Copy URL getsubscriberlist 00-02-01-0f-c8-92/getsubscriberlist type: service profiles: undefined Copy URL

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.

00-02-01-01-c8-92 - online Notification | Elements | Parameter | Processdata | Update | Deviceinfo Timer[1] Timer[2] lotsetup Fieldbussetup Connections Iolinkmaster Firmware Devicetag k ^ lotsetup accessrights iot only Type: enum Namespace: json Encoding: integer Valuation: valuelist: 0: fieldbus + iot 1: fieldbus + iot (read- only) 3: iot only Copy URL ^ network macaddress 00:02:01:0F:C8:92 Type: string Namespace: json Encoding: utf-8 Copy URL ipaddress 169.254.1.200 Type: string Namespace: json Encoding: utf-8 Valuation: minlength: 7 maxlength: 15 Copy URL subnetmask 255.255.0.0 Type: string Namespace: json Copy URL

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.

00-02-01-0f-c8-92 - online Notification | Elements | Parameter | Processdata | Update | Polling: Polling interval in seconds: 15 Refresh all Processdatamaster Timer[1] Timer[2] Fieldbussetup Iolinkmaster Port[1] Port[2] Port[3] Port[4] ^ iolinkmaster ^ port[1] portevent 000100 Type: string Namespace: json Encoding: hexstring Copy URL ^ iolinkdevice vendorid Type: number Namespace: json Encoding: integer Valuation: min: 0 max: 65535 Copy URL deviceid Type: number Namespace: json Copy URL

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

00-02-01-0f-c8-92 - online Notification Elements Parameter Processdata Update Firmware 00-02-01-0f-c8-92/firmware Version: AL1x7x_cn_pl_v3.3.40 Container Type: firmware Load software file choose software package Update Chunk size: 4096 5 Max size: 4194304 5 Size: 0 5

▶ 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 EtherNet/IP

9.4.1 Hinweis: Startup Packages

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

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

9.4.2 Gerät in Projekt einbinden

Das Gerät unterstützt folgende EtherNet/IP-Konfigurationsmethoden:

- Top Down Mode

  • Konfiguration des Geräts über das Configuration Assembly Object
    – Erstellte Konfiguration wird beim Verbindungsaufbau von der EtherNet/IP-Steuerung auf das Gerät übertragen, dort gespeichert und aktiviert

- Independent Mode

  • Konfiguration des Geräts über Parametriersoftware / ifm IoT-Core
  • Configuration Assembly Object im EtherNet/IP-Projekt wird nicht ausgewertet

9.4.2.1 Top-Down Mode

EDS-Datei registrieren

Für die Abbildung des Geräts in einer EtherNet/IP-Projektierungssoftware stellt ifm eine Electronic Device Description (EDS) bereit. Die Gerätebeschreibungsdatei enthält Identifikationsinformationen, unterstützte Parameter, Prozessdaten und Feldbus-Objekte. Der Anwender kann die EDS-Datei von der Webseite documentation.ifm.com herunterladen.

Um das Gerät zum Gerätekatalog von RSLogix 5000 hinzuzufügen:

Voraussetzungen:

√ EDS-Datei des Geräts wurde heruntergeladen.
▶ EtherNet/IP-Projektierungssoftware RSLogix 5000 starten.
▶ [Tools] > [EDS Hardware Installation Tool] wählen.
▷ Wizard startet.
Mithilfe des Wizards die heruntergeladene EDS-Datei registrieren.
▶ Gerät wird zum Gerätekatalog der EtherNet/IP-Projektierungssoftware hinzugefügt.
RSLogix 5000 kann auf Funktionen und Daten des Geräts zugreifen.

Gerät zum Projekt hinzufügen

Mithilfe der installierten EDS-Datei wird das Gerät in das Projekt eingebunden.

Voraussetzungen:

√ EDS-Datei ist installiert.
√ Projekt mit Ethernet/IP Controller und Ethernet-Kommunikationsmodule wurde erstellt.
Im Controller Organizer: Rechtsklick auf Knoten Ethernet des EtherNet/IP Controllers.
▷ Kontextmenü erscheint.
▶ Menüpunkt [New Module...] wählen.
▷ Dialogfenster erscheint.

▶ AL1921 wählen und [Create] klicken.
▷ Fenster [New module] erscheint.
IP-Einstellungen des Geräts konfigurieren.
▶ Projekt speichern.

Verbindungstyp einstellen

Der Verbindungstyp stimmt, welche Objektinstanzen der Configuration Assembly (Paramater), der Input Assembly (Eingangsdaten) und Output Assembly (Ausgangsdaten) genutzt werden.

Verfügbare Verbindungstypen:

Verbindung BeschreibungConfiguration AssemblyInput AssemblyOutput Assembly
Exclusive Owner IO-Acyclic-Diag• Prozessdaten (Eingänge, Ausgänge) inkl. PQI• Azyklische Daten• Diagnoseinformationen, IO-Link EventsInstance 199 Instance 100 Instance 1500
Exclusive Owner IO-Acyclic• Prozessdaten (Eingänge, Ausgänge) inkl. PQI• Azyklische DatenInstance 199 Instance 101 Instance 1500
Exclusive Owner IO • Prozessdaten (Eingänge)• Prozessdaten (Eingänge, Ausgänge) inkl. PQIInstance 199 Instance 102 Instance 1511
Input only • Prozessdaten (Eingänge)• Prozessdaten (Eingänge)Instance 199 Instance 100 Instance 193(leer)
Listen only • Prozessdaten (Eingänge)• Prozessdaten (Eingänge)Instance 199 Instance 100 Instance 192(leer)

IFM AL1921 - Verbindungstyp einstellen - 1

Das Gerät unterstützt nur eine aktive Verbindung des Typs Exclusive Owner. Verbindungen des Typs Listen only können als zweite aktive Verbindung gewählt werden.

Um den Verbindungstyp einzustellen:

Voraussetzungen:

√ Projekt ist geöffnet.
√ Gerät wurde mithilfe der EDS zum Projekt hinzugefügt.
▶ Im Controller Organizer: Doppelklick auf Knoten [AL1x2x].
▷ Dialogfenster erscheint.
▶ Auf [Change...] klicken.
▷ Fenster [Module Definition] erscheint.

BILD

In Liste [Connections] die gewünschte Verbindung wählen.
▶ Falls notwendig, Datentyp auf [INT] setzen.
▶ Auf [OK] klicken, um die Änderungen zu übernehmen.
RSLogix 5000 erzeugt auf Basis des gewählten Verbindungstyps die Controller Tags des Geräts (Configuration, Input, Output).

Gerät konfigurieren

Die Gerätekonfiguration umfasst die Konfiguration des IO-Link Masters und der IO-Link Ports.

Die Parameter des Geräts werden in dem folgenden Objekt definiert:

Verfügbare Parameter:

  • Zugriffsrechte
    • Länge der Prozessdaten
    • Betriebsart der IO-Link Ports (Pin 4)
    • Zykluszeit der Datenübertragung der IO-Link Ports
  • Gerätevalidierung und Data Storage
  • Geräte- und Hersteller ID der IO-Link Devices
  • Rückfallmodus für IO-Link Ausgangsdaten der IO-Link Ports
  • Rückfallwert für digitale Ausgangsdaten der IO-Link Ports

Auf die Parameter kann über die Controller Tags zugegriffen werden.

Voraussetzungen:

√ Gerät ist in Projekt eingebunden.
Im [Controller Organizer]: Doppelklick auf Knoten [Controller Tags.]
▷ Fenster [Controller Tags] erscheint.
▷ Struktur [AL1x2x.C] > [AL1x2x.C:Data] enthält die Parameter.

BILD

▶ Parameter einstellen.
▶ Projekt speichern.
▷ Gerätekonfiguration wurde erstellt.

Konfiguration auf Gerät übertragen

Um die Konfiguration auf das Gerät zu übertragen:

Voraussetzungen:

√ Projekt ist geöffnet.
√ Gerät wurde mithilfe der EDS zum Projekt hinzugefügt.
√ Gerät wurde konfiguriert.
▶ [Communications] > [Download] wählen.
▷ RSLogix 5000 lädt Projekt auf die Steuerung.
▷ Konfiguration wird auf dem Gerät gespeichert und aktiviert.
▷ Steuerung wechselt in Run Mode.

Um die Verbindung zum Gerät zu prüfen:

In Controller Organizer: Doppelklick auf Controller Tags.
▷ Variable [AL1x2x:I] > [AL1x2x:I.ConnectionFaulted] zeigt den Status der Verbindung an.

• 0: Verbindung zum Gerät in Ordnung

• 1: Verbindung zum Gerät nicht in Ordnung

9.4.2.2 Independent Mode

Im Independent Mode wird das Gerät über die Parametriersoftware oder den ifm IoT-Core konfiguriert. Die Geräteeinstellungen werden bei einem Verbindungsaufbau zur EtherNet/IP-Steuerung nicht überschrieben. Die Einstellungen des Configuration Assembly Objects werden ignoriert.

Gerät konfigurieren

Das Gerät kann mit folgenden Optionen lokal konfiguriert werden:

- Parametriersoftware: Parametriersoftware (→ 19)

  • ifm IoT-Core REST API: ifm IoT-Core REST API (→ 32)
  • ifm IoT-Core Visualizer: IoT-Core Visualizer (→ 69)

Um das Gerät im Independent Mode zu betreiben:

▶ Independent Mode aktivieren (Parameter [Independent mode]).
▶ Inhalt der Prozessdaten einstellen (Parameter [Process data mode]).
Länge der Prozessdaten einstellen (Parameter [Process data length])
▶ Optional: Anordnung der Bytes in IO-Link Prozessdaten einstellen (Parameter [Swap]).
Für jeden Port die Betriebsart (Pin 4) auf [IO-Link] setzen (Parameter [Mode Pin4 US]).
Für jeden Port die Rückfallwerte der Ausgänge konfigurieren (Parameter [Fail-safe IO-Link]).

Gerät zum Projekt hinzufügen

Das Gerät wird als Generisches Ethernet-Modul in das RSLogix 5000-Projekt eingebunden.

Die Verbindungseinstellungen müssen manuell eingegeben werden. Die Verbindungseinstellungen definieren Struktur und Umfang der zyklischen Eingangsdaten (Input Assembly) und Ausgangsdaten (Output Assembly). Die Größe der Input Assembly und der Output Assembly ist abhängig von der eingestellten Prozessdatenlänge.

Die Verbindungseinstellungen müssen zu der eingestellten Prozessdatenlänge und der ExplicitPDMode passen.

Verfügbare Verbindungseinstellungen:

√ Projekt mit Ethernet/IP Controller und Ethernet-Kommunikationsmodule wurde erstellt.
√ Projekt ist geöffnet.
Im [Controller Organizer]: Rechtsklick auf Knoten [Ethernet] (Ethernet-Kommunikationsmodul).

▷ Kontextmenü erscheint.

▶ Auf [New module...] klicken.
▷ Dialogfenster erscheint.
▶ Gerätetyp [ETHERNET-MODULE] (Generic Ethernet Module) wählen.
▶ Auf [Create] klicken.

▷ Fenster [New module] erscheint.

▶ Name des Geräts eingeben, z. B [AL1x2x].
In Feld [Comm Format] den Wert [Data – INT] wählen.

▶ IP-Einstellungen des Geräts konfigurieren.
In Bereich [Connection Parameters] die Verbindungseinstellungen eingeben.
▶ Auf [OK] klicken.
▷ Geräteknoten wird zu Projektbaum hinzugefügt.
▶ Gerät ist für den Betrieb im Independent Mode konfiguriert.

Konfiguration auf Gerät übertragen

Um die Konfiguration auf das gerät zu übertragen:

Voraussetzungen:

√ Projekt ist geöffnet.
√ Gerät wurde konfiguriert.
▶ [Communications] > [Download] wählen.
▷ RSLogix 5000 lädt Projekt auf die Steuerung.
▷ Konfiguration wird auf dem Gerät gespeichert und aktiviert.
▷ Steuerung wechselt in Run Mode.

9.4.3 Auf Prozessdaten zugreifen

Die zyklischen Prozessdaten (Eingänge, Ausgänge) des Geräts werden in den Controller Tags übertragen. Art und Umfang der Prozessdaten sind abhängig von den während der Gerätekonfiguration gewählten Input-Assembly-Instanzen (Eingänge) und Output-Assembly-Instanzen.

IFM AL1921 - Auf Prozessdaten zugreifen - 1

Um die Gültigkeit der zyklischen Prozessdaten zu prüfen, die Port Qualifier Information (PQI) auswerten: Port Qualifier Information (PQI)

IFM AL1921 - Auf Prozessdaten zugreifen - 2

Bei einer Unterbrechung der EtherNet/IP-Verbindung zeigt die Port Qualifier Information (PQI) an, dass die Prozessdaten gültig sind.

▷ Ungewollte Auswirkungen auf den Steuerungsprozess
▶ Geeignete Maßnahmen treffen, um die Unterbrechung der EtherNet/IP-Verbindung zu erkennen.

Voraussetzungen:

√ Gerät ist in das Projekt eingebunden.
√ Gerät wurde konfiguriert.
√ Projekt ist geöffnet.
Im [Controller Organizer]: Doppelklick auf Knoten [Controller Tags].

▷ Fenster [Controller Tags] erscheint.
Struktur [AL1x2x.l] > [AL1x2x.l:Data] enthält die zyklischen Eingangsdaten.
Struktur [AL1x2x.O] > [AL1x2x.O:Data] enthält die zyklischen Ausgangsdaten.

Bei Bedarf: Zyklische Eingangs- und Ausgangsdaten mit Variablen der Applikation verknüpfen.

▶ Projekt speichern.

9.4.4 Auf Diagnose- und Statusinformationen zugreifen

Diagnose- und Statusinformationen werden in den zyklischen Eingangsdaten (Input Assembly) übertragen.

Position der Diagnose- und Statusinformationen in den zyklischen Eingangsdaten:

Verfügbare Informationen:

  • Statusanzeige Versorgungsspannung US des Geräts
  • Kurschluss-/Überlastanzeige der IO-Link Ports
  • Port Qualifier Information (PQI) der IO-Link Ports

Voraussetzungen:

√ Gerät wurde zum Projekt hinzugefügt.
▶ Im [Controller Organizer]: Doppelklick auf Knoten [Controller Tags].
▷ Fenster [Controller Tags] erscheint.
Struktur [AL1x2x.l] > [AL1x2x.l:Data] enthält die Diagnose- und Statusinformationen.
Bei Bedarf: Diagnose- und Statusinformationen mit Variablen der Applikation verknüpfen.
▶ Projekt speichern.

Zusätzlich können die Diagnose- und Statusinformationen der CIP-Objektklassen des Geräts azyklisch gelesen werden, Azyklische Dienste nutzen ( → 82).

Das Gerät unterstützt den Zugriff auf die angeschlossenen IO-Link Devices aus der Applikation heraus. Der Zugriff auf die Parameter, Prozessdaten sowie Diagnose- und Statusinformationen wird mithilfe der Indexed Service Data Unit (ISDU) realisiert. Jedes Datenobjekt eines IO-Link Devices ist über Index und Subindex adressierbar.

Die verfügbaren Datenobjekte sind abhängig vom IO-Link Device, → IODD-Beschreibung des IO-Link Devices.

Verfügbare Zugriffsoptionen:

  1. Über den azyklischen Kommandokanal innerhalb der zyklischen Prozessdaten, Azyklischer Kommandokanal (→ 105)
  2. Über die herstellerspezifische CIP-Objektklasse IO-Link Request, IO-Link Request Object (Class Code: 0x80) (→ ☐ 123)

Folgende Dienste sind für den Zugriff auf die Objektklasse IO-Link Request verfügbar:

Dienst Beschreibung Referenz
Read ISDU ISDU-Objekt lesenRead ISDU (→ 124)
Write ISDU ISDU-Objekt schreibenWrite ISDU (→ 126)
Write Failsafe Pattern Rückfallwerte für Ausgänge einstellenWrite Failsafe Pattern (→ 128)

Das Gerät unterstützt die Übertragung von bis zu 3 IO-Link Events pro Port. Die IO-Link Events werden in den zyklischen Eingangsdaten abgebildet.

Position der IO-Link Events in den zyklischen Eingangsdaten: Input Assembly (Instance 100) (→ ☐ 97)

Um auf die IO-Link zuzugreifen:

Voraussetzungen:

√ Betriebsart des Ports ist IO-Link.

√ IO-Link Device ist mit Port verbunden.
√ Top Down Mode: [Explicit Owner IO-Acyc-Diag] ist als aktiver Verbindungstyp eingestellt.
√ Independent Mode: Parameter [Process data mode] ist auf Wert [Explicit processdata mode with IO-Link I/O + Acyclic + Diag] gesetzt.
√ Projekt ist geöffnet.
Im [Controller Organizer]: Doppelklick auf Knoten [Controller Tags].
▷ Fenster [Controller Tags] erscheint.
Struktur AL1x2x.I > AL1x2x.I:Data enthält die IO-Link Events der IO-Link Ports.
Bei Bedarf: IO-Link Events mit Variablen der Applikation verknüpfen.
▶ Projekt speichern.

9.4.7 Azyklische Dienste nutzen

9.4.7.1 Azyklischer Kommandokanal nutzen

Das Gerät verfügt über einen azyklischen Kommandokanal. Über den können azyklische Lese- und Schreibzugriffe auf Parameter des Geräts und der angeschlossenen IO-Link Devices realisiert werden. Der Kommandokanal nutzt spezielle Bereiche innherlab der zyklischen Eingangsdaten und Ausgangsdaten.

Ein azyklisches Kommando besteht aus einer Anforderung (Request) und einer Antwort (Response). Die Kommandoanforderung wird im Output Assembly übertragen. Die Kommandoantwort des IO-Link Masters wird im Input Assembly übertragen.

Struktur des azyklischen Kommandokanals: Azyklischer Kommandokanal (→ 105)

Um den azyklischen Kommandokanal zu nutzen:

Voraussetzungen:

√ Gerät wurde in das Projekt eingebunden.
√ Im Top-Down Mode: [Explicit Owner IO-Acyc-Diag] oder [Explicit Owner IO-Acyc] ist als aktive Verbindung eingestellt.
√ Im Independent Mode: Parameter [Process data mode] ist auf [Explicit process data mode with IO-Link I/O + Acyclic + Diag] oder [Explicit process data mode with IO-Link I/O + Acyclic] eingestellt.
▶ Lese- und Schreibbefehle auf die azyklischen Bereiche ausführen.

Prinzip der Kommandokanäle

Genereller Ablauf der azyklischen Kommunikation:

1. Command Request schreiben

Im Anforderungskanal: Gewünschte Kommandodaten schreiben (außer [Trigger])
▶ [Trigger] = 1 setzen.
Änderung auf [Trigger] = 1 signalisiert neues Kommando.
Im Antwortkanal: Bytes werden auf 0 gesetzt.
▷ Verarbeitung des Kommandos wird gestartet.

2. Status prüfen

▶ Im Antwortkanal: [Handshake] prüfen.

▷ Wenn [Handshake] <> 0: Kommandoabarbeitung beendet, weiter mit Schritt 3.
▷ Wenn [Handshake] == 0: Kommando wird abgearbeitet, Schritt 2 wiederholen.

Im Antwortkanal: zurückgegebene Nutzdaten lesen.
▶ Im Anforderungskanal: [Trigger] = 0 setzen.
Kommandoabarbeitung abgeschlossen.
▷ Neues Kommando kann ausgeführt werden.

9.4.7.2 Azyklische Port-Kommandos

Für den azyklischen Zugriff auf die Konfiguration der IO-Link Ports des Geräts sind die folgenden Kommandos verfügbar:

Kommando Beschreibung Referenz
Set Mode Betriebsart des IO-Link Ports einstellenSet Mode (0x10) (→ □ 110)
Set Validation ID / Data StorageGerätevalidierung und Data Storage einstellenSet Validation ID / Data Storage (0x20) (→ □ 112)
Set Fail-safe Data Pattern Verhalten der Ausgänge bei Unterbrechung der EtherNet/IP-Verbindung und die entsprechenden Rückfallwerte einstellenSet Fail-safe Data Pattern (0x30) (→ □ 114)

Die Port-Kommandos nutzen die Mechanismen des azyklischen Kommandokanals.

9.4.7.3 EtherNet/IP-Mechanismen für azyklische Kommandos

Das Gerät unterstützt den azyklischen Zugriff auf die Objekte des Objektverzeichnis, Objektverzeichnis (→ 115). Für die azyklischen Lese- und Schreibzugriffe kann der EtherNet/IP-Befehl Message (MSG) genutzt werden.

IFM AL1921 - EtherNet/IP-Mechanismen für azyklische Kommandos - 1

Detaillierte Informationen zum Befehl Message (MSG) : → Nutzerdokumentation RSLogix 5000

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 (→ 75)
  • ifm moneo: Firmware: Firmware aktualisieren (→ 29)

11 Anhang

11.1 ifm IoT Core

11.1.1 Profile

Profil Beschreibung
blob Binary Large Object
deviceinfo Identifikationsinformationen eines Geräts
devicetag Gerätespezifische Kennzeichnung
iolinkdevice_full IO-Link Device
iolinkmaster IO-Link Master
network Netzwerk
parameter Parameter
processdata Prozessdaten
service Dienst
software Software
software/uploadablesoftwareaktualisierbare Software
timer Zähler

11.1.2 Typen

Typ Beschreibung
data Datenpunkt
device Wurzelelement, das ein Gerät repräsentiert
eventEreignis, das durch die Firmware ausgelöst werden kann und Benachrichtigungen verschickt
service Dienst, 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: getsubscriberlist

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

Anfrage (Feld "data"): keine

Parameter PflichtfeldDatentyp Beschreibung
adr obligatorisch STRING Auslöser für Benachrichtigung
datatosend obligatorisch ARRAY OFSTRINGSListe mit URLs der Datenelemente; URLs sind kommagetrennt
cid obligatorisch STRING ID der aktivenBenachrichtigung
callbackurl obligatorisch STRING Zieladresse für dieBenachrichtigungen
duration obligatorisch STRING Aktivitätsdauer

11.1.3.3 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“):

Parameter PflichtfeldDatentyp Beschreibung
callback obligatorischSTRING Zieladresse der Benachrichtigungen; komplette URL (z. B. http://ipaddress:port/path)

Rückgabe (Feld „data“):

Parameter PfilchtfeldDatentyp Beschreibung
subscription obligatorisch BOOL Status der übergebenen Parameter der BenachrichtigungFALSE: Parameter inkorrektTRUE: Parameter korrekt; Benachrichtigung gefunden
datatosend obligatorisch STRING Liste mit URLs der Datenelemente; URLs sind kommagetrennt
cid obligatorisch STRING ID der aktiven Benachrichtigung
callbackurl obligatorisch STRING Zieladresse der Benachrichtigungen

11.1.3.4 Dienst: getblobdata

Name: getblobdata

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

Anfrage (Feld "data"):

Parameter PflichtfeldDatentyp Beschreibung
Pos obligatorisch NUMBER Byte-Position
length obligatorisch NUMBER Größe des Objekts (Anzahl an Bytes)
Parameter PflichtfeldDatentyp Beschreibung
data obligatorisch STRING zu dekodierende Daten (BASE64-codiert)
crc optional HEX STRING CRC der Daten nach der Dekodierung
md5 optional HEX STRING MD5-Prüfsumme der Daten nach der Dekodierung

11.1.3.5 Dienst: getdata

Name: getdata

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

Anfrage (Feld "data"): keine

Parameter PflichtfeldDatentyp Beschreibung
value obligatorischSTRINGWert des Datenpunkts

11.1.3.6 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"):

Parameter PflichtfeldDatentyp Beschreibung
datatosendobligatorisch ARRAY OF STRINGSListe von Datenpunkten, die abgefragt werden sollen; Datenpunkte müssen den Dienst getdata unterstützen ("datatosend": ["url1", "url2", ..., "urlx"])
Parameter PflichtfeldDatentyp Beschreibung
urlobligatorisch STRING Datenpunkt, der abgefragt wurde
codeobligatorisch INT Diagnosecode der Abfrage
data obligatorisch STRING Wert des Datenpunkts

11.1.3.7 Dienst: getelementinfo

Name: getelementinfo

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

Anfrage (Feld „data“):

Parameter PflichtfeldDatentyp Beschreibung
adrobligatorischSTRINGURL des Elements, dessen Eigenschaften gelesen werden sollen

Rückgabe (Feld „data“):

Parameter PflichtfeldDatentyp Beschreibung
identifier obligatorischSTRING Bezeichner des Elements
type obligatorisch STRING Typ des Elements
format optional JSON-Objekt Format der Daten oder des Serviceinhalts
uid optional STRING
profiles optional JSON-AR-RAYProfile des Elements
hash optional STRING

11.1.3.8 Dienst: getidentity

Name: getidentity

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

Anfrage (Feld „data“): keine

Rückgabe (Feld „data“):

Parameter Pflichtfeld DatentypBeschreibung
iotdevice
iot.nameobligatorischSTRING
iot.uidoptionalSTRING
iot.versionobligatorischSTRING
iot.catalogueoptionalARRAY OF OBJECTS
iot.deviceclassoptionalARRAY OF STRING
iot.serverlistoptionalARRAY OF OBJECTS
deviceoptional
device.serialnumberoptional
device.hwrevisionoptional
device.swrevisionoptional
device.customoptional
securityoptional
security.securityMode optionalENUMStatus des Sicherheitsmodusdisabled: Sicherheitsmodus deaktiviertenabled: Sicherheitsmodus aktiviert
security.authSchemeoptionalENUM
security.isPasswdSetoptionalBOOL
security.activeConnectionoptionalENUM

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"):

Parameter PflichtfeldDatentyp Beschreibung
adr optional STRINGWurzelelement des Teilbaums
level optional STRINGmax. Ebene, bis zu der der Teilbaum ausgegeben wirdkeine Angabe: alle Ebenen werden angezeigt0: keine Unterelemente anzeigen ("subs")1: Unterelemente anzeigen2: Unterelemente bis zur 2. Ebene anzeigen3: Unterelemente bis zur 3. Ebene anzeigen...20: Unterelemente bis zur 20. Ebene anzeigens

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

Dienst: iolreadacyclic

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

Anfrage (Feld „data“):

Parameter PflichtfeldDatentyp Beschreibung
indexobligatorisch NUMBERIO-Link Index des Parameters
subindexobligatorisch NUMBERIO-Link Subindex des Parameters

Rückgabe (Feld „data“):

Parameter PflichtfeldDatentyp Beschreibung
valueobligatorisch STRING Parameterwert (Wert im Hexadezimalformat)

11.1.3.12 Dienst: iolwriteacyclic

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

Anfrage (Feld „data“):

Parameter PflichtfeldDatentyp Beschreibung
index obligatorisch NUMBER IO-LinkIndex des Parameters
subindex obligatorisch NUMBER IO-LinkSubindex des Parameters
value obligatorisch STRING Parameterwert (Wert im Hexadezimalformat)

Rückgabe (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"):

Parameter PflichtfeldDatentyp Beschreibung
profile optional STRINGG Profil des gesuchten Elements
type optional STRINGTyp des gesuchten Elements
identifier optional STRINGING Name des gesuchten Elements

Antwort (Feld "data"): keine

Parameter PflichtfeldDatentyp Beschreibung
urlList obligatorisch ARARRAY Array 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"):

Parameter PflichtfeldDatentyp Beschreibung
datatoset obligatorischARRAY OFLISTe von Datenpunkten und deren neuen Werten; Datenpunkte müssen den Dienst setdata unterstützen
consistent optional BOOL Rückgabeinnerhalb einer bebestimmten Zeit

Antwort (Feld "data"): keine

11.1.3.17 Dienst: setdata

Name: setdata

Beschreibung: Der Dienst setzt den Wert eines Datenpunkts.

Anfrage (Feld "data"):

Parameter PflichtfeldDatentyp Beschreibung
newvalue obligatorischSTRING Neuer Wert des Datenpunkts
duration optional STRINGDauer 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: 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.19 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.20 Dienst: start\_stream\_set

Name: start_stream_set

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

Anfrage (Feld "data"):

Parameter PflichtfeldDatentyp Beschreibung
size obligatorisch STRING Gesamtgröße der zu übertragenden Daten (Anzahl der Bytes)

Antwort (Feld "data"): keine

11.1.3.21 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.22 Dienst: stream\_set

Name: stream_set

Beschreibung: Der Dienst übertragt ein Datensegment.

Anfrage (Feld "data"):

Parameter PflichtfeldDatentyp Beschreibung
value obligatorisch BIN (BA-SE64)Segment der Binardaten (BASE64-codiert)

Antwort (Feld "data"): keine

11.1.3.23 Dienst: subscribe

Name: subscribe

Beschreibung: Der Dienst erzeugt eine Benachrichtigung.

Anfrage (Feld "data"):

Parameter PflichtfeldDatentyp Bechreibung
callback obligatorischSTRING Zieladresse für Benachrichtigungen; URL-Formate:JSON: http://ipaddress:port/pathJSON: ws://pathJSON: mqtt://ipadress:port/topicCSV: tcp://ipaddress:port/path
datatosend obligatorischARRAY OF STRINGSListe mit URLs der Datenelemente; URLs sind kommagetrennt; Elemente müssen Dienst getdata unterstützen
codec optional STRINGFormat der zurückgegebenenDatenjson: JSON-formatiertcsv: CSV mit Standard-Separator (,)csv0: CSV-formatiert mit Komma-Separator (,)csv1: CSV-formatiert mit Semikolon-Separator (;)
duration optional STRINGDauer 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: nur eine Benachrichtigung schicken, Benutzer muss Abonnement direkt wieder abmelden

Rückgabe (Feld "data"): keine

Benachrichtigungsformat: JSON

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

Benachrichtigungsformat: CSV

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

  • SrcURL: Quelle des Ereignisses (Datenpunkt, auf den subscribe-Kommando aufgeführt wurde)
    • EventNo: Ereignisnummer
    • EventStatus: Statuscode des Ereignisses
  • EventData: 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.24 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 Anmeldung der Benachrichtigung (subscribe). Wird im callback der Wert "DELETE" übergeben, werden alle aktiven Abonnements gelöscht.

Anfrage (Feld "data"):

Parameter PflichtfeldDatentyp Beschreibung
callback obligatorischSTRING Zieladresse für Benachrichtigungen; URL-Formate:JSON: http://ipaddress:port/pathJSON: ws://pathJSON: mqtt://ipadress:port/topicCSV: tcp://ipaddress:port/pathDELETE: alle aktiven Benachrichtigungen werden gelöscht

Antwort (Feld "data"): keine

11.1.3.25 Dienst: 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

Rückgabe (Feld „data“): keine

11.2 EtherNet/IP

11.2.1 Parameter

• Communication ProfileZugriffsrechte auf die Parameter, Prozessdaten und die Events / Diagnose-meldungen des IO-Link Masters so-wie der angeschlossenen IO-Link-De-vices1 BYTE • 0x00: EtherNet/IP + LineRecorder• 0x01: EtherNet/IP + LineRecorder (ro)• 0x02: EtherNet/IP only• 0x03: Keep setting (Default)
• Port Process Data SizeLänge der Prozessdaten (Eingänge und Ausgänge)1 BYTE • 0x00: 2 Bytes– Input Assembly: 206 Bytes

Mapping: Port Configuration

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

Legende:

• Mode Betriebsart des Ports (Pin 4) 1 BYTE • 0x00: Disabled
• 0x01: Digital Input (Pin 4)
• 0x02: Digital Output (Pin 4)
• 0x03: IO-Link (Pin 4)
• Port Cycle TimeZykluszeit der Datenübertragung zwischen IO-Link Master und IO-Link Device1 BYTE• 0x00: As fast as possible
• 0x01: 2 ms
• 0x02: 4 ms
• 0x03: 8 ms
• 0x04: 16 ms
• 0x05: 32 ms
• 0x06: 64 ms
• 0x07: 128 ms
• Swap Anordnung der Bytes in Prozessdaten tauschen (EtherNet/IP nutzt Little-Endian-Format (Intel), IO-Link nutzt Big-Endian-Format (Motorola))1 BYTE• 0x00: Enabled
• 0x01: Disabled
• Validation / Data StorageValidierungsmodus / Data-Storage-Modus1 BYTE• 0x00: No device check and clear
• 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
• Vendor IDVendor ID des Herstellers des IO-Link Device2 BYTE• 0x00...0x7FFF
Vendor ID = 0x1234
• Vendor ID (MSB): 0x12
• Vendor ID (LSB): 0x34
• Device IDDevice ID des IO-Link Device3 BYTE• 0x000000...0xFFFFF
Device ID = 0x123456
• Device ID (MSB): 0x12
• Device ID: 0x34
• Device ID (LSB): 0x56
• Failsafe Mode – Pin 4 (IO-Link)Rückfall-Modus für Ausgangsdaten des Ports bei Unterbrechung der EtherNet/IP-Verbindung (nur gültig bei Port Mode: IO-Link)1 BYTE• 0x00: No Failsafe
• 0x01: Failsafe Reset Value
• 0x02: Failsafe Old Value
• 0x03: Failsafe with Pattern

- Failsafe Mode – Pin 4 (DO) Rückfallwert für Ausgangsdaten des Ports bei Unterbrechung der Ether-Net/IP-Verbindung (nur gültig bei Port Mode: Digital Output (DO))

1 BYTE • 0x00: Failsafe Reset Value

- 0x01: Failsafe Old Value

• 0x02: Failsafe Set Value

11.2.2 Zyklische Daten

Byte (Offset)Bit
7 6 5 43 2 1 0
n X08:SC / OLX07: SC / OLX06: SC / OLX05: SC / OLX04: SC / OLX03: SC / OLX02: SC / OLX01: SC / OL
n+1 reserviertreserviertreserviertreserviertreserviertSENS PWRreserviert

Legende:

- SC / OL Short Circuit / Overload: Anzeige eines Kurzschlusses oder einer Überspannung am IO-Link Port

1 BIT • 0x0: kein Fehler • 0x1: Kurzschluss oder Überspannung

• SENS PWR Status der Versorgungsspannung US

1 BIT • 0x0: kein Fehler • 0x1: Überstrom an US (>3,6 V)

Mapping: Port Qualifier Information (PQI)

Byte (Offset)Bit
7 6 5 43 2 1 0
n Diagnosis presentWrong Length PDoutWrong Length PDinWrong Cycle TimeWrong VID / DIDInvalid DataDev Not ConIOL Mode
n+1 reservoir

Legende:

- IOL Mode Betriebsart des Ports (Pin 4) 1 Bit

- 0x0: sonst.

- 0x1: IO-Link

- Dev Not Con Verbindungsstatus zu IO-Link Device am Port

1 Bit - 0x0: verbunden - 0x1: nicht verbunden

- Invalid Data Status der Prozessdaten

1 Bit • 0x0: gültig • 0x1: ungültig

- Wrong VID / DID Übereinstimmung von konfigurierter und erkannter Vendor ID / Device ID

1 Bit - 0x0: OK - 0x1: keine Übereinstimmung

- Wrong Cycle Time Übereinstimmung von konfigurierter und erkannter Zykluszeit

1 Bit - 0x0: OK - 0x1: keine Übereinstimmung

- Wrong Length PDin Übereinstimmung von konfigurierter und er- kannter Prozessdatenlänge (Eingänge)

1 Bit - 0x0: OK - 0x1: konfigurierte Prozessdatenlänge zu klein

• Wrong Length PDoutÜbereinstimmung von konfigurierter und erkannter Prozessdatenlänge (Ausgänge)1 Bit • 0x0: OK• 0x1: konfigurierte Prozessdatenlänge zu klein
• Diagnosis present Anzeige neuer IO-Link Events (Coming Event, Single Shot Event)• Coming Events verschwindet bei Eintritt des entsprechenden Disappearing Events• Single Shot Events verschwinden automatisch1 Bit • 0x0: kein IO-Link Event• 0x1: Neues IO-Link Event erkannt

Mapping: IO-Link Informationen + Events

Byte (Off-set)Bit
7 6 5 43 2 1 0
n Vendor ID (LSB)
n+1 Vendor ID (MSB)
n+2 Device ID (LSB)
n+3 Device ID
n+4 Device ID (MSB)
n+5 reserviert
n+6 Event 1: Mode Event 1: Type Event 1: Src Event 1: Instance
n+7 Event Code 1 (LSB)
n+8Event Code 1 (MSB)
n+9 Event 2: Mode Event 2: Type Event 2: Src Event 2: Instance
n+10Event 2 (LSB)
n+11Event 2 (MSB)
n+12Event 3: Mode Event 3: Type Event 3: Src Event 3: Instance
n+13Event 3 (LSB)
n+14Event 3 (MSB)
n+15reserviert

Legende:

• VIDVendor ID des angeschlossenen IO-Link DevicesVID = 0x1234• DID (MSB): 0x12• DID (LSB): 0x342 BYTE0x0000...0x7FFF
• DIDDevice ID des angeschlossenen IO-Link DevicesDID = 0x123456• DID (MSB): 0x12• DID: 0x34• DID (LSB): 0x563 BYTE0x000000...0xFFFFF
• Event m: ModeMode: Modus des Ereignisses2 BIT• 0x0: reserviert• 0x1: Einmaliges Ereignis• 0x2: Ereignis verschwunden• 0x3: Ereignis erschienen
• Event m: TypeType: Kategorie des Ereignisses2 BIT• 0x0: reserviert• 0x1: Benachrichtigung• 0x2: Warnung• 0x3: Fehler

- Event m: Src Src: Quelle des Ereignisses 1 BIT • 0x0: IO-Link Device

- Event m: Instance Instance: Auslöser des Ereignisses 3 BIT • 0x0: Unbekannt

- 0x1...0x3: reserviert

• 0x4: Application / Anwendung

- 0x5...0x7: reserviert

• Event m: Code Code: Ereignis-Code

2 BYTE geräteabhängig (→ IODD-Beschreibung des IO-Link Devices)

Code = 0x1234

- Code (MSB): 0x12

- Code (LSB): 0x34

• DO Pin 4 Signalstatus Digitaler Ausgang an Pin 4 des Ports

1 BIT • 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.

Object Inhalt Byte Zugriff
Output Assembly Anforderungskanal (EtherNet/IP Controller → IO-Link Master)Anforderungskanal (Request) (→ ☐ 106)4...45 rw 1
Input Assembly Antwortkanal (IO-Link Master → EtherNet/IP Controller)Antwortkanal (Response) (→ ☐ 107)4...45 ro 2

1 lesen und schreiben
2 nur lesen

Anforderungskanal (Request)

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

Legende:

• Port No. IO-Link Port1 WORD • 0x0001: Port 1
Port No.: 0x1234• Port No. (MSB): 0x12• Port No. (LSB): 0x34• 0x0002: Port 2• 0x0003: Port 3• 0x0004: Port 4• 0x0005: Port 5• 0x0006: Port 6• 0x0007: Port 7• 0x0008: Port 8
• IndexIndex des ISDU-ObjektsIndex: 0x1234• Index (MSB): 0x12• Index (LSB): 0x341 WORD 0x0000...0xFFFF
• SubindexSubindex des ISDU-ObjektsSubindex: 0x1234• Subindex (MSB): 0x12• Subindex (LSB): 0x341 WORD 0x0000...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
• 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-ObjektsIndex: 0x1234• Index (MSB): 0x12• Index (LSB): 0x341 WORD0x0000...0xFFFF
• SubindexSubindex des ISDU-ObjektsSubindex: 0x1234• Subindex (MSB): 0x12• Subindex (LSB): 0x341 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

Fehlercode Beschreibung
0x71 Dienst nicht verfügbar (unbekannte Befehl wurde an den IO-Link Port gesendet)
0x72 Port gesperrt (ein anderer azyklischer Prozess greift auf den IO-Link Port zu)
0x73 Verboten (Zugriffsrechte verbieten Befehlsausführung)
0x74 Ungültige Daten (falscher Parameter wurde im Befehl gesendet)
0x76 Falscher Port (falsche Port-Nummer)
0x77 Falsche Port-Funktion (falsche Port-Funktion oder falscher Parameter wurde an das Gerät gesendet)
0x78 Ungültige Länge (eingestellte Länge ist > 0x20)
0x80Fehler in der Geräte-Applikation; Additional Code beachten (Additional Code ( → ☐ 109))

Additional Code

IFM AL1921 - Additional Code - 1

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

Code NameBeschreibung
0x00 APP_DEV Fehler in der Geräte-Appliaktion – keine Details
0x11 IDXNOTAVAIL Index nicht verfügbar
0x12 SUBIDXNOTAVAIL Subindex nicht verfügbar
0x20 SERV_NOTAVAIL Dienst vorübergehnd nicht verfügbar
0x21 SERV_NOTAVAIL_LOCCTRL Dienst vorübergehend nicht verfügbar – Lokal
0x22 SERV_NOTAVAIL_DEVCTRL Dienst vorübergehend nicht verfügbar – Device
0x23 IDXNOT_WRITEABLE Zugriff verweigert
0x30 PARVALOUTOFRNG Parameterwert außerhalb des gültigen Bereichs
0x31 PARVALGTLIM Parameterwert oberhalb des Grenzwerts
0x32 PARVALLTLIM Parameterwert unterhalb des Grenzwerts
0x33 VALENOVRRUN Parameterlänge überschritten
0x34 VALENUNDRUN Parameterlänge unterschritten
0x35 FUNC_NOTAVAIL Funktion nicht verfügbar
0x36 FUNC_UNAVAILTEMP Funktion vorübergehend nicht verfügbar
0x40 PARSETINVALID Ungültiger Parametersatz
0x41 PARSETINCONSIST Inkonsistenter Parametersatz
0x82 APPDEVNOTRDY Applikation 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
7 6 5 43 2 1 0
4 Port No. (LSB)
5 Port No. (MSB)
6 reserviert
7 reserviert
8 reserviert
9 reserviert
10 Trigger 0x10
11 Target Mode
12 reserviert
......
45 reserviert

Legende:

- Trigger Befehlsausführung steuern 1 BIT • 0x0: keine Aktion

- Target Mode

Betriebsart des Ports IO-Link Ports

• 0x1: Kommando ausführen

1 BYTE • 0x00: deaktiviert

• 0x01: Digitaler Eingang (DI)
• 0x02: Digitaler Ausgang (DO)
- 0x03: IO-Link

Kommandoantwort

Byte (Offset)Bit
7 6 5 43 2 1 0
4 Port No. (LSB)
5 Port No. (MSB)
6 reserviert
7 reserviert
8 reserviert
9 reserviert
10 Handshake 0x10
11 Result
12 Target Mode
13 reserviert
......
45 reserviert

Legende:

- 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

- Target Mode

Betriebsart des Ports IO-Link Ports

1 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
7 6 5 43 2 1 0
4 Port No. (LSB)
5 Port No. (MSB)
6 reserviert
7 reserviert
8 reserviert
9 reserviert
10 Trigger 0x20
11 Validation ID
12 reserviert
......
45 reserviert

Legende:

- Trigger Befehlsausführung steuern 1 BIT • 0x0: keine Aktion

- Validation ID

Validierungstyp und Data-Storage-Verhalten des Ports

- 0x1: Kommando ausführen

1 BYTE • 0x00: No check

Byte (Offset)Bit
7 6 5 43 2 1 0
4 Port No. (LSB)
5 Port No. (MSB)
6 reserviert
7 reserviert
8 reserviert
9 reserviert
10 Handshake 0x20
11 Result
12 Validation ID
13 reserviert
......
45 reserviert

Legende:

- 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

- Validation ID

Validierungstyp und Data-Storage-Verhalten des Ports

1 BYTE • 0x00: No check

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

Kommandoantwort

Byte (Offset)Bit
7 6 5 43 2 1 0
4 Port No. (LSB)
5 Port No. (MSB)
6 reserviert
7 reserviert
8 reserviert
9 reserviert
10 Handshake 0x30
11 Result
12 Fail-safe Mode
13 reserviert
......
45 reserviert

- 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 EtherNet/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 Code Name Beschreibung
0x01 Identity ObjectIdentity Object (Class Code: 0x01) ( → ☐ 116)
0x02 Message Router ObjectMessage Router Object (Class Code: 0x02) ( → ☐ 118)
0x04 Assembly ObjectAssembly Object (Class Code: 0x04) ( → ☐ 119)
0x06 Connection Manager ObjectConnection Manager Object (Class Code: 0x06) ( → ☐ 120)
0x47 Device Level Ring ObjectDevice Level Ring Object (Class Code: 0x47) ( → ☐ 121)
0x48 Quality Of Service ObjectQuality Of Service Object (Class Code: 0x48) ( → ☐ 122)
0x80 IO-Link Request ObjectIO-Link Request Object (Class Code: 0x80) ( → ☐ 123)
0xF5 TCP/IP ObjectTCP/IP Object (Class Code: 0xF5) ( → ☐ 130)
0xF6 Ethernet Link ObjectEthernet Link Object (Class Code: 0xF6) ( → ☐ 132)

11.2.4.2 CIP-Klassen- und Instanzdienste

Unterstützte Klassen- und Instanzdienste:

Service CodeName Beschreibung
0x01 Get AttributeAll Alle Attribute lesen
0x02 Set AttributeAll Alle Attribute schreiben
0x05 Reset Rücksetzen
0x09 Delete Löschen
0x0E Get AttributeSingle Einzelnes Attribut lesen
0x10 Set AttributeSingle Einzelnes Attribut schreiben
0x4B Read ISDUISDU lesen
0x4C Write ISDUISDU schreiben
0x4D Write FailsafePattern Rückfallwerte schreiben
0x4E ForwardClose Verbindung schließen
0x54 ForwardOpen Neue Verbindung öffnen
Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 1
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 1
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer eines Klassenattributs 7
7 Get Max. ID Number Instan-ce AttributesUINT max. ID-Nummer des Instanzattributs 9

Instanzattribute

Attr. ID Zugriff NameDatentyp BeschreibungDefault
1 GetVendor IDUINT Hersteller-ID322
2 GetDevice TypeUINT Gerätetyp12
3GetProduct CodeUINTProduktcode des Geräts1921
4GetRevisionSTRUCTRevision des Geräts1
• Major RevisionUSINTHaupt-Revision (1...127)2
• Minor RevisionUSINTNeben-Revision (3 Stellen)003
5 GetStatusWORD Gesamtstatus des Geräts
6GetSerial NumberUDINTSeriennummer des Geräts--
7 GetProduct NameSHORTSTRINGProduktname des GerätsIO-Link Master CL EIP 8P IP20
8GetStateUSINTZustand des Geräts (State machine)0: Nonexistent1: Device Self Testing2: Standby3: Operational4: Major Recoverable Fault5: Major Unrecoverable Fault6-254: Reserved255: Default für "Get_Attributes_All"-Dienst
9 GetConfiguration Consistency ValueUINT Inhalt zeigt die Konfiguration des Geräts 0

Dienste

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

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 EtherNet/IP-Geräte).

- 1: Werkseinstellungen wiederherstellen und Gerät neu starten.

Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 1
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 1
3 Get Number of Instances UINT Anzahl der Instanzen 1
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer eines Klassenattributs 7
7 Get Max. ID Number Instance AttributesUINT max. ID-Nummer des Instanzattributs 0

Instanzattribute

Die Objektklasse hat hat keine Instanzattribute.

Dienste

Code DienstKlasseInstanzBeschreibung
0x0EGet Attribute Singlejaja Einzelnes Attribut lesen
Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 2
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 0x00C7
3 Get Number of Instances UINT Anzahl der Instanzen 3
6 Get Max. ID Number Class At-tributesUINT max. ID-Nummer des Klassenattributs 7
7 Get Max. ID Number I nstance AttributesUINT max. ID-Nummer des Instanzattributs 4

Instanzattribute

Attr. ID Zugriff NameDatentyp BeschreibungDefault
1GetNumber of MembersUINTAnzahl der Mitglieder in Liste--
2GetMemberUINTMitgliederliste--
3Get / SetDataUINTAktuelles Prozessdatenabbild--
4GetSizeUINTProzessdatenlänge (Anzahl Bytes)--
300--Member data listUINTDaten der Assembly-Mitglieder--
301GetParameterUINTAssembly-Parameter--
302GetStatusUINTAssembly-Status--

Folgende Objektinstanzen stehen zur Verfügung:

CodeDienstKlasseInstanzBeschreibung
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen
0x10Set Attribute SingleneinjaEinzelnes Attribut schreiben
Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 1
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 1
3 Get Number of Instances UINT Anzahl der Instanzen 3
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer eines Klassenattributs 7
7 Get Max. ID Number Instance AttributesUINT max. ID-Nummer des Instanzattributs 0

Instanzattribute

Die Objektklasse hat hat keine Instanzattribute.

Dienste

Code DienstKlasseInstanz Beschreibung
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen
0x10Set Attribute SingleneinjaEinzelnes Attribut schreiben
0x4EForward ClosejaneinVerbindung schließen
0x54Forward OpenjaneinNeue Verbindung öffnen
Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 3
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 1
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer des Klassenattributs 7
7 Get Max. ID Number Instance AttributesUINT max. ID-Nummer des Instanzattributs 12

Instanzattribute

Attr. ID Zugriff Name Datentyp BeschreibungDefault
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

Code DienstKlasseInstanzBeschreibung
0x01Get Attribute AllneinjaAlle Attribute lesen
0x0EGet Attribute SinglejajaEinzelnes Attribut lesen
Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 1
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 1
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer eines Klassenattributs 7
7 Get Max. ID Number Instance AttributesUINT max. ID-Nummer des Instanzattributs 8

Instanzattribute

Attr. ID Zugriff Name Datentyp Beschreibung Default
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 "Scheduled"27

Dienste

CodeDienstKlasseInstanzBeschreibung
0x01Get Attribute AlljajaAlle Attribute lesen
0x0EGet Attribute Single nein jaEinzelnesInsgesLesen
Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 4
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 2
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer eines Klassenattributs 8

Instanzattribute

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

Dienste

Code DienstKlasse InstanzBeschreibung
0x4BRead ISDUneinjaISDU lesen
0x4CWrite ISDUneinjaISDU schreiben
0x4DWrite Failsafe PatternneinjaRü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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08Port-Nummer
CIP Service Code ID USINT 0x4B Dienst „Read ISDU“
CIP User Specific Service Data UINT 0x0000...0xFFFF ISDU Objekt Index
USINT 0x00...0xFF ISDU 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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08 Port-Nummer
CIP Service Code ID USINT 0x4B Dienst „Read ISDU“
CIP Error CodeUSINT 0x00 Fehlerfreie Abarbeitung
CIP Extended Error CodeUSINT 0x00 --
CIP User Specific Service Data USINT 0x00...0xFF Daten (Byte 0)
USINT 0x00..0xFF Daten (Byte 1)
.........
USINT 0x00..0xFF Daten (Byte n)

IFM AL1921 - Fehlerfreie Abarbeitung - 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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08Port-Nummer
CIP Service Code ID USINT 0x4B Dienst „Read ISDU“
CIP Error CodeUSINT <> 0x00Fehlercode (siehe unten)
CIP Extended Error CodeUSINT 0x00Erweiterter Fehlercode
CIP User Specific Service Data USINT <> 0x00IO-Link Error Code: Error Code (→ □ 109)
USINT <> 0x00IO-Link Additional Code: Additional Code(→ □ 109)

CIP Error Code:

Code Beschreibung
0x02 Ressource nicht verfügbar: IO-Link Port ist damit beschäftigt, einen anderen azyklischen Service zu bearbeiten
0x05 Ungültige Klassen-ID oder Instanz-ID
0x08 FalscheService-ID: nur Service Code 0x4B, 0x4C oder 0x4D sind erlaubt
0x09 FalscheAttribut-ID: falsche Port-Nummer
0x20 Ungültiger Parameterwert (z.B. ungültige Länge)
0x1E Eingebetteter Service-Fehler: Fehler während eines IO-Link Services aufgetreten. Byte 0 und Byte 1 der CIPUser 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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-LinkAcyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08Port-Nummer
CIP Service Code ID USINT 0x4C Dienst „Write ISDU“
CIP User Specific Service Data UINT 0x0000...0xFFFF ISDU Objekt Index
USINT 0x00...0xFF ISDU Objekt Subindex
USINT 0x00...0xFF ISDU Daten (Byte 0)
USINT 0x00...0xFF ISDU 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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08 Port-Nummer
CIP Service Code ID USINT 0x4C Dienst „Write ISDU“
CIP Error CodeUSINT 0x00 Fehlerfreie Abarbeitung
CIP Extended Error CodeUSINT 0x00 -

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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08 Port-Nummer
CIP Service Code ID USINT 0x4C Dienst „Write ISDU“
CIP Error CodeUSINT <> 0x00Fehlercode (siehe unten)
CIP Extended Error CodeUSINT 0x00 Erweiterter Fehlercode
CIP User Specific Service Data USINT <> 0x00IO-Link Error Code: Error Code (→ ☐ 109)
USINT <> 0x00IO-Link Additional Code: Additional Code (→ ☐ 109)

CIP Error Code:

Code Beschreibung
0x02 Ressource nicht verfügbar: IO-Link Port ist damit beschäftigt, einen anderen azyklischen Service zu bearbeiten
0x05 Ungültige Klassen-ID oder Instanz-ID
0x08 FalscheService-ID: nur Service Code 0x4B, 0x4C oder 0x4D sind erlaubt
0x09 FalscheAttribut-ID: falsche Port-Nummer
0x20 Ungültiger Parameterwert (z.B. ungültige Länge)
0x1E Eingebetteter 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.

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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08 Port-Nummer
CIP Service Code ID USINT 0x4D Dienst „Write Failsafe Pattern“
CIP User Specific Service Data U SINT • 0x00: No Fail-safe• 0x01: Fail-safe Reset Value• 0x02: Fail-safe Old Value• 0x03: Fail-safe with PatternFail-safe Mode

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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08Port-Nummer
CIP Service Code ID USINT 0x4D Dienst „Write Failsafe Pattern“
CIP Error CodeUSINT 0x00 Fehlerfreie Abarbeitung
CIP Extended Error CodeUSINT 0x00 --

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 Format Datentyp MSG Config Beschreibung
CIP Class ID UINT 0x80 IO-Link Acyclic Access
CIP Instance ID UINT 0x01 IO-Link Master
CIP Attribute USINT 0x01...0x08 Port-Nummer
CIP Error CodeUSINT <> 0x00Fehlercode (siehe unten)
CIP Extended Error CodeUSINT 0x00 Erweiterter Fehlercode

CIP Error Code:

CodeBeschreibung
0x02 Ressource nicht verfügbar: IO-Link Port ist damit beschäftigt, einen anderen azyklischen Service zu bearbeiten
0x05 Ungültige Klassen-ID oder Instanz-ID
0x08 FalscheService-ID: nur Service Code 0x4B, 0x4C oder 0x4D sind erlaubt
0x09 FalscheAttribut-ID: falsche Port-Nummer
Code Beschreibung
0x20 Ungültiger Parameterwert (z.B. ungültige Länge)
0x1E Eingebetteter Service-Fehler: Fehler während eines IO-Link Services aufgetreten. Byte 0 und Byte 1 der CIPUser Specific Service Data enthalten den IO-Link Error Code und einen zusätzlichen Code, die vom IO-Link Master zurückgegeben werden.
0x0F Nicht ausreichende Zugriffsrechte
Attr. ID Zugriff Name Datentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 4
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 1
3 Get Number of Instances UINT Anzahl der Instanzen des Objekts 1
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer eines Klassenattributs 7
7 Get Max. ID Number Instance AttributeUINT max. ID-Nummer des Instanzattributs 13

Instanzattribute

Attr. IDZugriffNameDatentypBeschreibungDefault
1 Get StatusUINT Status der TCP/IPSchnittstelle0: Schnittstelle nicht konfiguriert1: Schnittstelle konfiguriert mit DHCP, BOOTP oder nichtflüchtigem Speicher
2 Get Configuration Capability DWORD Konfigurationsoptionen für SchnittstelleBit 0: BOOTP ClientBit 2: DHCP ClientBit 4: Konfiguration einstellbarBit 7: ACD-fähig0x95 (BOOTP, DHCP, TCP/IP configurable, ACD capable)
3Get / SetConfiguration ControlDWORDKonfigurationssteuerungBit 0..3: Startup-Konfiguration0: statisch zugewiesene IP-Adresse1: Konfiguration via BOOTP2: Konfiguration via DHCP0
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 24 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
6 Get / SetHost NameSTRINGHost-Name0: nicht konfiguriert0
8 Get TTL ValueUINT TTL-Wert1
9Get / SetMcast ConfigUINTMcast-Konfiguration0
10Get / SetSelectAcdBOOLACD-Aktivierung / Deaktivierung0: deaktiviert1: aktiviert1
Attr. ID Zugriff Name DDatentyp Beschreibung Default
11 Get / SetLast conflictdetected STRUCT of Letzter erkannter Konflikt 0
• AcdActivity USINT Zustand der ACD-Aktivität bei dem zuletzt erkannten Konflikt• 0: Noconflictdetected• 1: Probelpv4Address• 2: Ongoing Detection• 3: SemiActiveprobe
• Remote MAC ARRAY(6)of USINTMAC-Adresse des Remote-Knotens der ARP PDU, in dem der Konflikt erkannt wurde
• ArpPdu ARRAY(28)of USINTKopie der Daten der ARP PDU, in welcher der Konflikt erkannt wurde
13 Get / SetEncapsulationInactivity 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
Attr. ID Zugriff Name DDatentyp Beschreibung Wert
1 Get Revision UINT Revision des Objekts 4
2 Get Max. Instance UINT max. Anzahl der Instanzen des Objekts 2
3 Get Number of Instances UINT Anzahl der Instanzen 2
6 Get Max. ID Number Class AttributesUINT max. ID-Nummer eines Klassenattributs 7
7 Get Max. ID Number Instance AttributeUINT max. ID-Nummer des Instanzattributs 300

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
3 GetPhysical AddressARRAY(6)of USINTMAC-Adresse
4 GetInterface CountersSTRUCT(1)of UDINTSchnittstellen-spezifischer Zähler
5 GetMedia CountersSTRUCT(1)of UDINTMedien-spezifischer Zähler
6 Get / SetInterface ControlSTRUCT of Schnittstellen-Steuerung
• Interface SettingsDWORDEinstellungenBit 0:• 0: Auto-Negotiation ein• 1: Autonegotiation ausBit 1:• 0: Half Duplex• 1: Full Duplex0
• 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
Attr. ID Zugriff Name Datentyp Beschreibung Default
9 Get / Set Admin State USINT Steuerung des Zugriffs aufSchnittstelle• 1: aktivieren• 2: Deaktivieren1
10 Get Interface Label SHORT_STRINGSchnittstellen-Kennzeichner • X21 (Instanz 1)• X22 (Instanz 2)
11 Get Interface CapabilitySTRUCT of Schnittstellen-Fähigkeit
• Interface SpeedDWORDÜbertragungsrate• 10: 10 Mbit/s• 100: 100 Mbit/s
• Interface Duplex ModeDWORDDuplex Mode• HD: Half Duplex• FD: Full Duplex
300Get / Set MDIXUSINT MDIX-Konfiguration• 1: MDIX_AUTO• 2: MDIX_MDI• 3: MDIX_MDIX1

Dienste

CodeDienstKlasse InstanzBeschreibung
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 : AL1921

Kategorie : Industrieautomatisierung