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 auch ein Überlagern (Mischen) von bereits vorhandenen internen Generatoren und externen Sollwertquellen möglich.
Durch diese 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.
Die Überlagerung von internen und externen Sollwertquellen ermöglicht generell 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 Funktion steht mit den SPS-Funktionsbausteinen MC_ExtSetPointGenEnable und MC_ExtSetPointGenDisable in der Bibliothek Tc2_MC2 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 der Achsreferenz Axis.Status.ExtSetPointGenEnabled.
Damit die Aktivierung fehlerfrei angenommen wird:
- darf kein Achsfehler vorliegen
- die Regler- und Vorschubfreigaben müssen erteilt sein
- die Antriebshardware muss betriebsbereit sein
- 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 der Achsreferenz Axis.Status.ExtSetPointGenEnabled.
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 am Anfang und Ende überlappend gesetzt sein.
Zu beachten:
|
Einstellungen der PLC-Task:
Die PLC-Task, die die Sollwerte generiert und vorgibt, muss synchron, d. h. mit derselben 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:
Totzeit, die durch den Transport über das zyklische Achsinterface entsteht, kann für eine Achse kompensiert werden. Diese Totzeitkompensation kann mittels der Dialoge auf dem Encoder und Drive der NC-Achse eingestellt werden (ON (with velocity)).