G-kood

G-kood on programmeerimiskeel, mis on automatiseeritud tööpingile käskude edastamise keel. G-koodis on defineeritud lõikeriista trajektoor, selle liikumise kiirus jpm. G-koodi kasutatakse erinevate tööpinkide tööle seadistamiseks, näiteks treipingi, freespingi, 3D-printeri, mõõteriistade jpm seadistamiseks.

 Rakendused 
Esimest korda rakendati arvprogrammjuhtimist 1950. aastate lõpus. Hiljem on seda oluliselt täiustatud. Esimene standard USA-s kinnitati 1960. aastatel. Lõplik versioon standardist RS-274-D kinnitati 1980. aastal. Teistes riikides kasutatakse teistsuguseid standardeid, näiteks ISO 6983 on sagedasti kasutatav standard, aga mitmed Euroopa riigid kasutavad teisi standardeid. Näiteks Saksamaal kasutatakse DIN 66025 standardit.

Erinevad tööpinkide tootjad on loonud G-koodist variatsioone ja täiendanud seda iseseisvalt. Tööpinkide operaatorid peavad olema teadlikud eri tootjate tööpinkide eripäradest.

1970.–1990. aastatel proovisid mitmed arvprogrammjuhitavate tööpinkide tootjad lahendada ühilduvusprobleeme, luues standardeid Fanuci tööpinkide kontrolleritele. Euroopas domineeris arvprogrammjuhitavate tööpinkide turul Siemens. Alates 2010. aastast pole ühilduvuse probleemid enam aktuaalsed, seda seetõttu, et enamik raalprojekteerimise programme konverteerivad mudeli vajadusel G-koodiks, mis on tööpingile loetav.

Mõned arvprogrammjuhitavad tööpingid kasutavad „kõnekeelset“ programmeerimist, mis peidab G-koodi kasutaja eest või ei kasuta seda üldse. Mõned populaarsed näited: Okuma Advanced One Touch (AOT), Southwestern Industriesi ProtoTRAK, Mazaki Mazatrol, Hurco Ultimax ja Winmax, Haasi Intuitive Programming System (IPS), ja Mori Seiki CAPS kõnekeelne programm.

 Spetsiifilised koodid 
G-koodid, mida kutsutakse ka ettevalmistavateks koodideks, on CNC programmis kõik sõnad, mis algavad tähega G. Lihtsustatult on see kood, mis ütleb masinale, mis tüüpi operatsiooni sooritada, näiteks:

 kiire liikumine (lõike operatsioonide vahel lõikeriista transportimine võimalikult kiiresti);
 kontrollitud sirgjooneline või kaarjas ettenihe;
 kontrollitud liikumiste seeria, mille tulemuseks võib olla ava puurimine, toorikule kindla dimensiooni andmine või tooriku serva töötlemine;
 lõiketera parameetrite defineerimine, näiteks nihe;
 koordinaatsüsteemi vahetamine.

Lisaks eelpool mainitule on veel mitmeid koode.

On etteheidetud, et termin G-kood on ebatäpne, sest täht „G“ on üks vähestest koodis kasutatavatest sümbolitest. G-koodis on kasutusel kõik inglise keelse tähestiku sümbolid. Täht „G“ viitab ainult vähestele koodidele, mida kasutatakse arvprogrammjuhtimises, näiteks G00, G01, G28.

 Tähtadressaat 
Mõningaid tähtadressaate kasutatakse ainult freesimisel ja osa ainult treimisel, kuid enamikku kasutatakse mõlemat liiki tööpinkidel. Paksus kirjas välja toodud tähtadressaadid on arvprogrammjuhtimise koodis enim kasutatavad adressaadid.
TähtadressaatKirjeldusLisateaveAAsukoht A-teljel nullpunkti või lõikeriista hetke asukoha suhtes (A-telg on X-telje ümber pöörlev telg)Positiivne pöörlemine on defineeritud päripäeva suunalise pöörlemisena, X-telje positiivsest suunast negatiivse suunani.BAsukoht B-teljel nullpunkti või lõikeriista hetke asukoha suhtes (B-telg on Y-telje ümber pöörlev telg)CAsukoht C-teljel nullpunkti või lõikeriista hetke asukoha suhtes (C-telg on Z-telje ümber pöörlev telg)DDefineerib diameetri või radiaalse nihke, mis on vajalik lõiketera kompenseerimiseks. Treipingil kasutatakse D adressaati lõike sügavuse defineerimiseks.G41: vasak poolse lõiketera kompenseerimine; G42: parempoolse lõiketera kompenseerimineETäpne ettenihke kiirus treipingil keermestamise operatsioonil.FDefineerib ettenihke kiiruse.Enim kasutatavad pikkuse mõõtühikud on tolli minutis või millimeetrit minutis.GAdresseerib ettevalmistuskäsud.Sagedasti G käsud defineerivad, millist liikumist kasutatakse (nt. kiire positsioneerimine, lineaarne ettenihe, kaarjas ettenihe, fikseeritud tsükkel) või kui suurt ettenihet rakendada.HDefineerib lõikeriistale pikkusele vastava nihke.G43: negatiivse lõikeriista pikkuse kompensatsioon, G44: positiivse lõikeriista pikkuse kompensatsioon.IDefineerib kaare keskpunkti X-teljel. Kasutatakse G02 või G03 kaare käsu täiendina. Kasutatakse ka parameetrina osades fikseeritud tsüklites.Kaare keskpunkt on suhteline kaugus hetke asukohast, mitte absoluutne kaugus koordinaat telgede alguspunktist.JDefineerib kaare keskpunkti Y-teljel. Kasutatakse G02 või G03 kaare käsu täiendina. Kasutatakse ka parameetrina osades fikseeritud tsüklites.Kaare keskpunkt on suhteline kaugus hetke asukohast, mitte absoluutne kaugus koordinaat telgede alguspunktist.KDefineerib kaare keskpunkti Z-teljel. Kasutatakse G02 või G03 kaare käsu täiendina. Kasutatakse ka parameetrina osades fikseeritud tsüklites, võrdne L adressaadiga.Kaare keskpunkt on suhteline kaugus hetke asukohast, mitte absoluutne kaugus koordinaat telgede alguspunktist.LLoeb fikseeritud tsükli korduste arvu. Täpsustus koodile G10, ütleb millist registrit täiendada.Fikseeritud tsükli korduste loendur – defineerib korduste arvu. Väärtuseks loetakse 1 kui pole teisiti programmeeritud. Vahel kasutatakse adressaati K samal otstarbel. Asukoha põhise positsioneerimise (G91) korral on otstarbekas kasutada tsüklit võrdsete avade tegemiseks, mitte individuaalseid asukohti.

G10 korral: ütleb, millist registrit täiendada (tooriku nihe, lõikeriista radiaalne nihe, lõikeriista pikkuse nihe jne)MMitmesugused funktsioonid.Toimingu koodid, täiendavad käsud; kirjeldused erinevad. Mitmed M-koodid kutsuvad välja masina funktsioonid.NRea või ploki number. Muudetava süsteemi parameetri valimiseks käsu G10 korral.Ploki/rea number – valikuline kuid tihti omistatud. Vajalik mõningate käskude korral, näiteks käsu M99 P korral (ütleb millise ploki juurde naasta, juhul kui ei ole valitud, siis programm valib vaikimisi valiku).OProgrammi nimiNäiteks O4501. CNC kontrollerite kuvaritel oli mitmeid aastaid tavaks kuvada nulli, selliselt, et sealt oli kriips üle tõmmatud. See oli oluline selleks, et see oleks kergemini eristatav tähest „O“.PAdressaadi parameeter mitmetele G- ja M- koodidele. Koos G04 – defineerib pausi pikkuse
 Defineerib ka suletud tsükli korral pausi pikkuse või mõne teise muutuja
 Kutsub välja mõne alamprogrammi või lõpetab selle tööQFikseeritud tsükli korral lõiketera asukoha muutmine hetke asukoha suhtes.Näiteks: G73, G83 korral astmelise puurimise tsükkelRDefineerib kaare raadiuse suuruse. Freesimise korral defineerib lõiketera eemaldumise kauguse fikseeritud tsükli operatsiooni ajal.Kõik kontrollerid ei toeta R adressaati.SDefineerib kiiruse, kas spindli kiiruse või tooriku pinna kiiruse.Andmetüüp on täisarv. G97 režiimil (tavaliselt vaikimisi valik) interpreteerib pöörlemise kiiruse pärast S adressaati. G96 režiimi korral interpreteerib tooriku pinna kiiruse.TTööriista valik.T adressaadi kasutamiseks on vajalik mõista kuidas tööpink tööriistu vahetab. Kas on automaatne või on käsitsi vahetatav tööriist, kas tööriistad saab salvestada mällu jne.UX-teljele vastav lisatelg. Osadel tööpinkidel defineerib pausi kestvuse (P ja X käskude asemel)X ja U käsud tühistavad G90 ja G91 käsud.VY-teljele vastav lisatelg.Enne 2000. aastat V adressaati kasutati väga harva, sest enamikul masinatel, millel oli U- ja W-telg puudus Y-telg.WZ-teljele vastav lisatelg.XAsukoht X-teljel nullpunkti või lõikeriista hetke asukoha suhtes. Osadel tööpinkidel defineerib pausi kestvuse (P ja U käskude asemel).YAsukoht Y-teljel nullpunkti või lõikeriista hetke asukoha suhtesZAsukoht Z-teljel nullpunkti või lõikeriista hetke asukoha suhtesTeljest, millel pöörleb peamine spindel, oleneb tihti, milline telg nimetatakse Z-teljeks.

 Nimekiri levinumatest treimise ja freesimise G-koodi käskudest Fanuci ja teistel sarnase disainiga kontrolleritel
Märkus: Modaalsed käsud jäävad aktiivseks kuni asendamiseni või tühistamiseni. Mittemodaalsed käsud täidetakse vaid korra käsu edastamisel.
KoodKirjeldusFreesimine

(F)Treimine

( T )LisateaveG00KiirpaigutusFTEnam kui üheteljelistel liikumistel G00 (erinevalt G01-st) ei pruugi minna sihtkohta sirgjooneliselt, vaid teljed liigutatakse lõppasendisse iga telje maksimaalkiirusel. Sellest tulenevalt võib tekkida liikumistrajektoorile kõverus millega tuleb koodi kirjutamisel arvestada. Tänapäevased masinad liiguvad enamasti sirgjooneliselt ka kiirpaigutamisel.G01Lineaarne interpolatsioonFTPeamine töökäsk lõiketöötlemisel. Juhtseade arvutab vastavalt algpunktile ja etteantud sihtpunktile läbitavad punktid ning telgede liikumiskiirused, et saavutada sirgjooneline liikumine õige kiirusega.G02Ringinterpolatsioon, liikumine päripäevaFTKäsk ringjoonelise liikumise jaoks. Sarnaselt G01-käsuga liigub tööriist etteantud kiirusega. G02- ja G03-käsule antakse lisaks lõpp-punktile parameetritena kas R (ringjoone raadius) või I, J ja K (ringi keskpunkti koordinaadid kaare alguspunkti suhtes). Suuremal osal kontrolleritest ei ole võimalik lõikeriista raadiuse kompenseerimist sisse lülitada ringinterpolatsiooni plokis. Juhul kui ringjoone algus ning lõpp-punkt asuvad samas kohas lõigatakse täisring. (Osadel vanematel seadmetel ei ole see võimalik ja ringjoon tuleb jagada neljaks sektoriks).G03Ringinterpolatsioon, liikumine vastupäevaFTKehtib sama info, mis käsul G02.G04PausFTKäsule antakse parameetrina pausi pikkus (X, U või P) enamasti millisekundites. Osades seadmetes saab kasutada X parameetrit sekundite ja P parameetrit millisekundite jaoks. Enamasti on vajalikud pausi ajad väga lühikesed ja peaksid kestma vaid paari spindli pöörde aja.G05 P10000Kontuuride täppisjuhtimineFKasutab suurt ettevaatamis puhvrit ja simuleerimist, et tagada parem liikumine kiirendamistel ja aeglustamistel.G05.1 Q1.Kõrgtasemelise etteennustusega juhtimineFKasutab suurt ettevaatamis puhvrit ja simuleerimist, et tagada parem liikumine kiirendamistel ja aeglustamistel.G06.1Parameetrilise spliini lõikamine[MA1] FAktiveerib parameetrilise spliini ja parameetriliste joonte lõikamise [MA2] (kood on kasutusel Mazatrol 640M ISO programmeerimises).G07Kujuteldava telje määramineFG09Täppis peatumine

(mittemodaalne)FTModaalne versioon on G61.G10Programmeeritav andmete sisestamineFTMuudab töökoordinaadistiku ja tööriista nihkeid.G11Andmete kirjutamise tühistamineFTG17XY tasapinna valikFG18ZX tasapinna valikFTG19YZ tasapinna valikFG20Programmeerimine tollmõõdustikusFTVäljaspool USA-d vähe kasutatud. Tollmõõdustikus on vähim muudetav samm (0,0001 tolli) suurem kui meetermõõdustikus (0,001 mm), seega on meetermõõdustikus programmeerimine eelistatum.G21Programmeerimine meetermõõdustikus (mm)FTKasutusel üle maailma, kuid eriolukordades võivad olla vajalikud mõlemad, nii G20 kui ka G21.G28Liikumine masina nullpunktiFTParameetrina saab anda X-, Y- ja Z-koordinaadid (programmi nullpunkti suhtes) punktile, mida tööriist läbib nullpunkti liikudes.G30Liikumine masina sekundaarsesse nullpunktiFTVõtab parameetrina väärtuse P, mis määrab, millisesse sekundaarsesse nullpunkti liigutakse juhul, kui on mitu sekundaarset nullpunkti (P1–P4). Lisaks saab parameetrina anda X-, Y- ja Z-koordinaadid (programmi nullpunkti suhtes) punktile, mida tööriist läbib nullpunkti liikudes.G31Ettenihe sisse signaali saamiseniFKasutatakse mõõteproovikute ja tööriista pikkuse mõõtjatega.G32Üksikpunkti keermelõikamineTSarnaneb G01-käsuga, lisatud on automaatne spindli sünkroonimine. Kasutatakse üksikpunkti keermelõikamiseks.G33Ühtlase sammuga keermestamineFG33Üksikpunkti keermelõikamineTMõnedel treipingi kontrolleritel on üksikpunkti keermelõikamine G33 käsu all.G34Muutuva sammuga keermestamineFG40Lõikeriista raadiuse kompensatsiooni väljalülitamineFTTühistab G41 ja G42 käsud.G41Lõikeriista raadiuse kompensatsioon vasakuleFTFreesimine: paremakäespiraaliga freesiga päripäeva (M03) pöörleva spindliga vastab G41 pärifreesimisele. Parameetrina võtab lõikeriista raadiuse (D või H).

Treimine: tihti ei ole nihke parameeter vajalik kuna kõigil magasinis olevatel teradel on nihke väärtus juba määratud

Freesimisel on käsud G41 ja G42 üldiselt kasutuselt kadunud kuna seoses arvutiga lõikekoodide genereerimisega ei pea enam koodis lõikeriista mõõtusid kompenseerima. Parandus siiski tehakse kuid seda juba arvuti poolt vastavalt määratud tööriistale.G42Lõikeriista raadiuse kompensatsioon paremaleFTSarnaneb G41-käsuga, kuid paremakäespiraaliga freesiga päripäeva (M03) pöörleva spindliga vastab G41 vastufreesimisele.G43Lõikeriista pikkuse kompensatsioon – negatiivneFVõtab parameetrina tööriista pikkuse nihke (enamasti H). Väärtus on negatiivne kuna see lisatakse mõõtepinna positsioonile (G43 on rohkem kasutatav võrreldes G44 käsuga).G44Lõikeriista pikkuse kompensatsioon – positiivneFVõtab parameetrina tööriista pikkuse nihke (enamasti H). Väärtus on positiivne kuna see lahutatakse mõõtepinna positsioonist.G45Telje nihke ühekordne suurendamineFG46Telje nihke ühekordne vähendamineFG47Telje nihke kahekordne suurendamineFG48Telje nihke kahekordne vähendamineFG49Lõikeriista pikkuse kompensatsiooni tühistamineFTühistab käsud G43 ja G44.G50Spindli maksimaalne kiirusTVõtab parameetrina spindli pöörlemiskiiruse (S) pööretes minutis. Väldib G96 (Püsiv pinna kiirus) režiimis Spindli pöörete liiga suureks minemist.G50Skaleerimise väljalülitamineFG50Positsiooni register

(vektor detaili nullist tööriista tipuni)TTänapäeval vähem kasutatud kuna G54 kuni G59 (töö koordinaat süsteem) on paremad ja uuemad funktsioonid sama tulemuse saavutamiseks.G52Kohalik koordinaatsüsteemFNihutab ajutiselt programmi nullpunkti lisa nihkena töö koordinaatsüsteemile. Mõningatel juhtudel aitab lihtsustada programmeerimist näiteks mitme ühesuguse detaili valmistamisel. Parameetritena võtab G52 null positsiooni nihutamis vektori. Ajutise nihke välja lülitamiseks tuleb uuesti kutsuda käsk G52 positsiooni parameetritega kus kõikidele telgedele on väärtuseks antud null. Sama tulemuse saavutamiseks on ka palju teisi võimalusi.G53Positsioneerimine masina koordinaatsüsteemisFTVõtab parameetrina positsiooni (X, Y, Z, A, B, C) masina nullpunkti suhtes. Kasutatakse näiteks tööriista vahetusel. G53 on mittemodaalne ja alati absoluutpositsioonina. Kui on soov teha mitu masina koordinaatsüsteemis liikumist järjest on vaja iga kord anda käsk uuesti.G54 to G59Töö koordinaatsüsteemidFTTöökoordinaatsüsteemid on suuresti asendanud positsiooni registrid (G50 ja G90). Iga korteež (tavaliselt on neid kuus pluss laiendatud töö koordinaatsüsteemid) on eraldi seotud masina koordinaatsüsteemiga.G54.1 P1 to P48Laiendatud töö koordinaatsüsteemidFTKuni 48 lisa töökoordinaatsüsteemi. Tähelepanu tuleb pöörata punktiga G-koodi käsule, kuna vanemad seadmed seda lugeda ei suuda.G61Täppis peatumine

(modaalne)FTTühistatakse käsuga G64. Mittemodaalne alternatiiv on G09.G62Automaatne kiiruse korrigeerimine nurkadesFTG64Tühista täppis peatumineFTTühistab käsu G61.G68Pööra koordinaatsüsteemiFPöörab koordinaatsüsteemi kasutusel olevas tasapinnas (valitud käskudega G17 kuni G19). Pööramise tsenti parameetrid sõltuvad seadme tootjast. Pöörde nurk antakse parameetriga R. Koordinaatsüsteemi pööramine on kasulik ebatäpselt paigutatud detaili korrigeerimiseks või radiaalselt lõigete kordamiseks. G68 käsk ei ole kasutatav kõigil kontrolleritel.G69Tühista koordinaatsüsteemi pööramineFTühistab käsu G68.G70Tsükkel viimistluseksTG71Tsükkel musttöötluseks

(Z-telje rõhutusega)TG72Tsükkel musttöötluseks

(X-telje rõhutusega)TG73Tsükkel musttöötluseks mustri kordamisegaTG73Astmeline puurimine (täieliku tagasitõmbamiseta)FPuur tõuseb astmete vahel põhjast vaid vaba liikumis kõrgusele (määratud süsteemi parameetrites) kasutatakse laastu murdmiseks.G74Astmeline puurimine treimiselTG74Keermestustsükkel vasakukäe keermeleFVaata G84 infot.G75Astmeline soone lõikamineTG76TäppispuurimistsükkelFSisaldab spindli seiskamist täpses asendis ja liigutamist tsentrist eemale enne avast väljumist (väldib avast väljudes ava pinna kahjustamist).G76Keermestustsükkel mitme läbimigaTG80Lõpeta tsükkelFTFreesimine: tühistab kõik suletud tsüklid (näiteks G73, G81, G83 jne). Z-telg liigutatakse algsele kõrgusele või kõrgusele R (sõltuvalt käskudest G98 ja G99)

Treimine: üldiselt ei kasutata kuna käsud G00 kuni G03 tühistavad aktiivse tsükli.G81Lihtne puurimistsükkelFPuurimine ilma pausita ava põhjas.G82Lihtne puurimistsükkel pausigaFPuurimisel tehakse paus lõpp sügavusel parameetriga P määratud ajaks (millisekundites). Kasutatakse näiteks parema ava põhja viimistluse saamiseks või tsentrite märkimisel.G83Astmeline puurimine (täieliku tagasitõmbamisega)FPuur tõstetakse iga astme vahel kõrgusele R. Kasutatakse laastu eemaldamiseks puuritavast avast.G84Keermestustsükkel paremakäe keermeleFG84 ja G74 on parema käe ja vasaku käe keermete lõikamise tsüklid vanemat tüüpi ujuva keermestustööristaga keermete lõikamiseks.G84.2Keermestustsükkel paremakäe keermele jäiga keermestajagaFJäigaks keermestamiseks sünkroonitakse spindli pöörlemine telgede liikumisega vastavalt tehtava keerme sammule. Jäik keermestamine on kasutatav vaid uuematel kõrgtasemelistel freesidel.G84.3Keermestustsükkel vasakukäe keermele jäiga keermestajagaFVt G84.2 infot.G85Puurimistsükkel, lõikekiirusel sisse, lõikekiirusel väljaFKasulik tsükkel hõõritsa või lendteraga puurimisel kuigi viimase puhul võib töötava spindliga avast väljumine ava pinda kahjustada.G86Puurimistsükkel, lõikekiirusel sisse, spindli peatamine, positsioneerimiskiirusel väljaFKasutatav lendteraga puurimisel, kuigi avast väljudes jätab tera õrna kriimu ava pinnale.G87Puurimistsükkel tagapinna puurimiseks (backboring)FLendteraga tagumise pinna puurimiseks läbi väiksema ava. Tera tõstetakse alati algsele kõrgusele.G88Puurimistsükkel, lõikekiirusel sisse, spindli peatamine, käsi juhtimisse üleminekFG89Puurimistsükkel, lõikekiirusel sisse, paus, lõikekiirusel väljaFG89 käsk on nagu G85 kuid lisatud pausiga lõppsügavusel.G90Absoluutse positsiooniga programmeerimineFT (B)Freesimine: positsioneerimine programmi nullpunkti suhtes.

Treimine: osal seadmetest positsioneerimine programmi nullpunkti suhtes, kuid enamikul seadmetest kasutatakse parameetreid U ja W inkrementaalseks positsioneerimiseks ning X ja Z absoluutseks positsioneerimiseks.G90Tsükkel musttöötluseks

(Z-telje rõhutusega)T (A)Juhul kui ei ole kasutusel absoluutse positsioneerimise määramiseks.G91Inkrementaalse positsiooniga programmeerimineFT (B)Freesimine: positsioneerimine hetke asukoha suhtes.

Treimine: osal seadmetest positsioneerimine hetkeasukoha suhtes, kuid suuremal osal seadmetest kasutatakse parameetreid U ja W inkrementaalseks positsioneerimiseks ning X ja Z absoluutseks positsioneerimiseks.G92Positsiooni register

(vektor detaili nullist tööriista tipuni)FT (B)Freesimine: sama info mis käsu G50 kohta.

Treimine: osadel seadmetel sama mis freesimisel kuid suuremal osal tuleb kasutada käsku G50.G92KeermestamistsükkelT (A)G94Ettenihke kiirus aja järgi (ühikut minutis)FT (B)Suuremal osal seadmetest tuleb kasutada selle asemel G98.G94Tsükkel musttöötluseks

(Z-telje rõhutusega)T (A)Kui ei ole kasutusel ettenihke kiiruse jaoks aja järgi.G95Ettenihke kiirus spindli pöörete järgi (ühikut pöörde kohta)FT (B)Suuremal osal seadmetest on vaja kasutada selle asemel G99 käsku.G96Püsiv pinnakiirusTMäärab spindli kiiruse automaatselt vastavalt diameetrile, et saavutada ühtlane tera liikumiskiirus pinnal. Parameeter S määrab pinnakiiruse, kus tollmõõdustikus on ühikuks jalga minutis ja meetermõõdustikus meetrit minutis.G97Püsiv spindli kiirusFTTühistab käsu G96. Võtab täisarvulise parameetrina S pöörlemiskiiruse pööretes minutis. Püsiv spindli kiirus on vaikimisi olek.G98Liigu tsüklis algsele Z kõrguseleFG98Ettenihke kiirus aja järgi (ühikut minutis)T (A)Ettenihke kiirus aja järgi on osadel seadmetel käsk G94.G99Liigu tsüklis R kõrguseleFG99Ettenihke kiirus spindli pöörete järgi (ühikut pöörde kohta)T (A)Ettenihke kiirus spindli pöörete järgi on osadel seadmetel käsk G95.G100Tööriista pikkuse mõõtmineF

 Nimekiri treimise ja freesimise M-koodi käskudest 
KoodKirjeldusTreimine 

(T)Freesimine

(F)LisateaveM00Kohustuslik tegevuse peatamineTFMasin lõpetab tegevuse.M01Valikuline tegevuse peatamineTFMasin lõpetab tegevuse, kui operaator vajutab stoppnuppu.M02Programmi lõppTFProgramm lõpeb, koodi lugemine võib algusest peale alata, kuid see oleneb kontrollerist. M02 oli algne koodi lõppu tähis, kuid tänapäeval kasutatakse koodi M30. M02 hoitakse kasutuses selleks, et vanemad masinad saaks edasi töötada.M03Spindli pöörlemine päripäevaTFSpindli kiirus on tähtadressaadiga S. Spindli pöörlemissuuna määramisel kasutatakse parema käe reeglit.M04Spindli pöörlemine vastupäevaTFM05Spindli seiskamineTFM06Automaatne lõikeriista vahetusT (kasutatakase harva)F On mõeldud enamasti freesimise jaoks, mis kasutavad automaatset tööriistavahetussüsteemi (ATC).M07Jahutus aerosoolinaTFM08Jahutus joanaTFM09 Jahutus väljasTFM10Freesimise aluse kinnitus  FM11Freesimise aluse kinnituse vabastusFM13Spindli pöörlemine päripäeva ja jahutus joanaFTäidab koodi M03 ja M08 ülesanded. Sellised kombeeritud koodid teevad koodi kirjutamise lühemaks ja kiiremaks.M19Spindli orientatsioonTFTavaliselt toimud automaatselt või manualselt seadistuse ajal. 

Valitakse, millise nurga alla spindel pannakse. Kasutatakse uuematel treipinkidel, millel on võimalus vahedata lõiketerasid.M21X-telje peegeldamineFM21Tagapukk edasiTM22Y-telje peegeldamineFM22Tagapukk tagasiTM23Telgede peegeldamine väljaFM23Keerme järkjärguline väljatõmme, seesTM24Keerme järkjärguline väljatõmme, väljasTM30Programmi lõpp, ning käsk mina programmi algusseTFTänapaeval on M30 standardne koodi lõpp. Enamik kontrollereid toetab ka koodi M02, kuid loeb seda kui M30.M41Kiirusülekande astme valik – aste 1TM42Kiirusülekande astme valik – aste 2TM43Kiirusülekande astme valik – aste 3TM44Kiirusülekande astme valik – aste 4TM48Ettenihke käsitsi muutmine lubatudTFLubab käsitsi ettenihet muuta.M49Ettenihke käsitsi muutmine keelatudTFKeelab käsitsi ettenihet muuta. Kutsutakse tavaliselt välja automatselt keermete tegemisel, kus ettenihe on seotud lõikekiirusega.M52Eemaldab viimase tööriista spindliltTFM60Automaatne freesims aluse muutmine()FM98Kutsub välja alamprogrammiKastutab adressi P selleks, et aru saada, millist alamprogrammi välja kutsuda. Näiteks kood M98 P8979 kutsub välja alamprogrammi O8979.M99Alamprogrammi lõppLisatakse alamprogrammi lõppu selleks, et anda juhtimine tagasi põhiprogrammile. Kasutatakse ka põhiprogrammis selleks, et luua tsükkel.
 Programmeerimiskeskkonnad  

G-koodi programmeerimiskeskkonnad on arenenud koos tavaliste programmeerimiskeskkonnadadega. Alates koodi kirjutamisest paberile või nende sisselöömine perfolintidesse, tänapäeval genereeritakse G-kood CADi ja CAMi abil erinevates K-koodi redaktorites. G-koodi redaktorid, mis sarnanevad XML-redaktoritega, kasutavad värve, taandeid ja teisi vahendeid, et abistada kasutajaid mida tavaliste tekstiredaktoritega teha ei saa. G-koodi redaktorid on analoogsed integreeritud arenduskeskkondadele, mida kasutatakse tavalises programmeerimises.

G-koodi programmeerimisel on toimunud kaks suurt muudatust:

 Käsitsi programmeerimise (ehk kood kirjutati inimese poolt kas paberile või hiljem ka arvutisse) asendamine CAM tarkvara süsteemidega, mis genereerib G-koodi automaatselt vastavalt genereeritud tööriistarajale, mida mööda toimub lõikus.

 Algselt kirjutati programmi sisse kuidas peaks töötlemine toimuma, kuid see vahetati välja süüsteemiga, mis muudab koodi vastavalt parameetritele. Ehk selle asemel, et kirjutada väärtused koodi sisse, valitakse väärtused vastavalt parameetritele ja soovitud tulemusele.

Parameetriline CNC programm kasutab kasutajatele arusaadavaid muutuja nimesi, operaatoreid, tsükli struktuure, samamoodi nagu tava programmeerimiskeeled selleks, et koguda informatsiooni. Vanemad käsitsi kirjutatud koodid suutsid kirjeldada kindlaid juhtumeid arvuliselt, kuid tänapäeva kood suudab kirjeldada olukordi, mis kehtivad paljudel juhtudel.

Pikka aega on üritatud masinate ja tööriistade sisse ehitada võimekust teha asju, milleks varem on vaja läinud kontrollerit. Varem on seda üritatud teha läbi DAC-1 ja APT, mis on CAM-i ja CAD-i eelkäijad. Kuid need osutusid väga kalliks, tänu sellele said neid endale lubada vaid suured firmad, ja väiksemad firmad pidid ilma nende abita hakkama saama. Nad pidid kasutama lihtsamid süüsteeme, mis suutsid punktist punkti liikuda või kirjutama koodi käsitsi, nii kirjutati pikalt koodi kuni tulid CAD/CAM süsteemid. Tänu sellele on ka arenenud freesimis- ja treimismasinad. Näiteks on kasutusele võetud rohkemate telgedega masinad ja masinad mis suudavad teha freesi ja treipingi tööd. CAD/CAM süsteemid tõid endaga kaasa käsitsi koodi kirjutamise väljasuremise, kuna koodid on muutunud keerulisemaks ja pikkemaks. Hoolimata sellest on vajalik arusaam, kuidas erinevad pingid töötavad, et nende tööd optimeerida, ja väga spetsiifiliste lõigete tekemiseks on vaja, et spetsialist teeks vajalike muudatusi. Arvutite poolt genereeritud K-koodidel on ka puudusi, näiteks genereeritud koodid on pikemad ja seega on ka failid suuremad, vanematel pinkidel võib tekkida probleeme, kuna nende mälumaht pole piisav, lisaks võib genereeritud koodiga detaili töötlemine võtta kauem aega, kui tegemist on suurema koogusega detailidega võib vaja mina, et kogenud operaator optimeeriks koodi, et detailid kiiremini valmis saaks.

 Viited 

Kategooria:Programmeerimiskeeled