CNC-Programmierung & G-Code

Programmunterbrechung: M0, M1, NC-Stopp und sicherer Wiedereinstieg

Thema: CNC-Programmierung & G-Code

Eine Programmunterbrechung hält ein laufendes CNC-Programm an, ohne es zu beenden: geplant mit M0 oder dem wahlweisen Halt M1, spontan mit NC-Stopp oder Vorschub-Halt. Nach NC-Start läuft das Programm an der Haltestelle weiter. Ob Spindel und Kühlmittel dabei stillstehen und welche Eingriffe erlaubt sind, legt die jeweilige Steuerung fest.

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.

ArtAuslöserFortsetzungBesonderheit laut Quelle
Programmierter HaltM0NC-Start, weiter mit dem FolgesatzLinuxCNC bleibt im Automatikbetrieb, MDI ist gesperrt.
Wahlweiser HaltM1 bei eingeschaltetem Schalterwie bei M0Schalter aus: kein Halt; GRBL 1.1 ignoriert M1.
StoppNC-Stopp, Cycle Stop, Vorschub-HaltNC-StartTNC 320: aktueller Satz bleibt unvollendet, Betriebsartenwechsel gesperrt.
AbbruchINTERNER STOPP, ResetProgrammanfang oder SatzvorlaufKein direktes Fortsetzen an der Haltestelle.
ProgrammendeM2, M30Neustart am ProgrammanfangLinuxCNC, 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)
Geplanter Halt zwischen Schruppen und SchlichtenGeplanter Halt zwischen Schruppen und SchlichtenWerkstückAufmaß 0,151 SchruppenAufmaß 0,15 mm je Seitesichere Höhe Z+5Rückzug2 Rückzug auf Z+5danach M5 und M9M0: Haltwartet auf NC-Start3 M0: Programm hältFolgesatz wartetIst 11,644 MessenIst 11,64 statt 11,70 mmSoll 12,005 NC-Start, SchlichtenRadius −0,03 mm → 12,00 mmSchematisch, nicht maßstäblich; Zahlen aus dem eigenen Rechenbeispiel
Eigene schematische Grafik der Nut im Querschnitt; Zahlen aus dem eigenen Rechenbeispiel.

Der geplante Halt Schritt für Schritt

Geplanter Halt zwischen Schruppen und SchlichtenGeplanter Halt zwischen Schruppen und SchlichtenWerkstückAufmaß 0,151 SchruppenAufmaß 0,15 mm je Seitesichere Höhe Z+5Rückzug2 Rückzug auf Z+5danach M5 und M9M0: Haltwartet auf NC-Start3 M0: Programm hältFolgesatz wartetIst 11,644 MessenIst 11,64 statt 11,70 mmSoll 12,005 NC-Start, SchlichtenRadius −0,03 mm → 12,00 mmSchematisch, nicht maßstäblich; Zahlen aus dem eigenen Rechenbeispiel

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.

  1. Schruppen: Die Nut wird mit 0,15 mm Aufmaß je Seite vorgefräst; erwartet sind danach 11,70 mm Breite.
  2. Rückzug: Das Werkzeug fährt auf die sichere Höhe Z+5, danach schalten M5 und M9 Spindel und Kühlmittel ab.
  3. Halt: M0 unterbricht den Programmlauf; der folgende Satz wartet auf NC-Start.
  4. Messen: Die Nut ist 11,64 mm breit, je Seite stehen also 0,18 mm statt 0,15 mm.
  5. 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.

Patrick Mehner

Patrick Mehner aus Mittweida hat seine Optimum BF 20 selbst auf CNC umgerüstet und erklärt auf cnc-modellbau.org CNC-Technik für den Modellbau – von G-Code über CAD bis zur Messtechnik.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website setzt nur technisch notwendige Cookies. Die Reichweitenmessung mit Matomo läuft ohne Cookies auf unserem eigenen Server.