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:

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:

Externe Sollwertgenerierung 1:

Zu beachten:

  • Bei einem Achsfehler (Laufzeitfehler der Achse) oder bei einen Achs-Reset (auch ein Flankenwechsel der Software-Reglerfreigabe) wird automatisch die externe Sollwertvorgabe deaktiviert (ähnlich dem Abbruch einer PTP-Achspositionierung bei einen Laufzeitfehler oder Achs-Reset).
  • Wird ausschließlich eine externe Sollwertgenerierung vorgenommen, dann sind sowohl die Starttypen Absolut als auch Relativ erlaubt.
    Wird die externe Sollwertgenerierung parallel bzw. additiv zur internen Sollwertgenerierung (PTP) gestartet, dann ist nur der Startmode Relativ möglich, da die interne Positionierung letztlich immer auf einen Absolut-Start umgerechnet wird und zwei Absolutpositionen zeitgleich nicht möglich sind.
  • Man kann zwar während einer aktiven internen PTP-Positionierung die externe Positionierung mit dem Starttyp Relativ aktivieren, jedoch ist der umgekehrte Fall nicht erlaubt.
  • Wenn bereits die externe Sollwertgenerierung aktiv ist und diese zum wiederholten Mal aktiviert wird, dann müssen die Starttypen übereinstimmen, andernfalls wird dies mit einem Fehler beantwortet.
    Das wiederholte Aktivieren der externen Sollwertgenerierung kann insofern sinnvoll sein, dass hier jedes Mal die Zielposition übernommen wird und damit die Zielpositionsfenstersüberwachung (PEH) aktualisiert wird.

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.

Externe Sollwertgenerierung 2:

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.

Externe Sollwertgenerierung 3:

Zu beachten:

  • Nach dem Zurücksetzen der Sollrichtung auf den Wert Null wird noch genau für einen weiteren SAF-Zyklus die externe Sollposition übernommen.
  • Die Sollrichtung sollte schon einen Zyklus vor und noch einen Zyklus nach der Bewegung mit einem Wert ungleich Null (also -1 oder +1) gesetzt sein. Hierdurch wird ein sicherer Zeitrahmen gesetzt, der garantiert verhindert, dass weder ein Wert am Anfang noch ein Wert am Ende unberücksichtigt bleibt. 

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