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. |

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) %

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.




