Hinweise zur Inbetriebnahme
Hinweis | |
Grundlegende Informationen zur externen TwinCAT-Synchronisierung Die EL6688 ist ein EtherCAT Slave zur Zeitsynchronisierung. Bitte die Erläuterungen in der EtherCAT System Dokumentation ab Kapitel „EtherCAT Synchronisierung“ beachten. |
Schnellstart als Slave Clock
(Punkt 3 optional – StartUp-Liste für den Austauschfall)
1. Konfiguration in TwinCAT erzeugen: Rechtsklick auf EtherCAT-Devices und „Boxen scannen“ oder Konfiguration manuell anlegen
2. CoE-Einstellungen der EL6688 vornehmen (im PreOP - siehe Hinweis)
- PTP Common (0xF880:01) auf „IEEE1588-2008 (PTPv2) – Slave Only Clock“ setzen (entspricht 32dez)
- PTPv2 Settings (0xF882) Einstellungen wie im PTP Master (Grandmaster) einstellen (siehe Gegenseitige Einstellungen)
- Ethernet Settings (0xF8E0): gültige IP-Adresse und Subnetzmaske eintragen
- Abschließend sind Änderungen durch das Beschreiben von Index 0x1010 mit „0x65766173“ permanent zu speichern (siehe Hinweis)
3. CoE-Einstellungen zur StartUp-Liste hinzufügen (für den Austauschfall)
Besonderheiten bzw. Hochlauf-Verhalten Wird im Austauschfall eine neue Klemme 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-Liste des Slaves zu verankern, die bei jedem Start des EtherCAT-Feldbus im Übergang PreOP/SafeOP oder SafeOP/OP zum Slave gesendet wird. So wird auch ein im Austauschfall ein neuer EtherCAT Slave automatisch mit den Vorgaben des Anwenders parametriert. Bei der EL6688 ist zu beachten: Sofort beim Hochlauf der Klemme wird die PTP Clock mit den im CoE gespeicherten Parametern gestartet, also bereits im State INIT. Eine Veränderung der PTP-Einstellungen im CoE z. B. durch die StartUp-Liste im späteren PreOp/SafeOP wird erst beim nächsten/folgenden Start aus INIT wirksam, da die PTP-Clock nicht während des Betriebs verändert werden kann. Nach Veränderung der PTP-Einstellungen muss also die Klemme einmal den INIT-State durchfahren, z. B. durch Neustart von EtherCAT, PowerOn/Off der Klemme oder State Änderung aus der PLC. Das gilt auch für den Sonderfall der ersten Inbetriebnahme mit Werkseinstellungen oder nach Änderungen der PTP-Einstellungen: erst beim folgenden Hochlauf nach INIT arbeitet die PTP Clock wie beabsichtigt. |
4. EtherCAT-Master Einstellungen prüfen
- a) Master Einstellungen → Info Daten: enable "Include DC Time Offsets"
- b) Distributed Clocks → DC Mode: DC in use -> DC Time controlled by External Sync Device (External Mode) - dadurch wird dieses TwinCAT-System nun zum “Zeit-Slave” und folgt der externen PTP-Zeit
5. Falls noch nicht geschehen, Task anlegen und mit EtherCAT verknüpfen
z. B. Zykluszeit: 1 ms, ggf. mit Autostart:
6. Kontrollieren Sie, dass die EL6688 spätestens ab jetzt über den X1-Port (RJ45) mit dem Grandmaster verbunden ist.
7. TwinCAT Konfiguration aktivieren und TwinCAT in RUN-Mode starten
8. Diagnose über PTP Diag (0xFA80)
- „PTP State“ sollte nach 10-15 Sekunden von „LISTENING“ zu „SLAVE“ wechseln
- „Sync Event Sequence Counter“ sollte entsprechend des Sync-Intervals des Grandmaster hochzählen
9. Diagnose über FB_EcExtSyncCheck (TC2) bzw. FB_EcExtSyncCheck64 (TC3)
- „Offset From Master“ sollte sich nun einschwingen und entsprechend der verwendeten Hardware und deren Genauigkeit (typ. kleiner ±1000 ns = 1 µs) gegen „0“ laufen
- Dazu kann das folgende Beispielprogramm verwendet werden.
Beispielprogramm Download
Weitere Hinweise siehe Kapitel "Antworten auf häufig gestellte Fragen"
Allgemeine Hinweise
Änderung der Einstellungen Werden CoE-Einstellungen in der EL6688 geändert ist stets wie folgt vorzugehen: |
- Zykluszeit EtherCAT: 1 ms empfohlen, je langsamer die Zykluszeit, desto ungenauer wird die Synchronisierung
- Aufgrund des BMCA benötigt die EL6688 mehrere Sekunden, bis sie auswertbare Daten liefert. Nach dem Uhrenhochlauf wird ca. 10 Sekunden auf dem Bus mitgehört, um evtl. vorhandene Grandmaster zu finden. Sobald die Toggle-Bits in den Prozessdaten arbeiten, ist die EL6688 betriebsbereit.
- Synchronisationsgenauigkeit: Mit der EL6688 können in Abhängigkeit von der verwendeten Hardware typ. Genauigkeiten von bis zu ±350 ns erreicht werden.
Je kürzer das Sync Intervall gewählt wird, desto besser ist die Synchronisationsgenauigkeit und das Einregeln nach dem TwinCAT Start. - Grundsätzlich zur Zeit-Synchronisierungsrichtung EL6688 (Slave) → TwinCAT:
In dieser Betriebsart empfängt die EL6688 die PTP-Frames und arbeitet selbst als PTP-Slave-Clock. Im TwinCAT-/EtherCAT-System arbeitet sie als externe ReferenceClock, nicht jedoch notwendigerweise gleichzeitig als EtherCAT-ReferenceClock. Die Weiterleitung der Zeitregelung obliegt dem eingesetzten EtherCAT-Master (TwinCAT). Damit ist der Regelungsablauf wie folgt: - Der Prozessor der EL6688 empfängt mehrmals je Sekunde die PTP-Frames. In dem Frame steckt der sog. ExternalTimestamp ggf. mit Korrekturinformationen.
Im gleichen Moment, in dem der Prozessor einen PTP-Frame empfängt, liest er aus der lokalen EtherCAT DistributedClock im ESC die DC-Zeit, den InternalTimestamp aus.
Somit bilden sich fortlaufend Pärchen aus Internal- und ExternalTimestamp, aus denen der Nachregelbedarf abgeleitet werden kann. - Diese Pärchen werden nicht in der EL6688 verarbeitet, sondern als zyklische Prozessdaten an den EtherCAT Master (TwinCAT) übermittelt.
- Dieser wertet nach eigenem Ermessen/Fähigkeit diese Pärchen aus und
- regelt ggf. seine eigene Echtzeit nach, die das Versenden der EtherCAT-Frames kontrolliert.
- stellt die DC-ReferenceClock nach, die üblicherweise im ersten DC-fähigem EtherCAT slave realisiert ist. Damit folgt das DistributedClock-System der externen PTP-MasterClock. In der Folge wiederum verteilt das zyklische ARMW-Kommando des EtherCAT-Masters diese „DC Reference“ Zeit an untergeordnete DC-Slaves weiter hinten im EtherCAT-Strang. - Die Wirkungskette stellt sich also wie folgt dar: Externe PTP-MasterClock → EL6688 als PTP-SlaveClock → Internal-/External-Timestamp als PDO zum EtherCAT-Master → Nachregeln der internen Echtzeit und Nachregeln der DC-ReferenceClock.
Die Position der EL6688 im EtherCAT-Strang ist somit unerheblich für die Zeitregelung, die EL6688 hat selbst keine Wirkmöglichkeit auf ihre eigene DistributedClock. - Verfahren 1-Step/2-Step bei PTP v1/v2: es ist diesbezüglich keine Einstellung möglich.
- EL6688 als Master: nur 2-Step möglich, also mit Follow-Up-Nachricht
Gegen 2-Step Slave: möglich
Gegen 1-Step Slave: hängt ausschließlich vom Slave selbst und dazwischengeschalteter Netzwerk-Infrastruktur (Switch, Boundary clock…) ab. Der Slave und die Infrastruktur müssen das 2-Step-Flag auswerten können und mit den 2-Step Sync- und FollowUp Messages des Grandmasters zurechtkommen - EL6688 als slave
Gegen 2-Step Master: möglich
Gegen 1-Step Master: möglich
Prozessdaten
Sync Mode | 0: no synchronization |
Control Value Update Toggle | only for SYNC slave. toggles every time when the control value was updated |
Time Stamp Update Toggle | only for SYNC slave. toggles every time when the control value was updated |
External device not connected | TRUE: no external synchronization found (always TRUE if device operates as SYNC master) |
Internal Time Stamp | only for SYNC slave. DC time stamp at the same time as the external time stamp |
External Time Stamp | only for SYNC slave. external time stamp recalculated in DC units (ns) |
Time Control Value | Dieser Wert wird von TwinCAT nicht verwendet. |
Default Zustand
- PTPv1 Slave (Index 0xF880:01)
- SyncInterval (Index 0xF881:03): 2 Sekunden
- DomainName (Index 0xF881:01): _DFLT
- eigene IP: 0.0.0.0
- eigene MAC: 00.01.05.xx.xx.xx (Beckhoff)
Unterstützte PTP-Betriebsarten
Betriebsart |
Anmerkung |
---|---|
PTPv1 SlaveOnly |
ab SW02 |
PTPv1 Grandmaster |
ab SW03 |
PTPv1 Best Master Clock |
auf Anfrage |
PTPv2 SlaveOnly |
ab SW03 |
PTPv2 Grandmaster |
ab SW07 |
PTPv2 Best Master Clock |
auf Anfrage |
Gegenseitige Einstellungen
Je nach verwendetem Protokoll müssen bei der Grandmasterclock und Slaveclock(s) die folgenden Einstellungen übereinstimmen. Zur Einstellung in der EL6688 siehe das CoE-Verzeichnis ab Index 0xF880. Änderungen sind durch das Beschreiben von Index 0x1010:01 mit 0x65766173 permanent zu speichern.
- PTPv1
- DomainName
- SyncInterval
- Delay Request Interval - PTPv2
- TransportLayer
- DomainNumber
- DelayMechanismus (disabled, End2End, Peer2Peer [ab FW10])
- SyncInterval
- Delay Request Interval
Güteeinstellungen
Zur Einstellung in der EL6688 siehe das CoE-Verzeichnis ab Index 0xF880. Änderungen sind durch das Beschreiben von Index 0x1010:01 mit 0x65766173 permanent zu speichern.
- PTPv1
"Clock Stratum": je kleiner dieser Wert, desto bessere Güte bescheinigt sich der Master
"Preferred": dieses Flag zeigt an, dass diese Clock bevorzugt als Master verwendet werden soll
Beide Wert beeinflussen den BMCA im Netzwerk. - PTPv2
Priority1+2 entsprechen in etwa Stratum+Preferred
TwinCAT Einstellungen
Einstellungen Distributed Clocks (DC) Timing
Es wird empfohlen, durch "DC in use" manuell die EL6688 als Referenzclock auszuwählen.
- Independent DC Time: eine der EL Klemmen (üblicherweise die erste DC-unterstützende) ist die Referenzclock, alle anderen DC-Klemmen werden dieser nachgeregelt. Auch eine im System vorhandene EL6688 wird dieser Referenzclock als DC-Slave nachgeregelt. Auswahl der Referenzclock im Dialog darüber.
Diese Einstellung ist sinnvoll, wenn die EL6688 als PTP-Grandmasterclock betrieben wird und ein anderes EtherCAT-System synchronisiert werden soll. - DC Time controlled by TwinCAT: die DC-Referenzclock wird der lokalen TwinCAT-Zeit nachgeregelt.
- DC Time controlled by External Sync Device: wenn das EtherCAT-System einer übergeordneten Uhr nachgeregelt werden soll, kann hier das External Sync Device ausgewählt werden.
Diese Einstellung ist sinnvoll, wenn die EL6688 als PTP-Slaveclock betrieben wird und ein anderes EtherCAT-System das eigene synchronisieren soll.
Verhalten TwinCAT
Nach dem EtherCAT-Hochlauf benötigt die EL6688 einige Sekunden, bis sie für die Synchronisierung Daten liefert. Dies ist an toggelnden Bits in den Prozessdaten zu erkennen. Bis zur endgültigen Einsynchronisation können je nach Umgebung nochmals einige Sekunden verstreichen.
Betrieb der EL6688 als PTPv1 Master
Das SyncInterval der gesendeten SyncTelegramme kann verändert werden, default: 2 sek.
Ein Stratum = 0 wird automatisch eingestellt, damit wird diese Clock als Grandmaster im Netzwerk erzwungen.
Beim Betrieb als Master meldet die EL6688 in den Prozessdaten "External device not connected"
Betrieb der EL6688 als PTPv2 Master
Das SyncInterval sowie das AnnounceInterval der gesendeten Sync- bzw. Announce-Telegramme kann verändert werden, default: Sync = 1 sek., Announce = 2 sek.
Der Masterbetrieb kann durch setzen von Priority1 = 1 und Priority2 = 1 als Grandmaster im Netzwerk erzwungen werden.
Beim Betrieb als Master meldet die EL6688 in den Prozessdaten "External device not connected"
Betrieb der EL6688 als PTPv1 Slave
Ein Stratum = 255 wird eingestellt, damit wird diese Clock nie als Grandmaster im Netzwerk verwendet werden.
Eigene IP-Adresse: es kann der EL6688 eine eigene IP-Adresse vergeben werden, unter der sie u. a. ihre DelayRequest-Messages absendet. Diese kann auch zum zur ping-Kontrolle verwendet werden. Soweit das eingestellte Delay Request Interval ungleich „disabled“ ist, dann ist eine IP-Adresse ≠ 0 in zwingend erforderlich.
Betrieb der EL6688 als PTPv2 Slave
Der Slavebetrieb kann durch setzen von Priority1 = 255 und Priority2 = 255 erzwungen werden, damit wird diese Clock nie als Grandmaster im Netzwerk verwendet werden.
Eigene IP-Adresse: es kann der EL6688 eine eigene IP-Adresse vergeben werden, unter der sie u. a. ihre (P)DelayRequest-Messages absendet. Diese kann auch zur ping-Kontrolle verwendet werden. PTPv2 definiert zwei verschiedene Transport Layer:
Layer 2 „PTP over ETHERNET“: IP-Adresse ≠ 0 ist nicht erforderlich für DelayMechanism (nur relevant für Ping-Kontrolle)
Layer 3 „PTP over UDP“: IP-Adresse ≠ 0 ist erforderlich für DelayMechanism (E2E oder P2P) und Ping-Kontrolle