XFC_EL1258_TouchProbe
Der Funktionsbaustein XFC_EL1258_TouchProbe erfasst die Achspositionen zum Zeitpunkt der Flanken eines digitalen Eingangssignals (Messtasterfunktion).
Das digitale Eingangssignal wird mit einer XFC-Eingangsklemme EL1258 mit Zeitstempeln für fallende und steigende Signalflanken erfasst. Der Funktionsbaustein ermittelt die Achspositionen, bei der ein Flankenwechsel stattgefunden hat und gibt sie als RecordedPositions aus.
Im Gegensatz zur klassischen TouchProbe-Funktion MC_TouchProbe ist der digitale Eingang nicht direkt an die Antriebshardware gebunden. Über die Zeitstempel des Eingangs kann die Position jeder EtherCAT oder Sercos-Achse im System aufgezeichnet werden, die mittels Totzeitkompensation exakt synchronisiert ist.
Der Funktionsbaustein kann freilaufend oder im Single-Shot-Betrieb verwendet werden. Im freilaufenden Modus wird jede Flanke des Eingangssignals erfasst (auch mehrere Flanken pro SPS-Zyklus). Im Single-Shot-Betrieb werden nur einmalig die nächsten Flanken erfasst bis der Funktionsbaustein neu getriggert wird.
Über die optionale Fensterfunktion können Signalflanken außerhalb des definierten Positionsfilters ignoriert werden.
Eingänge
VAR_INPUT
Execute : BOOL;
WindowOnly : BOOL;
FirstPosition : LREAL;
LastPosition : LREAL;
Options : ST_XfcTouchProbeOptions;
EL1258 : EL1258_MT_IoInterface;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Wenn Execute aktiv ist, wird die Achsposition an der definierten Signalflanke des Eingangssignals erfasst. Eine fallende Flanke an Execute beendet den Vorgang sofort. |
WindowOnly | BOOL | Wenn diese Option aktiv ist, wird nur eine Position innerhalb des Fensters zwischen FirstPosition und LastPosition erfasst. Positionen außerhalb des Fensters werden verworfen. Erst wenn die erfasste Position innerhalb des Fensters liegt, wird Done TRUE. |
FirstPosition | LREAL | 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 | LREAL | 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. |
Options | Optionale Parameter | |
EL1258 | Prozessabbild der Klemme |
/
Ein-/Ausgänge
VAR_IN_OUT
Axis : AXIS_REF;
TriggerInput : XFC_TRIGGER_REF;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | Die Achsdatenstruktur vom Typ AXIS_REF adressiert eine Achse eindeutig im System. Sie enthält unter anderem den aktuellen Status der Achse, wie Position, Geschwindigkeit oder Fehlerzustand. | |
TriggerInput | TriggerInput ist eine Datenstruktur zur Beschrei-bung der Trigger-Quelle und zur Einspeisung von Zustand und Zeitstempel eines digitalen Ein-gangssignals. Diese Datenstruktur wird vom An-wender gefüllt. |
Ausgänge
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : UDINT;
RecordedPositions : ARRAY[1..10];
NoOfRecordedPositions : UDINT;
Diagnostic : ST_EL1258_Diagnostics
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Done | BOOL | Der Wert RecordedPosition ist gültig. |
Busy | BOOL | Wird TRUE sobald der Baustein aktiv ist und wird FALSE nachdem er sich wieder im Grundzustand befindet. |
Error | BOOL | Wird im Fehlerfall TRUE. |
ErrorID | UDINT | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |
RecordedPositions | ARRAY[1..10] | Ein oder mehrere erfasste Achspositionen zum Zeitpunkt des Trigger-Ereignisses. Wenn TriggerInput.FreeRun TRUE ist, läuft der Funktionsbaustein freilaufend, so dass jede gültige Änderung des Eingangssignals zu einer neuen RecordedPosition führt. Die Positionen können jeweils ausgewertet werden, wenn Done TRUE ist. |
NoOfRecordedPositions | UDINT | Anzahl der erfassten Positionen. |
Diagnostic | Datenstruktur, die Diagnosedaten enthält, die zur Fehleranalyse herangezogen werden können. |