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:
- Move the axes to the configured tool-change position.
- Open or position the magazine.
- Place the current tool into its assigned magazine position.
- Release the spindle clamp and move clear of the tool.
- Position the requested tool at the exchange location.
- Insert the requested tool and close the spindle clamp.
- Move away from the magazine and close it.
- 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
- Confirm that the machine control supports an automatic tool-change cycle and that
M06invokes the machine-resident macro. - Configure the machine tool table with the selected tool's required length and radius data.
- Assign each loaded tool number to its physical magazine position in the control's pocket table.
- Confirm that the machine parameters or protected machine logic contain the correct exchange position.
- Configure the postprocessor to emit the controller-specific tool selection and
M06syntax. - Verify that the requested tool number resolves to the expected pocket before permitting motion.
- Run the change cycle under controlled conditions and confirm the complete deposit, unclamp, pickup, clamp, withdrawal, and magazine-closing sequence.
- 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.