XFC_TRIGGER_REF

Der Datentyp XFC_TRIGGER_REF enthält Status und Parameter eines digitalen Eingangs, der für die Funktion XFC_TouchProbe verwendet wird.

TYPE XFC_TRIGGER_REF :
STRUCT
    Signal               : BOOL; 
    TimestampRisingEdge  : T_DCTIME32;
    TimestampFallingEdge : T_DCTIME32; 
    Edge                 : E_SignalEdge;
    FreeRun              : BOOL; 
    EncoderIndex         : UINT;
    ModuloPositions      : BOOL;
    ModuloFactor         : LREAL := 360.0;
END_STRUCT
END_TYPE

Signal

Aktueller Zustand des digitalen Eingangssignals.
Der aktuelle Zustand muss an dieser Stelle eingespeist werden.

TimestampRisingEdge

Zeitstempel der letzten steigenden Flanke des digitalen Eingangssignals.
Es ist nur notwendig, den Zeitstempel der über Edge definierten Flanke einzuspeisen.
Falls das Eingangssignal einen 64 Bit Zeitstempel T_DCTIME liefert, werden hier nur die unteren 32 Bit eingespeist. Es muss daher sichergestellt sein, dass der Wert zum Zeitpunkt der Auswertung nicht älter als 2 Sekunden ist.

TimestampFallingEdge

Zeitstempel der letzten fallenden Flanke des digitalen Eingangssignals.
Es ist nur notwendig, den Zeitstempel der über Edge definierten Flanke einzuspeisen.
Falls das Eingangssignal einen 64 Bit Zeitstempel T_DCTIME liefert, werden hier nur die unteren 32 Bit eingespeist. Es muss daher sichergestellt sein, dass der Wert zum Zeitpunkt der Auswertung nicht älter als 2 Sekunden ist.

Edge

Edge definiert die Signalflanke, die zur Auswertung der Achsposition verwendet werden soll.
TYPE E_SignalEdge : ( RisingEdge, FallingEdge ); END_TYPE

FreeRun

Wenn FreeRun TRUE ist, wird der Eingang fortlaufend gelatcht.
Beim Funktionsbaustein XFC_TouchProbe muss dann der Eingang Execute TRUE bleiben. Es ist also keine Flanke an Execute notwendig, um den nächsten neuen Positionswert aufzuzeichnen.

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.

ModuloPositions

Wenn Modulo TRUE ist, werden alle Positionen modulo interpretiert. 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.