MC_MoveVelocity
Mit dem Funktionsbaustein MC_MoveVelocity wird eine Endlosfahrt mit vorgegebener Geschwindigkeit und Richtung gestartet. 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 Ausgang „CommandAborted“ oder im Fehlerfall der Ausgang „Error“ 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 BufferMode „Aborting“ 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
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Mit einer steigenden Flanke wird das Kommando ausgeführt. |
Velocity | LREAL | Maximale Geschwindigkeit mit der gefahren werden soll (>0). |
Acceleration | LREAL | Beschleunigung (≥0) |
Deceleration | LREAL | Verzögerung (≥0) |
Jerk | LREAL | Ruck (≥0) |
Direction | Positive oder negative Fahrtrichtung. | |
BufferMode | Wird ausgewertet, wenn die Achse bereits ein anderes Kommando ausführt. MC_MoveVelocity wird nach dem laufenden Kommando aktiv oder bricht dieses ab. Übergangsbedingungen vom laufenden zum nächsten Kommando werden ebenfalls durch den BufferMode festgelegt. Wird das Kommando auf eine gekoppelte Slave-Achse angewendet, ist nur der BufferMode „Aborting“ möglich. Um den BufferMode zu verwenden, ist immer ein zweiter Funktionsbaustein nötigt. Es ist nicht möglich, einen Move-Baustein mit neuen Parametern zu triggern, während er noch aktiv ist. | |
Options | Datenstruktur, die zusätzliche selten benötigte Parameter enthält. Im Normalfall kann der Eingang offen bleiben. |
Siehe auch: Allgemeine Regeln für MC-Funktionsbausteine
Ein-/Ausgänge
VAR_IN_OUT
Axis : AXIS_REF;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | Achsdatenstruktur, welche eine Achse eindeutig im System adressiert. Sie enthält unter anderem den aktuellen Status der Achse, wie Position, Geschwindigkeit oder Fehlerzustand. |
Ausgänge
VAR_OUTPUT
InVelocity : BOOL; (* B *)
Busy : BOOL; (* E *)
Active : BOOL; (* E *)
CommandAborted : BOOL; (* E *)
Error : BOOL; (* B *)
ErrorID : UDINT; (* E *)
END_VAR
Name | Typ | Beschreibung |
---|---|---|
InVelocity | BOOL | Nach der Achsbeschleunigung nimmt der InVelocity-Ausgang den Wert TRUE an, sobald die angeforderte Sollgeschwindigkeit erreicht worden ist. Der InVelocity-Ausgang bleibt auf dem Wert TRUE, bis die Achsgeschwindigkeit von einem anderen Kommando geändert wird. Sobald eine Geschwindigkeitsabweichung festgestellt wird, signalisiert der Ausgang FALSE. |
Busy | BOOL | TRUE, sobald das Kommando mit „Execute“ gestartet wird und solange der Funktionsbaustein aktiv ist. Wenn „Busy“ FALSE ist, ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge „CommandAborted“ oder „Error“ gesetzt. |
Active | BOOL | 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 | BOOL | TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte. Die Achse wurde gestoppt oder das laufende Kommando wurde durch ein weiteres Move-Kommando abgelöst. |
Error | BOOL | TRUE, wenn ein Fehler auftritt. |
ErrorID | UDINT | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |
InVelocity und Override Wenn der Override-Wert verändert wird, signalisiert der InVelocity-Ausgang den Wert FALSE. Gleichzeitig nimmt nach einer Geschwindigkeitsänderung der CommandAborted-Ausgang den Wert TRUE an und der Funktionsbaustein zeigt nicht mehr den Status „busy“ an. |
InVelocity bei einer Geschwindigkeitsüberlagerung mit MC_MoveSuperImposed Eine Geschwindigkeitsänderung durch den Funktionsbaustein MC_MoveSuperImposed ist erlaubt und führt auch nicht zu einem Abbruch der Aktivität des Funktionsbausteins. Obwohl sich die Geschwindigkeit verändert, bleibt der InVelocity-Ausgang TRUE, weil sich die Gesamtgeschwindigkeit aus der Grundgeschwindigkeit, die sich nicht verändert hat, und einer dieser Grundgeschwindigkeit überlagerten Geschwindigkeit (Superposition) zusammensetzt. |
Der Funktionsbaustein bleibt „Busy“ und „Active“, bis das Kommando abgelöst wird.
Siehe auch: Allgemeine Regeln für MC-Funktionsbausteine
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.0.0 | PC oder CX (x86 oder x64) | Tc2_MC2 |