Positioning without compensation motion (PTP)

Notice

notice

Not included in the scope of the standard license. The use of this feature requires a license for the "Transformations” extension package.

#PTP ON                                   Select transformation PTP motion control                                    (modal)

#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 feedrate (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.

Attention

attention

When PTP motion control is active, ACS values are displayed in the PCS coordinates in the real-time part of CNC.

Motion control with/without #PTP
Motion control with/without #PTP

Attention

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

prg_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

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.

#AX LOCK [ { AX<axis_name> } | { AXNR<expr> } ]           Select axes to be locked

#AX UNLOCK ALL                                             Release all locked axes

AX<axis_name>

Name of axes to be locked

AXNR<expr>

Logical numbers of axes to be locked, positive integers

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

prg_example

Positioning without compensation motion (PTP)

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