
Programmunterbrechung: M0, M1, NC-Stopp und sicherer Wiedereinstieg
Thema: CNC-Programmierung & G-Code
Ein M0 im Programm wirkt wie eine Pausentaste, hinter der die Maschine sicher wartet. Das trifft nur eingeschränkt zu. Je nach Steuerung dreht die Spindel weiter, und manuelle Eingriffe während des Halts können den Zustand verändern, mit dem das Programm danach fortfährt. Eine Unterbrechung für Messungen oder Sichtkontrollen braucht deshalb einen vorbereiteten Halteplatz und einen ebenso vorbereiteten Wiedereinstieg.
Unterbrechen, stoppen, abbrechen, beenden
Das Benutzerhandbuch der HEIDENHAIN TNC 320 trennt vier Arten, einen Programmlauf anzuhalten: Unterbrechen etwa mit M0, Stoppen mit der Taste NC-Stopp, Abbrechen mit NC-Stopp und dem Softkey INTERNER STOPP sowie Beenden mit M2 oder M30. Wie M-Wörter als Zusatzfunktionen in einem NC-Satz stehen, erklärt der Beitrag zu den NC-Grundbefehlen.
| Art | Auslöser | Fortsetzung | Besonderheit laut Quelle |
|---|---|---|---|
| Programmierter Halt | M0 | NC-Start, weiter mit dem Folgesatz | LinuxCNC bleibt im Automatikbetrieb, MDI ist gesperrt. |
| Wahlweiser Halt | M1 bei eingeschaltetem Schalter | wie bei M0 | Schalter aus: kein Halt; GRBL 1.1 ignoriert M1. |
| Stopp | NC-Stopp, Cycle Stop, Vorschub-Halt | NC-Start | TNC 320: aktueller Satz bleibt unvollendet, Betriebsartenwechsel gesperrt. |
| Abbruch | INTERNER STOPP, Reset | Programmanfang oder Satzvorlauf | Kein direktes Fortsetzen an der Haltestelle. |
| Programmende | M2, M30 | Neustart am Programmanfang | LinuxCNC, GRBL: Spindel und Kühlmittel aus, modale Zustände zurückgesetzt. |
M0 und M1 als geplante Kontrollpunkte
Siemens nennt im Bedienhandbuch den Zweck des programmierten Halts M01: Während der Bearbeitung lässt sich zwischendurch das bereits erzielte Ergebnis überprüfen. Anlässe sind etwa eine Zwischenmessung vor dem Schlichten, Späne in einer tiefen Tasche oder das Umspannen. M0 hält bei jedem Durchlauf, M1 nur bei eingeschaltetem wahlweisem Halt. So bleibt eine Kontrolle für das erste Teil im Programm und lässt sich in der Serie abschalten. Im 3D-Druck erfüllt die Druckunterbrechung für Einlegeteile eine ähnliche Aufgabe.
Der Halt gehört an eine Stelle, an der das Werkzeug frei steht. GRBL arbeitet laut Quelltext vor der Pause alle gepufferten Bewegungen ab; der Satz vor M0 bestimmt also, wo das Werkzeug während der Kontrolle steht. Ein Beispiel in LinuxCNC-Schreibweise, Nullpunkt auf der Werkstückoberseite, Kommentare ohne Umlaute:
G0 Z5 (sichere Hoehe ueber dem Teil)
M5 (Spindel aus)
M9 (Kuehlmittel aus)
M0 (HALT: Nutbreite messen, erwartet 11,70 mm)
(Schlichten: Drehzahl, Kuehlmittel und Vorschub neu setzen)Der geplante Halt Schritt für Schritt
Startet nur auf Wunsch. Pause hält den aktuellen Stand fest. Die Darstellung läuft in Lerngeschwindigkeit; sie simuliert keine Maschinensteuerung. Ohne Bewegung erklären Grafik und Liste denselben Inhalt.
- Schruppen: Die Nut wird mit 0,15 mm Aufmaß je Seite vorgefräst; erwartet sind danach 11,70 mm Breite.
- Rückzug: Das Werkzeug fährt auf die sichere Höhe Z+5, danach schalten M5 und M9 Spindel und Kühlmittel ab.
- Halt: M0 unterbricht den Programmlauf; der folgende Satz wartet auf NC-Start.
- Messen: Die Nut ist 11,64 mm breit, je Seite stehen also 0,18 mm statt 0,15 mm.
- Schlichten: Nach einer Radiuskorrektur von −0,03 mm und NC-Start ergibt sich rechnerisch die Sollbreite 12,00 mm.
Was Spindel, Kühlmittel und Achsen beim Halt tun
Ein Halt ist eine Funktion des Programmablaufs; was Spindel und Kühlmittel dabei tun, regeln Steuerung und Maschinenhersteller. Die TNC 320 schaltet bei M1 im Programmlauf Spindel und Kühlmittel ausdrücklich nicht ab. In GRBL 1.1 löst M0 laut Quelltext einen Vorschub-Halt aus, der nach der Dokumentation nur die Bewegung stoppt.
Soll am Halt gemessen, entspänt oder umgespannt werden, gehören M5 und M9 deshalb ausdrücklich davor. Eine Schutzmaßnahme ist der Halt auch dann nicht: Für den Zugriff in den Arbeitsraum gelten die Schutzeinrichtungen der Maschine, etwa die Türverriegelung mit Zuhaltung. Der Vorschub-Override verändert nur die Geschwindigkeit und ersetzt keinen definierten Halt.
Eigenes Rechenbeispiel: Zwischenmessung an einer Nut
Wir nehmen eine Nut mit 12,00 mm ± 0,03 mm Breite an, die ein Fräser mit 10 mm Durchmesser mit 0,15 mm Schlichtaufmaß je Seite schruppt. Erwartet werden danach 12,00 − 2 × 0,15 = 11,70 mm. Am M0-Halt ergibt die Messung 11,64 mm. Je Seite bleiben also (12,00 − 11,64) / 2 = 0,18 mm stehen, 0,03 mm mehr als programmiert.
Wiederholt sich diese Abweichung beim Schlichten, entstehen etwa 12,00 − 2 × 0,03 = 11,94 mm, also 0,03 mm unter dem Mindestmaß von 11,97 mm. Bei aktiver Radiuskorrektur verschiebt ein um 0,03 mm kleinerer Verschleißwert des Radius die Bahn je Seite um 0,03 mm nach außen; rechnerisch ergeben sich wieder 12,00 mm. Ob sich die Abweichung bei der kleineren radialen Zustellung des Schlichtens wiederholt, bleibt offen. Der Korrekturwert ist daher ein begründeter Ausgangspunkt; nach dem Schlichten wird erneut gemessen. Den Zusammenhang von Mittelpunktbahn und Korrektur zeigt der Beitrag zu Werkzeugwegen und Radiuskorrektur.
Wiedereinstieg nach einer Unterbrechung
Nach einem programmierten Halt oder NC-Stopp setzt NC-Start an der Haltestelle fort. Heikel sind Eingriffe dazwischen: HEIDENHAIN warnt, dass Satzwechsel per Cursor oder GOTO, Editieren, geänderte Q-Parameter oder ein Betriebsartenwechsel den Bezug zu den modal wirkenden Programminformationen auflösen; unerwartete Bewegungen können folgen. Nach einer Änderung des Bezugspunkts ist der Wiedereinstieg nur noch über GOTO oder Satzvorlauf möglich.
Nach Abbruch, Not-Halt oder Stromausfall führt der Weg über den Programmanfang oder einen Satzvorlauf. Die TNC 320 speichert dafür den Unterbrechungspunkt, setzt den Satzvorlauf bei Bearbeitungszyklen aber auf den Zyklusanfang und wiederholt bereits ausgeführte Schritte. Beim Siemens-Satzsuchlauf ohne Berechnung müssen ab dem Zielsatz alle nötigen Einstellungen wie Vorschub und Drehzahl programmiert sein. Abschnitte, die jeweils mit Werkzeug, Nullpunkt, Drehzahl, Vorschub und sicherer Höhe beginnen, lassen sich deshalb mit weniger Annahmen wieder aufnehmen.
Typische Fehler und Grenzen
Häufig steht M0 direkt hinter einem Schnitt, sodass das Werkzeug während der Kontrolle noch in der Nut steckt. Ebenso riskant ist die Annahme, M1 werde schon anhalten: Ist der Schalter aus oder ignoriert die Firmware M1 wie GRBL 1.1, läuft das Programm ohne Pause weiter. Werden während des Halts Achsen von Hand verfahren, muss das Werkzeug kontrolliert an die Kontur zurück; die TNC 320 bietet dafür POSITION ANFAHREN.
Ein Satzvorlauf überspringt bei HEIDENHAIN programmierte Tastsystemzyklen, sodass deren Ergebnisparameter fehlen oder falsch sein können. Ein geplanter Halt ersetzt weder den Programmtest mit Simulation noch das Einfahren im Einzelsatzmodus. Er ergänzt beide dort, wo nur eine Messung am realen Teil weiterhilft.
Prüfliste für einen geplanten Halt
- Zweck, erwarteten Messwert und geplante Reaktion als Kommentar an den Halt schreiben.
- M0 für jeden Durchlauf, M1 für abschaltbare Kontrollen; das Verhalten von M1 in der eigenen Steuerung prüfen.
- Vorher auf sichere Höhe zurückziehen; M5 und M9 programmieren, wenn in den Arbeitsraum gegriffen wird.
- Nach dem Halt Drehzahl, Kühlmittel und modale Angaben neu setzen.
- Während des Halts keine Satzwechsel, Programm- oder Bezugspunktänderungen ohne geplanten Wiedereinstieg.
- Einstiegspunkte für einen Satzvorlauf so aufbauen, dass ab dort alle Angaben vollständig sind.
Quellen und fachliche Einordnung
Primärquellen, geprüft am 08.11.2026. Eigene Lehrbeispiele und schematische Grafiken. Das Verhalten von M0, M1 und NC-Stopp gilt jeweils für die genannte Steuerung und kann vom Maschinenhersteller angepasst sein.
- HEIDENHAIN: TNC 320 Benutzerhandbuch, Programmlauf unterbrechen, Satzvorlauf und Wiederanfahren
- Siemens: SINUMERIK Operate Fräsen, Programmbeeinflussung M01 und Satzsuchlauf
- LinuxCNC: M-Codes M0, M1, M2 und M30
- gnea/grbl: Quelltext gcode.c, Programmpause M0, M1 und Programmende
- gnea/grbl Wiki: Grbl v1.1 Commands, Feed Hold und Cycle Start
Weiterlesen
CNC-Programmierung & G-CodeNutenzyklus: Parameter, Eintauchen und VorschubbezugEin Nutenzyklus fräst eine gerade oder runde Nut aus wenigen Kenngrößen wie Länge, Breite, Tiefe, Zustellung und Aufmaß. Eintauchen, Ausräumen und …
CNC-Programmierung & G-CodeSkalierung im CNC-Programm: Maßfaktor, Zentrum und WerkzeugkorrekturSkalierung vergrößert oder verkleinert programmierte Konturen, indem die Abstände aller Punkte zu einem Skalierungszentrum mit einem Maßfaktor …
CNC-Programmierung & G-CodeVerweilzeit G04: Einheiten, Achsstillstand und Pause am BohrgrundEine Verweilzeit ist eine programmierte Pause, in der alle Achsen stillstehen; im G-Code wird sie meist mit G4 beziehungsweise G04 aufgerufen. …