Siemens 828D: Troubleshooting G-Code Tool Changes Guide

David Krause2 min read
Other TopicSiemensTroubleshooting
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

On a Siemens 828D, a G-code program can stall during T2 M6 even though the same command works in MDA and ShopMill. The reported sequence is consistent: the spindle reaches the magazine, orients, the magazine rises, and execution stops with “Wait for speed of master spindle SP”. The evidence points to a modal feed-mode conflict inside the machine tool builder’s tool-change subprogram.

Identify the modal-state conflict

The machining program used G95 feed per spindle revolution for drilling. The tool-change subprogram then executed a G01 movement while the spindle was stopped. Under G95, axis feed depends on spindle rotation, so the subprogram waited for master-spindle speed instead of completing the movement.

Observed condition Engineering interpretation
T2 M6 works in MDA The tool changer is mechanically capable of completing the cycle.
ShopMill tool changes complete ShopMill provides a compatible modal state before calling the change.
G-code program stalls after drilling with G95 The active feed-per-revolution mode carries into the tool-change subprogram.
Screen shows G01 and “Wait for speed of master spindle SP” A linear move is waiting for spindle-dependent feed while the spindle is stopped.

Apply the program-level workaround

Switch to feed per minute and assign the verified feed value before calling the tool change. Restore feed per revolution afterward only if the following machining operation requires it.

G94 F500
T5 M6
G95

This sequence resolved the reported failure. Keep G94 F500 in a separate block before each affected tool-change block so the required modal state is established before the machine builder’s subprogram begins.

Verify the correction

  1. Run the program from a safe restart point before the tool-change sequence.
  2. Confirm that G94 is active before execution reaches T5 M6.
  3. Verify that the spindle approaches and orients at the magazine, the magazine completes its motion, and the tool exchange finishes without the spindle-speed wait message.
  4. After G95 is restored, confirm that subsequent cutting or drilling feed is again interpreted per spindle revolution.

Correct the underlying machine subprogram

The program-level sequence is a workaround for a tool-change subprogram that relies on the caller’s modal feed state. A permanent correction would explicitly establish an appropriate feed mode and feed inside that subprogram before its G01 movement. Because the evidence does not identify the subprogram name, access level, or machine-builder implementation, preserve the working workaround unless the machine builder approves and validates a subprogram change.

FAQ

Why does T2 M6 work in MDA but stall in a Siemens 828D program?

The G-code program carried G95 into the tool-change subprogram. Its G01 movement then waited for spindle-dependent feed while the spindle was stopped; MDA did not reproduce that modal condition.

How do I clear “Wait for speed of master spindle SP” during M6?

For this documented case, program G94 F500 before the T… M6 block. Restore G95 after the tool change if the next operation requires feed per revolution.

Should G94 be added before every affected Siemens 828D tool change?

Yes, when using the program-level workaround, place G94 F500 before every affected tool-change call. A machine-builder-approved correction inside the tool-change subprogram can instead establish the required feed state internally.

Back to blog