G-code en M-code beheersen bij CNC-verspaning

Published on:
8 oktober 2024
Laatst gewijzigd:
15 juli 2025
Expert in het maken van mallen en precisieproductie
Gespecialiseerd in spuitgieten, CNC-verspaning, geavanceerde prototypes en integratie van materiaalwetenschappen.
g code m code uitgelichte afbeelding
Inhoudsopgave

CNC heeft fabricage naar een hoger niveau getild door fabrikanten de middelen te geven om een hoge nauwkeurigheid, snelheid en flexibiliteit te bereiken bij het maken van complexe onderdelen. G-codes en M-codes zijn de twee codes in het hart van elk CNC-programma die de vele bewerkingen aansturen die een bepaalde machine kan uitvoeren. Daarom is het cruciaal voor machinisten en CNC-programmeurs om onderscheid te maken tussen G-code en M-code voor een goede werking van de machine.

In dit artikel bespreken we enkele van de meest voorkomende G- en M-codes, hoe ze werken in een typisch CNC-programma en waarom ze cruciaal zijn voor productie.

G-code in CNC programmeren

De G-code is voornamelijk de Geometrische Code. Het is de meest voorkomende vorm van programmeren voor CNC's. Het vertelt de machine hoe hij moet bewegen, bijvoorbeeld in een rechte lijn, in een cirkelvormige beweging of met een voedingssnelheid.

In wezen vertellen G-codes de CNC-machine waar het gereedschap moet worden geplaatst en hoe het gereedschap zich moet verhouden tot het werkstuk op basis van beweging.

Elke G-code heeft een bepaalde actie of beweging in een CNC machine, en een reeks van deze G-codes wordt in een bepaalde volgorde uitgevoerd om een bepaalde taak te volbrengen. Hoewel G-code programmeren in eerste instantie werd ontwikkeld voor NC-machines, blijven de principes ervan fundamenteel voor moderne CNC-verspaning.

Algemene G-codes en hun functies

Laten we een aantal van de meest essentiële G-codes voor CNC-bewerking op een rijtje zetten:

1. G00: Snelle positionering

De G00-functie instrueert de machine om het gereedschap snel naar een opgegeven coördinaat te verplaatsen zonder te snijden. Dit wordt meestal gebruikt om het gereedschap naar een startpositie te verplaatsen voordat het bewerken begint of om een gereedschapswissel voor te bereiden. Dit is een van de snelste bewegingen die de machine kan maken.

2. G01: Lineaire interpolatie

De opdracht G01 bestuurt de beweging van het snijgereedschap langs een rechte lijn met een bepaalde aanvoersnelheid. Dit wordt vaak gebruikt voor precieze snijbewerkingen, waarbij de aanzet langzamer is dan bij snel positioneren, waardoor een grotere nauwkeurigheid mogelijk is.

3. G02: circulaire interpolatie rechtsom

Met de code G02 wordt het gereedschap opgedragen zich met de klok mee te verplaatsen. Dit wordt meestal gebruikt als het werkstuk cirkelvormige sneden of afgeronde hoeken moet hebben.

4. G03: circulaire interpolatie tegen de klok in

Net als G02 verplaatst G03 het gereedschap in een cirkelbaan tegen de klok in. Met G02 en G03 kunnen machinisten complexe gebogen vormen en profielen maken.

5. G04: verblijf

De opdracht G04 laat de machine een bepaalde tijd pauzeren of stilstaan. Dit is handig als het snijgereedschap zijn positie moet vasthouden, zoals wanneer de spindel een stabiele snelheid bereikt of wanneer er gewacht wordt tot de koelvloeistof effect heeft.

6. G17, G18 en G19: Vlakkeuze

Deze codes selecteren het geometrische vlak waarin de machine zal werken:

  • G17: Selecteert het XY-vlak.
  • G18: Selecteert het XZ-vlak.
  • G19: Selecteert het YZ-vlak. Dit is essentieel bij meerassig bewerken om ervoor te zorgen dat het gereedschap binnen de juiste ruimtelijke parameters beweegt.

7. G43: Lengtecompensatie gereedschap

De G43-code compenseert de lengte van het gereedschap, zodat de machine tijdens het bewerken rekening kan houden met verschillende gereedschapsmaten. Zonder dit zou gereedschap van verschillende lengte onnauwkeurigheden kunnen veroorzaken bij het bewerken.

Lijst van G-codes

G-codeGroepBetekenis
G0001*Snelle beweging
G0101Lineaire interpolatiebeweging
G0201CW interpolatiebeweging
G0301Linksom draaiende interpolatiebeweging
G0400Wonen
G0900Exacte stop
G1000Programmeerbare gegevensinvoer
G1100Programmeerbare gegevensinvoer annuleren
G1517*Polaire coördinaten annuleren
G1617Polaire coördinaat
G1702*XY-vlakselectie
G1802ZX vlakke selectie
G1902YZ-vlakke selectie
G2006*Selecteer inches
G2106Selecteer metrisch
G2800Terugkeren naar referentiepunt
G2900Terugkeren van referentiepunt
G3000Terug naar 2en ,3rd,4th referentiepunt
G3100Doorvoeren tot overslaan
G3301Inrijgen
G4007*Snijdercompensatie annuleren
G4107Snijdercompensatie links
G4207Snijdercompensatie rechts
G4308Lengtecompensatie gereedschap +
G4408Lengtecompensatie gereedschap -
G4908*G43/G44 annuleren
G5011*G51 annuleren
G5111Schalen
G5200Lokaal coördinatensysteem instellen
G5300Niet-modale selectie van machinecoördinaten
G5414*Selecteer werkcoördinatensysteem 1
G5514Selecteer werkcoördinatensysteem 2
G5614Selecteer werkcoördinatensysteem 3
G5714Selecteer werkcoördinatensysteem 4
G5814Selecteer werkcoördinatensysteem 5
G5914Selecteer het werkcoördinatensysteem 6
G6000Positionering in één richting
G6115Exacte stop modaal
G6415*G61 annuleren
G6500Macro-oproep
G6816Rotatie
G6916*G68 annuleren
G7309Snelle pikboorcyclus
G7409Linkshandige tikcyclus
G7609Fijnboren ingeblikte cyclus
G8009*Cyclus in blik annuleren
G8109Boorcyclus
G8209Puntboorcyclus
G8309Normale boorcyclus
G8409Tapcyclus
G8509Boorcyclus
G8609Boorcyclus met spilstop
G8709Terug saaie cyclus
G8809Boorcyclus
G8909Boor- en verblijfcyclus
G9003*Absoluut
G9103Incrementeel
G9200Werkcoördinaten instellen
G9405*Toevoer per minuut
G9505Aanvoer per omwenteling
G9613Constante oppervlaktesnelheid
G9713*Constante oppervlaktesnelheid annuleren
G9810*Beginpunt terugkeer
G9910R vlakke terugkeer

Lijst van G-codes in draaibank

G-codeGroepBetekenis
G12.121*Poolcoördinaten interpolatie annuleren
G13.121Interpolatie van polaire coördinaten
G7000Afwerkingscyclus
G7100Verspaning bij draaien
G7200Voorraadverwijdering in facing
G7300Patroon herhalende cyclus
G7400Cyclus van eindvlakboren
G7500Snijdcyclus in lengterichting
G7600Meervoudige draadsnijcyclus
G8310Cyclus voor vlakboren
G8410Cyclus voor face tapping
G8510Cyclus voor gezichtsboor
G8710Cyclus voor zijboren
G8810Cyclus voor zijwaarts aftappen
G8910Cyclus voor zijboren
G9805*Toevoer per minuut
G9905Aanvoer per omwenteling

Wat is M-code in CNC programmeren?

Waar G-codes de machinebewegingen specificeren, besturen M-codes of overige codes de hulpbewerkingen van de machine. Dit omvat de koelvloeistof, het in- en uitschakelen van de spindel en het stoppen wanneer een programma is voltooid. M-codes fungeren als schakelaars die machineonderdelen in- of uitschakelen wanneer dat nodig is.

Net als G-codes zijn M-codes essentieel voor soepele CNC-bewerkingen, vooral als het gaat om niet-snijdende activiteiten die nog steeds van cruciaal belang zijn voor het bewerkingsproces.

Algemene M-codes en hun functies

Laten we eens kijken naar enkele veelgebruikte M-codes bij CNC-verspaning:

1. M00: Programmastop

De M00-code onderbreekt de uitvoering van het huidige programma. In tegenstelling tot een noodstop stopt de machine op een gecontroleerde manier en kan de operator het programma handmatig hervatten wanneer hij klaar is.

2. M03: Spindel aan (rechtsom)

De M03 opdracht zet de spil met de klok mee aan. Het wordt meestal gecombineerd met een "S"-commando dat het spiltoerental specificeert, waardoor het een fundamenteel commando voor machinale bewerking is.

3. M05: Spilstop

Deze code stopt de spindel onmiddellijk met draaien. Hij wordt vaak gebruikt voor gereedschapswissels of aan het einde van een bewerking.

4. M06: Gereedschap wisselen

De M06-code is essentieel voor het automatisch wisselen van gereedschap tijdens het bewerkingsproces. Wanneer de machine deze opdracht ontvangt, zoekt ze het nieuwe gereedschap op dat in het programma is opgegeven (T-waarde) en installeert het.

5. M08: koelvloeistof aan

Deze code schakelt het koelvloeistofsysteem in, wat essentieel is om zowel het gereedschap als het werkstuk op temperatuur te houden tijdens het snijden voor een soepele werking en een langere levensduur van het gereedschap.

6. M09: koelvloeistof uit

De opdracht M09 schakelt de koelmiddelstroom uit, wat vaak gebruikt wordt als de bewerking klaar is of tijdens een gereedschapswissel.

Lijst van M-codes

M-codeBetekenis
M00Programma stoppen
M01Optionele programmastop (optioneel)程序选择停止)
M02Einde programma
M03Spindel vooruit
M04Spindel omkeren
M05Spindelstop
M06Gereedschap wisselen
M07Koelvloeistof AAN (nevel)
M08Koelvloeistof AAN (overstroming)
M09Koelvloeistof UIT
M19Spindel oriënteren
M30Programma-einde en terugspoelen
M31Spanentransporteur vooruit
M32Spanentransporteur achteruit
M33Spanentransportbandstop
M34Positie koelmiddeltuit verhogen
M35Positie koelvloeistofaansluiting verlagen
M36Pallet draaien
M39Gereedschapskop draaien
M41Lage versnelling
M42Versnelling inschakelen
M50Palletwissel uitvoeren
M82Gereedschap ontklemmen
M86Gereedschapsklem
M88Door de spindelkoelvloeistof AAN
M89Door de spindelkoelvloeistof UIT
M95Slaapstand
M96Springen indien geen invoer
M97Lokale subprogramma-oproep
M98Subprogramma-oproep
M99Subprogramma terugkeer of lus

Verschillen tussen G-codes en M-codes

Hoewel zowel G-codes als M-codes van vitaal belang zijn voor CNC-programmering, vervullen ze heel verschillende functies:

  • G Codes: Besturen voornamelijk de geometrische bewegingen van de machine. Ze bepalen hoe de bewerkingsmachine moet bewegen - langs een rechte lijn, bocht of boog.
  • M Codes: Extra machinebewerkingen uitvoeren waarbij het snijgereedschap niet fysiek wordt verplaatst. Dit omvat het starten en stoppen van de spindel, gereedschapswissels en koelmiddelcontrole.

Terwijl G-codes het eigenlijke snijproces beheren, zijn M-codes net zo belangrijk om ervoor te zorgen dat de machine efficiënt werkt, zodat gereedschapsovergangen en bewerkingswisselingen soepel verlopen.

Het belang van G- en M-codes bij CNC-verspaning

Zoals eerder vermeld, zijn G-code en M-code beide betrokken bij het CNC-bewerkingsproces en spelen ze hun rol bij de productie van de onderdelen. Beide codes werken samen om ingewikkelde productietaken te automatiseren en te besturen voor een nauwkeurige en herhaalbare productie van onderdelen door CNC-machines.

Dit is belangrijk voor machinisten en programmeurs die de code moeten begrijpen. Hoewel de meeste programmering geautomatiseerd is in moderne CAD/CAM-software, G-code en M-code zijn nog steeds vereist, met name bij aangepaste aanpassingen of handmatige programmering.

Dit is waarom.

1. Efficiëntie en nauwkeurigheid

CNC machines kunnen complexe ontwerpen snel en nauwkeurig uitvoeren met de juiste G-code programmering. Nauwkeurige gereedschapsbewegingen, aangestuurd door G-codes, resulteren in minder materiaalverspilling, kortere bewerkingstijden en een hogere productiviteit.

2. Flexibiliteit

Omdat M-codes machinefuncties bedienen, zoals het verwisselen van gereedschap en de koelvloeistofstroom, kunnen CNC machines door hun bestaan veel taken zelf uitvoeren. Dit maakt CNC machines veelzijdig, zodat ze alles kunnen maken van eenvoudige onderdelen tot onderdelen voor de ruimtevaart.

3. Automatisering

Over het algemeen komen G-code en M-code samen in de kunst van het CNC-programmeren, waardoor een volledig automatisch bewerkingsproces mogelijk wordt. Op deze manier kan een geschreven en vervolgens geladen programma de machine complexe taken laten uitvoeren met minimale supervisie, zodat de operator zich kan bezighouden met andere productiegebieden.

CNC Programmeren: Handmatige versus CAM-gegenereerde G-codes

Conventioneel schrijven machinisten de G-codes regel voor regel. Deze methode vereist uitgebreide kennis van het gedrag van de machine en de kleinste details van het bewerkte onderdeel.

Maar met hulpmiddelen zoals CAM of Computer-Aided Manufacturing, kunnen machinisten nu de G-code van het ontwerpmodel door automatisering, waardoor programmeren eenvoudiger wordt.

Hoewel de CAM-software het genereren van codes versnelt en de kans op fouten verkleint, blijven handmatige programmeervaardigheden van cruciaal belang voor het nauwkeurig afstellen van bewerkingen of het oplossen van problemen aan de lijn tijdens de productie.

4 veelgemaakte fouten in CNC-programmering en hoe G- en M-codes ze helpen voorkomen

Zelfs met geavanceerde CAM-software die het grootste deel van de programmering genereert, kunnen er nog steeds fouten optreden bij het CNC-programmeren. Hoewel ze vaak voorkomen, kunnen deze fouten leiden tot defecte onderdelen, machineschade, verspilling van materiaal of zelfs ongevallen in de werkplaats.

Laten we eens kijken naar enkele veelvoorkomende CNC-programmeerfouten en de rol die G- en M-codes spelen bij het aanpakken van elke fout.

1. Onjuiste lengtecompensatie gereedschap (G43)

Een van de meest voorkomende problemen bij CNC-programmering is een onjuiste compensatie van de gereedschapslengte. Elk gereedschap in een CNC machine heeft een unieke lengte en wanneer de machine schakelt tussen gereedschappen, moet dit verschil worden gecorrigeerd om de snijnauwkeurigheid te behouden.

Als de opdracht G43 niet juist is ingesteld, kan het zijn dat de machine zich niet aanpast aan de lengte van het gereedschap, wat leidt tot onnauwkeurigheden in de snedediepte en mogelijk het werkstuk vernielt.

Stel bijvoorbeeld dat het programma overschakelt naar een langer gereedschap zonder die extra lengte te compenseren. Als gevolg daarvan kan het gereedschap te diep in het materiaal snijden, waardoor het onderdeel en mogelijk ook het gereedschap zelf beschadigd raken.

Resolutie

Als er fouten optreden door een onjuiste lengtecompensatie van het gereedschap, controleer dan opnieuw de G43-functie en controleer of de juiste offset wordt gebruikt. Om de kans op menselijke fouten verder te verkleinen, kunt u gereedschapinstelapparatuur gebruiken die de gereedschapslengte automatisch meet en registreert.

2. Veiligheidsblokkades over het hoofd zien

Een veiligheidsblok is een reeks inleidende opdrachten die ervoor moeten zorgen dat de machine in een veilige en bekende toestand start voordat de eigenlijke bewerking begint. Veiligheidsblokken kunnen spilstops omvatten, freescompensatie annuleren, het juiste vlak selecteren en de machine op veilige coördinaten positioneren.

Als het programma deze veiligheidsregel niet aan het begin bevat, kan de machine onder onverwachte of onjuiste omstandigheden gaan werken, wat kan leiden tot crashes, gereedschapbreuk of zelfs letsel.

Als er bijvoorbeeld tijdens een vorige bewerking op een andere diepte moest worden gezaagd en het veiligheidsblok ontbreekt, kan de machine doorgaan op de oude diepte, wat kan leiden tot botsingen met opspanmiddelen of klemmen.

Resolutie

Als een veiligheidsblok ontbreekt of onjuist is ingesteld, herzie dan het programma om essentiële G- en M-codes op te nemen die de machine op standaard zetten voordat er grote bewegingen of bewerkingen worden uitgevoerd.

Start het programma altijd met een goed geconstrueerd veiligheidsblok om correcte machine-instellingen te garanderen en crashes te voorkomen.

3. Onjuiste voedingssnelheid (G01)

De voedingssnelheid wordt gedefinieerd als de snelheid waarmee het snijgereedschap rond het werkstuk beweegt. Het instellen van de verkeerde aanvoersnelheid kan tot verschillende problemen leiden.

Als de voedingssnelheid bijvoorbeeld te hoog is, zal dit leiden tot gereedschapbreuk, oververhitting of zelfs onnauwkeurigheid in het onderdeel omdat er te veel kracht wordt uitgeoefend op het snijoppervlak.

Als de aanzet daarentegen te laag is, verloopt de bewerking niet efficiënt. De cyclustijd zal ook langer zijn en de oppervlakteafwerking zal slecht zijn omdat het gereedschap zal wrijven in plaats van snijden.

Stel nu dat de voedingssnelheid te laag is bij precisiebewerking. Dit leidt tot materiaalophoping aan de snijkant, waardoor de kwaliteit van het bewerkte oppervlak verslechtert en de slijtage van het gereedschap toeneemt.

Resolutie

Als er een onjuiste aanzet is ingesteld, kan het probleem worden opgelost door deze aan te passen via de F-code in de opdracht G01.

CAM-software kan automatisch de ideale aanzet berekenen op basis van de materiaaleigenschappen en de geometrie van het gereedschap, maar handmatige aanpassingen kunnen nog steeds nodig zijn voor fijnafstelling. Controleer de aanzet altijd tijdens de eerste run van het programma.

4. Niet passende G- en M-codes

Elk blok CNC-code bevat meestal één G-code en één M-code. Het gebruik van meerdere G- of M-codes in één blok kan de machine in verwarring brengen, omdat deze niet weet welke opdracht prioriteit moet krijgen, wat kan resulteren in onverwacht gedrag.

Als bijvoorbeeld commando's als G02 (circulaire interpolatie rechtsom) en G01 (lineaire interpolatie) in hetzelfde blok worden gecombineerd, kan dit ertoe leiden dat de machine de bedoelde beweging niet correct uitvoert.

Daarnaast ontstaan er problemen wanneer conflicterende M-codes samen worden gebruikt. Als bijvoorbeeld M03 (spindel rechtsom) wordt gecombineerd met M05 (spindelstop) in dezelfde regel, kan de machine in verwarring raken over het starten of stoppen van de spindel, wat leidt tot een inconsistente werking.

Resolutie

Als niet overeenkomende codes de oorzaak zijn van een storing in de machine, moet het programma worden herzien om conflicterende codes te scheiden in afzonderlijke blokken. Zorgvuldig proeflezen van de code voordat deze op de machine wordt uitgevoerd helpt om potentiële conflicten in een vroeg stadium op te sporen.

Conclusie

Tegenwoordig vormen G-code en M-code de kern van CNC-bewerkingsprocessen. Daarom is inzicht in G-code en M-code essentieel voor het maken van zowel CAM-software als handmatige code. Op deze manier kunt u CNC machines efficiënter en nauwkeuriger bedienen.

Nu de technologie achter de CNC machines zich blijft ontwikkelen, blijft het beheersen van deze fundamentele codes een van de belangrijkste middelen om het volledige potentieel van CNC bewerkingen te ontsluiten.

Heb je nog vragen? Neem contact op met onze ervaren ontwerpers en fabrikanten op FirstMold.

James Li is een productie-expert met meer dan 15 jaar ervaring in het maken van matrijzen en spuitgieten. Bij First Mold leidt hij complexe NPI- en DFM-projecten en helpt hij honderden wereldwijde producten van idee tot massaproductie. Hij zet moeilijke technische problemen om in betaalbare oplossingen en deelt zijn knowhow om inkopers het inkopen in China gemakkelijker te maken.
Deel dit artikel:
Tags
Reacties

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

nl_NLNL