Positionierbewegungen ohne Ausgleichsbewegung (#PTP ON/OFF, #AX LOCK ALL, #AX UNLOCK ALL)
Hinweis
Nicht im Umfang der Standardlizenz! Die Nutzung dieser Funktionalität erfordert die Lizenzierung des Erweiterungspaketes "Transformationen".
Syntax: | |
#PTP ON | Anwahl Trafo PTP Bewegungsführung |
#PTP OFF | Abwahl Trafo PTP Bewegungsführung |
Wenn nach Anwahl der kinematischen Transformation das Werkzeug positioniert und orientiert wird, führt dies zu Ausgleichsbewegungen in den Maschinenachsen, da die Werkzeugspitze (TCP) auf der Bahn geführt wird. Sind diese Ausgleichsbewegungen unerwünscht, so kann über die oben aufgeführten Befehle eine zeitoptimalere Bewegungsführung erreicht werden.
Bei 5-Achsmaschinen wird die Bewegung auf Basis des Werkzeugkopfbezugspunktes durchgeführt; - der Bezugspunkt bewegt sich mit dem programmierten Vorschub (F-Wort) oder Eilgang auf einer Geraden, der TCP nicht (siehe folgende Abb.).
Bei nicht kartesischen Maschinenstrukturen (z.B. Roboter, Tripod) bewegen sich weder der Bezugspunkt noch der TCP auf einer Geraden. Der programmierte Vorschub (F-Wort) oder Eilgang wirkt auf die Maschinenachsen. Es ist jedoch sichergestellt, dass am Ende der Bewegung der TCP auf dem programmierten PCS-Zielpunkt steht.
Die Bewegungsprogrammierung ist identisch zur PCS-Programmierung, die Umrechnung der PCS-Koordinaten in MCS-Koordinaten wird von der Steuerung ausgeführt. Im Unterschied zur Verwendung des Befehls #WCS TO MCS wird die Versatz- und Werkzeugverrechnung identisch wie bei aktiver kinematischer Transformation durchgeführt.
Achtung
Während aktiver Trafo PTP Bewegungsführung werden im Echtzeitteil der CNC in den PCS-Koordinaten ACS-Werte angezeigt!
Achtung
Während aktiver Trafo PTP Bewegungsführung ist die An-/Abwahl zusätzlicher Koordinatentransformationen (#(A)CS ON/OFF, #MCS ON/OFF usw.) nicht erlaubt!
Programmierbeispiel
Positionierbewegungen ohne Ausgleichsbewegung (PTP)
Beispiel zur vorangegangenen Abbildung:
N10 T1 D1 ;Werkzeuganwahl
N20 G00 X-200 Y0 Z0 A90 ;MCS Anfahrposition
N30 #TRAFO ON ;RTCP-Anwahl, Default-Kinematik
;aus P-CHAN-00032 gültig
N40 #PTP ON ;Trafo PTP Bewegung ein
N50 G00 X200 Y0 Z0 A-90 ;PCS Zielposition
...
N180 #PTP OFF ;Trafo PTP Bewegung aus
N185 G01 X100 Y150 F5000
…
N500 #TRAFO OFF ;RTCP-Abwahl
N999 M30
Beispiel mit automatischer Werkzeugausrichtung:
N10 T1 D1 ;Werkzeuganwahl
N20 #TRAFO ON ;RTCP-Anwahl, Default-Kinematik)
;aus P-CHAN-00032 gültig
N30 #TOOL ORI CS ;Werkzeug ausrichten, Default-Kinematik
;aus P-CHAN-00032 gültig.
N40 #PTP ON ;Trafo PTP Bewegung ein
N50 G00 X0 Y0 Z100 G90 ;PCS Anfahrposition
...
N180 #PTP OFF ;Trafo PTP Bewegung aus
N185 G01 X100 Y150 F5000
…
N500 #TRAFO OFF ;RTCP-Abwahl
N999 M30
Hinweis
Im Zusammenhang mit der Trafo PTP Bewegungsführung kann es erforderlich sein, für bestimmte Achsen die sich ergebenden Verfahrbewegungen aus technologischen Gründen zu unterdrücken (z.B. um innerhalb von Softwareendschaltergrenzen zu bleiben).
Zu diesem Zweck können während aktiver PTP-Programmierung Bewegungen einzelner Achsen mit dem Befehl #AX LOCK/UNLOCK ALL temporär gesperrt werden.
Syntax: | |
#AX LOCK [ { AX=<Achsname> } | { AXNR=.. } ] | Anwahl zu sperrender Achsen |
AX=<Achsname> | Namen der zu sperrenden Achsen |
AXNR=.. | Logische Nummern der zu sperrenden Achsen, Positive Ganzzahlen |
Syntax: | |
#AX UNLOCK ALL | Freigabe gesperrter Achsen. Sind mehrere Achsen gesperrt, so können diese nur gemeinsam wieder freigegeben werden. Die Freigabe nur bestimmter Achsen ist nicht möglich. Auch wenn nur eine einzelne Achse gesperrt ist, muss diese mit ALL freigegeben werden. |
Die Programmierung von #AX LOCK, #AX UNLOCK ALL ist nur während aktivem #PTP erlaubt.
Gesperrte ACS Ausgangsachsen der kinematischen Transformation bewegen sich nicht bei G00 und G01.
Programmierbeispiel
Positionierbewegungen ohne Ausgleichsbewegung (PTP)
Anwahl der zu sperrenden Achse bzw. Freigabe aller gesperrten Achsen.
Korrekt:
N10 #CYL[EDGES=4 ROUNDING=5 LENGTH1=40 LENGTH2=40]
N20 #PTP ON
N30 #AX LOCK[AX=Z AX=B] ;alternativ: #AX LOCK[AXNR=3 AXNR=5]
N40 G00 G90 U30
……………………
N60 #AX UNLOCK ALL ;Mit impliziter Positionsanforderung
N70 #PTP OFF
N80 G01 G90 Z0 F3000
N90 G01 U40 F2000
……….
Falsch:
N10 #AX LOCK[AX=Z] ;Programmierung vor PTP
N20 #CYL[EDGES=4 ROUNDING=5 LENGTH1=40 LENGTH2=40]
N30 #PTP ON
N40 G00 G90 U30
…………………..
N60 #AX UNLOCK ALL ;Mit impliziter Positionsanforderung
N70 #PTP OFF
N80 G01
……….
N200 #CYL OFF