CoE-Datenzugriff über Profinet
Beschreibung
CoE bedeutet Can over EtherCAT. Dieser Zugriff erlaubt auf alle Parameter eines EtherCAT-Teilnehmers zuzugreifen. Das CoE-Datenmodell basiert auf den Grundlagen von CANopen und verwendet Index und Subindex um Parameter zu lesen oder zu beschreiben wenn diese es erlauben.
Weiter Information erhalten Sie über folgende Seite: Systemdokumentation
Aufgabe
Parameter eines EtherCAT-Teilnehmers können in der Regel über die Parameter der GSDML-Datei eingestellt und parametriert werden. In manchen Applikationen ist es aber notwendig bestimmte Parameter zur Laufzeit zu verändern oder im laufenden Betrieb Optimierungen durchzuführen.
Lösung
Die CoE-Daten werden über azyklischen PROFINET-Dienste geschickt (PROFINET-Index 0x200F). Die Position des EtherCAT-Teilnehmers wird über die Slot-Nummer vorgeben. Die CoE-Daten werden dann in die Record-Daten eingetragen und bestehen beim Lesen aus CoE-Index und CoE-Subindex und beim Schreiben aus CoE-Index, CoE-Subindex und den zu sendenden Daten.
Beispiel Lesen/Schreiben
Für das Lesen muss als erstes ein Record WriteReq versendet werden. Dies beinhaltet den CoE-Index und CoE-Subindex. Nach dem WriteRsp muss ein ReadReq gesendet werden um die Daten abzuholen, die dann im ReadRsp enthalten sind.
Für das Schreiben erfolgt dies auf gleicher Art und Weise, nur das beim WriteReq die Daten mitgeschickt werden und mit der ReadRsp eine Quittung erfolgt ob das Schreiben geklappt hat.
Erste Schritte Lesen
PROFINET Record Daten (Write Request) | Wert | Bedeutung |
---|---|---|
Slot | Position des EtherCAT-Teilnehmers (1...255) | Slot-Nummer, Position des EtherCAT-Teilnehmers |
SubSlot | 1 | Sub-Slot-Nummer, immer "1" |
Index | 0x200F | PROFINET-Index-Nummer |
Length | 4 | Länge der folgenden Daten |
Daten | Byte 1 und 2 SDO Index | CoE-Daten |
Wartezeit, wir empfehlen hier 100..250 ms bis der Read Request versendet wird, der eine Bestätigung des Fehlerfreien Schreiben beinhaltet.
PROFINET Record Daten (Read Request) | Wert | Bedeutung | |
---|---|---|---|
Slot | Position des EtherCAT-Teilnehmers (1...255) | Slot-Nummer, Position des EtherCAT-Teilnehmers | |
SubSlot | 1 | Sub-Slot-Nummer, immer "1" | |
Index | 0x200F | PROFINET-Index-Nummer | |
Length | Schreiben | Antwort | Länge der folgenden Daten |
Daten | Schreiben | Antwort | CoE-Daten |
In der Antwort des Read Request also dem Read Response kommen die Daten. Die ersten 4 Byte beinhalten den Fehler-Code. Bei fehlerfreier Antwort ist dieser "0". Der Fehler Code ist ein ADS-Fehler-Code und kann unter folgenden Link nachgelesen werden.
http://infosys.beckhoff.com/content/1031/tcsample/html/ads_returncodes.htm
Erste Schritte Schreiben
PROFINET Record Daten (Write Request) | Wert | Bedeutung |
---|---|---|
Slot | Position des EtherCAT-Teilnehmers (1...255) | Slot-Nummer, Position des EtherCAT-Teilnehmers |
SubSlot | 1 | Sub-Slot-Nummer, immer "1" |
Index | 0x200F | PROFINET-Index-Nummer |
Lenght | 4 | Länge der folgenden Daten |
Daten | Byte 1..2 SDO Index | CoE-Daten |
Wartezeit, wir empfehlen hier 250..500 ms bis der Read Request versendet wird, der eine Bestätigung des Fehlerfreien Schreiben beinhaltet.
PROFINET Record Daten (Read Request) | Wert | Bedeutung | |
---|---|---|---|
Slot | Position des EtherCAT Teilnehmers (1...255) | Slot-Nummer, Position des EtherCAT-Teilnehmers | |
SubSlot | 1 | Sub-Slot-Nummer, immer "1" | |
Index | 0x200F | PROFINET-Index-Nummer | |
Lenght | Schreiben | Antwort | Länge der folgenden Daten |
Daten | Schreiben | Schreiben | CoE-Daten |
In der Antwort des Read Request also dem Read Response kommt die Bestätigung ob das Schreiben geklappt hat, die ersten 4 Byte beinhalten den Fehler Code, bei fehlerfreier Antwort ist dieser "0". Der Fehler Code ist ein ADS-Fehler-Code und kann unter folgenden Link nachgelesen werden.
http://infosys.beckhoff.com/content/1031/tcsample/html/ads_returncodes.htm
Datenformat beachten Achten Sie beim Lesen und Schreiben auf die Datengröße und das Format der entsprechenden SDO-Parameter. Wir empfehlen die SDO-Daten erst zu lesen, sie dann zu interpretieren und entsprechend des gelesenen Datenformats dieses auch beim Schreiben der CoE-Daten zu verwenden (eventuell High/Low BYTE/WORD tauschen). |
Start-up Parameter überschreiben COE-Daten Typischerweise werden CoE-Daten nicht im EtherCAT-Teilnehmer gespeichert. Achten Sie darauf, das CoE-Daten beim Starten von EP9300-0022 wieder durch die Start-up Parameter (GSDML) überschrieben werden. |