CNC Milling | G53 Code | Machine Coordinate System

Machine Coordinate System Introduction

Fanuc control system offers yet another coordinate system, not commonly used. It may be called the third coordinate system. Selection of this coordinate system is exclusively with the machine coordinates and preparatory command G53.

G53 Code

Machine coordinate system G53 uses the coordinates measured from machine zero as an input – always!

At first, benefits in using this unique coordinate system may not be too apparent. Before jumping to conclusions, evaluate the rules for machine coordinates system, perhaps some applications will become clear:

  • Command G53 is effective only in the block where it is specified
  • Programmed coordinates are always relative to machine zero position
  • G53 is only used in the absolute mode (G90)
  • Current work coordinate system (work offset) is not canceled by G53 command
  • Cutter radius offset should always be canceled prior to G53 command

At least one possible usage emerges from these rules. Machine coordinate system can be used to guarantee tool changes at the same machine table location every time automatic tool change is programmed, regardless of which work is on the table and which work offset is active. This can be applied to a single program, or as a standard for all programs for a particular machine tool. Remember, the tool change position will always be determined by the actual tool distance from the machine zero position, not the program zero and not from any other position. On many machines, or during complex setups, it is advisable to establish a fixed tool change position, regardless of the part position. A good example is machining with a rotary table or any other permanent or semi-permanent fixture located on the machine table.

G53 Code Example

The following program illustrates the use of G53 command. It makes the tool change at a fixed position of the machine table, position that is not directly related to any particular program or any specific job – see Figure 40-5.

Figure 40-5
Machine coordinate system G53 – program example O4003

N1 G20
N2 G17 G40 G80 T01
N3 G91 G28 Z0
N4 G90 G53 G00 X-170.0 Y-50.0 (TOOL CHG POS)
N6 G54 G00 X26.0 Y25.0 S1000 M03 T02
N7 G43 Z1.0 H01 M08
N8 G99 G82 R0.1 Z-0.2 P100 F8.0
N9 X53.0 Y13.0
N10 G80 G28 Z1.0 M05
N11 G53 G00 X-170.0 Y-50.0 (TOOL CHANGE POS)
N12 M01
N13 T02
M15 G90 G54 G00 X53.0 Y13.0 S780 M03 T03
N16 G43 Z1.0 H02 M08
N17 G99 G81 R0.1 Z-0.836 F12.0
N18 X26.0 Y25.0
N19 G80 G28 Z1.0 M05
N20 G53 G00 X-170.0 Y-50.0 (TOOL CHANGE POS)
N21 M01
N22 T03


The fourth item of the rules mentioned earlier states that the current work offset is not canceled by any active machine coordinate system command (G54-G59 work offset). Since the programming example O4003 does not illustrate this situation, the following sequence of tool motions (not related to program O4003) shows that G53 command is independent from G54 command:


N250 G90 G54 G00 X17.7 Y35.3
N251 G01 Z-5.0 F200.0
N252 G00 Z500.0
N253 G53 X-400.0 Y-100.0 (FIXED POSITION)
N255 S1200 M03
N257 (… Machining continues …)

Programmed machining sequence is quite simple. Cutting tool moves to the XY part position in block N250, performs the required machining operation, such as drilling to depth in N251, rapids to a clear Z-position in N252, then moves to the fixed tool change position in block N253. In program stopped mode, CNC operator changes the tool manually in block N254, then the spindle speed and rotation are re-established in N255. In block N256 only the X and Y coordinate positions are specified. All other values are default values, including G54 work offset command. The previous block N256 has the same meaning as:

N256 G90 G54 G00 X50.0 Y35.0

Adhere to a good programming practice and always program a complete block that contains all setting information, and do it for each new tool called. There are other practical uses for machine coordinate system, waiting to be discovered.