Hopp til innhold
Bokmål

Fag

Emne

CNC

Oppgave

G-kode for rekkert: I- og J-kommando

Du har analysert den tekniske tegninga for rekkerten og funnet koordinatene til start- og sluttpunkt for bevegelsene. Nå skal du programmere en G-kode for fresing av rekkerten. Sirkulære bevegelser koder du ved å bruke senterpunktet for sirkelen.

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.

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 X0 Y0 Z10

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

Kodingshjelp

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 bruker derfor kommando 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 , 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 må også fortelle CNC-maskinen hvor senterpunktet (origo) for den sirkulære buen er. Vi skal her ikke oppgi koordinatene for punktet, men avstanden mellom startpunktet og senterpunktet for den sirkulære bevegelsen i både X- og Y-retning.

Denne avstanden programmerer vi med kommandoene I (avstand i X-retning) og J (avstand i Y-retning).

Verdiene for I og J kan du kartlegge på ulike måter. Du kan her måle avstanden direkte i tegneprogrammet. Hvis du kun vet koordinatene, må du bruke litt matematikk og finne avstanden ut fra koordinatene for startpunkt og senterpunkt.

I dette tilfellet er senterpunktet på samme koordinat i X-aksen som startpunktet, men 12 mm høyere oppe i Y-aksen i forhold til startpunktet. Da blir kommandoene I0 J12:

  • G03 X117.53 Y5.58 I0 J12

Hvordan regne ut I- og J-verdien?

Kommandoen I beskriver avstanden mellom buens startpunkt og senterpunkt langs X-aksen, mens kommandoen J beskriver avstanden fra startpunkt til senterpunkt langs Y-aksen.

  1. Finn X- og Y-koordinaten for startpunktet. I vårt tilfelle er startpunktet punkt 2 i arbeidstegninga og har følgende koordinatverdier:

    X: 107.4, Y: 0

  2. Finn X- og Y-koordinaten for senterpunktet. Her er det punkt 23 i arbeidstegninga som er senterpunktet (origo). Punktet har disse koordinatverdiene:

    X: 107.4, Y: 12

  3. Regn ut avstanden mellom buens senterpunkt og startpunkt: Ta X-verdien for senterpunktet og trekk fra X-verdien for startpunktet. Gjør deretter det samme med verdiene for Y-aksen. Talla du får da, skal du bruke i koden:

    • X = 107.4 – 107.4 = 0 (Dette blir verdien for I.)

    • Y = 12 – 0 = 12 (Dette blir verdien for J.)

I koden må du også angi om bevegelsen er medurs (G02) eller moturs (G03), hvilke koordinater buen skal ende i (her: X117.53 Y5.58), og hva som er koordinatene for senter av buen, altså I og J. Koden blir da:

  • G03 X117.53 Y5.58 I0 J12

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 sirkulær bevegelse. Den er også moturs, og vi må igjen finne avstanden mellom buens startpunkt og senterpunkt. I dette tilfellet ligger senterpunktet 10,14 mm til venstre for startpunktet i X-aksen og 6,42 mm lenger oppe enn startpunktet i Y-aksen.

Avstand til høyre eller oppover gir en positiv kommandoverdi, mens avstand til venstre eller nedover gir en negativ kommandoverdi. Derfor får I-kommandoen, som angir avstand i X-retning, en negativ verdi her: I-10.14. J-kommandoen, som angir avstand i Y-retning, får en positiv verdi: J6.42. Hele kodelinja ser slik ut:

  • G03 X151.23 Y64.53 I-10.14 J6.42

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å . Derfor må vi bruke G-kommando G02. Vi skal benytte koordinater for buens sluttpunkt på samme måte som tidligere og finne senterpunktet for buen.

Avstanden i X-retning er her til høyre (altså i positiv retning) og 12,12 mm, mens avstanden i Y-retning er 18,36 mm, også i positiv retning. Kodelinja blir da slik:

  • G02 X89.63 Y182.54 I12.12 J18.36

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.

Vær også oppmerksom på at mange verdier for I og J vil være negative når du skal programmere fresing av motsatt halvdel av rekkerten.

Løsningsforslag

Dette er et forslag til løsning. Forslaget er bare 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 I0 J12

N130 G01 X149.54 Y56.12

N140 G03 X151.23 Y64.53 I-10.14 J6.42

N150 G01 X139.87 Y131.86

N160 G03 X134.65 Y139.87 I-11.83 J-2

N170 G01 X99.48 Y163.08

N180 G02 X89.63 Y182.54 I12.12 J18.36

N190 G01 X93.24 Y254.81

N200 G03 X88.19 Y261.04 I-5.99 J0.3

N210 G03 X63.81 Y261.04 I0 J-83.04

N220 G03 X58.76 Y254.81 I0.94 J-5.93

N230 G01 X62.37 Y182.54

N240 G02 X52.52 Y163.08 I-21.97 J-1-1

N250 G01 X17.35 Y139.87

N260 G03 X12.13 Y131.86 I6.61 J-10.02

N270 G01 X0.77 Y64.53

N280 G03 X2.46 Y56.12 I11.83 J-2

N290 G01 X34.47 Y5.58

N300 G03 X44.6 Y0 I10.14 J6.42

N310 G01 X76 Y0

N320 G00 Z2

N1000 G00 X0 Y0 Z10

N1010 M30

Refleksjonsoppgave

Hvis du ønsker å frese denne konturen i motsatt retning (medurs), må du gjøre noen endringer i programmet.

  • Hvilke G-koder og koordinater må du endre?

  • Klarer du å skrive en programkode som freser konturen medurs?

Relatert innhold

J-kommando

Lær om kommandoen J ved programmering av en G-kode for bruk i en CNC-styrt maskin.

Skrevet av Roger Rosmo.
Sist oppdatert 09.06.2023