Der folgende Beitrag befasst sich mit der Regelungsoptimierung von Synchron-Servomotoren und ist damit ein Kontrastpunkt zu meinem Schwerpunktthema Schrittmotoren.
Ausgangslage:
Betrachtet wird eine vertikale Achse eines Handlings-Systems, welche reine Punkt-zu-Punkt Bewegungen ausführt, also während der Verfahr Bewegung keine Bahn einhalten muss. Der Antrieb besteht aus einem Beckhoff AM8023-E021 Servomotor mit Bremse und Sigleturn-Geber mit OCT (One Cable Technology, dabei wird der Geberistwert mittels Hyperface über die Leitungen des Temperaturgebers im Motorkabel übertragen). Die Bewegung wird über ein Getriebe auf eine Kugelrollspindel übertragen. Angesteuert wird der Motor über eine AX5203.
Die Regler der AX5000 Familie von Beckhoff werden über TwinCAT an die übergeordnete Steuerung (SPS bzw. PLC) angebunden. Dort werden sie von der Beckhoff NC angesprochen, welche über die Datenstrukturen NC2PLC und PLC2NC wiederum eine Schnittstelle zum eigentlichen SPS-Programm bietet. Die Servoregler arbeiten mit dem Sercos over EtherCAT (SoE) Protokoll, d.h. das Übertragungsmedium ist EtherCAT, die eigentlichen Antriebsfunktionen (Parameternummerierung, Zustandsmaschine) entsprechen aber denen bei Sercos-Antrieben.
Standardmäßig werden die Servoregler dabei so parametriert, dass Drehzahl- und Stromregler im Antrieb geschlossen werden, während der Lageregler in der NC geschlossen wird. Obwohl TwinCAT kurze Buszykluszeiten ermöglicht, stellt die Übertragung von Soll- und Istwerten über den Bus eine zusätzliche Verzögerung für den Regler dar, die einen deutlichen Einfluss auf dessen dynamisches Verhalten haben kann, wie das folgende Beispiel zeigt.
In der Standardeinstellung (Lageregler in der NC geschlossen) war ein Kv-Faktor von 5 s-1 eingestellt. Der max. Schleppfehler während der Verfahr Bewegung beträgt dabei ca. 75µm. Nach dem Ende der Bewegung (SETVELO=0) dauert es 344ms, bis der Schleppfehler unter 10µs fällt.
Nach dem der Lageregler im Antrieb geschlossen wurde, konnte der Kv-Faktor ohne weiteres auf 7,5 s-1 erhört werden. Der Schleppfehler reduzierte sich für das gleiche Verfahr Profil wie zuvor auf 0,5µm. Selbst bei Fahrt mit annähernd maximaler Geschwindigkeit (50mm/s am Abtrieb) bleibt der Schleppfehler bei max. 2µm.
Um den Lageregler in der AX5000 verwenden zu können, sind folgende Einstellungen erforderlich:
IDN-Parameter S-0-0-0032 in der Startup-Liste von 2 (velo control) auf 11 oder 12 (pos ctrl Feedback 1/2 lag less) umstellen. Die Einstellung „lag less“ sorgt durch eine Drehzahlvorsteuerung für minimalen Schleppfehler während der Bewegung.
In den Kanaleinstellungen unter Process Data / Operation Mode das Prozessabbild wie folgt anpassen. MDT: S-0-0036 „Velocity command value“ entfernen, statt dessen S-0-0047 „Position command value“ neu einfügen. AT: S-0-0189 „Following distance“ einfügen. Der Schleppfehler wird zusätzlich in die NC verknüpft, um den Schleppfehler dort ohne Totzeit anzeigen zu können. Ansonsten würde die Berechnung aus Sollposition(n) – Istposition(n-1) berechnet (n, n-1: diskrete Zeitpunkte).
Ggf. bereits vorhandene Verlinkungen in die NC löschen und Achsen neu verlinken.
Zusammenfassung:
Die Verlagerung des Lagereglers von der NC in den Antrieb ermöglicht den Betrieb mit deutlich reduzierten Regelabweichungen und schnelleren Ansprechzeiten des Antriebs. Ermöglicht wird dies durch den Entfall der Buslatenzen sowie durch den höheren Lagereglertakt im Antrieb (typisch 8kHz statt 1kHz in der NC). Ein weiterer Vorteil ist die Entlastung der CPU in der SPS durch den Entfall der Regelung dort.
Tags: Beckhoff, EtherCAT, Genauigkeit, Regelung, Schleppfehler, Servomotor, Sollwert, SPS, TwinCAT
Super geschriebener und informativer Artikel :-). In diesen Blog werde ich mich noch richtig einlesen
[…] großen Lasten werden in der Regel Servomotoren mit optischem Geber (Encoder) und digitalen Reglern eingesetzt, während bei kleineren Lasten auch […]