G54.APP

G54.APP Referenz

G-Code- & M-Code-Referenz nach Bearbeitung: LinuxCNC, GRBL, Centroid, FANUC, Mach 3, Mach 4, Haas

Eine steuerungsübergreifende G-Code- und M-Code-Referenz, gruppiert nach dem, was Sie erreichen wollen — Vorschubbewegungen, Kreisbögen, Antasten, Bohrzyklen, Nullpunktverschiebungen — mit dem exakten Code jeder Steuerung in jeder Zelle. Blenden Sie die Steuerungen aus, die Sie nicht fahren, und achten Sie auf die falschen Freunde: Codes, die auf mehreren Plattformen dieselbe Nummer tragen, aber völlig unterschiedliche Dinge tun.

G-Code-Viewer öffnen → Kostenlos, läuft im Browser. Ziehen Sie eine .nc- oder .gcode-Datei hinein, um Werkzeugwege zu visualisieren und den Materialabtrag in Echtzeit zu simulieren.

Eine steuerungsübergreifende G-Code- und M-Code-Referenz, gegliedert nach Arbeitsgang — also danach, was die Maschine tatsächlich tun soll — statt nach Codenummer. Jede Zeile ist ein Arbeitsgang (eine Vorschubbewegung, ein Kreisbogen, ein Antastvorgang, ein Bohrzyklus, eine Nullpunktanwahl…), und die Spalte jeder Steuerung zeigt den exakten Code, den diese Steuerung dafür verwendet.

Abgedeckt werden LinuxCNC, GRBL (1.1), Centroid (CNC12 — Acorn / Allin1DC / Oak; Fräsversion, sofern nicht anders angegeben), FANUC (0i / 30i, mit Fokus auf die Fräsmaschine, Drehmaschinen-Besonderheiten sind gekennzeichnet), Mach 3 (Mill Rev 1.84-A2) und Mach 4 (Mill v1.0).

So lesen Sie die Tabellen:

Die zur Faktenprüfung verwendeten Quellen sind am Ende dieses Dokuments aufgeführt.


Codes nach Arbeitsgang

Steuerungen anzeigen:

Bewegung & Interpolation

Die Bewegungen, die tatsächlich zerspanen. Das sind die portabelsten Codes — G0–G3 bedeuten auf jeder hier gelisteten Steuerung dasselbe.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Eilgang-Positionierung G0 G0 G0 G0 G0 G0 G0 Verfahren ohne Zerspanung mit der Maximalgeschwindigkeit der Maschine.
Lineare Vorschubbewegung G1 G1 G1 G1 G1 G1 G1 Gerader Schnitt mit Vorschubgeschwindigkeit; erfordert ein F-Wort.
Kreisbogen / Helix im Uhrzeigersinn G2 G2 G2 G2 G2 G2 G2 I/J/K-Mittelpunktversätze oder R-Radius, in der aktiven Arbeitsebene. Mit zusätzlicher Z-Bewegung entsteht eine Helix.
Kreisbogen / Helix gegen den Uhrzeigersinn G3 G3 G3 G3 G3 G3 G3 Gleiche Konventionen wie beim Bogen im Uhrzeigersinn, entgegengesetzte Richtung.
Verweilzeit (Pause) G4 G4 G4 G4 G4 G4 G4 Mach3/4: P mit Dezimalstelle = Sekunden, ganzzahliges P = Millisekunden.
Vollkreis im Uhrzeigersinn (aktuelle Position als Mittelpunkt) G12 G12 G12 Mach3: teilweise Haas: Circular Pocket Milling CW
Vollkreis gegen den Uhrzeigersinn G13 G13 G13 Mach3: teilweise Haas: Circular Pocket Milling CCW
Kubische Spline-Interpolation G5 Nur LinuxCNC. NICHT dasselbe wie FANUC G5 (Look-Ahead) — siehe den Hinweis zu den falschen Freunden. LinuxCNC: G5 = kubischer Spline durch Kontrollpunkte
Festlegung einer imaginären Achse G7.1 FANUC-Vorbereitung für Zylinder-/Polarinterpolation.
Uni-directional positioning (Haas) G60 Approaches each point from one direction to take up backlash.

Arbeitsebenen-Auswahl

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
XY-Ebene wählen G17 G17 G17 G17 G17 G17 G17 Standard. Kreisbögen verwenden I/J.
ZX-Ebene wählen G18 G18 G18 G18 G18 G18 G18 Kreisbögen verwenden I/K.
YZ-Ebene wählen G19 G19 G19 G19 G19 G19 G19 Kreisbögen verwenden J/K.

Werkstückkoordinaten & Nullpunktverschiebungen

Wo der Werkstücknullpunkt liegt. Bei den erweiterten Nullpunkten jenseits der ersten sechs weichen die Steuerungen am stärksten voneinander ab.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Werkstück-Koordinatensystem 1–6 anwählen G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 ist auf den meisten Steuerungen das aktive Koordinatensystem nach dem Einschalten.
Werkstück-Koordinatensysteme 7–9 G59.1 / G59.2 / G59.3 G59.1 / G59.2 / G59.3 G59.1 / G59.2 / G59.3 Der LinuxCNC-/Mach-Weg zu drei weiteren Aufspannungen.
Erweiterte Nullpunktbank (P-adressiert) G54.1 G54.1 G154 FANUC: P1–P48 (0i) oder P1–P300 (30i). Mach4: P1–P248. Centroid verwendet die abweichende Form OHNE Dezimalstelle weiter unten. FANUC: G54.1 P1–P48 (0i) / P1–P300 (30i) Mach4: G54.1 P1–P248 Haas: G154 P1–P99
Erweiterte Nullpunktverschiebungen (Centroid) G54 P1–P12 Centroids 12 optionale erweiterte Nullpunkte (WKS Nr. 7–18). Beachten Sie das Leerzeichen und die FEHLENDE Dezimalstelle — nicht identisch mit FANUCs G54.1 Pn. Centroid: auch als E7–E18 adressierbar
Additional work coord systems 7–26 (Haas legacy) G110–G129 Older Haas extra fixtures #7–#26, one dedicated code each. Superseded by G154 Pn on current controls. Haas: G110 = #7 … G129 = #26
Nullpunktverschiebung setzen (absolut) G10 L2 G10 L2 G10 L2 G10 L2 G10 L2 G10 L2 G10 L2 P1 = G54 … P6 = G59. Das aktive WKS muss nicht mit P übereinstimmen.
Nullpunkt auf aktuelle Position setzen G10 L20 G10 L20 G10 L20 G10 L20 G10 L20 G10 L20 G10 L20 Die „Nullpunkt hierhin“-Variante.
Lokale Koordinatenverschiebung G52 G52 G52 G52 G52 G52 Temporäre Verschiebung zusätzlich zum aktiven WKS. Haas: Haas G52 = global work-coordinate shift
Verfahren in Maschinenkoordinaten (nicht modal) G53 G53 G53 G53 G53 G53 G53 Einmalige Bewegung im Maschinenkoordinatensystem.
Position setzen / Koordinatenverschiebung G92 G92 G92 G92 G92 G92 G92 FANUC hat G92.1 / G92.2 zum Löschen bzw. Wiederherstellen; Mach hat G92.1. Haas: sets the global coordinate-system shift value

Einheiten & Maßangaben

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Programmierung in Zoll G20 G20 G20 G20 G20 G20 G20
Programmierung in Millimetern G21 G21 G21 G21 G21 G21 G21
Absolutmaßprogrammierung G90 G90 G90 G90 G90 G90 G90
Kettenmaßprogrammierung (inkrementell) G91 G91 G91 G91 G91 G91 G91
Absoluter Bogenmittelpunkt-Modus G90.1 G90.1 G90.1 G90.1 I/J/K werden zu Absolutkoordinaten statt Versätzen. Centroid: variiert je nach CNC12-Version
Inkrementeller Bogenmittelpunkt-Modus (Standard) G91.1 G91.1 G91.1 G91.1 G91.1 G91.1

Vorschub- & Drehzahlmodi

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Vorschub pro Minute G94 G94 G94 G94 G94 G94 Standard auf Fräsmaschinen. Auf einer FANUC-DREHMASCHINE übernimmt G98 diese Rolle — siehe den Hinweis zu den falschen Freunden.
Vorschub pro Umdrehung G95 G95 G95 G95 G95 G95 Auf einer FANUC-DREHMASCHINE übernimmt G99 diese Rolle.
Zeitreziproker Vorschub (Inverse Time) G93 G93 G93 G93 G93 G93 G93 F = 1/Minuten; für manche Rundachsbewegungen erforderlich. Centroid: G93 ein, G94 aus.

Werkzeuglängen- & Fräserradiuskorrektur

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Fräserradiuskorrektur AUS G40 G40 G40 G40 G40 G40 G40 Standardzustand.
Radiuskorrektur LINKS der Bahn G41 G41 G41 G41 G41 G41 Das D-Wort wählt das Korrekturregister.
Radiuskorrektur RECHTS der Bahn G42 G42 G42 G42 G42 G42
Dynamische Radiuskorrektur (Wert im Programm) G41.1 / G42.1 LinuxCNC übergibt den D-Wert direkt im Satz statt über ein Register.
Eckenverhalten der Radiuskorrektur G40.1 / G40.2 Nur Mach4: G40.1 verrundete Ecken, G40.2 spitze Ecken.
Werkzeuglängenkorrektur (positiv) G43 G43 G43 G43 G43 G43 Das H-Wort wählt das Längenkorrektur-Register.
Werkzeuglängenkorrektur (negativ) G44 G44 G44 Selten verwendet; FANUC-Stil. Centroid dokumentiert G44 in CNC12.
Dynamische Werkzeuglängenkorrektur (Wert im Programm) G43.1 G43.1
Werkzeuglängenkorrektur aufheben G49 G49 G49 G49 G49 G49 G49
Werkzeugtabellen-Eintrag direkt setzen G10 L1 G10 L1 G10 L1 G10 L1 G10 L1 P = Werkzeugnummer, R = Wert. Centroid dokumentiert dies in CNC12. LinuxCNC: teilweise
Werkzeuglänge so setzen, dass aktuelle Position = Wert G10 L10 G10 L10 G10 L10 G10 L10 G10 L10 G10 L10 LinuxCNC: teilweise
Werkzeuglängen-/Radiusverschleiß & Radius setzen G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 Centroid CNC12 dokumentiert die L11/L12/L13-Familie ausdrücklich; die Unterstützung anderswo variiert. FANUC: variiert Mach3: variiert Mach4: variiert
3D+ cutter compensation (Haas) G141 Haas 3-axis simultaneous cutter comp for ball-nose / contour work.

Bohr-, Ausdreh- & Gewindebohrzyklen

Festzyklen für Bohrungen. GRBL hat keine — CAM-Postprozessoren lösen sie in einzelne G1-Bewegungen auf.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Festzyklus abwählen G80 G80 G80 G80 G80 G80 Erforderlich, um Bohr-/Ausdreh-/Gewindemodi zu verlassen.
Standard-Bohrzyklus G81 G81 G81 G81 G81 G81 Z im Vorschub abwärts, im Eilgang heraus.
Bohren mit Verweilzeit am Grund G82 G82 G82 G82 G82 G82 Für Anbohren / Senken.
Tieflochbohren (voller Rückzug) G83 G83 G83 G83 G83 G83 Q = Zustelltiefe; der volle Rückzug räumt die Späne aus.
Spanbruch-Bohren (kurzer Rückzug) G73 G73 G73 G73 G73 G73
Gewindebohren rechtsgängig G84 G84 G84 G84 G84 G84 Mach3: starres Gewindebohren erfordert ein OEM-Plugin
Gewindebohren linksgängig G74 G74 G74 G74 G74 G74 Die FANUC-DREHMASCHINE belegt G74 mit einem Planeinstechzyklus — siehe falsche Freunde. Haas: Reverse Tap canned cycle
Starres Gewindebohren G33.1 G84.2 / G84.3 Eigene Codes für starres Gewindebohren; sonst ist der starre Modus ein Schalter von G84. LinuxCNC: LinuxCNC-Code für starres Gewindebohren
Ausdrehen (Vorschub hinein, Vorschub heraus) G85 G85 G85 G85 G85 G85
Ausdrehen (Vorschub hinein, Halt, Eilgang heraus) G86 G86 G86 G86 Centroids CNC12-Festzyklussatz ist G81–G85 + G89; G86/G87/G88 stehen nicht im Handbuch.
Rückwärts-Ausdrehen G87 G87 G87 G77 Haas: Haas uses G77 for back-bore
Ausdrehen mit manuellem Rückzug G88 G88 G88
Ausdrehen mit Verweilzeit (Vorschub heraus) G89 G89 G89 G89 G89 G89
Feinausdrehen (orientierter Halt, Abheben, Rückzug) G76 G76 G76 G76 G76 Die FANUC-DREHMASCHINE belegt G76 mit einem Gewindezyklus — siehe falsche Freunde. Centroid: teilweise; je Version prüfen
Bolt-hole patterns (Haas mill) G70 / G71 / G72 MILL-only pattern cycles used with a canned drill cycle. FANUC / lathe reuse G70–G72 for turning cycles — see false friends. Haas: G70 circle, G71 arc, G72 along an angle
General-purpose pocket milling (Haas) G150 Haas canned pocket routine (rough + finish, with ramp / island options).
Text engraving (Haas) G47 Engrave a literal string or an auto-incrementing serial number.
Broaching cycle (Haas) G156
Non-vertical rigid tapping (Haas 5-axis) G174 / G184 Rigid tap along a tilted / rotary axis on a UMC. Haas: G174 CCW, G184 CW

Antasten & Werkzeugvermessung

Die größte Abweichung auf dieser Seite. LinuxCNC/GRBL verwenden G38.x, FANUC/Mach G31, und Centroid arbeitet komplett mit M-Codes.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Antasten zum Werkstück, Fehler bei fehlendem Kontakt G38.2 G38.2 M115 / M116 G31 G31 G31 G31 FANUC-Syntax: G31 P1–P4 für mehrstufiges Skip. Centroid hat KEIN G31/G38 — es tastet mit geschützten Verfahr-M-Codes an. Centroid: Antasten mit geschützter Bewegung; M115 minus, M116 plus Haas: Feed Until Skip
Antasten zum Werkstück, kein Fehler bei fehlendem Kontakt G38.3 G38.3 M115/M116 L1 Centroid: L1 unterdrückt den Fehler bei fehlendem Kontakt
Freitasten von der Oberfläche weg G38.4 / G38.5 G38.4 / G38.5 M125 / M126 G38.4 meldet einen Fehler, wenn noch Kontakt besteht; G38.5 nicht. Centroid: Varianten zum Wegtasten
Mehrere Messtaster-Eingänge G31.1 / G31.2 / G31.3 Auswahl zwischen mehreren Tastereingängen.
Achse verfahren, bis ein Schalter auslöst M105 / M106 Verfährt die angegebene Achse im Vorschub, bis ein PLC-Schalter/-Eingang öffnet (P > 0) oder schließt (P < 0). Centroid: M105 minus, M106 plus
Automatic tool / work measurement (Haas) G35 / G36 / G37 / G136 Spindle- and table-probe measuring cycles. Haas: G35 tool diameter, G36 work offset, G37 tool offset, G136 work-offset center
Probe support M-codes (Haas) M75 / M78 / M79 / M104 Helpers used inside Haas probing / tool-setting routines. Haas: M75 set G35/G136 ref point; M78 alarm if skip found; M79 alarm if skip not found; M104/M105 probe-arm extend/retract

Koordinatentransformationen — Drehung, Skalierung, Spiegelung, Polar

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Koordinatendrehung EIN G68 G68 G68 G68 G68 G68 Dreht die aktive Ebene um einen Mittelpunkt. Auf Mach3/4 nur in der XY-Ebene.
Koordinatendrehung AUS G69 G69 G69 G69 G69 G69
Skalierung EIN G51 G51 G51 G51 G51 P oder I/J/K = Skalierungsfaktoren. Mach4 warnt, dass skalierte Kreisbögen unvorhersehbar sein können. Centroid: Centroid fasst Skalierung UND Spiegelung in G51 zusammen
Skalierung AUS G50 G50 G50 G50 G50 Die FANUC-DREHMASCHINE belegt G50 komplett anders — siehe falsche Freunde. Centroid: auch Spiegelung-aus; teilweise/versionsabhängig Haas: Cancel Scaling
Spiegelung EIN / AUS G51.1 / G50.1 G101 / G100 Centroid hat keine eigenen Spiegel-Codes — Spiegelung läuft über G50/G51. Haas: G101 enable, G100 cancel
Polarkoordinaten EIN / AUS G16 / G15 G16 / G15 X wird als Radius, Y als Winkel interpretiert.
Cylindrical mapping / wrapping (Haas) G107 Wraps a flat XY toolpath around a rotary (A/B) axis.

Look-Ahead, Glättung & Genauhalt

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Genauhalt (nicht modal, ein Satz) G9 G9 G9 G9 G9 G9 Einmal-Variante von G61.
Genauhalt (modal) G61 G61 G61 G61 G61 G61 G61 Bremst an jedem Satzende vollständig ab.
Genauhalt (Variante) G61.1 G61.1 G61.1
Bahnüberschleifen / Bahnsteuerbetrieb G64 G64 G64 G64 G64 G64 G64 LinuxCNC: G64 P<Toleranz>. FANUC stellt dies stattdessen über G5.1 HPCC ein. FANUC: teilweise; HPCC-Tuning weicht ab Haas: cancels G61 exact-stop mode
AI Contour Control / HPCC (Look-Ahead) G5.1 FANUC-Look-Ahead: Q1 ein, Q0 aus. NICHT dasselbe wie der LinuxCNC-G5-Spline — siehe falsche Freunde.
Nano-Smoothing / HPCC-Variante G5.4 FANUC: nur einige 30i-B
Look-Ahead-Beschleunigung aktivieren (ältere FANUC) G8 G8 P1 ein, G8 P0 aus.
Look-ahead block limit (Haas) G103 Caps how many blocks the control buffers ahead; P0 = maximum look-ahead. Haas: G103 P_ (block limit)
Smoothness / accuracy level (Haas) G187 Haas HSM accuracy control; analogous to FANUC G05.1 look-ahead tuning. Haas: G187 E_ / P_ trades smoothness against accuracy

Referenzfahrt & Referenzpunkte

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Referenzpunkt anfahren (Home) G28 G28 G28 G28 G28 G28 G28 GRBL/Mach: vordefinierte gespeicherte Position.
G28-Referenzpunkt speichern G28.1 G28.1 G28.1 G28.1
Rückkehr vom Referenzpunkt (über Zwischenpunkt) G29 G29 G29 G29 G29 G29
Zweiten Referenzpunkt anfahren G30 G30 G30 G30 G30 G30
G30-Referenzpunkt speichern G30.1 G30.1 G30.1 G30.1
Referenzpunkt-Kontrolle G27 Prüft, ob die Maschine im Referenzpunkt steht.

Programmablauf & Unterprogramme

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Programmierter Halt M0 M0 M0 M0 M0 M0 M0 Weiter mit Zyklusstart.
Wahlweiser Halt M1 M1 M1 M1 M1 M1 M1 Wird übersprungen, sofern der Schalter für den wahlweisen Halt nicht aktiv ist.
Programmende (ohne Rücklauf) M2 M2 M2 M2 M2 M2 M2
Programmende mit Rücklauf M30 M30 M30 M30 M30 M30 M30 Das, was die meisten CAM-Systeme ans Dateiende schreiben.
Unterprogramm aufrufen M98 M98 M98 M98 M98 FANUC/Centroid/Mach: P<Datei> L<Wiederholungen>. LinuxCNC verwendet stattdessen O-Codes.
Rücksprung aus Unterprogramm / Makroende M99 M99 M99 M99 M99 Haas: sub-program return or loop
Benannte / nummerierte Unterprogramme O-codes Das LinuxCNC-Modell: o100 sub / o100 endsub / o100 call. LinuxCNC: o<n> sub / endsub / call
Makroaufruf (einmalig) G65 G65 G65 G65 G65 Centroid: L = Wiederholungszahl, kein Vorschub. Mach4: Makrodatei muss .nc sein; A–Z-Argumente werden auf #1–#26 abgebildet. LinuxCNC: über O-Code-Unterprogramme
Modaler Makroaufruf / Abwahl G66 / G67 G66 / G67 Centroids CNC12-Liste dokumentiert nur das einmalige G65 — kein G66/G67.
Programm von vorn erneut starten M47 M47 Mach4: teilweise
Local subprogram call (Haas) M97 Calls a labeled block in the SAME program (P = line/label, L = repeats). FANUC has no M97. Haas: M97 P<line> L<reps>
Conditional jump (Haas) M96 / M46 Haas: M96 P_ Q_ jump if no input; M46 Q_ P_ jump to line

Makros, Variablen & Ablaufsteuerung

Wie jede Steuerung Verzweigungen und Schleifen umsetzt. Das sind Sprachkonstrukte, keine G-Codes — gezeigt für das Portieren von Makros. Centroid ist der Sonderfall: kein WHILE/DO.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Parametrische Variablen #<named> #vars #vars VBScript Lua #vars LinuxCNC: benannte & nummerierte Parameter Centroid: Macro-B-Stil FANUC: Macro-B Mach3: Param1/2/3() Mach4: per Skript Haas: FANUC-style Macro-B
Bedingung (IF / THEN) O… if/elseif/else/endif IF/THEN/ELSE IF[…] THEN / GOTO VBScript Lua IF[…] THEN / GOTO Centroid: unterstützt
Schleife (WHILE / DO) O… while/endwhile WHILE[…] DO / END VBScript Lua WHILE[…] DO / END Centroid CNC12 hat KEINE WHILE/DO-Schleife — stattdessen IF + GOTO verwenden.
Sprung (GOTO) GOTO Nnnn GOTOn GOTOn Centroid: Sprung zu einer Satznummer
Internen Steuerungsparameter setzen G10 P_ R_ Centroid-spezifisch. Z. B. konfiguriert G10 P73 R0.02 den G73-Spanbruch-Rückzug vor dem Zyklusaufruf. Centroid: kein L-Wort
Modify a Setting from the program (Haas) G167 Haas: G167 changes a machine Setting mid-program

Spindel & Kühlmittel

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Spindel ein, Rechtslauf M3 M3 M3 M3 M3 M3 M3 Das S-Wort setzt die Drehzahl.
Spindel ein, Linkslauf M4 M4 M4 M4 M4 M4 M4 GRBL-Lasermodus: dynamische Leistung.
Spindel Halt M5 M5 M5 M5 M5 M5 M5
Spindel orientieren (orientierter Halt) M19 M19 M19 M19 M19 Centroid: benötigt ein eigenes M19-Makro. Mach3: abhängig vom VBScript des Maschinenherstellers. Mach3: herstellerabhängig
Sprühnebelkühlung ein M7 M7 M7 M7 M7 M7 M7 Haas: Haas M07 = shower/wash-down coolant, not mist
Flutkühlung ein M8 M8 M8 M8 M8 M8 M8
Kühlmittel komplett aus M9 M9 M9 M9 M9 M9 M9

Werkzeugwechsel

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Werkzeugwechsel M6 M6 M6 M6 M6 M6 / M16 Wirkt zusammen mit einem vorangehenden Tn. GRBL pausiert und fordert zum Wechsel auf. Haas: M16 also commands a tool change
Aktuelle Werkzeugnummer setzen (ohne Wechsel) M61 Meldet das eingespannte Werkzeug an, ohne einen Wechsel auszuführen.

Vorschub- & Spindel-Override

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Vorschub- & Drehzahl-Override freigeben M48 M108 M48 M48 M48 Centroid verwendet hierfür M108 statt M48.
Vorschub- & Drehzahl-Override sperren M49 M109 M49 M49 M49 Oft innerhalb von Gewindebohrzyklen verwendet. Centroid verwendet M109.
Feingranulare Override-Steuerung (LinuxCNC) M50 / M51 / M52 / M53 Vorschub (M50), Spindel (M51), adaptiver Vorschub (M52), Vorschub-Stopp (M53).

Digitale & analoge Ein-/Ausgänge

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Digitalausgang setzen M62 / M64 M94 M62 / M64 M62 / M64 Centroid verwendet M94 (z. B. setzt M94/1 den Ausgang 1). Mach3: üblicherweise über OEM-Skripte. Centroid: M94/n Mach3: teilweise
Digitalausgang löschen M63 / M65 M95 M63 / M65 M63 / M65 Centroid verwendet M95 (z. B. löscht M95/1 den Ausgang 1). Centroid: M95/n Mach3: teilweise
Auf Eingang warten M66 M100 / M101 M66 M66 Centroid verwendet M100/M101 (Warten auf PLC-Bit). Mach4: P<Eingang> L<Timeout in Sek.>. Mach3: teilweise
Analogausgang M67 / M68 M67 / M68 M67 synchronisiert, M68 sofort. Mach4: teilweise
Warten auf PLC-Bit (Centroid) M100 / M101 M100 wartet, bis ein PLC-Bit offen/aus ist; M101, bis es geschlossen/ein ist. DIESELBEN Nummern starten auf LinuxCNC/Mach Anwenderskripte — siehe falsche Freunde. Centroid: M100 offen, M101 geschlossen
Direktausgabe / IO-Makrofamilie (Mach4) M200–M219 / M220–M224 / M228

Modaler Zustand (LinuxCNC)

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Modalen Zustand speichern / wiederherstellen M70 / M71 / M72 / M73 M70 speichern, M71 verwerfen, M72 wiederherstellen, M73 speichern mit automatischer Wiederherstellung.

Drehzyklen (Drehmaschine)

Das Revier der Drehmaschine (T-Serie). Die Spalten oben beschreiben das FRÄS-Verhalten; mehrere Codes bedeuten auf einer Drehmaschine etwas anderes.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Durchmesser-/Radiusprogrammierung (LinuxCNC-Drehmaschine) G7 / G8
Spindeldrehzahl-Begrenzung (CSS) G50 G50 G50 G50 G50 FANUC-Drehmaschine: G50 S____ begrenzt die Drehzahl unter G96. Auf der Fräse bedeutet G50 Skalierung-aus — ein echter falscher Freund. LinuxCNC: teilweise Centroid: teilweise FANUC: G50 S____ Mach3: teilweise
Werkstücknullpunkt setzen (FANUC-Drehmaschine) G50 G50 X_ Z_ setzt auf einer FANUC-Drehmaschine den Werkstücknullpunkt (die zweite G50-Verwendung). FANUC: G50 X_ Z_
Konstante Schnittgeschwindigkeit (CSS) ein G96 G96 G96 G96 G96 S in m/min (G21) bzw. sfm (G20). Centroid: teilweise Mach3: teilweise
Konstante Spindeldrehzahl (CSS abwählen) G97 G97 G97 G97 G97 Centroid: teilweise Mach3: teilweise
Synchrones Gewindeschneiden (konstante Steigung) G33 G33 G33 Centroid: optional
Schlichtzyklus (Drehen) G70 G70 G70 Verwendet eine mit G71/G72 definierte Kontur. Centroid: nur T-Serie Mach4: teilweise
Abspanzyklus (Schruppen) G71 / G72 G71 / G72 G71 / G72 G71 längs, G72 plan. FANUC: Typ-I- oder Typ-II-Syntax. Centroid: nur T-Serie Mach4: teilweise
Planeinstechen (FANUC-Drehmaschine G74) G74 G74 Dasselbe G74, das auf der Fräse Gewindebohren linksgängig bedeutet. Centroid: T-Serie
Gewindezyklus (FANUC-Drehmaschine G76) G76 G76 G76 Dasselbe G76, das auf der Fräse Feinausdrehen bedeutet. Typ I (Einzelsatz) oder Typ II (P/Q/R). LinuxCNC: Drehmaschine Centroid: T-Serie
Vorschub pro Minute (FANUC-Drehmaschine) G98 Auf einer FANUC-DREHMASCHINE bedeutet G98 Vorschub/min — die Rolle, die G94 auf der Fräse spielt. FANUC: nur Drehmaschine
Vorschub pro Umdrehung (FANUC-Drehmaschine) G99 Auf einer FANUC-DREHMASCHINE bedeutet G99 Vorschub/U — die Rolle, die G95 auf der Fräse spielt. FANUC: nur Drehmaschine

Festzyklus-Rückzugsmodus (Fräsen)

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Rückzug auf Ausgangs-Z nach dem Zyklus G98 G98 G98 G98 G98 G98 Die FANUC-DREHMASCHINE belegt G98 mit Vorschub pro Minute — siehe die Drehzyklen-Gruppe und falsche Freunde.
Rückzug auf die R-Ebene nach dem Zyklus G99 G99 G99 G99 G99 G99 Die FANUC-DREHMASCHINE belegt G99 mit Vorschub pro Umdrehung.

5-axis positioning & compensation (Haas)

UMC / 5-axis features. FANUC and others use different codes (or options) for the equivalents; these are the Haas spellings.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Tool center point control (TCPC) G234 Keeps the tool tip on the path while the rotary axes move.
5-axis tool length compensation + G143
Dynamic Work Offset (DWO) G254 / G255 Compensates the work offset for the current rotary-axis position. Haas: G254 enable, G255 cancel
Feature coordinate system G268 / G269 / G253 Define / orient a coordinate system to a tilted feature. Haas: G268 enable, G269 disable, G253 orient spindle normal to feature
Visible-axes rapid rate (%) G266 Haas: linear rapid % for the visible axes

Machine automation & accessories (Haas)

Haas machine-function M-codes: coolant, doors, conveyors, pallets, probes, relays. Several numbers collide with other controls' meanings — see false friends.

ArbeitsgangLinuxCNCGRBLCentroidFANUCMach3Mach4HaasHinweise
Chip conveyor M31 / M33 Haas: M31 forward, M33 stop
Programmable coolant spigot (P-Cool) M34 / M35 Haas: M34 increment position, M35 decrement
Through-spindle coolant (TSC) M88 / M89 Haas: M88 on, M89 off
Auto air gun / tool air blast M83 / M84 / M73 / M74 Haas: M83/M84 auto air gun on/off; M73/M74 tool air blast (TAB) on/off
Automatic door M80 / M81 Haas: M80 open, M81 close
Automatic window M180 / M181 Haas: M180 open, M181 close
Axis brakes (4th / 5th) M10 / M11 / M12 / M13 Haas: M10/M11 4th-axis brake engage/release; M12/M13 5th-axis
Spindle gear range M41 / M42 Haas: M41 low gear, M42 high gear
Spindle tool clamp / unclamp M82 / M86 Haas: M82 unclamp, M86 clamp
Workholding / fixture clamp M70 / M71 / M90 / M91 M70 shares its number with LinuxCNC's modal-state save — see false friends. Haas: M70/M71 workholding clamp/unclamp; M90/M91 fixture clamp input on/off
Rotate tool turret M39
Spindle speed variation (SSV) M138 / M139 Haas: M138 on, M139 off
Mist condenser M158 / M159 Haas: M158 on, M159 off
Vise / chip air blast M116 / M117 Centroid uses M116 to probe — see false friends. Haas: M116 on, M117 off
Sleep mode M95
Display media on screen M130 / M131 Haas: M130 display image / video, M131 cancel
Interactive operator input M109 Centroid uses M109 to disable overrides — see false friends. Haas: single-keystroke operator input
PulseJet MQL lubrication M160 / M161 / M162 / M163 Haas: M160 cancel, M161 continuous, M162 single event, M163 modal
Pallet changer M36 / M48 / M50 / M199 Haas: M36 part ready; M48 validate program for loaded pallet; M50 change sequence; M199 pallet/part load or program end
User M-code outputs & relays M21–M25 / M29 / M51–M55 / M59 / M61–M65 / M69 M51–M55 / M61–M65 and M59 / M69 collide with LinuxCNC and other controls' M-code meanings — see false friends. Haas: M21–M25 optional user M w/ M-Fin; M29 set relay w/ M-Fin; M51–M55 set user outputs, M61–M65 clear; M59 set relay, M69 clear
APL / robot custom sequence M300

Falsche Freunde — gleiche Nummer, andere Bedeutung

Die Arbeitsgang-Tabellen oben decken bereits den Fall „anderer Code, gleiche Aufgabe" ab — jede Zeile listet die Schreibweise jeder Steuerung, das kann Ihnen also nicht entgehen. In diesem Abschnitt geht es um den umgekehrten und gefährlicheren Fall: Die gleiche Nummer tut auf verschiedenen Steuerungen oder in verschiedenen Modi fundamental Unterschiedliches. Ein Programm, das auf der einen sauber läuft, erzeugt auf der anderen falsche Ergebnisse — oder einen Crash.

Wenn Sie G-Code zwischen Plattformen portieren, ist das der Abschnitt, den Sie zweimal lesen sollten.


M100 / M101 — Warten auf PLC-Bit vs. Anwenderskript-Slot

Ein an FANUC geschulter Bediener und ein an Centroid geschulter Bediener schreiben M100 aus zwei völlig inkompatiblen Gründen.

Steuerung M100 M101
Centroid CNC12 Hält das Programm an, bis das referenzierte PLC-Bit / der Eingang offen (aus / 0) ist. Gegenstück zu M101. Eigene Meldung über cncxmsg.txt Hält an, bis das PLC-Bit geschlossen (ein / 1) ist
LinuxCNC Führt eine externe Anwenderskript-Datei namens M100 aus dem Konfigurationsverzeichnis aus (der gesamte Bereich M100–M199 ist auf diese Weise reserviert) Führt das Anwenderskript M101 aus
FANUC Im Standard nicht belegt. Üblicherweise vom Maschinenhersteller per PMC-Ladder definiert Ebenso
Mach 3 Freier Slot — führt das VBScript-Makro M100.M1S aus, falls vorhanden, sonst undefiniert Ebenso für M101.M1S
Mach 4 Freier Slot — führt das Lua-Makro M100.mcs aus, falls vorhanden, sonst undefiniert Ebenso für M101.mcs
GRBL Nicht unterstützt Nicht unterstützt

Auswirkung beim Portieren: Ein Centroid-Programm, das mit M100 /5000 auf ein Vakuum-bereit-Signal der PLC wartet, versucht auf LinuxCNC, ein externes Skript mit dem wörtlichen Namen M100 auszuführen — ein völlig anderes Laufzeitverhalten. Auf einer Standard-Mach3-Installation ohne geschriebenes M100.M1S tut dieselbe Zeile stillschweigend gar nichts. Explizite PLC-Wartebefehle beim Wechsel zwischen Steuerungen immer neu schreiben.


G98 / G99 — Festzyklus-Rückzug (Fräsen) vs. Vorschubart (FANUC-Drehmaschine)

Die größte Fräse-gegen-Drehmaschine-Falle bei FANUC überhaupt.

Steuerung / Modus G98 G99
FANUC Fräse Festzyklus-Rückzug auf die Ausgangs-Z-Höhe Festzyklus-Rückzug auf die R-Ebene
FANUC Drehmaschine (T-Serie) Vorschub pro Minute (die Rolle, die G94 auf der Fräse spielt) Vorschub pro Umdrehung (die Rolle, die G95 auf der Fräse spielt)
LinuxCNC (Fräse oder Drehmaschine) Festzyklus-Rückzug auf Ausgangs-Z Festzyklus-Rückzug auf die R-Ebene
Centroid CNC12 (Fräse) Festzyklus-Rückzug auf Ausgangs-Z Festzyklus-Rückzug auf die R-Ebene
Mach 3 / Mach 4 Festzyklus-Rückzug auf Ausgangs-Z Festzyklus-Rückzug auf die R-Ebene

Auswirkung beim Portieren: Ein FANUC-T-Serien-Drehprogramm, das G98 setzt und Vorschub pro Minute erwartet, wird auf jeder anderen hier gelisteten Plattform als Umschaltung des Festzyklus-Rückzugsmodus interpretiert. Die Deutung als Vorschubart gibt es ausschließlich auf der FANUC-T-Serie.


G50 — drei völlig unterschiedliche Bedeutungen je nach Plattform/Modus

Steuerung / Modus G50
FANUC Fräse Skalierung AUS (hebt G51 auf)
FANUC Drehmaschine Zwei getrennte Verwendungen auf derselben Steuerung: G50 X_ Z_ setzt den Werkstücknullpunkt; G50 S_____ begrenzt die maximale Spindeldrehzahl im G96-CSS-Modus
Mach 3 / Mach 4 Skalierung AUS (Fräse)
LinuxCNC Nicht implementiert (LinuxCNC unterstützt keine Skalierung nach FANUC-Art über G50/G51)
Centroid CNC12 Fräse Teilweise Unterstützung für Skalierung-aus; variiert je nach CNC12-Version
Centroid CNC12 Drehmaschine (T-Serie) Folgt der FANUC-Drehmaschinen-Konvention
GRBL Nicht unterstützt

Auswirkung beim Portieren: Ein FANUC-Drehprogramm, das mit G50 S3000 eine CSS-geführte Spindel begrenzt, läuft auf Fräs-Steuerungen ins Leere oder erzeugt einen Fehler, weil das G50 der Fräse kein S-Wort annimmt.


G74 — Linksgewindebohren (Fräsen) vs. Planeinstechen (FANUC-Drehmaschine)

Steuerung / Modus G74
FANUC Fräse Festzyklus für linksgängiges Gewindebohren
FANUC Drehmaschine Planeinstech- / Plan-Tiefbohrzyklus
LinuxCNC Gewindebohren links (Fräse)
Centroid CNC12 Fräse Gewindebohren links
Centroid CNC12 Drehmaschine (T-Serie) Planeinstechen
Mach 3 / Mach 4 Gewindebohren links (Fräse)
GRBL Nicht unterstützt

Auswirkung beim Portieren: Gleicher Code, gleicher Steuerungshersteller (FANUC), völlig anderer Bearbeitungsvorgang — je nachdem, ob die Steuerung eine Fräse oder eine Drehmaschine steuert. Postprozessoren für Drehmaschinen gehen immer von der FANUC-Drehmaschinen-Bedeutung aus.


G76 — Feinausdrehen (Fräsen) vs. Gewindeschneiden (FANUC-Drehmaschine)

Steuerung / Modus G76
FANUC Fräse Feinausdreh-Zyklus (orientierter Spindelhalt am Grund, Abheben um den Shift-Betrag, damit die Wand nicht verkratzt)
FANUC Drehmaschine Mehrschnitt-Gewindezyklus — Typ I (ältere Einzelsatz-Syntax) oder Typ II (moderne Mehrsatz-Syntax mit P_ Q_ R_). Der Satzaufbau unterscheidet sich komplett von der Fräsversion
LinuxCNC Fräse Nicht unterstützt
LinuxCNC Drehmaschine Gewindezyklus
Centroid CNC12 Fräse Teilweise — gegen die konkrete Steuerungsversion prüfen
Centroid CNC12 Drehmaschine (T-Serie) Gewindezyklus
Mach 3 / Mach 4 Fräse Feinausdrehen
GRBL Nicht unterstützt

Auswirkung beim Portieren: Ein G76-Gewindesatz für die Drehmaschine hat eine völlig andere Argumentliste als ein G76-Ausdrehsatz für die Fräse. Sie sind nicht austauschbar.


G5 / G5.1 / G5.4 — unterschiedliche Highspeed-Look-Ahead-Implementierungen

Steuerung G5-Familie
FANUC G05.1 Q1 = AI Contour Control ein; G05.1 Q0 = aus. Einige 30i-B-Varianten verwenden G05.4. Ältere Steuerungen nutzen G05 (ohne Dezimalstelle) oder G08 P1 für dieselbe Look-Ahead-/Beschleunigungsglättung
LinuxCNC G5 (ohne Dezimalstelle) = kubische Spline-Interpolation — ein völlig anderer Arbeitsgang, kein HSM-Look-Ahead-Schalter
Centroid / Mach 3 / Mach 4 / GRBL Nicht unterstützt

Auswirkung beim Portieren: Gleiche Nummer, völlig andere Mathematik. Ein LinuxCNC-G5-Satz definiert eine Spline-Kurve durch Kontrollpunkte; ein FANUC-G05 schaltet einen Look-Ahead-Beschleunigungsmodus. Das Ergebnis hat nichts miteinander zu tun.


Kurzübersicht: die wichtigsten Unterschiede

GRBL verzichtet bewusst auf Festzyklen, Werkzeugradiuskorrektur, Polarkoordinaten, Skalierung, Drehung, Makros und Unterprogramme. CAM-Postprozessoren für GRBL lösen Zyklen in einzelne G01-Bewegungen auf und lassen G41/G42 komplett weg.

FANUC ist die Linie, von der alle anderen abstammen — aber gerade im High-End-Bereich weicht am meisten voneinander ab. Die größte steuerungsübergreifende Falle: G98/G99 sind auf der Fräse Festzyklus-Rückzugsmodi, auf der Drehmaschine aber Vorschubarten. Auch G50 und G70–G76 sind auf der Drehmaschine anders belegt. Highspeed-Bearbeitungsoptionen (G05.1, G05.4, G08, G64-Tuning) variieren je nach Steuerungsgeneration und Maschinenhersteller.

LinuxCNC kommt einer sauberen Obermenge des Standards RS-274/NGC am nächsten. Es ergänzt vollwertige Antastvarianten (G38.2–G38.5), M-Codes für digitale/analoge HAL-Ein-/Ausgänge (M62–M68), benutzerdefinierte M100–M199-Skripte und verwendet O-Codes für Unterprogramme statt M98/M99 nach FANUC-Art.

Centroid (CNC12) ist bei den kanonischen Bohr-, Ausdreh- und Makro-Codes weitgehend FANUC-kompatibel. Die Makroprogrammierung verwendet #-Variablen mit IF/THEN/ELSE und Satznummer-GOTO-Verzweigungen — WHILE/DO-Schleifen gibt es nicht. Angetastet wird über M-Codes (M105/M106, M115/M116/M125/M126), nicht über G31/G38. Erweiterte Nullpunktverschiebungen laufen über G54 Pn (ohne Dezimalstelle), nicht über G59.1+ oder G54.1. Die G70–G76-Drehzyklen gelten nur auf der T-Serie. Der kanonische Festzyklussatz für die Fräse ist G81–G85 + G89; das Rückwärts-Ausdrehen G86/G87/G88 und die modalen Makros G66/G67 stehen nicht im CNC12-Handbuch.

Mach 3 ist die funktionsärmste kommerzielle Steuerung in dieser Liste — keine G65-Makros (eigene M-Codes sind stattdessen VBScript-.M1S-Dateien), keine Polarkoordinaten, keine erweiterten Nullpunkte jenseits von G59.3, kein G31-Mehrfachantasten. M62–M66 brauchen in der Regel OEM-Skripte, statt nativ zu funktionieren. Unterprogramme über M98/M99 funktionieren.

Mach 4 ist eine deutliche Obermenge von Mach 3: ergänzt G65-Makros (mit zwingender Makrodatei-Endung .nc), erweiterte Nullpunkte G54.1 P1–P248, Mehrfachantasten G31.0–G31.3, Vollkreis G12/G13, Polarkoordinaten, starres Gewindebohren G84.2/G84.3, Eckenverhalten der Radiuskorrektur G40.1/G40.2, native M62–M68-Ein-/Ausgänge und eine M200–M228-Familie. Lua ersetzt VBScript für eigene M-Codes — Mach3-Makros lassen sich nicht direkt übernehmen.


Wie diese App mit nicht unterstützten Codes umgeht

Der Parser von G54.APP ist tolerant — unbekannte G- oder M-Codes bleiben unverändert im Quelltext stehen und wirken sich schlicht nicht auf die Visualisierung aus. Eine für FANUC geschriebene Datei mit G68-Drehung oder M98-Unterprogrammaufrufen rendert also die Linear- und Bogenbewegungen, die die App versteht, und überspringt den Rest stillschweigend. Prüfen Sie die Simulation vor dem Zerspanen immer gegen das erwartete Verhalten der Zielsteuerung.


Quellen

Dies sind die öffentlichen Referenzen, die beim Erstellen dieser Übersicht zu Rate gezogen wurden. Herstellerhandbücher (FANUC, Centroid) werden mit der Steuerung ausgeliefert und sind unter Umständen nicht öffentlich archiviert; wo ein Hersteller-PDF verwendet wurde, ist die URL angegeben, unter der es zum Zeitpunkt der Erstellung erreichbar war.

LinuxCNC (frei, online):

GRBL 1.1 (Open Source):

Centroid CNC12 (Hersteller-PDFs):

FANUC (Drittanbieter-Zusammenstellungen der Herstellerhandbücher; Hersteller-PDFs sind in der Regel nicht frei verfügbar):

Mach 3 (ArtSoft / MachMotion):

Mach 4 (ArtSoft / MachMotion):

Bekannte nicht verifizierbare / unsichere Einträge

Visualisieren Sie Ihren G-Code in 3D

G54.APP ist ein kostenloser G-Code-Viewer und CNC-Abtragssimulator im Browser. Laden Sie eine beliebige .nc-, .gcode-, .tap- oder .cnc-Datei, um den Werkzeugweg mit 60+ fps und Materialabtrag in Echtzeit abzuspielen — ohne Installation, ohne Konto.

G54.APP ausprobieren →