
Bild: Bei der Synchronisation mehrerer Achsen über deterministische Ethernet-Protokolle, wie Ethercat, sind verschiedene Wege zu beschreiten (Bild: stock.adobe.com_ fotomek)
In einem beispielhaften zweiachsigen Bewegungssteuerungssystem (Bild 1) sendet der Master über ein Echtzeitnetzwerk Befehle und Sollwerte an zwei Servoregler, die im Netzwerk jeweils als Slave-Knoten fungieren. Häufig werden die Slave-Knoten zum Master synchronisiert, indem in jedem Knoten ein lokaler, synchronisierter Takt vorgehalten wird. Dadurch sind alle an das Echtzeitnetzwerk angeschlossenen Netzwerk-Controller zueinander synchronisiert.
Meist gibt es zwischen Netzwerk- und Motor-Controller zwei Interrupt-Leitungen. Die erste weist den Motor-Controller an, Eingabewerte zu erfassen und auf das Netzwerk zu geben, während die zweite ihm signalisiert, Daten aus dem Netzwerk einzulesen. Dies sorgt für einen synchronisierten Datenaustausch zwischen Motion-Controller und Motor-Controller mit hoher zeitlicher Genauigkeit. Zusätzlich ist es aber notwendig, dass die Motor-Controller synchronisiert auf die synchron übertragenen Daten reagieren.
Die IO der Motor-Controller erweisen sich dabei häufig als Problem, da die dabei verwendeten PWM-Timer und ADC mit jeweils eigenen Laufzeiten und Quantisierungen arbeiten. Ganz gleich, wie eng der Datenaustausch im Echtzeitnetzwerk auch synchronisiert sein mag, die Synchronisation wird stets durch die zeitliche Quantisierung des PWM-Timers bestimmt. In jedem Fall entsteht eine zeitliche Unsicherheit, die meist im Bereich zwischen 50 µs und 100 µs liegt und bis zu einer PWM-Periode betragen kann.
In Bild 1 ist erkennbar, dass es in dem System die drei Synchronisationsbereiche A, B und C gibt, die nicht miteinander verbunden sind. Es gibt zwischen ihnen keine Synchronisation, und die variable Unsicherheit beträgt bis zu einer PWM-Periode.