Darstellen von Texten
Softwareanbindung für das Display
Es gibt die Möglichkeit statische Texte über den Systemmanager einzustellen. Alternativ gibt es zwei TwinCAT Bausteine. Sie heißen FB_CXSetTextDisplayUSB(FB) und FB_CXGetTextDisplayUSB(FB). Mit FB_CXSetTextDisplayUSB(FB) werden Parameter geschrieben und mit FB_CXGetTextDisplayUSB(FB) werden die Statuswerte aus dem Baustein gelesen. Eine ausführliche Dokumentation der Bausteine befindet sich in der TwinCAT-Softwaredokumentation. Die beiden Screenshots zeigen die zugehörigen Bibliotheken für die Bausteine.


![]() | Verfügbarkeit der Bausteine Diese Funktionsbausteine sind im TwinCAT Builds ab der Version TC2.11 R3 Build 2240 enthalten. Bei älteren Versionen ist ein Update für den Einsatz der Bausteine erforderlich. |
Die Darstellung des Displays mit Systemmanager
Im Systemmanager gib es sechs Karteireiter. Diese werden im Folgenden kurz beschrieben. Es wird dabei der Fokus auf die für das Netzteil relevanten Parameter gelegt
Karteireiter: General
Hier werden allgemeine Eigenschaften des Netzteils angezeigt.

Name | Name des EtherCAT-Geräts |
Id | Laufende Nr. des EtherCAT-Geräts |
Typ | Typ des EtherCAT-Geräts |
Kommentar | Hier können Sie einen Kommentar (z.B. zum Anlagenteil) hinzufügen. |
Disabled | Hier können Sie das EtherCAT-Gerät deaktivieren. |
Karteireiter: ESB Device
Hier werden die Einstellungen zum Datenaustausch zwischen Netzteil und dem System eingestellt bzw. angezeigt.

ESB Id | Laufende Nummer der Geräte am BUS |
Device Handle | Zeiger auf den Gerätetreiber |
Data Exchange | Zyklus in dem die Kommunikation erfolgt |
ADS | Portadresse für ADS Zugriff |
Karteireiter: ADS Commands
Hier wird der Bereich für die ADS-Kommunikation angezeigt.

Karteireiter: CoE Online

CoE-Interface - Parameterverwaltung im EtherCAT System
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, Motoren, 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 24V-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 4120: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 Systemmanager lauten:
Die Indexnummern werden im Profil festgelegt, sie beginnen bei EtherCAT deshalb bei x1000, 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 Slaves aus. Die xml-Dateien können auf der Beckhoff-Website im Downloadfinder bezogen werden.
Der TwinCAT Systemmanager 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 Systemmanager, Karteireiter CoE-Online zu sehen | ist ein rotes Offline im TwinCAT Systemmanager, 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
- x1000: hier sind feste Identitäts-Information zum Gerät hinterlegt wie Name, Hersteller, Seriennummer etc. Außerdem liegen hier Angaben über die aktuellen und verfügbaren Prozessdatenkonstellationen.
- x8000: 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
- x4000: hier liegen in manchen EtherCAT-Geräte alternativ zum x8000-Bereich die Kanalparameter.
- x6000: hier liegen die Eingangs-PDO ("Eingang" aus Sicht des EtherCAT-Masters)
- x7000: 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..10V 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 Indizes mit jeweils 255 Subindizes ausreichend. Deshalb ist die kanalweise Ordnung in 16dez/10hex-Schritten eingerichtet. Am Beispiel des Parameterbereichs x8000 sieht man dies deutlich:
Kanal 0: Parameterbereich x8000:00 ... x800F:255
Kanal 1: Parameterbereich x8010:00 ... x801F:255
Kanal 2: Parameterbereich x8020:00 ... x802F:255
tbc...
Allgemein wird dies geschrieben als x80n0.
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 Systemmanager (Abb. 3) 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 Systemmanager 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. |
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. Beim Klick auf den Eintrag 8000: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.
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. Andere Hersteller können dies anders handhaben. Wenn EtherCAT Slaves verwendet werden, die lokal CoE-Wert nicht dauerhaft speichern können, ist zwingend die StartUp-Liste zu verwenden. |
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.
Karteireiter: Online
Hier wird der Zustandsautomat der EtherCAT-Kommunikation angezeigt. Es kann hier auch in einen anderen Zustand geschaltet werden. Dies geschieht durch Anwählen des gewünschten Zustands per Mausklick auf den entsprechenden Knopf. In Folgenden werden die einzelnen Zustände kurz beschrieben. Für weitere Informationen schauen Sie bitte in die EtherCAT-Systembeschreibung auf unsere Webseite.

EtherCAT State Machine
Über die EtherCAT State Machine (ESM) wird der Zustand des EtherCAT-Slaves gesteuert. Je nach Zustand sind unterschiedliche Funktionen im EtherCAT-Slave zugänglich bzw. ausführbar. Insbesondere während des Hochlaufs des Slaves müssen in jedem State spezifische Kommandos vom EtherCAT Master zum Gerät gesendet werden.
Es werden folgende Zustände unterschieden:
- Init
- Pre-Operational
- Safe-Operational und
- Operational
- Boot
Regulärer Zustand eines jeden EtherCAT Slaves nach dem Hochlauf ist der Status OP.

Init
Nach dem Einschalten befindet sich der EtherCAT-Slave im Zustand Init . Dort ist weder Mailbox- noch Prozessdatenkommunikation möglich. Der EtherCAT-Master initialisiert die Sync-Manager-Kanäle 0 und 1 für die Mailbox-Kommunikation.
Pre-Operational (Pre-Op)
Beim Übergang von Init nach Pre-Op prüft der EtherCAT-Slave, ob die Mailbox korrekt initialisiert wurde.Im Zustand Pre-Op ist Mailbox-Kommunikation aber keine Prozessdaten-Kommunikation möglich. Der EtherCAT-Master initialisiert die Sync-Manager-Kanäle für Prozessdaten (ab Sync-Manager-Kanal 2), die FMMU-Kanäle und falls der Slave ein konfigurierbares Mapping unterstützt das PDO-Mapping oder das Sync-Manager-PDO-Assignement. Weiterhin werden in diesem Zustand die Einstellungen für die Prozessdatenübertragung sowie ggf. noch klemmenspezifische Parameter übertragen, die von den Defaulteinstellungen abweichen.
Safe-Operational (Safe-Op)
Beim Übergang von Pre-Op nach Safe-Op prüft der EtherCAT-Slave, ob die Sync-Manager-Kanäle für die Prozessdatenkommunikation sowie ggf. ob die Einstellungen für die Distributed-Clocks korrekt sind. Bevor er den Zustandswechsel quittiert, kopiert der EtherCAT-Slave aktuelle Inputdaten in die entsprechenden DP-RAM-Bereiche des EtherCAT-Slave-Controllers (ECSC).
Im Zustand Safe-Op ist Mailbox- und Prozessdaten-Kommunikation möglich, allerdings hält der Slave seine Ausgänge im sicheren Zustand und gibt sie noch nicht aus. Die Inputdaten werden aber bereits zyklisch aktualisiert.
Operational (Op)
Bevor der EtherCAT-Master den EtherCAT-Slave von Safe-Op nach Op schaltet muss er bereits gültige Outputdaten übertragen.Im Zustand Op kopiert der Slave die Ausgangsdaten des Masters auf seine Ausgänge. Es ist Prozessdaten- und Mailbox-Kommunikation möglich.
Boot
Im Zustand Boot kann ein Update der Slave-Firmware vorgenommen werden. Der Zustand Boot ist nur über den Zustand Init zu erreichen.Im Zustand Boot ist Mailbox-Kommunikation über das Protokoll File-Access over EtherCAT (FoE) möglich, aber keine andere Mailbox-Kommunikation und keine Prozessdaten-Kommunikation.