Hilfsfunktionen zur Koordinatentransformation (#WCS TO MCS, #MCS TO WCS)
Hinweis
Nicht im Umfang der Standardlizenz! Die Nutzung dieser Funktionalität erfordert die Lizenzierung des Erweiterungspaketes "Transformationen".
Bei 5-Achsmaschinen und Maschinen mit nicht kartesischem Achsaufbau (z.B. Hexapoden) finden zwei typische Varianten der Festlegung der Verfahrbewegungen Anwendung.
1. Fall: Anwender programmiert die Raumkontur über Kreis oder Gerade bzw. Polynomform und die Werkzeugspitze (TCP) wird entsprechend dem programmierten Konturverlauf auf der Bahn geführt.
2. Fall: Anwender programmiert den Zielpunkt in Raum/Werkstückkoordinaten (WCS) die in Maschinenkoordinaten (MCS) abgebildet werden. Der TCP bewegt sich entsprechend den maximal möglichen Geschwindigkeiten in den Achsen auf einer nicht einfach vorhersehbaren Kurve (PTP). Bedingt durch den Wegfall der Bewegung des TCP entlang einer Raumkurve ist die PTP-Bewegung im Allgemeinen schneller als die TCP-Bahnbewegung.
Die oben genannte Abbildung von programmierten WCS-Zielpunkten in MCS-Zielpunkte (Rückwärtstransformation) kann im NC-Programm durch nachfolgende NC-Befehle beauftragt werden. Das Anfahren der berechneten MCS-Zielpunkte muss dann vom Anwender über Absolutmaßeingabe explizit programmiert werden.
Diese Methode kann z.B. dazu verwendet werden, sequentiell jede Einzelachse aus einem Kollisionsbereich herauszufahren.
Achtung
Die Funktionen können nur bei inaktiver kinematischer Transformation (#TRAFO OFF) und inaktivem Koordinatensystem (#CS OFF (ALL)) verwendet werden.
Syntax Berechnung von Maschinenkoordinaten (MCS) aus Werkstückkoordinaten (WCS): |
#WCS TO MCS [ [CS..] [KIN [ IS[<kin_id>]=..] ] ] |
CS.. | Berechnung der Zielpunkte unter Berücksichtigung einer inaktiven kartesischen Transformation mit einer bestimmtem gültigen ID. |
KIN | Berechnung der Zielpunkte unter Berücksichtigung der aktuell gültigen, aber inaktiven kinematischen Transformation. |
IS[<kin_id>]=.. | Bei kinematischen Transformationen, die aus Teilkinematiken mit mehreren Lösungen bestehen, kann die gewünschte Lösung mittels zusätzlichem IS-Wert angegeben werden, vgl. Status & Turn. Die Kinematik-ID von IS adressiert die Teilkinematik, die mehrere Lösungen hat. Der Statuswert beschreibt die gewünschte Pose. Verfügbar ab V3.1.3080.13 |
Für die Angabe der WCS-Zielpunkte und die Ablage der berechneten MCS-Zielpunkte stehen die folgenden achsspezifischen Variablen zur Verfügung, auf die lesend und schreibend zugegriffen werden kann:
V.A.WCS.* | Zugriff auf achsspezifische Hilfsgröße Werkstückkoordinate (WCS). Der Wert entspricht bei aktiver Transformation i. a. nicht den programmierten Werkstückkoordinaten. |
V.A.MCS.* | Zugriff auf achsspezifische Hilfsgröße Maschinenkoordinate (MCS). Der Wert entspricht bei inaktiver Transformation nicht den programmierten Maschinenkoordinaten. |
Programmierbeispiel
Standard-Rückwärtstransformationen mit #WCS TO MCS
Die NC berechnet über kartesische und kinematische Rückwärtstransformation von bestimmten WCS-Punkten die MCS-Zielpunkte. Auf die berechneten MCS-Positionen kann der Anwender über NC-Programmierung zugreifen und im NC Programm weiterverwenden. Der Anwender bestimmt über die Angabe der Schlüsselwörter und der dazugehörigen CS-ID die Transformationen, die durchgeführt werden sollen.
N02 #CS DEF[1][0,0,0,0,0,45]
N00 #KIN ID [1]
N10 V.A.WCS.X=10
N20 V.A.WCS.Y=10
N30 V.A.WCS.Z=100
N40 #WCS TO MCS[CS1, KIN] ;Transformation der WCS in MCS
N50 G00 Z=V.A.MCS.Z ;Fahren der Einzelachsen auf MCS-Zielpunkte
N60 G00 X=V.A.MCS.X
N70 G00 Y=V.A.MCS.Y
N…
:
Fehlerhafte Verwendungen:
N05 #CS DEF[1][0,0,0,0,0,45]
N10 #CS ON[1]
N20 V.A.WCS.X=100
N30 V.A.WCS.Y = 0
N40 V.A.WCS.Z = 0
N50 #WCS TO MCS [CS1] <- nicht erlaubt, da ein CS aktiv ist
N05 #KIN ID[12]
N10 #TRAFO ON
N20 V.A.WCS.X=100
N30 V.A.WCS.Y = 0
N40 V.A.WCS.Z = 0
N50 #WCS TO MCS [KIN] <- nicht erlaubt, da eine Trafo aktiv ist
Programmierbeispiel
Rückwärtstransformationen mit #WCS TO MCS bei kinematischen Transformationen mit mehreren Lösungen
Bei kinematischen Transformationen mit mehreren WCS-Lösungen zu einem MCS-Wert kann die gewünschte Lösung mittels IS-Wert („Status“) angegeben werden.
N10 #KIN ID[45]
N20 #WCS TO MCS[KIN IS[45]='0b010']
:
;Verwendungen mit Koppelkinematik (Kinematiktyp 210), bestehend
;aus Teilkinematik mit ID 45 (mehrere Lösungen) und Teilkinematik
;mit ID 91 (eine Lösung):
N10 #KIN ID[210]
N20 #WCS TO MCS[KIN IS[45]='0b010']
:
N10 #KIN ID[45]
N20 #WCS TO MCS[KIN IS='0b010'] <- nicht erlaubt, da für IS keine Teilkinematik-ID angegeben wurde
N10 #KIN ID[210]
N20 #WCS TO MCS[KIN IS[91]='0b010'] <- nicht erlaubt, da Teilkinematik 91 nicht mehrere Lösungen hat
Die umgekehrte Abbildung von MCS-Zielpunkten in WCS-Zielpunkte (Vorwärtstransformation) wird mit dem folgenden Befehl durchgeführt. Diese Methode kann z.B. zur Abbildung von Messwerten (i.d.R. im MCS ermittelt) in das WCS verwendet werden.
Syntax Berechnung von Werkstückkoordinaten (WCS) aus Maschinenkoordinaten (MCS): |
#MCS TO WCS [ [CS..] [KIN] ] |
CS.. | Berechnung der Zielpunkte unter Berücksichtigung einer inaktiven kartesischen Transformation mit einer bestimmtem gültigen ID. |
KIN | Berechnung der Zielpunkte unter Berücksichtigung der aktuell gültigen, aber inaktiven kinematischen Transformation. |