Externe Sollwertgenerierung
Die externe Sollwertgenerierung (externe Sollwertvorgabe) ermöglicht es eigene Sollwertgeneratoren in der PLC zu implementieren, oder schon vorhandene interne und externe Generatoren entsprechend zu verschalten, und diese einfach und transparent in das TwinCAT System zu integrieren. Achsen können einerseits ausschließlich mit einem externen Sollwertgenerator positioniert werden, andererseits ist aber auch ein Überlagern (Mischen) von bereits vorhandenen internen Generatoren und externen Sollwertquellen möglich.
Durch diese neuen Eigenschaften und die Tatsache, dass eine Achse zur Laufzeit ihre verschiedenen Betriebsarten wechseln kann (z.B. interpolierende Bahnachse (NCI), Master PTP-Achse, Slaveachse, externe Sollwertgenerierung), erhöht sich weiter die Flexibilität einer TwinCAT Achse.
Überhaupt ermöglicht die Überlagerung von internen und externen Sollwertquellen eine Vielzahl von neuen Anwendungen und Lösungen.
Einsatzbeispiele:
- Die externe Sollwertvorgabe kann genutzt werden, um ein eigenes neues Sollwertprofil zu implementieren, das in der TwinCAT NC nicht verfügbar ist. Dieses Profil kann mathematisch sehr einfach oder auch beliebig komplex sein. Da das extern generierte Sollwertprofil auch dem Standardprofil überlagert werden kann, lassen sich somit auch korrigierende Funktionen ergänzen.
So kann ein positionsbasiertes Sollwertprofil für schwer regelbare oder nichtlineare Systeme realisiert werden, beispielsweise eine positionsbasierte Bremsrampe bei Hydraulikachsen. - Eine Anwendung für das Überlagern (Mischen) zweier interner Sollwertquellen ist die Kombination aus interpolierender Bahnbearbeitung (NCI) und der Funktion 'Fliegende Säge' (PTP Slave). Somit wird eine mehrdimensionale Bearbeitung, z.B. ein Kreis, auf einem bewegtem Werkstück möglich, was zuvor nur mit einem ruhenden Werkstück möglich gewesen ist. Diese Maßnahme erhöht die Effizienz einer Maschine.
- Die externe Sollwertgenerierung wird auch genutzt, um eine bestimmte Vorlaufzeit (im mehrstelligen Sekundenbereich) zwischen der sollwertgenerierenden Einheit (z.B. die Abarbeitung eines DIN-NC-Programme, das virtuelle Achsen speist) und den realen Achsen zu ermöglichen. Hier können dann Kollisionsüberwachungen und Strategien zur Kollisionsvermeidung realisiert werden.
- Ein weiterer wichtiger Anwendungsfall sind Koordinatentransformationen (beschränkt auf reguläre und eindeutige Transformationen ohne Singularitäten). Z.B. Geometrien wie ein 'Zweischlag' oder Umrechnung zwischen rotatorischen und translatorischen Koordinaten.
Diese neue Funktion steht mit den SPS Bausteinen MC_ExtSetPointGenEnable und MC_ExtSetPointGenDisable in der Bibliothek TcMc.lib zur Verfügung. Ferner gibt es ein Beispiel für einen externen Sollwertgenerator (3 Phasen Profil mit Beschleunigungsrechteck), siehe Abschnitt TwinCAT NC-PTP Beispiele.
Aktivierung der externen Sollwertgenerierung:
Die Übernahme der externen Sollwertvorgaben wird durch eine ADS-Achsfunktion aus der PLC mit dem Funktionsbaustein MC_ExtSetPointGenEnable veranlasst. Als Parameter werden der Achs-Starttyp Absolut (1) oder Relativ (2) vorgegeben und, sofern sinnvoll und benötigt, die Zielposition der Achse. Diese Zielposition wirkt entsprechend dem Startmode absolut oder relativ und ermöglicht die Positions- und Zielpositionsfenstersüberwachung (PEH). Somit ist das Aktivieren der externen Sollwertvorgabe einem herkömmlichen Achsstart ähnlich.
Über den Zustand, nämlich ob die externen Sollwertgenerierung, aktiv oder inaktiv, informiert ein Statusbit aus dem Status-Doppelwort des zyklischen Achsinterfaces von der NC zur PLC (s. Funktion AxisHasExtSetPointGen in der TcNc.lib).
Damit die Aktivierung fehlerfrei angenommen wird, darf kein Achsfehler vorliegen, die Regler- und Vorschubfreigaben müssen erteilt sein, die Antriebshardware muss betriebsbereit sein und die Achse darf nicht gekoppelt sein (kein Slave).
![]() | Zu beachten:
|
Deaktivierung der externen Sollwertgenerierung:
Das Abschalten der externen Sollwertvorgabe wird aus der PLC mit dem Funktionsbaustein MC_ExtSetPointGenDisable veranlasst. Eine Rückmeldung gibt das bereits erwähnte Statusbit aus dem Status-Doppelwort des zyklischen Achsinterfaces von der NC zur PLC (s. Funktion AxisHasExtSetPointGen in der TcNc.lib ).
![]() | Nach dem Deaktivieren der externen Sollwertgenerierung wird noch genau für einen weiteren Zyklus die externe Sollposition übernommen. |
Vorgabe der Sollwerte mittels des zyklischen Achsinterfaces:
Nach fehlerfreier Aktivierung der externen Sollwertgenerierung kann nun in jedem PLC-Zyklus ein Paket aus Sollwerten am Achsinterface angelegt werden. Ein Sollwertpaket besteht aus der externen Sollposition, Sollgeschwindigkeit, Sollbeschleunigung und Sollrichtung (-1, 0, +1).
Der Sollrichtung kommt hierbei eine besondere Bedeutung zu, nämlich nur wenn diese ungleich Null ist (0: keine Bewegung) werden intern Sollwerte übernommen und zur Wirkung gebracht. Somit muss für den gesamten Bereich der externen Sollwertgenerierung das Richtungsflag quasi am Anfang und Ende überlappend gesetzt sein.
![]() | Zu beachten:
|
Einstellungen der PLC-Task:
Idealerweise sollte die PLC-Task, die die Sollwerte generiert und vorgibt, synchron, d.h. mit der selben Zykluszeit wie die NC-SAF-Task (Port 501), arbeiten. Auch muss diese PLC-Task entsprechend hochprior sein, eventuell sogar höher priorisiert als die NC-SVB-Task (Port 511).
Optimierungsmöglichkeiten:
Die Totzeit, die durch den Transport über das zyklische Achsinterface entsteht (eventuell sind auch die Eingangsinformationen, die zur Berechnung der externen Sollwerte führen, einen Zyklus alt), kann für eine Achse, die im Geschwindigkeitsinterface betrieben wird, kompensiert werden. Diese Totzeitkompensation kann mittels des globalen Achsparameters Verzögerungszeit zwischen Geschwindigkeit und Position im TwinCAT System Manager eingestellt werden (Defaultwert: 0.0 s).