MC_SetEncoderScalingFactor

MC_SetEncoderScalingFactor ändert den Skalierungsfaktor des aktiven Encoders einer Achse entweder im Stillstand oder in Bewegung.

Die Änderung kann absolut oder relativ durchgeführt werden. Da sich durch Änderung des Skalierungsfaktors im absoluten Modus ein Positionssprung ergibt, ist dieser Mode nur im Stilstand geeignet. Im relativen Modus wird gleichzeitig ein interner Positionsoffset so angepasst, dass es keinen Sprung gibt. Es ist aber zu beachten, dass sich durch einen Eingriff während der Fahrt bei gleichbleibender realer Geschwindigkeit die Istgeschwindigkeit der Achse ändert. Daher können nur kleine Änderungen während der Fahrt durchgeführt werden.

Eingänge


VAR_INPUT
Execute       : BOOL;
ScalingFactor : LREAL;
Mode          : E_SetScalingFactorMode;
Options : ST_SetEncoderScalingOptions;
END_VAR

Execute

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

ScalingFactor

Skalierungsfaktor des aktiven Encoders einer Achse. Der Skalierungsfaktor wird in physikalischen Positionseinheiten [u] dividiert durch die Anzahl der Encoder-Inkremente angegeben.

Mode

Der Skalierungsfaktor kann im absoluten oder relativen Modus gesetzt werden (ENCODERSCALINGMODE_ABSOLUTE, ENCODERSCALINGMODE_RELATIVE).
Im absoluten Modus beginnt die Zählung im Nullpunkt des Achskoordinatensystems, daher ergibt sich ein Positionssprung, wenn der Skalierungsfaktor geändert wird. Im relativen Modus ändert sich die Istposition der Achse nicht. Dieser Mode ist daher auch für die Änderung in Bewegung geeignet.

Options

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

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;
Options : ST_SetPositionOptions;
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.