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