Positioning without compensation motion (#PTP ON/OFF, #AX LOCK ALL, #AX UNLOCK ALL)
Notice
Not included in the scope of the standard license. The use of this feature requires a license for the "Transformations” extension package.
Syntax: | |
#PTP ON | Select PTP motion control when transformation is active |
#PTP OFF | Deselect PTP motion control when transformation is active |
Tool positioning and alignment after kinematic transformation is selected causes a compensation motion in the machine axes because the tool centre point (TCP) is moved on the path. If these compensation motions are undesired, a more time-optimised motion can be executed with the commands listed above.
For 5-axis machines the motion is based on the reference point of the tool head; - in contrast to the TCP, the reference point moves on a straight line at the programmed feed rate (F word) or at rapid traverse (see Fig. blow).
On non-Cartesian machine structures (e.g. robots, tripods) neither the TCP nor the reference point moves on a straight line. The programmed feed (F word) or rapid traverse acts on the machine axes. However at the end of the motion, it is ensured that the TCP is located on the programmed PCS target point.
Motion programming is identical to PCS programming; the controller executes the conversion of PCS coordinates into MCS coordinates. As opposed to using the #WCS TO MCS command, adopting offsets and tool data is executed in the same way as with active kinematic transformation.
After #PTP ON active Polynomial contouring (G261) works implicitly with the DIST_SOFT method. This ensures that the feed rate profile is optimised regardless of the active feed group. After #PTP OFF, the contouring method previously parameterised is re-activated.
Attention
When PTP motion control is active, ACS values are displayed in the PCS coordinates in the real-time part of CNC.
Attention
When PTP motion control is active, it is not permitted to select or deselect additional coordinate transformations (#(A)CS ON/OFF, #MCS ON/OFF etc.).
Programing Example
Positioning without compensation motion (PTP)
Example of previous figure;:
N10 T1 D1 ;Select tool
N20 G00 X-200 Y0 Z0 A90 ;MCS start position
N30 #TRAFO ON ;Select RTCP, default kinematic
;valid from P-CHAN-00032
N40 #PTP ON ;Transformation PTP motion ON
N50 G00 X200 Y0 Z0 A-90 ;PCS target point
...
N180 #PTP OFF ;Transformation PTP motion OFF
N185 G01 X100 Y150 F5000
…
N500 #TRAFO OFF ;Deselect RTCP
N999 M30
Example with automatic tool alignment:
N10 T1 D1 ;Select tool
N20 #TRAFO ON ;Select RTCP, default kinematic)
;valid from P-CHAN-00032
N30 #TOOL ORI CS ;Align tool, default kinematic
;valid from P-CHAN-00032.
N40 #PTP ON ;Transformation PTP motion ON
N50 G00 X0 Y0 Z100 G90 ;PCS start position
...
N180 #PTP OFF ;Transformation PTP motion OFF
N185 G01 X100 Y150 F5000
…
N500 #TRAFO OFF ;Deselect RTCP
N999 M30
Notice
In conjunction with PTP motion control, it may sometimes be necessary to suppress the resulting path motions for certain axes for technological reasons (e.g. In order to remain within the limits of software limit switches).
For this purpose, the #AX LOCK/UNLOCK ALL command temporarily locks motions of single axes when PTP programming is active.
Syntax: | |
#AX LOCK [ { AX=<axis_name> } | { AXNR=.. } ] | Select axes to be locked |
AX=<axis_name> | Name of axes to be locked |
AXNR=.. | Logical numbers of axes to be locked, positive integers |
Syntax: | |
#AX UNLOCK ALL | Release locked axes. If several axes are locked, they can only be released together. The release of only one specific axis is not possible. If only one single axis is locked, it must also be released with ALL. |
Programming of #AX LOCK, #AX UNLOCK ALL is only permitted when #PTP is active.
Locked ACS output axes of the kinematic transformation do not move with G00 and G01.
Programing Example
Positioning without compensation motion (PTP)
Select the axis to be locked or release all locked axes.
Correct:
N10 #CYL[EDGES=4 ROUNDING=5 LENGTH1=40 LENGTH2=40]
N20 #PTP ON
N30 #AX LOCK[AX=Z AX=B] ;Alternatively: #AX LOCK[AXNR=3 AXNR=5]
N40 G00 G90 U30
……………………
N60 #AX UNLOCK ALL ;With implicit position request
N70 #PTP OFF
N80 G01 G90 Z0 F3000
N90 G01 U40 F2000
……….
Wrong:
N10 #AX LOCK[AX=Z] ;Programming before PTP
N20 #CYL[EDGES=4 ROUNDING=5 LENGTH1=40 LENGTH2=40]
N30 #PTP ON
N40 G00 G90 U30
…………………..
N60 #AX UNLOCK ALL ;With implicit position request
N70 #PTP OFF
N80 G01
……….
N200 #CYL OFF