Hopp til innhold

Fagstoff

Grunnleggende begreper i CNC-programmering

For programmering av CNC-styrte maskiner er det utviklet et standardisert kommandospråk. Programmering ved hjelp av dette språket kalles for ISO-programmering. De enkelte maskinleverandørene tilbyr i tillegg et eget grafisk programmeringsverktøy som vi kaller dialogstyring.
Metallarbeider opererer ei CNC-fresemaskin. Foto.
Åpne bilde i et nytt vindu

Programmeringsspråk

Vi kan programmere ei CNC-styrt maskin på flere måter, men mest vanlig er ISO-programmering og dialogstyring.

ISO-programmering

ISO-programmering bygger på et sett med standardiserte koder som de aller fleste maskinprodusenter forholder seg til. En viktig fordel med standardiserte koder er at programmene du lager, kan benyttes på flere ulike maskiner. Standarden som gjelder for denne typen programmering, heter ISO 6983/1 (videreutvikling: ISO 6983/2).

Selve programmet bygger vi opp ved hjelp av et kommandospråk med bokstaver og tall, i tillegg til at vi oppgir en posisjon i et koordinatsystem.

Dialogstyring

Dialogstyring et enkelt programmeringsverktøy med et grafisk produksjonsspråk. Det lar deg ta utgangspunkt i ei tegning slik at du slipper å forholde deg så mye til koordinatsystemet. Du velger i stedet ulike bevegelsesmønstre, som rett linje, konus, sirkulær bue osv., og så legger du inn tall for lengde, radius, startpunkt, sluttpunkt osv. Du velger også verktøy, turtall og matehastighet, og deretter lager maskina et ISO-program ut fra valga dine. I tillegg har du mulighet til å sette sammen flere slike grafiske figurer i en bestemt rekkefølge. På denne måten kan du bygge opp et helt program.

Akser

Aksene du benytter i CNC-programmering, forholder seg til standarden ISO 841. Det er likevel viktig at du setter deg inn i hvordan aksene er definert for den enkelte maskina, før du begynner å programmere. Det finnes avanserte maskiner som kan håndtere inntil 12 ulike akser, men her skal du forholde deg til de tre mest vanlige aksene, X, Y og Z.

Koordinatsystem med X-, Y- og Z-akser i en dreiebenk. Illustrasjon.

X-aksen

  • På en dreiebenk angir X-aksen bevegelsen på toppsleiden. Derfor justerer du X-aksen dersom du har tenkt å redusere diameteren på arbeidsemnet.

  • På en fres er X-aksen en langsgående akse på arbeidsbordet.

Y-aksen

  • Y-aksen benyttes i hovedsak ved fresing og skjæring, ikke ved dreiing.

  • Ved fresing er arbeidsbordet på XY-planet.

Z-aksen

  • For maskiner som har roterende spindler, som dreiebenker, freser og boremaskiner, er Z-aksen definert som den aksen spindelen roterer rundt.

  • For maskiner som ikke har roterende verktøy, for eksempel skjærebord, tilsvarer Z-akseverdien avstanden fra arbeidsstykket til verktøyet.

  • Ved dreiing angir du lengden på arbeidsemnet i Z-aksen, og ved fresing eller skjæring bruker du Z-akseverdien for å definere høyden arbeidsemnet skal ha.

Nullpunkt

Ved programmering er det viktig at du forteller CNC-maskina hvor den skal starte, altså hvor nullpunktene i programmet er. Disse punktene definerer du i koordinatsystemet.

Maskinnullpunkt

Arbeidsemne oppspent i en kjoks med bakker, der maskin-nullpunktet og nullpunktet til arbeidsstykket er vist med et origo-symbol. Avstanden mellom maskinnullpunkt og arbeidsemnets nullpunkt er angitt med verdien Z. Illustrasjon.

Maskinnullpunktet benyttes som et referansepunkt for dreiebenken og er utgangspunktet for de fleste bevegelsene. Maskinnullpunktet er også nullpunktet for koordinatsystemet. Det betyr at alle aksene har verdien 0 i dette punktet.

For en dreiebenk er maskinnullpunktet som oftest definert som i senter og i forkant av kjoksen, det vil si på den sida som vender mot motoren, ikke på den sida der bakkene er montert. Dette nullpunktet er definert i hovedminnet til maskina og skal i de fleste tilfeller ikke endres.

På horisontale maskiner som freser og skjærebord er det ikke noe standardisert punkt som defineres som maskinnullpunkt. De fleste maskinprodusentene har likevel valgt fremre venstre hjørne på arbeidsbordet som maskinnullpunkt.

En fres med et arbeidsstykke. Maskinnullpunktet M er plassert i fremre venstre hjørne av fresen. I tillegg er programnullpunktet W og referansenullpunktet R tegna inn. Illustrasjon.

Referansenullpunkt

Maskina bruker referansenullpunktet til å oppdatere egne koordinatsystemer og til å nullstille egne koordinatverdier. På dreiebenker er det ikke mulig å flytte sleidene til maskinnullpunktet som ligger i forkant av kjoksen, og da er det viktig at maskina har et referansenullpunkt slik at du likevel får kontrollert om sleideføringer og akser er kalibrert riktig.

Mange maskiner krever at sleider og verktøy kjøres til referansenullpunktet for kontroll ved oppstart, før du kan programmere maskina eller bruke den. Du trenger som oftest ikke gjøre dette manuelt, de fleste maskinene ordner denne kontrollen automatisk når du trykker på en nullstillingsknapp.

Programnullpunkt

Programnullpunktet er et punkt i koordinatsystemet som du selv definerer som et startpunkt for programmet og som nullpunktet for arbeidsstykket.

På dreiebenker er det mest hensiktsmessig å sette programnullpunktet i senter på enden av arbeidsstykket. Dette punktet får ofte bokstaven W.

For fresemaskiner og skjærebord kan det være mest hensiktsmessig å sette programnullpunktet til et hjørne på arbeidsstykket eller plata, men her må du også vurdere selv. Ta alltid hensyn til form og plassering på arbeidsstykket og til planlagt sluttprodukt.

For å endre programnullpunktet benytter du kommandoene G54 til G59. Vanligvis er det nok å sette ett programnullpunkt, og da bruker du kommando G54, etterfulgt av hvor i koordinatsystemet du ønsker at nullpunktet skal være, eksempelvis Z150 X0.

Kommandoen G53 opphever vårt definerte programnullpunkt og setter det tilbake til maskinnullpunktet. Fordi de fleste maskiner har ulike dimensjoner, må du kontrollere maskindataene for å sette programnullpunktet, eller du må gjennomføre denne endringa på kontrollpanelet til maskina og ikke i selve programmet.

CC BY-SASkrevet av Roger Rosmo.
Sist faglig oppdatert 02.05.2023

Læringsressurser

CNC-maskinering