FANUC-Maschinencodes: Kurzreferenz
Diese Anleitung dient als Kurzreferenz für gängige Adresscodes und Anweisungen in FANUC-CNC-Programmen. Prüfen Sie vor der Programmierung einer realen Maschine das Handbuch des Maschinenherstellers, die Systemparameter und die örtlichen Sicherheitsvorgaben. Einige M-Codes und Makrofunktionen werden vom Maschinenhersteller individuell angepasst.
G-Codes (vorbereitende Funktionen)
G-Codes legen vorbereitende Bearbeitungsfunktionen fest, etwa Bewegungen, Koordinatenmodi, Einheiten, Korrekturen und feste Zyklen. Die meisten G-Codes sind modal: Sie bleiben aktiv, bis ein anderer Code derselben Gruppe sie ersetzt.
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
G00 | Positionierung im Eilgang | G00 X100. Y50.: Werkzeug im Eilgang zur angegebenen Position bewegen |
G01 | Linearinterpolation | G01 Z-5. F100: mit dem programmierten Vorschub geradlinig bis Z-5. bearbeiten |
G02 | Kreisinterpolation im Uhrzeigersinn | G02 X50. Y0 I25. J0: Kreisbogen im Uhrzeigersinn bearbeiten |
G03 | Kreisinterpolation gegen den Uhrzeigersinn | G03 X50. Y0 R25.: Kreisbogen gegen den Uhrzeigersinn mit Radius 25 bearbeiten |
G04 | Verweilzeit | G04 P1000: etwa 1 Sekunde warten; die Einheit hängt von den Systemparametern ab |
G09 | Genauhaltprüfung | G09 G01 X50.: vor Satzende abbremsen und exakt anhalten |
G10 | Programmierbare Dateneingabe | G10 L2 P1 X0 Y0 Z0: Daten des Werkstückkoordinatensystems schreiben |
G17 | XY-Ebene auswählen | Üblich beim Fräsen, Bohren und bei Kreisinterpolation in der XY-Ebene |
G18 | ZX-Ebene auswählen | Üblich beim Drehen oder bei Kreisinterpolation in der ZX-Ebene |
G19 | YZ-Ebene auswählen | Üblich bei Kreisinterpolation in der YZ-Ebene |
G20 | Maßeinheit Zoll | G20: nachfolgende Maße als Zoll interpretieren |
G21 | Metrische Maßeinheit | G21: nachfolgende Maße als Millimeter interpretieren |
G27 | Referenzpositionsprüfung | Prüfen, ob die aktuelle Position der Referenzposition entspricht |
G28 | Rückkehr zur Referenzposition | G91 G28 Z0: Z-Achse über einen Zwischenpunkt zur Maschinenreferenz zurückführen |
G29 | Rückkehr von der Referenzposition | Üblicherweise zusammen mit G28 verwendet |
G30 | Rückkehr zur zweiten/dritten/vierten Referenzposition | G30 P2 Z0: zur angegebenen Referenzposition zurückkehren, häufig für Werkzeugwechsel |
G31 | Skip-Funktion / Messfahrt mit Skip-Signal | Häufig für Messungen mit Messtastern oder Auslösung durch Skip-Signale verwendet |
G40 | Fräserradiuskorrektur aufheben | G40 G01 X0 Y0: Bewegung nach Aufhebung der Korrektur |
G41 | Fräserradiuskorrektur links | Links von der Bearbeitungsrichtung korrigieren; benötigt eine D-Korrekturnummer |
G42 | Fräserradiuskorrektur rechts | Rechts von der Bearbeitungsrichtung korrigieren; benötigt eine D-Korrekturnummer |
G43 | Positive Werkzeuglängenkorrektur | G43 H01 Z50.: Werkzeuglängenkorrektur H01 aktivieren |
G44 | Negative Werkzeuglängenkorrektur | Seltener verwendet; Längenkorrektur in negativer Richtung anwenden |
G49 | Werkzeuglängenkorrektur aufheben | G49: aktive Längenkorrektur aufheben |
G50 | Koordinatensystem einstellen / Spindeldrehzahl begrenzen | Drehmaschinen verwenden häufig G50 S3000 zur Begrenzung der maximalen Spindeldrehzahl |
G52 | Lokales Koordinatensystem einstellen | G52 X10. Y0: lokales Koordinatensystem vorübergehend verschieben |
G53 | Positionierung in Maschinenkoordinaten | G53 G00 Z0: Positionierung im Eilgang in Maschinenkoordinaten |
G54 | Werkstückkoordinatensystem 1 | G54: erstes Werkstückkoordinatensystem auswählen |
G55 | Werkstückkoordinatensystem 2 | G55: zweites Werkstückkoordinatensystem auswählen |
G56 | Werkstückkoordinatensystem 3 | G56: drittes Werkstückkoordinatensystem auswählen |
G57 | Werkstückkoordinatensystem 4 | G57: viertes Werkstückkoordinatensystem auswählen |
G58 | Werkstückkoordinatensystem 5 | G58: fünftes Werkstückkoordinatensystem auswählen |
G59 | Werkstückkoordinatensystem 6 | G59: sechstes Werkstückkoordinatensystem auswählen |
G61 | Genauhaltmodus | Am Ende jedes Bearbeitungssatzes auf Genauhalt prüfen |
G64 | Bearbeitungsmodus / kontinuierlicher Bahnmodus | Soweit möglich fließend zwischen Sätzen fahren und Unterbrechungen reduzieren |
G65 | Makroaufruf | G65 P9000 A10. B20.: Makroprogramm O9000 aufrufen |
G66 | Modaler Makroaufruf | Angegebenes Makro in nachfolgenden Sätzen aufrufen, bis G67 es aufhebt |
G67 | Modalen Makroaufruf aufheben | G67: modalen Makroaufruf G66 aufheben |
G68 | Koordinatendrehung | G68 X0 Y0 R45.: Koordinaten um den angegebenen Punkt drehen |
G69 | Koordinatendrehung aufheben | G69: aktive Koordinatendrehung aufheben |
G73 | Hochgeschwindigkeits-Tiefbohrzyklus | G73 X0 Y0 Z-20. Q2. F100: Tiefbohren mit kurzen Rückzugsbewegungen |
G74 | Linksgewinde- / Rückwärts-Gewindebohrzyklus | Genaue Funktion für das Maschinenmodell und dessen Parameter prüfen |
G76 | Feinbohr- / Gewindeschneidzyklus | Bei Bearbeitungszentren meist Feinbohren, bei Drehmaschinen häufig ein mehrstufiger Gewindeschneidzyklus |
G80 | Festen Zyklus aufheben | G80: Bohr-, Gewindebohr-, Ausdreh- und andere feste Zyklen aufheben |
G81 | Bohrzyklus | G81 X0 Y0 Z-10. R2. F100: Standardbohren |
G82 | Bohrzyklus mit Verweilzeit | G82 X0 Y0 Z-10. R2. P500 F100: am Bohrungsgrund verweilen |
G83 | Tiefbohrzyklus | G83 X0 Y0 Z-30. R2. Q5. F80: schrittweises Bohren zur Spanabfuhr |
G84 | Gewindebohrzyklus | G84 X0 Y0 Z-15. R2. F1.5: Rechtsgewinde bohren |
G85 | Ausdrehzyklus | Zustellung und Rückzug mit Vorschub |
G86 | Ausdrehzyklus | Spindel am Bohrungsgrund stoppen, anschließend im Eilgang zurückziehen |
G87 | Rückwärts-Ausdrehzyklus | Häufig zum Rückwärtsausdrehen; Maschinenunterstützung prüfen |
G88 | Ausdrehzyklus | Am Bohrungsgrund verweilen und Spindel stoppen; manuell oder nach vorgegebenem Verfahren zurückziehen |
G89 | Ausdrehzyklus | Nach Verweilzeit am Bohrungsgrund mit Vorschub zurückziehen |
G90 | Absolute Koordinatenprogrammierung | G90 G00 X100.: absolute Position im Koordinatensystem anfahren |
G91 | Inkrementelle Koordinatenprogrammierung | G91 G00 X10.: relativ zur aktuellen Position um 10 bewegen |
G92 | Koordinatensystem einstellen / Gewindeschneidzyklus | Bedeutung abhängig von System und Dreh-/Fräsanwendung; Handbuch prüfen |
G94 | Vorschub pro Minute | G94 F200: Vorschub von 200 mm/min |
G95 | Vorschub pro Umdrehung | G95 F0.2: Vorschub von 0.2 mm/rev der Spindel |
G96 | Konstante Schnittgeschwindigkeit | Üblich bei Drehmaschinen: G96 S180 stellt 180 m/min ein |
G97 | Konstante Schnittgeschwindigkeit aufheben / feste Drehzahl | G97 S1200: feste Spindeldrehzahl von 1200 rpm einstellen |
G98 | Zyklusrückkehr zum Anfangspunkt | Zur Anfangsebene beim Start des Zyklus zurückkehren |
G99 | Zyklusrückkehr zum R-Punkt | Am Zyklusende zur R-Ebene zurückkehren |
M-Codes (Hilfsfunktionen)
M-Codes steuern Hilfsaktionen wie Spindeldrehung, Kühlmittel, Werkzeugwechsel, Programmstopps und Spannvorgänge. Maschinenhersteller erweitern oder definieren M-Codes häufig neu; richten Sie sich vor Ort nach dem Maschinenhandbuch.
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
M00 | Programmhalt | Bedingungslos anhalten; mit Cycle Start fortsetzen |
M01 | Optionaler Halt | Nur anhalten, wenn der Schalter für optionalen Halt am Bedienfeld aktiviert ist |
M02 | Programmende | Programm beenden, normalerweise ohne Rückkehr zum Anfang |
M03 | Spindelvorwärtslauf | S1200 M03: Vorwärtslauf mit 1200 rpm |
M04 | Spindelrückwärtslauf | S800 M04: Rückwärtslauf mit 800 rpm |
M05 | Spindelstopp | Aktuelle Spindeldrehung stoppen |
M06 | Automatischer Werkzeugwechsel | T01 M06: Werkzeug 1 auswählen und Werkzeugwechsel durchführen |
M08 | Kühlmittel ein | Kühlschmierstoff- / Kühlmittelpumpe einschalten |
M09 | Kühlmittel aus | Kühlmittel ausschalten |
M10 | Spannen / verriegeln | Häufig zum Spannen einer Vorrichtung, vierten Achse oder eines Spannfutters; maschinenabhängig |
M11 | Lösen / entriegeln | Häufig zum Lösen einer Vorrichtung, vierten Achse oder eines Spannfutters; maschinenabhängig |
M13 | Spindelvorwärtslauf und Kühlmittel ein | Häufig gleichbedeutend mit M03 + M08 |
M14 | Spindelrückwärtslauf und Kühlmittel ein | Häufig gleichbedeutend mit M04 + M08 |
M19 | Spindelorientierung | Vor Werkzeugwechsel, Rückzug beim Ausdrehen oder positionierter Bearbeitung orientieren |
M30 | Programmende und Rücksetzen | Programm beenden und normalerweise zum Anfang zurückkehren |
M48 | Vorschub- / Spindel-Override aktivieren | Override-Schalter zulassen; Systemparameter prüfen |
M49 | Vorschub- / Spindel-Override deaktivieren | Override-Einstellungen ignorieren; Systemparameter prüfen |
M60 | Palettenwechsel | Gängiger APC-Palettenwechsel bei Bearbeitungszentren; konfigurationsabhängig |
M98 | Unterprogrammaufruf | M98 P1000 L2: Unterprogramm O1000 zweimal aufrufen |
M99 | Unterprogrammrückkehr / Schleife | Aus einem Unterprogramm zum Hauptprogramm zurückkehren; kann im Hauptprogramm eine Schleife bilden |
T-Codes (Werkzeuge)
T-Codes geben Werkzeugnummern und Korrekturnummern an oder lösen einen Werkzeugwechsel aus. Bearbeitungszentren und Drehmaschinen verwenden häufig sehr unterschiedliche Formate.
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
T01 | Werkzeug 1 auswählen | Bearbeitungszentren verwenden häufig T01 M06 für einen automatischen Werkzeugwechsel |
T12 | Werkzeug 12 auswählen | T12 M06: Werkzeug 12 aus dem Magazin aufrufen |
T0101 | Werkzeugnummer + Korrekturnummer | Gängiges Drehmaschinenformat: Die ersten beiden Ziffern wählen das Werkzeug, die letzten beiden die Korrektur |
T0100 | Werkzeug aufrufen und Korrektur aufheben | Bei Drehmaschinen bleibt häufig die Werkzeugnummer erhalten, während die Korrektur aufgehoben wird |
T0000 | Werkzeug / Korrektur aufheben | Bei Drehmaschinen wird häufig der aktive Werkzeugkorrekturzustand aufgehoben |
S-Codes (Spindel)
S-Codes legen die Spindeldrehzahl oder den Sollwert einer konstanten Schnittgeschwindigkeit fest, meist zusammen mit M03, M04, G96 oder G97.
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
S1200 | Spindeldrehzahl einstellen | S1200 M03: Spindelvorwärtslauf mit Sollwert 1200 rpm |
S800 | Niedrigere Drehzahl einstellen | S800 M04: Spindelrückwärtslauf mit Sollwert 800 rpm |
G97 S1500 | Modus mit fester Drehzahl | Konstante Schnittgeschwindigkeit aufheben und Spindeldrehzahl auf 1500 rpm setzen |
G96 S180 | Modus mit konstanter Schnittgeschwindigkeit | Üblich bei Drehmaschinen; Schnittgeschwindigkeit auf 180 m/min setzen |
G50 S3000 | Maximale Spindeldrehzahl begrenzen | Höchstdrehzahl beim Drehen mit konstanter Schnittgeschwindigkeit begrenzen |
F-Codes (Vorschub)
F-Codes legen den Bearbeitungsvorschub fest. Die Vorschubeinheiten hängen von Modi wie G94 und G95 ab.
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
F100 | Vorschubwert einstellen | G01 Z-5. F100: Vorschub 100 im aktuellen Vorschubmodus |
G94 F200 | Vorschub pro Minute | Übliche Einheit: mm/min, beispielsweise 200 mm/min |
G95 F0.2 | Vorschub pro Umdrehung | Übliche Einheit: mm/rev, beispielsweise 0.2 mm pro Spindelumdrehung |
G01 X50. F150 | Linearer Bearbeitungsvorschub | Zusammen mit Bearbeitungsbewegungen wie G01, G02 und G03 verwendet |
G00 | Eilgang wird nicht durch F gesteuert | Die Eilganggeschwindigkeit wird normalerweise durch Maschinenparameter und Overrides gesteuert |
Koordinaten und gängige Adresswörter
Adresswörter liefern Koordinaten, Radien, Korrekturnummern, Zyklusparameter oder Makroargumente für G/M/T/S/F-Anweisungen.
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
X | X-Achsenkoordinate | X100.: X-Achse auf oder um 100 bewegen |
Y | Y-Achsenkoordinate | Y50.: Y-Achse auf oder um 50 bewegen |
Z | Z-Achsenkoordinate | Z-10.: Z-Achse auf oder um -10 bewegen |
A | A-Drehachse | Normalerweise eine vierte Achse, die um X dreht |
B | B-Drehachse | Dreht normalerweise um Y |
C | C-Drehachse | Dreht normalerweise um Z |
U | Inkrementelle X-Adresse | Üblich bei Drehmaschinen; gibt ein Inkrement in X-Richtung an |
V | Inkrementelle Y-Adresse | Gibt ein Inkrement in Y-Richtung an; Verfügbarkeit konfigurationsabhängig |
W | Inkrementelle Z-Adresse | Üblich bei Drehmaschinen; gibt ein Inkrement in Z-Richtung an |
I | X-Versatz des Kreismittelpunkts | In G02 X50. Y0 I25. J0 ist I der X-Versatz des Kreismittelpunkts |
J | Y-Versatz des Kreismittelpunkts | In G03 X0 Y50. I0 J25. ist J der Y-Versatz des Kreismittelpunkts |
K | Z-Versatz des Kreismittelpunkts | Üblich für Kreisbögen in der ZX-/YZ-Ebene |
R | Bogenradius / R-Punkt eines festen Zyklus | G03 X50. Y0 R25.; R2. bezeichnet die Rückzugsebene beim Bohren |
P | Verweilzeit / Programmnummer / Parameter | G04 P1000; M98 P1000 ruft ein Unterprogramm auf |
Q | Zustelltiefe / Bohrschritt | G83 Z-30. Q5.: pro Bohrschritt um 5 bohren |
D | Nummer der Fräserradiuskorrektur | G41 D01: Radiuskorrektur D01 anwenden |
H | Nummer der Werkzeuglängenkorrektur | G43 H01 Z50.: Längenkorrektur H01 anwenden |
L | Wiederholungszahl / Parameterauswahl | M98 P1000 L3: Unterprogramm 3-mal wiederholen |
N | Satznummer | N100 G01 X50.: Satznummer erleichtert das Auffinden von Code |
O | Programmnummer | O1000: nummeriertes Programm definieren oder aufrufen |
Gängige Kombinationen
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
G21 G17 G40 G49 G80 G90 | Sichere Initialisierung eines Bearbeitungszentrums | Metrisch, XY-Ebene, Radius-/Längenkorrekturen und Zyklen aufheben, Absolutmodus |
G54 G00 X0 Y0 | Koordinaten auswählen und im Eilgang positionieren | Nach Auswahl von G54 im Eilgang zum Werkstücknullpunkt fahren |
T01 M06 | Zu Werkzeug 1 wechseln | Gängiges Werkzeugwechselformat bei Bearbeitungszentren |
S1200 M03 | Spindelvorwärtslauf | 1200 rpm einstellen und Vorwärtslauf starten |
G43 H01 Z50. | Werkzeuglängenkorrektur aktivieren | H01 anwenden und auf die sichere Höhe Z50. fahren |
M08 / M09 | Kühlmittel ein / aus | Kühlmittel zu Beginn der Bearbeitung einschalten und am Ende ausschalten |
G91 G28 Z0 | Z-Achse zur Referenz zurückführen | Häufig für Rückzug und Referenzfahrt; Risiken des Inkrementalmodus beachten |
M05 M30 | Spindel stoppen und Programm beenden | Gängige Kombination am Programmende |
Anwendungshinweise
| Code | Bedeutung | Beispiel / Hinweise |
|---|---|---|
G00 | Eilgangbewegungen können Kollisionen verursachen | Beim ersten Durchlauf Einzelsatz, Trockenlauf und reduzierten Override verwenden |
G90 / G91 | Absolut- / Inkrementalmodus prüfen | Besonders wichtig bei Referenzfahrten, Bearbeitung von Anordnungen und Makros |
G54-G59 | Werkstückkoordinatensysteme prüfen | Vor der Bearbeitung Nullpunkt, Vorrichtung, Korrekturen und Programm prüfen |
M-Codes | Häufig vom Hersteller angepasst | Für Spannen, Spanabfuhr, Druckluft, Türverriegelungen usw. das Maschinenhandbuch konsultieren |
T / H / D | Werkzeuge und Korrekturen aufeinander abstimmen | Werkzeug-, Längen- und Radiuskorrekturnummern mit den eingebauten Werkzeugen abgleichen |

