Hopp til innhald

Fagstoff

Programmering med variablar

Bruk av variablar ved programmering av ei CNC-maskin kan spare deg for mykje arbeid. Du kan då forandre mange ulike parameterar i programmet ved å forandre berre på ein stad i programmet.
Mann med vernebriller opererer ei CNC-fresemaskin. Foto.

Kva er variabel programmering?

Viss vi programmerer med variablar, kan vi i staden for å angi alle tal og nemningar gjentekne gonger i eit program, gi desse eit namn vi kan bruke.

Du kan programmere variablar i sjølve maskina som maskinvariablar eller velje programvariablar som berre fungerer i det programmet du har utvikla.

Variablar blir ofte nytta der ein skal lage eit program som instruerer ei maskin til å gjenta fleire arbeidsoperasjonar fleire gonger i løpet av arbeidsprosessen, eller der ein ønsker ein enkel måte å justere dimensjonar og mål på ved gjentekne operasjonar eller utvikling av prototypar.

Variablar kan òg nyttast saman med matematiske rekneartar som addisjon, subtraksjon, divisjon og multiplikasjon. Dette gjer at ein enkelt kan nytte variabelen som eit grunntal og bruke rekneartene til å kalkulere nye dimensjonar eller koordinatar.

Programmering av variablar

Dei fleste maskiner utstyrte med CNC bruker eit standardsystem for variablar. Det betyr at alle variablane har eit "namn" som byrjar med # (hashtag/emneknagg). Nokon vil òg referere til dette teiknet som "grid" eller "square".

Dei fleste CNC-styringar følger det same prinsippet, berre med ulike "fornamn" på variablane. Til dømes kallar OSP (Okuma) desse anten VC eller V, Sinumeric bruker gjerne R, og Heidenhain bruker Q.

Det er viktig at du set deg godt inn i kva format den maskina du skal programmere for, bruker for å gi namn til variablane sine.

Lokale maskinvariablar

Viss du legg variablane inn i sjølve minnet til maskina, må du vere merksam på kvar og korleis desse blir lagra.

Variablane blir delte opp i ulike grupper, alt etter kvar dei blir lagra i minnet til maskina. Dette kan påverke kva som skjer til dømes viss maskina blir strømtom.

I tabellen under ser du standardisert måte å lagre variablar på.

Lagring av maskinvariablar
VariabelindeksType variabelKommentar
#0NullvariabelDenne variabelen er alltid null.
#1–#33Lokale variablarDesse kan berre halde verdiar inntil maskina får reset-signal eller ved straumbrot.
#100–#149Common-variablar 1

Desse beheld verdien sjølv om maskina får reset-signal. Ved straumbrot vil desse få verdi = null.

#500–#531Common-variablar 2

Desse beheld verdien sjølv etter straumbrot.

#1000–System-variablarDesse blir brukte til å lese eller forandre data i systemet, t.d. verktøylengde frå tabell.

Døme på bruk av variablar i G-kode

CNC-fresing

Eit døme på bruk av variablar kan vere at du på eit arbeidsemne skal frese ti hol som skal ha diameter 10,5 millimeter. I staden for å skrive 10,5 millimeter kan du då programmere ein variabel som du kan gi nemninga Hol1=10,5.

I programlinjene angir du då diameteren for holet som Hol1 i staden for talet 10,5.

Viss du i etterkant finn ut at holet skulle vore 0,2 millimeter større, treng du ikkje å leite gjennom programmet for å forandre alle programlinjene. I staden kan du berre gå til starten av programmet og forandre variabelen Hol1 til Hol1=10,7, så vil alle hola bli 10,7 millimeter.

CNC-dreiing

Det same kan vere tilfelle viss du skal dreie ein gjenstand og kan angi ein diameter som ein standardverdi, ein variabel.

Viss du til dømes har fått i oppgåve å lage ein serie av presshylser i ulike dimensjonar for bruk under demontering og montering av lager, kan du nytte variabelprogrammering.

Hylsene du skal lage, skal ha ulik ytre diameter, og den minste diameteren skal alltid vere 20 mm mindre enn den ytre diameteren.

3D-teikning og teknisk teikning av sirkulær pyramide med to trinn med diameter 100 mm og 80 mm. Pyramiden er 20 mm høg og har eit hol på 45 mm i senter. Teknisk teikning er målsett. Illustrasjon.

Viss den største diameteren skal vere 100 mm og vi veit at neste overflate alltid skal ha ein diameter som er 20 mm mindre, kan du lage ein variabel for den største diameteren, døme Dia1=100. Når du då programmerer, kan du angi at den minste diameteren er Dia1–20.

For å lage same del med største diameter på 120 mm, går du berre inn i starten av programmet og forandrar variabelen Dia1 til Dia1=120, så reknar maskina ut at den minste diameteren skal bli 120 – 20 = 100 mm.

Døme på bruk av variablar

Du har fått i oppdrag å programmere ein G-kode for å utvikle ein prototype i ei CNC-maskin. Du har fått teikninga til prototypen frå ein kunde.

Kunden har sagt at han er litt uviss på måla, spesielt storleiken på hola og radiusen på hjørna.

Plata er 200 mm lang og 100 mm brei, med avrunda hjørne med radius 20 mm. Plata er 20 mm tjukk. Tre hol med diameter 40 mm er plasserte symmetrisk på plata med 60 mm avstand mellom senter i kvart hol. Illustrasjon.

I dette tilfellet kan det vere formålstenleg å nytte variablar for storleiken på hola og radiusen på hjørna.

Du kan då nytte variablane:

  • #DiaHol = 40

  • #RadHjørne = 20

Når kunden får prototypen og ser til dømes at hola er litt for store, eller radius på hjørna er litt for liten, kan du forandre variablane i starten av programmet i staden for å forandre verdiane mange gonger nedover i programmet.

Tenk over

Er det nokre andre mål på denne teikninga der det kunne vore formålstenleg å nytte variablar?

Drøftingsoppgåver

Du har fått i oppdrag å lage to prototypar til ein kunde. Kunden er uviss på dimensjonane og vil at du på ein enkel måte skal kunne tilpasse G-koden for dreiebenken viss det blir nødvendig å forandre nokre mål.

Drøftingsoppgåve 1

På kva av dimensjonane på teikninga under ville det vore formålstenleg å nytte variablar viss du veit du kanskje må gjere nokre endringar på teikninga for å tilpasse produktet?

Utvendig diameter er 100 mm, og stikkspor har diameter 40 mm. Dei tre første stikkspora frå venstre har ei breidde på 10 mm, mens det fjerde sporet har ei breidde på 30 mm. Avstand mellom stikkspora er 20 mm. Illustrasjon.

Drøftingsoppgåve 2

På kva av dimensjonane på teikninga under ville det vore formålstenleg å nytte variablar viss du veit du kanskje må gjere nokre endringar på teikninga for å tilpasse produktet?

3D-teikning og teknisk teikning av ein sirkulær pyramide med fem nivå. Den tekniske teikninga er målsett, der diameter varierer frå 20 til 100 millimeter med 20 millimeters intervall. Høgden på kvart nivå er 10 millimeter. Illustrasjon.
CC BY-SASkrive av Roger Rosmo.
Sist fagleg oppdatert 28.04.2023

Læringsressursar

CNC