Modbus-TCP-Konfiguration
Beschreibung
Modbus ist in Mastern als Schnittstelle mit den folgenden Merkmalen verfügbar:
Prozessdaten lesen/schreiben
Port-Konfiguration
Port-/Gerätediagnostik
ISDU-Daten lesen/schreiben
Der Zugriff erfolgt über die TCP/IP-Schnittstelle unter Verwendung der IP-Adresse des Geräts und Port 502 (Beispiel: 192.168.1.1:502). Die Antwortzeit hängt von den geschriebenen/gelesenen Daten ab.
Aufbau einer Modbus-TCP-Nachricht
Eine Modbus-TCP-Nachricht wird folgendermaßen aufgebaut:
Byte 0 |
Byte 1 |
Byte 2 |
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
Byte x |
|---|---|---|---|---|---|---|---|
Transaktions-ID |
Protokoll-ID |
Unit-ID |
Function Code |
Data |
|||
MBAP-Header |
PDU |
||||||
Modbus-TCP-Nachricht |
|||||||
Die Protokoll-ID muss 0 sein, da sie angibt, dass es sich bei der Nachricht um eine Modbus-Nachricht handelt.
Die Unit-ID kann beliebig sein. Sie wird nicht verwendet, da die IP-Adresse ein Gerät bereits identifiziert.
Allgemein
Alle Zahlen sind Dezimalzahlen, außer wenn sie sind mit 0x = hexadezimal angegeben sind, z. B.: 0x1B.
Alle Daten sind als UINT16 organisiert, außer sie sind anders angegeben.
Die Länge ist standardmäßig in UINT16 organisiert, außer wenn sie anders angegeben ist, z. B. length in [Byte] oder Bitlänge.
Das Mapping der Byte-Reihenfolge verwendet Big Endianness, siehe Beispiel in Index 10.
Profil-ID
Hinweis
Die Register‑Mapping‑Version (Liste der Register, Namen und ihres Inhalts) wird durch die Profil‑ID identifiziert. Diese entspricht einer Versionsnummer, ähnlich der Hardware‑ oder Firmware‑Version. Da sich der Inhalt der Register in zukünftigen Versionen ändern kann, bei gleichzeitiger Wahrung von Kompatibilität und Konsistenz, sollte bei der Entwicklung einer neuen Applikation zunächst die Profil‑ID geprüft werden.
Index-Übersicht
Profil-ID = 2
Verfügbar ab Firmware-Version 1.3.1
Index |
Beschreibung |
Zugriff |
|---|---|---|
0 |
Profile ID (Register Mapping Version) |
RO |
|
Device (Module) Identification |
RO |
100 |
IO-Link ISDU Command Request |
RW |
300 |
IO-Link ISDU Command Response |
RO |
|
IO-Link Process Data Input/Output |
RO/RW |
2000 |
SIO Digital Input State |
RO |
|
SIO Digital Output State |
RW |
|
Digitaler Eingangszustand (gespiegelt auf 2000) |
RO |
|
Digitaler Ausgangszustand (gespiegelt auf 2001) |
RW |
3000 |
Device (Module&Port) Diagnostic |
RO |
|
IO-Link Port Diagnostic |
RO |
|
Port Configuration |
RW |
11000 |
Variables Prozessdatenregister |
RW |
20000 |
Moduleinstellungen |
RW |
Identifikation
Index |
Length |
Beschreibung |
Zugriff |
Default (Beispiel) |
|---|---|---|---|---|
0 |
1 |
Register Mapping Version (ProfileID) |
RO |
0x0001 |
1…9 |
- |
Reserviert |
- |
- |
10…13 |
4 |
Product Order Code (ASCII, 7 chars) |
RO |
BNI00KH |
14…29 |
16 |
Product Name (TEXT) |
RO |
BNI XG5-508-0B5-R067 |
30…99 |
- |
Reserviert |
- |
- |
Das Byte-Array von/zu IO-Link wird wie folgt im MODBUS-Index umgesetzt:
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
UINT16 |
LSB |
Bit(0…7) |
= IO-Link Byte[n] |
|---|---|---|---|
UINT16 |
MSB |
Bit(8…15) |
= IO-Link Byte[n+1] |
Beispiel
Der in ASCII codierte Text des Herstellernamens Balluff (Länge = 7) wird in vier (4) Word UINT16-Indexe wie folgt umgewandelt:
Index |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
|---|---|---|---|---|---|---|---|
Byte [0…6] |
42h, |
41h, |
4Ch, |
4Ch, |
55h, |
46h, |
46h |
Word[0…3] |
4142h, |
4C4Ch, |
4655h, |
0046h |
|---|---|---|---|---|
Index |
0 |
1 |
2 |
3 |
ISDU-Daten lesen
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Portnummer, Index und Subindex in die entsprechenden Register (30,31,32) schreiben.
Gewählten Befehl in das obere Byte von Register 33 schreiben.
ISDU-Daten schreiben
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Portnummer, Index und Subindex in die entsprechenden Register (30,31,32) schreiben.
Daten in die Register 35…51 und die gewünschte Datenlänge schreiben.
Gewählten Befehl in das obere Byte von Register 33 schreiben.
Function Codes
Folgende Function Codes sind implementiert:
Halteregister lesen (0x03)
Mehrere Register schreiben (0x10)
Error Responses
Folgende Antworten werden im Fehlerfall gemeldet:
Error Code |
Beschreibung |
|---|---|
0x00 |
Kein Fehler. Letzter Befehl erfolgreich. |
0x01 |
Bad Function Code |
0x02 |
Wrong Register Address |
0x03 |
Ungültiger Wert |
0x04 |
Slave Error (IO-Link-Ausfall) |
Auch wenn das Startregister gültig ist, führt das Lesen von zu vielen Registern zu Bad Register Address.
Slave-Fehler treten auf, wenn die IO-Link-Schnittstelle Fehler auslöst.
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Modbus-TCP-Konfigurationen
Digitaler Ein‑/Ausgangszustand
Ist ein Port (X01…X08) im SIO‑Modus (Standard‑Ein‑ oder ‑Ausgang) konfiguriert, steht der digitale Ein‑/Ausgangszustand zur Verfügung.
Register 2000, 2001 sowie 2047, 2048 – Digitaler Ein-/Ausgangszustand
Es gibt zwei Registerplätze, die für digitale Ein- und Ausgänge verwendet werden können. Diese funktionieren vollständig identisch und sind lediglich aus Kompatibilitätsgründen gespiegelt.
Index |
Byte |
Bit |
Name |
Datentyp |
Zugriff |
Wert |
|---|---|---|---|---|---|---|
2000 (2047) |
- |
0…7 |
Digital Input Port n Pin 4 |
BOOL |
RO |
0 = aus, 1 = an |
8…15 |
Digital Input Port n Pin 2 |
BOOL |
RO |
0 = aus, 1 = an |
||
2001 (2048) |
- |
0…7 |
Digital Output Port n Pin 4 |
BOOL |
R/W |
0 = aus, 1 = an |
8…15 |
Digital Output Port n Pin 2 |
BOOL |
R/W |
0 = aus, 1 = an |
Der digitale Ausgang funktioniert, wenn der Port als Ausgang konfiguriert ist.
Werte – Digitaler Ein-/Ausgangszustand (Daten)
Wert |
Beschreibung |
|---|---|
0 |
aus, stromlos, 0 Volt |
1 |
an, unter Strom, 24 Volt |
Bits – Digitaler Ein-/Ausgangszustand (Daten)
Bit |
Port n |
|---|---|
0, 8 |
X01 |
1, 9 |
X02 |
2, 10 |
X03 |
3, 11 |
X04 |
4, 12 |
X05 |
5, 13 |
X06 |
6, 14 |
X07 |
7, 15 |
X08 |
Detailansicht – Digitaler Ein-/Ausgangszustand (Daten)
Index |
Byte |
Bit |
Name |
Datentyp |
Zugriff |
Wert |
|---|---|---|---|---|---|---|
2000 (2047) |
0 |
0 |
X01 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
1 |
X02 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
2 |
X03 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
3 |
X04 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
4 |
X05 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
5 |
X06 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
6 |
X07 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
7 |
X08 Pin4 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
1 |
0 |
X01 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
|
1 |
X02 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
2 |
X03 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
3 |
X04 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
4 |
X05 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
5 |
X06 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
6 |
X07 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
7 |
X08 Pin2 Digital Input State |
BOOL |
RO |
0 = aus, 1 = an |
||
2001 (2048) |
0 |
0 |
X01 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
1 |
X02 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
2 |
X03 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
3 |
X04 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
4 |
X05 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
5 |
X06 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
6 |
X07 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
7 |
X08 Pin4 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
1 |
0 |
X01 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
|
1 |
X02 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
2 |
X03 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
3 |
X04 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
4 |
X05 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
5 |
X06 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
6 |
X07 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
||
7 |
X08 Pin2 Digital Output State |
BOOL |
RW |
0 = aus, 1 = an |
IO-Link-Prozessdaten
Ist ein Port (X01…X08) im IO-Link-Modus konfiguriert, stehen die Prozessdaten der Ein- und -Ausgänge zur Verfügung.
Es gibt zwei Möglichkeiten zur Verarbeitung der Prozessdaten.
Die Verwendung einer festen Länge von 32 Byte ermöglicht einen einfachen, portorganisierten Zugriff pro Port, erfordert jedoch mehrere Befehle zur Ausführung.
Die Verwendung einer konfigurierbaren variablen Länge ermöglicht den Zugriff auf die Inhalte in einem einzigen Schritt, erfordert jedoch eine vorherige Konfiguration.
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Register 1100…1800 - IO-Link-Prozessdaten (feste Länge)
Einmaliges Auslesen eines IO-Link Ports.
Das Rücklesen der Prozessdatenausgabe dient der Rückmeldung (Kontrolle).
Index |
Length |
Beschreibung |
Zugriff |
|---|---|---|---|
1100 |
34 |
Port X01 IO-Link Process Data Input/Output |
RO |
1200 |
34 |
Port X02 IO-Link Process Data Input/Output |
RO |
1300 |
34 |
Port X03 IO-Link Process Data Input/Output |
RO |
1400 |
34 |
Port X04 IO-Link Process Data Input/Output |
RO |
1500 |
34 |
Port X05 IO-Link Process Data Input/Output |
RO |
1600 |
34 |
Port X06 IO-Link Process Data Input/Output |
RO |
1700 |
34 |
Port X07 IO-Link Process Data Input/Output |
RO |
1800 |
34 |
Port X08 IO-Link Process Data Input/Output |
RO |
Details - IO-Link Process Data 1100…1800
Index |
Length |
Beschreibung |
Zugriff |
Wert |
|---|---|---|---|---|
1n00 [5] |
1 |
Port n IO-Link Process Data Input Valid (flag) |
RO |
0 = ungültig, 1 = gültig |
1n01…1n16 [5] |
16 |
Port n IO-Link Process Data Input (Byte 1…32) |
RO |
– |
1n17 [5] |
1 |
Port n IO-Link Process Data Output Valid (flag) |
RW |
0 = ungültig, 1 = gültig |
1n18…1n33 [5] |
16 |
Port n IO-Link Process Data Output (Byte 1…32) |
RW |
– |
Hinweis
Mit anderen Worten: „gültig“ ist ein Synonym für zuverlässig.
Weitere Informationen zu technischen Abkürzungen und Terminologie finden Sie in Kapitel. Terminologie
Portnummern - IO-Link Process Data 1100…1800
n [5] |
Port |
|---|---|
1 |
X01 |
2 |
X02 |
3 |
X03 |
4 |
X04 |
5 |
X05 |
6 |
X06 |
7 |
X07 |
8 |
X08 |
Register 11000…11257 - Variable Prozessdaten-Register
Die Register spiegeln die Register 1100…1800. Während die Standard-Prozessdaten-Register für Ein- und Ausgangs-Prozessdaten stets eine feste Länge von 32 Byte haben, passen sich die variablen Prozessdaten-Register an die konfigurierten Länge an.
Index |
Byte |
Name |
DataType |
Zugriff |
Wert / Beschreibung |
Hinweis |
|---|---|---|---|---|---|---|
11000 |
0 |
IO-Link-Eingangs-Prozessdaten gültig |
UINT16 |
RO |
Jedes Bit repräsentiert einen Port (Bit 0 → Port 1 usw.). |
|
1 |
Reserviert |
UINT16 |
RO |
immer null |
||
11001 |
0 |
IO-Link Process Data Output Valid |
UINT16 |
RW |
Jedes Bit repräsentiert einen Port (Bit 0 → Port 1 usw.). |
|
1 |
Reserviert |
UINT16 |
RW |
schreibe null |
||
11002…11257 |
Variable Prozessdaten Eingang / Ausgang |
RW |
Siehe Port‑Konfiguration für Größe und Anordnung |
Siehe unten für Layout |
Die variablen Prozessdatenregister spiegeln die standardmäßigen Prozessdatenregister (1100…1800) wider, passen sich jedoch der konfigurierten Ein‑/Ausgangslänge pro Port an.
Ein‑ und Ausgangsdatenlängen sind in der Portkonfiguration definiert.
Reservierte Bytes sind beim Schreiben auf null zu setzen und werden stets mit dem Wert null gelesen.
Bei Ports, die nicht auf IO‑Link konfiguriert sind, werden die Prozessdaten in diesen Registern ausgelassen (siehe Beispiel).
Variabler Aufbau der Prozessdaten
Die variablen Prozessdatenregister sind wie folgt aufgebaut:
Eingangsprozessdaten für die Ports 1–8 (lesen)
Ausgangsprozessdaten für die Ports 1–8 (lesen/schreiben)
Wenn die konfigurierte Prozessdatenlänge eines Ports kein ganzes Wort (2 Byte) ergibt, wird ein Padding‑Byte hinzugefügt, um sicherzustellen, dass die Prozessdaten des nächsten Ports an der korrekten Wortgrenze beginnen.
Hinweis:
Der Input‑Prozessdaten‑Abschnitt kann nur gelesen werden. Jeder Schreibversuch führt zu einem Fehler.
Abschnitt |
Portnummer |
Zugriff |
|---|---|---|
Eingangsprozessdaten |
1 |
lesen |
Eingangsprozessdaten |
2 |
lesen |
Eingangsprozessdaten |
3 |
lesen |
Eingangsprozessdaten |
4 |
lesen |
Eingangsprozessdaten |
5 |
lesen |
Eingangsprozessdaten |
6 |
lesen |
Eingangsprozessdaten |
7 |
lesen |
Eingangsprozessdaten |
8 |
lesen |
Ausgangsprozessdaten |
1 |
lesen/schreiben |
Ausgangsprozessdaten |
2 |
lesen/schreiben |
Ausgangsprozessdaten |
3 |
lesen/schreiben |
Ausgangsprozessdaten |
4 |
lesen/schreiben |
Ausgangsprozessdaten |
5 |
lesen/schreiben |
Ausgangsprozessdaten |
6 |
lesen/schreiben |
Ausgangsprozessdaten |
7 |
lesen/schreiben |
Ausgangsprozessdaten |
8 |
lesen/schreiben |
Beispiel
Angenommen, folgende Konfiguration liegt vor:
Port 1 Eingang: 3 Byte
Port 3 Eingang: 2 Byte
Port 4 Eingang: 5 Byte
Port 1 Ausgang: 4 Byte
Port 3 Ausgang: 1 Byte
Der Aufbau ist wie folgt:
Adresse |
Abschnitt |
Port |
Datenlänge |
Padding-Byte |
Wortgrenze |
|---|---|---|---|---|---|
11002 + 0 |
Eingangsprozessdaten |
1 |
3 Byte |
1 Byte |
2 Wörter |
11002 + 2 |
Eingangsprozessdaten |
3 |
2 Byte |
0 |
1 Wort |
11002 + 3 |
Eingangsprozessdaten |
4 |
5 Byte |
1 Byte |
3 Wörter |
11002 + 6 |
Ausgangsprozessdaten |
1 |
4 Byte |
0 |
2 Wörter |
11002 + 8 |
Ausgangsprozessdaten |
3 |
1 Byte |
1 Byte |
1 Wort |
Dies stellt sicher, dass die Prozessdaten jedes Ports an einer Wortgrenze ausgerichtet sind, erforderliche Padding‑Bytes werden ergänzt. Ports mit konfigurierter Länge 0 oder Ports, die nicht im IO‑Link‑Modus konfiguriert sind, reservieren keinen Speicherbereich im Register.
IO-Link-ISDU-Daten
Register 100, 300 – Azyklischer Befehlskanal (einschließlich ISDU-Lese-/Schreibanforderungen)
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Index |
Length |
Beschreibung |
Zugriff |
Default |
|---|---|---|---|---|
100 |
4…121 |
IO-Link ISDU Command Request |
RW |
- |
300 |
5…122 |
IO-Link ISDU Command Response |
RO |
- |
Details – Register 100…220 Befehlsanforderungskanal = ISDU-Lese-/Schreibanforderung
Index |
Byte |
Name |
Datentyp |
Zugriff |
Benötigt? |
Wert |
|---|---|---|---|---|---|---|
100 |
- |
Command |
UINT16 |
RW |
M [1] |
1 = lesen, 2 = schreiben |
101 |
- |
Port No. |
UINT16 |
RW |
M [1] |
1…8 |
102 |
- |
Index |
UINT16 |
RW |
M [1] |
0…0xFFFF |
103 |
- |
Subindex |
UINT16 |
RW |
M [1] |
0…255 |
104 [3] |
- |
Data Length [Byte] |
UINT16 |
RW |
O [2] |
1…232 |
105…220 [4] |
0 |
Data Byte n |
UINT8 |
RW |
O [2] |
- |
105…220 [4] |
1 |
Data Byte n1 |
UINT8 |
RW |
O [2] |
- |
Details - Register 300…421 Befehlsantwortkanal = ISDU-Lese-/Schreibantwort
Index |
Byte |
Bit |
Name |
Datentyp |
Zugriff |
Wert |
|---|---|---|---|---|---|---|
300 |
- |
- |
Command (last sent) |
UINT16 |
RO |
1 = lesen, 2 = schreiben |
301 |
- |
- |
Port No. |
UINT16 |
RO |
1…8 |
302 |
- |
- |
Index |
UINT16 |
RO |
0…0xFFFF |
303 |
- |
- |
Subindex |
UINT16 |
RO |
0…255 |
304 |
- |
- |
Error Code |
UINT16 |
RO |
0 = kein Fehler andere Werte = siehe Tab. 6-15 |
305 |
- |
Data Length [Bytes] |
UINT16 |
RO |
1…232 |
|
306…421 |
0 |
- |
Data Byte n |
UINT8 |
RO |
- |
306…421 |
1 |
- |
Data Byte n+1 |
UINT8 |
RO |
- |
Error Codes
Error Code |
Beschreibung |
|---|---|
0x0000 |
kein Fehler, Befehl war erfolgreich |
0x4001 |
ARGBLOCK_NOT_SUPPORTED |
0x4002 |
ARGBLOCK_INCONSISTENT |
0x4003 |
DEVICE_NOT_SUPPORTED |
0x4004 |
SERVICE_NOT_AVAILABLE |
0x4005 |
DEVICE_NOT_IN_OPERATE |
0x4006 |
MEMORY_OVERRUN |
0x4011 |
PORT_NUM_INVALID |
0x4034 |
ARGBLOCK_LENGTH_INVALID |
0x4036 |
SERVICE_TEMP_UNAVAILABLE |
0x8000…0x80FF |
IO-Link Error Code vom verbundenen Device, siehe IO-Link-Specifikation |
Diagnostic
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Index |
Length |
Beschreibung |
Zugriff |
|---|---|---|---|
3000 |
10 |
Module and Port Diagnostic |
RO |
3100 |
10 |
X01 IO-Link Info & Events |
RO |
3200 |
10 |
X02 IO-Link Info & Events |
RO |
3300 |
10 |
X03 IO-Link Info & Events |
RO |
3400 |
10 |
X04 IO-Link Info & Events |
RO |
3500 |
10 |
X05 IO-Link Info & Events |
RO |
3600 |
10 |
X06 IO-Link Info & Events |
RO |
3700 |
10 |
X07 IO-Link Info & Events |
RO |
3800 |
10 |
X08 IO-Link Info & Events |
RO |
Details – Diagnostic
Register 3000…3009 – Modul- und Portdiagnose
Index |
Byte |
Bit |
Name |
Datentyp |
Zugriff |
Wert |
|---|---|---|---|---|---|---|
3000 |
0 |
0…3 |
Reserviert |
– |
RO |
– |
3000 |
0 |
4 |
Sensor Voltage Short Circuit |
BOOL |
RO |
– |
3000 |
0 |
5 |
Actuator Short Circuit |
BOOL |
RO |
– |
3000 |
0 |
6 |
Actuator Warning |
BOOL |
RO |
– |
3000 |
0 |
7 |
IO-Link Short Circuit |
BOOL |
RO |
– |
3001 |
0 |
0…7 |
Port n: IO-Link Communication Established |
BOOL |
RO |
– |
3001 |
1 |
8…15 |
Port n: IO-Link PD Input Valid |
BOOL |
RO |
– |
3002 |
0 |
0…7 |
Port n: IO-Link Valid Device Connected |
– |
– |
– |
3002 |
1 |
8…15 |
Reserviert |
– |
– |
– |
3003 |
– |
– |
Reserviert |
– |
– |
– |
3004 |
0 |
0…7 |
Port n: Actuator Shutdown (Pin 2) |
BOOL |
RO |
– |
3004 |
1 |
8…15 |
Port n: Actuator Shutdown (Pin 4) |
BOOL |
R |
– |
3005 |
0 |
0…7 |
Port n: Actuator Warning (Pin 2) |
BOOL |
RO |
– |
3005 |
1 |
8…15 |
Port n: Actuator Warning (Pin 4) |
BOOL |
RO |
– |
3006 |
– |
– |
Reserviert |
– |
– |
– |
3007 |
– |
– |
Reserviert |
– |
– |
– |
3008 |
– |
– |
Reserviert |
– |
– |
– |
3009 |
– |
– |
Reserviert |
– |
– |
– |
BOOL-Wert |
Bedeutung |
|---|---|
0 |
false, Status nicht vorhanden |
1 |
true, Status vorhanden |
Bit |
Port n |
|---|---|
0, 8 |
X01 |
1, 9 |
X02 |
2, 10 |
X03 |
3, 11 |
X04 |
4, 12 |
X05 |
5, 13 |
X06 |
6, 14 |
X07 |
7, 15 |
X08 |
Register 3010…3080 – IO-Link-Portdiagnose
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Detaillierte Informationen über das angeschlossene IO-Link-Gerät.
Index |
Byte |
Bit |
Name |
Datentyp |
Zugriff |
Wert |
|---|---|---|---|---|---|---|
3n00 [6] |
0 |
0 |
IO-Link Mode |
BOOL |
RO |
– |
1 |
Device Connected |
BOOL |
RO |
– |
||
2 |
Valid PD IN Data |
BOOL |
RO |
– |
||
3 |
Falsche Vendor‑ID oder Device‑ID |
BOOL |
RO |
– |
||
4 |
Wrong Cycle Time |
BOOL |
RO |
– |
||
5 |
Wrong Length PD IN |
BOOL |
RO |
– |
||
6 |
Wrong Length PD OUT |
BOOL |
RO |
– |
||
7 |
Reserviert |
– |
RO |
– |
||
1 |
– |
Reserviert |
– |
RO |
– |
|
3n01 [6] |
– |
– |
Vendor-ID |
UINT16 |
RO |
– |
3n02 [6] |
0 |
– |
Device-ID (MSB) |
UINT8 |
RO |
– |
1 |
– |
Reserviert |
– |
RO |
– |
|
3n03 [6] |
– |
– |
Device-ID (LSB) |
UINT16 |
RO |
– |
3n04 [6] |
0 |
– |
Entry #1 Event Qualifier |
IOL coded |
RO |
IOL coded |
1 |
– |
Reserviert |
– |
RO |
– |
|
3n05 [6] |
– |
– |
Entry #1 Event Code |
UINT16 |
RO |
IOL coded |
3n06 [6] |
0 |
– |
Entry #2 Event Qualifier |
Enum |
RO |
IOL coded |
1 |
– |
Reserviert |
– |
RO |
– |
|
3n07 [6] |
– |
– |
Entry #2 Event Code |
UINT16 |
RO |
IOL coded |
3n08 [6] |
0 |
– |
Entry #3 Event Qualifier |
Enum |
RO |
IOL coded |
1 |
– |
Reserviert |
– |
RO |
– |
|
3n09 [6] |
– |
– |
Entry #3 Event Code |
UINT16 |
RO |
IOL coded |
Portnummern – Register 3010…3080
n [5] |
Port |
|---|---|
1 |
X01 |
2 |
X02 |
3 |
X03 |
4 |
X04 |
5 |
X05 |
6 |
X06 |
7 |
X07 |
8 |
X08 |
IOL‑codierter Event‑Qualifier – Register 3010…3080
Bit |
Beschreibung |
|---|---|
0…2 |
Instanz |
3 |
Source |
4…5 |
Type |
6, 7 |
Mode |
Projektierung
Register 9100…9800 – Portkonfiguration
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Index |
Length |
Name |
|---|---|---|
9100 |
7 |
X01 Port Configuration |
9200 |
7 |
X02 Port Configuration |
9300 |
7 |
X03 Port Configuration |
9400 |
7 |
X04 Port Configuration |
9500 |
7 |
X05 Port Configuration |
9600 |
7 |
X06 Port Configuration |
9700 |
7 |
X07 Port Configuration |
9800 |
7 |
X08 Port Configuration |
Der Aufbau der Portkonfiguration ist in den folgenden Tabellen beschrieben.
Index |
Byte |
Bit |
Name |
Datentyp |
Zugriff |
Wert |
Hinweis |
|---|---|---|---|---|---|---|---|
9n00 [5] |
0 |
- |
Master Cycle Time |
UINT8 |
RW |
IO-Link coded |
(1) |
1 |
- |
Reserviert |
- |
- |
(2) |
||
9n01 [5] |
0 |
- |
Pin 2 Port Mode |
UINT8 |
RW |
0 = deactivated 1 = Digital Input 2 = Digital Output |
(3)(4) |
1 |
- |
Pin 4 Port Mode |
UINT8 |
RW |
0 = Deactivated 1 = IOL Manual 2 = IOL Autostart 3 = Digital Input 4 = Digital Output |
(3) |
|
9n02 [5] |
0 |
- |
Validation ID |
UINT8 |
RW |
0 = No Device Check 1 = Compatible V1.0 2 = Compatible V1.1 3 = Backup Restore 4 = Restore |
(1) |
1 |
- |
Reserviert |
- |
- |
- |
(2) |
|
9n03 [5] |
- |
- |
Vendor-ID |
UINT16 |
RW |
- |
(1) |
9n04 [5] |
0 |
- |
Device-ID (MSB) |
UINT8 |
RW |
- |
(1) |
1 |
- |
Reserviert |
- |
- |
- |
(2) |
|
9n05 [5] |
- |
- |
Device-ID (LSB) |
UINT16 |
RW |
- |
(1) |
9n06 [5] |
- |
- |
Eingangsprozessdatenlänge |
UINT16 |
RW |
0…32 |
(1) |
9n07 [5] |
- |
- |
Ausgangsprozessdatenlänge |
UINT16 |
RW |
0…32 |
(1) |
Hinweis
(1) Muss für BNI XG3-302-… den Wert Null (0x00) haben, andernfalls wird der Schreibvorgang abgelehnt.
(2) Muss immer null sein, sonst wird der Schreibvorgang abgelehnt.
(3) Für XG3-302-… sind nur die Zustände „Digitaler Eingang“, „Digitaler Ausgang“ und „Deaktiviert“ gültig.
(4) Bei XG1-505-… werden Digitalausgang und Stromversorgung für Pin 2 nicht unterstützt.
Portnummern – Register 9100…9800
n [5] |
Port |
|---|---|
1 |
X01 |
2 |
X02 |
3 |
X03 |
4 |
X04 |
5 |
X05 |
6 |
X06 |
7 |
X07 |
8 |
X08 |
Kodierung der Master-Zykluszeit der IO-Link Spezifikation
Hinweis
Vor der Verwendung dieser Funktion prüfen, ob das Modul IO‑Link unterstützt. Weitere Informationen zu IO‑Link‑fähigen Produktvarianten siehe: Unterstützte Produktvarianten
Time Base Encoding |
Time Base Value |
Kalkulation |
Cycle Time |
|---|---|---|---|
0 |
0,1 ms |
Multiplier × Time Base |
0,4…6,3 ms |
1 |
0,4 ms |
6,4 ms + Multiplier × Time Base |
6,4…31,6 ms |
10 |
1,6 ms |
32,0 ms + Multiplier × Time Base |
32,0…132,8 ms |
11 |
Reserviert |
Reserviert |
Reserviert |
Register 20000 - Moduleinstellungen
Globale Konfigurationsregister für das Modul (Device).
Index |
Byte |
Bit |
Name |
DataType |
Zugriff |
Wert |
Hinweis |
|---|---|---|---|---|---|---|---|
20000 |
Ausgangsverhalten bei Spannungsverlust |
UINT16 |
RW |
Siehe Tabelle unten |
(1) |
Hinweis
(1) Nur für die Varianten BNI XG5-538-… verfügbar
Wert |
Beschreibung |
|---|---|
0 |
Standardeinstellung. Das Netzwerkmodul verhält sich wie ein BNI XG…-508-…Device. |
Fällt UA aus oder ist nicht verbunden, werden auch die US‑Ausgänge softwareseitig deaktiviert. |
|
1 |
Keine Software‑Handhabung aktiviert. Das Verhalten bei Spannungsverlust ist hardwareseitig definiert. |