MC_MoveAdditive
MC_MoveAdditive startet eine relative Positionierung ausgehend von der letzten beauftragten Zielposition unabhängig davon ob diese erreicht wurde. Der Done-Ausgang wird gesetzt, wenn die Zielposition angefahren wurde. Anderenfalls wird der CommandAborted- oder im Fehlerfall der Error-Ausgang gesetzt.
Ist keine letzte Zielposition bekannt oder bewegt sich die Achse endlos, so wird die Bewegung ausgehend von der aktuellen Sollposition der Achse ausgeführt.
Eingänge
VAR_INPUT
Execute : BOOL;
Distance : LREAL;
Velocity : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
BufferMode : MC_BufferMode;
Options : ST_MoveOptions;
END_VAR
Execute |
Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt. |
Distance |
Relative Fahrstrecke um die positioniert werden soll. |
Velocity |
Maximale 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. |
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
Done : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Done |
Der Ausgang Done wird TRUE, wenn die Zielposition erreicht wurde. |
Busy |
Der Busy-Ausgang wird TRUE, sobald das Kommando mit Execute gestartet wird und bleibt TRUE, solange der Fahrbefehl abgearbeitet wird. Wenn Busy wieder FALSE wird, so ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge Done, 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. |
Ein/Ausgänge
VAR_IN_OUT
Axis : AXIS_REF;
END_VAR
Axis |
Achsdatenstruktur |
Die Achsdatenstruktur vom Typ AXIS_REF adressiert eine Achse eindeutig im System. Sie enthält unter anderem den aktuellen Status der Achse, wie Position, Geschwindigkeit oder Fehlerzustand.
![]() | MC_MoveAdditive ist nicht implementiert für Eil-/Schleichachsen. |