LinuxCNC meistern: Umfassender Leitfaden zu G- & M-Codes für CNC-Maschinensteuerung
LinuxCNC ist ein Softwaresystem zur computergesteuerten Steuerung von Werkzeugmaschinen wie Fräsmaschinen und Drehbänken. Es ist freie Open-Source-Software und bietet mehrere grafische Benutzeroberflächen, einschließlich einer für Touchscreens.

G-Codes
| G-Code | Beschreibung |
|---|---|
| G0 | Schnellverfahrt (Rapid Linear Motion) |
| G1 | Lineare Interpolation (Linear Feed) |
| G2 | Kreisbogen im Uhrzeigersinn (CW Arc Feed) |
| G3 | Kreisbogen gegen Uhrzeigersinn (CCW Arc Feed) |
| G4 | Wartezeit (Dwell) |
| G5.1 | Quadratischer B-Spline |
| G5.2 G5.3 | NURBS-Block |
| G7 | Durchmessermodus (Drehbank) |
| G8 | Radiusmodus (Drehbank) |
| G10 L1 | Werkzeugtabelleneintrag setzen |
| G10 L10 | Werkzeugtabelle, berechnet, Werkstück |
| G10 L11 | Werkzeugtabelle, berechnet, Vorrichtung |
| G10 L2 | Koordinatensystemursprung setzen |
| G10 L20 | Koordinatensystemursprung, berechnet |
| G17 | XY-Ebene |
| G18 | ZX-Ebene |
| G19 | YZ-Ebene |
| G17.1 | UV-Ebene |
| G18.1 | WU-Ebene |
| G19.1 | VW-Ebene |
| G20 | Zoll-Einheiten |
| G21 | Millimeter-Einheiten |
| G28 | Vordefinierte Position anfahren |
| G28.1 | Aktuelle absolute Position für G28 speichern |
| G30 | Vordefinierte Position anfahren |
| G30.1 | Aktuelle absolute Position für G30 speichern |
| G33 | Spindelsynchrone Bewegung |
| G33.1 | Starrgewindebohren (Rigid Tapping) |
| G38.2 – G38.5 | Tasten (Probing) |
| G38.2 | Zum Werkstück tasten, bei Kontakt stoppen, Fehler bei Fehlschlag |
| G38.3 | Zum Werkstück tasten, bei Kontakt stoppen |
| G38.4 | Vom Werkstück weg tasten, bei Kontaktverlust stoppen, Fehler bei Fehlschlag |
| G38.5 | Vom Werkstück weg tasten, bei Kontaktverlust stoppen |
| G40 | Werkzeugradiuskompensation aus |
| G41 | Werkzeugradiuskompensation links des Pfades |
| G42 | Werkzeugradiuskompensation rechts des Pfades |
| G41.1 | Dynamische Werkzeugradiuskompensation links |
| G42.1 | Dynamische Werkzeugradiuskompensation rechts |
| G43 | Werkzeuglängenkompensation |
| G43.1 | Dynamische Werkzeuglängenkompensation |
| G49 | Werkzeuglängenkompensation aus |
| G53 | Bewegung im Maschinenkoordinatensystem |
| G54 | Koordinatensystem 1 wählen |
| G55 | Koordinatensystem 2 wählen |
| G56 | Koordinatensystem 3 wählen |
| G57 | Koordinatensystem 4 wählen |
| G58 | Koordinatensystem 5 wählen |
| G59 | Koordinatensystem 6 wählen |
| G59.1 | Koordinatensystem 7 wählen |
| G59.2 | Koordinatensystem 8 wählen |
| G59.3 | Koordinatensystem 9 wählen |
| G61 | Exakter Pfadmodus (Pfadsteuerungsmodus) |
| G61.1 | Exakter Pfadmodus (Pfadsteuerungsmodus) |
| G64 | Pfadsteuerungsmodus mit optionaler Toleranz |
| G73 | Bohrzyklus mit Spanbruch |
| G76 | Mehrfachgewindeschneidzyklus (Drehbank) |
| G80 | Festzyklus abbrechen |
| G81 | Bohrzyklus |
| G82 | Bohrzyklus mit Dwell |
| G83 | Tiefbohrzyklus (Peck Drilling) |
| G85 | Ausbohrzyklus, Vorschub raus |
| G86 | Ausbohrzyklus, Spindelstopp, Schnell raus |
| G89 | Ausbohrzyklus, Dwell, Vorschub raus |
| G90 | Absoluter Dimensionsmodus |
| G91 | Inkrementeller Dimensionsmodus |
| G90.1 | Absoluter Dimensionsmodus für Bogen (I, J, K Offset) |
| G91.1 | Inkrementeller Dimensionsmodus für Bogen (I, J, K Offset) |
| G92 | Koordinatensystemversatz |
| G92.1 | Koordinatensystemversätze löschen |
| G92.2 | Koordinatensystemversätze löschen |
| G92.3 | Achsenversätze wiederherstellen |
| G93 | Inverse Zeitmodus |
| G94 | Einheiten pro Minute Modus |
| G95 | Einheiten pro Umdrehung Modus |
| G96 | Konstante Schnittgeschwindigkeit |
| G97 | Drehzahlmodus (RPM) |
| G98 | Rückzug auf Startposition (Z-Rückzug bei Festzyklen) |
| G99 | Rückzug auf R-Position (Z-Rückzug bei Festzyklen) |
M-Codes
| M-Code | Beschreibung |
|---|---|
| M0 M1 | Programmpause |
| M2 M30 | Programmende |
| M60 | Pallettenwechselpause |
| M3 M4 M5 | Spindelsteuerung |
| M6 | Werkzeugwechsel |
| M7 M8 M9 | Kühlmittelsteuerung |
| M48 M49 | Vorschub-/Spindeloverrides aktivieren/deaktivieren |
| M50 | Vorschub-Override-Steuerung |
| M51 | Spindel-Override-Steuerung |
| M52 | Adaptiver Vorschub |
| M53 | Vorschub-Stopp-Steuerung |
| M61 | Aktuelle Werkzeugnummer setzen |
| M62-M65 | Ausgangssteuerung |
| M66 | Eingangssteuerung |
| M67 | Analogausgangssteuerung |
| M68 | Analogausgangssteuerung |
| M100-M199 | Benutzerdefinierte M-Codes |
Binäre Operatoren
| Operator | Beschreibung |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
| OR | Nicht-ausschließliches Oder |
| XOR | Ausschließendes Oder |
| AND | Logisches Und |
| MOD | Modulo-Operation |
| ** | Potenzoperation |
| EQ | Gleichheit |
| NE | Ungleichheit |
| GT | Streng größer als |
| GE | Größer oder gleich |
| LT | Streng kleiner als |
| LE | Kleiner oder gleich |
Funktionen
| Funktionsname | Ergebnis |
|---|---|
| ATAN[Y]/[X] | Vierquadranten-Arkustangens |
| ABS[arg] | Absolutwert |
| ACOS[arg] | Arkuskosinus |
| ASIN[arg] | Arkussinus |
| COS[arg] | Kosinus |
| EXP[arg] | e hoch gegebene Potenz |
| FIX[arg] | Abrunden auf Ganzzahl |
| FUP[arg] | Aufrunden auf Ganzzahl |
| ROUND[arg] | Runden auf nächste Ganzzahl |
| LN[arg] | Natürlicher Logarithmus |
| SIN[arg] | Sinus |
| SQRT[arg] | Quadratwurzel |
| TAN[arg] | Tangens |
| EXISTS[arg] | Benannten Parameter prüfen |
Wortbuchstaben (Address Codes)
| Buchstabe | Bedeutung |
|---|---|
| A | A-Achse der Maschine |
| B | B-Achse der Maschine |
| C | C-Achse der Maschine |
| D | Werkzeugradiuskompensationsnummer |
| F | Vorschub |
| G | Allgemeine Funktion (siehe Modale Gruppen) |
| H | Werkzeuglängenkompensationsindex |
| I | X-Offset für Bögen und G87-Festzyklen |
| J | Y-Offset für Bögen und G87-Festzyklen |
| K | Z-Offset für Bögen und G87-Festzyklen. Spindel-Bewegungsverhältnis für G33 synchronisierte Bewegungen. |
| M | Zusatzfunktion (siehe Modale Gruppen) |
| N | Zeilenummer |
| P | Verweilzeit in Festzyklen und mit G4. Schlüssel für G10. |
| Q | Vorschubinkrement in G73, G83 Festzyklen |
| R | Bogenradius oder Festzyklusebene |
| S | Spindeldrehzahl |
| T | Werkzeugauswahl |
| U | U-Achse der Maschine |
| V | V-Achse der Maschine |
| W | W-Achse der Maschine |
| X | X-Achse der Maschine |
| Y | Y-Achse der Maschine |
| Z | Z-Achse der Maschine |
| / | Blocklöschung |
| () | Kommentare |
| ; | Kommentare |
| MSG, | Meldungen |
Häufige Fehlermeldungen
G-Code außerhalb des Bereichs
Ein G-Code größer als G99 wurde verwendet. Gültiger Bereich in LinuxCNC: 0–99. Nicht jede Zahl dazwischen ist ein gültiger G-Code.
Unbekannter G-Code verwendet
Ein G-Code wurde verwendet, der nicht Teil der LinuxCNC-G-Code-Sprache ist.
i,j,k-Wort ohne Gx zur Verwendung
i, j und k müssen in derselben Zeile wie der G-Code stehen.
Achsenwerte ohne G-Code, der sie verwendet
Achsenwerte können nicht in einer Zeile ohne modalen G-Code oder G-Code in derselben Zeile verwendet werden.
Datei endete ohne Prozentzeichen oder Programmende
Jede G-Code-Datei muss mit M2 oder M30 enden oder mit Prozentzeichen % umschlossen sein.
CNC-Maschine
- C# using-Anweisungen meistern: Importe, Aliase und statische Direktiven
- C Funktionen meistern: Benutzerdefinierte und Standardbibliothek-Grundlagen
- M-TECH: Fortschrittliches CNC-Steuerungssystem für Apollo-Fräser
- Laser-Mikrobearbeitungssysteme: Professioneller Leitfaden für die moderne Fertigung
- Drei wesentliche Lasermarkierungssysteme erklärt
- Vollständiger Leitfaden zu Haas Fräsen M-Codes: Funktionen, Einstellungen & Anwendung
- Siemens Sinumerik REPOS-Modus: Funktion und Vorteile
- Umfassender Leitfaden zu Mach3 M-Codes für CNC-Bearbeitung
- M-Code-Meisterschaft: CNC-Programmierquiz
- G-Codes meistern: CNC-Programmierquiz