Präzise im Takt #####

Einfach und robust

Mit dem beschriebenen Verfahren erreicht Sercos III eine Synchronisationsgenauigkeit < 20 ns und eine Gleichzeitigkeit <100 ns – selbst bei einem Maximalausbau eines Sercos-III-Segments von 511 Teilnehmern. Da sich auf der Basis des C2CProfils (Controller to Controller) auch einzelne Netzwerke zu einem Verbund zusammenschließen lassen, sind durchsynchronisierte Netzwerk-Strukturen ohne Einschränkungen hinsichtlich der Synchronisations-Performance realisierbar. Auch Robustheit ist garantiert: Falls eines der beiden Synchronisations-Telegramme innerhalb eines Kommunikationszyklus ausfällt, ist jedes Gerät in der Lage, sein Synchronisations-Signal anhand des jeweils anderen Telegramms fehlerfrei zu erzeugen. Und da das Verfahren in Hardware, zum Beispiel auf FPGA-Basis, realisiert ist, sind Fehler- und Jitter-Freiheit gewährleistet.

Was die Implementierung betrifft, sind sowohl master- als auch slaveseitig Sercos-III-Controller verwendbar – optional auch ein Sercos-III-Master ohne Spezialhardware. Anstelle der spezifischen Sercos-III-Hardware können in diesem Fall Standard-Ethernet-Controller zum Einsatz kommen. Sercos-spezifische Hardware-Funktionen werden dabei in den hardware-nahen und echtzeit-fähigen Teil des Mastertreibers verlagert, so dass die master-seitige Anschaltung komplett in Software realisiert werden kann. Diese Master-Realisierung ist beispielsweise für PC-basierte Steuerungsplattformen interessant, die bereits eine Ethernet-Schnittstelle „onboard“ haben. Die erreichbare Synchronisationsgenauigkeit hängt in diesem Fall von der Leistungsfähigkeit der Hardware und der Charakteristik des eingesetzten Betriebssystems ab. Durch eine statistische Mittelwertbildung und Einsatz einer PLL (Phase-locked Loop) ist der durch den Soft-Master verursachte MSTJitter kompensierbar und auf ein Maß reduzierbar, das selbst Genauigkeiten weit unter 1 µs ermöglicht.


Das Übertragungsverfahren

Mit dem beschriebenen Verfahren erreicht Sercos III eine Synchronisationsgenauigkeit < 20 ns und eine Gleichzeitigkeit <100 ns – selbst bei einem Maximalausbau eines Sercos-III-Segments von 511 Teilnehmern. Da sich auf der Basis des C2CProfils (Controller to Controller) auch einzelne Netzwerke zu einem Verbund zusammenschließen lassen, sind durchsynchronisierte Netzwerk-Strukturen ohne Einschränkungen hinsichtlich der Synchronisations-Performance realisierbar. Auch Robustheit ist garantiert: Falls eines der beiden Synchronisations-Telegramme innerhalb eines Kommunikationszyklus ausfällt, ist jedes Gerät in der Lage, sein Synchronisations-Signal anhand des jeweils anderen Telegramms fehlerfrei zu erzeugen. Und da das Verfahren in Hardware, zum Beispiel auf FPGA-Basis, realisiert ist, sind Fehler- und Jitter-Freiheit gewährleistet.

Was die Implementierung betrifft, sind sowohl master- als auch slaveseitig Sercos-III-Controller verwendbar – optional auch ein Sercos-III-Master ohne Spezialhardware. Anstelle der spezifischen Sercos-III-Hardware können in diesem Fall Standard-Ethernet-Controller zum Einsatz kommen. Sercos-spezifische Hardware-Funktionen werden dabei in den hardware-nahen und echtzeit-fähigen Teil des Mastertreibers verlagert, so dass die master-seitige Anschaltung komplett in Software realisiert werden kann. Diese Master-Realisierung ist beispielsweise für PC-basierte Steuerungsplattformen interessant, die bereits eine Ethernet-Schnittstelle „onboard“ haben. Die erreichbare Synchronisationsgenauigkeit hängt in diesem Fall von der Leistungsfähigkeit der Hardware und der Charakteristik des eingesetzten Betriebssystems ab. Durch eine statistische Mittelwertbildung und Einsatz einer PLL (Phase-locked Loop) ist der durch den Soft-Master verursachte MSTJitter kompensierbar und auf ein Maß reduzierbar, das selbst Genauigkeiten weit unter 1 µs ermöglicht.

Autoren

Peter Lutz ist Geschäftsführer von Sercos International.

Prof. Bernard Schneider ist Professor an der Hochschule für Technik und Wirtschaft Waadt (HEIG-VD, Schweiz) und Mitglied der Sercos III Working Group.

Da jedes Gerät lediglich über seine interne Zeit-Referenz verfügt, hat es keinerlei Möglichkeit, die Telegramm-Startzeit vom Master zu erfassen. Es kann lediglich die Ankunfts-Zeiten der beiden erwähnten Synchronisations-Telegramme auswerten. Eine Möglichkeit zur Synchronisation besteht darin, dass jedes Gerät den Unterschied zwischen den beiden Telegramm-Ankunftszeiten erfasst. Nach Übertragung dieser Werte zum Master, und nach mehreren Vergleichen dieser Zeiten der verschieden Geräte, könnte der Master die Reihenfolge der Geräte im Netzwerk feststellen beziehungsweise sogar die Telegramm-Laufzeiten zwischen diesen Geräten ermitteln.

Eine wesentlich einfachere Lösung wurde für Sercos III spezifiziert: Jedes Gerät kann selbstständig ein stabiles Synchronisations-Signal erzeugen, welches in allen Geräten des Netzwerks gleichzeitig vorliegt. Dazu braucht das Gerät keinerlei Information über die Netzwerk-Topologie. Zunächst wird in jedem Gerät ein Zeit-Zähler gestartet, sobald das erste Synchronisations-Telegramm (MST) vorliegt. Nach Erhalt des zweiten MST wird ein weiterer Zeit-Zähler gestartet. Das Gerät bildet nun stetig die Summe der beiden Zähler-Werte und vergleicht sie mit einem fest definierten und vorgegebenen Wert. Auf den ersten Blick haben diese Werte keine Bedeutung, sofern sie bei allen Geräten gleich sind, mindestens über der doppelten Ringlaufzeit liegen und nicht länger als die doppelte Zykluszeit sind. Dazu müssen auch die Zähler-Zeitauflösungen aller Geräte gleich (±50 ppm) und etwa zehnmal kleiner als die gewünschte Synchronisations-Genauigkeit sein – bei Sercos III beträgt diese Zeitauflösung 10 ns. Sobald die Summe den Zielwert erreicht hat, erzeugt das Gerät sein Synchronisations-Signal.

Da dieses Verfahren bei jedem Gerät Verwendung findet, treten die Synchronisations-Signale aller Geräte genau gleichzeitig auf (siehe Kasten, links). Der Master muss nun lediglich die Ringlaufzeit (tL) erfassen, und zusammen mit einem konfigurationsoptimalen Summenwert (tS) an jedes Gerät übertragen. Durch Variieren des Summenwerts lässt sich das stabile Synchronisations-Signal auch zeitlich verschieben. Damit ist beispielsweise zu verhindern, dass sich bei Hinzufügen zusätzlicher Geräte im zyklischen Echtzeit-Betrieb („Hot-Plugging“) die Synchronisationszeitpunkte verschieben beziehungsweise eine Rekonfiguration des Schwellenwerts erforderlich wird. Dieses Verfahren funktioniert nicht nur bei der Ringtopologie, sondern gleichermaßen in einer Linien-Topologie.

Bei der künftigen Ethernet-basierten Lösung Sercos III ist das MST Bestandteil des „Master-Daten-Telegramms 0“ – kurz MDT0. Das MDT0 ist das erste von bis zu vier MDTs, in denen der Master seine Sollwerte an die unterlagerten Slaves schickt. Da die Sercos-III-Telegramme gemäß Ethernet-Standard eine variable Länge haben können – das Datenfeld reicht von 40 bis 1494 Bytes – wird das 6 Byte lange MST direkt nach dem Ethernet-Header übertragen. Dadurch befindet sich das MST bezogen auf das Telegramm immer an einer festen Position. Um eine Verfälschung des MST auszuschließen, sorgt eine eigene Prüfsumme für dessen Absicherung. Bei dieser Prüfsumme handelt es sich um ein Zwischenergebnis der „Frame Check Sequence“ (FCS), also der Prüfsumme des Ethernet Frame. Da nur wenig Bytes betroffen sind, gewährleistet dieses Verfahren eine Hamming-Distanz von 6. Zum Vergleich: Bei Standard-Ethernet ist lediglich eine Hamming-Distanz von 4 üblich!

Die Zeitspanne zwischen dem Start des Ethernet Frame und dem Erhalt der MSTPrüfsumme ist absolut konstant. Alle synchronen Ereignisse innerhalb eines Geräts lassen sich somit auf diesen Zeitpunkt beziehen. Die Generierung eines entsprechenden Signals erfolgt in einfacher Weise per Hardware-Protokollauswertung in der Sercos-III-Hardware und steht der Applikation im Gerät zur Verfügung. Auf dieses Synchronisationssignal beziehen sich auch die bereits beschriebenen „t3“- und „t4“-Zeiten.

Variabel ist hingegen die Frame-Laufzeit zwischen dem Master und den einzelnen (Slave-)Geräten. Je weiter vom Master entfernt sich ein Gerät befindet, desto länger ist die Zeitspanne zwischen dem Frame-Start im Master und dem Frame-Start im Slave. In einer Standard-Ethernet-Kommunikation hängt diese Zeitspanne von folgenden Einflussgrößen ab:

  • Kabellänge und Signal-Geschwindigkeit (rund 200 000 km/s in Kupfer-Drähten, das heißt pro Meter 5 ns beziehungsweise 0,5 µs bei einer maximalen Entfernung von 100 m zwischen zwei benachbarten Ethernet-Geräten);
  • Signal-Verzögerungen in der Koppel-Elektronik, welche innerhalb einiger weniger Nanosekunden konstant sind;
  • Zeitverzögerung, die jedes in das Netzwerk integrierte Gerät verursacht. In einem typischen Standard-Ethernet-System, in dem sich jedes Gerät wie ein Switch verhält, entspricht diese Verzögerung der Dauer des „Store and Forward“-Prozesses. In Sercos-III-Geräten beträgt diese Verzögerung genau 32 Bits, also 320 ns;
  • Anzahl der Knoten zwischen dem Master und dem jeweiligen Gerät. In einem Sercos-III-Netwerk beträgt die Verzögerung 320 ns multipliziert mit der Anzahl der zwischengeschalteten Geräte.

Sobald ein Echtzeit-Netzwerk aufgebaut ist, sind die Anzahl der Geräte und alle Kabellängen klar definiert und konstant. Falls sich alle Geräte entsprechend dem Sercos-III-Standard verhalten, verursachen sie zudem konstante Wiederhol-Verzögerungen. Daher genügt eine einmalige Messung dieser Laufzeit vom Master, um eine präzise Synchronisation aller Geräte mit dem Master und auch untereinander zu gewährleisten. Lediglich bei Netzwerk-Änderungen sind diese Laufzeiten neu zu erfassen. Bei Sercos III erfolgt dies bei jeder Netzwerk-Initialisierung während der so genannten Kommunikationsphase 1 (CP1). Falls im laufenden Betrieb – zyklisch oder synchronisiert – neue Geräte eingefügt werden, gewährleistet das Hot-plug-Verfahren die entsprechenden Korrekturen.

Die Messung der relevanten Laufzeiten ist nicht trivial, da keine übergreifende (globale) Zeit-Referenz zwischen den verschieden Geräten zur Verfügung steht. Das Sercos-III-Synchronisationsverfahren stützt sich stattdessen auf folgende Netzwerk-Eigenschaften:

  1. Jede Verbindung zwischen benachbarten Geräten im Netzwerk ist Voll-Duplex 100 MBit/s.
  2. Die Laufzeiten dieser Voll-Duplex-Verbindungen sind für beide Laufrichtungen gleich; Laufzeit-Unterschiede sind konstant und betragen nur einige wenige Nanosekunden.
  3. Bei Verwendung der Linien-Topologie durchläuft jedes Master-Telegramm der Reihe nach alle Geräte bis zum letzten Gerät der Linie und läuft dann zurück zum Master.
  4. Bei Verwendung einer Ring-Topologie sendet der Master gleichzeitig zwei Telegramme – je eines pro Laufrichtung. Die Stationen erhalten, bedingt durch die Laufzeiten, die beiden Telegramme des Primär- und Sekundärkanals normalerweise aber nicht gleichzeitig.