MC_MoveContinuousAbsolute

MC_MoveContinuousAbsolute 1:

MC_MoveContinuousAbsolute startet eine Positionierung auf eine absolute Zielposition und überwacht die Achsbewegung über den gesamten Fahrweg. An der Zielposition wird eine konstante Endgeschwindigkeit erreicht, die beibehalten wird. Der InEndVelocity-Ausgang wird gesetzt, wenn die Zielposition angefahren wurde. Anderenfalls wird der CommandAborted- oder im Fehlerfall der Error-Ausgang gesetzt.

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

Eingänge


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

MC_BufferMode

Execute

Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt.

Position

Absolute Zielposition

Velocity

Maximale Geschwindigkeit mit der die Zielposition angefahren werden soll (>0).

EndVelocity

Endgeschwindigkeit, die nach Erreichen die Zielposition beibehalten werden soll.

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.
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

Die Datenstruktur Options enthält zusätzliche, selten benötigte Parameter. Im Normalfall kann der Eingang offen bleiben.

Allgemeine Regeln für MC-Funktionsbausteine

Ausgänge

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

InEndVelocity

Der Ausgang InEndVelocity wird TRUE, wenn die Zielposition erreicht wurde.

Der Funktionsbaustein bleibt Busy und Active bis das Kommando abgelöst wird.

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 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.

Allgemeine Regeln für MC-Funktionsbausteine

Ein/Ausgänge


VAR_IN_OUT
Axis : AXIS_REF;
END_VAR

AXIS_REF

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_MoveContinuousAbsolute 2:

MC_MoveContinuousAbsolute ist nicht implementiert für Eil-/Schleichachsen.