Handleiding met voorbeeldcode voor CNC-freesbewerkingen (G-code) voor geverifieerde G-code.

Publicatiedatum: 18-01-2026
Update datum: 18-01-2026
Voorbeeldconcept van G-code voor CNC-frezen
Facebook
Twitter
LinkedIn

Inhoudsopgave

Codevoorbeelden voor CNC-frezen zijn alleen bruikbaar als ze expliciete machinetoestanden, consistente werkcoördinaten en een verificatiepad bevatten. Bij Yonglihao Machinery gebruiken we dagelijks G-code voor metaalfreesdiensten. We hebben vastgesteld dat de meeste fouten in 'eenvoudige code' het gevolg zijn van verborgen aannames in plaats van ontbrekende commando's. Dit artikel richt zich op herbruikbare G-codevoorbeelden voor frezen, waarbij veiligheid prioriteit krijgt boven lange commandowoordenboeken.

Ons doel is simpel: u moet een voorbeeld kunnen kopiëren, een paar parameters kunnen aanpassen en de veiligheid kunnen controleren voordat de frees het materiaal raakt. We richten ons op freescodes en vermijden draaibankonderwerpen of macroprogrammering. Omdat de programmeertalen van controllers verschillen, dient u de code altijd te controleren aan de hand van de handleiding en de standaardinstellingen van uw machine.

CNC-freesstructuur

Een betrouwbaar G-code-programma stelt eenheden, vlakken, afstandsmodi en werkoffsets in voordat de beweging begint. De meeste besturingen voeren programma's van boven naar beneden uit. Veel instellingen zijn modaal, wat betekent dat de laatst actieve modus van kracht blijft totdat deze wordt gewijzigd. Daarom moeten voorbeelden de vereiste modi expliciet instellen in plaats van te vertrouwen op de status van het vorige programma.

Programmaheaders bevatten doorgaans begin-/eindmarkeringen, programmanummers en opmerkingen die de bedoeling aangeven. Regelnummers zijn optioneel, maar helpen om fouten snel op te sporen. Opmerkingen zijn vooral nuttig bij het vermelden van meetbare instelgegevens, zoals de keuze van het werkcoördinatensysteem (WCS) en de streefwaarden voor veilige Z-hoogte.

Werkverplaatsingen definiëren de relatie tussen machinenul en werkstuknul. Freesprogramma's gebruiken doorgaans G54-G59. Bewegingen in machinecoördinaten (vaak G53) verwijzen naar machinenul, waardoor dezelfde waarden andere bewegingen opleveren dan G54-commando's. Beschouw alle verwijzingen naar machinecoördinaten als controllerspecifiek en controleer ze op de doelmachine.

Code

Wat het regelt bij het frezen

Wat we controleren voordat we het gebruiken

G20 / G21

Eenheden (inches versus mm)

Stel de eenheden bij de start in om te voorkomen dat standaardwaarden worden overgenomen.

G17

Actief vlak voor bogen/cycli

Het vlak moet overeenkomen met de beoogde beweging.

G90 / G91

Absolute versus incrementele modus

Stel de modus expliciet in voordat u bewegingen positioneert.

G54–G59

Werkcoördinatensysteem

WCS moet overeenkomen met het gemeten onderdeel nul.

G00

Snelle positionering

Controleer de vrije ruimte in de Z-richting; snelle routes zijn mogelijk niet recht.

G01

Lineaire aanvoerbeweging

De voedingssnelheid moet overeenkomen met de instelling en de inschakeling van het gereedschap.

G02 / G03

Circulaire interpolatie

De boogvorm en het vlak moeten overeenkomen met de taal van de controller.

G40-G42

Compensatie voor de snijradius

Correcte introductiestrategie en beloningsregister.

G43 / G49

Gereedschapslengtecompensatie

Het H-nummer moet overeenkomen met de gemeten lengteafwijking.

G80

Voorgeprogrammeerde programma's annuleren

Annuleer actieve cycli vóór ongerelateerde bewegingen.

G28

Terug naar referentie/homepage

Controleer het tussentijdse gedrag en de coördinaten.

M03-M05

Spindelbesturing

De richting en snelheid moeten overeenkomen met het bewerkingsproces van het gereedschap.

M06

Gereedschapswissel

Bevestig het gereedschapsnummer en de offsettoewijzing.

M08 / M09

Koelvloeistofregeling

De modus moet aansluiten bij de materiaal- en behuizingsvereisten.

M30

Einde van het programma

Ken het gedrag aan het einde van het programma en stel de verwachtingen bij.

Modale toestanden en programma-instelstroom voor frees-G-code

Risky Motion: Veelvoorkomende misvattingen over G-code

Veilige freescode faalt wanneer deze uitgaat van een bewegingspad of -toestand die niet gegarandeerd is. Beginners beschouwen G00 vaak als een rechte lijn. Sommige besturingen voeren echter snelle bewegingen uit met een beweging in de asrichting, waardoor er bochten ontstaan. Programma's moeten controleren of er voldoende Z-speling is voordat snelle XY-bewegingen in de buurt van klemmen komen. U moet ook weten of uw machine bochten of rechte lijnen gebruikt.

Eenheden en vliegtuigen vormen een andere valkuil. De besturingselementen behouden hun vorige status als je ze niet aan het begin instelt. Plaats G20/G21 en G17 bovenaan, zodat eerdere taken je waarden niet ongemerkt herinterpreteren.

G28-thuisbewegingen worden ook vaak verkeerd begrepen. De opgegeven coördinaten kunnen een tussenpunt definiëren waar het gereedschap doorheen gaat op weg naar de thuispositie. Een veilige aanpak is om eerst de Z-as terug te trekken tot een bekende speling, en vervolgens de XY-as te bewerken. De meeste werkplaatsen combineren G91 met G28. Dit definieert het tussenpunt als een incrementele beweging (afstand nul) in plaats van een absolute sprong. Controleer nieuwe patronen altijd eerst met een proefloop.

Freescodetypen: Veilige G-codepatronen

Hergebruik is het gemakkelijkst wanneer het codetype overeenkomt met uw intentie en risicoprofiel. Onthoud geen codes; kies een basisstructuur met verifieerbare aannames. We groeperen voorbeelden op basis van bewegingspatroon en veiligheidseisen.

Facing Pass: Referentieoppervlakstrategie

Vlakfrezen werkt het beste als eerste programma. Het leert een veilige Z-aanloop, aansturing van de voeding en voorspelbare terugtrekkingen. Deze programma's vereisen expliciete eenheden, WCS, gereedschapslengtecompensatie en conservatieve spelingstrategieën. Het belangrijkste herbruikbare element is het padpatroon (rechthoek of zigzag), niet specifieke voedingswaarden.

2D Contour: Basisprincipes van omtreksnijden

Contourvoorbeelden illustreren "gesloten geometrie" en modale voedingseffecten. U moet controleren of de code de gereedschapshartlijn of de geometrie van het werkstuk programmeert (G41/G42). Onjuiste aannames kunnen de uiteindelijke afmetingen beïnvloeden. Booghoeken vereisen aandacht, omdat de boogformaten verschillen per besturingsdialect.

Pocketfrezen: Controle van het opruimen van holtes

Hergebruik pocket-voorbeelden alleen wanneer de instapbewegingen gecontroleerd zijn en de Z-afstanden expliciet zijn. Storingen komen vaak voort uit agressieve duikbewegingen of het missen van veilige Z-bewegingen tussen passages. Pocket-programma's tonen vaak inefficiëntie aan, omdat luchtbewegingen en intrekkingen de cyclustijd domineren.

Sleuffrezen: Stabiele betrokkenheidsregels

Sleufbewerkingen leren je hoe je de bewegingen onder controle houdt. Het veiligste patroon maakt gebruik van een voorspelbare ingang en duidelijke regels voor snelle en langzame bewegingen. Sleufbewerkingen bevinden zich vaak in de buurt van klemmen, waardoor een snelle beweging in de Z-richting cruciaal is om botsingen met de opspaninrichting te voorkomen.

Boorpatroon: Veiligheid van de ingeblikte cyclus

Bij boorvoorbeelden wordt herhalende code vervangen door cycli. Het gedrag van cycli verschilt echter per besturingselement. Veilige voorbeelden zijn onder andere G80-annulering en expliciete interpretatie van het R-vlak/Z-diepte. Als uw besturingselement de syntaxis niet ondersteunt, kunt u terugvallen op expliciete G00/G01-blokken.

Bewerkbaar voorbeeld: Geverifieerde CNC-freesparameters

Publiceerbare voorbeelden moeten coördinaten consistent definiëren. Ze mogen alleen bewerkbare parameters tonen die de veiligheid niet in gevaar brengen. De onderstaande code snijdt een vierkant van 50 mm tot een diepte van 2 mm met behulp van absolute millimeters. Het WCS-oorsprongspunt is X0 Y0 in de linkerbenedenhoek van het vierkant op het bovenvlak.

% O1001 (VIERKANT CONTOURVOORBEELD 50X50 - MM, ABS, G54) (Aannames ter verificatie: G54 nul in de linkerbenedenhoek van het vierkant; Z0 op het bovenvlak) (Lengtecompensatie gereedschap 1 opgeslagen in H01; aanpassen indien uw werkplaats H-nummer anders toewijst) N10 G21 G17 G90 G40 G49 G80 (Eenheden, vlak, afstand, compensaties/cycli annuleren) N20 T1 M06 (Gereedschap 1 wisselen) N30 G54 (Werkstukcompensatie selecteren; niet vertrouwen op vorige taak) N40 S2000 M03 (Spindel met de klok mee) N50 M08 (Koelvloeistof aan indien gebruikt) N60 G00 X-2.0 Y-2.0 (Start 2 mm buiten het vierkant) N70 G43 H01 Z15.0 (Lengtecompensatie gereedschap, veilige Z) N80 G00 Z5.0 (Aanloop) boven het oppervlak) N90 G01 Z-2.0 F100.0 (Induiken tot diepte) N100 G01 X52.0 Y-2.0 F300.0 (Kant 1) N110 G01 X52.0 Y52.0 (Kant 2) N120 G01 X-2.0 Y52.0 (Kant 3) N130 G01 X-2.0 Y-2.0 (Kant 4, sluiten) (Voorbeeld gebruikt één volledige dieptepassage; pas de stap-down en klim-/conventionele richting aan uw gereedschap en materiaal aan) N140 G00 Z15.0 (Terugtrekken) N150 M09 (Koelvloeistof uit) N160 M05 (Spindelstop) N170 G91 G28 Z0 (Z-home patroon - controleer op uw besturing; gebruik incrementele modus) N180 G91 G28 X0 Y0 (XY-home patroon - houd G91 expliciet voor de duidelijkheid) N185 G90 (Herstel absolute modus voor het volgende programma) N190 M30 (Einde programma) %
Concept van veilige bewerkingszones voor een voorbeeld van CNC-freescode
Concept van veilige bewerkingszones voor een voorbeeld van CNC-freescode

Resetlijnen: Essentiële veiligheidsmodi

Een veilige "resetlijn" voorkomt dat modi worden overgenomen van eerdere uitvoeringen. Eenheden, vlakken, afstandsmodi en offsets zijn de minimale instellingen om ambiguïteit te verminderen. Eenheden vereisen speciale aandacht, omdat besturingselementen vaak de vorige status behouden, tenzij ze expliciet worden gereset.

Element resetten

Waarom het in de freescode voorkomt

Wat we op de machine controleren

G21

Krachtmetriek interpretatie

Standaard machine-eenheden en overervingsrisico.

G17

Lijnt bogen/cycli uit met het XY-vlak.

Gedrag van de controllerboog/cyclusvlak.

G90

Koppelt coördinaten aan WCS-nulpunt

Annuleert later tijdelijk incrementeel gebruik.

G54

Selecteert expliciete werkcompensatie

Het onderzochte onderdeel nul komt overeen met de gekozen WCS.

G40 / G49

Maakt lengte/radius-comp

Indeling van het compensatieregister.

G80

Annuleert boorcycli

Controlespecifiek gedrag van de ingeblikte cyclus.

Het bewegingsgedeelte scheidt snelle positionering van het snijden van de voeding. Snelle bewegingen zijn riskanter in de buurt van opspaninrichtingen. Omdat G00-bewegingen mogelijk niet perfect recht zijn, moet de Z-speling worden ingesteld vóór elke snelle XY-beweging.

Bewerkbare parameters: De code aanpassen

Parameter die u kunt bewerken

Welke veranderingen treden op in het resultaat?

Wat moet eerst worden gecontroleerd?

Vierkant formaat

Profiel voltooid en goedgekeurd

WCS nulpuntlocatie en signaleringsconventies.

Diepte (Z-2.0)

Snijdiepte

Z0-referentie (bovenvlak versus referentievlak).

Veilige Z (Z15 / Z5)

Ruimte boven klemmen

Hoogste obstakel en gereedschapslengte.

Voedingssnelheden

Snijbelasting en afwerking

Gereedschapstype, inschakeling en stijfheid.

Spindelsnelheid

Chipbelasting en geluid

Diameter van het gereedschap en materiaaleigenschappen.

Controlelijst voor verificatie: Veiligheidsmaatregelen vóór het snijden

Een herhaalbare verificatieprocedure zorgt ervoor dat tekst wordt vertaald naar een veilige beweging. Begin met te controleren of de besturing het verwachte WCS (bijv. G54) weergeeft en of de weergegeven eenheden overeenkomen met de programma-instellingen. Controleer vervolgens of het geselecteerde gereedschapsnummer overeenkomt met het gereedschapslengtecompensatienummer (H-nummer). Afwijkingen hier kunnen aanzienlijke Z-verschuivingen veroorzaken.

Test de beweging zonder te snijden met behulp van de modi "enkel blok" en "aanvoer vasthouden". Houd het gereedschap op een veilige Z-positie. Observeer de eerste snelle beweging om te controleren of er geen bochten in de klemmen voorkomen.

Test de duiklogica om er zeker van te zijn dat het programma het materiaal geleidelijk afvoert in plaats van er met een ruk in te duiken. Controleer ten slotte het gedrag van de G28-eindpositie. Tussenpunten en coördinaten variëren per besturingseenheid, dus controleer uw specifieke terugkeerpatroon.

Storingen oplossen: G-codefouten identificeren

Effectieve probleemoplossing koppelt symptomen aan verifieerbare machinetoestanden. Veel fouten met betrekking tot "verkeerde onderdelen" komen voort uit eenheden, WCS of offsets in plaats van geometrische commando's. Gebruik een momentopname van de toestand (actief WCS, eenheden, gereedschapsnummers) om modale restanten te detecteren.

Symptoom

Wat we eerst controleren

Typische correctieactie

Onjuiste afstand/schaal

Eenhedenstatus (G20 versus G21)

Voeg expliciete eenheden toe aan het begin; controleer opnieuw.

Onjuiste locatie

Actieve WCS (G54–G59)

Bevestig de G54-selectie opnieuw; voer een nieuwe meting uit.

Onverwachte incrementele

Afstandsmodus (G90 versus G91)

Herstel G90 voordat u de blokken plaatst.

Snelle klappen klem

G00-pad en Z-vrijgave

Dwing Z-omhoog af vóór XY-snel.

Onjuiste Z-diepte

Gereedschapslengtecomp (H-nummer)

Correct gebruik van H-nummers en offsets.

Onveilige terugkeer naar huis

G28 intermediair gedrag

Scheid de Z-home; controleer de besturingssemantiek.

Conclusie

Een voorbeeld van CNC-freescode is afhankelijk van de aannames. Freesaannames hebben betrekking op machinetoestanden, coördinatenkeuzes en verificatie. Beschouw geleende voorbeelden als sjablonen om te testen. Begin met het resetten van de modus, een consistent WCS (Working Control System) en proefdraaien die een veilige beweging garanderen voordat er gesneden wordt. Het voorbeeld en de tabellen hier maken die workflow snel en overzichtelijk. Ze voorkomen een uitgebreide commando-encyclopedie.

Om een voorbeeld aan te passen aan een echt onderdeel, vraagt u om de besturingsdialect, de WCS-methode, de gereedschapslijst met offsets en de opspanafstanden. Deze gegevens zetten een generiek voorbeeld om in een conceptprogramma. CNC-bewerkingsdiensten.Ze richten hun bewerkingen op verifieerbare variabelen, niet op gissingen.

Veelgestelde vragen

Wat maakt een voorbeeld van CNC-freescode "veilig om opnieuw te gebruiken" voor verschillende projecten?

Een voorbeeld van een freesbewerking die veilig hergebruikt kan worden, reset kritieke modi en toestanden. Het freest niet alleen de juiste vorm. De code stelt de eenheden, het vlak, de afstandsmodus en het WCS in en annuleert cycli en compensaties voordat de positionering nabij het werkstuk plaatsvindt. Er kunnen verschillen in de besturingseenheid van toepassing zijn. Hergebruik vereist een korte verificatie op de doelmachine.

Moet een freesprogramma altijd beginnen met een veiligheids-/resetlijn?

Een veiligheids-/resetlijn voorkomt dat modi worden overgenomen van eerdere programma's. Het risico op storingen is hoog omdat de besturingselementen eerdere toestanden behouden zonder expliciete instellingen. Beschouw een resetlijn als basislijn. Pas deze aan aan de bedrijfsnormen en het gedrag van de controller.

Wat is het praktische verschil tussen G-codes en M-codes in freesprogramma's?

G-codes sturen beweging en geometrie aan. M-codes sturen functies aan zoals spindel, koelvloeistof, gereedschapswisseling en programma-einde. Een voorbeeld van een freescode vereist beide voor een volledig programma. Lijsten en gedrag variëren per besturingselement. Beschouw de referenties als richtlijnen, niet als garanties.

Waarom kan een snelle G00-beweging gevaarlijker zijn dan een snijdende beweging?

Een snelle beweging maakt gebruik van de maximale snelheid van de machine. Bij sommige machines kan dit rechte stukken overslaan. Snelle bewegingen over meerdere assen creëren een bochtbeweging dichter bij de klemmen dan de eindpunten doen vermoeden. Controleer de Z-speling voordat u een snelle XY-beweging uitvoert in de buurt van obstakels.

Is het altijd veilig om de G28 "terug naar huis"-functie vanuit een ander programma te kopiëren?

Kopieer G28 pas nadat u het gedrag en de coördinaten van het tussenliggende punt op uw controller hebt gecontroleerd. Sommige controllers gebruiken punten om het risico op botsingen te verkleinen. De veiligste configuratie hangt af van de armatuur en de besturing. Gebruik een proefdraai en een enkel blok om dit te controleren.

Gebruiken alle CNC-machines dezelfde G-code commando's en betekenissen?

G-code-dialecten verschillen per besturingseenheid. Sommige ondersteunen verschillende methoden of subsets. Een lijst met commando's is een referentie, geen contract. Controleer de voorbeelden van freescode aan de hand van de machinehandleiding en de gangbare werkwijzen.

Wanneer moet een freesprogramma G53 gebruiken in plaats van G28?

G53 gebruikt alleen machinecoördinaten voor dat blok. Het slaat G90/G91 of tussenliggende punten zoals G28 over. Gebruik het bij voorkeur voor veilige machineposities. Controleer de positie met een proefdraai om te voorkomen dat de opspaninrichting geraakt wordt.

Scroll naar boven