Touch-Probe-Quellen

Touch-Probe des Antriebs

Bei Verwendung der Touch-Probe-Funktion des Antriebs findet eine "hochgenaue" Positionserfassung statt. Um diese Funktion optimal verwenden zu können, sollten die relevanten Antriebsdaten als Prozessdaten gemappt sein. Ist dies nicht der Fall, wird auf die Touch-Probe-Signale per SDO zugegriffen. Dies hat den Nachteil, dass die Ereignisse nicht sofort in der Steuerung zur Verfügung stehen und dass im Falle einer kontinuierlichen Messung (Dauermessung) Daten verloren gehen können.

Name

Konfiguration

TouchProbeSource

1: Antrieb

TouchProbeChannel

Auswahl Touch-Probe-Kanal

  • Touch-Probe-Kanal 1

  • Touch-Probe-Kanal 2

  • Touch-Probe-Kanal 3 (wird aktuell nur von i950 MotionAchsen unterstützt)

  • Touch-Probe-Kanal 4 (wird aktuell nur von i950 MotionAchsen unterstützt)

TouchProbeSignal

Auswahl Touch-Probe-Signal

  • Digitaler Eingang

  • Nullimpuls des Motorgebers

  • Nullimpuls des 2. Gebers (wird aktuell nur von i950 MotionAchsen unterstützt)

Zu einem aufgetretenen TP Ereignis liefert der Antriebsregler 2 Informationen:

Wird in der Applikation zum TP Ereignis nur die Position der zugehörigen Motion Achse verwendet/ausgewertet, ist es ausreichend, die zum Ereignis zugehörige TP-Position zu mappen.

Wird in der Applikation das TP Ereignis unabhängig von der Position der zugehörigen Motion Achsen angewendet, so ist es empfehlenswert den zum Ereignis zugehörige TP-Zeitstempel zu mappen, um eine höhere Genauigkeit zu erreichen. Das Mappen der TP-Position ist dann nicht notwendig.

Übersicht der Antriebs-Touchprobe Ereignisse und die zugehörige Prozessdaten

Name

TP Steuerwort

TP Statuswort

TP Position

TP Zeitstempel

DigIn 1 (Positive Flanke)

oder Nullimpuls

0x60B8 / 0

0x60B9/0

0x60BA/0

0x2D01/1

DigIn 1 (negative Flanke)

0x60BB/0

0x2D01/2

DigIn 2 (Positive Flanke)

oder Nullimpuls

0x60BC/0

0x2D01/3

DigIn 2 (negative Flanke)

0x60BD/0

0x2D01/4

DigIn 3 (Positive Flanke)

oder Nullimpuls

0x2D02/1

0x2D02/2

0x2D03/1

0x2D01/5

DigIn 3 (negative Flanke)

0x2D03/2

0x2D01/6

DigIn 4 (Positive Flanke)

oder Nullimpuls

0x2D03/3

0x2D01/7

DigIn 4 (negative Flanke)

0x2D03/4

0x2D01/8

Externe Touch-Probe-Quelle

Bei der Verwendung einer externen Touch-Probe-Quelle (z. B. Fast-I/O) findet eine "hochgenaue" Positionserfassung statt. Über die Variable ExternalDelayComp kann eine zusätzliche Totzeitkompensation vorgenommen werden.

Name

Konfiguration

TouchProbeSource

2: Externe Touch-Probe-Quelle

TouchProbeChannel

Auswahl Touch-Probe-Kanal

1

Touch-Probe-Kanal 1

2

Touch-Probe-Kanal 2

ExternalTPSource

Externe Touch-Probe-Quelle (z. B. Fast-I/O)

ExternalDelayComp

Zusätzliche Totzeitkompensation

Beispiel

VAR

stTriggerRef1: MC_TRIGGER_REF; // structure

MC_TouchProbe1: MC_TouchProbe; // Fb END_VAR

Program:

...

stTriggerRef1.TouchProbeSource    := 2 ; // selection source touch probe event

stTriggerRef1.TouchProbeChannel  := 1 ; // selection touch probe channel (only relevant  with TouchProbeSource = 1 or 2)

stTriggerRef1.TouchProbeSignal     := 1 ; // selection touch probe signal (only relevant  with TouchProbeSource = 1)

stTriggerRef1.TouchProbeEdge      := 1 ; // 1 configuration of the edge evaluation

stTriggerRef1.TouchProbeMode     := 1 ; // selection touch probe mode

stTriggerRef1.ExternalDelayComp := 0 ;

stTriggerRef1.ExternalTPSource     := FastIO_InRef;

MC_TouchProbe1(

Axis:= i700_Motion_Axis,

TriggerInput:= stTriggerRef1,

Execute:= ,

WindowOnly:= ,

FirstPosition:= ,

LastPosition:= ,

Done=> ,

Busy=> ,

CommandAborted=> ,

Error=> ,

ErrorID=> ,

ActivationLevel=> ,

ValueStored_PosEdge=> ,

RecPosition_PosEdge=> ,

ValueStored_NegEdge=> ,

RecPosition_NegEdge=> ,

NewValueStored_PosEdge=> ,

NewValueStored_NegEdge=> ,

RecData=> );

...

Einfacher Digitaleingang

Bei der Verwendung eines "normalen" I/O als Touch-Probe-Quelle findet keine "hochgenaue" Positionserfassung statt. Es wird die Position des aktuellen Zyklus ausgegeben. Über die Variable ExternalDelayComp kann eine zusätzliche Totzeitkompensation vorgenommen werden.

Name

Konfiguration

TouchProbeSource

3: Einfacher Digitaleingang

ExternalTPDigIn

Zeiger auf boolschen Eingang

  • Es kann alternativ auch ein beliebiges boolsches Signal aus der Applikation als Quelle verwendet werden.
Hinweis!

Auf eine Adresse des I/O-Abbildes kann nicht direkt zugegriffen werden; der Eingang muss vorher in eine Variable kopiert werden:

xTPEvent := %IX8.7;

MC_TRIGGER_REF.ExternalTPDigIn := ADR(xTPEvent);

Extern angeschlossener Antrieb als Touch-Probe-Quelle für beliebige Achse (z.B. Geber)

Bei der Verwendung der Touch-Probe-Funktion für einen am FB-Eingang Axis angeschlossenen externen Geber kann eine "hochgenaue" Positionserfassung über ein Touch-Probe-Ereignis einer anderen Achse erfolgen . Um diese Funktion verwenden zu können, muss über ExternalTPFromAxis die Achse als Touch-Probe-Quelle übergeben werden. Zudem müssen die relevanten Antriebsdaten als Prozessdaten gemappt sein. In dieser Kombination ist es sinnvoll, die zugehörigen Zeitstempel des TP Ereignisses in das Mapping aufzunehmen.