JOHDANTO Tämä opas on tarkoitettu ensisijaisesti niiden henkilöiden käyttöön, jotka tekevät NCohjelmia TTKn konepajan Fanuc 11M ohjauksella varustetulle vaakakaraiselle Mitsui Seiki HR5B -koneistuskeskukselle. Koneistuskeskus Mitsui Seiki Karateho Maks. kierrokset Liikealueet Makasiini Ohjaus 15 kw 4300 r/min 850 * 700 * 750 mm 60 työkalua Fanuc 11M Kun teet NC-ohjelmaa tätä opasta hyväksikäyttäen, kannattaa edetä esitetyssä järjestyksessä. B Ohjelmoinnissa tulee huomioida mm. seuraavat asiat 1. Työkappaleen/-koordinaatiston sijainti. Tämä tapahtuu määrittelemällä paikka nollapisteelle, jonka suhteen annetaan varsinaiset liikekäskyt. 2. Työkalutiedot. Työkalujen pituus- ja halkaisijatiedot on annetaan erillisinä kompensaatiotietoina (tai huomioidaan itse ohjelmoinnissa).
3. Ohjelmien suoritus tapahtuu lause kerrallaan, joten samassa lauseessa ei saa olla keskenään ristiriitaisia käskyjä. Esim. liiketapaa kuvaavia käskyjä saa olla vain yksi (G0,G1,G2,G3), sädekompensstiokäskyjä vain yksi (G40,G41,G42), vain yksi koordinaattiarvo kutakin akselia kohden jne. ENNEN OHJELMAN TEKOA Ennen kun varsinaista ohjelmaa ryhdytään tekemään, täytyy vaiheistaa kappaleen valmistus. Vaiheistuksessa valitaan käytettävät työkalut ja päätetään missä järjestyksessä eri työvaiheet tehdään. Samalla huomioidaan se, valmistetaanko kerralla useampia kappaleita. Yhdellä ohjelmalla voidaan valmistaa myös useampia erilaisia kappaleita. Vaiheistuksen yleisohjeina voidaan antaa seuraavaa 1. Tee suuret aineenpoistot ennen pieniä aineenpoistoja ja viimeistelyä 2. Suurta mittatarkkuutta ja paikoitustarkkuutta vaativat osat viimeisenä 3. Minimoi kiinnitysten lukumäärä 4. Minimoi työkalun vaihdot 5. Minimoi pöydän käännot 6. Älä tee turhia liikkeitä, minimoi ilmassa tapahtuva syöttöliike Vaiheistuksen yhteydessä on hyvä katsoa lastuamisarvot eri työkaluille ja työvaiheille.
PERUSKÄSKYT Ohjelman aloitus ja lopetus tapahtuu %-merkillä, joka kirjoitetaan omalle rivilleen esimerkin mukaisesti % ;ohjelman aloitus O7685 M30 % ;lopetus Ohjelman numero annetaan O-kirjaimella ja korkeintaan nelinumeroisella luvulla. Välittömästi numeron perään kannattaa antaa ohjelmalle kuvaava nimi sulkeissa ilman välilyöntejä. Nimi ei ole pakollinen, mutta helpottaa ohjelman löytämistä. Esim % O7685(esimerkki_ohjelma) T24 M30 % ;ohjelman numero ja nimi
Rivien numerointi ei ole välttämätöntä. Ainoastaan, mikäli ohjelmassa on hyppykäskyjä johonkin kohtaan ohjelmaa, tulee ainakin tämä lause numeroida, jotta hyppy voidaan kohdentaa. Numeroitaessa kaikki rivit, saavutetaan se etu, että ohjelmaa testattaessa ja korjattaessa on seuranta helpompaa. Numerointi suoritetaan kirjoittamalla rivin alkuun N(rivin numero). Esim. N137 Työkalun esivalinta on hyvä tehdä mahdollisimman aikaisessa vaiheessa, koska kestää jonkin aikaa hakea haluttu työkalu vaihtoasemaan. Esivalitaan vain ja ainoastaan se työkalu, jota käytetään seuraavaksi. Kun työkalun vaihto on suoritettu valitaan välittömästi seuraava. Esivalinta suoritetaan käskyllä T(valittavan työkalun paikka-numero). Esim. T23. Esivalintakäskyn on aina oltava omalla rivillään. Kun viimeksi käytettävä työkalu on vaihdettu karaan esivalitaan nollatyökalu (T0). Työkalun vaihto tapahtuu käskyllä M6. Ennen vaihtoa tulee kara ajaa vaihtoasemaan ja pöytä sellaiseen paikkaan ettei vaihdettava työkalu osu siihen tai kappaleeseen. Yleensä ajetaan y-akselin (kara) lisäksi ainakin z-akseli vaihtoasemaansa. X-akselin osalta kannattaa harkita tilanteen mukaan vaihtoasemaan ajoa. Ajo tehdään käskyllä G91G30X0Y0Z0. Käskyssä G30 merkitsee vaihtoasemaan ajoa. X, Y ja Z määräävät mitkä akselit ajetaan vaihtoasemaansa, niiden yhteydessä olevat lukemat määräävät pisteen minkä kautta kuljetaan. G91 on inkrementaalinen liike. Käsky voidaan antaa myös absoluuttisena, mutta siitä ja tietyn pisteen kautta kulkemisesta myöhemmin (ei tässä oppaassa). Esim
% O7685 T24 G90 G91G30X0Y0Z0M6 T32 G91G30Y0Z0M6 T0 G91G30X0Y0Z0M6 M30 % ;esivalitaan paikassa 24 oleva työkalu ;ajetaan kaikki akselit vaihtoasemaan ja vaihdetaan työkalu ;esivalitaan paikan 32 työkalu ;ajetaan akselit Y ja Z vaihtoasemaan ja vaihdetaan valittu työkalu ;esivalitaan nollatyökalu ;ajetaan kaikki akselit vaihtoasemaan ja vaihdetaan nollatyökalu karaan Karassa on käytettävä ainakin kahta eri työkalua ohjelman aikana ja lopuksi vaihdettava nollatyökalu karaan. Näin varmistetaan se, ettei ohjauksen työkalumuisti mene sekaisin.
Koordinaatiston määritteleminen tehdään yleensä siten, että ohjelman alussa määritellään tarvittavat työkoordinaatistot ja myöhemmin otetaan käyttöön kulloinkin käytettävä koordinaatisto (G54 G59) Koordinaatistojen määritys tehdään käskyllä G10L2P1X...Y...Z..., jossa G10 on tiedoston asetuskäsky, L2 kuvaa tiedoston tyypin (L yhdessä G10 kanssa tarkoittaa tiedostotyypin kuvausta, 2 kertoo että kyseessä on koordinaatistotiedosto). P kertoo mikä kuudesta työkoordinaatistosta kulloinkin määritellään seuraavasti P1 = G54, P2 = G55, P3 = G56, P4 = G57, P5 = G58 ja P6 = G59. Koordinaatistoja määritettäessä on varmistettava että G90 on voimassa (absoluuttinen ohjelmointi). Koordinaatistot voidaan määrittää myös G91 ollessa voimassa, mutta määritys tapahtuu tällöin aiemmin määritellyn vastaavan koordinaatiston suhteen, joten sitä käytetään yleensä vain tietyissä erikoistapauksissa. Koordinaatisto asetetaan voimaan käskyllä G90G54 (tai G55, G56...). G90 käyttö ei ole pakollista, jos se on jo voimassa. Mutta jos G91 sattuu olemaan voimassa (esim. työkalun vaihdon jälkeen) niin asetetun koordinaatiston lukuarvot lisääntyvät voimassaoleviin, jolloin origo asettuu täysin väärään paikkaan, siksi G90 käyttö on suositeltavaa aina käskyjen G54...G59 yhteydessä. (G91 käyttö voi olla harkittua tietyissä erikoistapauksissa).
Koordinaatistojen määrittelyissä olevien X, Y ja Z lukuarvot tarkoittavat liikematkaa jonka kara tekee siirtyessään koneen referenssiasemasta määriteltävän koordinaatiston origoon (vektori konekoordinaatiston origosta työkoordinaatiston origoon). Yleensä lukuarvot ovat miinus-merkkisiä. Seuraavassa esimerkki koordinaatiston määrittelystä ja asetuksesta % O7686 T24 G90 ;varmistetaan että määritys tapahtuu absoluuttisesti G10L2P1X-433.18Y-176.34Z-638.342 ;määritellään G54 koordinaatisto G10L2P2X-538.6Y-119.04Z-577.435 ;määritellään G55 koordinaatisto G10L2P3X-338.25Y-367.456Z-467.12 ;määritellään G56 koordinaatisto G91G30X0Y0Z0M6 G90G54 ;asetetaan G54 voimaan G90G55 ;asetetaan G55 voimaan G90G56 ;asetetaan G56 voimaan G90G55 ;asetetaan G55 uudelleen voimaan M30 %
Esimerkki konekoordinaatistosta
Koordinaatistot voidaan määrittää myös ohjelman keskellä, siirtää voimassa olevaa tai käyttää kiinteää konekoordinaatistoa. Pituuden kompensaatiota käytetään jokaisella työkalulla. On yksinkertaisinta asettaa kompensaatio päälle heti työkalun käyttöönotossa ensimmäisen z-paikoituksen yhteydessä. Sitä ei tarvitse, eikä kannata, perua ennen työkalun pois vientiä. Käytettäessä käskyä G91G30X0Y0Z0 vaihtoasemaan menoon, peruuntuu pituuskompensaatio automaattisesti ilman erillistä käskyä. Pituuskompensaatio asetetaan käskyllä G43 ja perutaan G49 (mikäli tarpeen). Käskyn G43 yhteydessä on annettava muistipaikan numero, josta ko. työkalun pituus on luettavissa. Tämä annetaan käskyllä H(muistipaikan numero). Sekaannusten välttämiseksi talletetaan tietyn työkalun pituustieto saman numeroiseen paikkaan kuin ko. työkalu asetetaan makasiinissa. Esim. työkalun, joka on makasiinin paikassa 47, pituustieto saadaan käskyllä H47. Kun kompensaatio asetetaan päälle, siirtää ohjaus työkalun kärjen ohjelmoituun pisteeseen. Jos ollaan tilanteessa, jossa z-akseli on vaihtoasemassaan ja tällöin asetetaan kompensaatio päälle, siirtyy kara z-akselin suhteen plus-suuntaan ja ylittää liikealueen rajan. Tilanne vältetään sillä, että annetaan käskyn G43H.. yhteydessä jokin z-paikoitus. Tilanteen hallitsemiseksi z-arvo on syytä antaa aina G43 yhteydessä riippumatta siitä onko z-akseli vaihtoasemassa vai ei.
Työkalun pituuden kompensaatio
Esimerkki T24 G91G30X0Y0Z0M6 T36 G90G54 X150.Y212.S500F130.M3 G43H24Z100. ;varataan paikan 24 työkalu ;vaihdetaan paikan 24 työkalu ;seuraavan työkalun esivalinta ;luetaan muistipaikasta 24 pituus käyttöönotetulle työkalulle ja paikoitetaan työkalun kärki paikkaan z = 100 mm Jos tulee tilanne että halutaan peruuttaa pituuskompensaatio ilman työkalun vaihtoa, käytetään käskyä G49. Tällöin on huomattava että ohjaus siirtää karan paikkaan jossa työkalun kärki oli, joten jos ollaan lähellä kappaletta, on törmäysvaara ilmeinen, ellei käskyn G49 yhteydessä anneta myös zlle uutta, riittävän suurta arvoa. Ohjelmointi on mahdollista tehdä myös ilman pituuskompensaatiota, mutta se on hyvin hankalaa, joten sitä ei suositella. Kierrosnopeus annetaan käskyllä S (kierrosnopeus) tämä tulee antaa ennen tai viimeistään samassa lauseessa kuin kara laitetaan pyörimään. Kierrosnopeus annetaan positiivisena kokonaislukuna ilman pistettä.
Kara laitetaan pyörimään myötäpäivään (yleensä) käskyllä M3 ja vastapäivään (joissain erikoistapauksissa) käskyllä M4. Kara pysäytetään käskyllä M5. Työkalun vaihdon ja käskyjen M0 ja M1 yhteydessä kara pysähtyy automaattisesti. Esimerkki, kara laitetaan pyörimään myötäpäivään nopeudella 1725 kierrosta minuutissa. S1725M3 Koordinaattien lukuarvot ja syöttö. Akseleiden x, y ja z asematiedot annetaan millimetreinä siten, että täydet millit ilmoitetaan pisteen kanssa, kun taas ilman pistettä olevat arvot ovat tuhannesosamillimetrejä. Esimerkkejä X120. ;x = 120 mm Y250 ;y = 0,25 mm Z-462.364 ;z = -462,364 mm Y.75 ;y = 0,75 mm X0Y0. ;x = 0 mm ja y = 0 mm Ohjelmoitaessa koordinaattiarvoja, voidaan ne antaa joko absoluuttisena tai inkrementaalisena. Absoluuttisesti (G90 voimassa) arvot annetaan voimassa olevan koordinaatioston suhteen. Inkrementtaalisesti (G91) arvot annetaan sen pisteen suhteen, missä työkalu on käskyä annettaessa.
Syöttö annetaan millimetreinä minuutissa, joten siinä käytetään pistettä samoin kuin edelläkin. Syöttö on annettava ennen tai viimeistään silloin kun suoritetaan ensimmäinen syötöllä tehtävä liike. Syöttö, samoin kuin kierrosnopeuskin tarvitsee antaa vain silloin kun sen arvo muuttuu. Esimerkki G1X100. F150. ;liikutaan syötöllä 150 mm/min paikkaan x = 100 mm G0X150. ;pikaliikkellä paikkaan x = 150 mm G1X200. ;samalla syötöllä (150 mm/min) paikkaan x = 200 mm G0Y50.5 ;pikaliikkeellä paikkaan y = 50,5 mm G1X150.F120. ;syötöllä 120 mm/min paikkaan x = 150 mm Liikekäskyt. Samassa lauseessa voi olla vain yksi liikekäsky, joita ovat pikaliike G0, lineaarinen syöttöliike G1, ympyränkaari myötäpäivään G2 ja sama vastapäivään G3. Kun jokin edellä mainituista käskyistä asetetaan voimaan, on se myös voimassa niin kauan kuin seuraava käsky annetaan. Esimerkki G0Z-10. ;pikaliikkeellä paikkaan z = -10 mm G1X20.F200. ;syötöllä 200 mm/min paikkaan x = 20 mm Y35. ;samalla syötöllä paikkaan y = 35 mm X100.F150. ;syötöllä 150 mm/min paikkaan x = 100 mm Y-20. ;paikkaan y = -20. G0Z50. ;pikaliikkeellä paikkaan z = 50 mm
Kuten edellä esitetyistä esimerkeistä voi huomata annetaan paikoituksen yhteydessä vain ne koordinaatit, jotka muuttuvat. Lineaariliikkeen voi tehdä joko yhden, kahden tai kolmen akselin suhteen samanaikaisesti. Syöttöliikkeessä (G1) eri akselien keskinäinen liikenopeus on suhteessa toisiinsa siten, että kokonaisliike on lineaarinen. Pikaliikkeessä (G0) jokainen akseli liikkuu itsenäisesti uuteen asemaansa omalla pikaliikenopeudellaan, joten kokonaisliike ei välttämättä ole suoraviivainen. Tämä on syytä huomioida useamman akselin samanaikaisessa pikaliikepaikoituksessa. Ympyränkaariliikkeiden G2 ja G3 yhteydessä tarvitsee ilmoittaa paitsi liikkeen loppupiste, niin myös kaaren keskipiste. Keskipiste ilmoitetaan vektorina kaaren alkupisteestä keskipisteeseen siten, että I ilmoittaa x-akselin suuntaisen komponentin J vastaavasti y- akselin ja K z-akselin suuntaisen komponentin. Ympyränkaari voidaan ajaa kaikissa kolmessa kahden akselin muodostamassa tasossa (xy, yz, zx). Onko kyseessä myötä- vai vastapäivään tapahtuva kierto, katsotaan kulloinkin kolmannen akselin (ei ympyrän tasossa) positiiviselta puolelta negatiiviseen suuntaan.
Esimerkkejä Y 1. I=28. -4 2,3 0 6 2,3 0 9 0,3 0 J=-20. I=52. 1 0,1 0 9 0,2 G2 X62. I52. J-20. F120. ;ympyränkaari myötäpäivään pisteeseen x=62, y=30 kaaren keskipisteen ollessa paikassa x=10 ja y=10, syötön ollessa 120 mm/min G3 X90. Y2. I28. 2. ;kaari vastapäivään pisteeseen x=90 ja y=2, keskipiste on paikassa x=90 ja y=30, syöttö säilyy samana Huom. Esimerkissä annettiin vain muuttuvat x ja y arvot, vektorin I- tai J-arvoa ei tarvitse antaa silloin, kun se on nolla. Sädekompensaation käyttö on perusteltua erityisesti viimeistelyssä. Tarkkojen mittatoleranssien osalta se on lähes välttämätöntä. Myös rouhinnassa sen käytölle löytyy perusteluja. X
HUOM! Ympyräinterpolaatio voidaan ohjelmoida myös käyttämällä kaaren/ympyrän sädettä (R) keskipistevektoreiden sijasta. Ympyränkaaren suunta annetaan Rn etumerkillä (+ tai -). -4 2,3 0 6 2,3 0 9 0,3 0 1 0,1 0 9 0,2 G2 X62. I52. R55.714 G3 X90. Y2. R28. ;ympyränkaari myötäpäivään pisteeseen x=62, y=30 kaaren keskipisteen ollessa paikassa x=10 ja y=10, syötön ollessa 120 mm/min ;kaari vastapäivään pisteeseen x=90 ja y=2, keskipiste on paikassa x=90 ja y=30, syöttö säilyy samana
Sädekompensaatio asetetaan käskyllä G41 (vasemmalle) tai G42 (oikealle) ja perutaan käskyllä G40. Käskyt vaativat aina jonkin voimassa olevassa tasossa tapahtuvan paikoituksen. Esim. xy-tasossa vaaditaan x- ja/tai y-paikoitus jne. Se, käytetäänkö G41tä vai G42ta, määräytyy seuraavasti katsotaan karasta (xy-taso) päin työkalun liikesuuntaan, jos työkalu kulkee ohjelmoidun radan vasemmalla puolella käytetään G41tä, jos taas oikealla puolella niin käsky on G42. Esim. 1 0,9 0-1 0,7 5 2 0,6 0 1 2 0,6 0 2 0,1 0 1 2 0,1 0
G0X-10.Y75 ;pikaliikkeellä pisteeseen (-10,75) Z-15. ;paikoitus z-suunnassa -15 mmiin G41G1X20.Y60.D112F120.M8 ;paikoitus syötöllä 120 mm/min pisteeseen (20,60), luetaan säteen arvo muistipaikasta 112 asetetaan kompensaatio vasemmalle, jäähdytys X120. ;lineaariliike pisteeseen (120,60) Y10. ;pisteeseen (120,10), työkalu kiertää nurkan X20. ;pisteeseen (20,10), Y60. ;pisteeseen (20,60) G0G40X10.Y90.M9 ;pikaliikkeellä pisteeseen (10,90), kompensaatio pois, jäähdytys pois Lähestyttäessä kappaletta ympyränkaari-interpolaatiolla on kompensaatio asetettava päälle ennen kaarta, edellisen lineaariliikkeen aikana. Mentäessä työkalun vaihtoon on sädekompensaatio aina peruttava. Sädekompensaation lukuarvo luetaan käskyllä D(muistipaikan numero + 100). Esim työkalun numero 17 säteen lukuarvo löytyy käskyllä D117.
Työkierrot ovat makroaliohjelmia, jotka ovat sidotut tiettyihin G-käskyihin. Ohjauksessa kiinteästi olevat työkierrot ovat poraustyyppisiä. Käskyn yhteydessä annetaan kiertotyyppi, paluutaso, syvyys ja lähtötaso, sekä kiertotyypistä riippuvia määrityksiä. Lisäksi voidaan antaa toistojen lukumäärä. Syvyys, millä z-tasolla työkalu käy, annetaan z-arvolla. Lähtötaso määrittää mistä z-arvosta syöttöliike alkaa. Tämä annetaan käskyssä r-kirjaimella. On huomattavaa että työkalun on oltava r-tasolla tai sen yläpuolella työkiertoa annettaessa. Lisäksi r-tason on oltava z-tason yläpuolella. Paluutaso määrää z-arvon mihin työkalu palaa eri xy-paikoitusten välillä. Käskyllä G99 paluu tapahtuu r-tasolle. Käskyllä G98 paluu tapahtuu sille tasolle jossa työkalu on työkiertoa määriteltäessä, eli vähintään r-tasolle tai sen yläpuolelle. Tällä on merkitystä silloin, jos eri paikoitusten välillä on esteitä. Työkierron tyyppi annetaan G-kirjaimella seuraavan listan mukaisesti. Listalla on myös kuhunkin kiertoon liittyvät vaaditut lisäkäskyt G73 G74 G76 G80 (poraustyökierto lastunkatkaisuliikkeellä) (kierteytystyökierto vasenkätiselle kierteelle) (viimeistelyavarrustyökierto suunnatulla karan pysäytyksellä ja väistöliikkeellä, käsky vaatii väistöliikkeen määrittämisen, annetaan kiertolauseen yhteydessä q-kirjaimella, esim. Q0.5 (väistöliike 0,5 mm)) (työkierron peruutus, annattava aina viimeisen paikoituksen jälkeen)
G81 (poraustyökierto) G82 (poraustyökierto, viive pohjassa, annetaan p-kirjaimella sekuntteina, esim. P2 (viive pohjassa 2 s)) G83 (pitkän reiän poraus, vaatii askeleen pituuden, annetaan q-kirjaimella, esim. Q15. (askel 15 mm)) G84 (kierteytystyökierto) G85 (avarrustyökierto, paluu syöttöliikkeenä) G86 (avarrustyökierto, paluu pikaliikkeellä kara pysähtyneenä) G87 (takatasaustyökierto, työkalu menee kara pysäytettynä reikään väistöliikkeellä, väistöliike peruuntuu ja kara käynnistyy, syöttöliike z-akselin positiiviseen suuntaan, kara seis ja väistöliikkeellä ulos, väistöliike kuten käskyllä G76) G88 (avarrustyökierto viiveellä, karan pysäytyksellä ja paluu käsisyötöllä, viive kuten käskyssä G82) G89 (avarrustyökierto viiveellä ja syöttöliikkeellä, viive kuten käskyssä G82) Työkierron määrittävässä lauseessa toisto annetaan L-kirjaimella, oletusarvon ollessa 1, jos Ln arvoa ei anneta. Tällöin tehdään ensimmäinen kierto pisteeseen jossa työkalu on kierron määrittely hetkellä. Annettaessa L0 tehdään ensimmäinen kierto vasta määrittelylauseen jälkeisen lauseen määräämään paikkaan. Määrittelylauseen jälkeen voidaan antaa vain x ja/ tai y koordinaatteja kunnes kierto perutaan käskyllä G80. Koordinaatit voidaan antaa sellaisenaan tai kutsua aliohjelmaa, jossa vastaavat koordinaatit on annettu. Voidaan käyttää myös makroaliohjelmaa, jossa koordinaatit voidaan antaa matemaattisina lausekkeina.
Esimerkki G0Z20. ;paikoitetaan työkalun kärki tasolle Z=20mm X100.Y50. ;paikoitus kohtaan X=100 ja Y=50 G83G98R2.Z-40.Q15.M8 ;pitkän reiän poraus, pikaliikkeellä tasolle Z=2 poraus 15 mm kerrallaan tasolle Z=-40, jäähdytys päälle, paluu lopuksi tasolle Z=20 Y75. ;paikoitus kohtaan Y=75, poraus kuten edellä X80. ;paikoitus kohtaan X=80, poraus Y50. ;paikoitus kohtaan Y=50, poraus G80M9 ;perutaan porauskierto ja otetaan jäähdytys pois Poraustyökierto sisältää G1/G0 käskyt, joten vaikka esimerkissä paikoitukset tehdään pikaliikkeillä, niin itse porauksessa liikutaan myös syöttöliikkeellä.
M-käskyillä ohjataan koneistukseen liittyviä oheistoimintoja. Niitä voi olla vain yksi lauseessaan. Seuraavassa luettelo yleisimmistä M-käskyistä, ja kuvaus niiden toiminnasta M0 ;ohjelman pysäytys, ohjelman ajo keskeytyy ja kara pysähtyy M0 käskyyn ja jatkuu start-näppäimellä. Käytetään, kun halutaan kesken ohjelman tarkistaa, mitata tai puhdistaa jotakin (tai jostain muusta syystä). M1 ;valinnainen pysähdys, toimii muuten kuten M0, mutta ohjauspaneelissa on kytkin, jolla valitaan onko käsky toiminnassa vai eikö ole. M2 ;ohjelman loppu, lopettaa ohjelman suorituksen annetaan ennen lopetus- %-merkkiä, ei tarvita jos käytetään käskyä M30. M3 ;karan pyöritys myötäpäivään, käynnistää karan M4 ;karan pyöritys vastapäivään, käynnistää karan M5 ;karan pysäytys, käskyillä M0, M1, M2, M6, M19 ja M30 sekä niillä työkierroilla, jotka vaativat karan pysähtymistä, tapahtuu pysähdys automaattisesti, joten M5-käskyä tarvitaan vain poikkeustapauksissa. M6 ;työkalun vaihto, uuden työkalun tulee olla esivalittu, ja ainakin y-akselin on oltava vaihtoasemassaan. M8 ;jäähdytys päälle, käsky annettava pisteessä ennen lastuamista, jotta neste ehtii mukaan lastuamisen alussa.
M9 ;jäähdytys pois. M10 ;pyöröpöydän lukitus, B-käskyn yhteydessä lukitus tapahtuu automaattisesti. M11 ;pyöröpöydän lukittus auki, B-käskyssä kuten M10. M19 ;karan suunnattu pysäytys, työkierroissa tapahtuu automaattisesti, käytetään esim. eräissä mittaustilanteissa. M30 ;ohjelman lopetus ja kelaus alkuun, annetaan ennen lopetus-%-merkkiä, käytetään ohjelmissa joita ajetaan toistuvasti, vrt. M2. M60 ;paletin vaihto, pöydän oltava asennossa B0 ja akselien X ja Z oltava vaihtoasemassaan. M98 ;aliohjelman kutsu, aliohjelman numero annetaan P(ohj. no)-käskyllä M98-käskyn yhteydessä. M99 ;aliohjelman lopetus, annetaan aliohjelmassa ennen lopetus-%-merkkiä.
Pöydän kääntö annetaan aina positiivisena absoluuttisena astelukuna. Astelukuun ei laiteta pistettä. Pöydän käännön suunta saadaan katsomalla y-akselin positiivisesta suunnasta (ylhäältä), tällöin käsky B90 pyörittää pöytää 90 astetta myötäpäivään (jos pöytä on ollut asennossa B0). Pöytää käännettäessä on syytä varmistaa, että työkalu on riittävän kaukana työkappaleesta ja kiinnittimestä.
Aliohjelmat kutsutaan käskyllä M98P(aliohj.numero). Käskyssä voidaan antaa myös toistokerrat L-kirjaimella, esim. L4, aliohjelma suoritetaan neljä kertaa ennen paluuta pääohjelmaan. Ellei lukumäärää anneta, suoritetaan aliohjelma kerran. Aliohjelma alkaa kuten muutkin ohjelmat, %-merkillä ja ohjelman numerolla ja mahdollisesti nimellä. Tämän jälkeen ohjelma jatkuu siten, kun se pääohjelmaan liittyen on tarkoituksellista. Kun aliohjelmassa tehtävät toimenpiteet on annettu, niin annetaan käsky M99 ja sen jälkeen %-merkki. Tällöin suoritus palaa pääohjelmaan, joka jatkuu aliohjelman kutsulausetta seuraavasta lauseesta. % O7686 ;pääohjelman numero G81G99Z-20.R2.L0M8 ;poraustyökierto, jota ei suoriteta vielä, jäähdytys päälle M98P7687 ;kutsutaan aliohj. O7687, suoritus siirtyy aliohj. alkuun G80M9 ;perutaan työkierto ja poistetaan jäähdytys ;työkalun vaihto yms. G84G99Z-15.R5.L0M8 ;kierteytystyökierto, ei suoriteta vielä, jäähdytys päälle M98P7687 ;kutsutaan aliohj. O7687, suoritus siirtyy aliohj. alkuun G80M9 ;perutaan työkierto ja poistetaan jäähdytys M30 ;ohjelman lopetus ja kelaus alkuun %
% O7687(aliohj_O7686) ;aliohjelman numero ja nimi X100.Y10. ;paikoitus ja työkierron suoritus X90. ;uusi paikoitus ja suoritus X80. ; " X70Y20. ; " X80. ; " X90. ; " X100. ; " M99 ;paluu pääohjelmaan kutsulauseen jälkeiseen lauseeseen % X100. Y10.