MC_TouchProbe

MC_TouchProbe 1:

Mit dem Funktionsbaustein MC_TouchProbe wird eine Achsposition zum Zeitpunkt eines digitalen Signals (Messtasterfunktion) erfasst. Die Position wird üblicherweise nicht direkt in der SPS-Umgebung, sondern über ein externes Hardware-Latch erfasst und ist damit hochgenau und von der Zykluszeit unabhängig. Der Baustein steuert diesen Mechanismus und ermittelt die extern erfasste Position.

MC_TouchProbe 2:

Der Funktionsbaustein wurde gegenüber TwinCAT 2 erweitert und entspricht der Funktion des bisherigen Bausteins MC_TouchProbe_V2.

Voraussetzungen

Voraussetzung für die Positionserfassung ist eine geeignete Encoder-Hardware, die in der Lage ist, die erfasste Position zu latchen. Unterstützt werden:

Das digitale Trigger-Signal wird mit dieser Hardware verdrahtet und führt unabhängig vom SPS-Zyklus zum Aufzeichnen der aktuellen Achsposition.

Teilweise müssen diese Endgeräte konfiguriert werden, damit eine Positionserfassung möglich ist. Beckhoff-EtherCAT-Antriebe können mit dem System Manager konfiguriert werden. Hierbei muss beachtet werden, dass die Probe-Unit mit dem erweiterten Interface „Extended NC Probe Unit“ konfiguriert werden muss.

MC_TouchProbe 3:

Nachdem ein Messtasterzyklus durch eine steigende Flanke am Eingang „Execute“ gestartet wurde, wird dieser erst beendet, wenn die Ausgänge „Done“, „Error“ oder „CommandAborted“ TRUE werden. Soll der Vorgang zwischenzeitlich abgebrochen werden, muss der Funktionsbaustein MC_AbortTrigger mit derselben TriggerInput-Datenstruktur aufgerufen werden. Anderenfalls kann kein neuer Zyklus gestartet werden.

Signalverlauf

MC_TouchProbe 4:

MC_TouchProbe 5: Eingänge

VAR_INPUT
    Execute       : BOOL;
    WindowOnly    : BOOL;
    FirstPosition : LREAL;
    LastPosition  : LREAL;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Mit einer steigenden Flanke wird das Kommando ausgeführt.

WindowOnly

BOOL

Wenn WindowOnly = TRUE ist, wird nur eine Position innerhalb des Fensters zwischen „FirstPosition“ und „LastPosition“ erfasst. Positionen außerhalb des Fensters werden verworfen und das externe Positionslatch wird automatisch neu aktiviert. Erst wenn die erfasste Position innerhalb des Fensters liegt, wird „Done“ TRUE. Das Erfassungsfenster kann absolut oder modulo interpretiert werden. Dazu muss das Flag „ModuloPositions“ in der TriggerInput-Datenstruktur entsprechend gesetzt werden. Bei absoluten Positionen gibt es exakt ein Fenster. Bei Modulo-Positionen wiederholt sich das Fenster innerhalb des in den Achsparametern festgelegten Modulo-Zyklus (z. B. 0 bis 360 Grad).

FirstPosition

LREAL

Anfangsposition des Erfassungsfensters, wenn „WindowOnly“ TRUE ist. Diese Position kann absolut oder modulo interpretiert werden. Dazu muss in der TriggerInput-Datenstruktur das Flag „ModuloPositions“ entsprechend gesetzt werden.

LastPosition

LREAL

Endposition des Erfassungsfensters, wenn „WindowOnly“ TRUE ist. Diese Position kann absolut oder modulo interpretiert werden. Dazu muss das Flag „ModuloPositions“ in der TriggerInput-Datenstruktur entsprechend gesetzt werden.

MC_TouchProbe 6:

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC oder CX (x86 oder x64)

Tc2_MC2

MC_TouchProbe 7: Ausgänge

VAR_OUTPUT
    Done             : BOOL;
    Busy             : BOOL;
    CommandAborted   : BOOL;
    Error            : BOOL;
    ErrorId          : UDINT;
    RecordedPosition : LREAL;
    RecordedData     : MC_TouchProbeRecordedData; 
END_VAR 

Name

Typ

Beschreibung

Done

BOOL

TRUE, wenn eine Achsposition erfolgreich erfasst wurde. Die Position wird am Ausgang „RecordedPosition“ ausgegeben.

Busy

BOOL

TRUE, sobald der Baustein aktiv ist. FALSE, wenn er sich im Grundzustand befindet.

CommandAborted

BOOL

TRUE, wenn der Vorgang von außen, z. B. durch den Aufruf von MC_AbortTrigger, abgebrochen wurde.

Error

BOOL

TRUE, wenn ein Fehler auftritt.

ErrorID

UDINT

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

RecordedPosition

LREAL

Erfasste Achsposition zum Zeitpunkt des Trigger-Signals

RecordedData

MC_TouchProbeRecordedData

Datenstruktur mit ergänzenden Informationen zur erfassten Achsposition zum Zeitpunkt des Trigger-Signals

MC_TouchProbe 8: Ein-/Ausgänge

VAR_IN_OUT
    Axis         : AXIS_REF;
    TriggerInput : TRIGGER_REF; 
END_VAR

Name

Typ

Beschreibung

Axis

AXIS_REF

Achsdatenstruktur

TriggerInput

TRIGGER_REF

Datenstruktur zur Beschreibung der Trigger-Quelle. Diese Datenstruktur muss vor dem ersten Aufruf des Funktionsbausteins parametriert werden.