MC_SetPosition

MC_SetPosition setzt die aktuelle Achsposition auf einen parametrierbaren Wert.

Im absoluten Modus wird die Istposition auf den parametrierten absoluten Wert Position gesetzt. Im relativen Modus wird die Istposition um den parametrierten Wert Position verschoben. In beiden Fällen wird die Sollposition der Achse so gesetzt, dass ein eventuell vorhandener Schleppfehler erhalten bleibt. Falls der Schleppfehler gelöscht werden soll, so ist das über den Schalter Options.ClearPositionLag möglich.

Der relative Modus ist geeignet, die Achsposition während der Fahrt zu ändern.

Eingänge


VAR_INPUT
Execute  : BOOL;
Position : LREAL;
Mode     : BOOL; (* RELATIVE=True, ABSOLUTE=False (Default)*)
Options  : ST_SetPositionOptions;
END_VAR

Execute

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

Position

Positionswert auf den die Achsposition gesetzt werden soll.
Im absoluten Modus wird die Istposition auf diesen Wert gesetzt, im relativen Modus wird sie um diesen Wert verschoben.

Mode

Die Achsposition wird auf einen absoluten Wert gesetzt, wenn Mode=FALSE ist. Anderenfalls wird die Achsposition relativ um den angegebenen Wert Position verändert. Der relative Modus ist geeignet, um die Position einer Achse während der Fahrt anzupassen.

Options

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

Options.

ClearPositionLag

ClearPositionLag kann optional gesetzt werden, falls Soll- und Istposition auf den gleichen Wert gesetzt werden sollen. Damit wird der Schleppfehler gelöscht.

Options.

SelectEncoderIndex

SelectEncoderIndex kann optional gesetzt werden, falls eine Achse mit mehreren Encodern verwendet wird und die Position eines bestimmten Encoders (Options.EncoderIndex) gesetzt werden soll.

Options.

EncoderIndex

EncoderIndex gibt den Encoder (0..n) an falls SelectEncoderIndex TRUE ist.

Allgemeine Regeln für MC-Funktionsbausteine

Ausgänge


VAR_OUTPUT
Done    : BOOL;
Busy    : BOOL;
Error   : BOOL;
ErrorID : UDINT;
END_VAR

Done

Der Ausgang Done wird TRUE wenn die Position erfolgreich gesetzt wurde.

Busy

Der Busy-Ausgang wird TRUE, sobald das Kommando mit Execute gestartet wird und bleibt TRUE, solange der Befehl abgearbeitet wird. Wenn Busy wieder FALSE wird, so ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge Done oder Error gesetzt.

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

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.