MC_BacklashCompensation

MC_BacklashCompensation 1:

Mit dem Funktionsbaustein MC_BacklashCompensation werden zusammen mit dem Achs-Parameter Position Correction Lose kompensiert. Es ist möglich, negative sowie positive Lose zu kompensieren.

MC_BacklashCompensation 2:

Verwendungshinweise und nötige Einstellungen in TwinCAT:

  • Die hier beschriebene Funktionalität arbeitet mit dem Parameter Position Correction. Dieser Parameter muss zwingend im TwinCAT XAE oder per ADS aktiviert werden (siehe auch TwinCAT 3 NC PTP Axes). Die im XAE angebotene Funktion Backlash Compensation ist lediglich aus Kompatibilitätsgründen noch vorhanden. Verwenden Sie diese nicht bei neuen Projekten.
  • Wenn der Anwender zusätzlich parallel zum Funktionsbaustein MC_BacklashCompensation (deren Implementierung auf der Funktion Position Correction basiert) für andere Zwecke ebenfalls die Funktion Position Correction verwenden will, dann ist diese „doppelte Nutzung“ des Parameters durch einen Workaround in der SPS lösbar, indem die Summe aus beiden Anforderungen unter Verwendung des Funtkionsbausteins MC_PositionCorrectionLimiter eingespeist wird.

MC_BacklashCompensation 3: Eingänge

VAR_INPUT
    Enable                           : BOOL;   
    Backlash                         : LREAL;
    CompensationInPositiveDirection  : BOOL;
    Ramp                             : LREAL;
    DisableMode                      : E_DisableMode;
    Options                          : ST_BacklashCompensationOptions;
END_VAR

Name

Typ

Beschreibung

Enable

BOOL

Das Kommando wird so lange ausgeführt, wie Enable aktiv ist. Die Losekompensation wird hiermit aktiviert.

Backlash

LREAL

Kompensations-Wert mit Vorzeichen [mm]. Wenn der Default-Wert genutzt wird, wird der interne NC Backlash-Wert per ADS gelesen und in diesem Funktionsblock genutzt.

CompensationInPositiveDirection

BOOL

Die Kompensation findet in der ausgewählten Arbeitsrichtung statt. FALSE (Default): Losekompensation muss ausgeführt werden, wenn in negative Richtung gefahren wird. TRUE: Losekompensation muss ausgeführt werden, wenn in positive Richtung gefahren wird.

Ramp

LREAL

Geschwindigkeitslimit für eingegebene Losekompensation (konstante Geschwindigkeit und lineare Position als Unterprofile für Losekompensation [mm/s]).

DisableMode

E_DisableMode

Abschaltmodus: (0)=HOLD, (1)=RESET

Options

ST_BacklashCompensationOptions

Optionale Parameter (nicht implementiert)

MC_BacklashCompensation 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_BacklashCompensation 5: Ausgänge

VAR_OUTPUT    
    Enabled                      : BOOL; 
    Busy                         : BOOL;
    Error                        : BOOL;
    ErrorId                      : UDINT;
    CurrentBacklash              : LREAL;
    Limiting                     : BOOL;
END_VAR

Name

Typ

Beschreibung

Enabled

BOOL

Dieser Ausgang wird TRUE, wenn die Losekompensation ohne Fehler aktiviert wurde.

Busy

BOOL

Dieser Ausgang wird TRUE, wenn das Kommando mit Enable gestartet wird, und bleibt es dann so lange, wie der Funktionsbaustein das Kommando ausführt.

Error

BOOL

Dieser Ausgang wird TRUE, wenn bei der Ausführung des Kommandos ein Fehler aufgetreten ist.

ErrorId

UDINT

Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Kommandos. Der Fehlercode kann in der ADS-Fehlerdokumentation oder in der NC-Fehlerdokumentation (Fehlercodes 0x4nnn und 0x8nnn) nachgeschlagen werden.

CurrentBacklash

LREAL

Aktueller Kompensations-Wert [mm].

Limiting

BOOL

Dieser Ausgang wird TRUE, wenn der Funktionsblock aktuell die Losekompensation limitiert.

TYPE E_DisableMode:

(
    DisableModeHold         :=0, (* hold on the last output value (default) *)
    DisableModeReset        :=1 (* reset the output value to zero (jump to zero) *)
(*DisableModeRamp           :=2 *) (* ramp down the output to zero (NOT NEEDED YET) *)
);
END_TYPE

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT V3.0.0

PC or CX (x86 or x64)

Tc2_MC2