Ero sivun ”G-koodi” versioiden välillä
Rivi 1: | Rivi 1: | ||
+ | {| style="color:black" | ||
+ | |- | ||
+ | | width="500" | | ||
+ | ''Left column Finnish!'' | ||
+ | | width="500" | | ||
+ | ''Right column English'' | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | | ||
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.<br /> | 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.<br /> | ||
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.<br /> | 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.<br /> | ||
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.<br /> | 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.<br /> | ||
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.<br /> | 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.<br /> | ||
− | + | | | |
− | + | A CNC program that follows G-code syntax consists of low-level functions called blocks. Sentences, in turn, are built from words (code). The words are either "preparatory" G-codes or "Miscellaneous" M-codes. <br /> | |
+ | The G-code syntax is almost unstructured because no program control controls are included in the language. A subroutine call using M codewords exists but little else. <br /> | ||
+ | G-code is interpreted code in the sense that the code interpreter always parses one whole sentence at a time and optimizes the execution of the content before it is launched. Lota's Fanuc controller works in such a way that the last of the conflicting command words in a sentence remains valid and executed. <br /> | ||
+ | In particular, it should be noted that almost all G codewords are "modal", meaning that they remain in effect until another code belonging to the same modal group replaces them. Similarly, an argument that is missing from a sentence gets the value it last had in an earlier sentence. Therefore, the unchanged argument does not need to be repeated sentence by sentence. <br /> | ||
+ | |} | ||
Esimerkki yksinkertaisesta NC-lauseesta:<br /> | Esimerkki yksinkertaisesta NC-lauseesta:<br /> | ||
'''N001 G01 X500.000 Y60.000 Z0.000 M03'''<br /> | '''N001 G01 X500.000 Y60.000 Z0.000 M03'''<br /> |
Versio 2. helmikuuta 2021 kello 23.04
Left column Finnish! |
Right column English |
|
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. |
A CNC program that follows G-code syntax consists of low-level functions called blocks. Sentences, in turn, are built from words (code). The words are either "preparatory" G-codes or "Miscellaneous" M-codes. |
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 asemakoordinaatin esitystapa. Sama kuin X_ Y_ Z_ missä _ tarkoittaa koordinaatin 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 |