10. Mach3 G- és M-kód nyelvi referencia
Ez a fejezet azt a nyelvet (G-kódok stb.) definiálja, melyet a Mach3 megért és értelmez.
Egyes NIST NMC (Next Generation Controller) által definiált funkciók jelenleg még nem működnek a Mach3-ban, ezek ebben a fejezetben szürke színűek. Ha ezek a funkciók fontosak az Ön alkalmazásában, akkor kérjük, jelezze igényét az ArtSoft Corporation felé, és felvesszük a fejlesztési tervünkbe.
10.1.1 Lineáris tengelyek
Az X, Y és Z tengelyek a szabványos jobbsodrású ortogonális koordinátarendszer tengelyeit jelentik.
Három lineáris mozgatómechanizmus pozíciója egyértelműen megfeleltethető ezen tengelyek
koordinátáinak.
10.1.2 Forgó tengelyek
A forgó tengelyeket fokban mérjük, „becsomagolt” (wrapped) lineáris tengelyként, melynél a pozitív forgás az óramutató járásával ellentétes, ha azt a megfelelő X,Y,Z tengely poztív vége felől nézzük. A „becsomagolt lineáris tengely” egy olyan tengelyt jelent, amelyiken a szögpozíció határtalanul növekszik (körbejár plusz végtelenig) amikor a tengely órajárással ellentétesen forog, és határtalanul csökken (körbejár mínusz végtelenig), amikor a tengely órajárással megegyezően forog. A becsomagolt lineáris tengelyek használhatók, akár van, akár nincs a forgásnak mechanikai határára.
Az órajárással megegyező vagy ellentétes irány a munkadarab nézőpontjától függ. Ha a munkadarab forgóasztalra van rögzítve, melyet forgó tengely forgat, egy, a munkadarab szempontjából órajárással ellentétes forgás úgy történik, hogy a forgóasztal a gép mellől nézve az óramutatóval megegyező irányba forog. (a legtöbb általános gépkonfiguráció esetén)
10.1.3 Skálázott adatbevitel
Minden tengelynél lehetőség van egy léptéktényező megadására. Ezek alkalmazhatók az X, Y, Z, A, B, C, I, J és R szavak értékére, minden adatbevitelkor. Ez teszi lehetővé a megmunkált sajátosság méretének módosítását és tükörkép létrehozását – negatív léptéktényezővel. Az értékeket először skálázni kell, és az olyan dolgok, mint az előtolás, mindig a skákázott értékeken alapulnak.
A szerszám és készüléktáblákban tárolt korrekciók nem skálázottak a használat előtt. A skálást talán már az értékek táblázatba való betáplálásakor alkalmazták (Lásd G10 használata)
10.1.4 Vezérelt pont
A vezérelt pont az a pont, amelynek pozíciója és mozgási sebessége vezérelve van. Amikor a szerszám hosszkorrekció nulla (alapértelmezett érték), ez a pont a főorsó tengelyén helyezkedik el (gyakran nevezik bemérési pontnak), egy bizonyos állandó távolságra a főorsó végétől, rendszerint a szerszámtartó főorsóba illeszkedő végének közelében. A vezérelt pont helyzete eltolható a főorsó tengelye mentén, a szerszámhossz korrekció egy bizonyos pozitív mértékének megadásával. Ez a mérték normál esetben a használatban lévő marószerszám hossza, így a vezérelt pont a marószerszám végére esik.
10.1.5 Lineáris interpoláció
A szerszámnak a megadott útvonalon történő vezetéséhez gyakran a különböző tengelyek koordinált mozgására van szükség. A „koordinált lineáris mozgás” (lineáris interpoláció) kifejezés annak a szituációnak a leírására használatos, amikor mindegyik tengely állandó sebességgel mozog és az összes tengely a start ponttól a végpontig egyidejűleg mozog. Ha csak az X,Y, és Z (vagy közülük egy vagy kettő) mozog, akkor egyenes vonal menti elmozdulás keletkezik, ezért van a „lineáris” szó a kifejezésben.
A valós mozgásoknál gyakran nem lehet fenntartani állandó sebességet, mert gyorsítás vagy lassítás szükséges a mozgás kezdeténél és/vagy végénél. Lehetséges azonban, hogy úgy irányítsuk a tengelyeket, hogy mindig, mindegyik tengely ugyanakkor legyen készen a ráeső mozgáshányaddal, mint a többi tengely. Ez a szerszámot ugyanazon a pályán mozgatja, és ezt a fajta mozgást is koordinált lineáris mozgásnak hívjuk.
A lineáris interpoláció a mindenkori előtolási sebességgel vagy a gyorsjárati sebességgel kerülhet
végrehajtásra. Ha a tengelyek sebességének fizikai határai miatt a kívánatos sebesség elérhetetlen, minden tengely lassul a kívánt pálya megtartása érdekében.
10.1.6 Előtolási sebesség
Az a névleges egyenletes sebesség, amellyel a vezérelt pont vagy a tengelyek mozognak, a felhasználó által beállítható. Az interpreterben az előtoló sebesség értelmezése, a következőképpen történik, kivéve ha időfüggő (inverse time) sebesség mód (G93) használatos:
♦ Abban a mozgásban, amiben egy vagy több lineáris tengely vesz részt, (X, Y, Z vagy esetleg A, B, C), egyidejű forgómozgás nélkül, az előtolási sebesség mértékegysége hosszegység/perc a programozott egyenes XYZ(ABC) pálya mentén.
♦ Abban a mozgásban, amiben egy vagy több lineáris tengely vesz részt, (X, Y, Z és feltételesen A, B, C), egyidejű forgómozgással, az előtolási sebesség mértékegysége hosszegység/perc a programozott egyenes XYZ(ABC) pálya mentén, kombinálva a forgó tengely fordulatszámának, a tengelyhez rendelt korrekciós átmérőnek és a π-nek (π-=3,14152) a szorzatával; azaz a deklarált alkatrész kerületi sebességével.
♦A mozgásban amiben egy forgó tengely vesz részt, és X,Y,és Z tengely nem mozog, az előtolási sebesség fok/perc a forgó tengely körül.
♦Ha a mozgásban kettő vagy három forgó tengely vesz részt, és X,Y,és Z tengely nem mozog, a sebesség következők szerint alakul:
Legyen dA, dB, és dC elfordulási szög fokban amivel A, B és C tengelynek külön-külön mozogni kell.
D jelenti a teljes (eredő) szögelfordulást, a szokásos Euklédeszi mértéket használva
Az aktuális előtolási sebesség fok/perc-ben történő értelmezésekor legyen T a D szögelforduláshoz szükséges idő.
A forgó tengelyeknek koordinált lineáris mozgással kell mozogniuk, így az eltelt idő a mozgás kezdete és vége között: T plusz az az idő, amely a gyorsításhoz és lassításhoz szükséges.
10.1.7 Körinterpoláció
Bármelyik lineáris tengelypár (XY, YZ, XZ) vezérelhető, hogy körív mentén mozogjon a tengelypár síkjában. Mialatt ez megtörténik, a harmadik lineáris tengely és a forgó tengelyek vezérelhetők, hogy egyidejűleg, állandó sebességgel mozogjanak. Mint a koordinált lineáris mozgásnál, a mozgások koordinálhatóak, hogy a gyorsítás és a lassítás ne befolyásolják a pályát.
Ha a forgó tengelyek nem mozognak, a harmadik lineáris tengely azonban mozog, a vezérelt pont
pályagörbéje csavarvonal (helix).
Az előtolási sebesség az ívmozgás közben az előbbi fejezetben van leírva. Csavarvonal mozgás esetén a sebesség a csavarvonalra van alkalmazva. Vigyázzon, mert más-más rendszereknél más értelmezések vannak használatban.
10.1.8 Hűtés
A folyó hűtés és a permet-hűtés önállóan bekapcsolható. A kikapcsolás mindkettőre érvényes.
10.1.9 Várakozás
A megmunkáló rendszernek várakozás (azaz minden tengely megállítása) rendelhető el meghatározott időtartamig. A leghétköznapibb használata a várakozásnak az, hogy a forgácsot öszzetörje és letisztítsa, és az hogy időt adjon az orsónak felgyorsulni. Az egység, amelyben Ön előírja a szünetet, az vagy szekundum vagy milliszekundum, a Configure>Logic menüben történt beállítástól függően.
10.1.10 Hosszegységek
A hosszegységek, melyekkel az X, Y és Z tengelyek mentén a távolságok mérése történik, mm vagy inch lehetnek. Minden egyéb, a gép vezérlésében részt vevő mennyiség egysége változtathatatlan. Különböző mennyiségekhez különböző egységek tartoznak. A főorsó fordulatszáma fordulat/perc-ben értelmezett. Az előtolási sebesség kifejezhető az aktuális hosszegység/perc-ben, vagy fok/perc-ben a fent leírtak szerint.
Figyelem! Ajánlatos nagyon gondosan ellenőrizni a rendszer reagálását az egységek megváltoztatására, miközben a szerszám és készülék korrekciók betöltődnek a táblákból, amikor ezek a korrekciók aktiválódnak és/vagy az alkatrészprogram futtatása alatt.
10.1.11 Aktuális pozíció
A vezérelt pont mindenkori pozícióját hívjuk aktuális pozíciónak és a Mach3-nak erről mindig tudomása van. A számok, melyek az aktuális pozíciót reprezentálják, bármelyik alábbi esemény hatására tengelymozgás nélkül átállítódnak:
♦Hosszegység megváltozása (lásd fentebb a figyelmeztetést).
♦Szerszám hosszkorrekció megváltozása
♦Koordinátarendszer nullpont eltolásának megváltoztatása
10.1.12 Választott sík
Mindig van egy „választott sík” ami a megmunkáló gép XY, YZ vagy XZ síkja közül az egyik. A Z tengely természetesen merőleges az XY síkra, az X tengely az YZ síkra, és az Y tengely az XZ síkra.
10.1.13 Szerszám tábla
Nulla vagy egy szerszám van hozzárendelve a szerszámtábla mindegyik rekeszéhez.
10.1.14 Szerszámváltás
A Mach3 lehetővé teszi automatikus szerszámcsere művelet végrehajtását makro használatával vagy a szerszámok kézi cseréjét szükség esetén.
10.1.15 Csúszó paletta
A Mach3 lehetővé teszi a palettacsere műveletének megvalósítását makró használatával.
10.1.16 Előtolás vezérlési módok
A megmunkáló rendszeren be lehet állítani a két vezérlési mód valamelyikét: (1) pontos megállás mód, (2) állandó sebesség mód. A pontos megállás mód rövid gépmegállást eredményez mindegyik programozott mozgás végén. Az állandó sebesség mód esetén a pálya éles sarkai kissé lekerekítettek lesznek azért, hogy az előtolási sebesség fenntartható legyen. Ezek a módok lehetővé teszik kompromisszum kialakítását a sarok miatti fordulás és a valóságos gép mechanizmusának meghatározott gyorsulása miatti tehetetlensége között.
A pontos megállás jelentése. A gép lelassít mindegyik irányváltás előtt és a szerszám ezért pontosan követi az előírt pályát.
Állandó sebességnél átfedi egymást az új irány gyorsítása a jelenlegi lassításával azért, hogy az előírt sebesség tartható legyen. Ez a sarkok lekerekítését eredményezi, azonban gyorsabb és egyenletesebb lesz a vágás. Ez elsősorban alakmarásnál és palzmavágásnál fontos.
A gép tengelyeinek alacsonyabb gyorsulása a sarok lekerekítési sugarának növelését kívánja.
Plazma mód esetén (beállítható a Configure Logic párbeszédablakban) a rendszer megkisérli a sarok optimalizálását a plazmavágó saját algoritmus szerinti mozgatásával.
Definiálható egy határolószög, amelynél nagyobb irányváltozás esetén mindig a pontos megállás mód érvényesül, habár az állandó sebesség mód van választva. Ez lehetővé teszi enyhe sarkok szabályos, túlzott lekerekítés nélküli megkerülését és éles sarkok szabályos megmunkálását egy vagy több tengely alacsony gyorsításával. Ez a sajátosság engedélyezhető a Configure Logic párbeszédablakban (CV Feedrate) és a határolószög beállítható az Angular Limit CV DRO-ban. Ezt a beállítást esetleg kísérleti úton szükséges kiválasztani a szerszámgép karakterisztikájától függően, és szükség lehet a szerszámpálya egyedi kialakítására.
10.2 Parancsértelmező együttműködése a vezérlővel
10.2.1 Előtolás és sebesség túlhajtás
Mach3 utasításokkal lehetséges engedélyezni (M48) vagy tiltani az előtolás és fordulatszám túlhajtás kapcsolókat. Hasznos dolog, hogy felülbírálhatók ezek a kapcsolók bizonyos megmunkálási műveleteknél.
Ideális esetben optimális beállításokat tartalmaz a program, és az operátornak nem kell azokat változtatni.
10.2.2 Blokk törlés
Ha a Block Delete (blokk törlés) be van kapcsolva, azok a sorok, amelyek a ”/” jellel (blokk törlés
karakter) kezdődnek, nem hajtódnak végre. Ha a kapcsoló ki van kapcsolva, az ilyen sorok is
végrehajtódnak.
10.2.3 Feltételes program stop
A feltételes program stop (lásd Configure>Logic) a következőképpen működik. Ha ez az eszköz be van kapcsolva és a beolvasott sor M1 kódot tartalmaz, a program futása megáll ennek a sornak a végén, addig, amíg a Cycle Start megnyomásra nem kerül.
A Mach3 olyan szerszám-fájlt kezel, amely 254 szerszám mindegyikét használni tudja. A fájl mindegyik adatsora egy szerszám adatait tartalmazza. Itt lehet definiálni a szerszám hosszát (Z tengely), a szerszám átmérőjét (marásnál) és a szerszám csúcssugarát (esztergálásnál).
10.4 Az alkatrészprogramok nyelve
10.4.1 Áttekintés
A nyelv kódokból álló sorokon alapul. Egy sor (nevezhető „blokk”-nak is) a megmunkáló rendszernek különböző dolgokat elrendelő utasításokat tartalmaz. A fájlban összegyűjtött kódsorok alkotják a programot.
A tipikus kódsor tartalmaz egy opcionális sorszámot, majd egy vagy több „szó” következik. A szó egycímkét és az ezt követő számot tartalmazza (vagy valamit, aminek a kiértékelése számot eredményez).
Akármelyik szó adhat utasítást, vagy egy utasítás argumentumaként szerepelhet. Például, G1 X3 egy érvényes kódsor két szóval. „G1” utasítás jelentése „mozgás egyenes vonal mentén programozott előtolási sebességgel”, és „X3” ad egy argumentum értéket (X értékének 3-nak kell lenni a mozgás végén).A legtöbb utasítás egy G vagy M (általános és vegyes) címmel kezdődik. Ezeknek az utasításoknak a szavait „G kódoknak” és „M kódoknak” nevezik.
A nyelvnek két utasítása van (M2 vagy M30), amelyek a program végét jelentik. A program előbb véget ér, mint a fájl vége. A fájlnak a program vége után előforduló sorai nem a normál folyamatban futnak, általában alprogramok részei
10.4.2 Paraméterek
A Mach3 megmunkáló rendszer egy 10.320-as tömbben kezeli a numerikus paramétereket.
Ezek közül sok specifikus használatú. A készülékekhez kapcsolt paraméterek állandóak. A többi paraméter a Mach3 betöltésekor definiálatlan. Ezek a paraméterek az interpreter számára fenntartottak. A Mach3 által definiált paraméterek jelentése a 10.1. ábrán látható.
paraméter száma |
jelentés |
paraméter száma |
jelentés |
5161 |
G 28 referencia X |
5261 |
nullpont eltolás 3 X |
5162 |
G 28 referencia Y |
5262 |
nullpont eltolás 3 Y |
5163 |
G 28 referencia Z |
5263 |
nullpont eltolás 3 Z |
5164 |
G 28 referencia A |
5264 |
nullpont eltolás 3 A |
5165 |
G 28 referencia B |
5265 |
nullpont eltolás 3 B |
5166 |
G 28 referencia C |
5266 |
nullpont eltolás 3 C |
5181 |
G 30 referencia X |
5281 |
nullpont eltolás 4 X |
5182 |
G 30 referencia Y |
5282 |
nullpont eltolás 4 Y |
5183 |
G 30 referencia Z |
5283 |
nullpont eltolás 4 Z |
5184 |
G 30 referencia A |
5284 |
nullpont eltolás 4 A |
5185 |
G 30 referencia B |
5285 |
nullpont eltolás 4 B |
5186 |
G 30 referencia C |
5286 |
nullpont eltolás 4 C |
5191 |
lépték X |
5301 |
nullpont eltolás 5 X |
5192 |
lépték Y |
5302 |
nullpont eltolás 5 Y |
5193 |
lépték Z |
5303 |
nullpont eltolás 5 Z |
5194 |
lépték A |
5304 |
nullpont eltolás 5 A |
5195 |
lépték B |
5305 |
nullpont eltolás 5 B |
5196 |
lépték C |
5306 |
nullpont eltolás 5 C |
5211 |
eltolás X |
5321 |
nullpont eltolás 6 X |
5212 |
eltolás Y |
5322 |
nullpont eltolás 6 Y |
5213 |
eltolás Z |
5323 |
nullpont eltolás 6 Z |
5214 |
eltolás A |
5324 |
nullpont eltolás 6 A |
5215 |
eltolás B |
5325 |
nullpont eltolás 6 B |
5216 |
eltolás C |
5326 |
nullpont eltolás 6 C |
5220 |
aktuális nullpont eltolás |
|
És így tovább 20-as lépésekben |
5221 |
szám |
|
|
5222 |
nullpont eltolás 1 X |
|
|
5223 |
nullpont eltolás 1 Y |
|
|
5224 |
nullpont eltolás 1 Z |
10281 |
nullpont eltolás 254 X |
5225 |
nullpont eltolás 1 A |
10282 |
nullpont eltolás 254 Y |
5226 |
nullpont eltolás 1 B |
10283 |
nullpont eltolás 254 Z |
5241 |
nullpont eltolás 1 C |
10284 |
nullpont eltolás 254 A |
5242 |
nullpont eltolás 2 X |
10285 |
nullpont eltolás 254 B |
5243 |
nullpont eltolás 2 Y |
10286 |
nullpont eltolás 254 C |
5244 |
nullpont eltolás 2 Z |
10301 |
nullpont eltolás 255 X |
5245 |
nullpont eltolás 2 A |
10302 |
nullpont eltolás 255 Y |
5246 |
nullpont eltolás 2 B |
10303 |
nullpont eltolás 255 Z |
|
nullpont eltolás 2 C |
10304 |
nullpont eltolás 255 A |
|
|
10305 |
nullpont eltolás 255 B |
|
|
10306 |
nullpont eltolás 255 C |
10.1. ábra. Definiált paraméterek rendszere
10.4.3 Koordináta rendszerek
A megmunkáló rendszernek van abszolút (gépi) koordinátarendszere és 254 munkadarab (készülék) koordinátarendszere.
A szerszámkorrekciók értékei a G10 L1 P~ X~ Z~ utasítással módosíthatók programból. A P szó
definiálja a használandó szerszám számát.
A munkadarab (készülék) koordinátarendszerek a G10 L2 P~ X~ Y~ Z~ A~ B~ C~utasítással állíthatók be programból. A P szó definiálja a munkadarab (készülék) koordinátarendszert. Az X,Y,Z… tengelyenkénti eltolásértékek. A koordinátaadatok mindig abszolút koordinátarendszerben értendők.
Választania kell egyet a első hat munkadarab (készülék) koordinátarendszerből a G54, G55, G56, G57, G58, G59 használatával. A 255 munkadarab (készülék) koordinátarendszerből bármelyik kiválasztható a G59 P~ utasítással (pl.: a G59 P23 a 23. koordinátarendszert jelenti).
Az aktuális koordinátarendszer eltolható a G92 vagy G92.3 használatával. Ez az eltolás hozzáadódik az eredeti koordinátarendszerhez. Az eltolást G92.1 vagy G92.2 utasítással lehet megszüntetni.
BETŰ |
JELENTÉS |
A |
a gép A tengelye |
B |
a gép B tengelye |
C |
a gép C tengelye |
D |
szerszám sugárkorrekció száma |
F |
előtolás |
G |
előkészítő funkció (l. 5. tábla) |
H |
szerszám hosszkorrekció száma |
I |
X irányú paraméter körívnél X eltolás G87 fúróciklusnál |
J |
Y irányú paraméter körívnél Y eltolás G87 fúróciklusnál |
K |
Z irányú paraméter körívnél Z eltolás G87 fúróciklusnál
|
L |
ismétlések száma fúróciklusokban /alprogramokban G10 által használt cím |
M |
vegyes funkciók (lásd 7. táblázat) |
N |
mondatszám |
O |
alprogram száma várakozás fúróciklusban várakozási idő G4-nél |
P |
G10 által használt cím |
Q |
fogásmélység G83 fúróciklusban |
R |
körív sugara visszahúzási szint fúróciklusnál |
S |
főorsó fordulatszám |
T |
szerszámszám |
U |
A szinonímája |
V |
B szinonímája |
W |
C szinonímája |
X |
a gép X tengelye |
Y |
a gép Y tengelye |
Z |
a gép Z tengelye |
10.2. ábra. Szókezdő címek
Egyenes mozgás végezhető az abszolút gépi koordinátarendszerben a G53 utasítás után kiadott G0 vagy G1 utasítással.
A programsor (mondat) lehetséges tartalma sorrendben a következő lehet (maximum 256 karakter megengedett a sorban):
♦ „/” blokk törlés karakter (nem kötelező)
♦ a programsor száma (nem kötelező)
♦ akármennyi szó, paraméter beállítások és megjegyzések
♦ sor vége jel (kocsi vissza vagy soremelés vagy mindkettő)
Bármelyik, nem határozottan megengedett bemenet illegális, és az interpreter hibajelzését vagy a sor mellőzését eredményezi.
Szóközök és tabulátorok bárhol megengedettek a kódsorban, és a belső megjegyzések kivételével nem módosítják a sor jelentését. Emiatt egyes szokatlannak tűnő is bemenetek legálisak. Például a G0x +0. 12 34y 7 sor egyenértékű ezzel: g0 x+0.1234 y7
Üres sorok bevitele megengedett. Ezek figyelmen kívül maradnak.
A bevitel - kivéve a megjegyzéseket- érzéketlen a kis-és nagybetűkre, azaz bármelyik betű a megjegyzésen kívül lehet kicsi vagy nagy anélkül, hogy változtatná a sor jelentését.
10.5.1 Mondatszám
A mondatszám (sorok sorszáma) az N betű, amit egy 0 és 99999 közé eső egész szám követ (előjel nélkül), ötnél nem több számjeggyel leírva (például 000009 nem megfelelő). A mondatszám ismételhető vagy lehet nem sorrendben, habár a normál gyakorlat kerüli az ilyen használatot. A mondatszám használata nem kötelező (és elhagyása gyakori), de ha használjuk, akkor jó helyen kell hogy legyen.
10.5.2 Alprogram cimkék
Az alprogram címke az O betű amit egy 0 és 99999 közé eső egész szám követ (előjel nélkül), ötnél nem több számjeggyel leírva (például 000009 nem engedélyezett). A címkék bármilyen sorrendben használhatók, de a programban egyedinek kell lenniük, habár ennek a szabálynak a megsértése esetén nincs mindig hibajelzés. Az alprogram címke után semmi egyéb nincs ugyananabban a sorban, kivéve, ha megjegyzést kell megjeleníteni
10.5.3 Szó
A szó egy N-től vagy O-tól eltérő betű, melyet egy valós érték követ.
A szavak a 11.2. ábrán látható bármelyik betűvel kezdődhetnek. A táblázat tartalmazza az N-t és O-t is a teljesség miatt, annak ellenére, hogy a fent definiáltak szerint a mondatszám nem szó. Néhány betű (I, J, K, L, P, R) különböző környezetben eltérő jelentéssel bírhatnak.
A valós érték valamilyen karaktersorozat, aminek a feldolgozása számot eredményez. A valós érték lehet egy kifejezett szám (pl.: 314 vagy -0.8807), egy paraméteres érték, egy kifejezés, vagy egy egyértékű művelet értéke. Ezek definíciói azonnal következnek. A karakterek feldolgozása számot eredményez, és „kiértékelés”-nek hívjuk. Az explicit szám kiértékelése önmaga.
10.5.3.1 Szám
A következő szabályok az explicit számoknál használatosak. Ezekben a szabályokban egy számjegy egy karakter 0 és 9 között.
♦A szám állhat
(1) nem kötelező plusz vagy mínusz előjelből, melyet követ
(2) nulla vagy több számjegy, melyet követhet
(3) egy tizedespont, melyet követ
(4) nulla vagy több számjegy - feltéve, hogy legkevesebb egy számjegy van valahol a számban.
♦A számoknak két fajtája van: egészek és tizedes törtek. Az egészekhez nem teszünk tizedespontot, a tizedes törtekhez teszünk.
♦A számokban több tizedes számjegy lehet, ennek a sor hossza szab határt. Azonban csak körülbelül tizenhét értékes számjegy fog megmaradni (ez elégséges minden ismert alkalmazáshoz).
♦Nullától eltérő, az első karakter előtt előjelet nem tartalmazó szám pozitívnak számít. A kezdő (a tizedespont és az első nullától eltérő számjegy előtti) és a befejező (a tizedespont és az utolsó nullától eltérő számjegy utáni) nullák megengedettek, de elhagyhatók. A kezdő vagy befejező nullákkal írott számok ugyanolyan értékkel bírnak olvasáskor, mintha az extra nullák nem is lennének ott.
A számok, amiket a Mach3 meghatározott célokra használ, gyakran korlátozottak valamilyen véges (meghatározott) értékkészletre, vagy valamitől valameddig terjedő értéktartományra. Számos esetben a tizedes törteknek egészhez kell közelíteniük; ez vonatkozik az indexek értékére (például paramétereknél és karusszel slot számoknál), valamint az M-kódok és G-kódok tízszeres szorzatára (pl.: létezhet ilyen Gkód: G28.1). Egy szám akkor közelít eléggé az egészhez, ha legalább 0.0001 távolságra van egy egész számtól.
10.5.3.2 Paraméteres érték
A paraméteres érték a # karakter és az ezt követő valós érték. A valós érték kiértékelésének 1 és 10320 közötti egésznek kell lennie. Ez az egész a paraméter száma, és a paraméter értéke a számozott paraméterben tárolt akármilyen szám lehet.
A # karakternek elsőbbsége van egyéb műveletek fölött, tehát például #1+2 azt jelenti, hogy az 1-es számú paraméter értékéhez hozzáadódik 2, nem pedig a 3-as számú paraméter értékét. Természetesen, #[1+2] a 3-as paraméter értékét jelenti. A # karakter ismételhető; például ##2 jelentése: annak a paraméternek az értéke, melynek számát a 2-es számú paraméter (egész) értéke adja.
10.5.3.3 Kifejezések és bináris műveletek
A kifejezés egy karakterkészlet, amely baloldali zárójellel [ kezdődik és kiegyensúlyozott jobboldali zárójellel végződik ].A zárójelek között számok, paraméteres értékek, matematikai műveletek és egyéb kifejezések lehetnek. A kiértékelt kifejezés eredménye szám. A mondatban lévő kifejezés kiértékelődik a mondat beolvasásakor, mielőtt bármi végrehajtódna abból. Példa a kifejezésre: [1+acos[0]-[#3**[4.0/2]]]
Bináris műveletek csak kifejezések belsejében fordulnak elő. Kilenc bináris művelet van definiálva. Ebböl négy matematikai alapművelet: összeadás (+), kivonás (-), szorzás (*) és osztás (/). Három logikai művelet: nem kizáró vagy (OR), kizáró vagy (XOR), valamint a logikai és (AND). A nyolcadik művelet az egész osztás maradéka (MOD). A kilencedik művelet a hatványozás művelete (**), ami a baloldalon lévő számot felemeli a jobboldalon lévő hatványra.
A bináris műveleteket három csoportra lehet osztani. Az első csoport a hatványozás. A második csoport: szorzás, osztás és az egész osztás maradéka. A harmadik csoport: összeadás, kivonás, nem kizáró vagy, logikai kizáró vagy, valamint a logikai és. Ha több művelet van egy kifejezésben, (például [2.0/3*1.5-5.5/11.0]), az első csoport műveleteinek végrehajtását megelőzik a második csoport műveletei, és a második csoport műveleteit megelőzik a harmadik csoport műveletei. Ha a kifejezés egynél több műveletet tartalmaz ugyabból a csoportból (ilyen az első / és * a példában), előbb a baloldali műveletet hajtódik végre. Tehát a példa egyenértékű ezzel: [((2.0/3)*1.5)-(5.5/11.0)], amely egyszerűbben [1.0-0.5] vagyis 0.5.
A logikai műveletek és az egész osztás maradéka végrehajtódnak minden valós számon, nemcsak
egészeken. A nulla szám egyenértékű a logikai HAMIS-sal, minden nem nulla szám pedig egyenértékű a logikai IGAZ-zal.
10.5.3.4 Egyváltozós függvény érték
Egy egyváltozós függvény érték vagy „ATAN”, amit követ egy kifejezés osztva egy másik kifejezéssel (például ATAN[2]/[1+3]) vagy bármilyen más függvénynév követve egy kifejezéssel (például SIN[90]). Az egyváltozós függvények: ABS (abszolut érték), ACOS (arcus cosinus), ASIN (arcus sinus), ATAN (arcus tangens), COS (cosinus), EXP (e adott hatványra emelése), FIX (kerekítés lefelé), FUP (kerekítés felfelé), LN (természetes logaritmus), ROUND (kerekítés a legközelebbi egész számra), SIN (sinus), SQRT (négyzetgyök), and TAN (tangens). Azon egyváltozós függvények argumentuma, melyeket szöggel mérünk, (COS, SIN és TAN), fok. Azoknak az egyváltozós függvények a visszatérési értéke, amelyek szöget adnak eredményül (ACOS, ASIN és ATAN), szintén fok.
A FIX függvény balról történő kerekítést jelent (kevesebb pozitív vagy több negatív) a számegyenesen, például FIX[2.8]=2 és FIX[-2.8]=-3. A FUP függvény jobbról történő kerekítést jelent (több pozitív vagy kevesebb negatív) a számegyenesen, például FUP[2.8]=3 és FUP[-2.8]=-2,
10.5.4 Paraméter beállítás
A paraméter beállítás a következő négy, egymást követő egységből áll:
♦ # karakter
♦ valós érték, melynek kiértékelése 1 és 10320 közé eső egész szám.
♦ egyenlőség jel = , és
♦ egy valós érték. Például a "#3 = 15" paraméter beállítás jelentése "a 3-as számú paraméter értéke 15-re van beállítva.
A paraméter beállítás nem ad eredményt, amíg az egész sor minden paraméter értéke nincs feldolgozva.
Például, ha a 3-as számú paraméter előzőleg 15-re lett beállítva és a #3=6 G1 x#3 értelmeződik,
egyenes mozgás történik abba a pontba, ahol x egyenlő 15-tel és a 3-as számú paraméter értéke 6 lesz.
10.5.5 Megjegyzések és üzenetek
Az a sor, amelyik % karakterrel kezdődik, megjegyzésként lesz kezelve és semmilyen módon nem értelmeződik.
Zárójelben lévő nyomtatható karakterek és a szóköz megjegyzést alkotnak. Mindig a baloldali zárójelnél kezdődik a megjegyzés. A megjegyzés az első jobboldali zárójelnél fejeződik be. Ha egy baloldali zárójel előfordul a sorban, a megfelelő jobboldali zárójelnek is meg kell jelenni a sor vége előtt. A megjegyzések nem ágyazhatók egymásba; vagyis hibát eredményez, ha baloldali zárójel vam a megjegyzés kezdete után és a vége előtt. Itt egy példa megjegyzést tartalmazó sorra: G80 M5 (stop motion)
A megjegyzés egy lehetséges formája két // karakter. Ettől a sor hátralévő része megjegyzésként lesz kezelve.
A megjegyzés a megmunkálásra semmilyen hatással nincs.
Egy olyan megjegyzés, amely zárójelek belsejében van, egy üzenetet tartalmaz, ha MSG, megjelenik a baloldali zárójel után és bármelyik egyéb nyomtatható karakter előtt. Az MSG, azon variánsai, melyek szóközt és a kisbetűket tartalmaznak, engedélyezettek. Az MSG szó utáni vessző nem hagyható el. A jobb zárójel előtti többi karakter a gépkezelőhöz szóló üzenetnek tekintendő. Az üzenet a képernyőn az „Error” üzenetsorban jelenik meg.
10.5.6 A mondatrészek ismétlődései
Egy sornak lehet bármennyi G-szava, de két G-szó ugyanabból a csoportból nem jelenhet meg
ugyanabban a sorban.
Egy sornak lehet nulla vagy maximum négy M-szava. Két M-szó ugyanabból a csoportból nem jelenhet meg ugyanabban a sorban.
Az összes többi legális betű esetében egy sornak csak egy, azzal a betűvel kezdődő szava lehet.
Ha ugyanazon paraméter paraméterbeállítása ismétlődik a sorban, például #3=15 #3=6, csak az utolsó beállítás érvényesül. Butaság, de nem tilos, hogy ugyanazt a paramétert kétszer állítsuk be ugyanabban a sorban.
Ha több, mint egy megjegyzés jelenik meg egy sorban, csak az utolsó lesz használva. Az összes többi megjegyzés is beolvasásra és formai ellenőrzésre kerül, de utána figyelmen kívül lesz hagyva. Várhatóan egynél több megjegyzés beírása egy sorba nagyon ritka lesz.
10.5.7 A mondatrészek sorrendje
A mondatrészeknek három olyan típusa van, melyeknek sorrendje variálódhat egy sorban (ahogy a fejezet elején szerepel): a szó, a paraméter beállítás és a megjegyzés. A mondatrészeknek ez a három típusa három csopotra osztható típus szerint.
Az első csoport (a szavak) átrendezhetők bármilyen sorrendbe a sor jelentésének megváltoztatása nélkül.
Ha a második csoportot (paraméter beállításokat) átrendezzük, nem lesz változás a sor jelentésében, kivéve, ha ugyannaz a paraméter egynél többször van beállítva. Ebben az esetben csak a paraméter utolsó beállítása érvényesül. Például, miután a #3=15 #3=6 sor értelmezésre kerül, a 3-as számú paraméter értéke 6 lesz. Ha a sorrend megfordul #3=6 #3=15-re, és a sort értelmezzük, a 3-as számú paraméter értéke 15 lesz.
Ha a harmadik csoport (a megjegyzések) egynél több megjegyzést tartalmaz, és a sorrendet
megváltoztatjuk, csak az utolsó megjegyzés lesz használva.
Ha mindegyik csoport sorrendben van tartva, vagy úgy kerül átsorolásra, hogy nem változik a sor
jelentése, akkor a három csoportot össze lehet fésülni bármilyen módon, anélkül, hogy változna a sor jelentése. Például, a G40 G1 #3=15 #4=-7.0 sornak öt mondatrésze van, és ugyanazt jelenti a az öt mondatrész százhúsz lehetséges sorrendjének bármelyikében- úgy mint például
4=-7.0 G1 #3=15 G40.
10.5.8 Parancsok és gépüzemmódok
A Mach3-nak sok olyan parancsa van, amelyek a megmunkáló rendszert az egyik módból a másikba állítják át, és a mód aktív marad, amíg egy másik parancs meg nem változtatja az implicit, vagy explicit módon. A ilyen parancsokat hívjuk öröklődőnek (modálisnak). Például, ha a hűtés be van kapcsolva, bekapcsolva is marad, amíg azt határozottan ki nem kapcsoljuk. A mozgás G-kódjai szintén öröklődők (modálisak). Ha például egy G1 (egyenes mozgás) parancsot adunk egy sorban, az végre lesz hajtva a következő sorban is, ha abban egy vagy több tengely szó van. Kivéve, ha egy határozott parancs került kiadásra, ami tengyely szót használ, vagy leállítja a mozgást.
A nem öröklődő kódoknak csak abban a sorban van hatásuk, amelyben előfordulnak. Pl. a G4 (várakozás) nem öröklődő.
10.6 Modális csoportok (Öröklődő parancsok csoportja)
Az öröklődő parancsok készletekbe vannak rendezve, melyeket „öröklődő parancsok csoportjának” (modális csoportoknak) hívjuk, és egy adott időben egy csoportnak csak egy tagja lehet érvényben.
Általában egy modális csoport olyan parancsokat tartalmaz, melyek esetében lehetetlen, hogy két tagja a csoportnak egyidőben legyen érvényben például az inch-ben való mérés szemben a mm-ben történő méréssel. A megmunkáló rendszer több módban is lehet egyidőben,úgy hogy mindegyik csoportcból egy mód érvényesül. A modális csoportok a 10.3 ábrán láthatók.
Az M-kódok modális csoportjai: ♦ 4. csoport = {M0, M1, M2, M30} leállítás ♦ 6. csoport = {M6} szerszámváltás ♦ 7. csoport = {M3, M4, M5} orsó forgás ♦ 8. csoport = {M7, M8, M9} hűtés (speciális eset: M7 és M8 aktív lehet ugyanabban az időben ♦ 9. csoport = {M48, M49} előtolás és sebesség túlhajtás engedélyezése/tiltása
|
A fenti modális csoportok mellett van egy csoport a nem modális Gkódok számára: ♦ 0. csoport = {G4, G10, G28, G30, G53, G92, G92.1, G92.2, G92.3}
|
10.3. ábra. Modális csoportok
Bizonyos modális csoportok esetében, amikor a megmunkáló rendszer készen áll parancsok fogadására, egy tag a csoportból érvényben kell, hogy legyen. Ezeknek a modális csoportoknak vannak alapbeállításai.A megmunkáló rendszer bekapcsolásakor vagy újraindításakor az alapértelmezett értékek automatikusan érvenyben vannak.
Az 1-es csoport (Group 1), az első csoport a táblázatban, egy csoport a mozgás G-kódjai számára. Egy ezek közül mindig hatályban van, amit aktuális mozgásmódnak hívunk.
Hibának számít, ha egy, az 1-es csoportból származó G-kódot és egy, a 0-s csoportból származó G-kódot egy sorba teszünk, ha mindkettő használ tengelyszavakat. Ha egy 1-es csoportba tartozó G-kód, amely tengelyszót használ, implicit módon érvényesül a sorban, (mivel egy korábbi sorban aktiváltuk) és egy 0-s csoportba tartozó G-kód jelenik meg a sorban, ami szintén használ tengelyszót, akkor az 1-es csoportba tartozó G-kód tevékenysége felfüggesztődik ebben a sorban. A tengelyszót használó G-kódok a 0-s csoportból a következők: G10, G28, G30, és G92.
A Mach3 kijelzi az aktuális módot minden képernyő tetején.
A Mach3 bemeneti nyelvének G-kódjai a 10.4. ábrán láthatók és a következőkben részletesen le vannak írva.
A leírás minta-parancsokat tartalmaz, courier betűtípussal szedve.
A minta-parancsban a hullámjel (~) valós értéket jelent. Mint az korábban leírásra került, a valós érték lehet:
(1) egy explicit szám, például 4.4, 13
(2) egy kifejezés, például [2+2.4],
(3) egy paraméteres érték, például #88,
(4) vagy egy egyváltozós függvény értéke, például acos[0].
A legtöbb esetben, ha a tengelyszavak (ezek valamelyike vagy mindegyike: X~, Y~, Z~, A~, B~,
C~, U~, V~, W~) adottak, azok meghatározzák a célpontot. A tengelyszámok a jelenleg aktív
koordinátarendszerhez viszonyulnak, kivéve, ha kifejezetten úgy vannak leírva, hogy az abszolút
koordináta rendszerben vannak. Ahol a tengelyszavak nem kötelezőek, bármelyik kihagyott tengely az aktuális értéken fog maradni. A minta-parancs bármelyik olyan eleme amelyik nem kifejezetten választhatóként van leírva, az kötelező. Hibát okoz, ha a kötelező elem elmarad.
U, V és W szinonímái A-nak, B-nek és C-nek. A U-val együtt, B V-vel együtt stb használva hibás (ugyanúgy, mintha A-t kétszer használnánk a sorban). A részletes leírásokban az U, V és W kódok nem kifejezetten említettek minden alkalommal, de A, B, és C magukba foglalják.
A minta-parancsokban a betűket követő értékek gyakran explicit számokként adottak. Hacsaknem másként van meghatározva, az explicit számok valós értékek lehetnek. Például G10 L2 ugyanolyan jól leírható G[2*5] L[1+1]-ként. Ha a 100-as számú paraméter értéke 2 lenne, akkor a G10 L#100 ugyanazt jelentené. Az olyan valós értékek használata, amik nem explicit számok, úgy, mint a példában, ritkán hasznos.
Ha L~ van írva egy mintában, a „~” jelre gyakran az „L szám”-ként hivatkoznak. Hasonlóképpen a „~” jel a H~ -ban hívható „H szám”-nak, és így tovább az összes többi betűnél. Ha léptéktényező van alkalmazva bármelyik tengelyre, az alkalmazódik a megfelelő X, Y, Z, A/U, B/V, C/W szó és a releváns I, J, K or R szavaknál, amikor használják őket.
10.7.1 Gyors pozícionálás - G0
(a) Lineáris mozgás gyorsjárattal funkcióhoz programozza a G0 X~ Y~ Z~ A~ B~ C~ utasítást, ahol bármelyik tengelyszó elhagyható, de legalább egyet használni kell. A G0 elhagyható, ha az aktuális mozgásmód G0. Ez lineáris interpolációt eredményez a célpontba az aktuális gyorsjárati sebességgel (vagy lassabban, ha a gép nem megy ilyen gyorsan). Az a követelmény, hogy forgácsolás ne legyen, ha a G0 parancs fut.
G-kódok összefoglalása
Kód Csoport Jelentés |
|
G0 |
Gyors pozicionálás |
G1 |
Lineáris interpoláció |
G2 |
Órajárással megegyező kör/spirális interpoláció |
G3 |
Órajárással ellentétes kör/spirális interpoláció |
G4 |
Várakozás |
G10 |
Koordinátarendszer kezdetének beállítása |
G12 |
Köralakú fészek, órajárással megegyező |
G13 |
Köralakú fészek, órajárással ellentétes |
G15/G16 |
Polárkoordinátás adatmegadás ki/be (G0 és G1) |
G17 |
XY sík választása |
G18 |
XZ sík választása |
G19 |
YZ sík választása |
G20/G21 |
Hosszegység választása (inch/milliméter) |
G28 |
Referenciapont felvétel |
G28 |
Referencia tengelyek |
G30 |
Referenciapontra állás |
G31 |
Egyenes tapintó |
G40 |
Szerszámsugár-korrekció számítás kikapcsolása |
G41/G42 |
Szerszámsugár-korrekció számítás balról/jobbról |
G43 |
Szerszámhossz-korrekció (+) |
G49 |
Szerszámhossz-korrekció kikapcsolása |
G50 |
Léptékezés kikapcsolása |
G51 |
Léptékezés bekapcsolása |
G52 |
Koordinátaeltolás |
G53 |
Pozicionálás az abszolút (gépi) koordinátarendszerben |
G54 |
1. munkadarab koordinátarendszer választása |
G55 |
2. munkadarab koordinátarendszer választása |
G56 |
3. munkadarab koordinátarendszer választása |
G57 |
4. munkadarab koordinátarendszer választása |
G58 |
5. munkadarab koordinátarendszer választása |
G59 |
6. munkadarab koordinátarendszer választása / általános készülékszám használata |
G61/G64 |
Pontos megállás/állandó sebesség mód |
G68/G69 |
Koordinátarendszer elforgatása |
G70/G71 |
Hosszegység választása(inch/milliméter) |
G73 |
Nagysebességű mélyfúróciklus |
G80 |
Öröklődő mozgások törlése |
G81 |
Fúróciklus, kiemelés gyorsmenettel |
G82 |
Fúróciklus várakozással, kiemelés gyorsmenettel |
G83 |
Mélyfúróciklus |
G84 |
Menetfúróciklus |
G85/G86G88/G89 |
Fúróciklusok fúrórúddal |
G90 |
Abszolút méretmegadás |
G91 |
Növekményes méretmegadás |
G92 |
Koordinátarendszer eltolás és paraméterek beállítása |
G92.x |
G92 törlése stb. |
G93 |
Időreciprok mód |
G94 |
Percenkénti előtolás mód |
G95 |
Fordulatonkénti előtolás mód |
G98 |
Visszatérés fúróciklusból a kindulási pontra |
G99 |
Visszatérés fúróciklusból az R (megközelítési) pontra |
10.4. ábra. G-kódok táblázata
(b) Ha G16 van végrehajtva a poláris adatmegadáshoz, akkor a gyorsjárattal végzett lineáris mozgást egy sugárral és szöggel leírt ponthoz G0 X~ Y~ ként használható. X~ a G16 poláris origóból kiinduló sugár, Y~ pedig szög, fokban mérve, amely 3 órától az óramutató járásával ellentétes irányban növekszik (azaz a hagyományos négy síknegyed szabály szerint).
Az aktuális pont koordinátái a G16 futásának ideje alatt azonosak a poláris origóval.
Hibát okoz, ha:
♦ minden tengelyszót elhagyunk.
Ha a szerszámsugár kompenzáció aktív, a mozgás eltér a fentiektől; lásd Szerszámkompenzáció c. fejezetet. Ha G53 szerepel ugyanabban a sorban, a mozgás szintén eltér; lásd Abszolút koordináták.
10.7.2 Lineáris interpoláció előtolással - G1
(a) Lineáris mozgás előtolással (forgácsolva vagy anélkül) funkcióhoz programozza a G1 X~ Y~ Z~ A~ B~ C~ utasítást, ahol bármelyik tengelyszó elhagyható, de legalább egyet használni kell. A G1 elhagyható, ha az aktuális mozgásmód G1. Ez lineáris interpolációt eredményez a célpontba az aktuális előtolási sebességgel (vagy lassabban, ha a gép nem megy ilyen gyorsan
(b) Ha Ön G16-ot hajtott végre a poláris adatmegadáshoz, akkor az előtolással végzett lineáris mozgást egy sugárral és szöggel leírt ponthoz G1 X~ Y~ ként használható. X~ a G16 poláris origóból kiinduló sugár, Y~ pedig szög, fokban mérve, amely 3 órától az óramutató járásával ellentétes irányban növekszik (azaz a hagyományos négy síknegyed szabály szerint).
Az aktuális pont koordinátái a G16 futásának ideje alatt azonosak a poláris origóval.
Hibát okoz, ha:
♦ minden tengelyszót elhagyunk.
Ha a szerszámsugár kompenzáció aktív, a mozgás eltér a fentiektől; lásd Szerszámkompenzáció c. fejezetet. Ha G53 szerepel ugyanabban a sorban, a mozgás szintén eltér; lásd Abszolút koordináták.
10.7.3 Kör (spirális) interpoláció előtolással - G2 and G3
Egy kör vagy spirális ívet meghatároz a G2 (óramutató járásával megegyező) vagy a G3 (óramutató járásával ellentétes) valamelyikének használata. A kör vagy spirál tengelyének párhuzamosnak kell lennie a gépi koordinátarendszer X, Y vagy Z-tengelyével. A tengely (vagy ami vele egyenértékű, a tengelyre merőleges sík) kiválasztható G17-tel (Z-tengely, XY-sík), G18-cal (Y-tengely, XZ-sík), vagy G19-cel (Xtengely, YZ-sík). Körív esetén annak síkja párhuzamos a választott síkkal.
Ha egy ívet készítő kódsor forgó tengelymozgást tartalmaz, a forgó tengelyek állandó sebességgel forognak úgy, hogy a forgó mozgás és az XYZ mozgások kezdeti és végpontjai megegyeznek. Ilyen fajta sorokat szinte soha sem programoznak.
Ha a szerszámsugár kompenzáció aktív, a mozgás eltér a fentiektől; lásd Szerszámkompenzáció c. fejezetet.
Az ív meghatározására két formátum megengedett. Ezeket középpont formátumnak és sugár formátumnak nevezzük. Mindkét formátumnál választható a G2 vagy G3, ha az az érvényes mozgásmód.
10.7.3.1 Sugár formátumú ív
Sugár formátumnál az ív végpontjának koordinátái az ív sugarával együtt adottak a választott síkban.
Programozza a G2 X~ Y~ Z~ A~ B~ C~ R~ utasítást (vagy használja a G3-at a G2 helyett). R a
sugarat jelenti. A tengelyszavak választhatóak, kivéve, hogy a két szóból, amelyek a választott sík tengelyeire vonatkoznak, legalább egyet használnia kell. Az R szám a sugár. A pozitív sugár azt jelzi, hogy 180 fok vagy kisebb szöghöz tartozik az ív, a negatív sugár 180 foktól 359.999 fokig terjedő szöghöz tartozó ívet eredményez. Ha az ív spirális, a spirál tengelyével párhuzamos koordinátatengelyen lévő ívvégpont értéket kell megadni.
Hibát okoz, ha:
♦ a választott síkhoz tartozó mindkét tengely tengelyszavát elhagyjuk,
♦ az ív végpontja azonos a jelenlegi ponttal.
Nem jó gyakorlat olyan sugár formátumú ívet programozni, ami majdnem egész kör, vagy félkör (vagy majdnem félkör), mert a végpont helyzetének kis változása a kör középpontjának helyzetében (és ezért a körív felezőpontján is) sokkal nagyobb változást fog okozni. A nagyító effektus olyan nagy, hogy egy szám kerekítésének hibája tűréshatáron kívüli vágást okozhat. A majdnem egész körök iszonyúan rosszak, a (majdnem) félkörök „csak” nagyon rosszak. Más méretű ívek (a picitől 165 fokig, vagy 195-től 345 fokig) megfelelőek.
Itt egy példa a sugár formátumú parancsra ív marásához: G17 G2 x 10 y 15 r 20 z 5.
Ez a parancs készít egy, az óramutató járásával megegyező (a pozitív Z-tengely felől nézve) kör- vagy spirális ívet, melynek tengelye párhuzamos a Z-tengellyel, végpontja X=10, Y=15, és Z=5 –nél van, 20-as sugárral. Ha Z kezdő értéke 5, akkor ez körív, melynek síkja párhuzamos az XY-síkkal, egyébként ez egy spirális ív (csavarvonal).
10.7.3.2 Középpont formátumú ív
Középpont formátumnál az ív végpontjainak koordinátái, valamint középpontjának a jelenlegi ponttól mért eltolásai adottak, a választott síkon. Ebben a formátumban nem hibás, ha az ív végpontja ugyanaz, mint a jelenlegi pont.
Hibát okoz, ha:
♦ a választott síkon tervezett ívnél a jelenlegi pont és a középpont távolsága, valamint a végpont és a középpont távolsága 0.0002 inh-nél (ha inch a használt egység), vagy 0.002 milliméternél (ha mm a használt egység) nagyobb mértékben eltér egymástól.
A középpontot az I és J szavak használatával határozzuk meg. Ezeket kétféle módon értelmezhetjük. A szokásos eljárás az, hogy I és J a középpont relatív távolsága az ív kezdőpontját jelentő jelenlegi ponttól.
Ezt néha Inkrementális IJ módnak nevezzük. A másik eljárás az, hogy I és J a középpontot az aktuális koordinátarendszerben érvényes koordinátákkal adja meg. Ezt eléggé félrevezetően Abszolút IJ módnak nevezik. Az IJ mód beállítható a Configure>State… menüpontban, amikor a Mach3-at konfiguráljuk.
A mód kiválasztása biztosítja a kompatibilitást a kereskedelmi vezérlőkkel. Valószínűleg az inkrementális mód lesz a jó. Ha abszolút módot választ, akkor természetesen mindig szükség lesz mind az I, mind a J szavak használatára, hacsaknem az ív középpontja véletlenül az origóba esik.
Amikor az XY-sík a kiválasztott, programozza a G2 X~ Y~ Z~ A~ B~ C~ I~ J~ utasítást (vagy
használja a G3-at a G2 helyett). A tengelyszavak mind választhatóak, kivéve, hogy X és Y közül legalább az egyiket választania kell. I és J a kör középpontjának az eltolásai a jelenlegi helytől, vagy a kör középpontjának a koordinátái – az IJ módtól függően (egyenként X és Y irányban). I és J választhatóak, kivéve, hogy legalább egyet a kettő közül használni kell.
Hibát okoz:
♦ X és Y együttes elhagyása,
♦ I és J együttes elhagyása.
Amikor az XZ-sík a kiválasztott, programozza a G2 X~ Y~ Z~ A~ B~ C~ I~ K~ utasítást (vagy
használja a G3-at a G2 helyett). A tengelyszavak mind választhatóak, kivéve, hogy X és Z közül legalább az egyiket választania kell. I és K a kör középpontjának az eltolásai a jelenlegi helytől, vagy a kör középpontjának a koordinátái – az IJ módtól függően (egyenként X és Z irányban). I és K választhatóak, kivéve, hogy legalább egyet a kettő közül használni kell.
Hibát okoz:
♦ X és Z együttes elhagyása,
♦ I és K együttes elhagyása.
Amikor az YZ-sík a kiválasztott, programozza a G2 X~ Y~ Z~ A~ B~ C~ J~ K~ utasítást (vagy
használja a G3-at a G2 helyett). A tengelyszavak mind választhatóak, kivéve, hogy Y és Z közül legalább az egyiket választania kell. J és K a kör középpontjának az eltolásai a jelenlegi helytől, vagy a kör középpontjának a koordinátái – az IJ módtól függően (egyenként Y és Z irányban). J és K választhatóak, kivéve, hogy legalább egyet a kettő közül használni kell.
Hibát okoz:
♦ Y és Z együttes elhagyása,
♦ J és K együttes elhagyása.
Itt egy példa a középpont formátumú parancsra ív marásához növekményes IJ módban:
G17 G2 x10 y16 i3 j4 z9
Ez a parancs készít egy, az óramutató járásával megegyező (a pozitív Z-tengely felől nézve) kör- vagy spirális ívet, melynek tengelye párhuzamos a Z-tengellyel, végpontja X=10, Y=16, és Z=9 –nél van, a középpont eltolása X irányban 3 egység a jelenlegi X helyzettől és az eltolás Y irányban 4 egység az ség a jelenlegi Y helyzettől. Ha a jelenlegi helyzet (kezdőpont) X=7, Y=7, a középpont X=10, Y=11-ben lesz.
Ha a Z kezdő értéke 9, akkor ez egy körív, egyébként spirális ív (csavarvonal). A sugara ennek az ívnek 5 egység lesz.
Az előző ív abszolút IJ módban programozva: G17 G2 x10 y16 i10 j11 z9
Középpont formátumban az ív sugara nincs megadva, azonban könnyen meg lehet határozni az ív
középpontjának és a jelenlegi pontnak (kezdőpont), vagy a végpontnak a távolságaként.
10.7 .Várakozás - G4
A várakozáshoz programozza a G4 P~ utasítást.
Ez megállítva tartja a tengelyeket arra az időtartamra, melyet a P paraméterrel szekundumban vagy milliszekundumban előír. A használt időegységet a Config>Logic párbeszédablakban lehet beállítani.
Például, szekundum egység esetén a G4 P0.5 utasításnál a várakozás fél szekundum lesz.
Hibát jelent, ha:
♦ a P szám negatív.
10.7.5 A szerszámkorrekció és nullpont eltolás táblák koordinátarendszer adatainak
beállítása - G10
A következőkben további információkat talál a szerszámkorrekció módosítására és a munkadarab
(készülék) nullpont eltolására a koordinátarendszeren.
A szerszámkorrekció értékének beállításához programozza a G10 L1 P~ X~ Z~ A~, utasítást, ahol a P a szerszám számát jelenti, 0-tól 255-ig terjedő tartományban, egészként kiértékelve. A P számmal megnevezett szerszám korrekciós értékei átállítódnak a megadottra. Az A számmal átállítható a szerszám csúcssugara. Csak azok az értékek módosulnak, amiknek tengelyszavát tartalmazza a programsor. A szerszámátmérő nem módosítható ezzel az utasítással.
A munkadarab (készülék) koordinátarendszer nullpontjának koordináta értékeit úgy lehet beállítani, hogy programozza a G10 L2 P~ X~ Y~ Z~ A~ B~ C~, utasítást, ahol a P szám 1-től 255-ig terjedő tartományban, egészként kiértékelve a készülék számát jelenti – (az 1-től 6-ig terjedő értékek megfelelnek a G54-G59-nek), és az összes tengelyszó szabadon választható. A P számmal megnevezett koordinátarendszer nullpontjának koordinátái átállítódnak a megadott koordináta értékekre (abszolút koordinátarendszerben értelmezve). Csak azok a koordináták módosulnak, amiknek tengelyszavát tartalmazza a programsor.
Hibát jelent, ha :
♦ a P szám nem 0 és 255 közé eső egész.
Ha nullpont beállítások voltak (G92-vel vagy G92.3-mal végezve) a G10 használata előtt, azok hatása érvényben marad.
A koordinátarendszer, melynek nullpontját egy G10 utasítással állítottuk be, lehet aktív vagy inaktív a G10 futásának ideje alatt.
Ezeknek az értékeknek a beállítása csak akkor marad meg a szerszám vagy készüléktáblákban, ha a táblák képernyőjén lévő gombokkal mentjük azokat.
Példa: G10 L2 P1 x3.5 y17.2 az első (G54-el kiválasztott) koordinátarendszer nullpontjának
átállítása az X=3.3 és Y=17.2 pontba (abszolút koordinátákban). A nullpont Z koordinátája (és bármelyik forgó tengely koordinátája) olyanok maradnak, mint a sor futtatása előtt voltak.
10.7.6 Kör alakú fészek, órajárással megegyező/ellentétes - G12 and G13
Ez az utasítás a zárt ciklusoknak egy fajtája, melynek alkalmazása esetén a használatban lévő szerszámnál nagyobb méretű kör alakú fészkek, vagy a megfelelő szerszámmal (mint pl. horonymaró) belső, „O” gyűrűkhöz való hornyok stb. készíthetők.
Programozzon G12 I~ t óramutató járásával megegyező, illetve G13 I~ t óramutató járásával
ellentétes mozgáshoz. A szerszám X irányban elmozdul az I szó értékével, és kört vág a megadott
irányban, az eredeti X és Y koordinátákat használva középpontnak. A szerszám visszatér a középpontba.
Ez az utasítás nem működik, ha nem az XY-sík az aktuális.
10.7.7 Polárkoordinátás adatmegadási mód ki/bekapcsolása - G15 és G16
Lehetséges olyan G0 és G1 mozgásokat végezni az XY-síkon, hogy csak egy sugár és szög koordinátát adunk meg relatíve egy ideiglenes középponttól. Programozzon G16-ot ennek a módnak a használatához.
A vezérelt pont jelenlegi koordinátái alkotják az ideiglenes középpontot. Programozzon G15-öt a normál derékszögű koordinátarendszer visszaállításához.
G0 X10 Y10 // normál G0 mozgás a 10,10 pontba
G16 //poláris mód bekapcsolása
G10X10Y45
(ez mozgást eredményez az X=17.xxx, Y=17.xxx pontjába annak a körnek,)
(amelyiknek a sugara 10 és 45 fokra van a kezdeti 10,10-es koordinátáktól.)
Ez nagyon hasznos például lyukkörön történő fúrásnál. Az alábbi kódokkal 10 fokonként fúrás végezhető egy olyan lyukkörön, melynek sugara 50 mm, középpontjának koordinátái X=10, Y=5.5 és a fúrás mélysége -0.6 mm.
G21 // metrikus
G0 X10Y5.5
G16
G1 X50 Y0 //poláris mozgás 50 mm sugárral 0 fok szöggel.
G83 Z-0.6 // fúrás
G1 Y10 // 10 fok az eredeti középponttól…
G83 Z-0.6
G1 Y20 // 20 fok....stb...
G1 Y30
G1 Y40
> ...stb....
G15 //visszatérés a derékszögű koordinátákhoz
Megjegyzés:
(1) Amig G16 aktív, tilos másfajta X vagy Y mozgások végzése G0 vagy G1 használatával.
(2) Ez a G16 különbözik a Fanuc változattól, mert az aktuális pontot használja poláris középpontként. A Fanuc verzió egy csomó nullpont váltást igényel ha a készítendő kör nem 0,0 középpontú.
10.7.8 Sík választása - G17, G18, és G19
Programozzon G17-et az XY-sík kiválasztásához, G18-at az XZ-sík kiválasztásához vagy G19-et az YZsík kiválasztásához. A síkválasztás jelentőségét a G2/3 alatt és a zárt ciklusoknál tárgyaljuk.
10.7.9 Hosszegység választása (inch/mm) - G20 és G21
Programozzon G20-at, ha hosszegységként inch-et akar használni, illetve milliméter esetén G21-et.
Rendszerint jó elképzelés, hogy a program elején használjuk a G20 vagy G21 valamelyikét, mielőtt bármelyik mozgás bekövetkezik, és egyiket se használjuk máshol a programban. A felhasználó felelőssége, hogy biztosan minden számot az aktuális hosszegységnek megfelelően használjon. Lásd még a G70/G71-et mint szinonimákat.
10.7.10 Referenciapontra állás - G28 and G30
A home (referencia) pozíció meghatározott (az 5161-5166 paraméterekkel). A paraméter értékek az abszolút koordinátarendszerben vannak kifejezve, de a hosszegységek meghatározatlanok.
A home (referencia) pozícióba való visszatéréshez egy programozott pozíción keresztül, programozza a G28 X~ Y~ Z~ A~ B~ C~ utasítást (vagy használja a G30-at). Minden tengelyszó választható (opcionális). A jelenlegi pozícióból a programozott pozícióba való utat egy átlós mozgással teszi meg, amit egy újabb átlós mozgás követ a home (referencia) pozícióba. Ha nincsenek tengelyszavak programozva, akkor a közbülső pont a jelenlegi pont, tehát csak egy mozgás készül.
10.7.11 Tengelyek referenciára állítása G28.1
Programozza a G28.1 X~ Y~ Z~ A~ B~ C~ utasítást az adott tengelyek referenciára állításához. A tengelyek az érvényes előtolási sebességgel fognak mozogni a home (referencia) kapcsoló(k) felé, ahogy ezt a konfiguráláskor definiáltuk. Amikor az abszolút gépi koordináta eléri azt az értéket, amit egy tengelyszó adott meg, akkor az előtolási sebesség felveszi a Configure>Config Referencing menüpontban beállított (csökkentett) értéket. Feltéve, hogy az aktuális abszolút pozíció megközelítőleg helyes, ez lassú, kúszó mozgást (soft stop)-ot eredményez a referencia kapcsolókra.
10.7.12 Egyenes tapintó – G31
10.7.12.1 Az egyenes tapintó parancs
Programozza a G31 X~ Y~ Z~ A~ B~ C~ utasítást az egyenes tapintó művelet végrehajtásához. A forgó tengelyek szavai megengedettek, de jobb elhagyni őket. Ha forgó tengely szavakat használ, a számok ugyanazok legyenek, mint a jelenlegi pozíció számai, hogy a forgó tengelyek ne mozogjanak. A lineáris tengelyek szavai elhagyhatók, kivéve azt az egyet, melyet használni kell. A szerszám az orsóban tapintó legyen.
Hibát okoz, ha:
♦ az aktuális pont 0,254 mm-nél vagy 0,01 inch-nél közelebb van a programozott ponthoz
♦ G31 (időben változó előtolási sebesség) van használatban
♦ bármelyik forgó tengelyt mozgásra utasítunk
♦ nincs X, Y, vagy Z-tengely használva
Erre az utasításra reagálva a gép a vezérelt pontot (aminek a tapintó csúcsán kell lennie) egyenes vonal mentén mozgatja az érvényes előtolási sebességgel a programozott pont felé. Ha a tapintó érzékel, kissé visszalép az érzékelt ponttól és véget ér az utasítás. Ha a tapintó nem érzékel, miután kissé áthaladt a programozott ponton, hibajelzést kapunk.
A sikeres tapintás után a 2000-2005-ös paraméterekbe beállítódnak a vezérelt pontnak az érzékeléskor elfoglalt helyzetéhez tartozó koordináták. Az éritéskor észlelt X, Y, és Z hármas beíródik a „triplet” fájlba, ha azt az M40 makró OpenDigFile()funkciójával megnyitottuk.
10.7.12.2 Az egyenes tapintó parancs használata
Az egyenes tapintó parancsot használva, ha a tapintó szárának névleges párhuzamossága biztosított a Ztengellyel (azaz minden forgó tengely nullán áll) és a tapintóhoz szerszámhossz korrekciót használunk, úgy, hogy a vezérelt pont a tapintó csúcsának végére esik:
♦ a tapintóval kapcsolatos kiegészítő ismeret nélkül meghatározható például az alkatrész felületének a párhuzamossága az XY-síkkal.
♦ ha a tapintó csúcssugara hozzávetőlegesen ismert, meghatározható például az alkatrész felületének az YZ vagy XZ-síkkal való párhuzamossága.
♦ ha a tapintó szárának egytengelyűsége a Z-tengellyel és hozzávetőlegesen a csúcssugár ismert,
meghatározható például egy hengeres furat középpontja.
♦ ha a tapintó szárának egytengelyűsége a Z-tengellyel és a pontos csúcssugár ismert, az egyenes tapintó utasítás többszörös alkalmazásával meghatározható egy hengeres furat átmérője.
Ha a tapintó szárának egyenessége nem biztosítható nagy pontossággal, ismernünk kell a csúcsának tényleges sugarát legalább +X, -X, +Y és -Y irányokban. Ezeket a mennyiségeket paraméterként el kell tárolni egy paraméter fájlban vagy a Mach3 programban.
A tapintó használata akkor is lehetséges, ha a forgó tengelyek nincsenek nullára állítva. Ez sokkal
komplexebb, mint mikor a forgó tengelyek nullázva vannak, és itt nem foglalkozunk vele.
10.7.12.3 Példa program
Egy használható példa egy hengeres furat középpontjának és átmérőjének megkeresésére a 11.5. ábrán látható. Ahhoz, hogy ez a kód helyes eredményt adjon, a tapintó szárának egytengelyűnek kell lenni a Ztengellyel, csúcsának keresztmetszete a legszélesebb helyen pontosan körkörös legyen és a csúcssugarat (azaz a kör keresztmetszet sugarát) pontosan kell ismerni. Ha a tapintó csúcssugara csak hozzávetőlegesen ismert (de a többi feltétel teljesül), a furatközéppont helyzete pontosan meghatározható, de az átmérő nem.
N010 (Furat középpontjának és átmérőjének mérése tapintóval)
N020 (Ez a program nem futtatható, ahogy itt van. Önnek )
N030 (számokat kell beilleszteni az így jelölt helyekre: < >.)
N040 (Törölje az N020, N030, és N040 sorokat)
N050 G0 Z <a visszatérési pozíció Z-értéke> F <előtolás>
N060 #1001=<a furat középpontjának névleges X-értéke>
N070 #1002=<a furat középpontjának névleges Y-értéke>
N080 #1003=<egy Z-érték a furat belsejében>
N090 #1004=<a tapintó csúcsának sugara>
N100 #1005=[<a furat névleges átmérője>/2.0 - #1004]
N110 G0 X#1001 Y#1002 (mozgás a fenti névleges furatközéppontra)
N120 G0 Z#1003 (mozgás a furatba - óvatosan, az itteni G0 G1-el
helyettesíthető)
N130 G31 X[#1001 + #1005] (a furat oldalának érintése +X irányban)
N140 #1011=#2000 (az eredmény mentése)
N150 G0 X#1001 Y#1002 (vissza a furatközéppontra)
N160 G31 X[#1001 - #1005] (a furat oldalának érintése -X irányban)
N170 #1021=[[#1011 + #2000] / 2.0] (a furatközéppont pontos X-értékének kiszámítása)
N180 G0 X#1021 Y#1002 (vissza a furatközéppontra)
N190 G31 Y[#1002 + #1005] (a furat oldalának érintése +Y irányban)
N200 #1012=#2001 (az eredmény mentése)
N210 G0 X#1021 Y#1002 (vissza a furatközéppontra)
N220 G31 Y[#1002 - #1005] (a furat oldalának érintése -Y irányban)
N230 #1022=[[#1012 + #2001] / 2.0] (a furatközéppont pontos Y-értékének kiszámítása)
N240 #1014=[#1012 - #2001 + [2 * #1004]] (az Y-irányú furatátmérő kiszámítása)
N250 G0 X#1021 Y#1022 (vissza a furatközéppontra)
N260 G38.2 X[#1021 + #1005] (a furat oldalának érintése +X irányban)
N270 #1031=#2000 (az eredmény mentése)
N280 G0 X#1021 Y#1022
N290 G31 X[#1021 - #1005] (a furat oldalának érintése -X irányban)
N300 #1041=[[#1031 + #2000] / 2.0] (a furatközéppont pontos X-értékének kiszámítása)
N310 #1024=[#1031 - #2000 + [2 * #1004]] (az X-irányú furatátmérő kiszámítása)
N320 #1034=[[#1014 + #1024] / 2.0] (az Y és X irányú furatátmérő átlagának kiszámítása)
N330 #1035=[#1024 - #1014] (az X és Y irányú furatátmérő különbségének kiszámítása)
N340 G0 X#1041 Y#1022 (vissza a furatközéppontra)
N350 M2 (itt a vége, fuss el véle)
10.5. ábra. Program furat méréséhez
A 10.5. ábrán a <szám beírása> formátumú bejegyzés azt jelenti, hogy a zárójelek és a bennük lévő szöveg helyére az oda illő aktuális számot kell behelyettesíteni. A kód ezen szekciójának lefutása után a középpont X értéke a 1041-es, Y-értéke a 1022-es és az átmérő a 1034-es paraméterbe kerül. Ezenkívül az X-tengellyel párhuzamos átmérő a 1024-es, az Y-tengellyel párhuzamos átmérő a 1014-es, és a különbség (a köralakúság mutatója) a 1035-ös paraméterbe kerül. A tapintó csúcsa az XY középpontú furatban van. A példa nem tartalmaz szerszámcsere utasítást a tapintó főorsóba helyezéséhez. Írjon be szerszámcsere kódot a program elejére, ha szükséges.
10.7.13 Szerszámsugár-korrekció - G40, G41, és G42
A szerszámsugár-korrekció kikapcsolásához programozza a G40 utasítást. Nem okoz hibát a korrekció kikapcsolása, ha már ki volt kapcsolva.
A szerszámsugár-korrekciót csak akkor lehet végrehajtani, ha az XY-sík aktív.
A balról számított szerszámsugár-korrekció bekapcsolásához (azaz a szerszám a programozott pálya baloldalán halad, ha a szerszámsugár pozitív) programozza a G41 D~ , a jobbról számítotthoz (amikor a szerszám a programozott pálya jobboldalán halad, ha a szerszámsugár pozitív) a G42 D~ utasítást. A D szó elhagyható. Ha nincs D szó, a szerszámsugár megfelel az orsóban található, használatban lévő szerszámnak. Ha van D szó, a D szám normál esetben az orsóban lévő szerszám számának feleljen meg, bár ez nem követelmény. D számnak megadható a nulla, ekkor sugár értékként nulla lesz használatos.
A G41 és G42 alkalmazható a P-szóval. Ez hatástalanítja a szerszám átmérőjének a szerszámtáblában megadott értékét (ha egyáltalán volt).
Hibát okoz, ha:
♦ a D szám nem egész, negatív, vagy nagyobb, mint a szerszámtartó férőhelyeinek száma.
♦ az XY-sík nem aktív
♦ ha szerszámsugár korrekció bekapcsolására adunk utasítást, ha már be van kapcsolva.
A megmunkálórendszer viselkedését bekapcsolt szerszámsugár korrekció esetén a Szerszámkorrekció című fejezetben tárgyaljuk. Figyeljen az érvényes utasítások programozásának és a kilépő mozgások (exit moves) fontosságára.
10.7.14 Szerszámhossz-korrekció - G43, G44 és G49
A szerszámhossz-korrekció használatához programozza a G43 H~ utasítást, ahol a H szám a
szerszámtábla kívánt indexe. Az az elvárás, hogy a tábla minden bejegyzése pozitív legyen .A H szám lehetőleg, de nem kötelezően legyen azonos a jelenleg az orsóban lévő szerszám számával A H szám lehet nulla, ekkor a használatos korrekciós érték nulla. Az elhagyott H a nulla értékel azonos hatású.
A G44 kompatibilis G43-mal és akkor használatos, hogyha a táblában lévő bejegyzések negatív korrekciót okoznak
Hibát okoz, ha:
♦ a H szám nem egész, negatív, vagy nagyobb, mint a szerszámtartó férőhelyeinek száma.
Szerszámhossz-korrekció nélküli használathoz programozza a G49 utasítást!
Nem jelent hibát, ha ugyanannak a korrekciónak a használatát programozzuk, amelyik már használatban van. Szintén nem hiba, ha a szerszámhossz-korrekció nélküli módot programozza, amikor az nincs is használatban.
10.7.15 Léptékezés G50 és G51
Léptéktényező definiálásához, még mielőtt alkalmazná az X , Y, Z, A, B, C, I és J szavakat, programozza a G51 X~ Y~ Z~ A~ B~ C~ utasítást, ahol X, Y, Z stb. szavak az adott tengelyek léptéktényezői.
Az értékek önmaguk természetesen sohasem skálázottak.
Nem engedélyezett egyenlőtlen léptéktényezőket használni elliptikus ívek G2-vel vagy G3-mal történő létrehözásához.
Minden tengely léptéktényezőjének 1,0-ra történő visszaállításához programozzon G50-et
10.7.16 Átmeneti koordináta rendszer eltolás – G52
A jelenlegi pont pozitív vagy negatív távolsággal (mozgás nélkül) történő áthelyezéséhez programozzon G52 X~ Y~ Z~ A~ B~ C~ utasítást, ahol a tengelyszavak tartalmazzák a kívánt eltolást. Minden tengelyszó elhagyható, kivéve azt az egyet, amelyiket használni kell. Ha egy adott tengely tengelyszava nincs használva, az aktuális pont koordinátája azon a tengelyen nem változik.
Hibát jelent, ha:
♦ minden tengelyszó hiányzik.
A G52 és G92 közös belső mechanizmust használ a Mach3-ban, és nem lehet egyidejűleg alkalmazni azokat. Ha a G52 futtatva van, a jelenleg aktív koordinátarendszer nullpontja elmozdul a megadott értékekkel.
A G52 hatásának törléséhez programozza a G52 X0 Y0 stb. utasítást.
Itt egy példa. Ha az aktuális pont az X=4 helyen van a jelenleg érvényes koordinátarendszerben, akkor a G52 X7 beállítás az X-tengelyt eltolja 7-be, és ez azt eredményezi, hogy az aktuális pont X-koordinátája -3 lesz.
A tengely eltolások mindig használhatók, - bármelyik munkadarab (készülék) koordináta rendszer használatos,- ha az elmozdulás abszolút távolság móddal van meghatározva. Így minden munkadarab (készülék) koordináta rendszer érintett a G52 által.
10.7.17 Pozícionálás az abszolut (gépi) koordinátarendszerben - G53
Egy abszolút koordinátarendszerben meghatározott ponthoz elvégzett lineáris interpoláció a
G1 G53 X~ Y~ Z~ A~ B~ C~ (vagy G0 a G1 helyett) utasítás programozásával valósítható meg,
ahol minden tengelyszó elhagyható, kivéve azt az egyet, amelyiket használni kell. Ha a G1 az aktív, a mozgás sebessége az aktuális előtolási sebesség (vagy lassabb, ha a gép nem megy ilyen gyorsan). Ha a G0 az aktív, a mozgás sebessége az aktuális gyorsjárati sebesség (vagy lassabb, ha a gép nem megy ilyen gyorsan).
Hibát jelent, ha:
♦ G53-at anélkül használjuk, hogy G0 vagy G1 aktív,
♦ G53-a- akkor használjuk, mialatt a szerszámsugár korrekció be van kapcsolva.
Lásd az ide vonatkozó fejezetet a koordinátarendszerek áttekintéséhez.
10.7.18 Munkadarab koordinátarendszer választás - G54 to G59 és G59 P~
Az 1-es számú munkadarab koordinátarendszer kiválasztásához programozza a G54 utasítást, és
hasonlóan az első hat esetben. A koordinátarendszer-szám – G-kód párosok a következők: (1-G54), (2- G55), (3-G56), (4-G57), (5-G58), (6-G59).
A 254 koordinátarendszer bármelyikének (1-254) eléréséhez programozza a G59 P~ utasítást, ahol a P szó adja meg a kívánt koordinátarendszer-számot. Így G59 P5 hatásában megegyezik a G58-cal.
Hibát jelent, ha:
♦ ezekből a G-kódokból egy használatban van, mialatt a szerszámsugár korrekció be van kapcsolva.
Lásd az ide vonatkozó fejezetet a koordinátarendszerek áttekintéséhez.
10.7.19 Előtolás vezérlési módok - G61, és G64
Programozzon G61-et, hogy a megmunkáló rendszer pontos megállás módban, vagy G64-et, hogy állandó sebesség módban működjön. A prorgramozás nem okoz hibát, ha az a mód már aktív. Ezek a módok fentebb már leírásra kerültek.
10.7.20 Koordinátarendszer elforgatása – G68 és G69
Programozzon G68 A~ B~ I~ R~ utasítást a koordinátarendszer elforgatásához.
A~ az X, B~ az Y koordinátája a forgatás középpontjának, az aktuális koordinátarendszerben (azaz belértve minden munkadarab- és szerszámkorrekciót és a G52/G92 koordinátaeltolást).
R~ a forgatás szöge fokban (pozitív, ha óramutató járásával ellentétesnek látjuk pozitív Z irányából.) I~ elhagyható és az értéket nem használja. Ha I~ létezik, akkor az adott R érték hozzáadódik a G68 utasítással már korábban megtörtént bármilyen elforgatáshoz (növekményes szögmegadás).
Például G68 A12 B25 R45 a koordinátarendszer 45 fokos elforgatását okozza az X=12, Y=25 pont körül.
Következésképpen a G68 A12 B35 I1 R40 a koordinátarendszer 85 fokba történő továbbforgatását eredményezi az X=12, Y=25 pont körül.
Programozzon G69utasítást az elforgatás visszavonásához.
Megjegyzések:
• Ez a kód csak akkor eredményez elforgatást, ha az XY-sík azaktuális.
• Az I szó még akkor is használható, ha a középpont eltér a korábban használttól, habár ebben az esetben az eredményt óvatosan kell tervezni. Ez hasznos lehet a motorforgatás szimulálásakor.
10.7.21 Hosszegység választása (inch/mm) – G70 és G71
Programozzon G70-et, ha hosszegységként inch-et akar használni, illetve milliméter esetén G71-et. Rendszerint jó elképzelés, hogy a program elején használjuk a G70 vagy G71 valamelyikét, mielőtt bármelyik mozgás bekövetkezik, és egyiket se használjuk máshol a programban. A felhasználó felelőssége, hogy biztosan minden számot az aktuális hosszegységnek megfelelően használjon. Lásd még a G20/G21-et mint szinonimákat.
10.7.22 Zárt ciklus – nagysebességű mélyfúrás G73
A G73 ciklus célja mélyfúrás vagy marás forgácstöréssel. Lásd még a G83-at. A visszahúzás ennél a ciklusnál megtöri a forgácsot, de nem teljesen húza vissza a fúrót a furatból. Ez hosszú vágóéllel rendelkező szerszámoknál alkalmazható, amelyeknél ki kell tisztítani az összetört forgácsot a furatból. A ciklus tartalmaz egy Q számot, ami egy „delta” növekményt határoz meg a Z-tengely mentén.
Programozza a G73 X~ Y~ Z~ A~ B~ C~ R~ L~ Q~ utasítást
♦ Bevezető mozgás, ahogy a G81-89 zárt ciklusokban le van írva.
♦ Μozgás a Z-tengely mentén az érvényes előtoló mozgással lefelé deltával, vagy a Z pozícióba, attól függőel, melyik a kisebbik.
♦ Gyors visszahúzás a G73 PullBack (visszahúzás) DRO-ban a Settings képernyőn beállított távolsággal.
♦ Gyors lefelé mozgás az aktuális furat-fenékig, aztán kis visszahúzás.
♦ Az 1, 2, és 3-as lépések ismétlése, amíg a Z pozíció eléri az 1-es lépésben lévőt.
♦ Visszahúzás Z-tengely mentén gyorsmenettel teljes Z hosszal.
Hibát jelent, ha:
♦ a Q szám negatív vagy nulla.
10.7.23 Öröklődő mozgások törlése - G80
Programozzon G80 utasítást annak biztosításához, hogy ne történjen tengelymozgás.
Hibát okoz, ha:
♦ Tengelyszavak vannak programozva, amikor a G80 aktív, kivéve, ha nem öröklödő G-kód van
programozva, ami tengelyszavakat használ.
10.7.24 Zárt ciklusok - G81 to G89
Ebben a fejezetben a G81-től G89-ig megvalósított zárt ciklusokról olvashatunk. Két példa található a G81 leírásánál, lentebb.
Minden zárt ciklus végrehajtása az aktuálisan kiválasztott síkon történik. A három sík (XY, YZ, ZX) közül akármelyik választható. Eben a fejezetben legtöbbször azt feltételezzük, hogy az XY-sík van kiválasztva. A viselkedés mindig analóg, ha YZ vagy XZ-sík a kiválasztott.
Zárt ciklusoknál a forgó tengelyek szavai megengedettek, de jobb elhagyni azokat. Ha forgó tengelyek szavait használjuk, a számok legyenek azonosak a jelenlegi pozíció számaival, hogy a forgó tengelyek ne mozogjanak.
Minden zárt ciklus használ X, Y, R és Z számokat az NC kódban. Ezeket a számokat használjuk az X, Y, R és Z pozíciók meghatározásához. Az R pozíció (általában a visszahúzást jelenti) az aktuálisan választott síkra merőleges tengely mentén értelmezett (Z-tengely az XY-síknál, X tengely az YZ-síknál, Y-tengely az XZ-síknál). Néhány zárt ciklus kiegészítő argumentumokat használ.
Zárt ciklusok esetén, „kockázatosnak” (sticky) nevezünk egy számot akkor, ha azonos ciklust használunk különböző kódsorokban egymás után. A számot az első alkalommal kell használni, a többi esetben elhagyható. A „kockázatos” számok megőrzik értéküket a sorok hátralevő részében, hacsak határozottan mást nem programozunk. Az R szám mindig „kockázatos”.
Növekményes távolság módban: ha az XY-sík van kiválasztva, X, Y és R számokat az aktuális pozícióhoz tartozó növekményekként, illetve Z-t a Z-tengely pozíciójának növekményeként kezeljük, még mielőtt a Z-re vonatkozó mozgás bekövetkezik. Ha az YZ vagy XZ-sík a kiválasztott, a tengelyszavak kezelése analóg. Az abszolút távolság módban az X, Y, R, és Z számok abszolút pozíciók az aktuális koordináta rendszerben.
Az L szám elhagyható és az ismétlések számát határozza meg. Az L=0 nem megengedett. Ha az ismétlés funkciót használjuk (normál esetben növekményes módban tesszük), ugyanaz a mozgássorozat ismétlődik egy egyenes vonal mentén egyenlő osztással. Abszolút távolság módban L > 1 azt jelenti, hogy ugyanaz a ciklus ugyanazon a helyen több ízben megismétlődik. Az L szó elhagyása L=1 megadásával egyenértékű.
Az L szám nem „kockázatos”.
Amikor L > 1 és növekményes módban vagyunk, valamint az XY-sík a kiválasztott, X és Y-pozíciók meghatározhatóak az adott X és Y számok megadásával kétféle módon: (1) az aktuális X és Y26 pozíciókhoz képest (az első ciklus alatt), (2) vagy az előző ciklus végéhez tartozó X és Y-pozíciókhoz képest (az ismétlés esetén). Az R és Z-pozíciók nem változnak az ismétlés során.
A visszahúzó mozgás magassága minden ismétlés végén (a következőkben ezt „teljes Z”-nek nevezzük) a visszahúzási mód beállításnál adható meg, kétféleképpen: (1) az eredeti Z-pozícióhoz képest (ha az az R pozíció felett van és a G98 visszahúzási mód érvényes), (2) vagy az R pozícióhoz képest.
Hibát jelent, ha:
♦ X, Y, és Z szavak mindegyike hiányzik egy zárt ciklus közben,
♦ egy P szám szükséges és erre egy negatív számot használunk,
♦ olyan L számot használunk, mi nem pozitív egészként kerül kiértékelésre,
♦forgó tengely mozgást használunk egy zárt ciklus közben,
♦ ”időreciprok” előtolási sebesség mód aktív egy zárt ciklus közben,
♦ a szerszámsugár korrekció aktív egy zárt ciklus közben.
Amikor az XY-sík aktív, a Z szám „kockázatos”, az is hibát jelent, ha:
♦ a Z szám hiányzik és ugyanaz a zárt ciklus már nem volt aktív
♦ az R szám kisebb, mint a Z szám.
Amikor az XZ-sík aktív, a Y szám „kockázatos”, az is hibát jelent, ha:
♦ az Y szám hiányzik és ugyanaz a zárt ciklus már nem volt aktív
♦ az R szám kisebb, mint az Y szám.
Amikor az YZ-sík aktív, az X szám „kockázatos”, az is hibát jelent, ha:
♦ az X szám hiányzik és ugyanaz a zárt ciklus már nem volt aktív
♦ az R szám kisebb, mint a X szám.
10.7.24.1 Bevezető és közbenső mozgások
Bármely zárt ciklusnál, a futtatás legelején, XY-sík kiválasztása esetén, ha az aktuális Z pozíció az R pozíció alatt van, a Z-tengely átáll az R pozícióba. Ez az eset csak egyszer fordul elő, tekintet nélkül az L értékére.
Ezen kívül az első ciklus kezdetén és mindegyik ismétlésnél a következő egy vagy két mozgás megy végbe:
♦ egyenes gyorsmenet az XY-síkkal párhuzamosan az adott XY-pozícióra,
♦ egyenes gyorsmenet csak a Z-tengely mentén az R pozícióra, hacsak nem rajta vagyunk már.
Ha az XZ vagy YZ-sík az aktív, a bevezető és közbenső mozgások az előző analógiájára történnek.
10.7.24.2 G81 Fúróciklus, kiemelés gyorsmenettel
A G81 ciklus fúráshoz készült. Programozza a G81 X~ Y~ Z~ A~ B~ C~ R~ L~ utasítást.
♦ Bevezető mozgás a korábban leírtak szerint.
♦ Μozgás csak a Z-tengely mentén az aktuális előtoló sebességgel a Z pozícióba.
♦ Kiemelés gyorsmenettel Z-tengely mentén teljes Z hosszal
1. Példa. A feltételezett aktuális pozíció az (1, 2, 3), az XY-sík van kiválasztva, és az NC program következő sorát értelmezzük:
G90 G81 G98 X4 Y5 Z1.5 R2.8
Végrehajtódik az abszolút távolság mód (G90), visszatérés a kiindulási „Z” pontra (G98) és elindul a G81 fúróciklus egyszeri végrehajtása. Az X szám és X pozíció 4. Az Y szám és Y pozíció 5. A Z szám és Z pozíció 1.5. Az R szám és a teljes Z 2.8. A következő mozgások mennek végbe:
♦ gyorsmenet az XY-síkkal párhuzamosan a (4,5,3) pontba
♦ gyorsmenet a Z-tengellyel párhuzamosan a (4,5,2.8) pontba
♦ előtolás a Z-tengellyel párhuzamosan a (4,5,1.5) pontba
♦ gyorsmenet a Z-tengellyel párhuzamosan a (4,5,3) pontba
2. Példa. A feltételezett aktuális pozíció az (1, 2, 3), az XY-sík van kiválasztva, és az NC program következő sorát értelmezzük:
G91 G81 G98 X4 Y5 Z-0.6 R1.8 L3
Végrehajtódik a növekményes távolság mód (G91), visszatérés a kiindulási „Z” pontra (G98) és elindul a G81 fúróciklus háromszori végrehajtása. Az X szám 4, az Y szám 5, a Z szám -0.6 és az R szám 1.8. A kezdeti X-pozíció 1+4=5, a kezdeti Y-pozíció 2+5=7, a teljes Z-pozíció 1.8+3=4.8, és a Z-pozíció 4.8- 0.6=4.2. A kiindulási Z-pozíció 3.0.
Az első mozgás gyorsmenettel a Z-tengely mentén a (1,2,4.8) pontba, mivelhogy a kiindulási Z < teljes Z.
Az első ismétlés 3 mozgásból áll.
♦ egy gyorsmenet az XY-síkkal párhuzamosan az (5,7,4.8) pontba
♦ egy előtolás a Z-tengellyel párhuzamosan az (5,7,4.2) pontba
♦ egy gyorsmenet a Z-tengellyel párhuzamosan az (5,7,4.8) pontba
A második ismétlés 3 mozgásból áll. Az X-pozíció megváltozik 5+4=9-re és az Y-pozíció 7+5=12-re.
♦ egy gyorsmenet az XY-síkkal párhuzamosan az (9,12,4.8) pontba
♦ egy előtolás a Z-tengellyel párhuzamosan az (9,12,4.2) pontba
♦ egy gyorsmenet a Z-tengellyel párhuzamosan az (9,12,4.8) pontba
A harmadik ismétlés 3 mozgásból áll. Az X-pozíció megváltozik 9+4=13-ra és az Y-pozíció 12+5=17-re.
♦ egy gyorsmenet az XY-síkkal párhuzamosan az (13,17,4.8) pontba
♦ egy előtolás a Z-tengellyel párhuzamosan az (13,17,4.2) pontba
♦ egy gyorsmenet a Z-tengellyel párhuzamosan az (13,17,4.8) pontba
10.7.24.3 G82 Fúróciklus várakozással, kiemelés gyorsmettel
A G82 ciklus fúráshoz készült.
Programozza a G82 X~ Y~ Z~ A~ B~ C~ R~ L~ P~ utasítást
♦ Bevezető mozgás a fentiekben leírtak szerint.
♦ Csak Z-tengely menti mozgás az aktuális előtoló sebességgel a Z-pozícióba.
♦ Várakozás a P számnak megfelelő másodpercig.
♦ Visszahúzás a Z-tengely mentén gyorsjárati sebességgel a teljes Z-ig.
10.7.24.4 G83 Mélyfúróciklus
A G83 ciklus (gyakran nevezik „csipegető” fúrásnak) mélyfúráshoz vagy maráshoz készült,
forgácstöréssel. Lásd még a G73-at. A visszahúzás ennél a ciklusnál megtisztítja a furatot a forgácstól, illetve levágja a folyóforgácsot (ami aluminium fúrásánál jellemző).A ciklus tartalmaz egy Q számot, ami egy „delta” növekményt határoz meg a Z-tengely mentén.
Programozza a G83 X~ Y~ Z~ A~ B~ C~ R~ L~ Q~ utasítást.
♦ Bevezető mozgás, ahogy a fentiekben le van írva.
♦ Μozgás a Z-tengely mentén az érvényes előtoló mozgással lefelé deltával, vagy a Z pozícióba, attól függőel, melyik a kisebbik.
♦ Gyors visszahúzás a teljes Z-ig
♦ Gyors lefelé mozgás az aktuális furat-fenékig, a visszahúzásnak vége.
♦ Az 1, 2, és 3-as lépések ismétlése, amíg a Z pozíció eléri az 1-es lépésben lévőt.
♦ Visszahúzás Z-tengely mentén gyorsmenettel teljes Z hosszal.
Hibát jelent, ha:
♦ a Q szám negatív vagy nulla.
10.7.24.5 G84 Menetfúróciklus
A G84 ciklus jobbemelkedésű menetet készít menetfúróval.
Programozza a G84 X~ Y~ Z~ A~ B~ C~ R~ L~ utasítást.
♦ Bevezető mozgás, ahogy a fentiekben le van írva.
♦ Fordulatszám-előtolás szinkronizáció indítása.
♦ Csak Z-tengely menti mozgás az aktuális előtolási sebességgel a Z-pozícióba.
♦ Főorsó megállítása.
♦ Főorsó óramutató járásával ellentétes forgásának indítása
♦ Visszahúzás Z-tengely mentén az aktuális előtolási sebességgel teljes Z hosszal.
♦ Ha fordulatszám-előtolás szinkronizáció nem volt a ciklus elején, annak leállítása.
♦ Főorsó megállítása.
♦ Főorsó forgásának indítása
A főorsónak óramutató járásával megegyezően kell forogni e ciklus használata előtt.
Hibát jelent, ha:
♦ A főorsó nem az óramutató járásával megegyezően forog a ciklus futása előtt.
Ennél a ciklusnál a programozónak biztosnak kell lennie abban, hogy a fordulatszám és előtolás korrekt arányát programozza a megfelelő menetemelkedés elkészülése érdekében. Az összefüggés az, hogy a főorsó fordulatszáma egyenlő az előtolási sebesség és a pitch (menetszám per hossz egység) szorzatával.
Például, ha a pitch 2 menet per milliméter, az aktív hosszegység a milliméter, és az előtolási sebesség az F150 utasítással van beállítva, akkor a fordulatszámot az S300 utasítással kell beállítani, mivel 150 x 2 =300.
Ha az előtolás- és fordulatszám túlhajtás kapcsolók engedélyező állapotban vannak és nem 100% van beállítva, az egyformán alacsonyabb beállítás szolgáltat jó eredményt. A fordulatszám és előtolás továbbra is szinkronizált marad.
10.7.24.6 G85 Fúróciklus, kiemelés előtolással (dörzsölés)
A G85 ciklus fúratbővítést vagy dörzsárazást végez, de fúráshoz és maráshoz is használható.
Programozza a G85 X~ Y~ Z~ A~ B~ C~ R~ L~ utasítást.
♦ Bevezető mozgás, ahogy a fentiekben le van írva.
♦ Csak Z-tengely menti mozgás az aktuális előtolási sebességgel a Z-pozícióba.
♦ Visszahúzás Z-tengely mentén az aktuális előtolási sebességgel teljes Z hosszal.
10.7.24.7 G86 Fúróciklus fúrórúddal; várakozás, kiemelés álló főorsónál, gyorsmenetben
A G86 ciklust furatbővítésre tervezték. Ez a ciklus a P számot használja a várakozás másodperceinek megadásához. Programozza a G86 X~ Y~ Z~ A~ B~ C~ R~ L~ P~ utasítást.
♦ Bevezető mozgás, ahogy a fentiekben le van írva.
♦ Csak Z-tengely menti mozgás az aktuális előtolási sebességgel a Z-pozícióba.
♦ Várakozás a P számmal megadott másodpercig.
♦ Főorsó megállítása.
♦ Visszahúzás Z-tengely mentén gyorsmeneti sebességgel teljes Z hosszal.
♦ A főorsó újraindítása a korábbi irányban.
A ciklus használata előtt a főorsónak forogni kell.
Hibát jelent, ha:
♦ a főorsó nem forog a ciklus futtatása előtt.
10.7.24.8 G87 Fúróciklus fúrórúddal, visszafelé megmunkálás
A G87 ciklust furatbővítésre tervezték, visszafelé történő megmunkálással.
Programozza a G87 X~ Y~ Z~ A~ B~ C~ R~ L~ I~ J~ K~ utasítást.
A szituáció, ahogy a 10.6. ábrán látható, átmenő furat és süllyesztés a furat mindkét végén. Ehez egy Lalakú szerszámot kell a főorsóba tenni, ami az ALSÓ oldalon lévő felület forgácsolásának az alapja. A rudat óvatosan keresztülvezetjük a furaton, amikor még nem forog, és a furat méretéhez megfelelő az irányultsága, majd az L szárát a furat tengelyébe mozgatjuk, indítjuk a főorsót, és előtolást adunk a szerszámnak felfelé a süllyesztés elkészüléséig. Ekkor leállítjuk a szerszámot, és kivesszük a furatból.
Ez a ciklus I és J szavakat használ a szerszám bevezetési és visszahúzási pozíciójának jelzéséhez. I és J mindig az X pozíció és az Y pozíció növekményei, tekintet nélkül a távolság mód beállítására. A ciklus használ még egy K szót is, a süllyesztés tetejéhez tartozó vezérelt pont Z-tengely menti pozíciójának a megadásához. A K-szám egy Z-érték az aktuális koordináta rendszerben, abszolút távolság módban, és növekmény (a Z-pozíciótól) növekményes távolság módban.
♦ Bevezető mozgás, ahogy a fentiekben le van írva.
♦ Mozgás gyorsmenettel az XY-síkkal párhuzamosan, az I és J által kijelölt ponthoz.
♦ A főorsó megállítása egy meghatározott helyzetbe forgatással.
♦ Csak Z-tengely menti mozgás gyorsmeneti sebességgel lefelé a Z-pozícióba.
♦ Mozgás gyorsmenettel az XY-síkkal párhuzamosan az X, Y helyre.
♦ A főorsó elindítása a korábbi irányban.
♦ Csak Z-tengely menti mozgás adott előtolási sebességgel felfelé a K által kijelölt pozícióba.
♦ Csak Z-tengely menti mozgás adott előtolási sebességgel vissza lefelé a Z pozícióba.
♦ A főorsó megállítása az előzővel megegyező helyzetbe forgatással.
♦ Mozgás gyorsmenettel az XY-síkkal párhuzamosan, az I és J által kijelölt ponthoz.
♦ Csak Z-tengely menti mozgás gyorsmeneti sebességgel a teljes Z-pozícióba.
♦ Mozgás gyorsmenettel az XY-síkkal párhuzamosan az X, Y helyre.
♦ A főorsó elindítása a korábbi irányban.
Amikor programozzuk ezt a ciklust, az I és J számokat úgy kell megválasztani, hogy amikor a szerszám egy meghatározott helytetbe fordulva megáll, átférjen a furaton. Mivel a különböző szerszámokat eltérő módon készítik, lehetséges, hogy egy kis elemzéssel és/vagy kisérlettel határozható meg I és J megfelelő értéke.
10.6. ábra. Furatbővítés visszafelé lépései
10.7.24.9 G88 Fúróciklus fúrórúddal; várakozás, kiemelés álló főorsónál, kézzel
A G88 ciklus furatbővítéshez készült. Ez a ciklus egy P szót használ, ahol a P szám határozza meg a várakozás másodperceinek a számát.
Programozza a G88 X~ Y~ Z~ A- B~ C~ R~~ L~ P~ utasítást.
♦ Bevezető mozgás, ahogy a fentiekben le van írva.
♦ Csak Z-tengely menti mozgás az aktuális előtolási sebességgel a Z pozícióba.
♦ Várakozás P számú másodpercig.
♦ A főorsó forgásának megállítása.
♦ A program megállítása, azért, hogy a kezelő kézzel visszahúzhassa a főorsót.
♦ A főorsó elindítása a korábbi irányban.
10.7.24.10 G89 Fúróciklus fúrórúddal; várakozás, kiemelés előtolással
A G88 ciklus furatbővítéshez készült. Ez a ciklus egy P szót használ ahol a P szám határozza meg a várakozás másodperceinek a számát.
Programozza a G89 X~ Y~ Z~ A- B~ C~ R~~ L~ P~ utasítást.
♦ Bevezető mozgás, ahogy a fentiekben le van írva.
♦ Csak Z-tengely menti mozgás az aktuális előtolási sebességgel a Z pozícióba.
♦ Várakozás P számú másodpercig.
♦ Visszahúzás Z-tengely mentén az aktuális előtolási sebességgel teljes Z hosszal.
10.7.25 A távolság mód beállítása - G90 and G91
A Mach3 a kódokat a két távolság mód valamelyikével értelmezi: abszolút vagy növekményes.
Az abszolút távolság mód használatához programozza a G90 utasítást. Ebben a módban a tengelyszámok (X, Y, Z, A, B, C) általában a jelenleg aktív koordináta rendszerrel kapcsolatos pozíciókat jelentik. A szabály alóli eltérésekkel a G-kódokat ismertető fejezetekben külön foglalkozunk.
A növekményes távolság mód használatához programozza a G91 utasítást. Ebben a módban a
tengelyszámok (X, Y, Z, A, B, C) általában a jelenlegi értékek számaitól való eltérést jelentik.
Az I és J számok mindig növekményeket jelentenek, tekintet nélkül a távolság mód beállítására. A K szám egy eset kivételével (G87 fúróciklus) növekményt jelent, ahol a jelentés a távolság módtól függően változik.
10.7.26 G92 Eltolások - G92, G92.1, G92.2, G92.3
Részletek a koordináta rendszerekkel foglalkozó fejezetben találhatók. Kifejezetten tanácsoljuk, hogy kerülje el ezt az öröklődő funkciót bármelyik olyan tengelyen, ahol Ön egyéb eltolást alkalmazott.
Azoknak a koordinátáknak a megadásához, ahová az érvényes pontot helyezni akarja (mozgás nélkül), programozza a G92 X~ Y~ Z~ A~ B~ C~ utasítást, ahol a tengelyszavak tartalmazzák a kívánt tengelyszámokat. Minden tengelyszó elhagyható, de egyet használni kell. Ha egy adott tengely tengelyszavát nem használjuk, azon a tengelyen az érvényes pont koordinátája nem változik.
Hibát jelent, ha:
♦ minden tengelyszó hiányzik.
A G52 és G92 közös belső mechanizmust használ a Mach3-ban, ezért nem használható egyszerre. Ha a G92 utasítást futtatjuk, az érvényes aktív koordinátarendszer nullpontja elmozdul. Ezért a nullpont eltolásokat úgy kalkuláljuk, hogy az érvényes pont koordinátái figyelembe veszik azt a nullpont elmozdulást, amit a G92-t tartalmazó sorban megadtunk. Ezenkívül, az 5211-5216 számú paraméterek felveszik az X, Y, Z, A, B és C-tengely eltolásainak értékét. A tengelyeltolás mértéke egyenlő a nullpont olyan mozgásával, aminek eredményeként a vezérelt pont koordinátái a tengelyen a megadott értéket veszik fel.
Itt egy példa. A feltételezzük, hogy az érvényes pont X=4 a jelenleg megadott koordináta rendszerben, és az érvényes X-tengely eltolás nulla, akkor a G92 X7 az X-tengely eltolást -3 –ra, az 5211-es számú paraméter értékét -3 –ra állítja be, és az érvényes pont X-koordinátája 7 -re változik.
A tengely eltolások mindig érvényesülnek, ha a mozgást abszolút távolság móddal, bármelyik
munkadarab (készülék) koordináta rendszerben adjuk meg. Ennélfogva minden munkadarab (készülék) koordináta rendszert érint a G92.
A növekményes távolság mód a G92 működésére nincs hatással. Nem nulla eltolásokra már hatással lehet, amikor a G92 utasítást meghívjuk. Ezek hatása megszűnik az új értékek használata előtt. Matematikailag mindegyik eltolás új értéke A+B, ahol A az az eltolás, amit akkor kapunk, ha a régi eltolás nulla, és B a régi eltolás. Például az előző példa után az érvényes pont X-értéke 7. Ha G92 X9 utasítást programozunk, az új X-tengely eltolás -5, amely a [[7-9]+[-3]] képlet eredménye. Másképpen mondva, a G92 X9 ugyanazt eltolást eredményezi, bármi volt is a korábbi G92 eltolás.
A tengely eltolások nullázásához programozza a G92.1 vagy G92.2 utasítást. A G92.1 az 5211-5216 számú paraméterek értékét nullázza, míg a G92.2 csak az érvényes eltolás értékeket.
A tengely eltolás értékeinek az 5211-5216 számú paraméterekben lévő értékekre történő beállításához programozza a G92.3 utasítást.
Egy programban beállított tengely eltolásokat ugyanúgy használhatjuk egy másik programban.
Programozza a G92-t az első programban. Itt beállítódnak az 5211-5216 számú paraméterek. Ne
használjunk G92.1 utasítást az első program hátralévő részében. A paraméter értékek mentésre kerülnek, amikor az első programból kilépünk, és visszaállnak a második program első indításakor. Használjunk G92.3 utasítást a második program elejéhez közel. Ekkor visszaállnak az első programban elmentett eltolások.
10.7.27 Előtolási mód beállítása - G93, G94 and G95
Három előtolási sebesség mód ismeretes: az „időreciprok” (inverse time), a hosszegység per perc, és a hosszegység per főorsó fordulat. Az időreciprok mód indításához a G93 utasítást programozza (ezt nagyon ritkán alkalmazzák), a G94 utasítást a hosszegység per perc előtolási módhoz, illetve a G95 utasítást a hosszegység per fordulat előtolási mód indításához.
Az „időreciprok” előtolási sebesség módban az F szó jelentése, hogy a mozgásnak készen kell lennie [egy osztva az F számmal] perc alatt. Például, ha az F szám 2,0, a mozgásnak készen kell lenni fél perc alatt.
Másképpen fogalmazva: percenként 2 művelet (vagy alkatrész) készüljön el.
A hosszegység per perc előtolási módnál a feldolgozott sorban lévő F szó jelentése: a vezérelt pontnak mozogni kell bizonyos számú inch-et, millimétert, vagy fokot percenként, attól függően, hogy melyik hosszegység használatos és melyik tengely vagy tengelyek mozognak.
A hosszegység per fordulat módnál a feldolgozott sorban lévő F szó jelentése: a vezérelt pontnak mozogni kell bizonyos számú inch-et, millimétert, vagy fokot főorsó fordulatonként, attól függően, hogy melyik hosszegység használatos és melyik tengely vagy tengelyek mozognak.
Amikor az „időreciprok” (inverse time) mód aktív, az F szónak meg kell jelennie minden sorban, amiben G1, G2, vagy G3 mozgás van, és az olyan sorban lévő F szó, amelyikben nincs G1, G2, vagy G3, érvénytelen. Az „időreciprok” (inverse time) mód érvényessége nincs hatással a G0 (gyors menet) mozgásokra.
Hibát jelent, ha:
♦ az „időreciprok” (inverse time) mód aktív, és a G1, G2, vagy G3 sorában (közvetlenül vagy közvetve) nincs F szó.
10.7.28 Zárt ciklus visszatérési szintjének beállítása - G98 and G99
Amikor zárt ciklus közben az orsót visszahúzzuk, kiválasztható, hogy az milyen távolságra történjen.
1. visszahúzás a választott síkra merőlegesen az R szóval kijelölt pozícióba, vagy
2. visszahúzás a választott síkra merőlegesen pontosan abba a pozícióba, ahol a zárt ciklus kezdete előtt volt (hacsak nem ez a pozíció az R által jelölt pozíció alatt van, ebben az esetben az R szó
pozíciója lesz érvényes).
Az (1) lehetőség használatához programozza a G99, a (2) lehetőséghez a G98 utasítást.
Emlékeztetőül: az R szó jelentése különbözik abszolút és növekményes távolság mód esetén.
A mach3 által közvetlenül értelmezett M kódok a 10.7. ábrán láthatók.
10.8.1 Program leállítása és befejezése - M0, M1, M2, M30
A futó program ideiglenes megállításához (tekintet nélkül a feltételes stop kapcsoló állására) programozza az M10 utasítást.
A futó program ideiglenes megállításához (de csak ha a feltételes stop kapcsoló be van kapcsolva) programozza az M1 utasítást.
Programozható az M0 és M1 utasítás kézi adatbeviteli módban (MDI) is, de a hatása valószínűleg
észrevehetetlen lesz, mert az MDI mód normál esetben is leáll mindegyik sor bevitelénél.
Ha a programot megállította az M0 vagy M1 utasítás, a ciklus start (cycle start) gomb megnyomásával újraindul a következő sornál.
M-kód |
Jelentés |
M0 |
Program stop |
M1 |
Feltételes program stop |
M2 |
Program vége |
M3/4 |
Főorsó forgás órajárással egyező/ellentétes |
M5 |
Főorsó leállítása |
M6 |
Szerszámváltás (két makróval) |
M7 |
Permet hűtés be |
M8 |
Folyó hűtés be |
M9 |
Hűtés ki |
M30 |
Program vége és vissza az elejére |
M47 |
Program ismétlése az első sortól |
M48 |
Sebesség és előtolás túlhajtás engedélyezése |
M49 |
Sebesség és előtolás túlhajtás tiltása |
M98 |
Alprogram hívása |
M99 |
Visszatérés alprogramból/ismétlés |
10.7. ábra. Beépített M-kódok
A program befejezéséhez programozza az M2 vagy M30 utasítást. Az M2 elhagyja a saját sorát következő sor. Az M30 „visszatekeri” a G-kód fájlt. Ezeknek az utasításoknak a Configure>Logic párbeszédablakban kiválasztott lehetőségektől függően a következő hatása van:
♦ A tengely eltolásokat nullázza (mint a G92.2) és a nullpont eltolásokat alapértékre állítja (mint a G54).
♦ A választott síkot beállítja XY-ra (mint a G17).
♦ A távolság módot abszolútra állítja (mint a G90).
♦ Az előtolási sebesség módot hosszegység per perc-re állítja (mint a G94).
♦ Az előtolás és fordulatszám túlhajtásokat engedélyezi (mint az M48).
♦ A szerszámkorrekciót kikapcsolja (mint a G40).
♦ A főorsót megállítja (mint az M5).
♦ Az aktuális mozgásmódot G1-re állítja (mint a G1).
♦ A hűtést kikapcsolja (mint az M9).
Az M2 vagy M30 utasítás futtatása után a fájlban több kódsor már nem fut le. A program újrakezdése (M2), vagy a fájl elejére történő visszaállás elindítása (M30) a ciklus start gomb megnyomásával lehetséges.
10.8.2 A főorsó vezérlése - M3, M4, M5
A főorsó forgásának óramutató járásával megegyező irányba történő elindításához programozza az M3 utasítást.
A főorsó forgásának óramutató járásával ellentétes irányba történő elindításához programozza az M4 utasítást.
PWM vagy Step/Dir vezérlésű főorsónál a sebesség az S szó használatával programozható. Ki/Be
orsóvezérlésnél ez a gépen, a hajtómű/szíjtárcsák beállításával végezhető el.
A főorsó forgásának megállításához programozza az M5 utasítást.
Használható az M3 vagy M4 utasítás akkor is, ha főorsó sebesség nullára van beállítva. Ha ez történik (vagy ha a fordulatszám túlhajtás kapcsoló engedélyező állásban van és nulla százalék van beállítva), a főorsó nem kezd el forogni. Ha később a főorsó fordulatszámot nullánál nagyobbra állítjuk (vagy a túlhajtást megnöveljük), a főorsó elkezd forogni. Engedélyezett az M3 vagy M4 használata, amikor a főorsó már forog, vagy az M5 használata, amikor a főorsó már áll. De figyelembe kell venni az ezen műveletek sorrendjének konfigurálására vonatkozó biztonsági előírást, amely egy olyan horderejű sorozatra vonatkozik, ami megváltoztatja egy már futó orsó forgásirányát.
10.8.3 Szerszámcsere - M6
Feltéve, hogy a szerszámcsere kérések nincsenek mellőzve (Configure>Logic menüpont), a Mah3 egy M6Start nevű makrót hív meg, amikor az M6 utasítással találkozik. Ekkor egy várakozás következik a Cycle Start (ciklus start) gomb megnyomásáig, majd lefut az M6End nevű makró és folytatódik az alkatrészprogram futása. Visual Basic kód biztosítja a makrókban a saját mechanikus szerszámcserélő működtetését és a tengelyeknek a szerszámcseréhez megfelelő helyre történő mozgatását, ha Ön kívánja.
Ha a szerszámcsere kérés le van tiltva (Configure>Logic menüpont), akkor az M6 utasítás hatástalan.
10.8.4 A hűtés vezérlése - M7, M8, M9
A folyó hűtés bekapcsolásához programozza az M7 utasítást.
A permetező hűtés bekapcsolásához programozza az M8 utasítást.
Mindkét hűtés kikapcsolásához prrogramozza az M9 utasítást.
Mindíg használható ezen utasítások bármelyike, tekintet nélkül arra, hogy milyen hűtés van ki vagy bekapcsolva.
10.8.5 Újrafuttatás az első sortól - M47
Az M47 utasítással találkozva az alkatrészprogram az első sortól folytatja a futást.
Hibát jelent, ha:
♦ Az M47 utasítást alprogramban futtatjuk.
A programfutás megállítható a Pause vagy Stop gombokkal.
Az M99 utasítás használatával (kilépés az alprogramból) ugyanezt a hatást lehet elérni.
10.8.6 Túlhajtás vezérlése - M48 and M49
A főorsó fordulatszám és az előtolási sebesség túlhajtásának engedélyezéséhez programozza at M48 utasítást. Mindkét túlhajtás letiltásához programozza az M49 utasítást. Nem hiba engedélyezni vagy letiltani a kapcsolókat, amikor azok már engedélyezve vagy tiltva voltak.
10.8.7 Alprogram hívása - M98
Ez két formátummal lehetséges:
(a) Az érvényes alkatrészprogram fájlban lévő alprogram hívása az M98 P~ L~ vagy M98 ~P ~Q kód programozásával. A programnak tartalmazni kell egy O sort a P szóval megadott számmal a híváshoz. Ez az O sor egy címke-fajta, ami az alprogram kezdetét jelzi. Az O sornak lehet, hogy nincs sor száma (N szó). Ezt, valamint a következő kódot, normál esetben más alprogramokkal írják, illetve az M2, M30 vagy M99 követi, így közvetlenül nem elérhető a program folyamatában.
(b) Különálló fájlban lévő alprogram hívása az M98(filename)L~ kód programozásával, például M98 (test.tap).
Mindkét formátumnál:
Az L szó (vagy választhatóan a Q szó) adja meg azt a számot, hogy hányszor hívjuk meg az alprogramot, mielőtt folytatódna a program az M98-at követő sorral. Ha az L (Q) szó hiányzik, akkor alapértelmezett értéke 1.
Egy ismételt alprogramban paraméter értékeket vagy növekményes mozgásokat használva különböző nagyoló műveletek köré egy komplex szerszámpályát készíthetünk, vagy különféle azonos objektumokat vághatunk ki egy (alap)anyagból (darabból).
Az alprogramok egymásba ágyazva is meghívhatók. Azaz egy alprogram tartalmazhat egy M98 hívást másik alprogram számára. Minthogy a feltételes elágazás nem engedélyezett, nem értelmes
alprogramokban önmagukat rekurzív módon meghivni sem.
10.8.8 Visszatérés az alprogramból
Az alprogramból való visszatéréshez programozza az M99 utasítást. A végrehajtás folytatódik az M98 alprogramhívás utáni sorral.
Ha M99 utasítást írunk a főprogramba, azaz nem egy alprogramba, akkor a programfutás elkezdődik ismételten az első sortól. Ugyanilyen hatás érhető el az M47 utaítással.
10.9.1 Makró áttekintés
Ha akármilyen olyan M-kódot használ, ami nem szerepel a beépített kódok előbbi listáján, akkor a Mach3 megkísérel egy „Mxx.M1S” nevű fájlt megtalálni a Macros mappában. Ha megtalálja, akkor végrehajtja a benne megtalálható VB script programot.
Az Operator>Macros menüpont megjelenít egy párbeszédablakot, amelyikben láthatóak a pillanatnyilag telepített makrók, betölthető, szerkeszthető és menthető vagy más néven menthető a szövegük. A párbeszédablakban Súgó gomb is van, amely megjeleníti a Mach3 vezérléséhez meghívott VisualBasic függvényeket. Például lekérdezhetjük a tengelyek pozícióit, a tengelymozgásokat, a bemeneti jeleket és a kimeneti vezérlő jeleket.
Új makrókat külső szerkesztő programokkal (mint például a Jegyzettömb) lehet írni és menteni a Macros
mappába, vagy betölthető egy Mach3-on belül meglévő makró, teljesen átírva és eltérő fájlnévvel
elmentve.
10.10.1 Előtolás beállítása – F
Az előtolási sebesség beállításához programozza az F~ utasítást.
A Feed Mode (előtolás mód) kapcsoló beállításától függően a mértékegység hosszegység per perc vagy hosszegység per főorsó fordulatszám lesz.
A hosszegységek azok lesznek, amiket a G20/G21 mód definiál.
A Configure>Logic menüpontban beállítottaktól függően a főorsó forgása kétféle módon definiálható: (1) egy impulzus megjelenítésével az Index bemeneten, vagy pedig (2) az S szó illetve a Set Spindle speed
(főorsó fordulatszám beállítása) DRO által kért sebességből származtatva.
Az előtolási sebesség néha túlhajtott, az M48 és M49 utasítások korábbi ismertetése szerint.
10.10.2 Főorsó fordulatszám beállítása – S
A főorsó fordulatszámának fordulat per percben (rpm) történő beállításához programozza az S~ utasítást.
A főorsó ezzel a sebességgel fog forogni, mikor a beprogramozott forgás elindul. Nem hiba az S szó programozása, hogy ha a főorsó forog vagy nem. Ha a fordulatszám túlhajtás kapcsoló engedélyező állásban van, és a túlhajtás beállítása nem 100%, a fordulatszám eltér attól, ami a programozott. Nem hiba az S0 programozása; a főorsó ekkor nem forog, ha ez rendben van így.
Hibát jelent, ha:
♦ az S szám negatív.
Ha a G84 (menetfúró) zárt ciklus aktív és az előtolás-és fordulatszám túlhajtás kapcsolók engedélyező állásban vannak, az fog érvényesülni, amelyiknek alacsonyabb a beállítása. A fordulatszám és előtolási sebesség változatlanul szinkronizált marad. Ebben az esetben a fordulatszám különbözik attól, ami programozva van, még akkor is, ha a fordulatszám túlhajtás 100%-on áll.
10.10.3 Szerszámválasztás – T
Szerszámválasztáshoz programozza a T~ utasítást, ahol T szám a szerszám tárolóhelyének száma. A szerszámváltás (M6 használat), illetve az eltolások alkalmazása (G43 vagy G44 használata) nem automatikus. Nem jelent hibát, de nem normális használat, ha a T szavak megjelennek kettő vagy több sorban szerszámváltás nélkül. Nem jelent hibát T0 programozása; nem lesz kiválasztott szerszám. Ez akkor hasznos, ha azt akarja, hogy a főorsó üres legyen egy szerszámcsere után.)
Hibát jelent, ha:
♦ egy negatív, vagy 255-nél nagyobb T számot használunk.
Ez a fejezet a Mach3 hibakezelését ismerteti.
Ha egy utasítás nem az elvárt módon dolgozik, vagy nem tesz semmit, vizsgálja meg, hogy helyesen gépelte-e be. Gyakori hiba a GO G0 helyett, vagyis nagy O betű nulla helyett, és több tizetespont kirakása a számokban. A Mach3 nem ellenőrzi a tengelyek túlmozgatását (kivéve, ha a szoftveres határok használatban vannak), vagy a túlzottan nagy előtolási sebességeket, illetve fordulatszámokat. Azokat a szituációkat sem észleli, amikor egy legális utasítás valamilyen szerencsétlenséget okoz, például megmunkál egy készüléket.
Az utasítások soron belüli végrehajtási sorrendje kritikus a biztonságos és hatékony gépkezelés
szempontjából. Az ugyanabban a sorban előforduló utasítások végrehajtási sorrendje a 10.9 ábrán látható.
Sorrend |
Megnevezés |
1 |
Megjegyzés (beleértve az üzeneteket) |
2 |
Előtolási sebesség mód beállítása (G93, G94, G95) |
3 |
Előtolási sebesség beállítása (F) |
4 |
Főorsó fordulatszám beállítása (S) |
5 |
Szerszám kiválasztása |
6 |
Szerszámváltás (M6) és M-kód makrók futtatása |
7 |
Főorsó forgás Be/Ki (M3, M4, M5) |
8 |
Hűtés Be/ki (M7, M8, M9) |
9 |
Túlhajtás engedélyezése/tiltása (M48, M49) |
10 |
Várakozás (G4) |
11 |
Aktív sík beállítása (G17, G18, G18) |
12 |
Hosszegység beállítása (G20, G21) |
13 |
Maró sugár korrekció Be/ki (G40, G41, G42) |
14 |
Szerszámhossz korrekció Be/Ki (G43, G49) |
15 |
Munkadarab (készülék) koordinátarendszer választás (G54 - G58 & G59 P~) |
16 |
Előtolás vezérlési mód beállítása (G61, G61.1, G64) |
17 |
Távolság mód beállítása (G90, G91) |
18 |
Zárt ciklus visszatérési szintjének beállítása (G98, G99) |
19 |
A szerszámkorrekció és nullpont eltolás táblák koordinátarendszer adatainak |
|
beállítása (G10), vagy eltolások beállítása (G92, G94) |
20 |
Mozgás előkészítése (G0 - G3, G12, G13, G80 - G89, módosítása G53) |
21 |
Megállítás vagy ismétlés (M0, M1, M2, M30, M47, M99) |
10.9. Táblázat. Egy soron belüli végrehajtási sorrend