CoE-Interface - Parameterverwaltung im EtherCAT System
Hintergrund
In einer Automatisierungsumgebung werden viele unterschiedliche Geräte eingesetzt. Diese Geräte können einzeln oder im Verbund an einem Bussystem zusammen eingesetzt werden. Solche Geräte können Steuerungen, Drehgeber, Servoverstärker, Motore, I/O-Module oder Sensoren u.a. sein.
Je nach Komplexität muss ein solches Gerät für den jeweiligen Bedarfsfall parametrierbar/einstellbar sein. Bei einem einfachen digitalen 24 V-Eingang mit fester Schaltschwelle und -verzögerung ist eine Parametrierung unter Umständen nicht nötig, jedoch wird man bei einem Drehgeber nicht darauf verzichten können (z. B. Anzahl der Striche, absolut oder relativ, Datenformat, usw.)
Darüber hinaus kann es von Interesse sein, im Gerät bei der Produktion oder im Betrieb Daten abzulegen.
Der Hersteller könnte Produktionsdaten ablegen wie Gerätename, Seriennummer, Firmwarestand, Abgleichdaten oder Herstellungsdatum, ggf. mit Zugangs- oder Änderungsschutz versehen.
Der Anwender könnte Anwenderabgleichdaten und die einsatzspezifischen Einstellungen im Gerät hinterlegen.
Um hier eine anwenderfreundliche Schnittstelle zur Gerätebedienung zu schaffen, sind von unterschiedlichen Organisationen verschiedene Standards angelegt worden, in denen definiert wurde:
- welche Geräteklassen es gibt (z. B.: Klasse "Drehgeber", "analoges Eingangsmodul")
- über welche Parameter jeder Vertreter einer solchen Klasse verfügt (obligate und optionale Elemente)
- an welcher Stelle und mit welchem Mechanismus diese Parameter zu finden und zu ändern sind.
EtherCAT lehnt sich hier an den so genannten CoE-Standard an, Can-Application-protocoll-over-EtherCAT.
Can-Over-EtherCAT
Die CiA-Organisation (CAN in Automation) verfolgt u.a. das Ziel, durch Standardisierung von Gerätebeschreibungen Ordnung und Austauschbarkeit zwischen gleichartigen Geräten herzustellen. Zu diesem Zweck werden so genannte Profile definiert, die die veränderlichen und unveränderlichen Parameter eines Gerätes abschließend beschreiben. Solch ein Parameter umfasst mindestens folgende Eigenschaften:
- Indexnummer - zur eindeutigen Identifizierung aller Parameter. Um zusammengehörige Parameter zu kennzeichnen und zu ordnen, unterteilt sich die Indexnummer in einen Haupt- und Subindex.
- Hauptindex
- Subindex, abgesetzt durch einen Doppelpunkt ":" - Offizieller Name - als verständlicher, selbsterklärender Text
- Angaben zur Veränderbarkeit, z. B. ob er nur gelesen oder auch beschrieben werden kann
- Einen Wert - je nach Parameter kann der Wert ein Text, eine Zahl oder wieder ein anderer Parameterindex sein.
Beispiel: der Parameter "Herstellerkennung" (Vendor ID) habe die Indexnummer 0x4120:01 und den Zahlenwert "2" als Kennzeichnung eines Beckhoff-Gerätes.
Da im maschinellen Umfeld gerne mit hexadezimalen Werten gearbeitet wird, wird der Parameter aus Anwendersicht also dargestellt als
mit der Eigenschaft RO (read-only), denn die Herstellerkennung soll vom Anwender nicht verändert werden.
Solch eine Liste an Parametern, die Gesamtheit des gerätespezifischen CoE-Verzeichnisses, kann sehr umfangreich werden. Die ersten Einträge einer Beckhoff EL3152 analogen Eingangsklemme in der Ansicht des TwinCAT System Manager lauten:
Die Indexnummern werden im Profil festgelegt, sie beginnen bei EtherCAT deshalb bei 0x1000, weil die darunterliegenden Einträge nicht dargestellt werden müssen.
CoE-Verzeichnis - Verfügbarkeit
Ein EtherCAT-Teilnehmer kann, muss aber nicht über ein CoE-Verzeichnis verfügen. Einfache Slaves benötigen kein Parameterverzeichnis bzw. verfügen nicht über den zur Verwaltung nötigen Controller. Andererseits kann auch der EtherCAT Master (wie TwinCAT) als Software-EtherCAT-Gerät ein CoE-Verzeichnis verwalten.
Wenn vorhanden, ist das CoE-Verzeichnis ab dem Status PREOP in Betrieb.
Das Objektverzeichnis ist per SDO-Information-Dienst auslesbar (Service Data Objects).
CoE-Verzeichnis - Lokalisierung im EtherCAT-Slave
Das CoE-Verzeichnis als Parametersystem muss im Gerät in der Firmware (FW) im lokalen Controller verwaltet werden. Dies ist das so genannte Online-Verzeichnis, weil es dem Anwender nur zur Verfügung steht, wenn der EtherCAT-Slave unter Betriebsspannung in Betrieb ist und ggf. über EtherCAT-Kommunikation manipuliert werden kann.
Damit auch ohne vorhandenen Slave schon vorab die Parameter eingesehen und verändert werden können, wird üblicherweise eine Default-Kopie des gesamten Verzeichnisses in der Gerätebeschreibungsdatei ESI (XML) hinterlegt. Dies wird Offline-Verzeichnis genannt. Änderungen in diesem Verzeichnis wirken sich bei TwinCAT nicht auf den späteren Betrieb des Slave aus. Die xml-Dateien können auf der Beckhoff-Website im Downloadbereich bezogen werden.
Der TwinCAT System Manager 2.11 kann beide Listen anzeigen und kennzeichnet dies:
Im Online Verzeichnis | Im Offline Verzeichnis |
---|---|
wird das reale aktuelle Verzeichnis des Slaves ausgelesen. Dies kann je nach Größe und Zykluszeit einige Sekunden dauern | wird das Offline-Verzeichnis aus der ESI-Datei angezeigt. Änderungen sind hier nicht sinnvoll bzw. möglich. |
wird die tatsächliche Identität angezeigt | wird in der Identität der konfigurierte Stand angezeigt |
wird der Firmware- und Hardware-Stand des Gerätes laut elektronischer Auskunft angezeigt | wird kein Firmware- oder Hardware-Stand angezeigt, da dies Eigenschaften des realen Gerätes sind |
ist ein grünes Online im TwinCAT System Manager, Karteireiter CoE-Online zu sehen | ist ein rotes Offline im TwinCAT System Manager, Karteireiter CoE-Online zu sehen |
Einteilung
Es sind verschiedene Typen für CoE-Parameter möglich wie String (Text), Integer-Zahlen, Bool'sche Werte oder größere Byte-Felder. Damit lassen sich ganz verschiedene Eigenschaften beschreiben. Beispiele für solche Parameter sind Herstellerkennung, Seriennummer, Prozessdateneinstellungen, Gerätename, Abgleichwerte für analoge Messung oder Passwörter.
Die für den anwendungsorientierten EtherCAT-Feldbusanwender wichtigen Bereiche im Slave-CoE sind
- 0x1000: hier sind feste Identitäts-Informationen zum Gerät hinterlegt wie Name, Hersteller, Seriennummer etc. Außerdem liegen hier Angaben über die aktuellen und verfügbaren Prozessdatenkonstellationen.
- 0x8000: hier sind die für den Betrieb erforderlichen funktionsrelevanten Parameter für alle Kanäle zugänglich wie Filtereinstellung oder Ausgabefrequenz.
Ferner interessant sind die Bereiche
- 0x4000: hier liegen in manchen EtherCAT-Geräten alternativ zum 0x8000-Bereich die Kanalparameter.
- 0x6000: hier liegen die Eingangs-PDO ("Eingang" aus Sicht des EtherCAT-Masters)
- 0x7000: hier liegen die Ausgangs-PDO ("Ausgang" aus Sicht des EtherCAT-Masters)
Kanalweise Ordnung
Das CoE-Verzeichnis ist in EtherCAT Geräten angesiedelt, die meist mehrere funktional gleichwertige Kanäle umfassen. z. B. hat eine 4 kanalige Analogeingangsklemme 0..10 V auch 4 logische Kanäle und damit 4 gleiche Sätze an Parameterdaten für die Kanäle. Um in den Dokumentationen nicht jeden Kanal auflisten zu müssen, wird gerne der Platzhalter "n" für die einzelnen Kanalnummern verwendet.
Im CoE-System sind für die Menge aller Parameter eines Kanals eigentlich immer 16 Indize mit jeweils 255 Subindizes ausreichend. Deshalb ist die kanalweise Ordnung in 16dez/10hex-Schritten eingerichtet. Am Beispiel des Parameterbereichs 0x8000 sieht man dies deutlich:
- Kanal 0: Parameterbereich 0x8000:00 ... 0x800F:255
- Kanal 1: Parameterbereich 0x8010:00 ... 0x801F:255
- Kanal 2: Parameterbereich 0x8020:00 ... 0x802F:255
- tbc...
Allgemein wird dies geschrieben als 0x80n0.
CoE-Verzeichnis - Wertänderungen
Einige, insbesondere die vorgesehenen Einstellungsparameter des Slaves sind durch den Anwender von der Feldbusseite aus veränderlich und beschreibbar. Dies kann schreibend/lesend geschehen
- über den System Manager (Abb. Manuelles Einfügen eines StarUp-Eintrages) durch Anklicken durch den Bediener
Die Werte werden dann direkt im online verbundenen Slave geändert.
Dies bietet sich bei der Inbetriebnahme der Anlage/Slaves an. Klicken Sie auf die entsprechende Zeile des zu parametrierenden Indizes und geben sie einen entsprechenden Wert im "SetValue"-Dialog ein. - aus der Steuerung/PLC über ADS z. B. durch die Bausteine aus der TcEtherCAT.lib Bibliothek
Dies wird für Änderungen während der Anlagenlaufzeit empfohlen oder wenn kein System Manager bzw. Bedienpersonal zur Verfügung steht. - während des EtherCAT-Starts durch vordefinierte Befehle, die sog. StartUp-Liste.
Meist wird die TwinCAT Konfiguration im Vorfeld ohne tatsächlich vorhandene EtherCAT-Slaves erstellt. Dann sollen bereits vor der Inbetriebnahme offline bekannte Eigenschaften wie Filtereinstellungen vorgenommen werden können, um die Inbetriebnahme zu beschleunigen.
CoE-Verzeichnis - StartUp-Liste
StartUp-Liste Veränderungen im lokalen CoE-Verzeichnis des EtherCAT Slaves gehen im Austauschfall mit dem alten Gerät verloren. Wird im Austauschfall ein neues Gerät mit Werkseinstellungen ab Lager Beckhoff eingesetzt, bringt diese die Standardeinstellungen mit. Es ist deshalb empfehlenswert, alle Veränderungen im CoE-Verzeichnis eines EtherCAT Slave in der Startup List des Slaves zu verankern, die bei jedem Start des EtherCAT Feldbus abgearbeitet wird. So wird auch ein im Austauschfall ein neuer EtherCAT Slave automatisch mit den Vorgaben des Anwenders parametriert. Wenn EtherCAT Slaves verwendet werden, die lokal CoE-Wert nicht dauerhaft speichern können, ist zwingend die StartUp-Liste zu verwenden. |
Für diese Fälle kommt die StartUp-Liste zum Einsatz: die hier vorliegenden, vom Anwender eingetragenen Werte werden bei jedem EtherCAT Statusübergang/Start zum entsprechenden Slave gesendet. Ein StartUp-Eintrag besteht aus
- Zeitpunkt: in welchem Statusübergang wird das Kommando gesendet
Meist ist PS (PREOP-->SAFEOP) die richtige Wahl, da dann ein EtherCAT Slave in den operativen Input-Betrieb schaltet. - Index: Subindex
- Daten
Die Reihenfolge der Einträge wird nicht berücksichtigt: alle Einträge, für die ein Statusübergang zutrifft, werden gleichzeitig als asynchrone Kommandos an das EtherCAT System übergeben und dort ausgeführt, sobald es die Buslast zulässt.
Eine Überprüfung, ob ein Eintrag schon gleichlautend im Slave vorliegt, findet nicht statt.
Beispiel
Im Folgenden wird in die StartUp-Liste einer EL3152 die Anwenderskalierung aktiviert. Bereits vorhandene, zum Betrieb benötigte Einträge in der Liste sind grau hinterlegt.
Beim Rechtsklick auf die Fläche erscheint der Dialog:
Beim Klick auf den Eintrag 0x8000:01 werden die entsprechenden Werte übernommen, bei Data wird 01 als gewünschter Wert eingetragen. Der Eintrag "P->S" kennzeichnet den Zeitpunkt der Ausführung.
Vom Anwender angelegte Einträge sind hellblau hinterlegt.
CoE-Verzeichnis - Datenerhaltung
Datenerhaltung Werden online auf dem Slave CoE-Parameter geändert, wird dies in Beckhoff-Geräten ausfallsicher im Gerät (EEPROM) gespeichert. D.h. nach einem Neustart sind die veränderten CoE-Parameter immer noch erhalten. |
Zusammenfassung der Eigenschaften
- Nicht jedes EtherCAT-Gerät muss über ein CoE-Verzeichnis verfügen
- Wenn ein CoE-Verzeichnis vorhanden ist, wird es im Gerät vom Controller verwaltet, zur Abfrage und Beschreibung aufbereitet und gespeichert.
- Zur Ansicht/Abfrage/Änderung kann der EtherCAT-Master verwendet werden, oder eine lokale Bedienoberfläche am Gerät (Tastenfeld, Bildschirm) erlaubt den Zugriff.
- Geänderte Einstellungen werden in Beckhoff Geräten stromausfallsicher gespeichert.
Wenn das Gerät später getauscht wird, gehen allerdings die vom Serienstand geänderten Einstellungen verloren. Der EtherCAT-Master kann dann über die StartUp-Liste in das neue Gerät die geänderten CoE-Parameter beim Start laden, wenn er entsprechend eingestellt ist. - Damit bei der Konfigurationsvorbereitung offline ein CoE-Verzeichnis zur Verfügung steht, kann es als Kopie in der Gerätebeschreibung enthalten sein.
- In welchem Umfang das CoE-Verzeichnis unterstützt wird, hängt von den Fähigkeiten des EtherCAT-Masters ab.