Koordinatentransformation zwischen Koordinatensystemen (#TRANSFORM)

Diese Funktionalität ist eine lizenzpflichtige Zusatzoption.

Mit dem #TRANSFORM Befehl können im NC-Programm basierend auf dem aktuellen CS-Stapel beliebig Koordinaten eines 3D-Punktes von einer Stapelebene in eine andere Stapelebene umgerechnet werden. Die dazu notwendige Transformationsrechnung besteht je nach Aufbau des CS-Stapels aus einer Kombination aus kinematischer und kartesischer Vorwärts- oder Rückwärtstransformation.

Hilfs- und Zusatzachsen werden bei der Transformationsrechnung nur bzgl. ihrer Nullpunktverschiebungen zwischen den Stapelebenen berücksichtigt.

Die Berechnungen im #TRANSFORM-Befehl können unabhängig von bereits im Kanal aktiven Transformationen (#CS SELECT) immer zwischen allen aktuell gültigen CS-Stapelebenen erfolgen.

Syntax des Transformationsbefehls:

#TRANSFORM [<CS_Source>] [<CS_Dest> ] [POS_X>, <POS_Y>, <POS_Z> ] [ [ {<POS_Aux>=..} ] ]

<CS_Source>

Name des Eingangs-CS mit maximal 8 Zeichen.

<CS_Dest>

Name des Ziel-CS mit maximal 8 Zeichen.

<POS_X, Y, Z>

3 Komponenten des zu transformierenden Punktes in [mm, inch] im Eingangs-CS.

<POS_Aux>=..

Eingangskoordinaten der Hilfs- und Zusatzachsen

Eine Fehlermeldung wird ausgegeben, wenn:

  • der Name eines Koordinatensystems nicht definiert ist (ID 21601)
  • keine 3 Eingangskoordinaten programmiert sind (ID 21104)

Das Ergebnis der Transformationsrechnung wird in speziellen achsspezifischen Variablen (V.A.) bereitgestellt. Die Achse kann entweder per Name oder Achsindex programmiert werden:

Syntax Ergebnisvariablen:

V.A.TRANSFORM.<Achsname>      Achsspezifische Koordinate nach Berechnung in [mm, inch]

oder

V.A.TRANSFORM[<Achsindex>]     Achsspezifische Koordinate nach Berechnung in [mm, inch]

 

Programmierbeispiel

Beispiel 1, Basiskonfiguration ist eine 5-Achskinematik mit CS-Stapel.

Transformation für den Punkt (50,0,10) mit den Mitschleppachspositionen A10 und B20 aus dem ACS System in das WCS-System. Es wird eine kinematisch-kartesische Vorwärtstransformation durchgeführt.

#TRANSFORM [ACS] [WCS] [50, 0, 10] [A10 B20]

Koordinatentransformation zwischen Koordinatensystemen (#TRANSFORM) 1:
Beispiel Vorwärtstransformation mit #TRANSFORM

Beispiel 2, Basiskonfiguration ist eine 5-Achskinematik mit CS-Stapel.

Transformation für den Punkt (10,-10,15) mit den Mitschleppachspositionen A45 und B90 aus dem MCS-System in das ACS-System. Es wird eine rein kinematische Rückwärtstransformation durchgeführt.

#TRANSFORM [MCS] [ACS] [10, -10, 15] [A45 B90]

Koordinatentransformation zwischen Koordinatensystemen (#TRANSFORM) 2:
Beispiel Rückwärtstransformation mit #TRANSFORM

Ergänzend kann ab V3.1.3081.11 auch die Transformation von PCS-Positionen im #TRANSFORM-Befehl verwendet werden. Dazu reicht es aus, wenn diese Transformation in der Kanalparameterliste konfiguriert ist (trafo_pcs.type (P-CHAN-00829) und trafo_pcs.param[i] (P-CHAN-00263); -sie muss nicht aktiv sein (#TRAFO PCS ON). Die PCS-Transformation setzt immer auf der obersten CS-Stapelebene auf und wird entsprechend bei der Transformationsrechnung mit dem fest vorgegebenem Namen TPCS beim #TRANSFORM-Befehl angesprochen. Wird der Namen TPCS verwendet, obwohl keine PCS-Transformation konfiguriert ist, erfolgt die Ausgabe der Fehlermeldung ID 21630.

Programmierbeispiel

Basiskonfiguration ist eine 5-Achskinematik mit CS-Stapel.

Transformation für den Punkt (0, -20,50) aus dem TPCS System in das ACS-System. Es wird eine kinematisch-kartesisch-kinematische Rückwärtstransformation durchgeführt.

#TRANSFORM [TPCS] [ACS] [0, -20, 50]

Koordinatentransformation zwischen Koordinatensystemen (#TRANSFORM) 3:
Beispiel TPCS Rückwärtstransformation mit #TRANSFORM