XFC_TimeCam

XFC_TimeCam 1:

XFC_TimeCam realisiert eine Zeitnocke, die einen digitalen Ausgang positionsabhängig einschaltet und nach einer Zeit ausschaltet.

Im Gegensatz zum digitalen Nockenschaltwerk MC_DigitalCamSwitch schaltet der Funktionsbaustein genau eine Nocke auf einer digitalen Ausgangsspur. Der Baustein ist damit einfacher parametrierbar, kann aber nicht eingesetzt werden, wenn mehrere Nocken auf einer Ausgangsspur notwendig sind.

Die Output-Datenstruktur enthält neben dem Schaltzustand des digitalen Ausgangs genaue Zeitinformationen über die nächsten Schaltvorgänge. Mit dieser Information kann die eigentliche Ausgabe an einer XFC-Ausgangsklemme mit einem nachgeschalteten Funktionsbaustein erfolgen (XFC_EL2252 oder XFC_EL2262).

Eingänge

VAR_INPUT
    FirstOnPosition : LREAL;
    Duration        : LREAL;
    Modulo          : BOOL;
    ModuloFactor    : LREAL := 360;
    OnCompensation  : LREAL; 
    OffCompensation : LREAL;
    Options         : ST_CamSwitchOptions; 
END_VAR

FirstOnPosition

Erste Position, ab der die Nocke eingeschaltet ist.

Duration

Einschaltdauer der Nocke in [s].

Modulo

Wenn Modulo TRUE ist, werden alle Positionen modulo interpretiert. Die Nockenfunktion wird dadurch zyklisch wiederholt. Zur Berechnung des Modulo-Zyklus wird der Parameter ModuloFactor verwendet.

ModuloFactor

ModuloFactor gibt die Länge eines Modulo-Zyklus in der Positionseinheit der Achse an und wird nur verwendet, wenn Modulo TRUE ist.

OnCompensation

Kompensationszeit für die steigende Flanke der Nocke in [s]. Der Schaltzeitpunkt wird bei negativen Werten von OnCompensation vorgezogen und sonst verzögert.
Der hier parametrierte Wert OnCompensation hat Vorrang vor TRACK_REF.

OffCompensation

Kompensationszeit für die fallende Flanke der Nocke in [s]. Der Schaltzeitpunkt wird bei negativen Werten von OffCompensation vorgezogen und sonst verzögert.
Der hier parametrierte Wert OffCompensation hat Vorrang vor TRACK_REF.

Options

Optionale Parameter

Options.

EncoderIndex

Wenn mehr als ein Encoder mit der Achse verbunden ist, kann der Encoder-Index [0..9] hier festgelegt werden. Der erste Encoder hat den Index 0.

Options.

UseAcceleration

UseAcceleration kann TRUE gesetzt werden, um die Beschleunigung der Achse in die Positions-Berechnungen mit einzubeziehen. UseAcceleration kann von Vorteil sein, wenn die Sollwerte der Beschleunigung verwendet werden können. Bei Encoder-Achsen, die ein verrauschtes Positionssignal liefern, ist UseAcceleration eventuell von Nachteil, da auch die Beschleunigung fehlerhaft ist.

Ein/Ausgänge

VAR_IN_OUT
    Output : OUTPUT_REF
    Axis   : AXIS_REF; 
END_VAR

Output

Die Datenstruktur Output enthält den berechneten Zustand des digitalen Ausgangs und die zugehörigen Zeitstempel für die Ausgabe an einer digitalen XFC-Ausgangsklemme

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.

Wirkungsweise der Zeitkompensation

XFC_TimeCam 2: