M06 Tool Change: Configuring Automatic CNC Tool Changes

Tom Garrett3 min read
Motion ControlOther ManufacturerTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

What M06 Actually Does

An automatic tool change is not defined entirely in the part program or CAM postprocessor. The NC program selects a tool and issues M06 or the controller's equivalent tool-call command. The machine control then invokes a machine-resident tool-change macro.

The macro contains the machine-specific motion and actuator sequence. The postprocessor normally emits only the controller-required tool selection and change command; it does not reproduce the mechanical sequence for every part program.

Where Tool and Position Data Reside

Data Purpose Owner
Tool selection Identifies the requested tool, such as T18 NC program generated manually or by the postprocessor
Tool table Stores machining data such as tool length and radius Machine control
Pocket table Maps each tool number to its current magazine position Machine control
Tool-change position Defines where the axes move for the exchange Machine parameters or machine-resident logic
Change macro Coordinates axes, magazine, and spindle clamping Machine control or machine builder
CAM tool database Supports programming and postprocessing CAM system

Do not assume that the CAM tool database can replace the controller's tool or pocket tables. Their formats and functions depend on the control. The evidence also does not establish a universal pocket-table format.

Automatic Tool-Change Sequence

When the control processes a requested tool and M06, it uses the pocket table to locate that tool and executes its stored macro. A supported sequence is:

  1. Move the axes to the configured tool-change position.
  2. Open or position the magazine.
  3. Place the current tool into its assigned magazine position.
  4. Release the spindle clamp and move clear of the tool.
  5. Position the requested tool at the exchange location.
  6. Insert the requested tool and close the spindle clamp.
  7. Move away from the magazine and close it.
  8. Load the selected tool's length and radius data from the machine tool table.

The exact motions, interlocks, command syntax, and storage arrangement are machine-specific. On a completed machine, the builder normally supplies this logic, and an operator generally cannot edit it.

Why a Tool-Change Point Alone Does Not Work

A CAM or control function that moves to a tool-change point performs only a positioning action unless it also invokes the machine's change cycle. If the machine arrives and immediately continues, verify whether the NC program contains the required tool selection and M06 command and whether the control has an installed automatic tool-change macro.

Do not add magazine movements or unclamp commands to the postprocessor merely because the machine can reach the exchange point. First determine whether the control exposes a supported machine macro. The postprocessor must output the syntax expected by that control; the evidence does not establish a universal ordering for T18 and M06.

Configuration and Verification Procedure

  1. Confirm that the machine control supports an automatic tool-change cycle and that M06 invokes the machine-resident macro.
  2. Configure the machine tool table with the selected tool's required length and radius data.
  3. Assign each loaded tool number to its physical magazine position in the control's pocket table.
  4. Confirm that the machine parameters or protected machine logic contain the correct exchange position.
  5. Configure the postprocessor to emit the controller-specific tool selection and M06 syntax.
  6. Verify that the requested tool number resolves to the expected pocket before permitting motion.
  7. Run the change cycle under controlled conditions and confirm the complete deposit, unclamp, pickup, clamp, withdrawal, and magazine-closing sequence.
  8. After the change, verify that the active tool identity, length, and radius match the selected tool-table record.

If the control is loaded through a handheld unit rather than a directly connected computer, the architectural split remains the same: the transferred NC file requests the change, while the machine control executes its resident logic and uses its own tables.

FAQ

Does M06 contain the complete CNC tool-change motion?

No. M06 invokes a machine-resident macro that performs the configured positioning, magazine, unclamp, pickup, clamp, and withdrawal operations.

Should the tool-change sequence be programmed in the postprocessor?

Normally, the postprocessor emits the controller-specific tool selection and M06 command. The machine control stores and executes the mechanical sequence.

Why does the CNC move to the tool-change point and then leave?

The program may be commanding only the exchange position. Check that it also issues the required tool selection and M06, and confirm that the control has an installed change macro plus valid tool and pocket-table entries.

Back to blog