Skip to main content
CNC.wikiCNC.wiki

CNC Zero Points Explained: Machine, Part, and Program Origins

Learn how to manage CNC zero points on Fanuc, Siemens, and Mitsubishi controllers. Avoid hard collisions with proper machine, part, and program origins.

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE Co-founder

Understanding CNC Zero Points: The Critical Production Boundary

A single coordinate offset tracking failure or uncalibrated offset parameter during startup can instantly plunge a high-speed CNC spindle into a hardened vise jaw, a fixture clamp, or a rotating chuck, converting valuable carbide tooling into violently gouged scrap metal. This spatial tracking failure destroys indexing turrets, ruins expensive spindle bearings, and generates a violently gouged scrap part, resulting in thousands of dollars in unplanned downtime. Establishing absolute spatial alignment is the ultimate physical defense against catastrophic hard collisions on any CNC machine. To achieve this, CNC controllers leverage three distinct coordinate layers: the Machine Origin, the Part Origin, and the Program Origin. Decoupling the physical machine space from the part blueprint coordinates is essential for safe, accurate, and repeatable CNC manufacturing operations.

Technical Summary of CNC Origin Coordinates

SpecificationDetails
G-Code CommandsG53 (Machine Zero), G54 to G59 (Part Origin WCS), G54.1 (Extended WCS), G92 (Program Origin/Shift), G50 (Spindle Speed Clamp/Lathe Program Origin), G52 (Local Shift Offset), G153/SUPA/G500 (Zero Offset Suppression), PRESETON/PRESETONS (Actual Value Setting)
Modal GroupGroup 00 (Non-modal commands: G53, SUPA, G153, PRESETON); Group 14 (Modal coordinate offsets: G54–G59, G54.1)
Compatible BrandsFanuc, Siemens, Mitsubishi
Critical ParametersFanuc: 0390 bits 0-5 (NREQx mandatory homing), 1201 bit 7 (WZR reset behavior), 1202 bit 2 (G92/G50 lockout); Siemens: MD20700 REFP_NC_START_LOCK, MD34060 REFP_MAX_MARKER_DIST, MD30600 $MA_FIX_POINT_POS; Mitsubishi: #2037 G53ofs reference grid, #2059 zerbas display mode, #1288 ext24/bit7 instant counter, #1231 set03/bit4 graphical marker.
Main Kinematic ConstraintReference return sequences must be mechanical or pulse-coder-driven upon startup. Deceleration dogs and hardware switches define physical boundaries; mismatches or axis overruns stall axis alignment. Mid-program coordinate resets via G50 or G92 permanently overwrite standard active offsets and must be programmatically isolated or locked to prevent collision.

Quick Read: High-Level Origin Rules

  • Perform an absolute zero return homing sequence (G28 or G74) immediately after powering ON to synchronize absolute machine encoders and establish the Machine Coordinate System (MCS) boundary.
  • Select workpiece coordinate systems (G54 to G59) to shift origin coordinate systems from MCS zero to workpiece datums, matching program coordinates with workpiece blueprints.
  • Avoid calling legacy program origin shift commands (G50 or G92) mid-cycle; these permanent overrides silently alter coordinate tracking matrices and plunge tooling into workholding.
  • Leverage machine parameters, such as Fanuc parameter 1202 bit 2, to restrict legacy coordinate setting commands while standard G54 to G59 coordinates are active, raising a safe PS0010 alarm instead of crashing.
  • Utilize zero offset suppression commands (G53 or Siemens SUPA/G153) during retraction blocks to safely bypass active coordinate shifts and direct the tool to hard tool-change points.
  • Configure Mitsubishi parameter #1288 ext24/bit7 to force instant position counter updates on the screen when changing WCS offsets, preventing operators from starting cycles blindly.
  • Prevent homing dog overrun errors (M01 0001 in Mitsubishi) and reference search failures (MD34060 in Siemens) by validating hardware deceleration speeds and limit switch dog physical placement.

Basic Concepts of Machine, Part, and Program Zeroes

Understanding the coordinate system architecture completely decouples the physical machine space from the part drawing. Following referencing or homing, the machine's coordinate system (MCS) zero point acts as the ultimate physical anchor. Because part programs must be created directly from design blueprints, programmers use settable workpiece coordinate systems (WCS) like G54 to mathematically shift this origin to the workpiece zero. This allows the part program to define coordinates relative to the workpiece, eliminating the need to calculate absolute spindle offsets. Operators and programmers must closely monitor zero shifts and active modes, as a single tracking error or miscalibrated offset can shift toolpaths directly into workholding fixtures, leading to catastrophic hard collisions, crushed tools, damaged spindle bearings, and scrapped workpieces.

Machine Zero (G53) establishes the absolute base coordinate system for the physical hardware. This point is defined by physical mechanical limits, limit switch dogs, or highly accurate absolute pulse encoders at power-up. Tool changers, tailstocks, and safety barriers reference this hard coordinate system. Any movement commanded in G53 is absolute, non-modal, and bypasses any part offsets to ensure the spindle travels along a globally safe trajectory. Bypassing homing routines will prevent the controller from aligning the physical zero point with software tracking, causing severe startup halts.

Part Origin (G54 through G59) shifting is the programmer's core tool for linking design dimensions to the actual workpiece location inside the enclosure. When a workpiece is clamped into a vise jaw or chuck, its physical zero point lies at a variable distance from the absolute Machine Zero. The controller calculates the G54 offset values to bridge this exact spatial offset. Using modal WCS commands allows identical G-code programs to execute on multiple parts loaded on the table simply by editing coordinate offset registers, avoiding the need to rewrite coordinates in the program.

Program Origin adjustments (G52, G92, G50) provide specialized local coordinate control. A G52 local shift creates a temporary child coordinate system within the active G54 WCS, which is highly useful for sub-features or multi-vise setups. In contrast, the G92 command (or G50 on System A lathes) establishes a new program zero point by overwriting the current coordinate register values on the fly. Because G92 forces the controller to define its current position as a new programmed coordinate, any mid-program interruption or reset can lead to catastrophic spatial tracking loss.

Command Structure and Syntax

Implementing zero point offsets requires proper G-code block syntax and strict parameter management. Zero shifts are categorized as non-modal machine coordinate positioning, modal workpiece coordinate shifts, or dynamic program coordinate setting. Each command relies on axial addresses (X, Y, Z) combined with registry indexes or parameters to calculate accurate offset vectors.

For non-modal machine coordinate movements, G53 forces the machine to bypass any active offsets and drive directly to absolute mechanical positions. This command must be programmed in absolute coordinates (G90) and requires explicit target values for the target axes. In contrast, G54 to G59 are modal workpiece coordinate shifts that remain active across multiple blocks. Once G54 is active, all subsequent coordinates represent offsets relative to the part datum until G55, G56, or G49 is executed. Legacy program origin commands (G92/G50) force-inject coordinate values into the position registers and do not generate axis movement themselves, but rather shift all subsequent coordinate targets mathematically.

Standard syntax formats across major controller platforms are structured as follows:

  • Fanuc Machine Zero: G53 IP_; (Non-modal positioning to absolute machine coordinates)
  • Fanuc Workpiece Coordinate System: G54; through G59; (Modal selection of workpiece origins 1 to 6)
  • Fanuc Legacy Program Origin Setting: G92 IP_; (M-series mills) or G50 IP_; (T-series lathes, G-code System A)
  • Siemens Work Offsets: G54 to G57, and G505 to G599 (Settable zero offsets from MCS to WCS)
  • Siemens Axial Offsets & Suppression: G58/G59 (Axial programmable offsets) and SUPA/G153 (Zero suppression)
  • Mitsubishi Machine Zero: G53 X_ Y_ Z_ ; (Non-modal machine coordinate positioning)
  • Mitsubishi Part Origin selection: G54; to G59; (Standard WCS) or G54.1 P_; (Extended WCS)
  • Mitsubishi Program Origin setting: G92 X_ Y_ Z_ ; (Forced absolute coordinate assignment)

Brand Applications: Controller-Specific Coordinate Architectures

Fanuc

On Fanuc controllers, establishing the absolute machine coordinate zero is controlled via parameter 0390. If absolute pulse coders are used and this parameter is misconfigured, absolute coordinates cannot be established upon startup.

Workpiece coordinate offsets are called modally via G54 through G59, while G53 is commanded non-modally. Programs can also employ G92 or G50 to shift coordinate origins, though these commands can be locked by parameter 1202 bit 2 to prevent fatal coordinate overwrites.

  • Parameters:
    • 0390 bits 0-5 (NREQx): Mandatory MCS homing at power-up (0 = alarm if not homed, 1 = suppress alarm).
    • 1201 bit 7 (WZR): Reset WCS behavior (0 = retain active coordinate system, 1 = force G54 reset).
    • 1202 bit 2 (G92/G50): Legacy coordinate lockout (0 = execute command, 1 = raise improper G-code alarm PS0010).
  • Alarms:
    • ALM 090: Reference position return abnormal (insufficient travel or grid marker not detected).
    • ALM 310 / ALM 320: Absolute pulse coder cannot establish machine zero for X (310) or Y (320) axes.
    • PS0010: Legacy coordinate shift G50/G92 is blocked mid-program because parameter 1202 is set to 1.
  • Versions: M-series mills utilize G92 for program origin setting, whereas T-series lathes use G50 under standard G-code System A. Torque or axis formats can be switched to System B or C to unify lathe program origins with G92.

Warning: Hitting the reset button can silently clear your active coordinate offset and snap the machine back to G54 if parameter 1201 is enabled, leading to severe tool plunge crashes during cycle restarts.

Siemens

Siemens controls decouple spatial boundaries using a Settable Zero System (SZS). Homing and referencing are monitored by machine data parameters MD20700 and MD34060 to ensure axis synchronization.

Adjustable offsets are enabled modally via G54 to G57 and G505 to G599. Bypassing active offsets is commanded non-modally using G53, G153, or SUPA.

  • Parameters:
    • MD20700 REFP_NC_START_LOCK: Disables NC start if axes are not homed.
    • MD34060 REFP_MAX_MARKER_DIST: Maximum travel distance (mm) while searching for zero marker before alarm.
    • MD30600 $MA_FIX_POINT_POS: MCS coordinates for fixed points like safe tool change locations.
  • Alarms:
    • reference mark not found: Axis searches further than MD34060 without finding the encoder index mark.
    • Alarm 61101: Reference plane defined incorrectly inside machining cycle parameter selections.
  • Versions: SINUMERIK 840D sl implements G58 and G59 as dynamic, programmable coarse and fine zero offsets. In contrast, SINUMERIK 828D dedicates G58 and G59 as standard 5th and 6th adjustable offsets.

Warning: Forgetting to suppress active WCS offsets (using G53 or SUPA) when retracting to fixed tool-change locations will cause skewed coordinates, driving tools directly into fixture clamps or the chuck face.

Mitsubishi

Mitsubishi systems govern axis homing and screen display modes via parameters #2037 and #2059. These settings establish the relationship between basic machine coordinates and the encoder grid.

Workpiece coordinate selections use G54 through G59, or G54.1 for extended coordinate systems. Operators can configure parameter #1288 to trigger immediate position counter updates when switching offsets.

  • Parameters:
    • #2037 G53ofs: Zero offset from the basic machine origin to the absolute physical reference grid point.
    • #2059 zerbas: Controls zero point initialization set mode and screen display relative to MCS.
    • #1288 ext24/bit7: Instantly updates screen position counter upon coordinate offset change (0 = wait for cycle/reset, 1 = immediate).
    • #1231 set03/bit4: Switches the graphical zero mark display (0 = machine zero, 1 = active workpiece zero).
  • Alarms:
    • M01 0001 (Dog overrun): Homing deceleration limit switch does not stop over the dog, physically overrunning it.
    • M01 0002: Axis fails to pass the encoder Z-phase index mark during startup reference return.
  • Versions: Machining Center (M) systems support tool exchange origin returns G30.1 up to G30.6. Lathe (L) systems restrict return options from G30.1 to G30.5.

Warning: Executing a programmed offset update command G10 in the same block as workpiece selections G54 to G59 will crash the axis. Mitsubishi systems strictly require G10 to be executed in a separate block prior to coordinate selection.

Brand Comparison: Structural and Parameter Divergences

TopicFanucSiemensMitsubishi
Program Origin CommandsUses G92 (mills) and G50 (lathes System A). G50/G92 lockout possible via parameter 1202 bit 2.Uses programmable offsets G58/G59 (840D sl) and PRESETON/PRESETONS to set coordinates on the fly.Uses G92 across systems. Dynamic data overwrite is supported.
Multi-layer OffsetsSingle standard offset registry (G54-G59), with temporary local child shifts via G52.Advanced dual-layer frame: each offset automatically combines "coarse offset" and "fine offset" registries.Standard coordinate offsets (G54-G59) and G54.1 extended coordinate offsets.
Coordinate SuppressionCommand G53 non-modally.Commands G53, G153, SUPA (suppresses all offsets and base frames), G500 (deactivates adjustable frames).Command G53 non-modally.
Counter UpdatesUpdates coordinate counter in response to code execution modal state shifts.Multi-layered frame display. Position displays refer to SZS-coordinate system.Param `#1288 ext24/bit7` allows forcing instant screen coordinate counter updates upon changing offsets.
Graphical DisplaysStandard graphic trace screens based on selected coordinates.Decouples or couples actual position display relative to active tool zero.Param `#1231 set03/bit4` allows toggling screen zero mark display between machine zero and active workpiece zero.
Tool Homing Position LimitsHoming and reference returns via G28/G30 parameters.Reference returns via G74 and fixed-point approaches via G75.Machining centers support tool exchanges at G30.1-G30.6. Lathes restrict them to G30.1-G30.5.

Technical Analysis of Multi-Layered and Local Shifts

Comparing these three controls reveals that Fanuc handles zero points with distinct parameter-level rigidness and backward compatibility. Fanuc cleanly bifurcates program origin setting commands based on machine architecture, actively utilizing G50 for standard lathes (System A) while maintaining G92 for mills, yet allowing parameter toggles to unify both machines to System B or C if a shop requires uniform programming. Additionally, Fanuc explicitly allows machine builders to lock out archaic coordinate setting commands (G50/G92) by toggling parameter 1202 bit 2. This distinct behavior causes the control to intelligently reject the legacy command and immediately throw a PS0010 alarm code, protecting the modern G54–G59 coordinate matrix from accidental operator overwrites without requiring a post-processor change.

What clearly distinguishes Siemens controls from other major brands is its highly advanced, multi-layered frame architecture. Siemens natively embeds a dual-layer offset within every single settable zero offset (G54 to G599); each zero offset inherently consists of a coarse offset and a fine offset that the controller automatically adds together. This uniquely allows operators to store the permanent part datum in the coarse registry while making constant micro-adjustments for thermal growth or tool wear exclusively in the fine offset registry without ever losing the original setup datum. Second, Siemens offers powerful, dynamic actual value setting capabilities mid-program via the PRESETON and PRESETONS commands. These uniquely allow a programmer to force a new coordinate value for an axis on the fly—either deliberately destroying the existing referencing status (PRESETON) or safely retaining the homed machine reference (PRESETONS). Finally, Siemens distinctly fractures the behavior of the G58 and G59 commands across its hardware lines, deploying them as dynamic programmable frames on the 840D sl while dedicating them strictly as fixed, settable offsets on the 828D.

The practical programming effect of Mitsubishi's zero point architecture provides operators with highly dynamic spatial controls and graphical feedback that clearly distinguish this brand from other controllers. One distinctly distinguishing behavior is how Mitsubishi handles position counter updates during a part origin shift. Using parameter #1288 ext24/bit7, programmers can force the CNC to instantly update the absolute position counter on the screen the moment a G54 to G59 offset is changed, rather than waiting blindly for the next cycle start or reset command. A second distinguishing feature is the visual interface control governed by parameter #1231 set03/bit4. Mitsubishi uniquely allows the setup operator to decouple the zero point mark on the graphic display from the hardware home, dynamically moving the graphical origin indicator between the machine zero point and the active workpiece zero point to match the programmer's perspective. Finally, Mitsubishi distinguishes its homing logic via the #2037 G53ofs parameter, which allows the machine tool builder or operator to establish the absolute reference grid point as a defined mathematical offset from the basic machine coordinate zero point, streamlining absolute position detection initialization.

Program Examples and Dry Run Validations

Fanuc Milling and Program Origin Example

O1200 (FANUC ZERO POINT COORDINATION) ;
N10 G90 G21 G40 G49 G17 (Absolute positioning, mm, cancel radius/length comp, XY plane) ;
N20 G28 U0 V0 W0 (Homing sequence to calibrate pulse encoders and establish machine zero) ;
N30 T01 M06 (Tool change: load Tool 1) ;
N40 S1200 M03 (Start spindle CW at 1200 RPM) ;
N50 G00 X50.0 Y50.0 (Position spindle rapidly in XY relative to machine reference) ;
N60 G54 (Select Workpiece Coordinate System; shifts origin to part datum) ;
N70 G43 Z10.0 H01 (Activate positive tool length compensation on Z) ;
N80 G01 Z-5.0 F200.0 (Feed down to cutting depth) ;
N90 X100.0 F300.0 (Execute linear milling cut relative to workpiece zero) ;
N100 G00 Z50.0 (Rapid retract tool to safety height) ;
N110 G53 Z0 (Retract to absolute machine coordinate zero for tool clearance) ;
N120 G49 M05 (Cancel tool length compensation and stop spindle) ;
N130 M30 ;

Dry Run Analysis:

  1. N10 sets the absolute programming mode, metric system, standard XY plane (G17), and cancels tool radius (G40) and tool length (G49) compensations.
  2. N20 executes an incremental reference point return (G28) in X, Y, and Z (using incremental addresses U, V, W on lathe or simple axes on mill) to calibrate the encoders and establish the Machine Coordinate System (MCS).
  3. N30 performs a tool change, loading Tool 1, while N40 initiates spindle rotation CW at 1200 RPM.
  4. N50 rapid traverses the tool to X50.0 and Y50.0 relative to active coordinates before WCS is active.
  5. N60 commands G54, activating Workpiece Coordinate System 1. The CNC reads offset values stored in the G54 registry and mathematically shifts the coordinate system from the MCS zero to the physical workpiece datum (vise jaw or chuck face).
  6. N70 invokes tool length compensation (G43) using offset registry H01, bringing the Z axis to 10.0 mm above the part.
  7. N80 and N90 feed the tool into the part at -5.0 mm depth and execute a linear profile cut of 50 mm length.
  8. N100 rapid retracts the Z axis to 50.0 mm, and N110 commands G53 Z0. The control temporarily suppresses G54 and moves the Z axis directly to the absolute machine zero position to ensure safe tool clearance.
  9. N120 cancels the tool length offset (G49), stops the spindle (M05), and N130 ends the program.

Siemens Settable and Suppressed Offsets Example

; SIEMENS SYSTEM COORDINATE OFFSET OPERATION
N10 G90 G21 G40 (Absolute coordinates, metric, cancel compensations)
N20 G74 X0 Y0 Z0 (Reference point approach to calibrate MCS home)
N30 T02 D01 M06 (Load Tool 2 and activate cutting edge offset D1)
N40 G97 S1500 M03 (Constant RPM at 1500 CW)
N50 G00 G54 X40.0 Y40.0 (Select settable zero offset G54 and rapid position axes)
N60 G01 Z-10.0 F250.0 (Feed Z axis to machining depth)
N70 Y80.0 (Linear profile milling cut)
N80 G00 SUPA Z100.0 D0 (Suppress active work offset including base frames to retract safely)
N90 G00 SUPA X200.0 Y200.0 M05 (Retract to machine safe fixed point and stop spindle)
N100 M30

Dry Run Analysis:

  1. N10 configures absolute dimensions, millimeters, and disables tool nose radius compensations.
  2. N20 invokes reference point approach (G74) to synchronize incremental encoders with the physical machine zero (MCS) home.
  3. N30 executes a tool change for Tool 2 and loads tool geometry and tool wear values from registry offset D1. N40 activates the spindle at 1500 RPM.
  4. N50 commands G54, shifting the controller coordinate tracker from the MCS to the Settable Zero System (SZS) workpiece coordinate system, and rapid traverses X and Y to target values.
  5. N60 drives the cutting tool down to -10.0 mm at 250 mm/min feed rate, and N70 performs a linear cut in the Y direction.
  6. N80 retracts the Z axis to absolute machine coordinate Z100.0 while commanding SUPA and D0. The SUPA command completely suppresses all active settable frames and base frames, forcing the tool path to be calculated directly from the MCS home to prevent collision with clamp features.
  7. N90 uses SUPA to rapidly position X and Y axes to machine coordinates X200.0 and Y200.0, halting the spindle (M05), and N100 ends the program.

Mitsubishi Homing and Coordinate Selection Example

; MITSUBISHI CNC COORDINATE CALIBRATION
N10 G90 G21 G40 G49 G17 (Absolute, mm, cancel compensations, XY plane) ;
N20 G28 X0 Y0 Z0 (Zero return to establish absolute machine coordinates) ;
N30 T03 M06 (Load Tool 3) ;
N40 S1100 M03 (Start spindle CW at 1100 RPM) ;
N50 G00 X0.0 Y-30.0 (Rapid traverse axes near workholding envelope) ;
N60 G54 X50. Y50. (Engage workpiece coordinate system 1 and position tool) ;
N70 G43 Z20.0 H03 (Engage tool length compensation offset registry H03) ;
N80 G01 Z-8.0 F150.0 (Drive Z to cutting depth) ;
N90 X100.0 F280.0 (Milling cut across workpiece) ;
N100 G00 Z100.0 (Retract axis along Z) ;
N110 G53 X0. Y0. Z0. M05 (Move directly to absolute machine zero, stop spindle) ;
N120 M30 ;

Dry Run Analysis:

  1. N10 configures the system for absolute coordinates, millimeters, disables radius compensation (G40) and length compensation (G49), and selects the XY working plane (G17).
  2. N20 commands a reference point return (G28) to mechanically calibrate the encoder grid, avoiding axis mismatch errors.
  3. N30 executes a tool change, loading Tool 3, and N40 starts the spindle CW at 1100 RPM.
  4. N50 rapid traverses X and Y to home positions relative to the machine envelope.
  5. N60 commands G54, selecting standard workpiece coordinate system 1. This instantly applies workpiece offset register values, mathematically shifting the coordinate tracking system to the physical workpiece datum.
  6. N70 applies positive tool length compensation (G43) using H03 to safely bring the tool Z axis to 20.0 mm.
  7. N80 feeds the axis down to Z-8.0 depth, and N90 performs a linear cut across the part to X100.0.
  8. N100 rapid retracts the tool in Z to 100.0 mm.
  9. N110 invokes non-modal machine coordinate positioning (G53) to return the axes directly to the basic machine coordinate zero point (X0, Y0, Z0), suppressing active offsets, and stops the spindle (M05). N120 terminates the NC cycle.

Error Analysis and Troubleshooting Workflows

BrandAlarm CodeTrigger ConditionOperator SymptomRoot Cause / Fix
FanucALM 090Near-point deceleration dog marker not detected or travel distance during homing is too short.NC cycle stops immediately; screen displays "ALM 090 REFERENCE POSITION RETURN ABNORMAL".Mechanical limit switch failure, grid encoder buildup, or homing start position is too close to the limit switch. Fix: Manually retract axis by 50 mm, inspect encoder grid/sensor, and re-execute homing cycle.
FanucALM 310 / 320Absolute pulse coder fails to read absolute machine zero positions on startup (X-axis 310, Y-axis 320).Axes are locked; controller displays absolute coordinate alarm ALM 310 or ALM 320 and blocks program start.Battery power loss in absolute encoder backup registry, or encoder communication loss. Fix: Replace memory backup batteries while CNC power is active, verify parameter 0390, and manually home axes to recalibrate zero tracking.
FanucPS0010An archaic program origin G50 or G92 command is programmed while modern G54-G59 WCS is active and parameter 1202 bit 2 is set to 1.CNC stops block execution immediately; screen displays "PS0010 IMPROPER G-CODE".Legacy programming command conflict protected by parameter lockout. Fix: Delete the G50/G92 block from the active program, use standard WCS coordinates, or toggle parameter 1202 bit 2 to 0 if legacy code is required.
SiemensReference mark not foundThe axis or spindle travels a distance greater than the value configured in MD34060 during referencing without finding the encoder zero marker.Referencing sequence halts; the controller displays a severe "Reference mark not found" alarm and axis movements are locked.Mechanical encoder scale buildup, faulty zero mark detector, or dirt in the encoder scale. Fix: Clean scale, check marker alignment, and verify or increase the maximum search distance in parameter MD34060.
SiemensAlarm 61101Zero frames or reference planes defined in active machining cycles (like drilling) conflict with the program trajectory.CNC stops executing cycles; display shows "Alarm 61101 Reference plane defined incorrectly".The coordinate distance between the safety clearance plane and final machining depth is positive instead of negative, or WCS shift is misaligned. Fix: Check cycle parameters, verify the active G54-G59 offsets, and correct reference plane definitions.
MitsubishiM01 0001During homing return, the near-point deceleration switch fails to stop the axis over the dog, causing a physical overrun.The axis hits physical limit switches or decelerates too late, halting with "M01 0001 (Dog overrun)" alarm on screen.Homing deceleration speed is too high, near-point dog length is too short, or physical deceleration switch is faulty. Fix: Reduce homing jog speed, inspect deceleration dogs, and replace faulty limit switches.
MitsubishiM01 0002An axis fails to pass the encoder Z-phase index mark during initial reference return after system power-on.Homing cycle hangs; screen displays "M01 0002 Some ax does not pass Z phase".Encoder Z-phase mark is physically bypassed or dirt obstructs the Z-phase window. Fix: Manually move the axis away from the homing zone to ensure it passes the Z-phase mark during the next return sequence, and clean the encoder scale.

Application Note: Safeguarding the Spatial Homing Matrix

A catastrophic hard collision, crushed cutting tool, bent turret indexer, or ruined spindle bearing is the direct physical outcome of an operator bypassing the absolute reference return sequence at power-up or executing a legacy coordinate shift (G50 or G92) mid-program. In Fanuc systems, parameter 0390 bits 0-5 (NREQx) must be set to 0 to lock out absolute motion until axes have homed, preventing the machine from moving blindly and generating scrap parts. Additionally, programmers must closely manage parameter 1201 bit 7 (WZR); when enabled (set to 1), a CNC reset silently clears the active workpiece offset and forces the system back to G54. An operator resuming a cycle after a reset without checking the active WCS will drive the spindle at rapid traverse directly into the vise jaw or clamp, causing mechanical destruction. To prevent mid-program offset overwrites, toggling parameter 1202 bit 2 to 1 locks out archaic G50/G92 coordinate commands, immediately halting the control with a safe PS0010 alarm instead of shifting the toolpath into the chuck. In Siemens environments, actual values must be non-modally suppressed using G53 or SUPA before moving to fixed tool change locations (MD30600 $MA_FIX_POINT_POS). Bypassing offset suppression causes the control to calculate approach vectors relative to the part coordinates instead of the machine home, plunging the toolholder into the spindle chuck or fixture clamp. Mitsubishi operators must manage reference dog decel limits; short dog lengths or excessive homing speeds fail to trigger deceleration switches in time, causing dog overrun alarm M01 0001. Operators must actively monitor display position counters by setting parameter #1288 ext24/bit7 to 1 to force immediate screen position updates upon offset changes, and utilize parameter #1231 set03/bit4 to align the graphical display zero mark with the physical part datum before initiating machining cycles.

Related Command Network and Internal Links

To program safe, efficient setup transitions, programmers must master the surrounding ecosystem of auxiliary codes and calibration cycles:

  • G54 to G59 Work Coordinate Systems: The foundational modal commands used to select active workpiece origins on mills and lathes, shifting coordinates from machine zero to the part datum.
  • G28/G29/G30 Reference Point Return: Automatic reference return cycles that bring the tool to physical zero points, automatically suspending active coordinate offsets and ensuring safe clearance for tool exchanges.
  • M03/M04/M05 Spindle Commands: Spindle rotation commands that must be coordinated with coordinate offsets, ensuring spindle speed is clamped and rotation is active prior to tool engagement.
  • SUPA / G153 (Siemens): Absolute zero offset suppression commands that override active coordinate shifts, allowing safe moves directly to hard machine reference locations.
  • G10 Programmable Data Input: Standard G-code command used to dynamically write and overwrite offset register values mid-program directly from the NC code, which must be programmed in isolation to prevent buffer errors.

Conclusion: The Ultimate Workholding Protection Strategy

Safeguarding physical machine tool assets requires absolute discipline during zero point setup and G-code execution. Technicians must verify encoder calibration status immediately after powering ON the control to establish machine limits. Standardize on the G54 to G59 workpiece coordinate systems for fixture offsets, and lock out dangerous mid-program G50/G92 overrides using parameter-level exclusions. Prior to launching a production run, run a visual graphic simulation trace, verify all active offset coordinates on the position display screens, and perform a physical dry run with rapid overrides dialed down to minimum rates to guarantee that toolpaths align precisely with the clamped workpiece.

Frequently Asked Questions

Why does hitting the Reset button on a Fanuc control sometimes cause subsequent toolpaths to plunge directly into the workpiece?

This crash occurs because of parameter 1201 bit 7 (WZR). When this parameter is set to 1, pressing the CNC reset button forces the controller to drop any secondary workpiece coordinate systems (like G55 or G56) and silently revert to the default G54 offset registry. If the operator clears a minor error mid-cycle and presses Cycle Start without re-executing the coordinate selection block, the machine will execute the toolpath relative to G54 instead of G55, driving the tool directly into the workpiece. To eliminate this production hazard, configure parameter 1201 bit 7 to 0 so the active coordinate system is retained during reset, and always place explicit G54-G59 calls at the start of every tool sub-sequence.

How does Siemens coarse and fine zero offset registration prevent fixture setup errors and scrap parts?

Siemens uses a dual-layer frame design that automatically combines a coarse offset and a fine offset for each settable zero registry (G54 to G599). This unique architecture allows setup technicians to write the permanent physical distance from machine zero to the fixture in the coarse register, reserving the fine register exclusively for micro-adjustments like tool wear, material variations, or thermal expansion. Because the original coarse datum remains locked and unedited, operators making adjustments never risk overwriting or losing the baseline setup coordinates. To implement this safely in production, train operators to make thermal adjustments solely inside the fine offset registry and restrict editing permissions for the coarse registry to setup managers.

What is the root cause of a Mitsubishi dog overrun alarm (M01 0001) during zero point homing, and how is it corrected?

The Mitsubishi M01 0001 alarm indicates that during a machine reference return (homing) cycle, the axis did not decelerate in time when contacting the near-point deceleration switch, causing it to overshoot the physical reference limit. This failure is triggered by three mechanical issues: an excessively high homing approach speed, an insufficient deceleration dog physical length, or a sticking limit switch sensor. To resolve this error, manually jog the axis away from the limit area, clean the near-point dog sensor scale, check the limit switch operation, and adjust the homing deceleration parameter #2037 G53ofs to lower the calibration jog speed.

Still not resolved?

Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

Ask AI Assistant
Hakan Gündoğdu
Hakan Gündoğdu
  • 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