Deze G - en M-codelijst omvat de codes die u daadwerkelijk typt om een CNC-freesmachine of draaibank te laten draaien: elke gangbare G-code die beweging en geometrie regelt, plus de M-codes die machinefuncties zoals de spil en koelvloeistof omschakelen Of u nu CNC-programma's leest aan de besturing of een bestand dat uw CAM-software met de hand uitspuugt, de onderstaande tabellen en voorbeelden zijn gebouwd om één enkele referentie te zijn die u open kunt houden in een tweede tabblad, dat zowel frezen als draaien omvat, en de verschillen tussen Fanuc, Haas, Siemens, GRBL en LinuxCNC.
Snelle referentie: G versus M in één oogopslag
| G-code | Voorbereidende/geometrie (vertelt de machine waar en hoe het gereedschap beweegt (G00 rapid, G01 feed, G02/G03 bogen). |
| M-code | Diversen /machine schakelaars functies aan en uit (M03 spindel aan, M08 koelvloeistof aan, M30 eindprogramma). |
| Formaat | Woordadres: N50 G01 X1.5 Z-0.75 F0.008 M08 2e letter + een getal per “word”. |
| Standaarden | Geworteld in EIA RS-274 en ISO 6983-1:2009; de open tolk waar de meeste controllers vandaan komen, is de NIST RS274/NGC spec. |
G-Code versus M-Code: wat is het verschil?

Het sorteren van elke code in een van de twee buckets is de snelste manier om een programma te lezen A G-code is een voorbereidend commando, de “G” wordt meestal uitgelegd als Geometrie, omdat deze woorden de snijder vertellen waar hij heen moet en langs welk pad. Een M-code is een diversen, of machine, commando: het draait een schakelaar ergens op de machine, zoals het starten van de spil of het aanzetten van overstromingskoelvloeistof Beide rijden binnen dezelfde woordadresgrammatica die EIA begin jaren zestig standaardiseerde voor numerieke besturing en die ISO later samenvouwde tot ISO 6983.
Hier is de praktische splitsing die u ter plekke kunt toepassen:
| Question | G-code | M-code |
|---|---|---|
| Wat controleert het? | Gereedschapsbeweging, coördinaten, interpolatie, offsets | Spindel, koelvloeistof, gereedschapswissel, programmastroom |
| Verplaatst het de assen? | Vaak wel (G00, G01, G02) | Nee |
| Is het modaal? | Velen zijn (blijven actief tot ze worden geannuleerd) | Sommige (M03/M05); velen zijn one-shot |
| Voorbeeld | G01 X2.0 F10.0 |
M08 (koelvloeistof aan) |
Er bestaan ongeveer 100 G-codes in alle dialecten, hoewel elke machine een werkset gebruikt die veel kleiner is dan die. M-codes zijn minder en veel minder consistent tussen bouwers, een punt dat de moeite waard is om vast te houden, omdat het verklaart dat het grootste deel van het programma prima werkte op de andere machine. Als je nog steeds een mentaal model van de machine zelf bouwt, onze primer op de basisprincipes van draaibank- en freesbewerking past goed bij deze codereferentie.
Hoe een G-Code Blok te lezen: Adres Letters en Syntaxis

Een regel CNC-code wordt a genoemd block, en elk blok is slechts een reeks van “words.” Elk woord is één letter (het adres) gevolgd door een getal (de waarde) Als je eenmaal weet wat de letters betekenen, kun je bijna elk blok hardop lezen We leren het aan nieuwe operators als de NG-XYZ-FSTM-regelde letters verschijnen meestal in ongeveer die volgorde, en die volgorde komt overeen met de volgorde waarin de machine denkt: regelnummer, wat voor soort beweging, waarheen, hoe snel, hoe snel te draaien, welk gereedschap en welke overschakelen naar omdraaien.
| Letter | Betekenis | Voorbeeld |
|---|---|---|
| N | Blok (regel) nummer | N50 |
| G | Voorbereidend/bewegingscommando | G01 |
| XY Z | Asstand (bestemming) | X1,5 Z-0,75 |
| IK JK | Boogcentrum, relatief om te beginnen | I0,5 J0 |
| F | Voedersnelheid | F0.008 |
| S | Spindelsnelheid | S1200 |
| T | Gereedschapsnummer | T0303 |
| M | Machinefunctie | M08 |
Lees dit blokN50 G01 X1.5 Z-0.75 F0.008 M08en er staat: “Op lijn 50, voer in een rechte lijn naar X1.5, Z-0.75 bij 0.008 per omwenteling, en zet overstromingskoelvloeistof aan.” Dat is de hele truc Diezelfde logica die een aandrijft CNC draaibank machine drijft een bewerkingscentrum aan; alleen de asletters en een handvol ingeblikte cycli veranderen.
A modal code blijft actief na zijn blok totdat iets in dezelfde groep het annuleert Command G01 blijft eens en elk volgend blok in een regel voeden totdat je G00, G02 of G03 belt Niet-modale (one-shot) codes zoals G04 dwell werken alleen op het blok waar ze verschijnen. Het mixen hiervan is de wortel van de meeste “ Waarom stortte het gereedschap snel?” neer?”.
Modale groepen: waarom sommige codes elkaar annuleren

Hier is het concept dat een lijst met codes omzet in een werkend mentaal model. G-codes zijn gesorteerd in modale groepen, en er kan maar één code van elke groep tegelijk actief zijn Bel een tweede code van dezelfde groep en deze vervangt stilletjes de eerste Dat is door het ontwerp, het is ook waarom een blok met twee bewegingscodes erin een alarm gooit Als je de groepen begrijpt, wordt de beginnersvraag beantwoord: waarom annuleert de ene G-code de andere?“
| Modal Group | Codes in de Groep | Standaard bij Power-On |
|---|---|---|
| Motion | G00, G01, G02, G03 | Meestal G00 |
| Vliegtuigselectie | G17, G18, G19 | G17 (molen), G18 (lathe) |
| Units | G20, G21 | Machine parameter |
| Afstandsmodus | G90, G91 | G90 absoluut |
| Cutter comp | G40, G41, G42 | G40 uit |
| Werkcompensaties | G54-G59 | G54 |
| Feedmodus | G93, G94, G95 | G94 (molen) |
| Ingeblikte cyclus | G73-G89, G80 annuleren | G80 uit |
Dus als je schrijft G90 G54 G17 G00 X0 Y0 bovenaan een programma stel je één code in van elk van de verschillende groepen, absolute afstand, werkverschuiving 1, XY-vlak, snelle beweging, en ze blijven allemaal vergrendeld totdat je ze verandert. Dit is wat mensen bedoelen met een “-lijn.
Volledige G-Codelijst (Gemeenschappelijke Codes G00-G99)

Hieronder is de master G-code lijst, gegroepeerd op wat elke code doet Dit zijn de codes die u ontmoet op de overgrote meerderheid van Fanuc-stijl controles; een paar hebben dialect eigenaardigheden genoteerd in de controle-vergelijking sectie Bookmark dit, het verdubbelt als de afdrukbare cheat sheet de meeste mensen zijn op zoek naar een “ codelijst pdf.”
| Code | Group | Functie |
|---|---|---|
| G00 | Motion | Snelle positionering (niet-snijdende beweging) |
| G01 | Motion | Lineaire voerbeweging tegen het F-tarief |
| G02 | Motion | Clockwise circulaire interpolatie (boog) |
| G03 | Motion | Circulaire interpolatie tegen de klok in |
| G04 | Motion | Blijf (pauze), P of X voor de tijd |
| G17 /G18 /G19 | Plane | Selecteer XY / XZ / YZ werkvlak |
| G20/G21 | Units | Inch/ millimeter programmeren |
| G28 | Motion | Terugkeer naar machine home (referentie) positie |
| G30 | Motion | Keer terug naar het 2e/3e referentiepunt |
| G40/G41 /G42 | Comp | Snijder (straal) comp off /links /rechts |
| G43/G49 | Comp | Tool-length comp op /annuleren |
| G53 | Coördinaat | Beweeg in machinecoördinaten (annuleert offset) |
| G54-G59 | Coördinaat | Werkcoördinatensystemen 1-6 |
| G73/G83 | Ingeblikt | Hoge snelheid peck / full-retract peck boren |
| G80 | Ingeblikt | Annuleer de ingeblikte cyclus |
| G81/G82 | Ingeblikt | Eenvoudige boor/boor met verblijf |
| G84 | Ingeblikt | Tikcyclus |
| G85/G86 | Ingeblikt | Saaie cycli |
| G90/G91 | Afstand | Absoluut/incrementeel programmeren |
| G93 /G94 /G95 | Feedmodus | Inverse tijd /per minuut /voeder per omwenteling |
| G96/G97 | Spindel | Constante oppervlaktesnelheid /annuleren (constant toerental) |
| G98/G99 | Ingeblikt* | Keer terug naar het initiële /R-vlak na een cyclus (molen) |
*Op veel Fanuc-draaibankbedieningen stelt G98/G99 in plaats daarvan feed-per-minute en feed-per-revolution in, een van de dialectverschillen die hieronder worden beschreven.
Volledige M-Code Lijst (Machine en Programma Functies)

M-codes verwerken alles wat geen beweging is: de spil starten en stoppen, van koelvloeistof wisselen, van gereedschap wisselen en het programma beëindigen. De algemene set is kort en je gebruikt er elke dag een tiental.
| Code | Functie | Notes |
|---|---|---|
| M00 | Programmastop (verplicht) | Druk op de cyclus begint te worden hervat |
| M01 | Optionele stop | Alleen als “optional stop” aan is |
| M02 | Einde van programma | Geen terugspoelen |
| M03/M04 | Spindel op CW / CCW | Heeft een S-waarde nodig |
| M05 | Spindelstop | — |
| M06 | Gereedschapswijziging | Paren met een T-woord |
| M07 /M08 /M09 | Nevel/vloed koelvloeistof aan, koelvloeistof eraf | M07 niet op elke machine |
| M29 | Stijve tikmodus | Fanuc; gaat vooraf aan G84 |
| M30 | Programma beëindigen en terugspoelen | Reset naar boven |
| M98/M99 | Subprogrammaoproep /retour | M99 loopt ook een programma rond |
M-codes zijn het minst gestandaardiseerde deel van de taal Koelvloeistof, pallet, en hulp-M-codes dwalen van bouwer tot bouwer, en machines met extra hardware voegen hun eigen Altijd de M-code pagina in de handleiding van uw machine controleren voordat u aanneemt dat een nummer betekent wat het betekende op de laatste controle die u hebt uitgevoerd.
G- en M-codes voor CNC-draaibanken (draaien)

De meeste gepubliceerde codelijsten zijn geschreven voor freesmachines, dus draaiende programmeurs blijven raden Draaibanken delen de kernbeweging en programmacodes, maar voegen een draaispecifieke laag toe die molens niet hebben. Als je een draaicentrum met schuin bed of plat bed laat draaien, zijn dit de codes die er toe doen.
| Draaibank Code | Functie |
|---|---|
| G50 | Maximale spilsnelheid klemmen (of coördinaat instellen, besturingsafhankelijk) |
| G96/G97 | Constante oppervlaktesnelheid op /afslag 't werkpaardpaar voor draaien' |
| G70 | Afwerkingscyclus |
| G71 | Ruw draaien (voorraadverwijdering) cyclus |
| G72 | Ruwe facing cyclus |
| G74/G75 | Pikboren/groeicycli |
| G76 | Threading-cyclus |
| G41 /G42 /G40 | Gereedschap-neus-straal comp links/rechts/uit |
Constante oppervlaktesnelheid is de groot conceptueel verschil. Oproep G96 S500 en de controle variëren spindel rpm, zodat de snijsnelheid bij het gereedschap blijft op 500 oppervlakte voet per minuut, zelfs als de diameter krimpt, precies wat u wilt voor een schone afwerking over een taps toelopend of geconfronteerd deel Schakel naar G97 S1500 om een vaste rpm te vergrendelen, die u nodig heeft voor het boren in het midden of draadsnijden Op de Fanuc-stijl bedieningselementen verzenden we op ANTISHICNC CNC-draaibank met schuin bed modellen, een ontbrekende G97 vóór een boorcyclus is een van de meest voorkomende fouten in het eerste programma die we zien, de spil blijft versnellen naarmate het gereedschap het midden nadert.
“Bij draaiwerk doet de volgorde er net zoveel toe als de codes Stel je werk offset in, dan G96 met een G50 speed clamp, dan kan je gereedschap, sla de klem over en de eerste kleine diameter pas kan proberen de spil voorbij zijn veilige limiet te laten draaien.”
Wat is G94 G-code?
G94 stelt de feed-per-minuut modus: de F-waarde wordt gelezen als eenheden (inch of millimeter) gereedschapsreizen per minuut Het leeft in de modale groep in de feedmodus naast G93 (inverse tijd) en G95 (feed per omwenteling), en op freesbedieningen is G94 de normale standaard De vangst is de draaibank: bij veel Fanuc-draaicontroles is het feed-mode-paar eigenlijk G98 (per minuut) en G99 (per omwenteling), terwijl G94/G95 kan worden toegewezen aan andere functies Draaien wil bijna altijd feed-per-revolutie, zodat de afwerking consistent blijft, ongeacht het toerental, dus de meeste draaibelprogramma's instellen G99 (systeemprogrammeercontrole, bij handmatige programmeercontrole, bij handmatige controle, bij twijfel wordt het gecontroleerd.
Ingeblikte cycli uitgelegd: boren, tikken en boren

A ingeblikte cyclus pakt een herhalende bewerking in, boren, intrekken, verplaatsen, opnieuw boren, in één lijn In plaats van elke pik met de hand te programmeren, bel je de cyclus één keer, vermeld je de gatenposities en annuleer je met G80. ze besparen tientallen lijnen en maken gatenpatronen in één oogopslag leesbaar.
- ✔G81recht boren: snel naar R-vlak, voer naar Z-diepte, snel uit.
- ✔G83pikboren: pikt in Q-stappen naar beneden, volledig terugtrekken om spanen op diepe gaten te verwijderen.
- ✔G84tikken: voedt zich in, draait de spil om, voert uit bij de draadsteek.
- ✔G85/G86saai: nauwkeurige, laag-voedingsdimensionering van een voorgeboord gat.
Een pik-boorblok ziet eruit als G83 Z-1.0 R0.1 Q0.2 F8.0boor naar Z-1.0, beginnend bij een 0.1 intrekvlak, in 0.2 pikken, bij 8 inch per minuut Vermeld uw gat XY coördinaten erna en de cyclus herhaalt zich bij elk tot G80.
Wat doet G84 in CNC?
G84 is de rechter tikcyclus Hij voert de tik naar diepte, stopt en draait de spil om, voert vervolgens weer uit, allemaal gesynchroniseerd zodat de tik zijn eigen draad volgt zonder deze te scheuren. De voedingssnelheid moet overeenkomen met de draadkabel: voeding is gelijk aan het spiltoerental vermenigvuldigd met de toonhoogte. Voor een M8×1,25 tik bij 300 tpm in de feed-per-minute-modus, dat is 300 × 1,25 = 375 mm/min. Op Fanuc-besturingen geeft u doorgaans opdracht M29 (stijve tikmodus) vlak voor G84, zodat de spil en Z-as de spindlo-spanningshouder nauwkeurig kan worden vergrendeld en vastgezette deelhouder.
Een compleet voorbeeldprogramma met G-code (molen en draaibank)

Het lezen van codes in een tabel is één ding; het zien ervan in een echt programma is waar het klikt Hier zijn twee korte, volledig becommentarieerde voorbeelden Elke regel wordt teruggezet naar de bovenstaande tabellen.
Freesvoorbeeldgezicht en boor één gat:
O1001 N10 G90 G54 G17 G21 (absoluut, offset 1, XY vlak, mm) N20 G00 X0 Y0 (snel starten) N30 T1 M06 (laadgereedschap 1) N40 S1200 M03 (spindel op CW, 1200 tpm) N50 G43 H1 Z25.0 (gereedschapsafstand offset, veilig Z) N60 M08 (vloedkoelmiddel aan) N70 G83 Z-15.0 R2.0 Q3.0 F150
Draaivoorbeeldruw en afwerking een diameter:
O2001 N10 G21 G99 G40 (mm, voeding per omwenteling, comp uit) N20 G50 S2500 (klem max spil 2500 tpm) N30 T0101 (draaigereedschap, offset 1) N40 G96 S180 M03 (constante oppervlaktesnelheid 180, spil CW) N50 G00 X52.0 Z2.0 M08 (benader voorraad, koelmiddel aan) N60 G71 U2.0 profiel R1.0 (rupsomslag over 101 G70 P0) N70
Voer het bestand vóór elke eerste run droog uit in een simulator. Gratis online G-codesimulators en kijkers vangen binnen enkele seconden een omgekeerde boog of een ontbrekende G80, veel goedkoper dan het vangen ervan met een hulpmiddel in het onderdeel. Dezelfde verificatie-eerste gewoonte geldt of u op een CNC verticaal bewerkingscentrum of een draaicentrum.
G- en M-codeverschillen per besturing: Fanuc, Haas, Siemens, GRBL, LinuxCNC

Hier is de waarheid die lijsten met één besturing verbergen: er is niet één universele G-code. Bewegingscodes (G00-G03) en de safe-startcodes blijven overal vrijwel identiek, dat onderdeel is echt standaard. Maar ingeblikte cyclusparameters, macrosyntaxis, feed-mode-toewijzingen en de meeste M-codes drijven tussen bouwers. “ is, voorbij de basis, gedeeltelijk een mythe.
| Control | Waar het verschilt |
|---|---|
| Fanuc | De de-facto basislijn; macro B-variabelen, draaibankaanvoermodus via G98/G99, M29 stijve kraan |
| Haas | Fanuc-achtig met toegevoegde Haas M-codes (bijvoorbeeld M97 lokale subcall) en instellingengestuurd gedrag |
| Siemens (SINUMERIK) | Ondersteunt G-code plus een eigen taal op hoog niveau en ShopTurn/ShopMill-stappen |
| GRBL | Een subset voor hobbyrouters en hardware van de 3D-printerklasse; geen ingeblikte cycli |
| LinuxCNC | Volgt het NIST RS274/NGC-dialect op de voet; extra G-codes voor splines en sonderen |
Machinisten rapporteren gewoonlijk dezelfde les: een programma dat op de ene besturing is bewezen, kan op de andere fout gaan of, erger nog, verkeerd werken, meestal vanwege een verschil in de feedmodus of ingeblikte cyclus in plaats van een bewegingscode. Het repareren ervan is een gewoonte, geen code, het opnieuw posten vanuit CAM voor de doelbesturing, of het programma in één blok op de daadwerkelijke machine bewijzen voordat je erop vertrouwt. De vrij gepubliceerde LinuxCNC G-code referentie is een nuttige neutrale basislijn wanneer u wilt zien hoe een “by-the-standaard”-interpreter een code definieert.
Veelvoorkomende fouten in de G-code en M-code

Codes zelf zijn eenvoudig; de fouten komen uit de context Een paar patronen zijn verantwoordelijk voor de meeste problemen die nieuwe programmeurs tegenkomen.
- Open met een veilige startlijn (G90 G54 G17 G40 G80)
- Annuleer ingeblikte cycli met G80 vóór de volgende zet
- Stel G97 in voordat u op een draaibank boort of draadsnijdt
- Enkelblok de eerste run van een nieuw programma
- G91 aan laten staan, dus het volgende programma wordt incrementeel uitgevoerd
- Ervan uitgaande dat een M-code op elke machine hetzelfde betekent
- Tikken met G84 maar vergeten M29 rigide modus
- Verkeerde boogrichting (G02 vs G03) of I/J/K-teken
Als u van handmatige bewerking naar CNC gaat, helpt het bouwen van hetzelfde instinct als met handbedieningen, de manier waarop een operator een wijzerplaat leest is dezelfde waakzaamheid digitale uitlezing (DRO) beloningen, en het wordt rechtstreeks meegenomen in het lezen van code voordat u op het starten van de cyclus drukt. Het matchen van de juiste tooling met de taak is net zo belangrijk; onze gids voor draaibank snijgereedschappen bedekt die kant.
Wat verandert: gespreksprogrammering, CAM en AI

Het met de hand schrijven van volledige programma's is niet langer de dagelijkse taak die het ooit was Vanaf 2026 wordt de meeste productie-G-code gegenereerd door CAM-software en de post-processor, en vervolgens bewerkt bij de machine. Twee ploegen zijn de moeite waard om rond te plannen.
Eerst, conversatieprogrammering blijft verspreiden Bedieningselementen zoals Haas en Siemens ShopTurn laten een operator een functie, een boring, een draad, een gezicht beschrijven, en de besturing schrijft de G-code eronder Het verlaagt de barrière voor eenvoudige onderdelen, maar vervangt niet het kennen van de codes: op het moment dat een gespreksprogramma een bewerking nodig heeft of een alarm gooit, zit je weer in de G-code. Ten tweede is simulatie eerder een standaardstap dan een luxe geworden. De zoekinteresse in G-codesimulators bedraagt bijna 1.000 opzoekingen per maand, een teken dat verifiëren-voor-knippen nu standaardpraktijk is. AI-ondersteunde gereedschapspadtools die feed- en vlagbotsingen aanpassen, arriveren in de reguliere CAM, hoewel ze wijzigingen voorstellen die nog steeds een programmeurrecensie voorstellen.
Als je in 2026 een winkel opzet of operators opleidt, is de praktische stap om eerst G-code-geletterdheid aan te leren en daarbovenop conversatie- en AI-tools als versnellers te behandelen. De basisprincipes in deze lijst zijn precies wat die tools genereren, en wat je zult lezen als iets moet worden opgelost. Om te zien hoe het programmeren van volwassenheid bijdraagt aan het kopen van een machine, ons overzicht van de metalen draaibanken bereik loopt door controlemogelijkheden.
Veelgestelde vragen
Q: Wat is het verschil tussen een G-code en een M-code?
Bekijk Antwoord
Q: Wat is de meest voorkomende G-code?
Bekijk Antwoord
Vraag: Wat betekent M-code in CNC?
Bekijk Antwoord
Vraag: Zijn de G- en M-codes op elke CNC-machine hetzelfde?
Bekijk Antwoord
Vraag: Welke G- en M-codes gebruiken CNC-draaibanken?
Bekijk Antwoord
Vraag: Waar kan ik een G- en M-codelijst PDF of cheat sheet krijgen?
Bekijk Antwoord
Een nieuw draaicentrum programmeren?
ANTISHICNC bouwt CNC draaibanken die standaard G-code in Fanuc-stijl draaien, met conversatiemogelijkheden en 3-jarige ondersteuning in 40+ landen Vertel ons uw aandeel en we zullen de juiste machine en besturing specificeren.
Waarom we deze lijst samenvoegen
We bouwen CNC-draaibanken voor de kost, en het eerste wat nieuwe eigenaren na levering vragen is een versie van “, waar is de codelijst?” De meeste referenties online coverfrezen alleen of stoppen bij één controlemerk, dus schreven we er een die molen- en draaibankcodes plaatst, waaronder de G96/G97 en G70-G76 draaicycli, onze machines draaien elke dag, op één plek, met de controleverschillen duidelijk.
Referenties en bronnen
- De NIST RS274/NGC-tolk, versie 3Nationaal Instituut voor Standaarden en Technologie (NIST)
- NIST RS274NGC Tolk, volledig rapport (PDF)NIST Intern rapport
- ISO 6983-1:2009, Automatiseringssystemen en integratie, NC-programmaformaatInternationale Organisatie voor Standaardisatie
- LinuxCNC G-Code Snelle referentieLinuxCNC.org
- G-codeWikipedia (overzicht en geschiedenis van RS-274)
Gerelateerde artikelen
- De basisprincipes van draaibank- en molenbewerking begrijpenhoe de machines waarop deze codes draaien ook daadwerkelijk werken
- Essentiële draaibank snijgereedschappen voor beginnershet juiste gereedschap koppelen aan uw draaiende programma
- CNC verticale draaibankmachines uitgelegddraaien van onderdelen met grote diameter
- Projecten die u kunt maken met draaibankenuw programma's aan het werk zetten
Beoordeeld door het ANTISHICNC engineering team, 25+ jaar CNC draaibanken en bewerkingscentra bouwen Heeft u een vraag over het programmeren van een van onze machines? Praat met ons engineeringteam.













