Eine Publikation der Binkert Medien AG
PDF download
Multiachs-Servosystem für mehrkanalige Antriebslösungen : Ausgabe 02/2015, 01.10.2015

Auf die Zykluszeit kommt es an

Zu den Merkmalen eines modernen Multiachs-Servosystems zählt die schnelle Regelungstechnik, mit kurzen Zeiten zur Verarbeitung von EtherCAT-Frames. Durch TwinCAT im Antrieb werden Steuerungs-algorithmen auf der CPU des Motion Controllers ausgeführt. Das senkt die Entwicklungskosten und bietet innovative Ansätze.

Autor: Prof. Dr. Jens Onno Krah, Entwicklung und Produktmanagement Antriebstechnik, Beckhoff

Bilder: Beckhoff

Es ist noch nicht lange her, da lag es an der Tagesordnung, dass SPS, Motion Control und Feldbus nicht synchronisiert waren. Bei grossen, beispielsweise mit PROFIBUS realisierten Anlagen konnten so leicht Reaktionszeiten von mehreren 100 ms auftreten. Heute ist es üblich, dass Industrie-PC zur Automatisierung eingesetzt werden, wodurch SPS, CNC und ­Visualisierung eine gemeinsame Hardware nutzen. Auch setzten sich bei neuen Maschinen Ethernet-basierte Feldbusse, wie zum Beispiel EtherCAT, immer weiter durch.

Heute ist Synchronisation selbstverständlich

Es ist mit aktueller Technik kein Problem, SPS, CNC und Feldbus mit synchronisierten Zykluszeiten im ms-Bereich zu betreiben. Die erreichbaren Zykluszeiten hängen im Wesentlichen von der Grösse der Maschine, von der Rechenleistung des Prozessors und von der Konfiguration des Feldbusses ab. Bei CNC-gesteuerten Maschinen liegt die Zykluszeit von Motion Control und EtherCAT als Feldbus heute meist um 1 ms. Die angesteuerten, intern schneller getakteten, Servoantriebe nutzen Feininterpolationsalgorithmen um die geforderte Bahngenauigkeit sicherzustellen.

So verläuft die Reaktion auf ein Prozessereignis

Bild 1 veranschaulicht den üblichen zeitlichen Ablauf einer Reaktion auf ein Prozessereignis. Nacheinander werden vom Prozessor das Prozessabbild vom Feldbus eingelesen, die SPS- und CNC-Routinen abgearbeitet und die berechneten Datenworte zur Ausgabe mit dem nächsten Feldbuszyklus bereitgestellt. Trigger-Signal zum Abtasten (Input) bzw. zum Halten (Output) ist das EtherCAT-Distributed-Clock-(DC)-Signal, in den Bildern dargestellt durch rote Pfeile. Die EtherCAT-Slaves haben vom Sample der Eingänge bis zum Durchlauf des Frames Zeit, um die Daten im EtherCAT-ASIC bzw. -FPGA zum On-line-Processing bereitzustellen. Analog gilt das für die Bearbeitung der Ausgangssignale bis zur Ausgabe mit dem nächsten DC.

Reaktionszeit beeinflusst das Verhalten

Da alle Zykluszeiten synchron sind, ist die Reaktionszeit ab der Abtastung vollständig deterministisch. Unerwünscht und häufig für den Anwender auch überraschend ist die resultierende Reaktionszeit von 2 bis 3 Zyklen, also zum Beispiel 2 bis 3 ms bei einer Zykluszeit von 1 ms. Falls eine Reaktion über eine Bewegungssteuerung erfolgen soll, kommt der systemimmanente Delay der Feininterpolation von genau einem Zyklus dazu. Insgesamt beträgt die Verzögerung bei einer Motion-Control-Reaktion 3 bis 4 Zykluszeiten. Möchte man bei einer CNC-Maschine schnell auf zu hohe Kräfte oder Drehmomente – in der Art eines Regelkreises – reagieren, so ist die beschriebene Verzugszeit regelungstechnisch wirksam und beeinflusst das Verhalten.

Kommunikation mit doppeltem Feldbustakt

Die Aufteilung des üblichen Read/Write-EtherCAT-Frames in zwei Frames ist eine Möglichkeit die Totzeit zu reduzieren: Unmittelbar nach dem Sample der Prozessdaten durch das DC-Signal werden mit einem EtherCAT-Read-Frame die Eingangssignale dem Industrie-PC bereitgestellt. Bei aktuellen Industrie-PC kann für diesen Frame die Hardware-Funktionalität zeitgesteuertes Senden genutzt werden, um eventuelle Latenzzeiten durch Prozessorbearbeitung auszuschliessen. Sofort nach dem Abarbeiten der Algorithmen durch den Prozessor werden die Ausgangsdaten mit dem EtherCAT-Write-Frame aktualisiert.

Optimierte Reaktion der Steuerung

Bild 2 veranschaulicht den zeitlich optimierten Ablauf einer Reaktion auf ein Prozessereignis. Die resultierende Reaktionszeit beträgt jetzt nur noch 1 bis 2 Zyklen. 1 Zyklus wurde eingespart. Bei einer Reaktion über Motion Control mit jetzt 2 bis 3 statt vorher 3 bis 4 Zyklen Delay entspricht das einer Verringerung der Verzugszeit um rund 30 %. Bei dieser Methode ist es wichtig, dass die Signalverarbeitung in den EtherCAT-Slaves zeitoptimiert ist. Eine nennenswerte Verringerung der Totzeit ergibt sich, wenn alle Zykluszeiten kleiner gewählt werden. In einem ersten Schritt wird eine Herabsetzung der Zykluszeiten von 1 ms auf 250 μs betrachtet. Dabei kann es schon sinnvoll sein, die Routinen für CNC und SPS auf mehrere Prozessorkerne aufzuteilen. Allerdings steigt die Totzeit durch parallele Verarbeitung bei einem Ereignis, welches erst von der SPS und danach von der CNC verarbeitet wird, um einen Zyklus auf 1,25 ms.

Eine noch kürzere Zykluszeit

In einem zweiten Schritt kann die Zykluszeit weiter auf 125 μs herabgesetzt werden. Hier ist es sinnvoll auch die CNC auf mehrere Cores aufzuteilen. Ein Core kann zum Beispiel über Look-Ahead-Algorithmen die maxi­mal mögliche Bahngeschwindigkeit berechnen, ein anderer Core generiert die aktuellen Bahnsollwerte für die Antriebe. Für einen Standard-Antrieb sind 125 μs vergleichsweise kurz. Um die Belastung zu reduzieren, kann die Lageregelung auch auf 125 μs konfiguriert werden. Eine Feininterpolation ist dann nicht mehr erforderlich. Jedoch muss der zentrale Prozessor zusätzlich zur Soll-Position auch noch die Geschwindigkeits- und oft auch die Beschleunigungsvorsteuerung berechnen und über EtherCAT bereitstellen.

Signalverarbeitung im Multiachs-Servosystem AX8000

Bei Zykluszeiten unter 125 μs trennt sich bei Antrieben die Spreu vom Weizen. Eine Zy­kluszeit von 62,5 μs zu erreichen ist nicht so schwierig, aber gleichzeitig sicherzustellen, dass bereits wenige μs nach Eintreffen des EtherCAT-Frames – getriggert durch das Distributed-Clocks-Signal – die Leistungshalbleiter wie vorgegeben reagieren, ist eine Herausforderung. Das Multiachs-Servosystem AX8000 wird dem in jeder Hinsicht gerecht. Nach aussen kommuniziert der Servoregler über das Einspeisemodul per EtherCAT mit Standard-Ethernet-Technik. Intern benutzt er den EtherCAT-Klemmen-Systembus (E-Bus), der die Ethernet-Frames nur um wenige Nanosekunden verzögert. Herzstück der Achsmodule ist ein FPGA, bei dem programmierbare Logik und eine Dual-Core-ARM-CPU auf einem Silizium-Chip integriert sind.

Stromregler vereint Vorteile analoger und digitaler Regelungstechnologie

Die programmierbare Logik wird von konfigurierten und verschalteten VHDL-IP (Intellectual Property)-Modulen genutzt:

  • Drive-IP-Core, feldorientierte Motorregelung in VHDL codiert
  • EtherCAT-IP-Core, on-the-fly-processing von EtherCAT-Frames
  • Feedback-IP, wie zum Beispiel OCT zur Ankopplung von Encodern
  • Flexible DMA Unit

Der vollständig in Hardware (VHDL) implementierte Stromregler vereint die Vorteile analoger und digitaler Regelungstechnologie. Dadurch kann zum Beispiel innerhalb von nur einer Mikrosekunde auf unerwünschte Regelabweichungen reagiert werden, ohne dass es zu einer Überstromabschaltung kommt.

On the fly processing von EtherCAT-Frames

Mit dem EtherCAT-IP-Core lässt sich innerhalb eines FPGAs die EtherCAT-Kommunikationsfunktion implementieren. Die EtherCAT-Funktionalität – wie die Anzahl der FMMUs und SYNC-Manager, die Grösse des DPRAMs usw. – ist entsprechend der Anforderungen des AX8000 konfiguriert. Die Funktionalität ist kompatibel zur EtherCAT-Spezifikation und zu den EtherCAT-ASICs (ET1100, ET1200).

Alle Servomotoren der AM8000-Familie sind standardmässig mit der One Cable Technology (OCT) ausgestattet, sodass Power und Feedback in einer Leitung zusammengefasst sind. Die Kommunikation mit den in den Motoren integrierten Encodern erfolgt über einen im FPGA implementierten OCT-Feedback-IP und wird FPGA-intern mit dem EtherCAT-DC-Signal synchronisiert.

Keine offenen und standardisierten Schnittstellen

In den letzten Jahren forschen und entwickeln viele Teams an innovativen Algorithmen für Synchron-, Reluktanz- und Asynchronmaschinen oder an spezielleren Projekten. Zum Beispiel kann es sich auch um eine Linearisierung einer Kniehebelkinematik handeln. Durch die fehlenden offenen und standardisierten Schnittstellen werden deshalb immer wieder einzelne Hardwarebaugruppen in kleinen Stückzahlen erstellt.

Bisher war der Einsatz von Intellectual Property (IP) bei Antriebsreglern nicht vorgesehen. Hersteller öffnen die Gerätearchitektur in der Regel nicht für Maschinenbauunternehmen oder Endkunden. Das liegt vor allem an der geringen Rechenleistung der bisher eingesetzten μCs bzw. DSPs, die meist in Assembler bzw. hardwarenahem «C» programmiert sind.

Einfachere Entwicklung durch geeigente Tools

Bei einem TwinCAT-basierten Servoantrieb ist der Einsatz von IP naheliegend. Durch die heute verfügbare Hardware ist die Programmierung eines Antriebs viel weniger zeitkritisch. Weil ein Teil der Algorithmen innerhalb des FPGAs in VHDL implementiert sind, reduziert sich die Anzahl der notwendigen Tasks innerhalb eines Antriebs. Aufwendige Algorithmen können mit der leistungsfähigen ARM-CPU mit FPU gerechnet werden. Auch die Nutzung der installierten Prozessor- leistung ist viel effizienter, da Compiler-Technologie zum Einsatz kommt.

Matlab/Simulink von the MathWorks ist «das» Standard-Tool zur Simulation von Regelkreisen. In fast jeder Entwicklungsabteilung findet sich mindestens eine Lizenz. Die Anbindung von Matlab/Simulink erlaubt die Ausführung von TwinCAT-Modulen, die in der Simulationsumgebung Simulink als Modell erzeugt wurden. Durch die gewählte Art der Anbindung werden die Parameter und Variablen in der grafischen Oberfläche von TwinCAT 3 dargestellt und können zur Laufzeit auch in der Echtzeitumgebung betrachtet und geändert werden.

Infoservice


Beckhoff Automation AG
Rheinweg 9, 8200 Schaffhausen
Tel. 052 633 40 40, Fax 052 633 40 55
info@beckhoff.ch, www.beckhoff.ch



Das AX8000 kann Prozessdaten mit VHDL-Algorithmen (in Hardware) verarbeiten


Bild 1: Der Signalfluss des Prozessereignisses ist gelb hinterlegt: Sample-Prozess-Input, synchronisiert vom Distributed Clock (DC), EtherCAT Read (EC), SPS, CNC, EtherCAT Write; Update Output oder Start Feininterpolation


Bild 2: Mit zwei EtherCAT-Frames pro Zyklus kann die Totzeit um eine Zykluszeit verringert werden