XFC_EL1258_TouchProbe

XFC_EL1258_TouchProbe 1:

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.

XFC_EL1258_TouchProbe 2: 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.
Abhängig von der Konfiguration in TriggerInput.FreeRun wird einmalig die nächste Signalflanke erfasst und ausgewertet. Wenn FreeRun TRUE ist, wird fortlaufend mit jeder definierten Flanke des Eingangssignals ein neuer Positionswert erfasst, während Execute TRUE bleibt.

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.
Das Erfassungsfenster kann absolut oder modulo interpretiert werden. Dazu ist das Flag ModuloPositions in der Struktur TriggerInput entsprechend zu setzen. Bei absoluten Positionen gibt es exakt ein Fenster. Bei Modulo-Positionen wiederholt sich das Fenster innerhalb des in den Achsparametern festgelegten Modulozyklus (z. B. 0 bis 360 Grad).

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

ST_XfcTouchProbeOptions

Optionale Parameter

EL1258

EL1258_MT_IoInterface

Prozessabbild der Klemme

XFC_EL1258_TouchProbe 3:/XFC_EL1258_TouchProbe 4: Ein-/Ausgänge

VAR_IN_OUT
    Axis         : AXIS_REF; 
    TriggerInput : XFC_TRIGGER_REF;
END_VAR

Name

Typ

Beschreibung

Axis

AXIS_REF

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

XFC_MT_TRIGGER_REF

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.

XFC_EL1258_TouchProbe 5: 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.
Falls TriggerInput.FreeRun TRUE ist, bleibt Done nur für einen SPS-Zyklus TRUE und wird selbstständig zurückgesetzt, da TouchProbe automatisch neu aktiviert wird.

Busy

BOOL

Wird TRUE sobald der Baustein aktiv ist und wird FALSE nachdem er sich wieder im Grundzustand befindet.
Falls TriggerInput.FreeRun TRUE ist, bleibt Busy permanent TRUE, auch wenn Done oder Error TRUE werden, da TouchProbe automatisch neu aktiviert wird.

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

ST_EL1258_Diagnostics

Datenstruktur, die Diagnosedaten enthält, die zur Fehleranalyse herangezogen werden können.