G-kode - betinget navngivning af programmeringssproget for enheder med numerisk kontrol (CNC). Skabt af Electronic Industries Alliance i begyndelsen af 1960'erne . Den endelige udvikling blev godkendt i februar 1980 som RS274D-standarden. ISO - udvalget godkendte G-koden som ISO 6983-1:2009, USSR State Committee for Standards - som GOST 20999-83 [1] . I sovjetisk teknisk litteratur omtales G-koden som ISO 7-bit-koden (ISO 7-bit), dette skyldes, at G-koden blev kodet på et 8-spors hulbånd i ISO 7'en. -bit-kode (designet til at repræsentere CNC-information i form af en maskinkode på samme måde som AEG- og PC8C-koderne), det ottende spor blev brugt til paritet.
Producenter af CNC-systemer bruger som regel maskinstyringssoftwaren, som behandlingsprogrammet er skrevet til (af operatøren), som meningsfulde kontrolkommandoer, bruger G-kode som en grundlæggende delmængde af programmeringssproget og udvider den efter eget skøn [ 2] .
G-Code er også standardsproget, der bruges af mange 3D-printermodeller til at styre udskrivningsprocessen. GCODE-filer kan åbnes med forskellige 3D-udskrivningsprogrammer såsom Simplify3D, GCode Viewer og også med en teksteditor, fordi deres indhold er almindelig tekst.
Et program skrevet ved hjælp af G-kode har en stiv struktur. Alle kontrolkommandoer er kombineret i rammer - grupper bestående af en eller flere kommandoer. Blokken afsluttes med et linjeskift (CR/LF) karakter og kan eventuelt have et eksplicit tal, der starter med bogstavet N, bortset fra den første programblok og kommentarer. Dette tal er i det væsentlige en blokmærke og behøver ikke at være stigende i programmet eller være fortløbende heltal, det er vigtigt, at tallet ikke gentages i programmet, for eksempel er det tilladt:
... N200 G0 n100x0 x5y4 ...I de fleste moderne kodefortolkere er det acceptabelt at bruge små og store bogstaver i programkoden, som i eksemplet.
Mellemrum i rammelinjen ignoreres, så rammekommandoerne kan skrives sammen.
Den første (og i nogle tilfælde også den sidste) ramme indeholder kun ét valgfrit <%>-tegn. Programmet afsluttes med kommandoerne M02 eller M30.
Programkommentarer er sat i parentes. Kommentaren kan placeres både i en separat linje og hvor som helst i rammen blandt kommandoerne. Det er ikke tilladt at markere flere linjer omgivet af et par parenteser som kommentar.
Elementære kommandoer i hver ramme udføres samtidigt, så rækkefølgen af kommandoerne i rammen er ikke nøje specificeret, men det antages traditionelt, at de forberedende kommandoer specificeres først (f.eks. valget af cirkulær interpolationsplan, hastigheder af bevægelse langs akserne osv.), derefter indstillingen af bevægelsens koordinater, derefter valgbehandlingstilstande og teknologiske kommandoer.
Det maksimale antal elementære kommandoer og koordinattildelinger i en ramme afhænger af den specifikke tolk af maskinstyringssproget, men for de fleste populære tolke (kontrolstativer) overstiger det ikke 6.
Koordinater angives ved at angive aksen efterfulgt af den numeriske værdi af koordinaten. Heltals- og brøkdelen af koordinattallet er adskilt med et decimaltegn. Det er acceptabelt at udelade ubetydelige nuller eller tilføje dem. Også i langt de fleste fortolkere er det acceptabelt ikke at tilføje et decimaltegn til heltal. For eksempel: Y0.5 og Y.5, Y77, Y77. og Y077.0.
Der er såkaldte modale og ikke-modale kommandoer. Modale kommandoer ændrer nogle parametre/indstillinger, og denne indstilling påvirker alle yderligere udførte blokke i programmet, indtil de ændres af den næste modale kommando eller annulleres. Modale kommandoer omfatter f.eks. værktøjshastigheder, spindelhastighedskontrol, kølevæskeforsyning osv. Ikke-modale kommandoer er kun effektive inden for deres indholdsblok. Ikke-modale kommandoer omfatter for eksempel spindelacceleration og decelerationskommandoer.
Maskinens kodefortolker (kontrolstativ) husker værdien af de indtastede parametre og indstillinger, indtil de ændres af den næste modale kommando, eller den tidligere indtastede modale kommando annulleres, så det er ikke nødvendigt at angive i hver ramme, f.eks. , værktøjets hastighed.
Sproget tillader flere udførelse af en én gang registreret sekvens af kommandoer og værktøjsbevægelser, kaldet fra forskellige dele af programmet, for eksempel skæring af mange huller i et arkemne med den samme komplekse kontur, placeret forskellige steder i den fremtidige del. I dette tilfælde beskriver kroppen af subrutinen værktøjets bane til at skære et hul, og programmet kalder gentagne gange subrutinen fra forskellige steder. I subrutinens krop er værktøjsbevægelser angivet i relative koordinater - koordinater, der beskriver værktøjsbanen ved bearbejdning af et hul, overgangen til et relativt koordinatsystem (nogle gange kaldes et sådant koordinatsystem <inkremental>) udføres af G91. kommando i begyndelsen af subrutinelegemet, og tilbagevenden til det absolutte koordinatsystem ved G90-kommando er i slutningen af subrutineteksten. I et inkrementelt system fortolkes kommandoer til værktøjsbevægelser som trin, for eksempel:
g90 x5 ( tildeling af absolut koordinatsystem, efter udførelse af denne blok bliver maskinens x-koordinat 5 ) g91 x10 ( inkrementel koordinatsystemtildeling, efter udførelse af denne blok bliver maskinens x-koordinat 15 ) x-15 ( efter udførelse af denne blok vil X-aksens maskinkoordinat blive 0, da det inkrementelle koordinatsystem specificeret af den modale kommando g91 stadig er i kraft )Subrutinens krop skal beskrives før kommandoen til programmets afslutning - M30, men det er tilladt at lokalisere subrutinen efter kommandoen M02 - programmets afslutning og have et navn, der starter med bogstavet O med cifre på subrutinenummeret, for eksempel O112. I slutningen af subrutinens brødtekst placeres kommandoen for at vende tilbage til hovedprogrammet, M99.
I programmet kaldes subrutinen af M98-kommandoen, hvilket angiver den obligatoriske parameter for subrutinenavnet P. Det er ikke tilladt at matche navnene på underrutinerne i det samme program. Eksempel på subrutineopkald O112: M98 P112 . Når du kalder en subrutine, er det muligt at angive antallet af subrutinekald ved at tilføje en valgfri parameter L, for eksempel at kalde subrutine 112 to gange: M98 P112 L2 , hvilket f.eks. kan være nyttigt, når du skal beskrive udførelsen af den anden efterbehandling gennemløb efter første skrubning. Hvis parameteren L udelades, kaldes subrutinen én gang.
Kontrolsoftwaren på nogle maskiner eller nogle G-kodefortolkere tillader at subrutiner kaldes af linjenummeret (blok) i programmet, til dette bruges M97-kommandoen med P-parameteren, der angiver linjenummeret (label), for eksempel, M97 P321 L4 - kalder subrutinen, der starter fire gange, mærket N321. Den således dannede underrutine skulle som sædvanlig ende med M99-instruktionen - en tilbagevenden til det kaldende program.
Indlejring af subrutiner er tilladt, det vil sige, at en anden subrutine kan kaldes fra en subrutine. Det maksimale antal tilladte indlejringsniveauer afhænger af implementeringen af den bestemte G-kodefortolker.
Et eksempel på et program til at skære 2 rektangulære huller 10 × 20 mm, forøget med diameteren af endefræseren, med koordinaterne for de nederste venstre hjørner af hullerne x=57, y=62 og x=104, y=76 i et pladeemne 5 mm tykt med et opkald til en subrutine, der beskriver skæring af et hul ... (Programafsnit) G00 X57 Y62 (X, Y-positionering til 1. hul) M98 P112 (Skæring af 1. hul) G00 X104 Y76 (X, Y-positionering til 2. hul) M98 P112 (Skæring af 2. hul) ... M02 (slut på programmet) ... (Subrutinelegeme) O112 (Subrutinemærkat nummer 112) G00 Z1 (Fremføringsværktøj 1 mm over overfladen af emnet ved tomgang) G01 F40 Z-5.5 (Værktøjet dykker ned til en dybde på -5,5 mm i emnet med en hastighed på 40 mm /min) G91 (Skift til relativt koordinatsystem, i dette system X=0, Y=0 først) G01 F20 X10 (Klip 1. side af rektangel med 20 mm/min) Y20 (Skær 2. side af rektangel med hastighed 20 mm/min. ) X-10 (Skæring af 3. side af et rektangel med en hastighed på 20 mm/min. Da det inkrementale koordinatsystem er aktiveret, angives returneringen af værktøjet til startpunktet før subrutinekaldet som et koordinatinkrementer, her -10.) Y -20 (Skær 4. side af rektangel med 20 mm/min) G90 (Skift til absolut koordinatsystem, gendan aktuelle koordinater til relative system) G00 Z5 (Høj værktøj 5 mm over emnets overflade ved tomgang) M99 (Vend tilbage til opkaldsprogrammet eller subrutinen) ... M30 (Slut på den fortolkede programkode. Efter udførelse af denne kommando sættes bloknummermarkøren til 1. linje i programmet, og programafviklingen stopper)De vigtigste (kaldet forberedende i standarden) sprogkommandoer begynder med bogstavet G (en forkortelse for ordet General ):
Koder | Beskrivelse |
---|---|
G00-G03 | Værktøjspositionering |
G17-G19 | Skift af arbejdsplan (XY, ZX, YZ) |
G20-G21 | Ikke standardiseret |
G40-G44 | Størrelseskompensation af forskellige dele af værktøjet (længde, diameter) |
G53-G59 | Skiftende koordinatsystemer |
G80-G85 | Bore-, bore-, tappecyklusser |
G90-G91 | Skiftende koordinatsystemer (absolut, relativ) |
Hold | Beskrivelse | Eksempel |
---|---|---|
G00 [3] | Hurtig bevægelse af værktøjet (tomgang). Et tørt træk interpolerer IKKE nødvendigvis træk lineært på samme måde som en G01- kommando . I nogle fortolkere, når der udføres en bevægelseskommando langs flere akser på samme tid, behandles bevægelsen langs akserne med maksimal hastighed, så lineær bevægelse fra startpunktet til slutpunktet er ikke tilvejebragt, så du kan ikke foretage delbearbejdningsbevægelser når denne modale kommando er i kraft. | G0 X0 Y0 Z100. |
G01 | Lineær interpolation, modal kommando. Værktøjet (arbejdslegemet) bevæger sig langs et lige linjestykke fra startpunktet med koordinater, indtil kommandoen udføres til punktet med de koordinater, der er angivet i kommandoen, bevægelseshastigheden er angivet her eller tidligere af modalkommandoen F. I denne tilfælde er bevægelseshastigheden relateret til bevægelseshastighederne langs akserne som
— koordinere intervaller mellem rammer; - hastigheder langs akserne. |
G01X0. Y0. Z100. F200. |
G02 | Cirkulær interpolation med uret, modal kommando. Værktøjet bevæger sig langs en cirkelbue i urets retning fra startpunktet med koordinater, indtil kommandoen udføres til et punkt med koordinaterne angivet i kommandoen, bevægelseshastigheden er specificeret i denne kommando ved parameter F, radius af buen er specificeret ved parameter R, eller ved at specificere koordinaterne for buens centrum med parametrene I - (centerforskydning langs X-aksen i forhold til den initiale X-koordinat), J - (centerforskydning langs Y-aksen i forhold til initial Y-aksen) koordinat), K - (centerforskydning langs Z-aksen i forhold til den oprindelige Z-koordinat) i forhold til værktøjets begyndelseskoordinater. For at specificere det plan, hvor cirkulær interpolation skal udføres, skal planet for cirkulær interpolation først specificeres (i samme eller i en anden foreløbig blok) med den modale kommando G17 (XY-plan), eller G18 (XZ-plan), eller G19 (YZ-plan). Bevægelseshastigheden er angivet af den modale F-kommando. | G02 G17 X15. Y15. R5. F200. eller G02 G17 X20. Y15. I-50. J-60. |
G03 | Cirkulær interpolation mod uret. Parametre og handling er de samme som G02-kommando. | G03X15. Y15. R5. F200. |
G04 | Programudførelsesforsinkelse, hvordan forsinkelsesværdien indstilles afhænger af implementeringen af styresystemet, P sætter normalt pausen i millisekunder, X i sekunder. I nogle fortolkere angiver P en pause i sekunder, og X-parameteren bruges ikke i denne kommando. I nogle tolke er det også muligt at indstille en forsinkelse med U-parameteren. | G04 P500 eller G04 X.5 |
G10 | Skift af det absolutte koordinatsystem. I eksemplet vil oprindelsen af koordinater være ved punktet 10, 10, 10 af de gamle koordinater. | G10x10. Y10. Z10. |
G15 | Overgang til polært (cylindrisk) koordinatsystem. I dette system angiver X-parameteren radius, og Y-parameteren angiver vinklen i grader. Hvis det absolutte koordinatsystem ( G90 ) er aktiveret, så vil oprindelsen af de polære koordinater være ved de aktuelle koordinater 0; 0, hvis det inkrementelle koordinatsystem er aktiveret, vil oprindelsen være på det punkt, der nås under behandlingen af den forrige ramme. | G15X15. Y22,5 |
G16 | Annullering af det polære koordinatsystem | G16X15. Y22,5 |
G17 | Valg af et XY-arbejdsplan | G17 |
G18 | Valg af et ZX-arbejdsplan | G18 |
G19 | Valg af YZ arbejdsplan | G19 |
G20 | Inch-tilstand | G90 G20 |
G21 | Driftstilstand i metrisk system | G90 G21 |
G22 | Aktiver den indstillede grænse for bevægelser (værktøjet vil ikke gå ud over deres grænse) | G22 G01 X15. Y25. |
G28 | Vend tilbage til referencepunktet | G28 G91 Z0 Y0 |
G30 | Z-akseløft til værktøjsskiftepunkt | G30 G91 Z0 |
G40 | Annuller værktøjsradiuskompensation | G1 G40 X0. Y0. F200. |
G41 | Kompenser værktøjsradius til venstre for værktøjsbanen | G41X15. Y15. D1 F100. |
G42 | Kompenser værktøjsradius til højre for værktøjsbanen | G42X15. Y15. D1 F100. |
G43 | Kompenser værktøjslængden positivt. Anvendes hovedsageligt ved værktøjsskift. | G43X15. Y15. Z100. H1 S1000 M3 |
G44 | Kompenser værktøjslængden i negativ retning. Handlingen ligner G43. | G44X15. Y15. Z4. H1 S1000 M3 |
G49 | Annuller værktøjslængdekompensation | G49Z100. |
G50 | Nulstil alle skaleringsfaktorer til 1,0 | G50 |
G51 | Skala tildeling. I eksemplet skal du zoome ud på x-aksen 10 gange. Efter denne modale kommando vil alle bevægelser og X-koordinater angivet i kommandoerne blive ganget med en skaleringsfaktor på 0,1 og resultatet vil blive fortolket som den nødvendige bevægelse. Hvis du indstiller skaleringsfaktoren langs en akse (eller langs en hvilken som helst akse) lig med -1, så vil den efterfølgende bevægelse blive spejlet langs denne akse (eller akser, hvor skaleringsfaktoren er -1). | G51 X.1 eller G51 X-1 |
G53 | Overgang til maskinkoordinatsystemet. | G53 G0 X0. Y0. Z0. |
G54-G59 | Skift til operatørdefineret koordinatsystem | G54 G0 X0. Y0. Z100. |
G61-G64 | Skifter præcist stop/konstant hastighed | |
G68 | Roter koordinaterne til den ønskede vinkel | G68 X0 Y0 R45. |
G70 | Langsgående efterbehandlingscyklus | G70 P10 Q15. |
G71 | Multi-pass langsgående grovdrejning | G71 P10 Q15. D.5 U.2 W.5 |
G80 | Annuller cyklusser med boring, boring, anboring osv. | G80 |
G81 | Borecyklus | G81 X0 Y0. Z-10. R3. F100. |
G82 | Dvæle cyklus | G82X0. Y0. Z-10. R3. P100 F100. |
G83 | Intermitterende borecyklus (med periodisk fuld tilbagetrækning af boret). Parameter Z angiver den totale dybde af boring fra overfladen (Z=0), R er højden af værktøjsudgangen over overfladen til spånfjernelse og også slutpositionen efter at boringen er afsluttet, Q er mængden af penetration af en af flere gennemboringer ved boring, F er tilspændingshastigheden (valgfrit, i mangel af denne parameter bestemmes hastigheden af den tidligere indstillede hastighed i G1-kommandoen. | G83 Z-20 R1 Q2 f20 |
G84 | Trådningscyklus | G95 G84 M29 X0. Y0. Z-10. R3 F1.411 |
G90 | Indstilling af de absolutte koordinater for referencepunkterne for banen | G90 G1X0.5. Y0,5. F10. |
G91 | Indstilling af koordinater trinvist i forhold til koordinaterne for det sidst indtastede referencepunkt, værktøjsbevægelse i dette koordinatsystem er angivet som trin | G91 G1X4. Y5. F100. |
G94 | F (fremføring) - i mm/min format | G94 G80 Z100. F75. |
G95 | F (fremføring) - i mm/omdrejningsformat | G95 G84 X0. Y0. Z-10. R3 F1.411 |
G99 | Efter hver cyklus må du ikke trække dig tilbage til <passeringspunktet> | G99 G91 X10. K4. |
Sprogets teknologiske kommandoer begynder med bogstavet M (en forkortelse for ordet Diverse - yderligere). Indeholder handlinger som:
Koden | Beskrivelse | Eksempel |
---|---|---|
M00 | Stands driften af maskinen, indtil der trykkes på <start>-knappen på kontrolpanelet, det såkaldte <ubetingede teknologiske stop> | G0 X0 Y0 Z100 M0 |
M01 | Sæt maskinen på pause, indtil der trykkes på <start>-knappen, hvis stopbekræftelsestilstanden er aktiveret. Hvis denne tilstand er deaktiveret, ignoreres kommandoen. Bruges til indledende verifikation (fejlretning) af koden. | G0 X0 Y0 Z100 M1 |
M02 | Slut på programmet, uden nulstilling af modale funktioner. Rammenummermarkøren ændres ikke. | M02 |
M03 | Start spindelrotation med uret | M3 S2000 |
M04 | Start spindelrotation mod uret | M4 S2000 |
M05 | Stop spindelrotationen | M5 |
M06 | Skift værktøj | T15 M6 |
M07 | Aktiver yderligere køling | M3 S2000 M7 |
M08 | Tænd for hovedkølingen. Nogle gange er brugen af mere end én M-kode på én linje (som i eksemplet) ikke tilladt, M13 og M14 bruges til dette | M3 S2000 M8 |
M09 | Sluk for køling | G0 X0 Y0 Z100 M5 M9 |
M13 | Tænd for køling og spindelrotation med uret på samme tid | S2000 M13 |
M14 | Tænd for køling og spindelrotation mod uret på samme tid | S2000 M14 |
M17 | Retur fra underrutine eller makro (samme som M99) | M17 |
M48 | Tillad tilsidesættelse af tilspænding | |
M49 | Deaktiver Feedrate-tilsidesættelse | |
M25 | Manuelt værktøjsskift | M25 |
M97 | Lanceringen af en subrutine placeret i det samme program (hvor P er bloknummeret, i eksemplet vil overgangen ske til linjen med mærket N25), er ikke implementeret i alle tolke , formentlig kun på HAAS-maskiner | M97 P25 |
M98 | Start af en underrutine, der er adskilt fra hovedprogrammet (hvor P er nummeret på underrutinen, i eksemplet vil overgangen ske til program O1015) | M98 P1015 |
M99 | Slut på subrutine og hop til det kaldende program | M99 |
M30 | Slut på programmet, med nulstilling af modale funktioner og ændring af bloknummermarkøren til begyndelsen af programmet. | M30 |
Kommandoparametre angives med latinske bogstaver
Koden | Beskrivelse | Eksempel |
---|---|---|
x | Flytning af værktøjet til et specificeret punkt med en specificeret X-aksekoordinat, når der arbejdes i et absolut koordinatsystem (se G90) eller angivelse af forskydninger i forhold til et punkt, der er nået i den foregående blok, når der arbejdes i et inkrementalt koordinatsystem (se G91) | G0 X100 Y0 Z0 |
Y | Svarende til X på Y-aksen | G0 X0 Y100 Z0 |
Z | Svarende til X på Z-aksen | G0 X0 Y0 Z100 |
P | Når det bruges i en subrutineopkaldskommando (M98) - angiver nummeret på den kaldte subrutine med navnet angivet efter bogstavet O, for eksempel, vil P301 kalde subrutinen med etiketten O301. Når det bruges i en forsinkelseskommando (G04), angiver dvæletiden i millisekunder. | G04 P500;
M98 R301 |
O | Subrutinemærkat med specificeret nummer | O301 |
F | Værktøjets lineære hastighed.
For fræsemaskiner er dette tommer pr. minut (IPM) eller millimeter pr. minut (mm/min). For drejebænke er dette tommer pr. omdrejning (IPR) eller millimeter pr. omdrejning (mm/omdrejning). Valget af måleenheder, tommer eller millimeter, sker med G20 og G21 kommandoerne. |
G1 G91 X10 F100 |
S | Spindelhastighed i omdrejninger pr. minut. | S3000 M3 |
T | Angivelse af værktøjsnummer i en værktøjsskiftkommando. Normalt angivet før M6-kommandoen. | T1 M6 |
R | Værktøjstilbagetrækningsafstand i gentagne bearbejdningscyklusser såsom intermitterende dybe hulsboringer (G81-G89) eller bueradius i cirkulære værktøjsbevægelsesinterpolationer (G02, G03). | G81 Z-20 R2 eller
G2 G91 X12,5 R12,5 |
D | Valgt værktøjsradiuskompensationsparameter | G1 G41 D1 X10. F150. |
L | Antallet af subrutinekald, antallet af makrokald eller antallet af cyklusser i gentagne X_Y_R_-operationer er parametrene, der sendes til makroen | M98 L82 P10 eller G65 L82 P10 X_Y_R_ |
jeg | Angiver forskydningen langs X-aksen af buemidtkoordinaten ved cirkulær interpolation af værktøjsbevægelsen (se G02, G03). Buens centrumkoordinater langs akserne er angivet som en forskydning i forhold til startpunktet (nået i den forrige ramme). Interpolationsplanet (planet, der er parallelt med det givne koordinatplan, er angivet med kommandoerne G17, G18, G19. | G03 X10 Y10 I10 J0 F10 |
J | Svarende til I-parameteren for Y-aksen. | G03 X10 Y10 I0 J10 F10 |
K | Svarende til I-parameteren for Z-aksen. | G03 X10 Y10 I0 K0 F10 |
Et eksempel på gravering af bogstavet W i en dybde på 2 mm, indskrevet i et rektangel 40 × 30 mm, (se figur) på en konventionel CNC lodret fræser i et pladeemne. Pindfræser diameter 2 mm [4] :
% (programstartetiket, valgfrit) (Z-aksen er indstillet således, at ved Z=0 rører værktøjet overfladen af emnet) O200 (programmærke, valgfri) G21 G40 G49 G53 G80 G90 G17 (Sikkerhedsstreng.) (Maskinens eller tolkens tilstand bestemmes af historikken eller indstilles til en starttilstand ved opstart, og disse indstillinger kan forårsage uønskede og uventede handlinger, så det er nødvendigt at nulstille maskinen ved hjælp af "sikkerhedsstrengen". ) (G21 - valg af det metriske system af enheder - millimeter,) (G40 - Annullerer automatisk værktøjsradiuskompensation.) (G49 - Annullerer automatisk værktøjslængdekompensation.) (G53 - annullerer yderligere koordinatsystemer, der kan være blevet indtastet tidligere, flyttet i forhold til det originale og overfører maskinen til hovedkoordinatsystemet.) (G80 - Annullerer alle konserverede cyklusser, såsom borecyklusser og deres parametre.) (G90 - oversættes til et absolut koordinatsystem.) (G17 - XY cirkulært interpolationsplan er valgt.) G0 F300 (Indstil værktøjets tomgangshastighed i mm/min) M3 S500 (Aktivér spindelrotation med uret og indstil spindelhastigheden til 500 rpm) G4 P2000 (Forsinkelse 2 sekunder for at dreje spindlen op) X0 Y30 Z5 (Værktøj til at pege med koordinater X= 0 Y=30 Z=5 ved tomgangshastighed) G1 Z-2 F40 (dykke ned i emnet til en dybde på 2 mm ved en hastighed på 40 mm/min) G1 F20 X10 Y0 (fræsning af 1. sektion af bogstavet W ved en hastighed 20 mm/min) X20 Y30 (fræsning af 2. sektion af W med 20 mm/min) X30 Y0 (fræsning af 3. sektion af W ved 20 mm/min) X40 Y30 (fræsning af 4. sektion af W med hastighed 20 mm/min) G0 Z5 (træk værktøjet tilbage 5 mm over overfladen af emnet med en hastighed på 300 mm/min) M5 (deaktiver spindelrotation) M30 (slut på program og slutning af fortolket kode)