Mine sisu juurde

G-kood

Allikas: Vikipeedia


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.

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

[muuda | muuda lähteteksti]

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

[muuda | muuda lähteteksti]

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.[1]

Tähtadressaat Kirjeldus Lisateave
A Asukoht 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.
B Asukoht B-teljel nullpunkti või lõikeriista hetke asukoha suhtes (B-telg on Y-telje ümber pöörlev telg)
C Asukoht C-teljel nullpunkti või lõikeriista hetke asukoha suhtes (C-telg on Z-telje ümber pöörlev telg)
D Defineerib 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 kompenseerimine
E Täpne ettenihke kiirus treipingil keermestamise operatsioonil.
F Defineerib ettenihke kiiruse. Enim kasutatavad pikkuse mõõtühikud on tolli minutis või millimeetrit minutis.
G Adresseerib 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.
H Defineerib lõikeriistale pikkusele vastava nihke. G43: negatiivse lõikeriista pikkuse kompensatsioon, G44: positiivse lõikeriista pikkuse kompensatsioon.
I Defineerib 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.
J Defineerib 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.
K Defineerib 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.
L Loeb 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)

M Mitmesugused funktsioonid. Toimingu koodid, täiendavad käsud; kirjeldused erinevad. Mitmed M-koodid kutsuvad välja masina funktsioonid.
N Rea 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).
O Programmi nimi Nä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“.
P Adressaadi 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öö
Q Fikseeritud tsükli korral lõiketera asukoha muutmine hetke asukoha suhtes. Näiteks: G73, G83 korral astmelise puurimise tsükkel
R Defineerib kaare raadiuse suuruse. Freesimise korral defineerib lõiketera eemaldumise kauguse fikseeritud tsükli operatsiooni ajal. Kõik kontrollerid ei toeta R adressaati.
S Defineerib 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.
T Töö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.
U X-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.
V Y-teljele vastav lisatelg. Enne 2000. aastat V adressaati kasutati väga harva, sest enamikul masinatel, millel oli U- ja W-telg puudus Y-telg.
W Z-teljele vastav lisatelg.
X Asukoht X-teljel nullpunkti või lõikeriista hetke asukoha suhtes. Osadel tööpinkidel defineerib pausi kestvuse (P ja U käskude asemel).
Y Asukoht Y-teljel nullpunkti või lõikeriista hetke asukoha suhtes
Z Asukoht Z-teljel nullpunkti või lõikeriista hetke asukoha suhtes Teljest, 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[2]

[muuda | muuda lähteteksti]

Märkus: Modaalsed käsud jäävad aktiivseks kuni asendamiseni või tühistamiseni. Mittemodaalsed käsud täidetakse vaid korra käsu edastamisel.

Kood Kirjeldus Freesimine

(F)

Treimine

( T )

Lisateave
G00 Kiirpaigutus F T Enam 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.
G01 Lineaarne interpolatsioon F T Peamine 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.
G02 Ringinterpolatsioon, liikumine päripäeva F T Kä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).
G03 Ringinterpolatsioon, liikumine vastupäeva F T Kehtib sama info, mis käsul G02.
G04 Paus F T Kä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 P10000 Kontuuride täppisjuhtimine F Kasutab suurt ettevaatamis puhvrit ja simuleerimist, et tagada parem liikumine kiirendamistel ja aeglustamistel.
G05.1 Q1. Kõrgtasemelise etteennustusega juhtimine F Kasutab suurt ettevaatamis puhvrit ja simuleerimist, et tagada parem liikumine kiirendamistel ja aeglustamistel.
G06.1 Parameetrilise spliini lõikamine[MA1] F Aktiveerib parameetrilise spliini ja parameetriliste joonte lõikamise [MA2] (kood on kasutusel Mazatrol 640M ISO programmeerimises).
G07 Kujuteldava telje määramine F
G09 Täppis peatumine

(mittemodaalne)

F T Modaalne versioon on G61.
G10 Programmeeritav andmete sisestamine F T Muudab töökoordinaadistiku ja tööriista nihkeid.
G11 Andmete kirjutamise tühistamine F T
G17 XY tasapinna valik F
G18 ZX tasapinna valik F T
G19 YZ tasapinna valik F
G20 Programmeerimine tollmõõdustikus F T Vä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.
G21 Programmeerimine meetermõõdustikus (mm) F T Kasutusel üle maailma, kuid eriolukordades võivad olla vajalikud mõlemad, nii G20 kui ka G21.
G28 Liikumine masina nullpunkti F T Parameetrina saab anda X-, Y- ja Z-koordinaadid (programmi nullpunkti suhtes) punktile, mida tööriist läbib nullpunkti liikudes.
G30 Liikumine masina sekundaarsesse nullpunkti F T Võ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.
G31 Ettenihe sisse signaali saamiseni F Kasutatakse mõõteproovikute ja tööriista pikkuse mõõtjatega.
G32 Üksikpunkti keermelõikamine T Sarnaneb G01-käsuga, lisatud on automaatne spindli sünkroonimine. Kasutatakse üksikpunkti keermelõikamiseks.
G33 Ühtlase sammuga keermestamine F
G33 Üksikpunkti keermelõikamine T Mõnedel treipingi kontrolleritel on üksikpunkti keermelõikamine G33 käsu all.
G34 Muutuva sammuga keermestamine F
G40 Lõikeriista raadiuse kompensatsiooni väljalülitamine F T Tühistab G41 ja G42 käsud.
G41 Lõikeriista raadiuse kompensatsioon vasakule F T Freesimine: 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.

G42 Lõikeriista raadiuse kompensatsioon paremale F T Sarnaneb G41-käsuga, kuid paremakäespiraaliga freesiga päripäeva (M03) pöörleva spindliga vastab G41 vastufreesimisele.
G43 Lõikeriista pikkuse kompensatsioon – negatiivne F Võ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).
G44 Lõikeriista pikkuse kompensatsioon – positiivne F Võtab parameetrina tööriista pikkuse nihke (enamasti H). Väärtus on positiivne kuna see lahutatakse mõõtepinna positsioonist.
G45 Telje nihke ühekordne suurendamine F
G46 Telje nihke ühekordne vähendamine F
G47 Telje nihke kahekordne suurendamine F
G48 Telje nihke kahekordne vähendamine F
G49 Lõikeriista pikkuse kompensatsiooni tühistamine F Tühistab käsud G43 ja G44.
G50 Spindli maksimaalne kiirus T Võtab parameetrina spindli pöörlemiskiiruse (S) pööretes minutis. Väldib G96 (Püsiv pinna kiirus) režiimis Spindli pöörete liiga suureks minemist.
G50 Skaleerimise väljalülitamine F
G50 Positsiooni register

(vektor detaili nullist tööriista tipuni)

T Tänapäeval vähem kasutatud kuna G54 kuni G59 (töö koordinaat süsteem) on paremad ja uuemad funktsioonid sama tulemuse saavutamiseks.
G52 Kohalik koordinaatsüsteem F Nihutab 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.
G53 Positsioneerimine masina koordinaatsüsteemis F T Võ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 G59 Töö koordinaatsüsteemid F T Töö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 P48 Laiendatud töö koordinaatsüsteemid F T Kuni 48 lisa töökoordinaatsüsteemi. Tähelepanu tuleb pöörata punktiga G-koodi käsule, kuna vanemad seadmed seda lugeda ei suuda.
G61 Täppis peatumine

(modaalne)

F T Tühistatakse käsuga G64. Mittemodaalne alternatiiv on G09.
G62 Automaatne kiiruse korrigeerimine nurkades F T
G64 Tühista täppis peatumine F T Tühistab käsu G61.
G68 Pööra koordinaatsüsteemi F Pöö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.
G69 Tühista koordinaatsüsteemi pööramine F Tühistab käsu G68.
G70 Tsükkel viimistluseks T
G71 Tsükkel musttöötluseks

(Z-telje rõhutusega)

T
G72 Tsükkel musttöötluseks

(X-telje rõhutusega)

T
G73 Tsükkel musttöötluseks mustri kordamisega T
G73 Astmeline puurimine (täieliku tagasitõmbamiseta) F Puur tõuseb astmete vahel põhjast vaid vaba liikumis kõrgusele (määratud süsteemi parameetrites) kasutatakse laastu murdmiseks.
G74 Astmeline puurimine treimisel T
G74 Keermestustsükkel vasakukäe keermele F Vaata G84 infot.
G75 Astmeline soone lõikamine T
G76 Täppispuurimistsükkel F Sisaldab spindli seiskamist täpses asendis ja liigutamist tsentrist eemale enne avast väljumist (väldib avast väljudes ava pinna kahjustamist).
G76 Keermestustsükkel mitme läbimiga T
G80 Lõpeta tsükkel F T Freesimine: 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.

G81 Lihtne puurimistsükkel F Puurimine ilma pausita ava põhjas.
G82 Lihtne puurimistsükkel pausiga F Puurimisel 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.
G83 Astmeline puurimine (täieliku tagasitõmbamisega) F Puur tõstetakse iga astme vahel kõrgusele R. Kasutatakse laastu eemaldamiseks puuritavast avast.
G84 Keermestustsükkel paremakäe keermele F G84 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.2 Keermestustsükkel paremakäe keermele jäiga keermestajaga F Jäigaks keermestamiseks sünkroonitakse spindli pöörlemine telgede liikumisega vastavalt tehtava keerme sammule. Jäik keermestamine on kasutatav vaid uuematel kõrgtasemelistel freesidel.
G84.3 Keermestustsükkel vasakukäe keermele jäiga keermestajaga F Vt G84.2 infot.
G85 Puurimistsükkel, lõikekiirusel sisse, lõikekiirusel välja F Kasulik tsükkel hõõritsa või lendteraga puurimisel kuigi viimase puhul võib töötava spindliga avast väljumine ava pinda kahjustada.
G86 Puurimistsükkel, lõikekiirusel sisse, spindli peatamine, positsioneerimiskiirusel välja F Kasutatav lendteraga puurimisel, kuigi avast väljudes jätab tera õrna kriimu ava pinnale.
G87 Puurimistsükkel tagapinna puurimiseks (backboring) F Lendteraga tagumise pinna puurimiseks läbi väiksema ava. Tera tõstetakse alati algsele kõrgusele.
G88 Puurimistsükkel, lõikekiirusel sisse, spindli peatamine, käsi juhtimisse üleminek F
G89 Puurimistsükkel, lõikekiirusel sisse, paus, lõikekiirusel välja F G89 käsk on nagu G85 kuid lisatud pausiga lõppsügavusel.
G90 Absoluutse positsiooniga programmeerimine F T (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.

G90 Tsükkel musttöötluseks

(Z-telje rõhutusega)

T (A) Juhul kui ei ole kasutusel absoluutse positsioneerimise määramiseks.
G91 Inkrementaalse positsiooniga programmeerimine F T (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.

G92 Positsiooni register

(vektor detaili nullist tööriista tipuni)

F T (B) Freesimine: sama info mis käsu G50 kohta.

Treimine: osadel seadmetel sama mis freesimisel kuid suuremal osal tuleb kasutada käsku G50.

G92 Keermestamistsükkel T (A)
G94 Ettenihke kiirus aja järgi (ühikut minutis) F T (B) Suuremal osal seadmetest tuleb kasutada selle asemel G98.
G94 Tsükkel musttöötluseks

(Z-telje rõhutusega)

T (A) Kui ei ole kasutusel ettenihke kiiruse jaoks aja järgi.
G95 Ettenihke kiirus spindli pöörete järgi (ühikut pöörde kohta) F T (B) Suuremal osal seadmetest on vaja kasutada selle asemel G99 käsku.
G96 Püsiv pinnakiirus T Mää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.
G97 Püsiv spindli kiirus F T Tühistab käsu G96. Võtab täisarvulise parameetrina S pöörlemiskiiruse pööretes minutis. Püsiv spindli kiirus on vaikimisi olek.
G98 Liigu tsüklis algsele Z kõrgusele F
G98 Ettenihke kiirus aja järgi (ühikut minutis) T (A) Ettenihke kiirus aja järgi on osadel seadmetel käsk G94.
G99 Liigu tsüklis R kõrgusele F
G99 Ettenihke 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.
G100 Tööriista pikkuse mõõtmine F

Nimekiri treimise ja freesimise M-koodi käskudest

[muuda | muuda lähteteksti]
Kood Kirjeldus Treimine

(T)

Freesimine

(F)

Lisateave
M00 Kohustuslik tegevuse peatamine T F Masin lõpetab tegevuse.
M01 Valikuline tegevuse peatamine T F Masin lõpetab tegevuse, kui operaator vajutab stoppnuppu.
M02 Programmi lõpp T F Programm 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.
M03 Spindli pöörlemine päripäeva T F Spindli kiirus on tähtadressaadiga S. Spindli pöörlemissuuna määramisel kasutatakse parema käe reeglit.
M04 Spindli pöörlemine vastupäeva T F
M05 Spindli seiskamine T F
M06



Automaatne lõikeriista vahetus T (kasutatakase harva) F On mõeldud enamasti freesimise jaoks, mis kasutavad automaatset tööriistavahetussüsteemi (ATC).
M07 Jahutus aerosoolina T F
M08 Jahutus joana T F
M09 Jahutus väljas T F
M10 Freesimise aluse kinnitus F
M11 Freesimise aluse kinnituse vabastus F
M13 Spindli pöörlemine päripäeva ja jahutus joana F Täidab koodi M03 ja M08 ülesanded. Sellised kombeeritud koodid teevad koodi kirjutamise lühemaks ja kiiremaks.
M19 Spindli orientatsioon T F Tavaliselt toimud automaatselt või manualselt seadistuse ajal.

Valitakse, millise nurga alla spindel pannakse. Kasutatakse uuematel treipinkidel, millel on võimalus vahedata lõiketerasid.

M21 X-telje peegeldamine F
M21 Tagapukk edasi T
M22 Y-telje peegeldamine F
M22 Tagapukk tagasi T
M23 Telgede peegeldamine välja F
M23 Keerme järkjärguline väljatõmme, sees T
M24 Keerme järkjärguline väljatõmme, väljas T
M30 Programmi lõpp, ning käsk mina programmi algusse T F Tänapaeval on M30 standardne koodi lõpp. Enamik kontrollereid toetab ka koodi M02, kuid loeb seda kui M30.
M41 Kiirusülekande astme valik – aste 1 T
M42 Kiirusülekande astme valik – aste 2 T
M43 Kiirusülekande astme valik – aste 3 T
M44 Kiirusülekande astme valik – aste 4 T
M48 Ettenihke käsitsi muutmine lubatud T F Lubab käsitsi ettenihet muuta.
M49 Ettenihke käsitsi muutmine keelatud T F Keelab käsitsi ettenihet muuta. Kutsutakse tavaliselt välja automatselt keermete tegemisel, kus ettenihe on seotud lõikekiirusega.
M52 Eemaldab viimase tööriista spindlilt T F
M60 Automaatne freesims aluse muutmine() F
M98 Kutsub välja alamprogrammi Kastutab adressi P selleks, et aru saada, millist alamprogrammi välja kutsuda. Näiteks kood M98 P8979 kutsub välja alamprogrammi O8979.
M99 Alamprogrammi lõpp Lisatakse alamprogrammi lõppu selleks, et anda juhtimine tagasi põhiprogrammile. Kasutatakse ka põhiprogrammis selleks, et luua tsükkel.

Programmeerimiskeskkonnad

[muuda | muuda lähteteksti]

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.

  1. Smid, Peter (2008). CNC Programming Handbook (3rd ed.). New York: Industrial Press.
  2. "List of G-codes". haascnc.com. Vaadatud 15.05.2020.