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:
- Eine Zelle zeigt den bzw. die Code(s), die diese Steuerung für den Arbeitsgang
verwendet — z. B. steht in der Zeile „Antasten zum Werkstück"
G38.2für LinuxCNC,G31für FANUC undM115/M116für Centroid. —bedeutet: Diese Steuerung hat keinen entsprechenden Code für den Arbeitsgang.- Ein Code mit gepunkteter Unterstreichung hat eine steuerungsspezifische Einschränkung; der vollständige Hinweis steht in der Spalte Hinweise dieser Zeile (und erscheint beim Überfahren mit der Maus).
- Mit dem Steuerungsfilter oben über den Tabellen blenden Sie alle Spalten außer Ihrer eigenen aus.
Die zur Faktenprüfung verwendeten Quellen sind am Ende dieses Dokuments aufgeführt.
#Codes nach Arbeitsgang
Bewegung & Interpolation
Die Bewegungen, die tatsächlich zerspanen. Das sind die portabelsten Codes — G0–G3 bedeuten auf jeder hier gelisteten Steuerung dasselbe.
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Eilgang-Positionierung | G0 |
G0 |
G0 |
G0 |
G0 |
G0 |
Verfahren ohne Zerspanung mit der Maximalgeschwindigkeit der Maschine. |
| Lineare Vorschubbewegung | G1 |
G1 |
G1 |
G1 |
G1 |
G1 |
Gerader Schnitt mit Vorschubgeschwindigkeit; erfordert ein F-Wort. |
| Kreisbogen / Helix im Uhrzeigersinn | 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 |
Gleiche Konventionen wie beim Bogen im Uhrzeigersinn, entgegengesetzte Richtung. |
| Verweilzeit (Pause) | G4 |
G4 |
G4 |
G4 |
G4 |
G4 |
Mach3/4: P mit Dezimalstelle = Sekunden, ganzzahliges P = Millisekunden. |
| Vollkreis im Uhrzeigersinn (aktuelle Position als Mittelpunkt) | — | — | — | — | G12 |
G12 |
Mach3: teilweise |
| Vollkreis gegen den Uhrzeigersinn | — | — | — | — | G13 |
G13 |
Mach3: teilweise |
| 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. |
Arbeitsebenen-Auswahl
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| XY-Ebene wählen | G17 |
G17 |
G17 |
G17 |
G17 |
G17 |
Standard. Kreisbögen verwenden I/J. |
| ZX-Ebene wählen | G18 |
G18 |
G18 |
G18 |
G18 |
G18 |
Kreisbögen verwenden I/K. |
| YZ-Ebene wählen | 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.
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| 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 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 |
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 |
| 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 |
| Nullpunktverschiebung setzen (absolut) | 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 |
Die „Nullpunkt hierhin“-Variante. |
| Lokale Koordinatenverschiebung | G52 |
— | G52 |
G52 |
G52 |
G52 |
Temporäre Verschiebung zusätzlich zum aktiven WKS. |
| Verfahren in Maschinenkoordinaten (nicht modal) | G53 |
G53 |
G53 |
G53 |
G53 |
G53 |
Einmalige Bewegung im Maschinenkoordinatensystem. |
| Position setzen / Koordinatenverschiebung | G92 |
G92 |
G92 |
G92 |
G92 |
G92 |
FANUC hat G92.1 / G92.2 zum Löschen bzw. Wiederherstellen; Mach hat G92.1. |
Einheiten & Maßangaben
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Programmierung in Zoll | G20 |
G20 |
G20 |
G20 |
G20 |
G20 |
|
| Programmierung in Millimetern | G21 |
G21 |
G21 |
G21 |
G21 |
G21 |
|
| Absolutmaßprogrammierung | G90 |
G90 |
G90 |
G90 |
G90 |
G90 |
|
| Kettenmaßprogrammierung (inkrementell) | 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
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Vorschub pro Minute | 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 |
Auf einer FANUC-DREHMASCHINE übernimmt G99 diese Rolle. |
| Zeitreziproker Vorschub (Inverse Time) | G93 |
G93 |
G93 |
G93 |
G93 |
G93 |
F = 1/Minuten; für manche Rundachsbewegungen erforderlich. Centroid: G93 ein, G94 aus. |
Werkzeuglängen- & Fräserradiuskorrektur
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Fräserradiuskorrektur AUS | G40 |
G40 |
G40 |
G40 |
G40 |
G40 |
Standardzustand. |
| Radiuskorrektur LINKS der Bahn | G41 |
— | G41 |
G41 |
G41 |
G41 |
Das D-Wort wählt das Korrekturregister. |
| Radiuskorrektur RECHTS der Bahn | 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 |
Das H-Wort wählt das Längenkorrektur-Register. |
| Werkzeuglängenkorrektur (negativ) | — | — | 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 |
|
| 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 |
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 |
Centroid CNC12 dokumentiert die L11/L12/L13-Familie ausdrücklich; die Unterstützung anderswo variiert. FANUC: variiert Mach3: variiert Mach4: variiert |
Bohr-, Ausdreh- & Gewindebohrzyklen
Festzyklen für Bohrungen. GRBL hat keine — CAM-Postprozessoren lösen sie in einzelne G1-Bewegungen auf.
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Festzyklus abwählen | G80 |
— | G80 |
G80 |
G80 |
G80 |
Erforderlich, um Bohr-/Ausdreh-/Gewindemodi zu verlassen. |
| Standard-Bohrzyklus | G81 |
— | G81 |
G81 |
G81 |
G81 |
Z im Vorschub abwärts, im Eilgang heraus. |
| Bohren mit Verweilzeit am Grund | G82 |
— | G82 |
G82 |
G82 |
G82 |
Für Anbohren / Senken. |
| Tieflochbohren (voller Rückzug) | 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 |
|
| Gewindebohren rechtsgängig | G84 |
— | G84 |
G84 |
G84 |
G84 |
Mach3: starres Gewindebohren erfordert ein OEM-Plugin |
| Gewindebohren linksgängig | G74 |
— | G74 |
G74 |
G74 |
G74 |
Die FANUC-DREHMASCHINE belegt G74 mit einem Planeinstechzyklus — siehe falsche Freunde. |
| 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 |
|
| Ausdrehen (Vorschub hinein, Halt, Eilgang heraus) | — | — | — | G86 |
G86 |
G86 |
Centroids CNC12-Festzyklussatz ist G81–G85 + G89; G86/G87/G88 stehen nicht im Handbuch. |
| Rückwärts-Ausdrehen | — | — | — | G87 |
G87 |
G87 |
|
| Ausdrehen mit manuellem Rückzug | — | — | — | G88 |
G88 |
G88 |
|
| Ausdrehen mit Verweilzeit (Vorschub heraus) | G89 |
— | G89 |
G89 |
G89 |
G89 |
|
| Feinausdrehen (orientierter Halt, Abheben, Rückzug) | — | — | G76 |
G76 |
G76 |
G76 |
Die FANUC-DREHMASCHINE belegt G76 mit einem Gewindezyklus — siehe falsche Freunde. Centroid: teilweise; je Version prüfen |
Antasten & Werkzeugvermessung
Die größte Abweichung auf dieser Seite. LinuxCNC/GRBL verwenden G38.x, FANUC/Mach G31, und Centroid arbeitet komplett mit M-Codes.
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Antasten zum Werkstück, Fehler bei fehlendem Kontakt | G38.2 |
G38.2 |
M115 / M116 |
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 |
| 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 |
Koordinatentransformationen — Drehung, Skalierung, Spiegelung, Polar
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Koordinatendrehung EIN | 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 |
|
| Skalierung EIN | — | — | 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 |
Die FANUC-DREHMASCHINE belegt G50 komplett anders — siehe falsche Freunde. Centroid: auch Spiegelung-aus; teilweise/versionsabhängig |
| Spiegelung EIN / AUS | — | — | — | G51.1 / G50.1 |
— | — | Centroid hat keine eigenen Spiegel-Codes — Spiegelung läuft über G50/G51. |
| Polarkoordinaten EIN / AUS | — | — | — | G16 / G15 |
— | G16 / G15 |
X wird als Radius, Y als Winkel interpretiert. |
Look-Ahead, Glättung & Genauhalt
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Genauhalt (nicht modal, ein Satz) | G9 |
— | G9 |
G9 |
G9 |
G9 |
Einmal-Variante von G61. |
| Genauhalt (modal) | 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 |
LinuxCNC: G64 P<Toleranz>. FANUC stellt dies stattdessen über G5.1 HPCC ein. FANUC: teilweise; HPCC-Tuning weicht ab |
| 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. |
Referenzfahrt & Referenzpunkte
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Referenzpunkt anfahren (Home) | 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 |
|
| 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
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Programmierter Halt | M0 |
M0 |
M0 |
M0 |
M0 |
M0 |
Weiter mit Zyklusstart. |
| Wahlweiser Halt | 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 |
|
| Programmende mit Rücklauf | M30 |
M30 |
M30 |
M30 |
M30 |
M30 |
Das, was die meisten CAM-Systeme ans Dateiende schreiben. |
| Unterprogramm aufrufen | — | — | 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 |
|
| 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 |
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 |
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.
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Parametrische Variablen | #<named> |
— | #vars |
#vars |
VBScript |
Lua |
LinuxCNC: benannte & nummerierte Parameter Centroid: Macro-B-Stil FANUC: Macro-B Mach3: Param1/2/3() Mach4: per Skript |
| Bedingung (IF / THEN) | O… if/elseif/else/endif |
— | IF/THEN/ELSE |
IF[…] THEN / GOTO |
VBScript |
Lua |
Centroid: unterstützt |
| Schleife (WHILE / DO) | O… while/endwhile |
— | — | WHILE[…] DO / END |
VBScript |
Lua |
Centroid CNC12 hat KEINE WHILE/DO-Schleife — stattdessen IF + GOTO verwenden. |
| Sprung (GOTO) | — | — | GOTO Nnnn |
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 |
Spindel & Kühlmittel
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Spindel ein, Rechtslauf | M3 |
M3 |
M3 |
M3 |
M3 |
M3 |
Das S-Wort setzt die Drehzahl. |
| Spindel ein, Linkslauf | M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
GRBL-Lasermodus: dynamische Leistung. |
| Spindel Halt | M5 |
M5 |
M5 |
M5 |
M5 |
M5 |
|
| Spindel orientieren (orientierter Halt) | — | — | 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 |
|
| Flutkühlung ein | M8 |
M8 |
M8 |
M8 |
M8 |
M8 |
|
| Kühlmittel komplett aus | M9 |
M9 |
M9 |
M9 |
M9 |
M9 |
Werkzeugwechsel
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Werkzeugwechsel | M6 |
— | M6 |
M6 |
M6 |
M6 |
Wirkt zusammen mit einem vorangehenden Tn. GRBL pausiert und fordert zum Wechsel auf. |
| Aktuelle Werkzeugnummer setzen (ohne Wechsel) | M61 |
— | — | — | — | — | Meldet das eingespannte Werkzeug an, ohne einen Wechsel auszuführen. |
Vorschub- & Spindel-Override
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| 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
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| 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)
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| 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.
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| 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)
| Arbeitsgang | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Hinweise |
|---|---|---|---|---|---|---|---|
| Rückzug auf Ausgangs-Z nach dem Zyklus | 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 |
Die FANUC-DREHMASCHINE belegt G99 mit Vorschub pro Umdrehung. |
#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):
- G-code quick reference — https://linuxcnc.org/docs/html/gcode/g-code.html
- M-code quick reference — https://linuxcnc.org/docs/html/gcode/m-code.html
- Main user manual — https://linuxcnc.org/docs/
GRBL 1.1 (Open Source):
- Supported commands wiki — https://github.com/gnea/grbl/wiki/Grbl-v1.1-Commands
commands.mdsource-of-truth — https://github.com/gnea/grbl/blob/master/doc/markdown/commands.md
Centroid CNC12 (Hersteller-PDFs):
- Macro Programming guide — https://www.centroidcnc.com/centroid_diy/downloads/acorn_documentation/centroid_cnc_macro_programming.pdf
- M-Series (Oak / Allin1DC) Operator's Manual v4.14 — https://www.centroidcnc.com/centroid_diy/downloads/CNC12-v414_operator_manuals/centroid-cnc12-oak-allin1dc-mill-operator-manual-v4.14.pdf
- v3.16 Mill Operator Manual — https://www.centroidcnc.com/downloads/centroid_v3.16_mill_operator_manual.pdf
- G and M codes extract — https://www.centroidcnc.com/centroid_diy/downloads/centroid_G_and_M_codes.pdf
- PLC + CNC Functions Programming Manual (CNC12 v5.x+) — https://www.centroidcnc.com/centroid_diy/downloads/centroid_plc_programming_manual.pdf
- Helman-CNC-Spiegel der Centroid-Fräs-M-Code-Liste — https://www.helmancnc.com/centroid-m-code-cnc-mill/
- Centroid-Forumsbeitrag zur G10-P/R-Parameterform — https://centroidcncforum.com/viewtopic.php?t=3429
FANUC (Drittanbieter-Zusammenstellungen der Herstellerhandbücher; Hersteller-PDFs sind in der Regel nicht frei verfügbar):
- FanucWorld "Ultimate M-Code & G-Code List for Fanuc Controls" — https://content.fanucworld.com/m-code-g-code-list/
- REACO CNC FANUC Machining Center G/M codes — https://reacocnc.com/blogs/fanuc-g-code-m-code-list/g-code-m-code-machining-center
- REACO CNC FANUC CNC Lathe G/M codes — https://reacocnc.com/blogs/fanuc-g-code-m-code-list/g-code-m-code-lathe
- Helman CNC "Fanuc 31i G Codes Machining Center" — https://www.helmancnc.com/fanuc-31i-g-codes-machining-center-fanuc-30i-31i-32i/
- Gegengeprüft mit: FANUC Series 0i-MD Operator's Manual, FANUC Series 30i/31i/32i-MODEL B Operator's Manual, FANUC Macro Compiler / Macro Executor Programming Manual (nur Titel — diese sind nicht offen verfügbar)
Mach 3 (ArtSoft / MachMotion):
- MachMotion "G and M-code Reference Using Mach3Mill Rev 1.84-A2" — https://machmotion.com/documentation/Software/Mach3/Mach3%20GCode%20Language%20Reference.pdf
- Mach3 G-Code Manual (MachMotion) — https://machmotion.com/documentation/Software/Mach3/Mach3%20G-Code%20Manual.pdf
- Mach3 V3.x Macro Programmer's Reference (ArtSoft) — https://www.machsupport.com/wp-content/uploads/2013/02/Mach3_V3.x_Macro_Prog_Ref.pdf
- Helman CNC "Mach3 Mill G Code List" — https://www.helmancnc.com/mach3-mill-g-code-list/
- CNCCookbook zu Mach3 + G65 — https://www.cnccookbook.com/m98-m99-g-code-cnc-subprograms/
Mach 4 (ArtSoft / MachMotion):
- Mach4 Mill GCode Manual v1.0 (ArtSoft) — https://www.machsupport.com/wp-content/uploads/2014/05/Mach4%20Mill%20GCode%20Manual.pdf
- MachMotion Mach4 G & M Code Reference Manual — https://machmotion.com/documentation/Software/Mach4/Mach4-G-and-M-Code-Reference-Manual.pdf
- MachMotion BookStack Mach4 G/M Code Reference — https://support.machmotion.com/books/software/page/mach4-g-code-and-m-code-reference
- Mach4 Lathe Programming Guide — https://www.machsupport.com/wp-content/uploads/2014/05/Mach4%20Lathe%20GCode%20Manual.pdf
- Warp9 Mach3 vs Mach4 FAQ — https://www.warp9td.com/index.php/faq/faq-g-code-m-code
#Bekannte nicht verifizierbare / unsichere Einträge
- FANUC G05.4 Nano-Smoothing — auf einigen 30i-B-Varianten vorhanden, aber nicht durchgängig in der gesamten 30i-Familie.