CNC Work Coordinate Systems (G54–G59): A Complete Multi-Brand Guide
Master G54 to G59 work coordinate systems on Fanuc, Siemens, and Mitsubishi. Prevent high-speed spindle crashes with proper parameter and WCS setups.
Work Coordinate System Production Risks
Forgetting to suppress an active workpiece coordinate system offset via G53 when sending a tool to a reference position, or neglecting to verify coordinate registry shifts after pressing reset, shifts the internal coordinate system without the operator's knowledge. On Siemens systems, this oversight can cause the tool to plunge at rapid traverse into a stationary vise jaw, a secured clamp, or the rotating machine chuck, resulting in a devastating hard collision and severe spindle damage. Similarly on Mitsubishi systems, miscalculating the distance from the basic machine zero point to the workpiece origin drives the spindle toward a mathematically correct but physically dangerous location, resulting in a severe crash into the rotating chuck or the indexing turret. On Fanuc systems, resetting the control might silently drop a secondary offset (like G55) and force the machine back to the default G54; restarting the cycle without verification guarantees the tool will plunge directly into the wrong coordinate space. Utilizing standard G54 to G59 Work Coordinate Systems (WCS) and managing their parameters is the absolute line of defense against these catastrophic mechanical crashes.
Technical Summary of G54–G59 Commands
| Specification | Details |
|---|---|
| G-Code Commands | G54, G55, G56, G57, G58, G59 (Standard offsets). Extended: G54.1 P_ (Fanuc/Mitsubishi), G505–G599 (Siemens). Deselection: G500, G53, G153, SUPA (Siemens). |
| Modality Group | Modal G-codes. Group 14 (Fanuc), channel-specific adjustable frames (Siemens), standard WCS group (Mitsubishi). |
| Compatible Brands | Fanuc, Siemens, Mitsubishi |
| Critical Parameters | Fanuc: 1201 bit 7 (WZR), 1202 bit 2 (G92/G50), 1205 bit 6 (3TW), 1221 to 1226 (standard offsets); Siemens: MD28080 $MC_MM_NUM_USER_FRAMES, MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES, $P_UIFR[n]; Mitsubishi: #1274 ext10/bit5, #1151 rstint, System Variables #5221 to #532n. |
| Main Kinematic Constraint | All brand offsets must be calibrated relative to absolute machine coordinates. Program resets can silently force a return to default G54. Tilted working plane (G68.2) operations restrict active coordinate shifts under parameter controls. |
Quick Read: G54–G59 Best Practices
- Select from standard G54–G59 or use brand-specific extended systems (G54.1 P1–P300 on Fanuc/Mitsubishi, G505–G599 on Siemens) to manage multiple work datums on a single setup.
- Verify reset behavior: check Fanuc Parameter 1201 bit 7 (WZR) or Mitsubishi Parameter #1151 (rstint) to know if the control retains the active WCS or silently returns to the default G54 on reset.
- Prevent accidental coordinate corruption in legacy programs by setting Fanuc Parameter 1202 bit 2 to 1, which rejects G92/G50 preset commands and triggers alarm PS0010.
- Manage fine adjustments without losing base setup coordinates on Siemens systems by splitting offsets into coarse and fine registers inside the $P_UIFR array.
- Enable shortened extended coordinate syntax on Mitsubishi controls by setting parameter #1274 ext10/bit5 to 1, allowing streamlined G54 Pn calls in place of G54.1.
- Avoid overtravel and hardware impacts during multi-axis tilted working plane indexing (G68.2) by configuring Fanuc parameter 1205 bit 6 (3TW) to safely permit G54–G59 coordinate shifts.
Core Work Coordinate System Concepts
The practical programming effect of the G54–G59 Workpiece Coordinate System commands is shifting the mathematical zero point of the program away from the machine's absolute home position to a specific, measurable datum on the workpiece. This allows programmers to write tool paths based entirely on the part print dimensions rather than calculating absolute distances from the machine's reference origin. Establishing this Settable Zero System (SZS) or workpiece coordinate grid ensures that all subsequent positioning moves are relative to the physical part rather than the machine's internal axes.
Programmers and operators must maintain strict vigilance over machine boundaries and modal WCS states. Because the machine automatically defaults to the G54 coordinate system when powered on or reset on many controls, running a program that relies on a different offset without verification can lead to severe path deviations. If an operator miscalculates the distance from the basic machine zero point to the workpiece origin, the resulting absolute positioning move will drive the spindle toward a mathematically correct but physically dangerous location. During setups or program restarts, operators should verify active WCS offsets and confirm clearance before initiating movements, often coordinating WCS settings with reference zero returns via g28-g29-g30-reference-point-return.
A key factor in safe setup is distinguishing work coordinate systems from tooling offsets. Work coordinate system settings shift the zero system, whereas tool length compensations set via g43-g44-g49-tool-length-compensation adjust for specific cutter lengths, and cutter compensations configured with g40-g41-g42-tool-nose-cutter-radius-compensation adjust for cutter radius geometry. Programmers must sequence these commands logically, ensuring that coordinate shifts are established before compensation vectors are applied, thereby preventing overlapping contour errors, tool path deviations, and hardware crashes.
Command Structure and Syntax
The standard G54 through G59 commands are modal G-codes that establish the active workpiece coordinate system (WCS). Once commanded, all subsequent coordinates programmed in absolute mode (G90) are referenced to the active coordinate system zero point until a different WCS command is executed or the system is reset. The syntax permits commanding coordinate moves within the same block as the WCS selection, immediately positioning the tool relative to the newly established datum.
Extended coordinate systems allow machine tools to manage complex, multi-fixture setups that exceed the standard six offset limits. Fanuc and Mitsubishi utilize the G54.1 command followed by a P-address to access up to 300 additional coordinate registries. Siemens uses native adjustable user frames G505 to G599, or G54 P1 to P100 when operating under ISO Dialect compatibility mode. To suppress or cancel offsets temporarily for tool change or referencing sequences, controls utilize specific non-modal commands such as G53 or SUPA, which direct axis movement directly to absolute machine zero coordinates.
Syntax structures across brand environments:
- Fanuc:
G54 X_ Y_ Z_;(standard) orG54.1 P_ X_ Y_ Z_;(extended) - Siemens Native DIN Mode:
G54(standard) orG505toG599(extended user frames) - Siemens ISO Dialect Mode:
G54(standard) orG54 P_(extended, up to P100) - Mitsubishi:
G54 X_ Y_ Z_;(standard) orG54.1 P_ X_ Y_ Z_;(extended, optionally shortened toG54 P_)
Brand-Specific Application Configurations
Fanuc
On Fanuc systems, standard work coordinate offsets G54 to G59 are stored in parameters 1221 to 1226, mapping physical axis values directly to each coordinate registry. Active offsets are deeply integrated with the machine's safety states and reset behaviors. Upon pressing the reset key or after an emergency stop, the control determines whether to maintain the active WCS offset or automatically drop back to the G54 default based on parameter 1201 bit 7 (WZR).
Extended work coordinates are commanded using G54.1 P_ blocks, permitting selection of up to 300 additional offsets. To safely execute these commands, developers must maintain compatibility parameter controls and monitor active coordinate structures.
| Parameter / Alarm / Option | Details and Constraints |
|---|---|
| Parameter 1201 bit 7 (WZR) | WCS state on reset: 0 retains the currently active coordinate system; 1 forces a return to default G54. |
| Parameter 1202 bit 2 (G92/G50) | Legacy coordinate setting handling: 0 executes the legacy coordinate setting command without alarm; 1 suppresses the command and throws a PS0010 alarm. |
| Parameter 1205 bit 6 (3TW) | WCS selection during tilted working plane indexing: 0 triggers a PS5462 alarm if G54-G59 is commanded; 1 safely permits execution of the shift. |
| Parameters 1221 to 1226 | Stores physical workpiece origin offset values for G54 through G59, respectively, mapped individually to each axis. |
| Alarm PS0010 (IMPROPER G-CODE) | Triggered if a legacy coordinate setting command (G50 or G92) is executed when parameter 1202 bit 2 is 1, or G10 P0 is programmed when the shift screen is hidden via parameter 1201 bit 6 (NWS). |
| Alarm PS5462 (ILLEGAL COMMAND G68.2/G69) | Triggered if G54–G59 is commanded during tilted working plane indexing (G68.2) while parameter 1205 bit 6 (3TW) is 0. |
| Alarm PS0568 (NO WCS PRESET) | Triggered if an axis controlled by the PMC is commanded with an NC move before the coordinate system is preset. |
| Version Differences | M-series (machining centers) uses G92 for legacy coordinate settings; T-series (lathes) uses G50 (standard system A) or G92 (systems B and C). Extended coordinate system options support either P48 or P300 sets. |
Warning: Programmers must establish a strict, standardized nesting order for applying offsets and rotations, explicitly utilizing safe G49 cancellation blocks or reference point returns before changing tools or planes to prevent PS0049 alarms.
Siemens
Siemens controls configure the Settable Zero System (SZS) using active user frames, allowing operators to establish workpiece datums across standard and native extended ranges. A critical element of Siemens frame handling is that every zero offset registry contains a coarse offset value and a fine offset value that are automatically added together by the control, permitting fine wear or thermal adjustments without overwriting the base coordinate.
To invoke standard offsets, programmers use G54 to G59. Native extended adjustable user frames run from G505 to G599, providing up to 99 channels, while ISO compatibility mode enables standard G54 P1 to P100 syntax.
| Parameter / Alarm / Option | Details and Constraints |
|---|---|
| MD28080 $MC_MM_NUM_USER_FRAMES | Machine data parameter defining the number of adjustable user frames available in the channel (up to 99). |
| MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES | Machine data parameter defining the number of global settable frames for the NCU. |
| $P_UIFR[n] | System variable array containing actual settable frame data, where n is the offset index (e.g., 1 for G54, 5 for G505). |
| Alarm 14784 / 14785 | Triggered if the tool trajectory violates a coordinate-system-specific working area limitation (WALCS1 to WALCS10) active on the G54-G59 SZS. Program halts to prevent overtravel. |
| Alarm 61801 | Triggered if an impermissible numerical value or incorrect G-code system is programmed during WCS-dependent cycle settings. |
| Version Differences | On the SINUMERIK 840D sl, G58 and G59 act as absolute (coarse) and additive (fine) programmable work offsets respectively, but function as standard 5th and 6th settable offsets on 828D. ISO Dialect mode (G291) processes G54 P_ instead of G505–G599. |
Warning: Operators must be highly vigilant during setups; assuming G500 fully disables all coordinate shifts is dangerous because G500 actually activates the underlying basic frame ($P_ACTBFRAME), which may contain residual offset values that can trigger sudden axis shifts.
Mitsubishi
Mitsubishi controls provide a highly customizable and dynamic coordinate system structure, integrating standard G54 to G59 coordinate systems with advanced offset management variables. A primary distinction of Mitsubishi's architecture is its parallel offset handling, where a G92 coordinate shift command simultaneously shifts all standard and extended coordinate systems in parallel rather than updating only the active system.
Standard coordinates are called using G54 to G59, and extended workpiece coordinate systems use G54.1 P1 to P300. By adjusting parameter #1274, programmers can bypass G54.1 syntax and call extended systems using shortened G54 P_ code.
| Parameter / Alarm / Option | Details and Constraints |
|---|---|
| WCS Offset Range | The valid input range for defining X, Y, Z, or additional axis offset distances is -99999.999 to 99999.999 mm (or degrees). |
| #1274 ext10/bit5 (G54 Pn command) | Shortened extended WCS calls: 0 forces G54 Pn to select standard G54 and ignore the P address; 1 enables shortened G54 Pn to act as G54.1 Pn. |
| #1151 rstint (Reset initialization) | WCS modal retention on reset: 0 retains the modal state of G54.1 even if a Reset 1 operation is carried out; 1 cancels the modal state on reset. |
| System Variables #5221 to #532n | Variables storing the physical axis offset values for the standard workpiece coordinate systems (e.g., #5221 to #522n for G54). |
| Alarm P33 (Format error) | Triggered if a G-code that utilizes a P-address (such as dwell or subprogram) is commanded in the same block as G54.1, or if the P address is omitted. |
| Alarm P39 (No specification) | Triggered if G54.1 is commanded on a machine where extended workpiece coordinate system options have not been purchased or activated by the MTB. |
| Version Differences | The standard availability and quantity of extended coordinate systems (G54.1 Pn) vary depending on MTB options for the M800V/M80V series, supporting either 0, 48, 96, or 300 sets. |
Warning: Programmers must prevent formatting errors by never omitting the P address from a G54.1 block, or calling a conflicting P address in the same block, both of which will instantly trigger a P33 Format Error alarm.
Controller Brand Comparison
| Topic | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Extended WCS Calls | Call via G54.1 P1 to P300. | Call via native G505 to G599, or G54 P1 to P100 in ISO Dialect mode. | Call via G54.1 P_ or optionally shortened to G54 P_ via parameter #1274 ext10/bit5. |
| Coarse and Fine Offsets | Single set of values per axis per offset in parameters 1221 to 1226. | Separated into coarse and fine registers, automatically added together by the control inside the $P_UIFR frame variables. | Single set of values per axis per offset in system variables #5221 to #532n. |
| Local Coordinate (G52) integration | Local Coordinate System settings (G52) are applied relative to active WCS. | Multi-layered frame architecture; 3D dynamic programmable frames (TRANS, ROT, SCALE) layered on top of G54 SZS. | Dynamic G52 independent on G54–G59, but shared/inherited across all G54.1 Pn extended offsets. |
| Shift (G92/G50) integration | Trappable via parameter 1202 bit 2 to reject legacy system setting commands and trigger a PS0010 alarm. | ISO mode supports coordinate system shifts with G50.3 or G92.1 resetting shifts back to base definitions. | G92 shifts all standard (G54–G59) and extended (G54.1) offsets in parallel. |
Analytical Comparison of Brand Architectures
Fanuc's handling of workpiece coordinate systems is distinguished by its rigid, parameter-level error trapping and backward compatibility management. First, Fanuc uniquely allows machine builders to safeguard the modern G54–G59 coordinate matrix from being accidentally overwritten by archaic coordinate setting commands (G50/G92) buried in legacy programs. By simply toggling parameter 1202 bit 2 to a value of 1, the controller intelligently rejects the legacy command and immediately throws a PS0010 alarm code, protecting the physical setup. Second, Fanuc natively expands its WCS tracking capabilities far beyond the standard six offsets, utilizing the G54.1 P-address structure to command up to 300 additional extended workpiece coordinate systems directly from the CNC memory. Finally, Fanuc provides highly granular integration with tilted working plane indexing (G68.2); via parameter 1205 bit 6 (3TW), the control can be configured to either safely execute a G54-G59 shift within a 3D tilted plane or strictly trap it as an illegal command (PS5462), granting programmers absolute control over multi-axis spatial translations.
What most clearly distinguish Siemens from other industry standard controls is its sophisticated, multi-layered frame architecture. First, Siemens natively supports an enormous volume of workpiece zeros—up to 99 settable work offsets (G505 to G599) without requiring optional macro expansions, which is ideal for complex tombstone machining on large horizontal mills. Second, Siemens uniquely divides every single settable work offset into a "coarse" offset and a "fine" offset that are automatically added together by the control; this permits operators to make micro-adjustments for tool wear or thermal growth without mathematically overwriting the original, dialed-in base coordinate. Finally, Siemens inherently separates the Settable Zero System (SZS) established by G54 from the final Workpiece Coordinate System (WCS). This allows programmers to apply dynamic 3D programmable frames—such as translations (TRANS), rotations (ROT), and scaling (SCALE)—layered on top of the G54 SZS, granting unparalleled flexibility to orient the plane without permanently destroying the original clamped zero offset.
On a Mitsubishi control, a local coordinate system can be established entirely independently on each of the six standard workpiece coordinate systems (G54 to G59). However, the control applies only a single, shared local coordinate system to the extended workpiece coordinate systems (G54.1 P1 to P300); even if the extended P-number is dynamically changed mid-program, the local coordinate offset amount is universally inherited. A second distinguishing behavior occurs when a coordinate system shift (G92) is commanded. Rather than shifting only the active grid, Mitsubishi simultaneously shifts all standard workpiece coordinate systems (G54 to G59) as well as the extended workpiece coordinate systems (G54.1 Pn) in parallel. Finally, Mitsubishi allows operators to optionally shorten their extended coordinate calls; by enabling parameter #1274 ext10/bit5, programmers can bypass typing G54.1 and simply use G54 Pn to select an extended grid, streamlining code density.
Practical Program Examples
Fanuc Milling Program Example
O1200 (FANUC G54 WORK COORDINATE SYSTEM EXAMPLE) ;
N10 G90 G21 G40 G49 (Safety block: absolute, mm, cancel radius/length comp) ;
N20 T01 M06 (Tool change: load Tool 1) ;
N30 S1200 M03 (Start spindle CW at 1200 rpm) ;
N40 G00 G54 X100.0 Y50.0 (Rapid positioning using standard G54 coordinate system) ;
N50 G43 Z10.0 H01 (Activate positive tool length compensation on Z using H01) ;
N60 G01 Z-5.0 F200.0 (Feed down to cut depth) ;
N70 G55 X50.0 Y50.0 (Switch to secondary G55 coordinate system to mill second location) ;
N80 G00 Z50.0 (Rapid retract to safe height) ;
N90 G49 M05 (Cancel tool length compensation and stop spindle) ;
N100 G28 X0 Y0 Z0 (Return to machine reference point) ;
N110 M30 ;
Dry Run Analysis:
- Tool movement: Block N10 establishes absolute coordinates in millimeters, canceling tool nose radius compensation (G40) and length compensation (G49). N20 loads tool T01, and N30 runs the spindle clockwise at 1200 rpm. N40 rapid-positions coordinates to X100.0 and Y50.0 relative to the standard G54 offset. N50 activates positive tool length compensation (g43-g44-g49-tool-length-compensation) using register H01, bringing the Z axis to Z10.0. N60 feeds Z to -5.0. N70 commands a coordinate switch to the secondary G55 Workpiece Coordinate System, translating the tool to X50.0 Y50.0 in the G55 coordinate space. N80 rapid-retracts Z to a safe height of Z50.0. N90 cancels length compensation (G49) and stops the spindle. N100 performs a machine zero return (g28-g29-g30-reference-point-return) to safely clear the workpiece.
- Operator symptom: The operator watches the tool rapid position to X100.0 Y50.0 relative to the G54 zero point, apply the H01 offset with a smooth downward movement to Z10.0, plunge into the stock, and then smoothly translate to X50.0 Y50.0 relative to the secondary G55 zero point before retracting.
- Safety verification: The setup operator verifies that G54 and G55 offset values are correctly entered on the CNC registry, and double-checks that parameter 1201 bit 7 (WZR) behavior is configured so that pressing reset does not cause an unexpected WCS drop to G54.
Siemens ISO Dialect Program Example
; SIEMENS G54 NATIVE ADJUSTABLE FRAME EXAMPLE
N10 G90 G17 G71 (Absolute, XY plane, metric coordinates)
N20 T1 D1 M6 (Load Tool 1 and activate cutting edge offset D1)
N30 G54 S1500 M3 (Select G54 settable zero system, start spindle CW)
N40 G00 X0 Y0 Z50.0 (Rapid traverse to G54 center datum)
N50 G01 Z-10.0 F150 (Feed to depth)
N60 G55 X50.0 Y50.0 (Switch to G55 settable zero system, translate to second location)
N70 G00 Z200 (Rapid retract in Z)
N80 G500 G00 X0 Y0 (Deselect active zero offset, return to basic frame)
N90 G53 G00 Z500 D0 (Suppress zero offsets, rapid to tool change height)
N100 M30
Dry Run Analysis:
- Tool movement: Block N10 initializes absolute positioning, the G17 plane, and metric units. N20 loads Tool 1 and activates cutting edge D1. N30 activates the G54 Settable Zero System, shifting zero coordinates, and starts spindle clockwise at 1500 rpm. N40 rapid-traverses tool to X0 Y0 Z50.0, then N50 feeds Z to -10.0. N60 switches coordinate modals to G55, translating the cutter to X50.0 Y50.0 in the G55 coordinate space. N70 rapid-retracts Z to Z200. N80 commands G500 to deactivate the active offset, and N90 utilizes G53 to completely suppress active user frames and tool offsets to safely rapid Z to 500.0 relative to machine coordinates.
- Operator symptom: The operator sees the cutter position precisely over the G54 part datum, feed down, and then traverse to the G55 coordinate space. During deselection and suppression (G500 and G53), the axis moves smoothly back to machine home clearance without hitting the vise jaws or secured clamps.
- Safety verification: Operators must check both coarse and fine offset registries in the
$P_UIFR[1]and$P_UIFR[2]variables to ensure no residual values exist in the fine register. They must verify WALCS working area limits are set to trap accidental overtravel.
Mitsubishi Milling Program Example
; MITSUBISHI G54 AND G54.1 EXTENDED COORDINATE SYSTEM
N10 G90 G21 G40 G49 G17 (Absolute, mm, cancel compensations, XY plane) ;
N20 T02 M06 (Tool change: load Tool 2) ;
N30 S1800 M03 (Spindle active CW at 1800 rpm) ;
N40 G00 G54 X15. Y20. Z50.0 (Rapid positioning using standard G54 zero shift) ;
N50 G00 G54.1 P1 X200. Y200. Z10.0 (Select extended workpiece coordinate system P1) ;
N60 G01 Z-8.0 F120.0 (Feed to machining depth) ;
N70 G00 Z100.0 M05 (Rapid retract and stop spindle) ;
N80 G90 G10 L2 P2 X-20.000 Y-20.000 (Use G10 program command to update G55 offset values) ;
N90 G28 G91 Z0 (Return Z-axis to machine zero point) ;
N100 M30 ;
Dry Run Analysis:
- Tool movement: N10 establishes absolute coordinates in millimeters, canceling cutter compensation (g40-g41-g42-tool-nose-cutter-radius-compensation) and length compensation modals. N20 loads Tool 2, and N30 starts the spindle clockwise at 1800 rpm. N40 rapid-positions to X15.0 Y20.0 Z50.0 relative to the standard G54 datum. N50 switches to the extended WCS G54.1 P1, rapid positioning to X200.0 Y200.0 Z10.0. N60 feeds to Z-8.0 at 120 mm/min. N70 rapid-retracts Z to Z100.0 and stops the spindle. N80 uses G10 L2 P2 to programmatically write standard G55 offset values to X-20.000 and Y-20.000. Finally, N90 uses g28-g29-g30-reference-point-return to safely return Z to machine home.
- Operator symptom: The operator witnesses the tool rapid position first to the G54 coordinate, then traverse to the extended G54.1 P1 coordinate space. After retracting, the system variable registers for G55 are updated in real-time on the offset screen.
- Safety verification: Operators must run the 2D Graphic Check or 3D Machining Simulation screens to visually validate the coordinate shift locations. They must check that parameter #1274 ext10/bit5 is set to 1 if they wish to utilize shortened
G54 P1syntax, and verify that the workpiece coordinate system offset range does not exceed absolute physical limits.
Work Coordinate System Error Analysis
| Brand | Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Fix |
|---|---|---|---|---|
| Fanuc | PS0010 | Legacy coordinate setting command (G50 or G92) is programmed while parameter 1202 bit 2 is 1, or G10 P0 is executed when the shift screen is hidden via parameter 1201 bit 6 (NWS). | The CNC immediately freezes, display flashes a red "PS0010 IMPROPER G-CODE" alarm, and cycle start is locked. | Legacy command is programmed in a program using modern coordinates. Fix: Remove archaic coordinate setting commands or toggle parameter 1202 bit 2 to 0. |
| Fanuc | PS5462 | Attempting to select a G54–G59 coordinate system during active tilted working plane indexing (G68.2) when parameter 1205 bit 6 (3TW) is set to 0. | Axis motion halts immediately, spindle remains active, and a flashing "PS5462" alarm appears on the screen. | Incompatible coordinate shifts during 3D rotations. Fix: Check multi-axis code structure or set parameter 1205 bit 6 (3TW) to 1. |
| Siemens | Alarm 14784 / 14785 | Violation of coordinate-system-specific working area limitation (WALCS1 to WALCS10) active on the G54-G59 Settable Zero System (SZS). | The control pre-scans the block, halts the NC program immediately, and generates a severe area limitation halt. | The tool trajectory falls outside of defined spatial boundaries. Fix: Verify active tool path limits and correct coordinate offsets in the $P_UIFR array. |
| Siemens | Alarm 61801 | Impermissible numerical value or incorrect G-code system programmed during WCS-dependent cycle settings. | Automatic program execution is interrupted, cycle stops, and "Alarm 61801 Wrong G code selected" displays. | Incorrect cycling parameters or active coordinate frames clash with cycle expectations. Fix: Verify active G-code system and cycle definitions. |
| Mitsubishi | P33 | Conflicting P address programmed in a G54.1 block (e.g. subprogram or dwell), or P address completely omitted from a G54.1 command block. | Spindle stays active but all axis movement terminates, displaying flashing "P33 Format error". | Parameter conflicts or missing P address. Fix: Ensure P address is provided and does not conflict with other commands. |
| Mitsubishi | P39 | Extended workpiece coordinate system selection (G54.1) is programmed, but the machine lacks active option license for extended offsets. | Cycle start is aborted, displaying a flashing "P39 No specification" alarm. | Attempting to run a program calling extended coordinate offsets on standard hardware. Fix: Upgrade machine option specifications or restrict code to standard G54–G59. |
Critical Safety Application Note
A catastrophic hard collision, shattered solid carbide tooling, and severe spindle damage will reliably occur if an operator forgets that every settable zero offset on a Siemens system consists of both a coarse offset and a fine offset. If a previous operator left a residual value in the fine offset registry in the $P_UIFR variable array, the tool will stray from its programmed path during absolute positioning. Similarly, on Mitsubishi systems, a severe crash into the rotating chuck or indexing turret will occur if the machine's G22 chuck and tailstock barriers are not activated, and the operator miscalculates the basic machine zero offset. If the active workpiece coordinate system (WCS) modal status is dropped during a reset because parameter 1201 bit 7 (WZR) on Fanuc or parameter #1151 on Mitsubishi is configured to force a return to G54, the cutting tool will plunge at rapid traverse into the wrong coordinate space. Setup operators must verify all physical alignment boundaries, utilize the 2D Graphic Check and 3D Machining Simulation screens, and audit coordinate registry settings prior to initiating cycle start.
Related Work Coordinate System Commands
To program workpiece coordinate systems effectively, operators must understand the broader network of G-codes and helper routines:
- G52 Local Coordinate System: Establishes a local coordinate system shift relative to the currently active G54–G59 workpiece coordinate system.
- G53 Machine Coordinate System Selection: Temporarily suppresses the active G54–G59 workpiece coordinate system for a single, non-modal block to target absolute machine zero coordinates.
- G92 / G50 Coordinate System Setting / Shift: Shifty legacy command that resets the basic position display or shifts all standard and extended workpiece coordinate systems in parallel.
- G10 Data Setting: Programmatic command used to write and overwrite specific coordinate offset values directly to the standard G54–G59 or extended WCS registers.
- SUPA / G153 Zero Offset Suppression: Siemens-specific non-modal commands used to suppress active settable zero offsets and basic frames for safe reference positioning.
Practical Machining Takeaways
Process reliability in multi-brand CNC machining centers and lathes requires absolute control over workpiece coordinate system boundaries, modal states, and offset registries. Operators and programmers must implement rigid setup verification protocols—such as executing 3D machining simulations, double-checking coarse and fine offsets, and auditing parameter behaviors on reset—to ensure the spindle remains safely synchronized with the workpiece datum. Maintaining standard zero offset configurations protects expensive solid carbide tooling, prevents mechanical collisions, and guarantees high-precision part manufacturing.
Frequently Asked Questions
How does Parameter 1201 bit 7 (WZR) on Fanuc affect workpiece coordinate system reset behavior?
Parameter 1201 bit 7 (WZR) dictates whether the Fanuc controller retains the active Work Coordinate System (WCS) or silently returns to the default G54 offset when the reset button is pressed. If set to 0, the active coordinate system (such as G55 or G56) is preserved; if set to 1, the control automatically forces the active system back to G54. Setup operators must verify this parameter value prior to cycling the machine, as pressing reset during a mid-program stop could cause the tool to plunge into the wrong coordinate space upon restart. Practical action: Operators must check the active WCS code on the CNC status page after any reset, or explicitly program the desired WCS (e.g., G55) in the startup blocks of every tool sequence to override default assumptions.
What is the functional difference between coarse and fine offsets on Siemens SINUMERIK controls?
Siemens zero offsets are divided into a coarse offset registry and a fine offset registry, which are automatically added together by the control to establish the Settable Zero System (SZS). The coarse offset acts as the primary coordinate base dialed-in during initial setup, while the fine offset is reserved for operators to make micro-adjustments for tool wear, thermal growth, or part variations. This prevents operators from mathematically overwriting the original base coordinate. Practical action: Setup supervisors must audit both registers in the $P_UIFR system variable array during changeovers, ensuring that any residual fine offset value from a previous job is cleared to zero to prevent unexpected tool path deviations.
Why does a G92 coordinate shift impact standard and extended offsets differently on Mitsubishi controls?
Commanding a coordinate system shift (G92) on a Mitsubishi control shifts all standard workpiece coordinate systems (G54 to G59) as well as the extended workpiece coordinate systems (G54.1 Pn) in parallel, whereas establishing a Local Coordinate System (G52) behaves differently. A local G52 offset can be set independently on each of the standard G54 to G59 systems, but the control applies only a single, shared local offset across all extended G54.1 coordinate systems. Practical action: When programming multi-part setups on horizontal tombstones, avoid using G92 coordinate shifts, and instead use program command G10 L2/L20 to write specific absolute offsets, preventing unexpected cumulative shifts across multiple fixtures.
Still not resolved?
Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2005)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
With over 25 years of experience working in all areas of the CNC machine industry, I continue my activities as a co-founder of CNC CARE, where we offer brand-independent consulting, engineering, and original spare parts services.
Related Articles
Other articles on this topic
Siemens CYCLE800 G-Code: Swivel Planes & Tool Alignment
Master Siemens CYCLE800 for 3+2 axis machining. Learn plane swiveling, tool alignment, parameter setup, and how to troubleshoot Alarm 61190 and 61153.
Siemens CYCLE72 Contour Milling: Guide to Sinumerik Path Milling
Master Siemens CYCLE72 for contour milling on Sinumerik CNC controls. Learn parameter setup, avoid simulation alarm 61123, and prevent machine collisions.
Siemens CYCLE952 Contour Turning Cycle Programming Guide
Master Siemens CYCLE952 contour turning on Sinumerik CNC controls. Learn parameter lists, resolve Alarm 61051, and configure balance cutting.
Siemens SLOT1 and SLOT2 Slot Milling Cycles Programming Guide
Master slot milling on Siemens Sinumerik controls using SLOT1 and SLOT2 cycles. Learn parameter configurations, alarm 61000 prevention, and optimal tool paths.