MC_SetActualPositionOnTheFly
Mit dem Funktionsbaustein MC_SetActualPositionOnTheFly kann die Istposition einer Achse während der Fahrt gesetzt werden. Der aktive Fahrauftrag wird angepasst, so dass das ursprüngliche Fahrziel nicht überfahren wird.
Dieser Baustein kommt z. B. bei speziellen Referenzierfahrten zur Anwendung. Eine genau vermessene Position wird beispielsweise durch ein Hardware-Latch erkannt und das Latch liefert die derzeitige aktuelle Position der Achse an dieser Stelle. Ohne die Achse zu stoppen, kann nun auch zu einem späteren Zeitpunkt die Achsposition an dieser Stelle gesetzt werden, indem neben der gewünschten Position (ActualPosition) die Latch-Position als bisherige Referenzposition angegeben wird (PreviousPosition)
Anmerkung:
Es ist zu beachten, dass auch die aktuelle Sollposition und die Zielposition der aktuellen Bewegung um dieselbe Differenz (ActualPosition - PreviousPosition) angepasst werden. Dadurch wird exakt die vorher anvisierte Distanz abgefahren aber die Zielposition weicht durch die Verschiebung des Koordinatensystems von der beauftragten Zielposition ab.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ActualPosition : LREAL;
PreviousPosition : LREAL;
ND_VAR
Execute : Mit der steigenden Flanke wird das Kommando ausgeführt.
ActualPosition : Ist-Position die gesetzt werden soll.
PreviousPosition : Bisherige Ist-Position, die mit der neuen Position korrespondiert.
VAR_OUTPUT
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Done : Wird TRUE, wenn der Befehl erfolgreich abgesetzt wurde.
Busy : Wird TRUE, sobald der Baustein aktiv ist. Busy wird mit der steigenden Flanke am Execute-Eingang TRUE und wird FALSE, wenn die Funktion beendet oder abgebrochen wurde und der Baustein eine neue steigende Flanke am Execute-Eingang akzeptiert.
CommandAborted : Wird TRUE, wenn das Kommando abgebrochen wurde.
Error : Wird TRUE, sobald ein Fehler eintritt.
ErrorID : Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.
VAR_IN_OUT
VAR_IN_OUT
Axis : NCTOPLC_AXLESTRUCT;
END_VAR
Axis : Achsstruktur.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.10 Build 1251 | PC (i386) | TcMC.Lib |