Automatisierungstreff Zeitsynchronisierung in industriellem „switched“ Ethernet

Autor / Redakteur: Øyvind Holmeide,Tor Skeie / Reinhard Kluger

Die grundlegenden Prinzipien des SNTP/NTP-Internet-Zeitprotokolls und dessen Implementierung in einem Ethernet-Switch und einem von Ethernet aktivierten Endknoten zum Erhalt einer von der Netzwerklast unabhängigen Zeitgenauigkeit von unter einer Mikrosekunde (µs) ermöglichen den Ablauf industrieller Prozesse.

Anbieter zum Thema

In industriellen Automatisierungsanwendungen war der Einsatz von Ethernet-Netzwerken immer durch das Latenzzeit-Jitter bei der Übertragung der Datenpakete im Innern der Switches begrenzt. Je nach Netzwerklast, Größe des Datenpakets und Anzahl der Switches zwischen Server und Client erzeugt die Datenübertragung im Innern eines Ethernet-Switch ein Latenzzeit-Jitter von bis zu mehreren Millisekunden. Die zur Prozess-Automatisierung erforderliche präzise Datenauswertung wird hierdurch unmöglich gemacht (zum Beispiel zur Synchronisierung mehrerer Achsen in Montagemaschinen).

Die Antwort heißt: Hochpräzisions-Ethernet-Switches mit Zeitstempeln (time stamping). Hierdurch wird die zeitliche Zuordnung von Datenereignissen komplett und exakt gesichert. Komplizierte oder kritische industrielle Prozesse, in Echtzeit oder versetzt, können dann mit einem handelsüblichen SNTP-Ethernet-Protokoll verwaltet werden. Hierdurch werden bei industriellen Automatisierungsnetzwerken beträchtliche Kosteneinsparungen für Anwendungen wie Hochgeschwindigkeits-Datenerfassung, sehr schnelle mechanische Montagen oder Automatisierungen von Hoch- oder Mittelspannungs-Schaltstationen und Ähnlichem ermöglicht.

Die erzielbare Zeitgenauigkeit in einem auf „switched“ Ethernet basierenden lokalen Netzwerk, über das Daten zur zeitlichen Synchronisierung verteilt werden, hängt von zwei Faktoren ab:

  • den Zeitstempeln der ein- und ausgehenden Zeitpakete und
  • der variablen Netzwerk-Latenz.

Zu SNTP/NTP: Das SNTP- und das NTP-Protokoll sind gut gesicherte Lösungen zur Verteilung von Zeitdaten in einem IP-basierten Netzwerk. Sowohl die SNTP, als auch die NTP-Server verwenden 123 als ihre UDP-Portnummer. Der SNTP/NTP-Server enthält die Referenzuhr des Systems. Diese Uhr benutzt meist GPS, eine Funk-Zeitfrequenz oder eine freie interne Uhr als Zeitbasis.

Zu SNTP/NTP-Zeit-Aktualisierungen:

Eine SNTP/NTP-Server-Client-Implementierung basiert entweder auf einer einzeln (unicast) oder an mehrere Clients gleichzeitig (multicast) erfolgenden Übersendung der Zeitinformation.

Zu Einzeln übersendete Zeitaktualisierungen: Einzeln erfolgende Zeitaktualisierungen (unicast) werden durch eine vom Client an den Server gesendete Zeitanfrage eingeleitet, auf welche der Server mit Rücksendung des Zeitwerts antwortet. Der die Zeit anfordernde Client erzeugt einen Zeitstempel (time stamp) T0, welchen er in das Zeitanfragepaket stellt. Der Server kopiert den Zeitstempel von der Zeitanfrage in die Zeitantwort. Dieser Zeitstempel wird verwendet, um Zeitanfrage und Zeitantwort zu paaren. Der Client speichert zwei weitere, auf seiner lokalen Uhr basierende Zeitstempel, wobei es sich um die lokale Zeit T1 handelt, bei der die Zeitanfrage vom Client gesendet wird, und die lokale Zeit T4, bei der die Zeitantwort vom Client erhalten wird. Der Server erzeugt einen Zeitstempel T2 beim Erhalt der Zeitanfrage und einen Zeitstempel T3 beim Aussenden der Antwort. Die beiden letzteren Zeitstempel werden unter Bezugnahme auf die Uhr des Servers erzeugt, welche auch die Referenzuhr des Systems ist. Die Zeitstempel werden in die Zeitantwort gesetzt. Der Client kann dann die auf den vier Zeitstempeln basierenden Werte der Übertragungszeit (tpd) und des Offsets der lokalen Uhr (toffset) berechnen:

mit tpd = ((T4-T1) - (T3-T2))/2 und toffset = ((T2 - T1) + (T3 -T4))/2

An mehrere Clients gleichzeitig übersendete SNTP/NTP-Zeitaktualisierungen (Multicast) basieren auf Zeitantwort-Paketen, die in regelmäßigen Abständen an eine hierfür vorgesehne IP-Multicast-Zeitaktualisierungs-Gruppenadresse gesendet werden. Ein Multicast-Server erwartet keine Client-Anfragen. Ein Multicast-Client schließt sich der vordefinierten IP-Multicast-Gruppe an und hört auf Zeitantwort-Pakete.

Zu Zeitstempeln:

Die Zeitgenauigkeit hängt davon ab, an welcher Stelle das Zeitstempeln der ein- und ausgehenden Zeit-Datenpakete erfolgt, sowie von den Schwankungen der Netzwerk-Latenz.

Die meisten SNTP/NTP-Implementierungen führen alles Zeitstempeln in der Anwendungsschicht durch. Dies hat zur Folge, dass die bei den Clients erzielbare Zeitgenauigkeit unter der variablen Latenz beim Durchgang durch das Stack des UDP/IP-Protokolls leidet.

Trotz Verwendung von NTP- oder ähnlichen Filtermethoden liegt dann die typische Zeitgenauigkeit im Millisekundenbereich.

Der Server fügt den Zeitantwort-Paketen sowohl den Empfangs-Zeitstempel der Zeitanfrage T2 als auch den Sendezeitstempel der Zeitantwort T3 bei. Der Zeitstempel T3 wird somit in das Paket gestellt bevor dieses übersendet wird.

(ID:288792)