G-kode for rekkert: radiuskommando
G-kode og akser
G-kode er et standardisert programmeringsspråk for bruk på blant annet CNC-maskiner. Koden består av kommandoer som angir om maskinen skal gjennomføre en rettlinja eller sirkulær bevegelse, og kommandoer som aktiverer eller deaktiverer funksjonene til maskinen. I tillegg må koden inneholde koordinatene for punktet som maskinen skal bevege seg til.
Vi programmerer bevegelsen til fresen ved å angi koordinater i X- og Y-aksen. I tillegg bruker vi Z-koordinaten for å angi hvor dypt maskinen skal frese. Maskinen jobber altså i tre dimensjoner.
Når vi er i gang med å frese ut rekkerten, er fresedybden den samme gjennom hele prosessen. Derfor må vi først og fremst programmere X- og Y-koordinatene. Z-verdien settes bare én gang, og den endrer seg ikke.
Programmeringsverktøy
Skal du skrive en G-kode, trenger du bare et enkelt tekstbehandlingsprogram som kan lagre fila som ei txt-fil. De aller fleste simulatorer og maskiner leser txt-filer, og du kan vanligvis overføre fila fra pc-en din til maskinen via nett eller USB-pinne. Hvis maskinen ikke leser txt-filer, må du programmere direkte på skjermen til maskinen.
Grunnleggende kode
CNC-fresen må ha noen grunnleggende kodelinjer for å kunne fungere. Hvis du ikke kjenner til disse kodene, kan du lese mer om dem i en egen artikkel:
Guoskevaš sisdoallu
Grunnleggende kode for fresing av rekkert
N10 O (programnavn)
N20 M06 T01
N30 M03 S2000
N40 G54 G00 G90 G17
N50 X0 Y0
N60 G43 H01 Z1 M08
N70 G01 F50 Z.1
.......
Fresebane: kodelinjer med koordinater og bevegelsesmønster
.......
N1000 G00 Z10
N1010 G00 X0 Y0
N1020 M30
Programmering av kontur
Når vi skal frese et mønster, må vi fortelle CNC-maskinen hvilke koordinater den skal flytte seg mellom, om bevegelsen skal være rettlinja eller bueforma, og om den skal være rask eller langsom.
Bevegelsen til fresen blir til slutt et mønster, en kontur. Konturen er grunnlaget for verktøybanen til CNC-maskinen.
Koordinatpunkter
Til denne oppgaven har vi allerede målsatt alle koordinatpunktene. Du finner måla i filvedlegget nedenfor.
Fiillat
Noen forklaringer til koden
Vi forklarer her bare programmeringa av de første linjene i koden for konturen slik at du får en forståelse for hvordan du skal programmere videre.
Bevegelse fra maskinnullpunkt til programnullpunkt
Først må vi bevege skjæreverktøyet til programnullpunktet. Dette punktet er i nedre venstre hjørne av arbeidsemnet og har koordinatene X0 Y0. Vi bruker kommandoen G00 fordi vi vil flytte skjæreverktøyet raskt. Samtidig kan vi flytte det til en sikker avstand over arbeidsemnet, for eksempel 10 millimeter. Da blir Z-verdien Z10. Det gir denne kodelinja:
G00 X0 Y0 Z10
Vi kan så bevege skjæreverktøyet ned mot arbeidsemnet, men for å være sikker på at det ikke skjer noen kollisjon, gjør vi dette med kontrollert fart og bruker kommandoen G01. Siden CNC-maskinen er veldig nøyaktig, er det nok å stoppe 0,1 mm over arbeidsemnet. Koden blir da:
G01 Z0.1
Bevegelse fra programnullpunkt til rett over startpunkt
Vi vil at bevegelsen fra programnullpunkt til rett over startpunkt skal være en rettlinja bevegelse, for da kan maskinen bevege seg med stor fart. Vi bruker G00, koden for rask bevegelse. Koordinatene maskinen skal bevege seg til, er X76 Y0. Høyden over arbeidsemnet er fremdeles den samme. Derfor trenger vi ikke endre Z-koordinaten. Kodelinja blir slik:
G00 X76 Y0
Bevegelse ned i materialet
Skjæreverktøyet befinner seg nå 0,1 mm over startpunktet for programmet, som er punkt 1 på tegninga. Når maskinen skal begynne å skjære, må vi justere hastigheten på bevegelsen etter materiale og verktøy, og må derfor bruke kode G01.
Det er koordinatverdien på Z-aksen som bestemmer hvor langt fresen skal bevege seg ned i materialet. Z-verdiene for bevegelse ned i materialet er negative verdier. Både fresedybden vi ønsker oss, og materialtykkelsen har noe å si for koordinatverdien vi må velge. I dette eksempelet har vi satt fresedybden til 4 mm. Z-verdien blir da –4, og kodelinja blir som følger:
G01 Z-4
Bevegelse fra punkt 1 til punkt 2
Fra punkt 1 til punkt 2 skal det være en rettlinja bevegelse med styrt hastighet. Vi benytter da G01. Punktet vi skal bevege oss til, har koordinatene X107.4 Y0. Skjæredybden forblir den samme. Kodelinja ser da slik ut:
G01 X107.4 Y0
Bevegelse fra punkt 2 til punkt 3
Bevegelsen fra punkt 2 til punkt 3 er en sirkulær bevegelse. Den går moturs, det vil si i motsatt retning av klokkeviserne. Vi må da bruke kommandoen G03 og oppgi koordinatene som buen slutter i. Disse koordinatene er X117.53 og Y5.58. Vi oppgir også hvilken radius buen skal ha. På arbeidstegninga nedenfor er alle radiusene lagt inn. For punkt 2 er radiusen 12 mm, og koden blir da R12:
G03 X117.53 Y5.58 R12
Bevegelse fra punkt 3 til punkt 4
Vi har nå programmert en bue fra punkt 2 til punkt 3. Fra punkt 3 til punkt 4 skal vi ha en ny rettlinja bevegelse. G-kommandoen for rettlinja bevegelse er G01, og vi skal bruke koordinatene til sluttpunktet for den rettlinja bevegelsen, X149.54 og Y56.12. Det gir denne kodelinja:
G01 X149.54 Y56.12
Bevegelse fra punkt 4 til punkt 5
Mellom punkt 4 og 5 blir det på nytt en moturs sirkulær bevegelse. Derfor bruker vi kommando G03. Sluttpunktet på buen er punkt 5. Vi skriver koordinatene for sluttpunktet inn i koden. Radiusen er oppgitt med 12 mm i arbeidstegninga. Den står oppført sist på kodelinja:
G03 X151.23 Y64.53 R12
Bevegelse fra punkt 8 til punkt 9
Vi hopper nå direkte til neste sirkulære bevegelse, som er fra punkt 8 til punkt 9. Her går buen motsatt vei, altså medurs. Da må vi velge G-kommando G02. Vi bruker koordinatene for sluttpunktet på buen på samme måte som tidligere, og radiusen er 22 mm. Det gir denne kodelinja:
G02 X89.63 Y182.54 R22
Fortsett å programmere
Nå har du fått ei innføring i hvordan du skal skrive koden, og du kan fortsette med alle punktene i konturen.
Vær spesielt oppmerksom på de sirkulære bevegelsene, og sjekk nøye om disse går medurs eller moturs.
Løsningsforslag
Dette er et forslag til løsning. Forslaget er kun testkjørt i simulator.
N20 M06 T01
N30 M03 S2000
N40 G54 G00 G90 G17
N50 X0 Y0
N60 G43 H01 Z1 M08
N70 G01 F500 Z.1
N100 G00 X76 Y0
N105 G01 Z-10
N110 G01 X107.4 Y0
N120 G03 X117.53 Y5.58 R12
N130 G01 X149.54 Y56.12
N140 G03 X151.23 Y64.53 R12
N150 G01 X139.87 Y131.86
N160 G03 X134.65 Y139.87 R12
N170 G01 X99.48 Y163.08
N180 G02 X89.63 Y182.54 R22
N190 G01 X93.24 Y254.81
N200 G03 X88.19 Y261.04 R6
N210 G03 X63.81 Y261.04 R77.56
N220 G03 X58.76 Y254.81 R6
N230 G01 X62.37 Y182.54
N240 G02 X52.52 Y163.08 R22
N250 G01 X17.35 Y139.87
N260 G03 X12.13 Y131.86 R12
N270 G01 X0.77 Y64.53
N280 G03 X2.46 Y56.12 R12
N290 G01 X34.47 Y5.58
N300 G03 X44.6 Y0 R12
N310 G01 X76 Y0
N320 G00 Z2
N1000 G00 X0 Y0 Z10
N1010 G00 X0 Y0
N1020 M30
Tenk over
Hvordan vil programkoden bli hvis du velger å programmere konturen motsatt, altså medurs?
Hvilke G-koder må da forandres sammen med koordinatene?