MC_MoveVelocity
MC_MoveVelocity startet eine Endlosfahrt mit vorgegebener Geschwindigkeit und Richtung. Die Bewegung kann durch ein Stopp-Kommando angehalten werden.
Der InVelocity-Ausgang wird gesetzt, sobald die konstante Geschwindigkeit erreicht ist. Mit Erreichen der Konstantfahrt ist die Funktion des Bausteins abgeschlossen, es findet also keine weitere Überwachung der Bewegung statt. Wenn das Kommando noch während der Beschleunigungsphase abgebrochen wird, wird der CommandAborted- oder im Fehlerfall der Error-Ausgang gesetzt.
![]() | Bewegungskommandos können auf gekoppelte Slave-Achsen angewendet werden, wenn diese Option in den Parametern der Achse explizit aktiviert worden ist. Ein Bewegungskommando wie MC_MoveAbsolute führt dann automatisch zum Abkoppeln der Achse und das Kommando wird anschließend ausgeführt. In diesem Fall ist ausschließlich der Buffer-ModeAborting möglich. |
Eingänge
VAR_INPUT
Execute : BOOL; (* B *)
Velocity : LREAL; (* E *)
Acceleration : LREAL; (* E *)
Deceleration : LREAL; (* E *)
Jerk : LREAL; (* E *)
Direction : MC_Direction := MC_Positive_Direction; (* E *)
BufferMode : MC_BufferMode; (* E *)
Options : ST_MoveOptions; (* V *)
END_VAR
Execute | Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt. |
Velocity | Geschwindigkeit mit der gefahren werden soll (>0). |
Acceleration | Beschleunigung (≥0). Bei einem Wert von 0 wirkt die Standardbeschleunigung aus der Achskonfiguration im System Manager. |
Deceleration | Verzögerung (≥0). Bei einem Wert von 0 wirkt die Standardverzögerung aus der Achskonfiguration im System Manager. |
Jerk | Ruck (≥0). Bei einem Wert von 0 wirkt der Standardruck aus der Achskonfiguration im System Manager. |
Direction | positive oder negative Fahrtrichtung vom Typ MC_Direction. |
BufferMode | Der BufferMode wird ausgewertet, wenn die Achse bereits ein anderes Kommando ausführt. Das laufende Kommando kann abgebrochen werden oder dieses Kommando wird erst nach dem laufenden Kommando aktiv. Die Übergangsbedingung vom laufenden zum nächsten Kommando wird ebenfalls durch den BufferMode festgelegt. |
Options | Die Datenstruktur Options enthält zusätzliche, selten benötigte Parameter. Im Normalfall kann der Eingang offen bleiben. |
Ausgänge
VAR_OUTPUT
InVelocity : BOOL; (* B *)
Busy : BOOL; (* E *)
Active : BOOL; (* E *)
CommandAborted : BOOL; (* E *)
Error : BOOL; (* B *)
ErrorID : UDINT; (* E *)
END_VAR
InVelocity | Der Ausgang InVelocity wird TRUE, sobald die konstante Geschwindigkeit erreicht ist und kann auch wieder FALSE werden, falls die Geschwindigkeit abweicht. Der Funktionsbaustein bleibt Busy und Active bis das Kommando abgelöst wird. |
Busy | Der Busy-Ausgang wird TRUE, sobald das Kommando mit Execute gestartet wird und bleibt solange TRUE wie der Baustein aktiv ist. Wenn Busy wieder FALSE wird, so ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge CommandAborted oder Error gesetzt. |
Active | Active zeigt an, dass das Kommando ausgeführt wird. Wenn das Kommando gepuffert wurde, wird es evtl. erst aktiv, nachdem ein laufendes Kommando beendet ist. |
CommandAborted | Wird TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte. Die Achse kann gestoppt worden sein oder das laufende Kommando wurde durch ein weiteres Move-Kommando abgelöst. |
Error | Wird im Fehlerfall TRUE. |
ErrorID | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |