TRIGGER_REF

TYPE TRIGGER_REF :
STRUCT
    TouchProbe      : E_TouchProbe; (* probe unit definition *)
    SignalSource    : E_SignalSource; (* optional physical signal source used by the probe unit *)
    Edge            : E_SignalEdge; (* rising or falling signal edge *)
    Mode            : E_TouchProbeMode; (* single shot or continuous monitoring *)
    PlcEvent        : BOOL; (* PLC trigger signal input when TouchProbe signal source is set to 'PlcEvent' *)
    ModuloPositions : BOOL; (* interpretation of FirstPosition, LastPosition and RecordedPosition as modulo positions when TRUE *)
END_STRUCT
END_TYPE

TouchProbe: Definiert die verwendete Latch-Einheit (Probe-Unit) innerhalb der verwendeten Encoder-Hardware.

TYPE E_TouchProbe :
(
    TouchProbe1  := 1, (* 1st hardware probe unit *)
    PlcEvent     := 10    (* simple PLC signal TRUE/FALSE *)
);
END_TYPE

SignalSource: Definiert optional die Signalquelle, soweit diese über die Steuerung gewählt werden kann. In vielen Fällen wird die Signalquelle fest im Antrieb konfiguriert und sollte dann auf den Standardwert „SignalSource_Default“ eingestellt sein.

TYPE E_SignalSource :
(
    SignalSource_Default,          (* undefined or externally configured *)
    SignalSource_ZeroPulse := 128, (* encoder zero pulse *)
);
END_TYPE

Edge: Legt fest, ob die steigende oder fallende Flanke des Trigger-Signals ausgewertet wird.

TYPE E_SignalEdge :
(
    RisingEdge,
    FallingEdge
);
END_TYPE

Mode: Legt die Betriebsart der Latch-Einheit fest. Im Single-Mode wird nur die erste Flanke erfasst.

TYPE E_TouchProbeMode :
(
    TOUCHPROBEMODE_SINGLE := 1
);
END_TYPE

PlcEvent: Wenn die Signalquelle „TouchProbe“ auf den Typ „PlcEvent“ eingestellt ist, führt eine steigende Flanke an dieser Variablen zum Aufzeichnen der aktuellen Achsposition. Das „PlcEvent“ ist keine echte Latch-Funktion, sondern abhängig von der Zykluszeit.

ModuloPositions: Wenn die Variable „ModuloPositions“ FALSE ist, wird die Achsposition in einem absoluten linearen Bereich von - ∞ bis + ∞ interpretiert. Die Positionen „FirstPosition“, „LastPosition“ und „RecordedPosition“ des Funktionsbausteins MC_TouchProbe sind dann ebenfalls absolut.
Wenn „ModuloPositions“ TRUE ist, werden alle Positionen modulo im Modulo-Bereich der verwendeten Achse interpretiert (z. B. 0..359.9999). Gleichzeitig bedeutet das, dass ein definiertes Trigger-Fenster sich zyklisch wiederholt.