FANUC Work Offsets: G54-G59 vs G10 vs G52

By Nishikant Xalxo | FANUC CNC Expert | Updated: January 10, 2025 | 10 min read

Using the wrong work offset on a multi-part fixture cost me 2 hours and a ruined vise jaw. After that mistake, I mastered FANUC's three work offset methods. Here's when to use each one and why.

Understanding Work Offsets

Work offsets tell the machine where part zero is located relative to machine zero. FANUC provides three ways to set them:

  1. G54-G59: Standard offsets (6 available)
  2. G10: Programmable offset setting
  3. G52: Local coordinate system shift

Method 1: G54-G59 (Most Common)

Usage: Set on OFFSET page, called in program with G54, G55, etc.

Best for: Permanent fixtures, multi-part setups, recurring jobs
Program Example:
O1000 (PART 1)
G90 G54 G00 X0 Y0   ; Use G54 for part 1
S2500 M03
...
M30

O1001 (PART 2)
G90 G55 G00 X0 Y0   ; Use G55 for part 2
S2500 M03
...
M30

Advantages:

Method 2: G10 (Programmable)

Usage: Set offset values directly in G-code program

Best for: Automated setups, changing offsets in program, safety
Program Example:
O2000 (SET OFFSETS)
G10 L2 P1 X-250.0 Y-150.0 Z-300.0   ; Set G54
G10 L2 P2 X-350.0 Y-150.0 Z-300.0   ; Set G55
G10 L2 P3 X-450.0 Y-150.0 Z-300.0   ; Set G56
M30

O2001 (MAIN PROGRAM)
G90 G54 G00 X0 Y0
...
G90 G55 G00 X0 Y0
M30

Advantages:

L2 P#: P1=G54, P2=G55, ..., P6=G59

Method 3: G52 (Local Coordinate Shift)

Usage: Temporary shift from current work offset

Best for: Sub-programs, local adjustments, avoiding offset changes
Program Example:
O3000 (MAIN)
G90 G54 G00 X0 Y0           ; Start at G54 origin
G52 X100.0 Y50.0            ; Shift origin +100 X, +50 Y
G00 X0 Y0                   ; Now at X100 Y50 (relative)
... (machining operations)
G52 X0 Y0                   ; Cancel local shift
G00 X0 Y0                   ; Back to G54 origin
M30

Key Points:

Best Practices

Multi-Part Fixture Setup

Recommended approach:

  1. Set G54 at fixture corner or reference point
  2. Use G55, G56, G57 for individual parts
  3. Store in program with G10 for safety
  4. Use G52 for local adjustments within part
Complete Multi-Part Example:
O4000 (SETUP)
G10 L2 P1 X-250.0 Y-150.0 Z-300.0  ; Fixture reference
G10 L2 P2 X-300.0 Y-150.0 Z-300.0  ; Part 1
G10 L2 P3 X-400.0 Y-150.0 Z-300.0  ; Part 2
G10 L2 P4 X-500.0 Y-150.0 Z-300.0  ; Part 3
M30

O4001 (MILL PART 1)
G90 G55 G00 X0 Y0
G52 X10.0 Y5.0       ; Local shift for this part's datum
... (machining)
G52 X0 Y0            ; Cancel local shift
M30

Common Mistakes

Mistake 1: Forgetting to cancel G52
Solution: Always cancel before M30 or next part
Mistake 2: Using G10 without L2
Solution: G10 L2 is required for work offset setting
Mistake 3: Setting offset in wrong units
Solution: Verify G20/G21 matches machine units

Work Offset Protection

To prevent operators from modifying critical offsets:

Password: Parameter 3210 (set password to unlock)

About the Author: Nishikant Xalxo uses G10 for all multi-part setups to ensure repeatability. He locks critical offsets to prevent operator errors. Contact: nxdecore@gmail.com

All FANUC CNC articles complete. Next: Finance series