MC_Move......Done
Die erfolgreiche Ausführung eines Fahrbefehls für die Achse wird durch die Meldung „Done“ (Beendet) des entsprechenden Funktionsbausteins bestätigt. Es werden drei Bedingungen geprüft, bevor die erfolgreiche Ausführung eines Fahrbefehls angezeigt wird. Das Flag AxisHasJob (Achse hat Befehl erhalten) wird kontrolliert, bevor MC_Move...Done auf TRUE (OK) gestellt wird. Wird die Option Position Range Monitoring (Positionsbereichsüberwachung) UND/ODER die Option Target Position Monitoring (Zielpositionsüberwachung) in der Global Section des entsprechenden Achsparameters auf TRUE gesetzt, wird der Status der Flags AxisInPositionWindow (Achse in Zielpunktfenster) und AxisIsAtTargetPosition (Achse auf Zielposition) überprüft. Er muss auf TRUE stehen, wenn AxisHasJob von TRUE auf FALSE gewechselt hat.
Für eine erfolgreiche Ausführung eines Fahrbefehls werden also folgende Kombinationen überprüft:
- Wenn Position Range Monitoring = TRUE und Target Position Monitoring = TRUE, Überprüfung ob Status AxisHasJob = FALSE UND Status AxisIsAtTargetPosition = TRUE (implizite Überprüfung des TRUE-Status von AxisInPositionWindow).
- Wenn Position Range Monitoring = TRUE und Target Position Monitoring = FALSE, Überprüfung ob AxisHasJob = FALSE UND AxisInPositionWindow = TRUE.
- Wenn Position Range Monitoring = FALSE und Target Position Monitoring = FALSE, Überprüfung ob AxisHasJob = FALSE.
HINWEIS:
Position Range Monitoring und Target Position Monitoring sind Optionen der Global Section der entsprechenden Achsparameter im TwinCAT System Manager.
Mit den nachfolgenden Zahlen wird das Verhalten der Meldung MC_Move...Done auf Grundlage verschiedener MC_Move...Execute-Meldungen dargestellt. Die hier dargestellte Sequenz wird durch zwei aufeinanderfolgende Fahrbefehle gebildet.
In der folgenden Abbildung ist MC_Move...Execute während der Positionierung der Achse auf TRUE gesetzt und wird nur auf FALSE gesetzt, wenn die MC_Move...Done- Meldung TRUE lautet. MC_Move...Done bleibt TRUE, bis MC_Move...Execute auf TRUE gesetzt wird, wodurch angezeigt wird, dass der Befehl erfolgreich ausgeführt wurde.

In der folgenden Abbildung bleibt MC_Move...Execute nur während der ersten Zyklen nach dem Positionierungsbefehl für eine Achse TRUE. MC_Move...Done bleibt einen Zyklus TRUE. Dadurch wird angezeigt, dass der Befehl erfolgreich ausgeführt wurde.
