MC_MoveContinuousRelative

MC_MoveContinuousRelative 1:

Mit dem Funktionsbaustein MC_MoveContinuousRelative wird eine Positionierung um eine relative Distanz gestartet und die Achsbewegung über den gesamten Fahrweg überwacht. An der Zielposition wird eine konstante Endgeschwindigkeit erreicht, die beibehalten wird. Der Ausgang „InEndVelocity“ wird gesetzt, wenn die Zielposition angefahren wurde. Anderenfalls wird der Ausgang „CommandAborted“ oder im Fehlerfall der Ausgang „Error“ gesetzt.

Nachdem die Zielposition erreicht wurde, wird die Funktion des Bausteins abgeschlossen und die Achse wird nicht weiter überwacht.

MC_MoveContinuousRelative 2:

Für Eil-/Schleichachsen ist MC_MoveContinuousRelative nicht implementiert.

MC_MoveContinuousRelative 3: Eingänge

VAR_INPUT
    Execute      : BOOL;
    Distance     : LREAL; 
    Velocity     : LREAL; 
    EndVelocity  : LREAL; 
    Acceleration : LREAL; 
    Deceleration : LREAL; 
    Jerk         : LREAL;
    BufferMode   : MC_BufferMode;
    Options      : ST_MoveOptions;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Mit einer steigenden Flanke wird das Kommando ausgeführt.

Distance

LREAL

Relative Fahrstrecke, um die positioniert werden soll.

Velocity

LREAL

Maximale Geschwindigkeit, mit der „Distance“ abgefahren werden soll (>0).

EndVelocity

LREAL

Endgeschwindigkeit, die nach Abfahren der relativen Strecke „Distance“ beibehalten werden soll.

Acceleration

LREAL

Beschleunigung (≥0)
Bei einem Wert von 0 wirkt die Standardbeschleunigung aus der Achskonfiguration im System Manager.

Deceleration

LREAL

Verzögerung (≥0)
Bei einem Wert von 0 wirkt die Standardverzögerung aus der Achskonfiguration im System Manager.

Jerk

LREAL

Ruck (≥0)
Bei einem Wert von 0 wirkt der Standard-Ruck aus der Achskonfiguration im System Manager.

BufferMode

MC_BufferMode

Wird ausgewertet, wenn die Achse bereits ein anderes Kommando ausführt. MC_MoveContinuousRelative wird nach dem laufenden Kommando aktive oder bricht dieses ab. Übergangsbedingungen vom laufenden zum nächsten Kommando werden ebenfalls durch den BufferMode festgelegt. 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

ST_MoveOptions

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

MC_MoveContinuousRelative 4: Ein-/Ausgänge

VAR_IN_OUT
    Axis : AXIS_REF;
END_VAR

Name

Typ

Beschreibung

Axis

AXIS_REF

Achsdatenstruktur, welche eine Achse eindeutig im System adressiert. Sie enthält unter anderem den aktuellen Status der Achse, wie Position, Geschwindigkeit oder Fehlerzustand.

MC_MoveContinuousRelative 5: Ausgänge

VAR_OUTPUT
    InEndVelocity  : BOOL;
    Busy           : BOOL;
    Active         : BOOL;
    CommandAborted : BOOL;
    Error          : BOOL;
    ErrorID        : UDINT;
END_VAR

Name

Typ

Beschreibung

InEndVelocity

BOOL

TRUE, wenn die Zielposition erreicht wurde.
Der Funktionsbaustein bleibt „Busy“ und „Active“ bis das Kommando abgelöst wird.

Busy

BOOL

TRUE, sobald das Kommando mit „Execute“ gestartet wird und solange der Fahrbefehl abgearbeitet wird. 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.

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