27.05.2015

eXtreme Fast Control (XFC) mit dem Multiachs-Servoregler AX8000

Extrem schnell

Mit dem Multiachs-Servosystem AX8000 lassen sich mehrachsige Antriebslösungen hochkompakt aufbauen. Besondere Merkmale sind die sehr schnelle Regelungstechnik mit außergewöhnlich kurzen Zeiten zur Verarbeitung von Ethercat-Frames. Durch Twincat im Antrieb können Anwender Motion-Control-IP (Intellectual Property)-Module erstellen, dessen Algorithmen von der CPU/FPU des Servoreglers AX 8000 ausgeführt werden. Das senkt die Entwicklungskosten und ermöglicht innovative Ansätze.

Autor: Prof.Dr. Jens Onno Krah, Fachhochschule Köln.


Vor nicht allzu langer Zeit war es normal, dass SPS, Motion Control bzw. CNC und Feldbus nicht synchronisiert waren. Bei großen z.B. mit Profibus realisierten Anlagen konnten leicht Reaktionszeiten von mehreren 100ms auftreten.

Stand der Technik

Heute ist es üblich, dass Industrie-PCs zur Automatisierung eingesetzt werden, wodurch SPS, CNC und Visualisierung eine gemeinsame Hardware nutzen. Auch setzten sich bei neuen Maschinen Ethernet-basierte Feldbusse wie Ethercat immer weiter durch. Es ist mit aktueller Technik kein Problem, SPS, CNC und Feldbus mit synchronisierten Zykluszeiten im Millisekundenbereich zu betreiben. Die erreichbaren Zykluszeiten hängen im Wesentlichen von der Größe 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 1ms. Die angesteuerten, intern schneller getakteten Servoantriebe nutzen Feininterpolationsalgorithmen, um die geforderte Bahngenauigkeit sicherzustellen. 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. 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 ca. zwei bis drei Zyklen, also z.B. 2 bis 3ms bei einer Zykluszeit von 1ms. 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 drei bis vier Zykluszeiten. Möchte man bei einer CNC-Maschine schnell auf z.B. zu hohe Kräfte oder Drehmomente - in der Art eines Regelkreises - reagieren, so ist die beschriebene Verzugszeit regelungstechnisch wirksam und beeinflusst das Verhalten.

Anzeige

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-PCs kann für diesen Frame die Hardware-Funktionalität zeitgesteuertes Senden genutzt werden, um eventuelle Latenzzeiten durch Prozessorbearbeitung auszuschließen. Sofort nach dem Abarbeiten der Algorithmen durch den Prozessor werden die Ausgangsdaten mit dem Ethercat Write Frame aktualisiert. Bild 2 veranschaulicht den zeitlich optimierten Ablauf einer Reaktion auf ein Prozessereignis. Die resultierende Reaktionszeit beträgt jetzt nur noch ein bis zwei Zyklen - ein Zyklus wurde eingespart. Bei einer Reaktion über Motion Control mit jetzt ca. zwei bis drei statt vorher etwa drei bis vier 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.

Optimierung der Zykluszeiten: 1. Schritt

Eine nennenswerte Verringerung der Totzeit ergibt sich, wenn alle Zykluszeiten deutlich kleiner gewählt werden. In einem ersten Schritt wird eine Herabsetzung der Zykluszeiten von 1ms auf 250µs betrachtet. Das reduziert die Totzeit (ca. vier Zyklen) von 4ms auf nur noch 1ms. 250µs sind weder für die Ethercat-basierte Kommunikation noch für moderne Antriebe eine besondere Herausforderung. Die Auslastung des IPC hängt natürlich von der Applikation und dem gewähltem Prozessortyp ab. Bei 250µs kann es schon sinnvoll sein, die Routinen für CNC und SPS auf mehrere Prozessorkerne aufzuteilen. Durch die parallele Verarbeitung können moderne Mehrkernprozessoren effizient genutzt werden. 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,25ms (Bild 3).

Empfehlungen der Redaktion

Optimierung der Zykluszeiten: 2. Schritt

In einem zweiten Schritt kann die Zykluszeit weiter auf z.B. 125µs herabgesetzt werden. Bei der Ethercat-Kommunikation ist zu beachten, dass die Zeittoleranzen jetzt geringer werden. Jedoch ist das Senden und Empfangen bei 125µs Zykluszeit für einen entsprechend konfigurierten leistungsstarken Industrie-PC unkritisch. Typischerweise bleibt für die in der Regel parallele Ausführung der Algorithmen ein Zeitfester von ca. 80µs. Bei 125µs kann es schon sinnvoll sein, auch die CNC auf mehrere Cores aufzuteilen. Ein Core kann z.B. über Look-Ahead-Algorithmen die maximal mögliche Bahngeschwindigkeit berechnen, ein anderer Core generiert die aktuellen Bahnsollwerte für die Antriebe. Für einen Standardantrieb 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, was die Totzeit um den Zyklus für die Feininterpolation verringert auf drei bis vier Zyklen bzw. rund 500µs (Bild 4). Ohne Feininterpolation ist es jedoch notwendig, dass zusätzlich zur Soll-Position auch noch die Geschwindigkeits- und oft auch die Beschleunigungsvorsteuerung vom zentralen Prozessor berechnet und über Ethercat bereitgestellt werden. Optional kann die XFC-Funktion Oversampling genutzt werden: In einem CNC-Task-Aufruf wird eine Folge von z.B. vier Sollwerten mit den zugehörigen Vorsteuergrößen auf dem IPC berechnet und mit einem gemeinsamen Ethercat Frame zum AX8000 übertragen. Im Antrieb erfolgt die Übernahme der Sollwerte sequentiell mit - verglichen zur CNC - viermal kürzerer Zykluszeit.

Signalverarbeitung im Multiachssystem

Bei Zykluszeiten unter 125µs trennt sich bei Antrieben die Spreu vom Weizen: Eine Ethercat-Zykluszeit von 62,5µs zu erreichen ist nicht so schwierig; aber gleichzeitig sicherzustellen, dass bereits wenige Mikrosekunden nach Eintreffen des Ethercat-Frames - getriggert durch das Distributed-Clocks-Signal - die Leistungshalbleiter wie vorgegeben reagieren, ist eine Herausforderung. Das Multiachs-Servosystem AX8000 wird dieser in jeder Hinsicht gerecht. Nach außen kommuniziert der AX8000 über das Einspeisemodul per Ethercat mit Standard-Ethernet-Technik. Intern verwendet der AX8000 den Ethercat-Klemmen-Systembus (E-Bus), der die Ethernet-Frames nur um wenige Nanosekunden verzögert. Herzstück der Achsmodule ist ein leistungsfähiges FPGA, bei dem programmierbare Logik und eine Dual-Core-ARM-CPU auf einem Silizium-Chip integriert sind. Die programmierbare Logik wird im Wesentlichen von konfigurierten und verschalteten VHDL-IP-Modulen (IP = Intellectual Property) 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 (One Cable Technology) zur Ankopplung von Encodern
  • • Flexible DMA Unit
Anzeige

Drive IP-Core, in VHDL-codierte feldorientierte Motorregelung

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

Ethercat IP-Core, On-The-FlyProcessing von Ethercat Frames

Der Ethercat-IP-Core ermöglicht es, innerhalb eines FPGAs die Ethercat-Kommunikationsfunktion zu implementieren. Die Ethercat-Funktionalität - wie die Anzahl der FMMUs und SYNC-Manager, die Größe 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).

Anzeige

Feedback IP, wie zum Beispiel OCT zur Ankopplung von Encodern

Alle Beckhoff-Servomotoren der AM8000-Familie sind standardmäßig 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. Optional können z.B. auch Endat-Encoder verwendet werden.

Flexible DMA Unit

Statt diese IP-Blöcke mit vielen Signalpfaden und Multiplexern zu verbinden, werden FPGA-intern zwei Möglichkeiten unterstützt. Die Datenworte werden entweder vom Prozessor gelesen bzw. geschrieben, oder sie werden unabhängig vom Prozessor nanosekundengenau mit einer DMA Unit kopiert. Bild 5 zeigt ein vereinfachtes Blockschaltbild der FPGA-Funktionalität. So können z.B. Sollwerte getriggert vom DC-Signal in wenigen Nanosekunden vom Ethercat-IP-Dual-Port-RAM zu Drive-IP-Registern übertragen werden. Genauso kann auch ein Istwert vom Encoder - auch zeitgetriggert - zum Ethercat-IP-Dual-Port-RAM kopiert werden, der dann beim nächsten Durchlauf des zugehörigen Ethercat Frames zur Steuerung versendet wird. Die außergewöhnlich geringe Latenzzeit in Kombination mit der Regelungstechnik in VHDL (= in Hardware) erlaubt es, dass Ethercat Frames mit Sollwerten nur kurz vor dem DC-Signal durchlaufen müssen, bzw. Ethercat Frames zum Weiterleiten der Istwerte schon kurz nach dem DC-Signal durchlaufen dürfen. Die extrem geringe Latenzzeit ermöglicht es, dass Algorithmen des IPC mehr Zeit nutzen können; alternativ kann die Zykluszeit reduziert werden (Bild 6). In der Praxis heißt das, dass der AX8000 auch bei einer Zykluszeit von nur 62,5µs zwei Frames pro Zyklus verarbeiten kann. Jedoch muss beachtet werden, dass diese hohe Performance nur in eher kleinen Teilsystemen mit nicht zu langen Ethernet-Frames möglich ist. Bei größeren Anlagen kann durch eine Aufteilung der Feldbuskommunikation auf mehrere parallele Stränge die erforderliche Zykluszeit ermöglicht werden.

Anzeige

Motion Control IP

In den letzten Jahren forschen und entwickeln viele Teams an innovativen Algorithmen für Synchron-, Reluktanz- und Asynchronmaschinen oder an sehr speziellen Projekten wie der Linearisierung einer Kniehebelkinematik. Durch die fehlenden offenen und standardisierten Schnittstellen werden deshalb immer wieder einzelne Hardware-Baugruppen 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 µ-Controller bzw. DSPs, die meist in Assembler bzw. der hardwarenahen Sprache C programmiert sind. 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 Prozessorleistung ist viel effizienter, da Compiler-Technik zum Einsatz kommt. Matlab/Simulink vom Unternehmen Mathworks gilt als Standard-Tool zur Simulation von Regelkreisen. In fast jeder Entwicklungsabteilung findet sich mindestens eine Lizenz. Die Anbindung von Matlab/Simulink ermöglicht 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.

Anzeige

 
190925_SPS_160x600_ID2080de
MTS Sensor Technologie GmbH
Heilind Electronics GmbH - Oktober