Ero sivun ”G-koodi” versioiden välillä
Rivi 24: | Rivi 24: | ||
|- | |- | ||
! Argumentti !! Ohjaa koodeja !! Toiminto | ! Argumentti !! Ohjaa koodeja !! Toiminto | ||
+ | |- | ||
+ | | '''P_''' || --- || Lyhennetty asemakoordinatin esitystapa. Sama kuin X_ Y_ Z_ missä _ tarkoittaa kordinaatin numeroarvoa. Myös vaihtoehtoiset koordinaatit kuten IJK, UVW jne. | ||
|- | |- | ||
| '''X, Y, Z''' || Modaali 01 koodit || Paikkakoordinaatit liikettä varten | | '''X, Y, Z''' || Modaali 01 koodit || Paikkakoordinaatit liikettä varten |
Versio 12. tammikuuta 2016 kello 10.58
G-koodisyntaksia noudattava CNC-ohjelma koostuu matalan tason toiminnoista joita kutsutaan lauseiksi (block). Lauseet puolestaan rakentuvat sanoista (code). Sanat ovat joko "valmistelevia" G-koodeja tai "sekalaisia" M-koodeja.
G-koodisyntaksi on lähes rakenteeton sillä mitään ohjelmakontrollin ohjausrakenteita kieleen ei kuulu. Aliohjelmakutsu käyttäen M-koodisanoja on olemassa mutta ei juuri muuta.
G-koodi on tulkattua koodia siinä mielessä, että kooditulkki jäsentää aina yhden kokonaisen lauseen kerrallaan ja optimoi sisällön suorituksen ennen sen käynnistämistä. Lotan Fanuc-ohjain toimii siten, että lauseessa mahdollisesti olevista ristiriitaisista käskysanoista viimeksi kirjoitettu jää voimaan ja toteutetaan.
On erityisesti syytä tiedostaa, lähes kaikki G-koodisanat ovat modaalisia eli ne jäävät voimaan kunnes samaan modaaliryhmään kuuluva toinen koodi astuu niiden tilalle. Samoin lauseesta puuttuva argumentti saa sen arvon joka sillä on viimeksi ollut jossain aikaisemmassa lauseessa. Näin ollen muuttumatonta argumenttia ei tarvitse toistaa lause lauseelta.
Esimerkki yksinkertaisesta NC-lauseesta:
N001 G01 X500.000 Y60.000 Z0.000 M03
Rivinumero 001; koordinoitu liike työstönopeudella koordinaatteihin XYZ samalla käynnistäen kara pyörimään myötäpäivään
Esimerkki modaalisesta NC-lauseesta:
G01 X500. Y60. Z0. M03
X510.
X520.
Koordinoitu liike työstönopeudella koordinaatteihin 500/60/0, sen jälkeen 510/60/0 ja 520/60/0 koska G01 on modaalinen.
Lotan tunnistamat G-koodisanat
Useimmat G-koodilauseet muodostuvat valmistelevasta G-koodista, sekä siihen liittyvistä yhdestä tai useammasta argumentista. Lauseissa käytetään myös "sekalaisia" M-koodisanoja ohjaamaan koneen toimintoja päälle ja pois.
Koska useimmat G-koodisanat ovat modaalisia, usein riittää pelkkä argumenttien mainitseminen läskylauseessa, jolloin voimassa oleva modaalinen käsky toistetaan kyseisillä argumenteilla. Tästä edellä yksinkertainen esimerkki.
G-koodisanojen argumentit
Argumentti | Ohjaa koodeja | Toiminto |
---|---|---|
P_ | --- | Lyhennetty asemakoordinatin esitystapa. Sama kuin X_ Y_ Z_ missä _ tarkoittaa kordinaatin numeroarvoa. Myös vaihtoehtoiset koordinaatit kuten IJK, UVW jne. |
X, Y, Z | Modaali 01 koodit | Paikkakoordinaatit liikettä varten |
A, B, C | Modaali 01 koodit | Kulmakoordinaatit X, Y, Z-akselien ympäri tapahtuvaa kiertoa varten (4. akseli) |
I, J, K | G02, G03 | Suhteelliset paikkakoordinaatit ympyränkaaren keskipisteen sijoitamiseksi |
U, V, W | Modaali 01 koodit | X, Y, Z-akselien suuntaiset suhteelliset paikkakoordinaatit liikettä varten |
S | M03, M04 | Karan kierosluvun ohjearvo |
F | Modaali 01 koodit | Syöttöliikkeen nopeus mm/min |
H | Modaali 01 koodit | Työkalun pituus- ja sädekompensointi |
T | --- | Työkalun valinta |
R | modaali 09 koodit G02, G03 |
Liikkeen paluutaso katkoporauksessa ja vastaavissa Säteen määrittely ympyräinterpolaatiossa |
Q | Modaali 09 koodit | Porauksen askelsyvyys katkoporauksessa tms |
P | G04 | Taukoaika ms |
N | --- | Lauseen rivinumero (ei pakollinen) |
Varsinaiset G-koodisanat
G-koodi | Modaaliryhmä | Toiminto |
---|---|---|
G00 | 01 | Pikaliike annettuihin koordinaatteihin |
G01 | 01 | Koordinoitu liike työstönopeudella annettuihin koordinaatteihin |
G02 | 01 | Ympyräinterpolaatio myötäpäivään |
G03 | 01 | Ympyräinterpolaatio vastapäivään |
G04 | 00 | Tauko |
G05 | 00 | Suurnopeussyklillä koneistus |
G09 | 00 | Täsmällinen paikoitus |
G15 | 17 | Polaarikoordinaattimoodin peruutus |
G16 | 17 | Polaarikoordinaatimoodin asetus |
G17 | 02 | XY-tason asetus ympyräinterpolaatioon |
G18 | 02 | ZX-tason asetus ympyräinterpolaatioon |
G19 | 02 | YZ-tason asetus ympyräinterpolaatioon |
G20 | 06 | Mittayksiköt tuumina |
G21 | 06 | Mittayksiköt milleinä |
G22 | 00 | Esimerkki |
G23 | 00 | Esimerkki |
G27 | 00 | Kotiasemaan ajon tarkistus |
G28 | 00 | Ajo kotiasemaan |
G29 | 00 | Paluu kotiasemasta |
G30 | 00 | Paluu 2. kotiasemaan |
G31 | 00 | Toiminnon ohitus |
G33 | 01 | Kierteitys |
G39 | 00 | Nurkan kierto ympyräinterpolaation avulla |
G40 | 07 | Työkalun säteen kompensoinnin peruutus |
G41 | 07 | Työkalun säteen kompensointi vasemmalle |
G42 | 07 | Työkalun säteen kompensointi oikealle |
G43 | 08 | Työkalun pituuskompensointi summaten (+ suuntaan) |
G44 | 08 | Työkalun pituuskompensointi vähentäen (- suuntaan) |
G45 | 00 | Työkaluoffsetin kasvatus |
G46 | 00 | Työkaluoffsetin vähennys |
G47 | 00 | Työkaluoffsetin 2x kasvatus |
G48 | 00 | Työkaluoffsetin 2x vähennys |
G49 | 08 | Työkalun pituuskompensoinnin peruutus |
G50 | 11 | Skaalauksen peruutus |
G51 | 11 | Skaalauksen asetus |
G52 | 00 | Työkoordinaatiston siirto |
G53 | 00 | Liikkeen referointi konekoordinaatteihin |
G54 | 14 | Työkoordinaatiston 1 valinta |
G55 | 14 | Työkoordinaatiston 2 valinta |
G56 | 14 | Työkoordinaatiston 3 valinta |
G57 | 14 | Työkoordinaatiston 4 valinta |
G58 | 14 | Työkoordinaatiston 5 valinta |
G59 | 14 | Työkoordinaatiston 6 valinta |
G60 | 00 | Yksisuuntainen paikoitus |
G61 | 15 | Tarkka pysäytystila |
G62 | 15 | Automaattinen nurkan ohitustila |
G63 | 15 | Kierteitystila |
G64 | 15 | Leikkuutyöstötila |
G65 | 12 | Makrokäsky, makrokutsu |
G66 | 12 | Kustom-makron modaalinen kutsu |
G67 | 12 | Kustom-makron modalisen kutsun peruutus |
G68 | 16 | Koordinaatiston kierto |
G69 | 16 | Koordinaatiston kieron peruutus |
G73 | 09 | Katkoporaus-työkierto 1 |
G74 | 09 | Vastakierteitys-työkierto |
G76 | 09 | Tarkkuusavarrus |
G80 | 09 | Työkierron peruutus |
G81 | 09 | Pisteporaus-työkierto |
G82 | 09 | Vastaporaus-työkierto |
G83 | 09 | Katkoporaus-työkierto 2 |
G84 | 09 | Kierteitys-työkierto |
G85 | 09 | Avarrustyökierto |
G86 | 09 | Avarrustyökierto |
G87 | 09 | Vasta-avarrustyökierto |
G88 | 09 | Avarrustyökierto |
G89 | 09 | Avarrustyökierto |
G90 | 03 | Absoluuttikoordinaattien valinta |
G91]] | 03 | Suhteellisten koordinaattien valinta |
G92 | 00 | Absoluuttikoordinaatiston origon asetus |
G94 | 05 | Syöttö yks/minuutti |
G95 | 05 | Syöttö yks/karan kierros |
G96 | 13 | Vakio-pintanopeussäätö päälle |
G97 | 13 | Vakio-pintanopeussäätö pois päältä |
G98 | 10 | Työkierrossa välipaluu alkupisteen tasalle |
G99 | 10 | Työkierrossa välipaluu R-koordinaatin tasalle |
Lotan tunnistamat M-koodisanat
M-koodi | Toiminto |
---|---|
M00 | Pakollinen tauko. Ohjelma pysähtyy tähän kunnes käyttäjä painaa [CYCLE START] jolloin ohjelma jatkaa |
M01 | Ehdollinen tauko. Sama kuin edellä, mutta vain mikäli paneelin [OPT STOP] on painettuna aktiiviseksi |
M02 | Ohjelman lopetus. Suoritus päättyy ja ohjelma kuitataan ajetuksi. |
M03 | Kara liikkeelle myötäpäivään. Kara lähtee pyörimään nopeudella joka on aiemmin asetettu argumentilla S |
M04 | Kara liikkeelle vastapäivään. |
M05 | Kara seis. |
M06 | Työkalun vaihto - suorituskäsky. Edeltävä valinta käyttäen käskysanaa T toteutetaan tällä toiminnolla. |
M08 | Leikkuuneste päälle. Edellytää, että paneelissa on valittu (COOLANT) [CLNT AUTO] aktiiviseksi |
M09 | Leikkuuneste pois |
M19 | Karan orientointi. Kiertää karan asentoon jossa työkalun vaihto tapahtuu. Samaa asentoa käytetään mm. vasta-avarruksessa jne |
M29 | Jäykkä kierteitystila päälle |
M30 | Ohjelman lopetus ja paluu alkuun |
M40 | 4. akselin lukitus |
M41 | 4. akselin vapautus |
M94 | Akselin peilauksen peruutus |
M95 | X-akselin peilaus |
M96 | Y-akselin peilaus |
M98 | Aliohjelman kutsu |
M99 | Aliohjelmasta paluu |
---- | ||