Datentyp TRIGGER_REF
TYPE TRIGGER_REF :
STRUCT
EncoderID : UDINT; (* 1..255 *)
TouchProbe : E_TouchProbe; (* probe unit definition *)
SignalSource : E_SignalSource; (* optional physical signal source used by the probe unit
- available from TwinCAT 2.11 Build 2022 with MC_TouchProbe_V2 *)
Edge : E_SignalEdge; (* rising or falling signal edge *)
Mode : E_TouchProbeMode; (* single shot or continuous monitoring
- available from TwinCAT 2.11 Build 2022 with MC_TouchProbe_V2 *)
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
EncoderID : Die ID des Encoders kann im TwinCAT SystemManager abgelesen werden.
TouchProbe : Definiert die verwendete Latch-Einheit (Probe-Unit) innerhalb der verwendeten Encoder-Hardware.
TYPE E_TouchProbe :
(
TouchProbe1 := 1, (* 1st hardware probe unit with Sercos, CanOpen, KL5xxx and others *)
TouchProbe2, (* 2nd probe unit - available from MC_TouchProbe_V2_00 *)
TouchProbe3, (* currently not available *)
TouchProbe4, (* currently not available *)
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. (Einstellmöglichkeit erst mit MC_TouchProbe_V2 verfügbar)
TYPE E_SignalSource :
(
SignalSource_Default, (* undefined or externally configured *)
SignalSource_Input1, (* digital drive input 1 *)
SignalSource_Input2, (* digital drive input 2 *)
SignalSource_Input3, (* digital drive input 3 *)
SignalSource_Input4, (* digital drive input 4 *)
SignalSource_ZeroPulse := 128, (* encoder zero pulse *)
SignalSource_DriveDefined (* defined by drive parameters - e. g. CAN object 0x60D0 *)
);
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. Im Continuous-Mode wird jede Flanke für einen SPS-Zyklus signalisiert. (Mode nur verfügbar mit MC_TouchProbe_V2)
TYPE E_TouchProbeMode :
(
TOUCHPROBEMODE_SINGLE_COMPATIBILITYMODE, (* for TwinCAT 2.10 and 2.11 before Build 2022 - for use with MC_TouchProbe as well *)
TOUCHPROBEMODE_SINGLE, (* multi probe interface - from 2.11 Build 2022 *)
TOUCHPROBEMODE_CONTINOUS (* multi probe interface - from 2.11 Build 2022 *)
);
END_TYPE
PlcEvent : Wenn die Signalquelle TouchProbe auf den Typ PlcEvent eingestellt ist, so führt eine steigende Flanke an dieser Variablen zum Aufzeichnen der aktuellen Achsposition. Das PlcEvent ist keine echte Latch-Funktion, sondern Zykluszeit-abhängig.
ModuloPositions : Wenn die Variable ModuloPositions FALSE ist, so wird die Achsposition in einem absoluten linearen Bereich von -∞ bis +∞ interpretiert. Die Positionen FirstPosition, LastPosition und RecordedPosition des Funktionsbausteins MC_TouchProbe bzw. MC_TouchProbe_V2 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.