Technische Einführung
TwinCAT stellt sowohl auf Seite des External Time Provider wie auch des External Time Consumer unterschiedliche Schnittstellen bereit, um das Konzept der korrigierten Zeitstempel nutzbar zu machen.
Auf External Time Consumer-Seite sind unterschiedliche TwinCAT Komponenten in der Lage den externen Zeitstempel zu verwenden. Zusätzlich gibt es auch für Anwendungen unterschiedliche Zugriffsmöglichkeiten.
Auf External Time Provider-Seite werden Module bereitgestellt, die per NTP einen Offset berechnen und bereitstellen können. Zusätzlich gibt es ein Modul, welches per DC den Offset verwenden kann. Die entsprechende Schnittstelle zur Bereitstellung des Offsets wird für TwinCAT C++ ebenfalls angeboten, sodass eigene External Time Provider erstellt werden können.
Zeitstempel für unterschiedliche Anwendungsfälle
Wichtig ist hierbei, dass TwinCAT vier Typen von Zeitstempeln in diesem Konzept unterscheidet:
- None: Lokale Systemzeit und keine Korrektur
- Soft: Empfohlene Verwendung z. B. für NTP
- Medium: Empfohlene Verwendung z. B. für IEEE1588
- Hard: Empfohlene Verwendung z. B. für Hardware-Synchronisierung, bei der kein Drift entstehen sollte
Ein External Time Provider stellt einen der möglichen Offsets bereit, es lässt sich nur ein Provider pro Typ definieren.
Ein External Time Consumer kann dann beliebigen Offset verwenden, es lassen sich alle vier Typen von Offset individuell verwenden. So ist es in unterschiedlichen Kompleten oder Betriebsarten möglich, unterschiedliche Zeitstempel zu verwenden. Beispielsweise kann eine lokale Diagnose auch mit der lokalen Systemzeit erfolgen, während gleichzeitig etwa aggregierte Daten von unterschiedlichen Systemen mit dem Offset vom Typ „Soft“ korrigiert und in einer gemeinsamen Datenbank abgelegt werden.
Die Schnittstellen der korrigierten Zeitstempel verwenden Datentypen mit der Länge 8 Byte und werden vom 1.1.1601 in 100ns gezählt.