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.

CoE-Datenzugriff über Profinet 1:
CoE-Datenzugriff über PROFINET, Beispiel Lesen/Schreiben

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
Byte 3 CoE SubIndex
Byte 4 "0" Reserve

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
4

Antwort
4 Byte + x Byte

Länge der folgenden Daten

Daten

Schreiben
Byte 1 "1"
Byte 2 "0"
Byte 3 "0"
Byte 4 "0"

Antwort
Byte 1..4 ADS-Fehler
Byte 4..x COE-Datenwert

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
Byte 3 SDO SubIndex
Byte 4 "1" Konstante
Byte 5..8 Länge als DWORD
Byte 9..x CoE Datenwert

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
0

Antwort
4

Länge der folgenden Daten

Daten

Schreiben
-

Schreiben
ADS-Fehler-Code

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

CoE-Datenzugriff über Profinet 2:

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

CoE-Datenzugriff über Profinet 3:

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.