IO-Link Master mit EtherCAT-Schnittstelle DataLine 4 Ports IP 65 / IP 66 / IP 67
>
CANopen over EtherCAT nutzen
CoE eignet sich für den azyklischen Zugriff auf den IO-Link Master und die angeschlossenen IO-Link
Devices. CoE nutzt die Feldbusobjekte "IO-Link Acyclic Command" (→
(0x3100)
(→ S. 102)). Für jeden IO-Link-Port steht ein separates Feldbusobjekt zur Verfügung.
Um azyklisch per CoE auf das Gerät zuzugreifen, kann der Anwender die folgenden Funktionsblöcke
nutzen:
•
FB_EcCoESdoRead: SDO eines EtherCAT-Slaves lesen
•
FB_EcCoeSdoWrite: SDO eines EtherCAT-Slave schreiben
Die FBs für die Nutzung von CoE sind Bestandteil der Funktionsbibliothek
Tc2_EtherCAT.library.
► Funktionsbibliothek Tc2_EtherCAT.library zum Projekt hinzufügen
Beschreibung der Funktionsblöcke: → Hilfe-Funktion von TwinCAT
Für die Eingänge der CoE-Funktionsblöcke gelten folgende Regeln:
Eingang
Beschreibung
sNetId
AMS-Net-ID des <Feldbsu>-Masters, an den der IO-Link
Master angeschlossen ist
nSlaveAddr
EtherCAT-Adresse des IO-Link-Ports am IO-Link Master
=
0x1000 + IO-Link-Portnummer
nSubIndex
IO-Link Subindex des Parameters
nIndex
IO-Link Index des Parameters
>
Prinzip der azyklischen Kommandoabarbeitung
Genereller Ablauf der azyklischen Kommunikation:
1
Command Request schreiben
► Im Command Buffer (0x310n:Subindex 0x01): Gewünschte Befehlsdaten schreiben.
>
Anforderungsdaten werden übertragen.
>
Verarbeitung des Befehls wird gestartet.
>
Anforderungskanal wird geblockt.
2
Status prüfen
► Im Status-Byte (0x310n:Subindex 0x02): Status lesen.
Wenn Status == 0xFF: Befehl wird abgearbeitet, Schritt 2 wiederholen.
▪
Wenn Status < 0xFF: Befehlsabarbeitung beendet, weiter mit Schritt 3
▪
3
Command Response lesen
► Im Response Buffer (0x310n:Subindex 0x03): Rückgabedaten lesen.
>
Blockierung des Anforderungskanals wird aufgehoben.
>
Nächster Befehl kann gestartet werden.
Der IO-Link Master kann jeweils nur eine CoE-Anfrage verarbeiten. Wird während einer
laufenden Anfrage eine weitere CoE-Anfrage gestartet, antwortet das Gerät mit einem Fehler
(SDO-Abbruch-Code: 0x06090030).
86
IO-Link Acyclic Command
Mögliche Werte
projektabhängig; z.B. 172.16.2.131.2.1
0x1001
IO-Link-Port X01
0x1002
IO-Link-Port X02
...
...
0x1004
IO-Link-Port X04
geräteabhängig; → IODD
geräteabhängig; → IODD
16206
6937