MC_SetEncoderScalingFactor

MC_SetEncoderScalingFactor 1:

Mit dem Funktionsbaustein MC_SetEncoderScalingFactor wird der Skalierungsfaktor des aktiven Encoders einer Achse entweder im Stillstand oder in Bewegung geändert.

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 muss beachtet werden, dass sich durch einen Eingriff während der Fahrt bei gleichbleibender realer Geschwindigkeit die Ist-Geschwindigkeit der Achse ändert. Daher können nur kleine Änderungen während der Fahrt durchgeführt werden.

MC_SetEncoderScalingFactor 2: Eingänge

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

Name

Typ

Beschreibung

Execute

BOOL

Mit einer steigenden Flanke wird das Kommando ausgeführt.

ScalingFactor

LREAL

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

Mode

E_SetScalingFactorMode

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

ST_SetEncoderScalingOptions

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

  • SelectEncoderIndex: Kann gesetzt werden, wenn eine Achse mit mehreren Encodern verwendet wird und die Position eines bestimmten Encoders (Options.EncoderIndex) gesetzt werden soll.
  • EncoderIndex: Gibt den Encoder (0..n) an, wenn „SelectEncoderIndex“ TRUE ist.

Siehe auch: Allgemeine Regeln für MC-Funktionsbausteine

MC_SetEncoderScalingFactor 3: 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_SetEncoderScalingFactor 4: Ausgänge

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

Name

Typ

Beschreibung

Done

BOOL

TRUE, wenn die Position erfolgreich gesetzt wurde.

Busy

BOOL

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

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