MC_MoveAdditive
Mit diesem FB lässt sich eine relative Positionierung bezogen auf die zuletzt beauftragte Zielposition im Zustand " DiscreteMotion " durchführen.
- Die zuletzt beauftragte Zielposition kann das Ergebnis eines zuvor durchgeführten Bewegungskommandos " MoveAdditive " sein, das abgebrochen wurde.
- Wird das Bewegungskommando im Zustand " ContinuousMotion " gestartet, gilt als Bezug für die relative Positionierung die Sollposition zum Zeitpunkt der Ausführung.
|
|
|
|
MC_MoveAdditive |
|
|
|
|
|---|---|---|---|---|---|---|---|
|
AXIS_REF |
- |
|
Axis |
Done |
|
- |
BOOL |
|
BOOL |
- |
|
Execute |
Busy |
|
- |
BOOL |
|
BOOL |
- |
|
ContinuousUpdate |
Active |
|
- |
BOOL |
|
LREAL |
- |
|
Distance |
CommandAborted |
|
- |
BOOL |
|
LREAL |
- |
|
Velocity |
Error |
|
- |
BOOL |
|
LREAL |
- |
|
Acceleration |
ErrorID |
|
- |
L_IE1P_Error |
|
LREAL |
- |
|
Deceleration |
|
|
|
|
|
LREAL |
- |
|
Jerk |
|
|
|
|
|
MC_BUFFER_MODE |
- |
|
BufferMode |
|
|
|
|
|
|
|
|
|
|
|
|
|
Eingänge
|
Name Datentyp |
Info/Einstellmöglichkeiten |
|
|---|---|---|
|
Axis |
Übergabe der Achsdatenstruktur |
|
|
Execute BOOL |
FALSE ä TRUE |
Positionierung starten. |
|
ContinuousUpdate BOOL |
Kontinuierliche Übernahme der Profilparameter |
|
|
FALSE |
Die Profilparameter ( Position , Velocity , Acceleration , ...) werden mit einer steigenden Flanke an Execute übernommen. |
|
|
TRUE |
Die Profilparameter werden kontinuierlich übernommen, d. h. während der Abarbeitung ist eine Änderung des Bewegungsprofils möglich. |
|
|
Distance LREAL |
Zu verfahrende Wegstrecke in [Units] |
|
|
Velocity LREAL |
Maximale Geschwindigkeit in [Units/s] für das Anfahren der Zielposition
Sonderfall : Velocity = 0: Es wird der in Subindex 40 vorgegebene Default-Wert zur Geschwindigkeit verwendet. |
|
|
Acceleration LREAL |
Maximale Beschleunigung in [Units/s 2 ] Sonderfall : Acceleration = 0: Es wird der in Subindex 41 vorgegebene Default-Wert zur Beschleunigung verwendet. |
|
|
Deceleration LREAL |
Maximale Verzögerung in [Units/s 2 ] Sonderfall : Deceleration = 0: Es wird der in Subindex 41 vorgegebene Default-Wert zur Beschleunigung verwendet. |
|
|
Jerk LREAL |
Maximaler Ruck in [Units/s 3 ] Sonderfall : Jerk = 0: Es wird der in Subindex 43 vorgegebene Default-Wert zum Ruck verwendet. |
|
|
BufferMode |
Modus für die Abarbeitung aufeinanderfolgender Bewegungskommandos |
|
Ausgänge
Das folgende Beispiel zeigt das Verhalten von MC_MoveAdditive in Kombination mit dem Bewegungskommando MC_MoveAbsolute , während sich die Achse im Zustand "DiscreteMotion" befindet.
-
Fall
: FB2 wird erst gestartet, nachdem FB1 seine beauftragte Position "6000" erreicht hat (und die Geschwindigkeit = "0" ist).
- Der Done -Ausgang von FB1 startet die Ausführung von FB2.
- FB2 addiert zur zuvor beauftragten Position "6000" die Distanz "4000" und verfährt die Achse zur sich hieraus ergebenden Position "10000".
-
Fall
: FB2 wird (mittels eines Testsignals) gestartet, bevor FB1 seine beauftragte Position erreicht hat.
- Die Ausführung von FB1 wird abgebrochen ( CommandAborted = TRUE).
- FB2 addiert zur zuvor beauftragten Position "6000" die Distanz "4000" und verfährt die Achse zur sich hieraus ergebenden Position "10000".
Beispiel: Verkettung von MC_MoveAbsolute und MC_MoveAdditive
Motion-Achsen (AXIS_REF)