Ignoring Active Work Offsets

Here's a question that we're often asked. How can I ignore an active work offset (i.e., G54, G55, G129) command? After the control reads a work offset command, say G54, I want to be able to ignore it so I can position from the machine zero coordinates instead of the G54 work coordinates.

To perform a move defined from the absolute machine zero coordinates, and then revert back to the previously active work coordinate, you'll need to program a G53 (Non modal machine coordinate selection).

A common use for the G53 command is to send the machine table to a specific location, such as Y zero, for part changeover.

These figures come from the reference point in the machine so if you want to work out the position in the machine that you want to send your machine to, manually Hand Jog the machine to the required position and using the machine position screen take the figures down and put these into your program.

N.B. the X and Y axes figures will always be a negative figure and the the Z axis figure will be negative if the spindle is lower than the tool change height and positive above the tool change height.

Below is an example:

T1 M06 

G00 G90 G54 X30. Y-20. M03 S1000 (Command Work Offset G54) 

G43 Z5.0 H01 M08 

G81 Z-20. R2. F150. 


G00 Z5.0 M09 

G53 Z0. M05 

G53 Y0. 


This will take the spindle to the tool change height and then the Y axis to the front of the machine.

The G53 has to be on every line that requires machine position changes. Because it is a Non Modal G code, on the line following a G53 the machine will revert to G54 or G55 etc. without recalling the offset you were using.