Tanuljunk G-nyelven! – az NC programozás alapjai

A számjegyvezérlésű szerszámgépek megjelenésével közel egyidős a G-kódos programozás, melynek lényege, hogy egységes, a gép vezérlése által értelmezhető formában írjunk le minden olyan információt, amely az alkatrész megmunkálásához szükséges. Bár a kezdeti manuális programozástól már igen hosszú utat tettünk meg, a szoftveresen generált programkódok ellenőrzéséhez elengedhetetlen, hogy ismerjük az alapvető G-kódos utasításokat, melyek napjainkban is ipari sztenderdnek számítanak, és az ISO6983 szabványban (USA-ban RS-274, Németországban DIN66025) kerültek rögzítésre.

Korábbi cikkünket az alábbi linken olvashatja.

A G-kódos nyelvben a program utasítások halmazából áll, amely mondatokra tagolódik, ezek – nem meglepő módon – szavakból tevődnek össze. Persze itt nem a beszélt nyelvekben használatos szavakra kell gondolni, ugyanis a G-kódban ezek a szavak egy vagy több karakteres címből és numerikus adatból épülnek fel. A következőkben funkció szerint csoportosítva mutatjuk be a legfontosabbakat a G-kódos programozás szókészletéből.

g_4

Az előkészítő kódok G betűvel kezdődnek, a vezérlés interpolátora dolgozza fel őket, így főleg a mozgásokhoz kapcsolódó információkat jelölik. Lehetnek öröklődőek, melyek addig érvényesek, míg egy következő mondatban felül nem írjuk őket, ezek általában valamely paraméter beállítására szolgálnak, illetve „egylövetűek”, amik legtöbbször egy konkrét műveletre utasítanak. G90-nel illetve G91-gyel az abszolút, illetve növekményes koordinátamegadást tudjuk meghívni, előbbi a munkadarab abszolút koordinátarendszerében, míg utóbbi az előző pozícióhoz képesti helyzetmegadást szolgálja. A használni kívánt koordinátarendszerek kódjai G54-től kezdődnek (ez az alapvető munkadarab-koordinátarendszer), s akár hat különböző is lehet belőlük egészen G59-ig, az egyes koordinátasíkokat pedig a G17-19 közti kódokkal választhatjuk ki. Ezek az X-Y, X-Z és Y-Z síkokat jelölik.

A mozgások közül a pozícionáláshoz gyorsmenetben G00-t kell írnunk, s ezt követi a kívánt pozíció koordinátája. A gép ekkor egyenes pályán, a szoftveresen limitált maximális előtoló sebességgel mozog. Fontos megjegyezni, hogy minden tengelyt egyszerre mozdít meg, így egyes gépeknél előfordulhat, hogy a két – vagy több – tengely nem egyszerre érkezik a kívánt koordinátára. Hasonlóan működik G01-gyel a lineáris interpoláció, azonban itt munkaelőtolással mozgunk. Ugyanígy létrehozhatunk körívet is, G03-mal az óramutató járásával ellenkező, G02-vel azzal megegyező irányban. Itt két választásunk van: a végpont helyzetén kívül R betű után bevihetjük az ív sugarát, vagy pedig az ív középpontjának helyzetét a kezdőpontjától számított, tehát növekményes I,J,K koordinátákkal. Körív meghatározására egyéb módszerek is léteznek.

g-codes-2

A mozgáspályák önmagukban nem elegendők a megmunkáláshoz, ezért még néhány fontos kódcsoportot ismernünk kell, ezek többnyire a vezérlés PLC-jének adnak kapcsolási információkat. A kiegészítő, vagy kódjuk kezdőbetűje után M-funkciók közül a legfontosabb M00 feltétel nélkül megállítja a programot beolvasáskor, míg társa, az M01 egy bizonyos feltétel teljesülése esetén. M03 és M04 a szerszámgép főorsójának forgását kapcsolja be és ki, míg M08/M09 a hűtőfolyadék használatával teszi ugyanezt. Legegyszerűbb úgy fogalmazni, hogy az M-kódok a szerszámgép olyan funkcióit vezérlik, melyek nem járnak interpolálással, leginkább egyszrű ki-bekepcsoló funkciók, például hűtű-kenő folyadék kapcsolása, főorsó forgásának kapcsolása, vagy munkatér ajtó nyitása.

A következő csoport a technológiai paraméterek beállítását végzi: S után a főorsó kívánt percenkénti fordulatszámát adhatjuk meg, F betűt követően az előtolás értékét (ha előtte G94 szerepel, percenként, míg G95 használatával fordulatonként). Esztergálásnál jellemzőbb a fordulatonkénti előtolás használata, míg marásnál percenkéntit alkalmazunk.

g_3

Az eddigi kódokkal a megmunkálást még mindig nem folytathatjuk le, hiszen azok a szerszámgép vezérelt pontját irányítják, nekünk a sikeres művelethez azonban a szerszám munkadarabbal érintkező pontjának pályáját kell megadnunk, erre szolgálnak a szerszámbehívó és korrekciós funkciók. A T címet követően hivatkozhatunk egy szerszámtárbeli pozícióra, ez bizonyos vezérléseknél magára a szerszámcserére is utasít egyben. A korábban említett két pont között a hossz- és sugárirányú korrekció értékeivel teremthetünk kapcsolatot, előbbit H, másodikat D betűvel címezhetjük, fontos megemlíteni, hogy nem konkrét értéküket adjuk meg a programban, hanem egy korábban beállított korrekciós tábla megfelelő adataira hivatkozunk, hasonlóan a szerszámtárbeli pozícióhoz. Kontúrmarásnál előnyös, ha nem a szerszám programozott pontjára kell leírnunk a pályát. Itt hasznos a szerszámsugár korrekció, mellyel a szerszám le fogja követni az általunk megmunkálni kívánt kontúrt, az óramutatóval ellentétes, vagy megegyező irányba. Fontos, hogy ezt megfelelően tervezzük meg, hiszen kapcsolat van a haladás iránya, és aközött, hogy ellen, vagy egyenirányú technológiát választunk. G41 esetén az előtolás szerint balról, G42-nél jobbról követi a szerszám a kontúrt az előtolás irányából nézve, G43 és G45 a hosszkorrekció irányát specifikálja.

Ciklusok

Az egyenes, illetve a körinterpolációs megmunkálások mellett a bonyolultabb, több mozgásból álló, ám gyakran használt műveletelemekhez ciklusokat használhatunk. Ezek olyan G funkciók, melyek előre megírt mozgássorokat tartalmaznak, a felhasználó pedig egy vagy több mondatban paraméterek megadásával választja meg a mozgások kezdeti és végpontjait. Léteznek fúró-, mélyfúró-, menetfúró-, és dörzsárazó ciklusok is. Ezeknek segítségével a sok furattal rendelkező alkatrészek megmunkálása jelentősen leegyszerűsödik, hiszen elég a furatpozíciók megadása, a program pedig minden helyen ugyanazokkal a mozgásokkal fogja elvégezni a megmunkálást.

G_nyelv_4

Hosszasan lehetne sorolni a további kódokat, melyekkel akár egy egészen egyszerű alkatrész programjában is találkozhatunk, a beszélt nyelvekhez hasonlóan ezeket is célszerű használat közben elsajátítani. Ezt segíti a honlapon megtalálható G-kód kereső is.

További érdekességek a G-kód történetéről, és egy rövid áttekintés G-nyelvről:

https://www.cnc.hu/2016/03/g-kod-tortenelem/

https://www.cnc.hu/2017/08/a-gyartas-nyelve-g-kod/

A cikk szerzői:KÁTÉ

Megosztás
[
    ]