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

AXIS_REF

Übergabe der Achsdatenstruktur

Motion-Achsen (AXIS_REF)

Execute

BOOL

FALSE ä TRUE

Positionierung starten.

ContinuousUpdate

BOOL

Kontinuierliche Übernahme der Profilparameter

Steuereingang ContinuousUpdate

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

  • In Abhängigkeit der Profilparameter Position , Acceleration, Deceleration und Jerk kann es sein, dass der Antrieb die maximale Geschwindigkeit gar nicht erreicht.

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

MC_BUFFER_MODE

Modus für die Abarbeitung aufeinanderfolgender Bewegungskommandos

BufferMode

Ausgänge

Name

Datentyp

Wert/Bedeutung

Done

BOOL

TRUE

Positionierung erfolgreich beendet.

Busy

BOOL

TRUE

Abarbeitung läuft.

Active

BOOL

TRUE

Das Kommando des FBs wird aktuell ausgeführt.

  • Der Ausgang Active ist dann von Bedeutung, wenn eine Bewegungssteuerung durch mehrere FBs (BufferMode) erfolgt.

CommandAborted

BOOL

TRUE

Das Kommando wurde durch einen anderen FB abgebrochen.

Error

BOOL

TRUE

Es ist ein Fehler aufgetreten. Details siehe ErrorID .

ErrorID

L_IE1P_Error

Wenn Error = TRUE: Fehlernummer zum aufgetretenen Fehler.

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