Extrem schnell


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).

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