Ero sivun ”G-koodi” versioiden välillä
Rivi 17: | Rivi 17: | ||
=Lotan tunnistamat G-koodisanat= | =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.<br /> | ||
+ | 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. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Argumentti !! Ohjaa koodeja !! Toiminto | ||
+ | |- | ||
+ | | 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<br /> | ||
+ | G02, G03<br /> | ||
+ | || Liikkeen paluutaso katkoporauksessa ja vastaavissa<br /> | ||
+ | Säteen määrittely ympyräinterpolaatiossa | ||
+ | |- | ||
+ | | Q || Modaali 09 koodit|| Porauksen askelsyvyys katkoporauksessa tms | ||
+ | |- | ||
+ | | P || G04|| Taukoaika ms | ||
+ | |- | ||
+ | | N|| ---|| Lauseen rivinumero (ei pakollinen) | ||
+ | |} | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Rivi 171: | Rivi 206: | ||
| G99 || 10 || Työkierrossa välipaluu R-koordinaatin tasalle | | G99 || 10 || Työkierrossa välipaluu R-koordinaatin tasalle | ||
+ | |} | ||
+ | |||
+ | =Lotan tunnistamat M-koodisanat= | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! M-koodi !! Toiminto | ||
+ | |- | ||
+ | | M00 || Pakollinen tauko | ||
+ | |- | ||
+ | | M01 || Ehdollinen tauko | ||
+ | |- | ||
+ | | M02 || Ohjelman lopetus | ||
+ | |- | ||
+ | | M03 || Kara liikkeelle myötäpäivään | ||
+ | |- | ||
+ | | M04 || Kara liikkeelle vastapäivään | ||
+ | |- | ||
+ | | M05 || Kara seis | ||
+ | |- | ||
+ | | M06 || Työkalun vaihto - suorituskäsky | ||
+ | |- | ||
+ | | M08 || Leikkuuneste päälle | ||
+ | |- | ||
+ | | M09 || Leikkuuneste pois | ||
+ | |- | ||
+ | | M19 || Karan orientointi | ||
+ | |- | ||
+ | | 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 | ||
|} | |} |
Versio 11. tammikuuta 2016 kello 11.53
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 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, että hyvin monet G-koodit ovat modaalisia eli ne jäävät voimaan kunnes samaan modaaliryhmään kuuluva toinen koodi astuu niiden tilalle.
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.
Argumentti | Ohjaa koodeja | Toiminto |
---|---|---|
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) |
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 |
M01 | Ehdollinen tauko |
M02 | Ohjelman lopetus |
M03 | Kara liikkeelle myötäpäivään |
M04 | Kara liikkeelle vastapäivään |
M05 | Kara seis |
M06 | Työkalun vaihto - suorituskäsky |
M08 | Leikkuuneste päälle |
M09 | Leikkuuneste pois |
M19 | Karan orientointi |
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 |