Hopp til innhald
Fagartikkel

G-kodeprogrammering

G-kode er eit program med instruksjonar som fortel ei CNC-maskin kvar og korleis ho skal flytte seg.

Historie

G-kode blei først etablert på 1960-talet av Electronics Industry Association (EIA). Kodespråket fekk då namnet RS-274D, men i daglegtale nyttar vi omgrepet G-kode. Bakgrunnen for dette namnet er at mange av kommandoane i dette maskinbaserte språket startar med bokstaven G.

Sjølv om G-kode er meint å vere ein universell standard, har mange CNC-maskinfirma utvikla sine eigne tilleggskodar. Derfor er det viktig at du kjenner til kodespråket for akkurat den maskina du skal jobbe på.

Kor avanserte kodar ei CNC-maskin kan jobbe etter, er også avhengig av utstyret ho har, og av talet på aksar ho kan jobbe rundt. Nøyaktigheita til maskina bestemmer også kor detaljert du kan programmere ho.

Er du i usikker på om maskina kan handtere koden og produsere den delen du ønsker, må du bruke instruksjonsmanualen og kontrollere eigenskapane til maskina.

Oppbygginga av G-koden

Den gongen G-kodestandarden blei etablert, hadde maskiner framleis liten minnekapasitet. Dette måtte utviklarane ta omsyn til, og G-kode er derfor eit ekstremt kompakt og konsist språk som kan verke nesten gammaldags ved første augekast.

Døme på samansett kodelinje

G01 X1 Y1 F20 T01 M03 S500

I denne enkle linja gir vi maskina seks ulike instruksjonar:

  1. G01: Utfør ein lineær matebevegelse.

  2. X1/Y1: Flytt til desse X- og Y-koordinatane.

  3. F20: Beveg deg med ei matehastigheit på 20 millimeter per minutt.

  4. T01: Bruk verktøy nr. 1 for å få jobben gjort.

  5. M03: Slå på spindelen.

  6. S500: Still inn ein spindelfart på 500 omdreiingar i minuttet.

Du kan kombinere fleire slike linjer med G-kode slik at dei dannar eit komplett CNC-program. CNC-maskina di vil då lese ei kodelinje om gongen, frå venstre mot høgre og frå topp til botn, som du les ei bok. Kvart sett med instruksjonar er samla på ei linje (i ei blokk).

Oppbygging av G-kodeprogram

Målet med kvart G-kodeprogram er å produsere delar på ein så trygg og effektiv måte som mogleg. Derfor finn du vanlegvis G-kodeblokkar ordna i ei rekkefølge som dette:

  1. Start CNC-programmet.

  2. Last inn det nødvendige verktøyet.

  3. Vel spindelturtal og matehastigheit.

  4. Slå på spindelen.

  5. Slå på kjølevæska.

  6. Flytt til ein posisjon over eit arbeidsemne.

  7. Start tilarbeidingsprosessen.

  8. Flytt skjereverktøyet i arbeidsemnet som beskrive i programmet.

  9. Slå av spindelen.

  10. Slå av kjølevæska.

  11. Flytt skjereverktøyet vekk frå arbeidsemnet til ein trygg stad.

  12. Avslutt CNC-programmet.

Dette dømet på flyt er eit enkelt program som bruker eitt verktøy for éin operasjon. I praksis vil du ofte nytte fleire ulike verktøy, og då vil du gjenta trinn 2 til 10 til du har oppnådd den konturen eller det mønsteret du ønsker.

Modale kodar og adressekodar

Som i andre programmeringsspråk finst det også i G-kode kommandoar som får maskina til å gjenta ei handling heilt til du stoppar ho. Slike kommandoar kallar vi for modale kodar. Ein modal kode fungerer til du slår han av, eller til du modifiserer han med ein annan modal kode. M03 til dømes er ein modal kode som vil køyre ein spindel på ubestemd tid, heilt til du bruker kode M05, som ber maskina stoppe spindelen.

M-kommandoane er maskinkodar, og dei slår på maskinfunksjonar som spindelrotasjon, bruk av kjølevæske og stramming av kjoksen. Men G-kode omfattar også mange andre bokstavkommandoar. Dei består som oftast av ein kombinasjon av ein bokstav og eit tal, til dømes X2. X2 er ein X-koordinat-adressekode som ber maskina flytte verktøyet til verdien 2 på X-aksen.

Bokstavkommandoar i G-kodespråket

KommandoForklaring
ARotasjon rundt X-aksen
BRotasjon rundt Y-aksen
CRotasjon rundt Z-aksen
DKompensasjon for kuttdiameter (CDC)
FMatehastigheit (Feed Rate). Blir oppgitt i mm/min
GG-kommando. Blir kombinert med tal for riktig kommando
HOffsetverdi for verktøylengd. Viser til ein lagringsplass i maskinminnet, til dømes H2
IFlytting av senter for ein sirkulær boge i X-aksen
JFlytting av senter for ein sirkulær boge i Y-aksen
KFlytting av senter for ein sirkulær boge i Z-aksen
MM-kommando. Blir kombinert med tal for riktig kommando
NBlokknummer. Linjenummer i programmet
OProgramnummer for definisjon av sub-program
PPause. Mellombels stopp
QBlir brukt for bore-syklusar
RRadius for sirkulære bevegelsar. Blir også nytta ved boresyklusar
SSpindelturtal. Blir oppgitt i o/min
TVerktøynummer. Blir oppgitt saman med ein magasinposisjon, til dømes T02
XAkse i koordinatsystemet. Blir oppgitt saman med ein talverdi
YAkse i koordinatsystemet. Blir oppgitt saman med ein talverdi
ZAkse i koordinatsystemet. Blir oppgitt saman med ein talverdi