Grundlagen
Verwendung der Beispielprogramme Dieses Dokument enthält exemplarische Anwendungen unserer Produkte für bestimmte Einsatzbereiche. Die hier dargestellten Anwendungshinweise beruhen auf den typischen Eigenschaften unserer Produkte und haben ausschließlich Beispielcharakter. Die mit diesem Dokument vermittelten Hinweise beziehen sich ausdrücklich nicht auf spezifische Anwendungsfälle, daher liegt es in der Verantwortung des Kunden zu prüfen und zu entscheiden, ob das Produkt für den Einsatz in einem bestimmten Anwendungsbereich geeignet ist. Wir übernehmen keine Gewährleistung, dass der in diesem Dokument enthaltene Quellcode vollständig und richtig ist. Wir behalten uns jederzeit eine Änderung der Inhalte dieses Dokuments vor und übernehmen keine Haftung für Irrtümer und fehlenden Angaben. |
TwinCAT Uhrenhierarchie
Im Betriebssystem CE ist eine andere Betriebssystemzeit verankert, deshalb wird auch dort der Einsatz der DC-Uhr empfohlen.
Grundlagen
Bei der externen Synchronisierung von TwinCAT bei Benutzung von EtherCAT-Komponenten wird auf der lokalen Steuerung eine Zeit bereitgestellt, die in ihrem Wert der übergeordneten Zeit entspricht. EtherCAT als Feldbus stellt dabei die nötigen Betriebsmittel zur Verfügung, insbesondere den EtherCAT eigenen Synchronisierungsmechanismus der Distributed Clocks. Es werden also
- auf der TwinCAT-Steuerung die EtherCAT-Slaves und der EtherCAT-Master in TwinCAT lokal synchronisiert, s. dazu vorangegangene Seiten.
- danach die Steuerung insgesamt als Slave-Clock mit seiner DC-Clock der übergeordneten Uhr nachgeregelt.
Dabei tritt folgender Ablauf ein:
- die Frequenzsynchronität beider Zeitbasen wird hergestellt
- der Offset zwischen beiden Zeitbasen wird ermittelt und bekanntgegeben
Folgendes ist zu beachten:
- Die Slave-Clock-Steuerung regelt nach dem TwinCAT-Start ihre Distributed-Clocks-Zeit der übergeordneten Zeit in der Frequenz nach:
- beim EtherCAT-Start wird der erstmalige Offset zwischen beiden Zeiten festgestellt.
- die nachfolgende Regelung hält diesen Offset konstant und gibt ihn bekannt.
- die Nachregelung wird kontinuierlich vollzogen.
- Für den Fall, dass die Synchronisierung aussetzt (Verbindung unterbrochen, Neustart eines der Systeme) ist das Verhalten wie folgt:
- setzt die Regelung in der Slave-Clock-Steuerung wieder ein, wird dort ein erneuter Offset berechnet und bekanntgegeben.
- die Applikation hat diesen Offset deshalb ständig zu beachten.
- Es wird ebenfalls ein neuer Offset berechnet, wenn die Regelungsgrenze von ± 1 Zykluszeit überschritten wird.
- Sowohl die BIOS-Uhr (Motherboard) als auch die Betriebssystemuhr (Windows) wird davon nicht berührt!
- Die TwinCAT-Uhr wird ebenfalls nicht verändert.
- Für Aufgaben in Bezug auf die jeweilige Stationshardware (EtherCAT-Slaves, Klemmen) muss weiterhin die lokale DC-Zeit verwendet werden.
- Wird in der Applikation außerdem die TwinCAT-Zeit verwendet, ist der TcToDc-Offset zwischen TwinCAT- und DC-Uhr zu berücksichtigen.
Verwendung der synchronisierten Uhrzeit In der nachgeregelten Station ist die "andere" Zeit aus dem Master-PC bekannt durch: Synchronisierte DC-Zeit = Lokale DC-Zeit + Offset Diese synchronisierte Zeit kann nun für Datalogging verwendet werden. Für Aufgaben in Bezug auf die jeweilige Stationshardware (EtherCAT Slaves, Klemmen) muss weiterhin die lokale DC-Zeit verwendet werden. |
Kaskadierung von synchronisierten TwinCAT-Systemen
Es wird davon abgeraten mehrere zeitsynchronisierte TwinCAT-Systeme zu kaskadieren. Eine einfache Kaskadierung tritt allerdings bereits dann auf, wenn ein TwinCAT-System durch externe Uhr z. B. gegen GPS geregelt ist und seine lokale Zeit wiederum über eine Bridgeklemme EL6692 an ein unterlagertes EtherCAT-System weitergibt.
Dann ist in den jeweils unterlagerten Systemen der jeweilige DcToExt-Offset der übergeordneten Systeme zu berücksichtigen!
Synchronisierte DC-Zeit = Lokale DC-Zeit + DcToExtOffsetlokal + Σ DcToExtOffsetübergeodnet
Die übergeordneten jeweiligen DcToExtOffset können durch Netzwerkvariablen, ADS, über die Bridgeklemme EL6692 oder beliebige andere Kanäle transportiert werden. Das unterlagerte System muss diese Offsets mit verrechnen.