MC_TouchProbe Datenstrukturen
MC_InputRef
MC_InputRef
TYPE MC_InputRef :
STRUCT
EncoderID : UDINT; (* 1..255 *)
TouchProbe : E_TouchProbe; (* Signal source *)
Edge : E_SignalEdge; (* rising or falling signal edge *)
PlcEvent : BOOL; (* PLC trigger signal input when TouchProbe signal source is set to 'PlcEvent' *)
ProbeState : E_TouchProbeState; (* internal state of the touch probe sequence *)
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 Signalquelle innerhalb der verwendeten Encoder-Hardware, die die Messtasterfunktion triggert.
Edge : Legt fest, ob die steigende oder fallende Flanke des Trigger-Signals ausgewertet wird.
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.
ProbeState : Interner Zustand der Messtasterfunktion. Diese Variable darf nicht beschrieben werden.
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 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.
E_TouchProbe
E_TouchProbe
Der Datentyp E_TouchProbe beschreibt, welches Signal von einer Signalquelle für die Messtasterfunktion verwendet wird.
TYPE E_TouchProbe :
(
TouchProbe1 := 1,
TouchProbe2,
TouchProbe3,
TouchProbe4,
PlcEvent := 10
);
END_TYPE
TouchProbe1..TouchProbe4 : Signalquelle innerhalb der Encoder-Hardware (z. B. Antrieb AX2000, KL5001). Hardwareabhängig können bis zu vier Trigger-Signale ausgewertet werden, es wird aber zur Zeit nur das erste Signal, also TouchProbe1 unterstützt.
PlcEvent : PlcEvent definiert ein Trigger-Signal, das nicht mit einer Encoder-Hardware verschaltet ist, sonder direkt in der SPS erzeugt wird, also eine normale BOOL Variable. Dieses SPS-Trigger-Signal wird in die Datenstruktur MC_InputRef in die Variable PlcEvent eingespeist. Es führt dazu, dass die derzeit aktuelle Achsposition aufgezeichnet wird. Das PlcEvent ist keine echte Latch-Funktion, sondern Zykluszeit-abhängig.
E_SignalEdge
E_SignalEdge
TYPE E_SignalEdge :
(
RisingEdge,
FallingEdge
);
END_TYPE
Steigende oder fallende Flanke des Trigger-Signals.
E_TouchProbeState
E_TouchProbeState
TYPE E_TouchProbeState :
(
TouchProbeInactive,
TouchProbeActivated,
TouchProbeAborted
);
END_TYPE
Interner Zustand der Messtasterfunktion.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
ab TwinCAT v2.9 Build 1000 | PC (i386) | TcMC.Lib |