MC_TouchProbe_V2

Der Baustein MC_TouchProbe_V2 erfasst eine Achsposition zum Zeitpunkt eines digitalen Signals (Messtasterfunktion). Die Position wird üblicherweise nicht direkt in der SPS-Umgebung, sondern über ein externes Hardware-Latch erfasst und ist damit hochgenau und Zykluszeit-unabhängig. Der Baustein steuert diesen Mechanismus und ermittelt die extern erfasste Position.
Die Funktion des Bausteins MC_TouchProbe_V2 ist ähnlich der des Bausteins MC_TouchProbe. Mit mehreren Instanzen ist es aber möglich, bis zu zwei Probe-Units eines Antriebs gleichzeitig zu bedienen und es kann parallel die steigende und fallende Signalflanke mit jeweils einer Instanz erfasst werden. Weiterhin steht ein Continuous-Mode zur Verfügung der ohne erneute Aktivierung aufeinanderfolgende Signalflanken auswertet.
Voraussetzungen
- TwinCAT ab Version 2.11 R2 Build 2022 (davor MC_TouchProbe verwenden)
Voraussetzung für die Positionserfassung ist eine geeignete Encoder-Hardware, die in der Lage ist, die erfasste Position zu latchen. Unterstützt werden:
- SERCOS Antriebe
Der Antrieb muss abweichend von MC_TouchProbe mit einer erweiterten Schnittstelle konfiguriert werden, bei der die Parameter S-0-0405 bzw. S-0-0406 im Prozessabbild enthalten sind. Siehe dazu ... - EtherCAT SoE Antriebe (z. B. AX5000)
Der Antrieb muss abweichend von MC_TouchProbe mit einer erweiterten Schnittstelle konfiguriert werden, bei der die Parameter S-0-0405 bzw. S-0-0406 im Prozessabbild enthalten sind. Siehe dazu ... - EtherCAT CoE Antriebe
Der Antrieb muss mit dem Parameter 0x60B9 (Touch Probe Status) im Prozessabbild konfiguriert werden. - EL5101, KL5101
Latchen der C-Spur und des digitalen Eingangs ist möglich. Mit dieser Hardware kann zeitgleich nur ein Signal bzw. eine Flanke erfasst werden. Der Continuous-Mode wird nicht unterstützt.
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 SystemManager konfiguriert werden. Hierbei ist zu beachten, dass die Probe-Unit mit dem erweiterten Interface "Extended NC Probe Unit" konfiguriert werden muss.
![]() | Nachdem ein Messtasterzyklus durch eine steigende Flanke am Execute Eingang gestartet wurde, wird dieser erst beendet, wenn die Ausgänge Done, Error oder CommandAborted TRUE werden. Soll der Vorgang zwischenzeitlich abgebrochen werden, so muss der Baustein MC_AbortTrigger_V2 mit derselben TriggerInput Datenstruktur aufgerufen werden. Anderenfalls kann kein neuer Zyklus gestartet werden. |
Signalverlauf
Eingänge
VAR_INPUT
Execute : BOOL;
WindowOnly : BOOL;
FirstPosition : LREAL;
LastPosition : LREAL;
END_VAR
Execute |
Mit der steigenden Flanke wird das Kommando ausgeführt und das externe Positionslatch wird aktiviert. |
WindowOnly |
Wenn diese Option aktiv 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. |
FirstPosition |
Anfangsposition des Erfassungsfensters, wenn WindowOnly TRUE ist. Diese Position kann absolut oder modulo interpretiert werden. Dazu ist in der Struktur TriggerInput (siehe unten) das Flag ModuloPositions entsprechend zu setzen. |
LastPosition |
Endposition des Erfassungsfensters, wenn WindowOnly TRUE ist. Diese Position kann absolut oder modulo interpretiert werden. Dazu ist in der Struktur TriggerInput (siehe unten) das Flag ModuloPositions entsprechend zu setzen. |
Ausgänge
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
RecordedPosition : LREAL;
RecordedData : MC_TouchProbeRecordedData;
END_VAR
Done |
Wird TRUE, wenn eine Achsposition erfolgreich erfasst wurde. Die Position wird am Ausgang RecordedPosition ausgegeben. |
Busy |
Wird TRUE sobald der Baustein aktiv ist und wird FALSE nachdem er sich wieder im Grundzustand befindet. |
CommandAborted |
Wird TRUE wenn der Vorgang von außen, z. B. durch den Aufruf von MC_AbortTrigger, abgebrochen wurde. |
Error |
Wird TRUE, sobald ein Fehler auftritt. |
ErrorID |
Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |
RecordedPosition |
Erfasste Achsposition zum Zeitpunkt des Trigger-Signals |
RecordedData |
Datenstruktur mit ergänzenden Informationen zur erfassten Achsposition zum Zeitpunkt des Trigger-Signals |
Ein/Ausgänge
VAR_IN_OUT
Axis : AXIS_REF;
TriggerInput : TRIGGER_REF;
END_VAR
Axis | |
TriggerInput |
Datenstruktur TRIGGER_REF zur Beschreibung der Trigger-Quelle |