Grundlagen zur Funktion und Inbetriebnahme
Die EL6692 wird zum Datenaustausch zwischen 2 EtherCAT-Kreisen verwendet. Es können vordefinierte Prozessdaten von einer Feldbusseite auf die andere kopiert werden. Dabei informieren Statusvariablen über ausbleibende Daten und den Status der Gegenseite.
Wird in beiden EtherCAT-Kreisen Distributed Clocks verwendet, kann die EL6692 auch zur Synchronisierung der beiden Zeitbasen verwendet werden. Dazu ist zu definieren, welche Seite die höherpriore Reference Clock enthält. Die EL6692 übermittelt dann dem untergeordneten EtherCAT-Master einen Korrekturwert für dessen Reference Clock.
Weitere Informationen zur Funktionsweise und Einsatz der Distributed Clocks siehe die entsprechende Dokumentation unter www.beckhoff.com.
Die EL6692 besteht aus 2 EtherCAT-Slaves in einem Gehäuse: der EL6692 auf der Primärseite (Klemmenbus) und der EL6692-0002 auf der Sekundärseite mit Netzwerkkabelanschluss. Beide Slaves sind durch eigene Spannungsversorgungen unabhängig funktionsfähig - die Primärseite wird mit 5 V aus dem E-Bus versorgt, die Sekundärseite mit 24 V aus dem externen Anschluss.
Der Datentransport in der EL6692 wird von einem Microcontroller durchgeführt, der die Daten in beiden Richtungen freilaufend austauscht. Die Zeit für den Transport von einer Seite zur anderen ist abhängig von der Anzahl der Bytes. Die einstellbare Betriebsart "DC-Synchron" betrifft nicht den Prozessdatenaustausch, sondern nur den Einsatz der EL6692 als Distributed Clocks Synchronisierung. Es findet durch die EL6692 keine Flusskontrolle statt - der Anwender hat durch geeignete Programmierung dafür Sorge zu tragen, daß die EL6692 nicht schneller mit Daten versorgt wird als sie verarbeiten kann, z. B. indem ein übergeordneter Handshake zum Einsatz kommt. Ansonsten sind die u.a. Grenzwerte einzuhalten.
Die EL6692 unterstützt EoE, Ethernet over EtherCAT. Das bedeutet, nicht nur zyklische Prozessdaten können von einer EtherCAT-Seite auf die gegenüberliegende transportiert werden, sondern auch Standard-Ethernet-Frames die per Mailbox-Kommunikation zur EL6692 gelangen. Da TwinCAT mit der angeschlossenen EtherCAT-Umgebung als virtuelle Netzwerkkarte auftritt, übernimmt Windows das Routing von IP-Frames (z. B: 192.168.2.1) zur EL6692, um die Frames in den gegenüberliegenden EtherCAT-System zu transportieren. Grundlagen siehe Dokumentation zur EL6601/EL6614. Eine Konfiguration der EL6692 ist dazu nicht nötig.
![]() | Unterstützung EL6692 im Beckhoff TwinCAT Eine volle Unterstützung für die Distributed Clocks Synchronisation mit der EL6692 ist erst ab TwinCAT-Versionen 2.11 gegeben. In früheren Versionen kann nur der Prozessdatenaustausch genutzt werden. |
Anwendungshinweise EL6692 Primärseite
Der Default-Zustand der EL6692 nach dem Einlesen/Erstellen ist
- DC-Unterstützung aus - FreeRun
- keine Prozessdatenvariablen vorkonfiguriert
- keine Distributed Clocks Informationsdaten, s. Reiter Process Data in Abb. Default Prozessabbild der EL6692.
![Grundlagen zur Funktion und Inbetriebnahme 2:](Images/png/2460359819__Web.png)
Nach Bedarf müssen nun auf der Primärseite die zu übertragenden Prozessdaten angelegt werden. Durch einen Rechtsklick auf "IO Inputs" bzw. "IO Outputs" öffnet sich der Dialog aus Abb. Anfügen von Prozessdatenvariablen.
![Grundlagen zur Funktion und Inbetriebnahme 3:](Images/gif/2460362251__Web.gif)
Im Vollausbau mit aktiviertem PDO 0x1A02 bietet die EL6692 die Diagnoseprozessdaten aus Abb. Voller Umfang an Diagnoseprozessdaten an.
![Grundlagen zur Funktion und Inbetriebnahme 4:](Images/gif/2460364683__Web.gif)
- SyncMode: Information über den Synchronisierungszustand. 0 = keine Synchronisierung, 1 = Sekundärseite ist Sync Master, 2 = Primärseite ist Sync Master.
- TxPDO toggle: Bit toggelt, wenn ein neuer Satz Prozessdaten von der Gegenseite angeliefert wurde, der noch nicht von der Empfängerseite abgeholt wurde. Auch der Betrieb mit EtherCAT-Zykluszeiten größer als der Transportzeit durch die EL6692 ist so möglich.
- TxPDO state: >0 wenn die Gegenseite nicht im OP-State ist.
- Timestamp update toggle: Bit toggelt, wenn neue DC-Daten angeliefert wurden.
- External device not connected: 1 = Gegenseite ist nicht mit ihrem EtherCAT-Feldbus verbunden.
- Internal time stamp: Distributed Clocks Zeit auf der aktuellen Seite (primär oder sekundär).
- External time stamp: Distributed Clocks Zeit auf der gegenüberliegenden Seite (primär oder sekundär).
- Control Value for DC Master Clock: Offset zur Korrektur der niederprioren Reference Clock.
Anwendungshinweise EL6692-0002 Sekundärseite
Der Default-Zustand der EL6692 nach dem Einlesen/Erstellen ist
![Grundlagen zur Funktion und Inbetriebnahme 5:](Images/gif/2460367115__Web.gif)
Im Vollausbau biete die EL6692-0002 folgende Variablen an:
![Grundlagen zur Funktion und Inbetriebnahme 6:](Images/gif/2460369547__Web.gif)
- SyncMode: Information über den Synchronisierungszustand. 0 = keine Synchronisierung, 1 = Sekundärseite ist Sync Master, 2 = Primärseite ist Sync Master.
- TxPDO toggle: Bit toggelt, wenn ein neuer Satz Prozessdaten von der Gegenseite angeliefert wurde, der noch nicht von der Empfängerseite abgeholt wurde. Auch der Betrieb mit EtherCAT-Zykluszeiten größer als der Transportzeit durch die EL6692 ist so möglich.
- TxPDO state: >0 wenn die Gegenseite nicht im OP-State ist.
- Control Value update toggle: Bit toggelt wenn ein neuer Control Value bereitsteht.
- Timestamp update toggle: Bit toggelt, wenn neue DC-Daten angeliefert wurden.
- External device not connected: 1 = Gegenseite ist nicht mit ihrem EtherCAT-Feldbus verbunden.
- Internal time stamp: Distributed Clocks Zeit auf der aktuellen Seite (primär oder sekundär).
- External time stamp: Distributed Clocks Zeit auf der gegenüberliegenden Seite (primär oder sekundär).
- Control Value for DC Master Clock: Offset zur Korrektur der niederprioren Reference Clock.
Deklaration der Prozessdaten auf der Sekundärseite
Genauso wie auf der Primärseite (s. Abb Anfügen von Prozessdatenvariablen) können auch auf der Sekundärseite die Prozessdaten manuell angelegt werden. Dabei muß die Reihenfolge und Bitgröße auf der Sekundärseite mit der definierten Primärseite übereinstimmen.
Alternativ dazu besteht ab TwinCAT 2.10 Build 1329 die Option, die Primärseitige Konfiguration in die EL6692 zu laden und auf der Sekundärseite wieder auszulesen. Dazu ist eine entsprechende Unterstützung im TwinCAT System Manager erforderlich und beide EtherCAT-Seiten müssen online zugänglich sein. So wird die manuelle Konfiguration der Sekundärseite vermieden, s. Abb. "Create configuration" auf der Primärseite und "Get configuration" auf der Sekundärseite.
![]() | Prozessdatendeklaration bei Verwendung von älteren TwinCAT 2.10 Versionen Build 1325 bis Build 1329: |
Der Ablauf ist wie folgt:
- Definieren Sie die gewünschten Prozessdaten auf der Primärseite, s. Abb. Anfügen von Prozessdatenvariablen.
Hinweise: - max. 480 Byte je Datenrichtung.
- keine Strukturen, nur Standarddatentypen erlaubt.
- Führen Sie "Create Configuration" auf der Primärseite aus, die Tabelle wird erzeugt, s. Abb. "Create configuration" auf der Primärseite.
- Führen Sie einen Reload auf der Primärseite aus oder starten Sie die Konfiguration im Config-Modus neu, denn um die definierten Prozessdaten auf die Sekundärseite zu übernehmen, müssen beide Seiten einmal durch den INIT-State zum PREOP-State gegangen sein.
![Grundlagen zur Funktion und Inbetriebnahme 8:](Images/gif/2460371979__Web.gif)
Die Fehlermeldung "Invalid SM In cfg" oder "Invalid SM Out cfg" wird im Loggerfenster ausgegeben.
Wenn beide EtherCAT-Seiten der EL6692 dann mindestens im State PRE-OP sind, kann die Sekundärseite ausgelesen werden.
- Führen Sie auf der Sekundärseite "Get configuration" aus, s. Abb. "Get configuration" auf der Sekundärseite. Die auf der Primärseite konfigurierten Prozessdaten werden entsprechend im Konfigurationsbaum erzeugt.
![Grundlagen zur Funktion und Inbetriebnahme 9:](Images/gif/2460374411__Web.gif)
![Grundlagen zur Funktion und Inbetriebnahme 10:](Images/gif/2460376843__Web.gif)
Zum Speichern der Prozessdatenkonfiguration in der EL6692 werden die CoE-Verzeichnisse der beiden Hälften der EL6692 benutzt. Deshalb sind Typen und Komplexität der definierbaren Prozessdaten beschränkt. Werden beim Vorgang "Create Configuration" die Hinweise aus Abb. "Get configuration" auf der Sekundärseite angezeigt, ist die Sekundärseite auf richtige Übertragung der Konfiguration zu kontrollieren. Ggf. muss die Primärkonfiguration geändert werden, wenn beim "Get Configuration" der in Abb. Warnhinweis bei Verwendung komplexer Datentypen gezeigte Hinweis erscheint.
![Grundlagen zur Funktion und Inbetriebnahme 11:](Images/png/2460381707__Web.png)
![Grundlagen zur Funktion und Inbetriebnahme 12:](Images/gif/2460384139__Web.gif)
Anwendungshinweise
Prozessdaten
Folgendes ist in Bezug auf die EL6692-Prozessdaten zu beachten:
- Datenmenge
es können max. 480 Byte in jeder Richtung übertragen werden. - Anzahl Variablen
es sollten nicht mehr als 59 Variablen je Seite (primär/sekundär) und Datenrichtung (Input/Output) konfiguriert werden. Insgesamt können als 4* 59 = 236 Variablen zyklisch übertragen werden. - Alignment
Die Reihenfolge der Variabeln beider Datenseiten muss übereinstimmen. Außerdem ist ein 2-Byte-Alignment einzuhalten. Beim Create/GetConfiguration wird dies automatisch angelegt.
![Grundlagen zur Funktion und Inbetriebnahme 13:](Images/png/2460386571__Web.png)
Diagnose
Meldung
![Grundlagen zur Funktion und Inbetriebnahme 14:](Images/png/2460389003__Web.png)
Lösung
Variablen-Alignment nicht eingehalten, Sekundärseite passt nicht zur Primärseite
→ mit Create/GetConfiguration die Variablenkonfiguration online auf die Sekundärseite übertragen
Meldung
![Grundlagen zur Funktion und Inbetriebnahme 15:](Images/png/2460391435__Web.png)
Lösung
mehr als 59 Variablen angelegt, ADS-Logger-Meldung beim Hochlauf, Datenübertragung im OP-state u.U. möglich
→ weniger Variablen verwenden ODER
→ die PDO-Configuration nicht herunterladen (dann sind zwar bis 255 Variablen ohne Fehlermeldung möglich, dies sollte aber nicht benutzt werden)
![Grundlagen zur Funktion und Inbetriebnahme 16:](Images/png/2460393867__Web.png)
Betrieb ohne Primärseite
Der zentrale Controller der EL669x wird von der Primärseite mit Spannung versorgt. Wird die EL669x ohne Primärspannung von der Sekundärseite gestartet, kann die Sekundärseite deshalb nicht aus dem INIT gebracht werden. Entsprechend wenn beide Seiten in Betrieb/OP waren, ist nach einem Spannungsausfall auf der Primärseite keine reguläre Statusänderung auf der Sekundärseite mehr möglich, die Sekundärseite beantwortet entsprechende Anfragen mit ERROR.
Für einen automatischen Restart der sekundären Bridge-Seite sollten in diesem Fall Bausteine aus der TcEtherCAT.lib in der sekundärseitigen PLC verwendet werden. Die Default-Einstellung des System Managers „ReInit after ComError“ und „Auto Restore States“ sind in diesem Fall nicht ausreichend.
Die LED RUN SEC verhält sich entsprechend.
Betriebsart
Die EL6692-0002 kann mit und ohne Distributed Clocks Unterstützung betrieben werden. Wenn keine DC-Synchronisation benötigt, kann die DC-Unterstützung abgeschaltet und die Klemme damit im FreeRun-Mode betrieben werden. Die entsprechenden Diagnoseprozessdaten haben dann keine Bedeutung. Wird DC-Unterstützung gewünscht, muss dies auf Primär- und auf Sekundärseite aktiviert werden, s. Abb. Umschaltung Betriebsart. Die Betriebsart "DC-Synchron" wirkt sich nur auf den Betrieb der EL6692 bei Distributed Clocks Synchronisierung aus.
![Grundlagen zur Funktion und Inbetriebnahme 17:](Images/png/2460396299__Web.png)
![]() | Unterstützung Distributed Clocks EL6692 im Beckhoff TwinCAT Eine volle Unterstützung für die Distributed Clocks Synchronisation mit der EL6692 ist erst ab TwinCAT Versionen 2.10 Build 1340 gegeben. In früheren Versionen kann nur der Prozessdatenaustausch genutzt werden. |
Datentransport durch die EL6692
Um die konfigurierten Prozessdaten von einer EtherCAT-Seite zur anderen zu transportieren wird eine gewisse Zeit benötigt, die abhängig ist von der Anzahl der Bytes. Der Datentransport ist freilaufend und damit nicht synchronisiert mit einer der beiden EtherCAT-Seiten. Eine typische exemplarische Messung einer EL6692 mit FW01 zeigt folgende Werte:
![Grundlagen zur Funktion und Inbetriebnahme 19:](Images/png/2462144395__Web.png)
Es obliegt dem Benutzer, mit den zur Verfügung gestellten Diagnosevariablen der EL6692 oder einem übergeordneten Handshake sicherzustellen, dass bei kleinen EtherCAT-Zykluszeiten die EL6692 nicht schneller mit Daten beschickt wird, als sie zur anderen Seite transportieren kann.
Verknüpfung mit Prozessdatum SyncMode
Das Status-Prozessdatum "SyncMode" besteht aus 2 Bit. Es gibt in der IEC61131-PLC keinen Datentyp der mit diesem Prozessdatum 1:1 verlinkt werden kann. Dennoch wurde dieses Datum aus Gründen der Datenübertragungseffizienz so gewählt.
Zur Verlinkung muss in der Task/im Programm eine Eingangsvariable vom Typ Byte definiert werden, s. Abb. Definition Byte-Prozessdatum.
![Grundlagen zur Funktion und Inbetriebnahme 20:](Images/gif/2460398731__Web.gif)
Nach einem Doppelklick im System Manager auf SyncMode öffnet sich der Dialog aus Abb. Definition einer Variablen vom Typ Byte zum verlinken.
![Grundlagen zur Funktion und Inbetriebnahme 21:](Images/gif/2460401163__Web.gif)
Markieren Sie "All Types", damit Var109 zur Auswahl sichtbar wird. Ansonsten würden nur genau passende 2 Bit Prozessdaten angezeigt. Nun öffnet sich ein Dialog zur Festlegung des Offset, s. Abb. Offsetfestlegung. Bestätigen Sie den Vorschlag.
![Grundlagen zur Funktion und Inbetriebnahme 22:](Images/gif/2460403595__Web.gif)
Prozessdatenumfang
Die EL6692 kann maximal 480 Byte in jeder Richtung transportieren. Dies kann je Transportrichtung auch ein einzelnes, entsprechend großes Prozessdatum wie eine Struktur oder ein Array sein.
Deklaration von Bit-Prozessdaten
Ein Bit-Prozessdatum wird in der IEC61131-PLC nur dann auf einer Bit-Adresse angelegt, wenn es "allein" definiert wurde.
![Grundlagen zur Funktion und Inbetriebnahme 23:](Images/gif/2460406027__Web.gif)
In Abb. Bitwerte deklarieren werden "bBit 1" und "bBit2" als einzelne Bit-Prozessdaten angelegt und im Verknüpfungsdialog im System Manager als solche gewertet. Das Array abBitArray aus 10 Bits wird jedoch als 10 Bytes angelegt, da ein Array aus einzelnen Bits von der IEC61131-PLC nicht verwaltet werden kann!
Ebenso verhält sich die IEC61131-PLC bei Bit-Variablen in Strukturen.