Budapesti Mőszaki Fıiskola Bánki Donát Gépészmérnöki Fıiskolai Kar AGI Gépgyártástechnológiai Tanszék
CNC– CNC–programozás alapjai
2006.
CNC-programozás alapjai
Tartalom 1
NC-és CNC-technika....................................................................................................... 2 1.1 Ellenırzı kérdések .................................................................................................. 5 2 A geometriai információk meghatározása....................................................................... 6 2.1 Méretmegadási módok ............................................................................................ 6 2.2 Az NC-gépek koordináta rendszerei ....................................................................... 7 2.3 NC-gépek jellegzetes pontjai ................................................................................ 11 2.4 Nullponteltolás, nullpont felvétel .......................................................................... 13 2.5 Szerszámkorrekció ................................................................................................ 16 2.6 Jellegzetes mozgástípusok útinformációi.............................................................. 22 2.7 Útinformációk számítása pályavezérlés esetén ..................................................... 27 2.8 Ellenırzı kérdések ................................................................................................ 29 3 CNC-programozás......................................................................................................... 30 3.1 A gyártási folyamat információ áramlása ............................................................. 30 3.2 A CNC programozás utasításkészlete ................................................................... 31 3.3 A program felépítése ............................................................................................. 34 3.4 Jellegzetes megmunkálási feladatok és programozásuk ....................................... 39 3.5 Ellenırzı kérdések ................................................................................................ 56 4 IRODALOM ................................................................................................................. 58
1
CNC-programozás alapjai
1 NC-és CNC-technika A számvezérléső gépek kialakulása és fejlıdése. A negyvenes évek végére a repülıgépipar fejlıdése felvetette azt a gondolatot, hogy érdemes lenne a hagyományos szerszámgépvezérléseket megváltoztatni. Elsısorban a bonyolult alakú munkadarabok gyártásáról volt szó, amelyeket ez idı tájt másolással állítottak elı. A gondolatot megvalósítás követte és szerencsére az elektronika nagymértékő fejlıdése is segítette az NC -technika (Numerical Control = számvezérlés) megjelenését. 1949-ben az USA légiereje megbízást adott a Massachusetts Institute of Technology részére az aerodinamikai profilok gyártására alkalmas számvezérléső marógép kifejlesztésére. Ezt a vezérlést 1952-ben mutatták be. 1956-ban az USA repülıgépipara már kb. száz pályavezérléső szerszámgépet üzemeltetett. Európában is ebben az idıben jelentek meg az elsı kivétel nélkül USA gyártású NC szerszámgépek. 1960 és 1970 közé tehetı az NC -gépek általános elterjedése. 1970-tıl már találkozhatunk a DNC- és a CNC- (Direct és Computerized Numerical Control) technikával. A nyolcvanas évek elejétıl új NC -szerszámgép már csak CNC -re készül. 1983-tól az NC szerszámgépek 65%-a a DNC -vel üzemel. 1992-tıl az NC- gépek jelentıs része rugalmas gyártócellában vagy gyártórendszerben mőködik. Bár ez a technika Amerikából indult el világhódító útjára, az eltelt évek alatt más nemzetek is jelentıs mértékben hozzájárultak a fejlıdéséhez. Az NC- és a CNC- gépek összehasonlítása. Az NC - technika elve tulajdonképpen Neumann János számítástechnikai elgondolásának alkalmazása a szerszámgép irányítására. Neumann alapgondolata az, hogy az adatokat és a parancsokat (tehát azt, hogy mit kell tenni az adatokkal) is számok formájában rögzíthetjük és tárolhatjuk. A technológus a munkadarab elkészítéséhez szükséges tevékenységeket (pl.: oldalazás, beszúrás, keretmarás stb.) a gépesített eszközeink számára tovább nem osztható mőveletekre bontja. Ezek tehát a szerszámgép gépesített eszközeinek legegyszerőbb tevékenységei, pl.: meghatározott tengelyirányú szánmozgatás, fıorsó megállítása, fıorsó forgás irányváltása, revolver rögzítésének oldása. Rendeljünk ezekhez a mőveletelemekhez számokat, egy mővelethez természetesen csakis egyetlen számot! Hozzunk létre olyan berendezést (a vezérlıt), amely meghatározott szám beadása esetén gépesített beavatkozó elemmel végrehajtja az adott számhoz rendelt mőveletelemet. Ha e feltételeket kielégítjük, és a vezérlıt megalkotjuk, akkor az adott munkadarab megmunkálása a mőveletelemek megfelelı sorba főzésével végrehajtható. Ez pedig lehetséges, ha az egyes mőveletelemekhez rendelt számokat megfelelı sorrendben a vezérlıbe beadjuk. A számokat megfelelı sorrendben leírni, ezzel út- és kapcsolási információkat meghatározni sokkal könnyebb, mint pl. a mechanikus információhordozókat (vezérlıtárcsa, ütközıléc) gyártani. Mivel az ember számokat nehezebben jegyez meg, mint neveket vagy betőket, jelöljük (kódoljuk) az egyes parancsokat (tehát számokat) betővel vagy szóval, így pl.
2
CNC-programozás alapjai
Mőveletelem
A mőveletelemhez rendelt szám, a parancs
A parancs kódja
90
Z
Szerszámtár forgatása (szerszámváltás)
770
M
Fordulatszámváltás
83
S
Szánmozgatás hosszirányban a tokmánytól el (esztergán)
Ha tehát a programot a kódok (betőszimbólumok) segítségével írjuk le, a vezérlıbe adás elıtt szükségünk van a parancsok számokká fordítására. Ezt oldják meg az ún. adat-elıkészítı berendezések, amelyek a fordítás után a parancsokat számok formájában információhordozón (lyukszalag, mágnesszalag stb.) tárolják. Az információhordozóról a vezérlı beolvashatja a számokat, amelyeket ezután tárolni és értelmezni tud. Az elızı példából is egyértelmően következik, hogy csupán a parancsok megadása nem elegendı az adott munkadarab megmunkálásához. Szükség van az egyes parancsok mennyiségi behatárolására. Például: Mekkora utat tegyünk meg Z irányban? Hányadik szerszámot vigyük a megmunkálási helyzetbe? Milyen fordulatszámmal forogjon a fıorsó? Ezt a parancsokra vonatkozó adatokkal írhatjuk elı (pl. Z500, M06, S14). Az utasításszó tehát két részre bontható: • a végrehajtandó mőveletelemet megadó parancskódra, • a parancs végrehajtásának mértékét elıíró adatra. Az adott munkadarab megmunkálásához szükséges mőveletelemek és mennyiségi jellemzıjük, vagyis az utasítások sorba főzésével alakul ki a program. Hogy a vezérlı a program hatására végrehajthassa az elıírt megmunkálást a szerszámgéppel, a beadott számokat, valamint a program által közölt információkat • értelmeznie kell, • tárolnia kell, • aritmetikailag és logikailag fel kell dolgoznia. E feladatok megoldására a vezérlıket az 1.1. ábrán látható szerkezeti felépítésnek (struktúrának) megfelelıen tervezik. Az adathordozóra a technológusnak olyan formában (számokban) kell rögzítenie a programját, hogy az információátvitel megbízható legyen. A program értelmezése azt jelenti, hogy a programvezérlés a számokból (illetve ezek kódjaiból) meg tudja határozni a hozzárendelt mőveletet (vagyis, hogy mit kell végrehajtani). Az azonosított információt meg kell ırizni (tárolni kell), legalább addig, amíg a végrehajtása befejezıdik. Ezt is általában a programvezérlı végzi.
3
CNC-programozás alapjai
1.1 ábra. A vezérlı elvi felépítése (struktúrája) Mivel a programvezérlı az adatokon logikai és aritmetikai mőveleteket végez, ezeket át kell alakítani az erre legkedvezıbb információábrázolási formára. Az információfeldolgozás másik feladata a felismert mőveletelemek végrehajtása. Ezt az illesztıvezérlı végzi azáltal, hogy ismeri a szerszámgép végrehajtó-mőködtetı elemeinek irányítási lehetıségét, meg tudja határozni, hogyan kell a mőveletelemeknek megfelelı út- és kapcsolási feladatokat megoldani. Az eddig bemutatott szerkezeti felépítés a hagyományos NC- vezérlı, amelyet egyes irodalmakban KNC néven ismertetnek (Konvencionális NC). A KNC- vezérlık logikai egységei az ún. kombinációs logikai hálózatokból épültek fel. A vezérlı által megoldható logikai feladatokban bekövetkezı változások esetén az ilyen rendszert teljesen át kell tervezni, és át kell építeni. Ez azt jelenti, hogy minden alap géptípushoz más és más logikai hálózatú vezérlıt kell gyártani, ami költséges. A fejlıdés ezen a területen azt eredményezte, hogy a kombinációs logikai egységeket - a számítógépes technika fejlıdése eredményeként - lecserélték programozható logikára. Az olyan vezérlıket, amelyekben a logikai és aritmetikai mőveleteket számítógép végzi, CNC típusú vezérlıknek nevezzük (Computer Numerical Control = számítógépes számvezérlı). 4
CNC-programozás alapjai
A CNC elsısorban a programvezérlıben kapott helyet, de ma már az illesztı vezérlık is CNC jellegőek. Illesztı vezérlıkben más, egyszerőbb megoldásokat is találunk a kombinációs logika kiváltására. Ilyenek pl. a PLC- s (Programmable Logic Controller = programozható logikai vezérlı) alapú illesztések. Az adatok bevihetık kezelıpultról, illetve valamilyen információhordozóról (ez ma többnyire mágnesszalag), de lehetıség van a számítógépes hálózatra csatlakozásra is. A programvezérlı egység CNC jellegő, tehát tartalmaz legalább egy programozható folyamatirányító számítógépet, amelynek a feladatokat leíró programjait a rendszerprogramtárba teszik. Ez a tár ún. ROM (Read Only Memory = csak olvasható memória) típusú és a rendszer mőködéséhez szükséges programok mindegyike itt található. A másik lényeges tár az alkatrészprogramtár, amelybe a megoldandó feladatot tárolják. Az alkatrészprogram-tár ún. RAM (Random Acces Memory = írható-olvasható memória) típusú. Ez a tár helyettesíti a KNCvezérlıknél megszokott információhordozót, amely egyben az alkatrészprogram tárolója volt. A KNC- vezérlı gyártása az 1970-es években megszőnt, helyette a CNC- vezérlık jelentek meg, ez pedig az NC- technika hatalmas fejlıdését eredményezte. 1.1
Ellenırzı kérdések Mi a számvezérlés elve? Milyen fıbb egységekbıl áll a számvezérlés? Mit nevezünk KNC-nek? Milyen a CNC felépítése?
5
CNC-programozás alapjai
2 A geometriai információk meghatározása Az NC- gépek programozása tevékenységek láncolata, amelynek eredménye az információhordozó elkészítése: ezt nevezzük külsı adatfeldolgozásnak. Az információhordozón lévı adatok leolvasása, feldolgozása, átalakítása, az átalakított adatok út- és kapcsolási parancsok formájú kiadása a szerszámgépre és a parancsok végrehajtásának ellenırzése a belsı adatfeldolgozás. A programozáshoz tehát egyrészt meg kell határozni a mozgásokat, ezek a geometriai információk, másrészt a mozgásokhoz tartozó sebességeket, a technológiai adatokat. 2.1
Méretmegadási módok
Számvezérléső szerszámgépen a szerszámot olyan útvonal mentén kell mozgatni, amelynek a végeredménye a kívánt geometriájú munkadarab. Az útvonalra vonatkozó információkat az alkatrészrajz tartalmazza. A géprajzban a méreteket a tervezı többféleképpen is megadhatja. Bázistól való méretezés, ha egy ponttól adjuk meg a méreteket (2.1. a ábra), láncméretezés, ha a méretek egymástól vannak megadva (2.1. b ábra), gyakran elıfordul azonban a vegyes méretezési mód is (2.1. c ábra). A 2.1. ábrán esztergált lépcsıs tengely látható. (Meg kell jegyezni, hogy a 2.1. b ábra megoldását a gyakorlatban nem használják, mert az átmérıkülönbségeket sokkal körülményesebb megmérni, mint magát az átmérıt.)
b) a)
c)
2.1. ábra. Méretmegadasi módok a) abszolút méretmegadás: méretezés bázistól; b) növekményes méretmegadás láncméretezéssel; c) vegyes méretmegadás A bázistól való méretezést az NC- technikában abszolút méretmegadásnak, a láncméretezést növekményes méretmegadásnak nevezzük. A két méretmegadási módot a 2.2. ábra hasonlítja össze. 6
CNC-programozás alapjai
Abszolút
Növekmény
1
X 300
y 240
∆x 300
∆y 240
2
650
180
350
-60
3
500
340
-150 160
0
-500 -340
W 0
2.2. ábra. Abszolút és növekményes méretmegadás pontvezérlésnél A példa egy pontvezérléses feladat (fúrás) megoldását szemlélteti. A szerszámot a munkadarab koordináta-rendszerének W kezdıpontjából kell az egyes furatok 1, 2, 3 középpontjaira pozícionálni. A táblázat növekményes méretmegadásának oszlopában az elmozdulásnövekmények vannak feltüntetve. Az elmozdulás értéke akkor pozitív, ha a mozgás iránya a munkadarab koordinátarendszerének pozitív tengelye irányában történik és negatív, ha a mozgás iránya a koordinátatengely negatív irányába esik. A harmadik furat megmunkálása után növekményes rendszerben a szerszámot vissza kell állítani a W kezdıpontba, ennek elmulasztása esetén a következı munkadarab selejt lenne. 2.2
Az NC-gépek koordináta rendszerei
A számvezérléső szerszámgépek szerszámainak pontosan rögzített relatív mozgáspályát kell leírniuk a munkadarab megmunkálása során. A mozgásfolyamatokat a programban pontosan rögzíteni kell. Ennek megvalósításához a szerszámgép munkaterében lévı összes pontot egyértelmően kell azonosítani. Az egyértelmő megfeleltetéshez koordináta-rendszereket használunk. Az NC- szerszámgépek fı mozgási irányait a jobbkéz-szabály szerint elhelyezett derékszögő koordináta-rendszer határozza meg (2.3. ábra), amely mindig a munkadarabra vonatkozik.
2.3. ábra. NC-szerszámgépek koordinátatengelyei Programozáskor a munkadarabot álló helyzetőnek kell feltételezni, a mozgásokat a szerszám végzi. Az X, Y, Z koordinátatengelyek körüli forgatási tengelyeket a 2.3. ábra szerinti, A, B, Cvel jelölik. A pozitív forgásirány megegyezik az óramutató járásával, ha a forgást a pozitív tengely irányába nézzük. 7
CNC-programozás alapjai
Az útinformációk meghatározásakor a programozó technológus koordináta-rendszert rendel a munkadarabhoz. Ez az a munkadarab-koordinátarendszer (vagy programozási koordináta-rendszer), amelynek kezdıpontja W, a munkadarab- (programozási) nullapont (növekményes méretmegadás esetén a felvett koordináta-rendszer csak az elmozdulási irányok elıjelének és a megmunkálás kezdıpontjának meghatározásához szükséges). A szerszámgép viszont a saját koordináta-rendszerében dolgozik, amelyet gépi koordináta-rendszernek nevezünk, M kezdıpontját pedig gépi nullapontnak. A szerszámhoz is rendelhetı koordinátarendszer különösen elızetes szerszámbeállítás esetén. A munkadarab alakjának elıírásához, tehát a következı három koordináta-rendszer egymáshoz való viszonyát kell megfelelı módon meghatározni: • a munkadarab koordináta-rendszere, amelyet a programozó vesz fel; • a szerszámgép koordináta-rendszere; • a szerszám koordináta-rendszere, amelyet a szerszám beállításához kell figyelembe venni. Vizsgáljuk a három koordináta-rendszert esztergán. A 2.4. ábrán látható munkadarabnál Xw Zw a munkadarab-koordinátarendszere W nullaponttal. Az A felfogási nullapont a munkadarab felfogásakor az ütközési síkba kerül. A szerszámhoz az XT ZT koordináta-rendszert rendeltük, amelyben N beállító nullapont. A beállító nullaponthoz képest változtatható a szerszámcsúcs (ill. a P szerszámélpont) L hosszúságú és K keresztirányú kinyúlása. A hossz- és keresztirányú állíthatóságot a szerszám konstrukciója teszi lehetıvé. A szerszámgép XM ZM koordinátarendszerének nullapontja M.
2.4. ábra. A munkadarab, a szerszámgép és a szerszám koordináta-rendszere A pozícionálási folyamatokat az NC- vezérlés a gépi koordináta-rendszerben nyitja. A tényleges szánhelyzetet nyilvántartó regiszterek a szánrendszer kitüntetett pontjának, az F vonatkoztatási pontnak a koordinátáit (az MF távolság összetevıit) tartalmazzák. A technológus a megmunkálási programban a P programozott pont koordinátáit (vagy elıjeles elmozdulásnövekményeit) írja elı. altánosságban az F pont koordinátái az M kezdıpontú rendszerben három részbıl állnak (2.5. ábra):
MF = MW + WP + PF , ahol az MW távolság X, Y, Z irányú derékszögő összetevıi az ún. nullapont-eltolási értékek; a WP távolság X, Y, Z irányú összetevıit a vezérlıszalag tartalmazza (ezek a program geometriai adatai); a PF távolság X, Y, Z irányú összetevıi a szerszámkorrekciós értékek, amelyeket a vezérlıpulton kell beállítani, NC- nél a korrekciós tárba beírni.) A hibátlan gyártáshoz biztosítani kell a munkadarab és a gépi koordinátarendszer azonosságát, ennek feltétele a koordinátairányoknak és a nullpontoknak az azonossága.
8
CNC-programozás alapjai
2.5. ábra A koordinátarendszerek és jellegzetes pontok (M, W, P, F) értelmezése
2.6. ábra. A munkadarab koordinátarendszere
A programozás egyik alapelve: 1. mozgó szerszám-nyugvó munkadarab, amelynek segítségével két egyszerő iránymeghatározási szabályt alkothatunk: • azon koordinátatengelyeknél, amelyek irányában a szerszám végzi a mozgást, a gépi és a munkadarab-koordinátarendszer tengelyeinek iránya megegyezik; • azon koordinátatengelyeknél, amelyek irányában a munkadarab végzi a mozgást, a gépi és a munkadarab-koordinátarendszer tengelyeinek iránya ellentétes. A gépi koordináta-rendszer irányait a gép tervezésekor, illetve a vezérlırendszer illesztése során valósítják meg, így tehát adott. Milyen elhelyezkedéső koordináta-rendszerrel célszerő a gépet tervezni, a vezérlést illeszteni? Tekintsük a szerszámgép munkaterét egyetlen tér-nyolcadnak. A bal és jobb sodrású rendszer együttesen 8x3x2 = 48 lehetıséget ad. Bár a gép és a vezérlés szempontjából szinte közömbös, hogy melyiket választjuk, programozáskor sok nehézséget okozna a gépenként más és más módon elhelyezett koordináta-rendszer. Az 1968-ban átdolgozott VDI- javaslat és az ISO/R 841, továbbá az MSZ 7789 a 2.6. ábra szerinti jobb sodrású XYZ rendszert rendel a munkadarabhoz. A másodlagos mozgásokat rendre U, V és W, a harmadlagos mozgásokat P, Q és R jelöli.
2.7. ábra. Eszterga koordináta-rendszere
Másik fontos alapelv: 2. a Z tengely iránya mindig a szerszám fı mozgási (támadási) irányába mutat. Az 1. és 2. alapelv ismeretében bármely szerszámgép koordinátatengelyirányait meg lehet határozni. 9
CNC-programozás alapjai
Eszterga koordinátatengelyei láthatók a 2.7. ábrán, ahol a munkadarab koordinátarendszerét XZ-vel, a szerszámgép koordináta-rendszerét pedig X'Z'-vel jelöltük.
a)
2.8. ábra. Fúrógép koordináta-rendszere
Hasonló módon szemlélteti a 2.8. ábra a fúrógép koordináta-rendszerét. A 2.8. a ábrán a gép és a koordináta-rendszerek láthatóak, míg a 2.8. b ábrán a munkadarab a saját koordinátarendszerében látható. Ez a fúrógép függıleges orsójú síkmarógépnek is tekinthetı, ezért a marógép koordináta-rendszerét is tanulmányozhatjuk az ábrán. A szerszámmarógépek kissé eltérnek a marógépektıl, mert a gerendán lévı fıorsó lehet vízszintes vagy függıleges, továbbá a gerenda az egyik mozgást is elvégzi (Z tengely). Ez a 2.9. ábrán látható, amely a vízszintes konzolos NC- marógép koordinátairányait is tartalmazza, a különbség annyi, hogy a +Z' irányba megfordul. Függıleges portálfúrógép, illetve portálsíkmarógép koordinátatengely-irányait szemlélteti a 2.10. ábra. Megmunkálóközpontok koordináta-rendszerei esetén a két fontos alapelv érvényben marad, de megjelenik a többoldalas megmunkálási lehetıség. Ilyenkor a G17, G18, G19 megmunkálási síkokat és a fıorsó tengelyirányait is váltani lehet, ami a koordináta irányok megváltoztatását jelenti. Ugyancsak belépnek a másodlagos, esetleg harmadlagos mozgások, tehát a háromtengelyes megmunkálás mellett a négy- és öttengelyes megmunkálás is elıfordulhat. A 2.11. ábra egyszerő megmunkálóközpont koordinátatengelyeit szemlélteti. Mivel a gép ún. mozgótornyos, a Z és Y tengely irányában a gépi és a munkadarab-koordinátairányok megegyeznek.
2.9. ábra. Szerszámmarógép koordinátatengelyei
2.10. ábra. Kétoszlopos függıleges fúrógép és marógép mozgásirányai
10
CNC-programozás alapjai
2.11. ábra. Megmunkálóközpont mozgásirányai
2.3
NC-gépek jellegzetes pontjai
A megismert három koordináta-rendszer kezdıpontjának (nullapontjának) viszonya a gép pontos mőködésének feltétele. Ez a három pont a következı. A gépi nullapont az irányítórendszer méréstartományán belül elektronikusan beállítható pont, amely a mőködı rendszer mérési bázisa (a gép koordinátarendszerének a kezdıpontja). Jellege szerint a vezérlés lehet: • lebegı nullapontos vezérlés, amikor a gépi nullapont a szerszámgép mozgástartományán kívül esı elméleti pont, a gépi koordináta-rendszer origója; • fix nullapontos vezérlés (ez a gyakoribb), amikor a gépi nullapont a mozgástartományon belüli, rögzített pont, és egybeesik a referenciaponttal. A referenciapont az NC- szerszámgép mozgástartományán belül villamos helyzetkapcsolókon keresztül rögzített pont, ahova a számokat vezérelve a vezérlés mérırendszere felveszi a gépi nullaponthoz viszonyított koordinátaértékeket. Az NC- szerszámgépek vezérlırendszerének bekapcsolásakor a vezérlés értéktárolói üresek, nullát vagy valamilyen állandó számértéket tartalmaznak. A szánok bármilyen helyzetében kapcsolják be a vezérlırendszert, az értéktárolóban, illetve a kijelzıben mindig ugyanazok az értékek jelennek meg. Az NC- szerszámgép ebben az állapotban nem alkalmas az üzemszerő mőködésre. Bekapcsolás után elıször a referenciapontra kell vezérelni a szánokat, hogy a mérırendszer felvehesse a gépi nullapontokhoz viszonyított koordinátaértékeket, és azokat az útértéktárolóba beírhassa. A referenciapontról való távozás után a mérırendszer és a szabályozókörön keresztül a szerszám beállított élpontja a gépi koordináta-rendszerben megadott koordinátaértékekre áll. A referenciapontra állás külön üzemmód, minden NC- szerszámgépen megtalálható. A fix nullapontos és a lebegı nullapontos vezérlés gépi nullapontját a 2.12. ábra szemlélteti. A lebegı nullapontos vezérléskor az X tárolóba az x referenciaérték, míg a Z 11
CNC-programozás alapjai
tárolóba a z referenciaérték íródik. Ez a folyamat zajlik le fix nullapontos vezérléskor is, de itt a tárolók nullázódnak, mivel a z: referencia = x referencia = 0.
Mozgástartomány Mozgástartomány 2.12. ábra. Vezérlés és referenciapont a) lebegı nullapontos vezérlés; b) fix nullapontos vezérlés
Mozgástartomány
a)
b) 2.13. ábra. Méretmegadás a) lebegı nullapontos; b) fix nullapontos vezérlés esetén
A gépi nullapont felvétele után a tárolt, ill. a kijelezhetı koordinátaértékeket különbözı megmunkálási helyzetekben a 2.13. ábra szemlélteti. Az irányítástechnikailag szükséges gépi nullapont programozása nagyon körülményes. Megmunkálóközpontokon, ha a gép szerszámcserélıvel és asztalcserélıvel van felszerelve, akkor nem egy gépi nullapont van, hanem több. Másodlagos nullapont a szerszámcserélés, harmadlagos nullapont az asztalcserélés nullapontja. Elsıdleges gépi nullapontból - szintén a megmunkálóközpontokra jellemzı - többet lehet meghatározni. Ez a többoldalas, illetve több nullapontos munkadarabok megmunkálása esetén fontos. A munkadarab-nullapont a programozás során alkalmazott pont, amely a munkadarab koordináta-rendszerének kezdıpontja. A munkadarab koordinátarendszerét a programozó határozza meg (irányai a jobbkéz-szabály szerintiek) úgy, hogy a munkadarab természetes (rajz szerinti) méretei legyenek a koordinátaértékek. Az ilyen nullapont-elhelyezés nagymértékben könnyíti a programozó munkáját. Ellenkezı esetben a méreteket át kell számítani és ez hibalehetıséget jelent.
12
CNC-programozás alapjai
2.4
Nullponteltolás, nullpont felvétel
A munkadarab-nullapont és gépi nullapont közötti kapcsolat a 2.14. ábrán látható. A gépi és a munkadarab-koordinátarendszer közötti eltérés ∆x és ∆z koordinátánként állandó érték. A vezérlés géprendszere a gépi koordináta-rendszerben dolgozik, a program geometriai adatait a munkadarab-koordinátarendszerben határozták meg, ezért a ∆x és a ∆z értékek az ún. nullapont-eltolási értékek. Ezeket az értékeket a vezérlés hozzáadja a programozott - a munkadarab-koordinátarendszerében meghatározott - koordinátaértékekhez (x1, x2, z1, z2). A nullapont-eltolási értékek a nullaponttárolókba (regiszterek) lesznek beírva. Régi KNCvezérlés esetén ezt a mőveletet kézi adatbevitellel, dekádkapcsolókkal lehetett elvégezni (ez volt az aritmetikai nullapontmegadás). A mai CNC- vezérléseknél címezhetı regiszterek tartalmazzák a nullapont értékeit. A regiszterek tartalmát a programból írhatjuk át. A nullapont-eltolási programmondat beolvasása nem eredményezi a szán mozgását, hanem csak a regisztertartalom átírását, amelynek megfelelıen a szán az elsı mozgási utasítást tartalmazó mondat végrehajtása során mozog (ezt nevezzük transzformációs nullaponteltolásnak).
2.14. ábra. Nullaponteltolás
2.15. ábra. Nullaponteltolás ismétlıdı alakzatok esetén
A nullaponteltolás segítségével a programozási munka egyszerősíthetı: • ismétlıdı alakzatok programozása, • simítási ráhagyások létrehozása, • több azonos munkadarab (készülék) egy asztalra rögzítése esetén. Ha egy alkatrészen azonos geometriai alakzatok találhatók, akkor a megmunkáláshoz nem kell újra és újra elkészíteni a megmunkáló programot, hanem elegendı az alakzatok közötti távolságot meghatározni, ezeket elıjelhelyesen nullaponteltolásként értelmezni. A 13
CNC-programozás alapjai
nullaponteltolás után a 2.15. ábra szerint a W’ munkadarab-nullapontból megírt programot a W2 nullaponttól meg kell ismételni, így a programozás lényegesen egyszerősíthetı. A nullapont-beállítás sikeresen alkalmazható simítási ráhagyáshoz. A 2.16. ábrán a nagyoláskor a simítási ráhagyásnak megfelelı ∆x és ∆z nullaponteltolással esztergálható a munkadarab, majd a nullapontot az eredeti helyre visszatolva a simítás elvégezhetı.
2.16. ábra. Két befogókészülékes marógépasztal
2.17. ábra. Nullaponteltolás simítási ráhagyáshoz Wn a nagyolás nullapontja; Ws a simítás nullapontja
Ha több, kisebb mérető és rövid megmunkálási idejő munkadarabot kell készíteni, akkor ugyanazzal a programmal munkálhatók meg úgy, hogy mindegyikhez saját nullapontot rendelünk hozzá (2.17. ábra). Nullapontfelvétel. Az NC- gép bekapcsolásakor a regiszterek tartalma és a szánok tényleges helyzete között nincs azonnali és közvetlen kapcsolat, ezért a regiszterek tartalmát és a tényleges szánhelyzetet egyeztetni kell. Ezt a tevékenységet nevezzük nullapontfelvételnek (gépi nullapont). A szerszámgép szánjait automatikusan, vagy kézi vezérléssel célszerően választott, vagy a gép szerkezeti kialakítása által megadott helyzetbe visszük, majd ebben a helyzetben a regiszterekbe automatikusan, vagy kézi adatbevitellel alkalmasan választott értékeket írunk be. Esztergán fix nullapontos vezérlés esetén a nullapontfelvétel a koordinátairányonkénti referenciapontra állást jelenti. Lebegı nullapont esetén a szán bármely pozíciójában felvehetjük a gépi nullapontot, csak az adott helyen nullázni kell az elmozdulásregisztereket koordinátairányonként. Marógépekhez a módszer azonos az esztergánál ismertetett folyamattal, csak a koordinátairányok száma lehet több. Megmunkálóközpontokon, ahol szerszámcserélı és esetleg asztalcserélı is van, több gépi nullapont is lehet. Az elsıdleges nullapont (amit eddig megismertünk) mellett megjelenik a másodlagos és a harmadlagos nullapont is. A másodlagos nullapont a szerszámcserélés pozíciója, a harmadlagos nullapont az asztalcserélési pozíció. Mindezek a helyek rögzített értékek, melyekre az üzemelés közben szükség van. A munkadarab nullapontjának a beállítása az a nullaponteltolás, amelynek az elméletét már ismerjük. A gépi nullapont a munkadarab nullapontjába csak akkor helyezhetı át, ha a munkadarab nullapontjának a helyét a gép munkaterében megkeressük. Ez két módon lehetséges: • a munkadarab-befogó készülék nullapontjának megérintésével (közvetlen vagy közvetett módon); • a befogott munkadarab megérintésével. 14
CNC-programozás alapjai
Az eszterga befogókészüléke többnyire esztergatokmány, így valamelyik ütközési bázisát lehet nullapontként felhasználni (2.18. ábra). 2.18. ábra. Nullapont az ütközési felületen 1 fıorsó; 2 fıorsóperem; 3 központosító kúp; 4 tokmány; 5 ütközési bázis; M a gép koordináta-rendszerének nullapontja; XM, ZM a gép koordináta-rendszerének tengelye (ebben dolgozik a gép); W a munkadarab koordinátarendszerének nullapontja; XW, ZW a munkadarab koordináta-rendszerének tengelye
Az ütközési bázist a szerszámtartóba befogott és ismert mérető szerszámmal kézi üzemmódban érintjük (általában inkrementálisan 1 mm-es, 0,1 mm-es vagy 0,01 mm-es lépésekben) és amikor befejezıdik, a méretkijelzın szereplı érték lesz a nullaponteltolás értéke. Az ábrán ez ∆z (amit a vezérlésbe kell beírni). A másik irányban a forgástengelyt kell megkeresni, pl. ismert mérető munkadarab befogásával és átmérıjének megérintésével. Ha a nullapont a munkadarab homlokfelületén van (2.19. ábra), akkor a munkadarab hosszméretét megtestesítı mérıhasábot kell az ütközési bázishoz támasztani, és azt kell az elıbb leírt módon megérintve a munkadarab nullapontjának rögzíteni. Marógépen a gép asztalára felfogott munkadarab, vagy a munkadarab-befogó készülék nullapontját kell megkeresnie a gépkezelınek. A legegyszerőbb és leggyorsabb nullapontkeresı eszköz a nullapont-indikátor. Az indikátor két részbıl álló tüske, amely a fıorsóba van befogva (2.20. ábra). A két részt rugó fogja össze. A két rész egytengelyőn forog. Amikor az indikátor megérinti a munkadarab valamely ismert felületét, akkor az alsó rész a felsıhöz képest határozottan eltolódik, és a köszörült felületen megfigyelhetı fénycsíkok megtörnek. Az ábrán az X irány érintése látható 10 mm-es nullapont-indikátorral, a fıorsó pozíciója az érintéskor tehát x— 5.
2.19. ábra. Nullapont a munkadarab homlokfelületén 2.20. ábra. A nullapont indikátor
Az Y irányt hasonlóan kell bemérni. A harmadik, a Z tengely irányában is fel kell venni a nullapontot: • a fıorsóba befogott szerszámmal és a munkadarab felületének megérintésével, vagy 15
CNC-programozás alapjai
•
a fıorsó homloksíkjának felhasználásával. A fıorsóba befogott szerszámmal megérintjük a munkadarab felületét (2.21. a ábra), majd a Z tengelyt nullázzuk. Ennek a szerszámnak tehát a hosszát nullára vettük. A módszer gyors és jól használható, ha csak egy szerszámmal dolgozunk.
b)
a) 2.21. ábra. a) Nullapontfelvétel érintéssel; b) több szerszám esetén; fıorsóval c) mérıhasáb alkalmazásával; c)
Több szerszám esetén mindegyik szerszámmal meg kell érinteni a munkadarabot, de az elsı szerszám (vezérszerszám) után a Z tengelyt nullázzuk, a többi szerszám esetén az érintési pozíciónak az értékeit (amelyeket a kijelzı mutat) kell a szerszámhossz korrekciós tárába beírni (2.21. b ábra). A módszer hátránya, hogy ha a vezérszerszám mérete változik, az összes szerszám méretét módosítani kell. Szerszám nélkül a fıorsó homlokfelületét (a szerszám ütköztetési bázisát) hozzuk kapcsolatba a munkadarab felületével, pl. 50 mm-es mérıhasáb alkalmazásával (2.21. c ábra). 2.5
Szerszámkorrekció
A programozott útinformációk a szerszámmérettıl függetlenek, mivel a program írásakor csak a szerszám típusát határozzuk meg, a méreteit nem (vagy csak részben) ismerjük. A vezérlésnek azt a szolgáltatását, hogy a szerszám tényleges (valóságos) méreteit vegye figyelembe, szerszámkorrekciónak nevezzük. A szerszámkorrekció lehet: • szerszámméret-korrekció, amely a szerszámnak a programozás szempontjából jellegzetes hossz- vagy sugárirányú méretével azonos nagyságrendő; • szerszámkopás-korrekció, amely a szerszám kopását veszi figyelembe és legfeljebb • 1 mm nagyságú. A szerszámméret-korrekció során a szerszámok méreteit megmunkálás elıtt közöljük a vezérléssel, és így az útinformációk számításához nem kell figyelembe venni e méreteket, vagyis a programban az elkészítendı munkadarab kontúrját írhatjuk le. Fúrógépeken és fúró-maró mőveken a furatok megmunkálásához célszerő szerszámhosszkorrekció elvét szemlélteti a 2.22. ábra.
16
CNC-programozás alapjai
b)
a) a) számpélda; b) elvi ábra
Sorszám 1 2 3
Abszolút 1. gép
2. gép
Növekmény 3. gép
70 20
220 170
-90 -50
90 240 +70 2.22. ábra. Szerszámhossz-korrekció forgó szerszámos gépen
Az ábrán számpélda is látható három különféle gépre, de ugyanannak a munkadarabnak a megmunkálására. Az 1. gép abszolút programozású, szerszámhossz-korrekciós. A programozott pont a P1 szerszámcsúcs. A 2. gép szintén abszolút programozású, de itt nincs hosszkorrekció, ezért a P2 programozott pont nem a szerszámon, hanem az orsó F homlokfelületén van. Ha meggondoljuk, hogy egyetlen munkadarabhoz általában több, különbözı hosszúságú szerszám kell, akkor nyilvánvaló a hosszkorrekció elınye; a programozónak nem kell számolnia a szerszámonként változó hosszméretekkel. Természetesen a szerszámok hosszméretét megmunkálás elıtt közölni kell a vezérléssel. Az ábra szerinti 3 gép növekményes programozású. Több egymást követı szerszám használatakor - ha a szerszámhosszak különbözıek, és nincs korrekciós lehetıség - növekményes méretmegadás esetén az egymást követı szerszámok hosszeltérését kell figyelembe venni az útinformációk számításakor, mert a hosszeltérések befolyásolják a szerszámváltás (vagy csere) után megteendı elsı útszakasz nagyságát. A különbözı hosszúságú szerszámok hosszméretébıl adódó méreteltérések kiküszöbölésének másik elvét a 2.22. b ábra szemlélteti. A programozó minden szerszámnál azonos L hosszat vesz figyelembe (pl. a leggyakrabban szükséges szerszámok hosszát). A tényleges és a programozásnál figyelembe vett értek különbségét a vezérléssel közli, irány és nagyság szerint. Esztergán a szerszámméret-korrekció hossz- és keresztirányban egyaránt értelmezhetı. A 2.23. ábrán az 1. gép abszolút programozású, szerszámméret-korrekciós, tehát a P, szerszámcsúcs a programozott pont. A 2. gépen nincs korrekciós lehetıség (ma már ilyen vezérlés nincs, de a példa jól szemlélteti a korrekció elınyét), ezért pl. a P2 revolverfejközéppontot kell programozni. A 3. gép növekményes programozású (lebegı nullapontos).
17
CNC-programozás alapjai
2.23. ábra. Szerszámméret-korrekció esztergán
Sorszám
1 2 3 4 5 6
Abszolút 1. gép X 140 154 60
Z 82 30 300 -
2. gép X 190 204 110
Z 567 515 785 -
Növekmény 3. gép ±∆X ± ∆Z +40 -128 -52 +7 +270 -47 -
Minden mozgásszakaszra csak azt az útinformációt adtuk meg, amelyik irányban az elmozdulás történik, továbbá abszolút programozásnál keresztirányban átmérıméreteket írtunk elı (az ábrán a 6. pont az indulási hely). Az esztergák vezérlıberendezéseinek egy részénél szintén elterjedt a különbözı mérető szerszámok eltéréseinek, a 2.22. b ábra szerinti korrekciós kiküszöbölése, azzal a különbséggel, hogy a programozott pontot az alapszerszám csúcspontjában célszerő felvenni. Marógépeken a szerszámpálya függ a marószerszám átmérıjétıl. Ha a vezérlés szerszámméret-korrekciós, akkor a munkadarab méreteit lehet programozni. A vezérlés a beállított korrekció értékének és a programban elıírt elıjelének figyelembevételével határozza meg a szerszámpályát.
W X 2.24. ábra. Marógépek szerszámsugár-korrekciója
Ha a vezérlésnek nincs korrekciós lehetısége, akkor a négyszög ciklusmarást kell megadni (2.24. ábra). A szerszámmozgást a szerszámközéppont elmozdulásával programozzuk. Az 1. pont az alakzat bal alsó sarkától egyaránt balra és lefelé egy-egy szerszámsugárnyira van. Koordinátaértéke: x = x1 - R; y = y1 - R. A szerszám 2. pontba mozgása közben megmunkálja a téglalap alakzat alsó élét. A célhelyzet: 18
CNC-programozás alapjai
x = x2 + R; y = y1 - R. A szerszám a valóságban: L = x2 – x1 + 2R utat tett meg. Az alakzat körüljárása során a szerszám a 3 pontba kerül, amelynek koordinátája: x = x2 + R; y = y2 + R. A megmunkálás befejezıdik, amikor a szerszám a 4 ponton, az x= x1 – R; y =y2 + R ponton keresztül a kiinduló 1 pontba visszatér. Ha a 2.24. ábrán látható abszolút programozású, szerszámméret-korrekciós vezérléssel kell megvalósítani, akkor az ábra szerint x1, x2, y1, y2 méreteket kell megadni. A korrekciós igények: +R, -R, 0. Növekményes méretmegadás esetén az indulási és érkezési bázis közötti távolságot kell elıjelhelyesen elıírni. A 2.24. ábra jelöléseivel és azzal a megjegyzéssel, hogy az indulás és befejezés a koordináta-rendszer W pontjában van, az elıírandó koordináták: W:
x = 0;
y = 0;
1:
x = x1 - R;
y = y1 - R;
2:
x= (x2-x1)+2 R;
y = 0;
3: 4:
x = 0; x= -[(x2-x1)+2 R];
y= (y2-y1)+2 R; y= 0
1:
x=0;
y= -[(y2-y1)+2 R];
W:
x = -(x1 – R);
y = -(y1 – R);
Az indulási és érkezési bázis értelmezése látható a 2.25. ábrán. A bázisokhoz képest indulásnál is, érkezésnél is három különbözı helyet foglalhat el és ettıl függıen változik a szerszámközéppont által megtett útszakasz nagysága: L, L + R, L - R, L + 2R, L - 2R.
2.25. ábra. Az indulási és érkezési bázis értelmezése
A korrekció megadásának többféle módja lehet: A korrekció a megtett útszakasz és a programozott bázistávolság különbségeként számítható (2.26.a ábra); A korrekció a szerszámközéppont érkezési helyzetétıl függ (bázis elıtt –R, bázison 0, bázison túl +R), ahogyan a 2.26. b ábra szemlélteti; Korrekcióként azt kell megadni, hogy a szerszám az érkezési bázison, felette vagy alatta, illetve annak jobb vagy bal oldalán foglal-e helyet, függetlenül a mozgásiránytól (2.26. c ábra). A korrekció önkéntes jelei: 0, 1, 2. Egyszerően belátható, hogy a korrekcióval dolgozó marógépekkel (természetesen az esztergákkal is) a nagyolás és a simítás ugyanazon útinformációkkal (programmal) végezhetı, csak a korrekciós értékeket kell megváltoztatni a simítási ráhagyásnak megfelelıen.
19
CNC-programozás alapjai
x1 y x y4
2.26. ábra. Korrekció meghatározása a) a megtett útszakasz és bázistávolság különbségeként; b) a szerszámközéppont érkezési helyzete szerint; c) az érkezési bázishoz viszonyított helyzet szerint
Csúcssugár-korrekció. Az eddigiek során pl. esztergáláskor feltételeztük, hogy a programozott pont a szerszám csúcspontja. Ha mérımikroszkóp segítségével megvizsgáljuk a szerszám csúcsát, akkor a 2.27. ábrán vázoltakat látjuk.
2.27. ábra. A szerszámsugár
2.28. ábra. A programozott pont vezetése a tengelyekkel párhuzamosan
20
CNC-programozás alapjai
a) b) 2.29. ábra. Profilhiba a) kúpesztergálás; b) körív esztergálása esetén
Egyszerő, a koordinátatengelyekkel párhuzamos körvonalak programozása esetén általában elegendı, ha a P pont pályáját számítjuk ki (2.28. ábra). Mivel a szerszámél alakmeghatározó érintıi az X, illetve a Z tengelyekkel párhuzamosak, a P pont pedig a két egymásra merıleges érintın fekszik, a P pont pontosan az egyenes munkadarab-útvonalon mozog. Kúp vagy körív megmunkálása esetén a P pont programozásával a munkadarab kontúrján torzulások lépnek fel (2.29. ábra). Az adott forgácsolási elıtolásnak a koordinátatengelytıl való elhajlása szerint a hiba kisebb vagy nagyobb lesz. A legnagyobb eltérés az elıírt profiltól 45°-os kúp esztergálásakor lép fel, mert itt van a P programozott pont a legtávolabb a forgácsolóponttól (2.30. ábra). bmax = PS − R PS = R 2 + R 2 = R 2 bmax = R 2 − R = R( 2 − 1) bmax = 0,42 ⋅ R b ahol max a maximális hiba; PS a programozott pont és a szerszámsugár-középpontjának távolsága; R a szerszám lekerekítési sugara. A hibák miatt a pályamozgások programozása során a P pontot programozni nem szabad. Ehelyett inkább olyan ponttal kell 2.30. ábra. A hiba számolni, amely a szerszám forgácsolópontjától mindig azonos meghatározása távolságra van. Ez a pont a csúcssugár középpontja (2.30. ábrán az S pont). Mivel különbözı csúcssugarú szerszámokkal dolgozhatunk, a csúcssugárral eltolt kontúr kezeléséhez (pályaadatok meghatározásához) a vezérlésnek szüksége van az R csúcssugár értékére. Ez a csúcssugár-korrekció, amelynek elsısorban a pályavezérléseknél van jelentısége. A csúcssugárral eltolt pályát nevezzük egyenköző vonalnak (eqvidisztansnak). A szerszámkopás-korrekció a szerszámok kopásából és a beállítási pontatlanságokból adódó méretváltozások kompenzálását teszi lehetıvé. Elsısorban simítószerszámokhoz indokolt. Például külsı hengeres felületnél legyen: • xP a programban elıírt és megvalósítani kívánt sugárérték, • Dm megmunkálás után a munkadarabon mért átmérıérték; akkor a kopáskorrekció értéke: D ∆x k = x p − m 2 A kopáskorrekció láthatóan elıjeles érték. Ha Dm nagyobb, mint 2·xP, akkor negatív elıjelő lesz. A gyakorlatban a kopáskorrekciót növekményes méretmegadással veszik figyelembe. Beadáskor a szerszámméret-korrekciós tár tartalmát módosítja.
21
CNC-programozás alapjai
2.6
Jellegzetes mozgástípusok útinformációi
A jellegzetes mozgástípusok azok a vezérlések által megvalósítható geometriák, amelyek elsısorban a hagyományos NC- vezérléseknél fordulnak elı. Ezeket a vezérléseket aszerint csoportosítottuk, hogy mőködésük közben milyen jellegő elmozdulásokat tudnak létrehozni (2.34. ábra). Pontvezérlés esetén megmunkálás csak a koordináta-rendszer adott pontjában folyik. Két pont közötti mozgatás az alapmeghatározás szerint csak a tengelyekkel párhuzamosan lehetséges. Szakaszvezérlés esetén már a tengelyekkel párhuzamos mozgás mentén is lehetséges megmunkálás. A szerszámgép mechanikai felépítése szempontjából van, a vezérlés szempontjából nincs különbség pont- és szakaszvezérlési feladat megvalósítása között. A kiterjesztett szakaszvezérlés esetén már a tengelyekkel szöget bezárva, lineáris matematikai feladatnak megfelelıen is végezhetünk megmunkálást. Ehhez a vezérlésben már lineáris interpolátorra van szükség. A pályavezérlés megfelelı szerszámgépek esetén a tengelymozgások között másod- vagy magasabb fokú összefüggések létrehozására is képes. A gépipari gyakorlatban másodfokú görbékkel általában minden munkadarabkontúr leírható, illetve elıállítható.
2.31. ábra. A pontvezérlés mozgásviszonyai
2.32. ábra. A kibıvített szakaszvezérlés mozgásviszonyai
2.33. ábra. A pályavezérlés mozgásviszonyai
Ha a tárgyalt mozgásokat jellegzetes fıtípusokra vetítjük, akkor az alkalmazásokat kapjuk. Pontvezérlés esetén az útinformációkat egy méretszóval (X vagy Y) kell megadni. A viszonyokat az XY síkban vizsgáljuk, de az elmondottak értelemszerően vonatkoznak az XZ és az YZ síkokra is. A mozgásokat a 2.32. ábra tartalmazza. A P1 pont az indulási pont, a P2 pont a célhelyzethez (P3 pont) tartozó ponttal azonos x értékő közbensı pont. A P3 pont a célhelyzet.
22
CNC-programozás alapjai
Szakaszvezérlés esetén az útinformációkat csak egyetlen (X vagy Y) méretszóval szabad megadni. A mozgások tehát azonosak a 2.32. ábrán látható mozgásokkal. Kibıvített szakaszvezérlés esetén általában lineáris interpoláció programozható. Ilyenkor a programmondat két méretszót (X és Y) tartalmaz. A kívánt elmozdulás a ux és vy sebességő mozgások eredıje. A mozgásviszonyokat a 2.33. ábra szemlélteti. A P1 pont az indulási helyzet, a P2 pont a célhelyzet. Az adott meredekségő egyenes létrehozása az interpolátor feladata, amely az elıtolás ismeretében meghatározza a ux és vy sebességeket úgy, hogy az érkezési pont a P3 legyen. Pályavezérlés esetén általában lineáris és körinterpoláció programozható. Az X, Y, Z tengelyekhez rendre az I, J, K interpolációs adatok tartoznak. Háromnál több tengelyes megmunkálás esetén (megmunkálóközpontok) az X, Y, Z tengelyekhez tartoznak még tengelyforgatási adatok is. Ezeket rendre A, B, C-vel lehet jelölni. A pályavezérlés mozgásviszonyait a 2.34. ábra szemlélteti körinterpolációs példa alapján. Körinterpolációhoz meg kell adni az interpolációs adatokat is. Ezek értelmezése vezérléstıl függıen változik. Az ábrán két értelmezés is látható. Az egyik értelmezés szerint az interpolációs útadat X irányban az I1 pont, amely a R körközéppont és a mozgás P1 kezdıpontja közötti távolság. Ugyanez Y irányban J1. Másféle vezérlésekhez a kör középpontjának koordinátáit kell megadni interpolációs útadatként. Ez itt I2 X irányban és J2 Y irányban. Körinterpoláció esetén tehát négyzetadatot kell programozni (X, Y, I, J). Lehetıség van az a szög programozására is, ahol α radiánban van.
23
CNC-programozás alapjai
Vezérléstípus
Mozgásviszony
Pontvezérlés
Szerszám
Alkalmazás
Pozicionálásnál a szerszám nincs fogásban
Fúrás Ponthegesztés
Két pont közötti megmunkálás is lehetséges
Esztergálás (palást)marás (a tengelyekkel párhuzamosan)
Megmunkálás a két tengellyel szöget bezárva, szakaszok)
Esztergálás (kúpos) Marás (tetszıleges egyenes)
Megmunkálás tetszıleges görbe mentén
Esztergálás Marás Lángvágás (tetszıleges kontúr mentén)
Interpolátor nem szükséges Szakaszvezérlés
Interpolátor nem szükséges Kiterjesztett Szakaszvezérlés
Hajtómővonszolással vagy lineáris interpolátorral Pályavezérlés
Pályainterpolátor (2. fokú függvény szerint) 2.34. ábra. Vezérlésfajták és az általuk megvalósítható mozgásviszonyok Vezessük be a következı jelöléseket: • P Point (pontvezérlés), • L Line (szakaszvezérlés), • C Contur (pályavezérlés). Ezek után néhány alapvetı géptípus vezérlése a következı (a számok a különbözı koordináták mentén vezérelt mozgások számát jelentik): • fúrógépek: 2P vagy 2P+ L, • marógépek: 2L vagy 3L vagy 2C + L, • esztergák: 2L vagy 2C, • megmunkálóközpontok: 2P + L vagy 2C + L vagy 3C + L vagy 4C vagy 5C. A 2.31. ábra segítségével tekintsük át a mozgásviszonyokat.
24
CNC-programozás alapjai
Gép Fúrógépek Marógépek
Vezérlés 2P 2P + L 2L 3L
X
Y
Z
I
J
K
2C+L 3C Esztergák
2L 2C
2.35. ábra. Jellegzetes géptípusok és a pozicionális módok útinformációi A 2.35. ábra összefoglalja, hogy a jellegzetes géptípusokhoz milyen útinformációk megadására van szükség. Interpoláció. Az interpolátor feladata az egyidejő elmozdulások közötti függvénykapcsolat létrehozása. Alkalmazásával az egyenesbıl és körívekbıl felépített kontúr követhetı a szerszámmal. Az interpolátorral szemben támasztott követelmények: • jól közelítse meg az elıírt kontúrt, • a létrejövı mozgatási sebesség széles határok között legyen változtatható, • a programozáshoz szükséges adatok száma kevés legyen, • a kitőzött végpontot pontosan érje el. E követelményeknek a digitális elven mőködı, a sebességkomponensek numerikus integrációján alapuló DDA- (Digital Differential Analizer = digitális differenciák analízise) interpolátor felel meg. A DDA-interpolátor az egyenes tengelyek mentén mozgó szánok hajtómővei számára külön-külön hajtásimpulzusokat állít elı. Egy hajtómő egy impulzus hatására egy növekménnyel (inkremenssel) mozdítja el a szánt. Meghatározott idıegység (pl. 1 ms) alatt kiadott impulzusok száma megfelel az adott tengely menti mozgatási sebességnek (pl. 1 inkremens = ∆s; ∆s = 1 µm; 1 ms alatt kiadott impulzusok száma az x tengely mentén 103 akkor az x tengely mozgási sebessége 103 µm/1 ms; átszámolva ez 1 m/s). Ha több tengely hajtómővének azonos idıben adunk impulzusokat, akkor a tengelyekkel szöget bezáró ferde irányú mozgás jön létre. Elegendı rövid ferde szakaszt sorba főzve (meghatározható hibaeltéréssel) megközelíthetık az elıírt görbe kontúrfelületek. A gyakorlatban két kontúrelem-közelítés fontos, az egyenes interpolációja és a kör interpolációja. Lineáris interpoláció. Tételezzük fel, hogy a szerszámot a 2.36. ábra PA és PE pontjai közötti ferde szakaszon T interpolációs idı alatt kell végigmozgatni állandó elıtolási sebességgel. Ha T idıt N azonos ∆t idıegységre bontjuk, akkor: n n x + xA y + yA , y f ( t ) = y f ( n∆t ) = y A + ∑ E x f (t ) = x f ( n∆t ) = x A + ∑ E N N 1 1 T = N ⋅ ∆t t = N ⋅ ∆t ahol n = l...N. A koordinátaértékek tehát minden egyes összegzés után egy konstanssal, ún. interpolációs növekménnyel növekednek. Ezek a növekmények a 45°-os egyenes esetét kivéve különbözıek.
25
CNC-programozás alapjai
n xE − x A y − yA yn = y A + ∑ E N N 1 1 2.36. ábra. Lineáris interpoláció elve ( PA kezdıpont; PE végpont) n
xn = x A + ∑
Cirkulációs interpolációt a körkontúrt megközelítı érintıegyenesek sorba főzésével valósítjuk meg. A mozgatás ez esetben is az idı függvényében történik. Ehhez az érintıirányú sebességkomponensek számítása ís szükséges: a 2.37. ábra alapján: X = xp+Rcosφ és Y = yp+Rsinφ A teljes kör elıállításához rendelkezésre álló idı a megadott állandó értéken tartandó pályairányú elıtolásból (sebességbıl) számítható: 2πR 2πT v= ;T = T v t ϕ = 2π T , ahol t=0…T így 2πt 2πt x f (t ) = x p + R cos ; y f (t ) = y p + R cos ; T T A további levezetést mellızve a lineáris interpolációhoz hasonló összefüggést kapunk. T = N∆t, t = n∆t ahol n = l...N. n x f ( n∆t ) − y p n x f ( n∆t ) − x x f (t ) = x f (n∆t ) + ∑ ,y f (t ) = x f (n∆t ) + ∑ 2.37. ábra. Körkontúr 1 1 N N (PA a kezdıpont; P a kör középpontja) Látható, hogy az interpolációs növekmény itt nem konstans, hanem a másik tengely irányában már megtett elmozdulás függvénye. A kör interpolálása lassú a sok aritmetikai mővelet miatt. Ennek kiküszöbölésére alkalmazzuk az interpolációs fıpontok számítását. A kört hosszabb szakaszokból álló húrokkal közelítjük meg, majd a húrokon lineáris interpolációt hajtunk végre (2.38. ábra). Ehhez elıször durva interpolációra, a húrok és a kör metszéspontjainak, az interpolációs fıpontoknak a számítására van szükség. A finom interpolációt már egy lineáris interpolátor is elvégzi a húrok által alkotott egyenes szakaszok mentén. Mindezen feladatokat a vezérlés automatikusan oldja meg, nem terheli a programozót.
26
CNC-programozás alapjai
b)Az egyenes szakaszok felosztása a)A görbe felosztása egyenes interpolációs növekményekre szakaszokra 2.38. ábra. Kör közelítése fıpontok számításával és a közöttük végzett lineáris interpolációval a) durva interpoláció; b) finom interpoláció Sebességinterpoláció szükséges minden olyan feladat elvégzéséhez, amikor a szerszámmozgás és a munkadarab mozgása között kényszerkapcsolatot kell létesíteni. Legjobb példa erre a menetvágás NC-esztergán. Menetvágáskor a fıorsó fordulatszáma és a menetvágó szerszám elıtolása között szoros kapcsolat van: egy fıorsófordulat alatt a szerszám egy menetemelkedésnyi távolságot tesz meg. A feladatot a sebességinterpolátor úgy oldja meg, hogy a fıorsófordulathoz rendeli az elıtolási sebességet a következı összefüggés szerint: v = P·n mm/min, ahol P a menetemelkedés, mm; n a fıorsó fordulatszáma, l/min. A sebességinterpolátor tehát meghatározza az n-hez tartozó v sebességet és ezzel a sebességgel indítja a szán mozgását. Az indítás pillanata a fıorsón lévı jeladótól függ, így a mozgás mindig ugyanakkor indul. Ebbıl következik, hogy a menetvágásnál a kés mindig ugyanabban a menetárokban halad. (Lásd még a menetvágás témakörében leírtakat!) A jelfeldolgozás sebessége és az útmérık felbontóképessége meghatározza a maximális szánsebességet, amelyet a vezérlı gépkönyve tartalmaz.
2.7
Útinformációk számítása pályavezérlés esetén
A pályavezérléső NC-szerszámgépeken általában csak egyenes és körív menti elmozdulás programozható (néhány vezérlésnél lehetıség van parabola, hiperbola, sıt térgörbe menti elmozdulásra is, ezekkel azonban itt nem foglalkozunk). Kétdimenziós marás esetén a munkadarab kontúrja y = f(x), az esztergálásnál x= f(z) függvényekkel írható le. Ha a kontúr egyenes szakaszokból és körívekbıl áll, akkor az alkatrész lineáris és körinterpoláció programozásával elıállítható. Más jellegő függvénykapcsolat esetén az elıírt kontúrt egyenesekkel és körívekkel helyettesítjük. A helyettesítés során a közelítés hibája nem lépheti túl a megengedett tőrést (2.39. ábra). Az elıírt görbe helyettesíthetı szelıkkel, húrokkal, érintıkkel, simuló körökkel stb. Az adott sugarú kör z tőrése határozza meg, hogy milyen nagy lehet az a távolság. Az ábra jelöléseivel:
27
CNC-programozás alapjai
R2=b2+(R-z)2 vagyis egyszerősítés után b2=2Rz+z2; a b = −t 2 behelyettesítve a ;
R2=b2+R2-2Rz+z2
2
a 2 = 2 Rz + z 2 a2=8Rz+4z2
a = 8 Rz + 4 z 2 2.39. ábra. A hiba értelmezése húrmódszer esetén a szakaszhossz; z tőrés A képletbıl a 4z2-es rész elhanyagolható, így az eredmény a = 8 Rz . Legyen pl. az R = 100 mm, a z = 10 mm = 0,01 µm. Számoljuk ki az a távolságot: a = 8 Rz = 8 ⋅ 100 ⋅ 0 ,01 = 2 ,83mm Ekkora távolságként kell interpolációs fıpontot képeznie az interpolátornak, ha a kört durva és finom interpolációval közelítjük. Ha az interpolátor másodpercenként pl. 50 fıpontot tud kiszámítani, akkor a legnagyobb elıtolási sebesség: 50 ⋅ 2,83mm mm v max = = 141,5 1s s Pályavezérléső esztergán, marógépen és megmunkálóközpontok marószerszámain a szerszámközéppont pályája a munkadarab körvonalától mindenütt a szerszámsugárral megegyezı távolságra van (2.40. ábra). Ezt a pályát egyentávolságú vonalnak nevezzük. Háromdimenziós pályavezérlés esetén a szerszámközéppont az egyentávolságú felületen halad. Az egyentávolságú vonal egyenes szakaszokból és körívekbıl áll, tehát a jellegzetes csatlakozások: egyenes egyenessel; egyenes körívvel; körív körívvel. A 2.40. ábrán az 1, 2, 3, 4 pontok a munkadarabkontúr jellegzetes pontjai, az A, B, C, D pedig az egyentávolságú vonal illeszkedési pontjai.
2.40. ábra. Az egyentávolságú vonal
2.41. ábra. Egyentávolságú vonal marásnál
Marás esetén hasonlóan lehet értelmezni az egyentávolságú vonalat, amely a munkadarab kontúrjától R szerszámsugárral van távolabb (2.41. ábra). Az ábrán 1, 2, 3, 4, 5 és 6 a munkadarab programtechnikailag jellegzetes pontja. A vesszıvel jelzett pontokat kell 28
CNC-programozás alapjai
programozni. Az SP pont a startpont és a befejezési pont is egyúttal. T a szerszám. Érdekesség a B1, B2, B3-mal jelölt körív, amelyet minden olyan kontúrpontnál alkalmazni kell, ahol a megelızı és a következı kontúrelemek nem simulnak egymáshoz. Ezeket az áthidaló köríveket nullaköröknek nevezzük.
2.8
Ellenırzı kérdések Mit nevezünk külsı és mit belsı adatfeldolgozásnak? Milyen méretmegadási módok vannak? Melyek az NC-gépek koordináta-rendszerei? Mi a munkadarab-koordinátarendszer szerepe? Ismertesse a jellegzetes megmunkálógépek koordináta-rendszereit! Mit nevezünk a szerszám-koordinátarendszernek? Ismertesse az NC-gépek jellegzetes pontjait! Milyen gépi nullapontok vannak? Mi a referenciapont és mi a szerepe? Mi a munkadarab-nullapont és hogyan kell alkalmazni? Mi a nullaponteltolás fogalma? Ismertesse a nullaponteltolás alkalmazásait! Mi a nullapontfelvétel, hogyan végezzük? Ismertesse a munkadarab nullapontjának felvételi lehetıségeit! Ismertesse a munkadarab nullapontfelvételét marógépen! Ismertesse a szerszámkorrekció jelentıségét és fajtáit! Ismertesse a szerszámsugár-korrekciót marógépeken! Ismertesse a sugárkorrekció megadási módjait! Mit jelent a csúcssugár-korrekció és mi a jelentısége? Mi a szerszámkopás-korrekció? Milyen jellegzetes mozgástípusok vannak? Mi az interpoláció és melyek a fajtái? Mi a lineáris interpoláció? Mi a körinterpoláció? Mi a sebességinterpoláció? Ismertesse a hiba nagyságát húrmódszer esetén! Mit jelent az egyentávolságú vonal kifejezés? Mi a nullakör és mikor alkalmazzuk?
29
CNC-programozás alapjai
3 CNC-programozás 3.1
A gyártási folyamat információ áramlása
A számvezérléső szerszámgépeken végzett alkatrészgyártás információáramlását szemlélteti a 3.1. ábra. Az ábra az alkatrésztıl a kész gyártmányig szemlélteti a gyártási folyamatot. A programozáshoz és a gyártáshoz minden segédeszközt integrálni kell az információáramlásban, meg lehet különböztetni két egymástól eltérı részt, a külsı és a belsı adatfeldolgozást. A külsı adatfeldolgozás tartalmazza a számvezérlésen kívüli összes programadat felmérését és elıkészítését. A belsı adatfeldolgozás feladata a számvezérlésen belüli és az NC-gépen belüli programadatok feldolgozása. Mint minden gyártásnak, az NC-technológia alkalmazásának is az alkatrészrajz az alapja. Az NC-gyártás nem igényel semmilyen különlegességet az alkatrészrajz felépítésétıl. Az NC-gyártáshoz pontosan meg kell határozni az elıgyártmány alakját és a kiindulási méreteket. Számításba kell venni az elıgyártás tőréseit, pontosságát. Az elıgyártmány és az alkatrészrajz ismeretében a technológus kiválaszthatja a szükséges szerszámokat, elıírhatja a technológiai adatokat. Ezután elkészíthetı a mőveletterv. A mőveletterv összeállítása nagy tapasztalatot, technológiai tudást igényel. A programozó a felhasznált szerszámok, befogóeszközök és mérıeszközök méreteit, jellemzıit katalógusokból, kartotékokból, elektronikus adatbankokból állítja össze. A programozás feladata, hogy a mőveletterv adatait a szerszámgépvezérlı számára érthetı alakra hozza. A programozás folyamán be kell tartani a programfelépítés, az adatmegadás, a kódolás adott vezérlıre jellemzı szabályait. A beállítási lap, a programlap és a gyártásszervezési adatok a programozás eredményei. A programlap adatait a vezérlı számára is olvasható adathordozón kell tárolni. Az NCtechnika kezdetén lyukszalagokat, a lyukkártyákat használták ma már a mágneses adathordozókat részesítik elınyben. A CNC-gépek vezérlıiben az adathordozó fizikailag ritkán jelenik meg, a mágneses adattároláson kívül a vezérlı írható-olvasható memóriájában (RAM) tároljuk a programot. Gyakran elıfordul, hogy számítógépes munkadarab-tervezés és gyártás (CAD, CAM) esetén hálózaton keresztül jut el az információ a számítógéptıl a szerszámgép vezérlıjéig.
30
CNC-programozás alapjai
3.1. ábra. A gyártási folyamat információáramlása Az NC-gépek egyenletes és folyamatos kihasználása érdekében össze kell hangolni a gyártás-elıkészítést, a megmunkálást és a raktárak tevékenységét. Ezzel a tervezett gyártáshoz a megfelelı idıpontban rendelkezésre áll az adott gyártmány megmunkálásához szükséges összes információ, gyártási segédeszköz, az elıre beállított szerszám és az elıgyártmány.
3.2
A CNC programozás utasításkészlete
Az NC-gépek és vezérlık megjelenése után minden gyártó a saját elképzelése szerint alakította ki a programozás szintaktikáját, nyelvét, jelrendszerét. A jelenség a felhasználók számára okozott komoly gondot, mert ahány NC-gépet használt, annyiféle szerkezető programot kellett készíteni. Ha az egyik gép valamilyen okból kiesett a termelésbıl, a gép programját nem lehetett átvinni egy másik gépre. A számvezérlés programozásának egységesítése céljából kidolgozták a DIN 66025 német szabványt, amelyet szerte a világon a vezetı gyártók elfogadtak és ennek köszönhetıen ma már 31
CNC-programozás alapjai
azonos elvek szerint épülnek fel az alkatrészprogramok, még akkor is, ha kisebb eltérések elıfordulnak. Az a programozó, aki megismerte ezt a szabványt, még nem biztos, hogy hibátlan vezérlıprogramot ír egy konkrét vezérlıre, elıbb annak leírását, kézikönyvét tanulmányoznia kell. E fejezet célja a programozási rendszer alapjainak megismertetése. Ma néhány sajátos esettıl eltekintve címkódos rendszer használatos. A programozott funkciónak betőjelet adunk, amelyhez a számkód csatlakozik. A felhasználható kódok: A elfordulás az x tengely körül, B elfordulás az y tengely körül, C elfordulás a z tengely körül, D elfordulás különleges tengely körül vagy harmadlagos elıtolás, E elfordulás különleges tengely körül vagy másodlagos elıtolás, F elıtolás, G útfeltétel, H szabadon felhasználható, I interpolációs jellemzı vagy menetemelkedés az x tengely irányában, J interpolációs jellemzı vagy menetemelkedés az y tengely irányában, K interpolációs jellemzı vagy menetemelkedés a z tengely irányában, L szabadon felhasználható, M kiegészítı (vegyes) funkció, N mondatszám, O nem használható (összetéveszthetı a nullával), P harmadlagos mozgás az x tengellyel párhuzamosan vagy a szerszámkorrekció jellemzıje, Q harmadlagos mozgás az y tengellyel párhuzamosan vagy a szerszámkorrekció jellemzıje, R harmadlagos mozgás a z tengellyel párhuzamosan vagy a szerszámmozgás jellemzıje, S orsófordulatszám, T szerszámleírás, U másodlagos mozgás az x tengely irányában, V másodlagos mozgás az y tengely irányában, W másodlagos mozgás a z tengely irányában. Programtechnikai utasítások, segédfunkciók, speciális karakterek. Programtechnikai utasítással a vezérlınek olyan parancsokat lehet adni, amelyek valamilyen állapotra, kapcsolásra vonatkoznak. Csoportosíthatók • hatásuk idıpontja alapján, • hatásuk idıtartama alapján. Speciális karakterek: % Programkezdet. : Fımondat. / Mondatkihagyás kezdete vagy vége. ( Megjegyzés (comment) kezdete. ) Megjegyzés (comment) vége. A gömbölyő zárójelek közé tetszıleges szöveget lehet elhelyezni, a vezérlı ezeket az üzeneteket nem hajtja végre. A program áttekinthetıségét javíthatjuk a szöveges megjegyzésekkel. Útinformációk. Geometriai utasítások: az X, Y, Z, U, V, W, P, Q, R, A, B, C betőjelő címkódok alapján tájékozódik a vezérlı arról, mely tengelyek mentén, milyen utat kell megtenni, vagy milyen forgómozgást kell végezni. 32
CNC-programozás alapjai
Az útcímzések elhelyezkedését a derékszögő koordináta-rendszerben a 3.2. ábra szemlélteti. Interpolációs paraméterek. A körív menti elmozduláskor (G02 és G03) az I, J, K kódok adják meg az X, Y, Z tengelyirányokban a kör középpontjának helyzetét. A 3.3. ábra abszolút és növekményes rendszerben mutatja a címek értelmezését az X-Y síkban. Technológiai utasítások: E elıtoláskód: az elıtolás a vezérlı típusától függıen többféle módon adható meg: • Közvetlen megadás a leggyakoribb és a programozás szempontjából a legkényelmesebb rendszer. • Kódolt megadás tetszıleges kódszámmal, vagy aritmetikai és geometriai kódolással. A korszerő vezérlık elterjedésével ez a módszer visszaszorul.
3.2. ábra. Útcímzések a derékszögő koordináta-rendszerben
3.3. ábra. Interpolációs adatok
S fordulatszámkód: A fordulatszámot az elıtoláshoz hasonlóan közvetlenül vagy kódolt formában programozhatjuk. T szerszámcímkód: A tetszılegesen kódolható szerszámkód felosztása: csoport. Szerszám-azonosító. A szerszám-azonosítóval írjuk elı a használandó szerszámot. Szerszámtár nélküli gépeken a soron következı szerszámot jelezzük és a gépkezelınek kell a kijelölt szerszámot kézzel a gép szerszámtartójába helyezni. A szerszámtáras NCszerszámgépeken két lehetıség van: -Szerszámtár tárolóhelycímzéssel. A szerszámokat tetszılegesen jelölhetjük, a szerszámtár tárolóhelyeinek a vezérlı által olvasható jelölése van. A programozott szerszám-azonosító hatására a vezérlı a megadott azonosítószámú tárolóhelyrıl kiveszi a szerszámot, majd eljuttatja a szerszámtartóhoz. A megmunkálás végén a szerszámot ugyanarra a tárolóhelyre kell visszajuttatni, ahonnan elvettük. -Szerszámtár szerszámcímzéssel. Minden szerszámnak önálló, a vezérlı által olvasható jelölése van. A programozott szerszám-azonosító hatására a vezérlı a megadott azonosítójú szerszámot veszi ki a szerszámtárból és juttatja el a szerszámbefogó helyére. 2. csoport. Szerszámkorrekció-lehívás. Minden szerszám mérete eltérhet a programozó által elıirányzott szerszámméretektıl. Az eltéréseket a vezérlıvel manuálisan vagy adathordozón lehet közölni. A T szerszámcímkód 2. csoportjával lehívhatók a vezérlıben tárolt szerszámkorrekciós jellemzık és ezekkel számítható az egyenköző pálya.
33
CNC-programozás alapjai
A mondatfelépítés szabályai. A program a mondatkezdet jelzésétıl az utána következı mondatok sorozatából áll. Mondatnak nevezzük mindazon adatok összességét, amelyekre a vezérlıberendezésnek szüksége van egy megmunkálási szakasz végrehajtásához. A program végét az M02 kiegészítı funkció jelöli. A programkezdet elıtt bármilyen szöveg lehet az adathordozón. Ez a szöveg bármilyen karaktert tartalmazhat (kivéve a program kezdetének jelét). Az ilyen szöveg alkalmas a programok azonosítására, a programozó utasításait közölheti a gép kezelıjével stb. A programmondat önálló adatokból áll, amelyeket a nyelvtani analógia mintájára szavaknak nevezünk. Minden szó tartalmaz technológiai, geometriai vagy programozástechnikai részadatokat. A mondat az a legkisebb önálló programrészlet, amit végre lehet hajtani. A ma szinte kizárólagosan használt címkódos írásmódban minden szó egy betőt, elıjelet és számot tartalmaz. A szó elején lévı bető a szó címkódja. A betőrıl a vezérlıberendezés felismeri a szó fajtáját. Az elıjelek közül a pozitív elıjel elhagyható, csak a negatív elıjelet kell kiírni. A mondat szavainak megadási sorrendje a DIN 66025 szerint kötött. A sorrend a következı: • a mondat sorszáma, • az útfeltétel szava, • az X, Y, Z, U, V, W, P, Q, R, A, B, C, D, E koordinátatengelyek szavai, • az I, J, K interpolációs adatok szavai, • az elıtolás szava, • az orsófordulatszám szava, • a szerszám és a szerszámkorrekció szava, • a kiegészítı funkció szava. A mondaton belül minden olyan szó kihagyható, amelynek nincs konkrét értéke, vagy már elızıleg megadták és az így definiált szó öröklıdı.
3.3
A program felépítése
Az NC-alkatrészprogram tartalmazza mindazokat az információkat, amelyek a munkadarab gyártásához szükségesek. Általában a program futásának sorrendje megegyezik a programmondatok sorszámával. A programozó technológus végiggondolja a megmunkálás sorrendjét, felbontja a lehetı legkisebb egységekre (a mondatra). Az elızı fejezet szerint a szükséges információkat kódolja. A fıprogram. Minden egyes alkatrészhez rendelhetı egy NC-program, ezt nevezzük fıprogramnak. A fıprogram a program azonosítójától a program vége karakterig terjed (3.4. ábra). A fıprogram felépítése, a programmondatokban használt kódok függnek a konkrét vezérlı által megkívánt programszerkesztési elvektıl. A ciklus. A CNC-vezérlık gyártói definiálnak különbözı speciális programrészleteket, amelyekkel a felhasználók a munkájukat megkönnyíthetik. Ezek a különös programrészletek mindig azonos módon mőködnek. Például:
34
CNC-programozás alapjai
3.4. ábra. A fıprogram
3.6. ábra. A fúrás b biztonsági távolság; L a fúrás mélysége
3.5. ábra. A menetvágás
3.7. ábra. A menetfúrás b biztonsági távolság; L a menetfúrás mélysége
Menetvágás (3.5. ábra): 1. A szerszámmal a névleges méretre kell pozícionálni. 2. Meg kell adni a fordulatszámot és az elıtolást. 3. Fogást kell venni. 4. Az override kapcsolók mőködését le kell tiltani, mert ezek módosítják a fordulatszámot és az elıtolást, tehát eltorzítanák a menet geometriai jellemzıit. 5. Menetvágás a kívánt hosszon. 6. A szerszámot ki kell emelni a fogásból. 7. Az override kapcsolók hatásosságát vissza kell állítani. 8. A szerszám visszapozícionál a kiindulási pontra. Fúrás (3.6. ábra): 1. A fúróval biztonsági távolságot tartva a furat középpontja fölé kell állni. 2. Meg kell adni az elıtolást, fordulatszámot. 3. A fúrót az anyagba a kívánt mélységig az elıtolással kell mozgatni. 4. A furat elkészülte után a szerszám a kiindulási pontba gyorsjárattal visszatér. Menetfúrás (3.7. ábra): 1. A menetfúróval biztonsági távolsággal a furat középpontja fölé kell állni. 2. Meg kell adni a szükséges elıtolást és fordulatszámot. 3. Az override kapcsolók hatásosságát meg kell szüntetni, mert az elıtolás és a fordulatszám módosítása eltorzítaná a menetemelkedést. 4. A szerszámot a kívánt menetmélységig mozgatjuk az elıtolással. 5. A szükséges menetmélység elérése után ellenkezı forgásirányt kell kapcsolni. A kiindulási pontra való visszaérkezés után az orsót újra eredeti irányba kell forgatni és az override kapcsolók hatásosságát vissza kell állítani. Azonnal ki kell forgatni a menetfúrót, a furatból elıtolással. A gyártóktól függ, hány ilyen ciklust építenek be a vezérlıkbe. Az így definiált gépi fix ciklusok mindig egyformán mőködnek, a konkrét technológiai és
35
CNC-programozás alapjai
geometriai adatokat a programozónak kell megadnia a fıprogramban. Használatuk nagymértékben leegyszerősíti a programozó munkáját. A ciklusok behívását a 3.8. ábra szemlélteti. A fıprogramban F, S, b, L szimbólumokkal a ciklus aktuális paramétereit jelöltük.
3.8. ábra. A ciklusok behívása
3.9. ábra. Zsebek marása A gépi fix ciklusok közül több szabványos (lsd. a 3.2. pontban a G81-G89 útfeltétel kódjait). A szubrutin. Egy alkatrész megmunkálása közben - különösen megmunkálóközpontokon egy programrészletet olykor többször is fel lehet használni, mert a munkadarabon azonos geometriájú felületelemek, vagy felületelem-csoportok találhatók. A CNC-vezérlık szinte kivétel nélkül lehetıvé teszik, hogy az egyik mondatszámról a másikra lehessen ugrani, vagyis attól a mondatszámtól folytatódjon a megmunkálás. Szubrutinok azok a programrészletek, amelyek a fıprogramban találhatók, elhelyezésüket tekintve a programvége kód után következnek és többször felhasználhatók. A 3.9. ábrán látható munkadarabon négy egyforma „zseb" található. Ez esetben elegendı csak az egyik zsebet programozni és valamilyen programtechnikai fogással (pl. növekményes programozással, vagy nullaponteltolással) függetlenné tenni a zseb geometriájának helyzetétıl. Így az adott geometriára megírt programrészlet tetszıleges helyen és számban megismételhetı. A 3.10. ábra a szubrutin szervezését szemlélteti. Az alprogram. Bizonyos geometriai elemcsoportok több alkatrészen is elıfordulnak. Ezeket felesleges minden egyes alkatrész megmunkálásakor újra és újra leírni, elegendı egyszer elkészíteni azt a programrészletet, amely a megmunkálás folyamatát tartalmazza, és ez a programrészlet a fıprogramba behívható. Az önállóan is mőködı rövid programokat, amelyeket bármely fıprogramba be lehet illeszteni, alprogramnak nevezzük.
36
CNC-programozás alapjai
3.10. ábra. A szubrutin
3.11. ábra. Példa az alprogram alkalmazására
3.12. ábra. Az alprogram A 3.11. ábrán két olyan alkatrész látható, amelyben ugyanaz a geometriai felületelemcsoport van. Nullaponteltolással vagy növekményes programtechnikával függetlenné tehetı a 37
CNC-programozás alapjai
felületelem-csoport a munkadarabon elfoglalt helyétıl, így kell megírni az alprogramot, amelynek azonosítója a $ jel. Az alprogram bármely fıprogramból elérhetı (3.12. ábra). Paraméteres alprogram. A korszerő CNC-vezérlık nemcsak egyszerő alprogramozást tesznek lehetıvé, hanem az egyes programváltozókat megengedik paraméterekként kezelni. A paraméterekkel logikai és aritmetikai mőveletek is végezhetık. A mőveletek lehetnek relációk, egyenlıségek, negációk, összeadások, kivonások, osztások, szorzások, esetleg magasabb fokú matematikai mőveletek (3.13. ábra).
3.13. ábra. Példa paraméteres alprogram alkalmazására A munkadarabon három hasonló, de méretben különbözı alakzat található. Az alakzatok méreteinek aránya 0,5:1:2. A méreteket paraméterként kezelve, és a B = 0,5; B = 1 és B = 2 paramétereket mint nagyításfokokat értelmezve, a program elkészíthetı. A 3.14. ábra a paraméteres alprogram használatát szemlélteti. Az így megírt alprogram nemcsak akkor használható, ha az alakzat egy alkatrészen belül különbözı mérető, hanem akkor is ha az alakzat különbözı munkadarabon található. Az alprogram más és más fıprogramokból ugyanígy aktivizálható.
38
CNC-programozás alapjai
3.14. ábra. A paraméteres alprogram
3.4
Jellegzetes megmunkálási feladatok és programozásuk
Típusgeometriák és megmunkálásuk fúrógépen. A következı típusgeometriák nemcsak számvezérléső fúrógépen, hanem esztergán, marógépen és megmunkáló-központokon is megmunkálhatók. Esztergán a forgácsoló fımozgást a munkadarab végzi és a furat tengelye egybeesik a munkadarab tengelyével. A forgószerszámos eszterga-megmunkálóközponton a pozícionált fıorsóba fogott munkadarab a fúrógép vagy marógép körasztalára rögzített munkadarabként viselkedik, a forgó szerszám sugárirányban és tengelyirányban egyaránt elérheti a munkadarab homlok- vagy palástfelületét és azon az itt ismertetett fúrás jellegő megmunkálások elvégezhetık. Némi eltérést jelent, hogy a fıorsóba fogott munkadarabon célszerő a felületelemek méreteit polárkoordinátákban megadni. Központfurat és csúcsfészek fúrása (3.15., 3.16. ábra). Az ábra jelölései: d a furat átmérıje; l a furat mélysége; φ a csúcsfurat szöge.
3.15. ábra. Központfurat
3.16. ábra. Csúcsfészek
Meghatározzuk a furat fölött azt a biztonsági (megközelítési) távolságot, ameddig - a szerszámváltás helyétıl vagy valamilyen elızı pozícióból indulva - a szerszám akadálytalanul közlekedhet gyorsmenettel a furat középpontja fölé. A hazai gépparkban még szép számban található 2,5D-s vezérlések, ezt a megközelítést elıször az X-Y síkban végzik el, majd a Z 39
CNC-programozás alapjai
tengely mentén mozog. A korszerő 3D-s vezérlık mindhárom tengely mentén egyszerre mozdulnak el, ezért a programozónak különösen figyelnie kell, hogy a mozgás útjába ne kerüljön semmi akadály (pl. leszorítóvas). Ezt az akadályt ki kell kerülni, vagy ha a vezérlı szolgáltatása lehetıvé teszi a tilos munkaterületeken keresztüli mozgást, akkor azt mőködtetni kell. Megközelítés után a vezérlı munkamenetre kapcsol, a furat mélységi méretének eléréséig a programozott elıtolással mozog. Az l méret elérésekor néhány fordulat idejére várakozási idıt kell programozni, hogy az utolsóként leválasztott forgács keresztmetszete is nullává váljon, ellenkezı esetben a hirtelen gyorsmenetben visszainduló szerszám a teljes forgácskeresztmetszetet szakítaná, a felületet roncsolná, a szerszám éle károsodna. A várakozási idı után a szerszám gyorsmenetben elhagyja a munkadarab anyagát a biztonsági távolságig vagy a programozó által definiált visszahúzási magasságig. A központfurat és csúcsfészek megmunkálására alkalmas programrészlet: % 3411 N1 G17 G90 G95 G00 X. . . Y. . . Z. . . F. . . S. . . T. . . M03 M06 M08 N2 G01 Z. ... N3 G04 L... N4 G00 Z... N5 M02 N1 Az X-Y fısík kiválasztása, abszolút méret megadása, az elıtolás mm/ford-ban, gyorsmenet a furat középpontjára a munkadarab síkja fölé, fıorsó-fordulatszám és elıtolás megadása, forgásirány az óramutatóval megegyezı irányba, szerszámcsere indul, hőtés bekapcsol. N2 Elıtolás a furat megadott mélységéig. N3 Várakozás a megadott ideig (L címen). N4 Visszahúzás a biztonsági távolságig. N5 Program vége. Megjegyzés: M02 program vége helyett gyakran használatos az M30 eredetileg lyukszalag vége kód is. A CNC-vezérléső gépeken a különbözı furatmegmunkálási feladatokra rendszerint a gyártó gondoskodik beépített fix ciklusokról. Használatukat a különbözı fúrási feladatok részben mutatjuk be.
3.17. ábra. Zsákfurat telibe fúrás ⇒ elıtolás; → gyorsmenet Zsákfurat telibe fúrása (3.17. ábra). Az ábra jelölései: d a furat átmérıje; l a furat mélysége. A mővelet végrehajtása megegyezik a központfurat fúrásával, a különbség a furat mélységében van. Általános szabályként elmondható, hogy ha a furat átmérıjének és a mélységének aránya, az l/d kisebb 3...4-nél, egyszerőbb telibe fúrásról van szó, ellenkezı esetben pedig mélyfúrásról. Mélyfúrás esetén gondoskodni kell a fúró idınkénti kiemelésérıl. A CNCgépeken fix ciklus használható a fúrás végrehajtására. 40
CNC-programozás alapjai
A telibe fúrás programrészlete: %3412 NI G17 G90 G95 G00 X. . . Y. . . Z. . . .F. . . S. . . T. . . M03 M06 M08 …. N55 G82 X... Y... Z... Z... F... S... T... L... N56 G80 … N55 A zsákfurat megmunkálására alkalmas fúróciklus definiálása, X, Y a furat középpontjának helye, az elsı Z a megközelítési magasság, a második a fúrás mélysége, a technológiai paraméterek meghatározása, ha elızıleg más adat volt érvényben, majd a várakozási idı paramétere, az L megadása következik. N56 a fúrás befejezése után a meghívott ciklust törölni kell, ellenkezı esetben, mint öröklıdı kódot értelmezve a következı X, Y koordinátákon is fúrást hajt végre a vezérlı. Ha l/d> 3, akkor a fúrást érdemes mélyfúrásként kezelni, erre szintén fix ciklus van a vezérlıben. Végrehajtása a 3.18. ábrán látható. Mélyfurat telibe fúrásához a programrészlet: %3413 NI G17 G90 G95 G00 X. . . Y. . . Z. . . F. . . S. . . T. . . M03 M06 M08 … N55 G83 X... Y... Z... Z... Z... F... S... T... L... N56 G80 … N55 X, Y koordináták a furat középpontját adják meg. Az elsı Z a furat mélysége, a második az egy menetben fúrható fúrásmélység (inkrementális adat), a harmadik Z a visszahúzás mérete. Inkrementális adat, ha csak forgácstörést akarunk (3.18 a ábra), és abszolút adat, ha a fúrószerszámot öblítés céljából akarjuk kiemelni a furatból, ekkor a visszahúzás síkját kell megadni (3.18 b ábra).
a) b) 3.18. ábra. Mélyfurat telibe fúrása ⇒ elıtolás; → gyorsmenet Átmenıfurat telibe fúrása (3.19. ábra). Az ábra jelölései: d a furat átmérıje; l a furat mélysége. A fúrás hasonló, mint zsákfurat esetén, de nem kell várakozási idıt programozni az l méret elérésekor, viszont a programozó technológusnak kell gondoskodnia a fúró túlfutásáról. A fúró kúpjának túl kell futnia a munkadarab vastagsági méretén. Az átmenıfurat fúrásának programrészlete: %3414 N1 G17 G90 G95 G00 X. . . Y. . . Z. . . F. . . S. . . T. . . M03 M06 M08 41
CNC-programozás alapjai
… N55 G81 X... Y. . . Z... Z... F... S... T... L... N56 G80 ... N55 G81 általában az átmenıfurat fix ciklusa, az X, Y koordináták a furat középpontjának helyét, az elsı Z a biztonsági távolságot adja. A második Z a furat mélységét definiálja. Az l/d > 3 arányú furatok megmunkálására a zsákfurat megmunkálásánál elmondottak érvényesek, általában a G83 ciklust használjuk. A várakozási idı paraméterének nulla vagy minimális értéket szokás adni. Felfúrás zsákfuratban (3.20. ábra). Az ábra jelölései: d1 az elıfúrás átmérıje; d2 a felfúrás átmérıje; l a felfúrás mélysége.
3.19. ábra. Atmenıfurat telibe fúrása
3.20. ábra. Felfúrás zsákfuratban
3.21. ábra. Átmenıfurat felfúrása
3.23. ábra. Kúpos fenéksüllyesztés 3.22. ábra. Kúpos süllyesztés d − d1 A program írása során a 2 oldalankénti ráhagyást mint technológiai paramétert 2 használjuk. A furat l méretének függvényében döntjük el, hogy a G82 fúrás várakozással, vagy a G83 mélyfúrás kiemeléssel ciklust választjuk. Szintaktikája megegyezik az elızıkkel. Átmenıfurat felfúrása (3.21. ábra). Az ábra jelölései: d1 az elıfúrás átmérıje; d2 a felfúrás átmérıje; l a felfúrás mélysége. A zsákfurat felfúrásánál említettek itt is érvényesek azzal az eltéréssel, hogy ha nem mélyfuratot fúrunk, akkor a G81 ciklust használjuk. Kúpos süllyesztés és kúpos fenéksüllyesztés (3.22., 3.23. ábra). Az ábra jelölései: d1 az elıfúrás átmérıje; d2 a süllyesztés átmérıje; l a süllyesztés mélysége; φ a süllyesztés kúpszöge. A mővelet lényege az l méret beállítása, ezért a várakozási idıvel kombinált G82 ajánlott. Homloksüllyesztés (3.24. ábra). Az ábra jelölései: d1 az elıfúrás átmérıje; d2 a homloksüllyesztés átmérıje; l a süllyesztés mélysége.
42
CNC-programozás alapjai
3.24. ábra. Homloksüllyesztés
3.25. ábra. Menetfúrás zsákfuratban
3.26. ábra. Menetfúrás átmenıfuratban
3.27. ábra. A menetfúrás mozgásviszonyai ⇒ elıtolás
3.28. ábra. Dörzsölés ⇒ elıtolás A megmunkáláskor a d2-nél nagyobb átmérıjő homloksüllyesztıt használunk és G82-vel munkáljuk meg a felületet. Menetfúrás zsákfuratban és átmenıfuratban (3.25., 3.26. ábra). Az ábra jelölései: M a menet névleges mérete; h a menet emelkedése, l a menet mélysége. A menetfúrás programrészlete: %3415 NI G17 G90 G95 G00 X. . . Y. . . Z. . . F. . . S. . . T. . . M03 M06 M08 … N55 G84 X... Y... Z... Z... F... S... T... N56 G80 … N55 menetfúróciklus (G84), az X, Y a menetes furat középpontja, az elsı Z biztonsági távolság, a második Z pedig a menet mélysége. Menetfúrás a 3.27. ábra szerint. Mozgások: a szerszámmal a furat középpontja fölé b biztonsági távolságra kell pozícionálni gyorsmenettel (3.27. ábra).
43
CNC-programozás alapjai
A biztonsági távolság a menetemelkedés 2...3-szorosa. Az elıtolás és a szerszám fordulatszáma ennél a mőveletnél kötött: f= nP, ahol f az elıtolás, mm/min; n a fordulatszám, 1/min; P a menetemelkedés, mm. A menetfúrás elıtolással történik. A menetmélység elérése után a szerszám forgásirányát meg kell változtatni és szintén elıtolással húzzuk vissza a szerszámot az indulási pontig. A G84es menetfúróciklus a vezérlı technológiai módosítókapcsolóit (override kapcsolók) automatikusan üzemen kívül helyezi, a kapcsolók le vannak tiltva. Dörzsölés (3.28. ábra). A dörzsölés célja, hogy a furat méretpontosságát és felületi érdességét készre munkáljuk. A szerszám kialakítása miatt a furatból munkamenettel kell kiemelni a szerszámot, ellenkezı esetben a szerszám éle lepattan. A G85-ös jelő ciklus alkalmas a mővelet végrehajtására. A dörzsölés programrészlete: %3416 NI G17 G90 G95 GOO X.. . . Y. . . Z.. . . F. . . S. . . T. . . M03 M06 M08 N55 G85 X... Y... Z... Z... F... S... T. . . N56 G80 … N55 dörzsölésciklus (G85), az X, Y a furat középpontja, az elsı Z a biztonsági távolság, a második Z a furat mélysége. Furat kiesztergálása(3.29. ábra). Furat kiesztergálásakor a furat pontos méretét és az elıírt felületi érdességet állítjuk be. A szerszámot mindig álló fıorsó mellett emeljük ki. A szerszámgép felépítésétıl függıen a fıorsó vagy meghatározott pozíciót vesz fel, vagy nem. Az elsı esetben a fıorsó indexálása után a szerszám élét - gépi rutin szerinti mértékben és irányban el kell távolítani a furat felületétıl, és ezt követheti a kiemelés. A második esetben nincs a fıorsón jeladó, ilyenkor kiemeléskor a szerszám hegye érintkezik a munkadarab felületével és vékony karcot hagy a furat felületén. A furat kiesztergálásának programrészlete: %3417 N1 G17 G90 G95 G00 X... . Y. . . Z. . . F. . . S. . . T. . . M03 M0 6 M08 … N55 G8 6 X. .. . Y. . . Z. . . Z. . . F. . . S... T. . . N56 G80 … N55 furatkiesztergáló ciklus (G86), az X, Y a furat középpontja, az elsı Z a biztonsági távolság, a második Z pedig a furat mélysége.
44
CNC-programozás alapjai
3.29. ábra. Furat kiesztergálása ⇒ elıtolás; → gyorsmenet Típusgeometriák és megmunkálásuk esztergán. Az esztergán megmunkálható alkatrészek jellegzetes geometriai elemekre bonthatók. Megmunkálásukhoz hozzárendelhetı egy-egy szintén jellegzetes megmunkálási mód is. Külsı hengeres felület esztergálása (3.30. ábra). Az ábra jelölései: d1 a kiinduló átmérı; d2 a kész átmérı; a a fogásmélység; l a megmunkált felület hossza.
3.30. ábra. Külsı hengeres felület esztergálása ⇒ elıtolás; → gyorsmenet Mozgások: a szerszámmal biztonsági távolságra a darab elé kell pozícionálni gyorsmenettel, ez 1...2 mm a darab elıtt a d1 átmérın. A fogásvétel a munkadarab tengelye felé (X mozgás) gyorsjárattal. Következik az esztergálás elıtolással. Az esztergált felület végén (l méret elérésekor) kiemelés elıtolással d1-re. Az elıtolást azért kell alkalmazni, mert a κ> 90° fıél-elhelyezési szögő szerszámok használata esetén a szerszám élén maradó forgácskeresztmetszet gyorsmozgással leszakíthatja a szerszám hegyét. Következik a visszaállás az induló pozícióra gyorsmenettel. A fogásszám szerint ismételni kell a fenti mozgássort a teljes ráhagyás eltávolításáig. Ezt a mozgást nevezzük külsı hengeres felületet esztergáló ciklusnak. Simításkor értelemszerően a jellegzetes négyszögmozgást csak egyszer kell elvégezni.
45
CNC-programozás alapjai
3.31. ábra. Belsı hengeres felület esztergálása ⇒ elıtolás; → gyorsmenet Belsı hengeres felület esztergálása (3.31. ábra). Az ábra jelölése: d1 a kiinduló átmérı; d2 a kész átmérı; a fogásmélység; l a megmunkált felület hossza. Mozgások: A szerszámmal d1 átmérıtıl b biztonsági távolságra kell pozícionálni gyorsmenettel (b = 1...2 mm). Fogásvétel a munkadarab tengelyétıl távolodva gyorsmenettel. Következik az esztergálás elıtolással. Az esztergált felület végén (l méret elérésekor) kiemelés elıtolással d1-re. Visszaállás az induló pozícióra gyorsmenettel. A fogásszám szerint a mozgást ismételni kell a teljes ráhagyás eltávolításáig. Ezt a mozgást nevezzük belsı hengeres felületesztergáló ciklusnak. Simításkor értelemszerően a jellegzetes négyszögmozgást csak egyszer kell elvégezni. Külsı homlokfelület esztergálása (3.32. ábra). Az ábra jelölései: d1 kiinduló átmérı; d2 a homlokfelület vége; l ráhagyás. Mozgások: A szerszámmal b biztonsági távolságra a munkadarab elé kell állni d1 átmérıre gyorsmenettel. A fogásvétel szintén gyorsmenető. Esztergálás d2 átmérıig elıtolással. Tengelyirányú, gyorsmeneti kiemelés. Visszaállás a kiinduló pozícióra gyorsmenettel. A fogásszám szerint a mozgást ismételni kell a teljes ráhagyás eltávolításáig. Simításkor a mozgást értelemszerően egyszer kell végrehajtani. Belsı homlokfelület esztergálása (3.33. ábra). Az ábra jelölései: d1 a kiinduló átmérı; d2 a homlokfelület vége; l a ráhagyás. Mozgások logikája megegyezik a külsı homlokfelület esztergálásával, figyelembe véve a kiemelések irányát.
46
CNC-programozás alapjai
3.32. ábra. Külsı homlokfelület esztergálása ⇒ elıtolás; → gyorsmenet
3.33. ábra. Belsı homlokfelület esztergálása ⇒ elıtolás; → gyorsmenet
3.34. ábra. Külsı kúpfelület esztergálása ⇒ elıtolás; → gyorsmenet
3.35. ábra. Külsı kúpfelület megmunkálása Külsı kúpfelület esztergálása (3.34., 3.35. ábra). Az ábra jelölései: d2 a kúp kezdımérete; d1 a kúp végének mérete; l a kúp hossza; α a kúpszög. 47
CNC-programozás alapjai
Mozgások: fogásvétel után az esztergálás a Z tengely mentén egészen a kúp alkotójának és a fogásmélység egyenesének metszéspontjáig tart. A metszésponttól az elıtoló mozgás a kúp alkotóját követi. Az eddig ismertetett esztergálási stratégia szerint a mozgássort addig kell ismételni, míg a kúp d2 átmérıjét el nem érjük. Simításkor értelemszerően a d2 méretre pozícionálunk, majd a kúp alkotóját követve elvégezzük a simítást.
3.36. ábra. Belsı kúpfelület ⇒ elıtolás; → gyorsmenet Belsı kúpfelület esztergálása (3.36. ábra). Az ábra jelölései: d1 a kúp kezdımérete; d2 a kúp végének mérete; l a kúp hossza. Mozgások: a belsı kúpfelület megmunkálásának analógiájára. Külsı beszúrás (3.37. ábra). Az ábra jelölései: d1 a beszúrás kezdıátmérıje; d2 a beszúrás végének átmérıje; b a beszúrás szélessége. Mozgások: A CNC-esztergálás esetén a beszúrókést mindig keskenyebbre választjuk, mint a beszúrás b szélessége. A beszúrás szélességének mérete és tőrése úgy tartható be pontosan, hogy a beszúrókés jobb és bal oldali élével egy-egy beszúrást végzünk. Nem szabad megfeledkezni arról, hogy a szerszámkorrekciót a jobb és a bal oldali élére át kell helyezni a mozgás sorrendjének megfelelıen.
48
CNC-programozás alapjai
3.37. ábra. Külsı beszúrás ⇒ elıtolás; → gyorsmenet
3.38. ábra. Belsı beszúrás ⇒ elıtolás; → gyorsmenet Belsı beszúrás (3.38. ábra). Az ábra jelölései: d1 a beszúrás kezdıátmérıje; d2 a beszúrás végének átmérıje; b a beszúrás szélessége. Mozgások: A külsı beszúrás megmunkálásakor ismertetett elvek figyelembevételével. Homlokbeszúrás (3.49. ábra). Az ábra jelölései: d a homlokbeszúrás mérete; b szélessége; l mélysége.
3.39. ábra. Homlokbeszúrás ⇒ elıtolás; → gyorsmenet Mozgások: A külsı beszúrásnál ismertetett elvek itt is igazak. Felhívjuk a figyelmet arra, hogy a szerszám élgeometriáját a d illetve a d+b körgyőrők által határolt területen belül kell kialakítani. Az esetek döntı többségében a forgácsolás körülményei igen kedvezıtlenek (kicsi a forgácstér), ezért a technológiai adatok megválasztásakor körültekintıen kell eljárni. Külsı élletörés (3.40. ábra). Az ábra jelölései: a×45° a letörés mérete; d a letörés névleges átmérıje. Mozgások: A szerszám a munkadarab elé pozícionál a letörés vonalának meghosszabbításában gyorsmenettel, majd elıtolással elvégzi a munkafolyamatot. Kezdéskor a fogásmélység maximális, majd fokozatosan nullára csökken. A mőveletelemet célszerő az azt követı palástfelület simításával összekapcsolni, így nem marad sorja a letörés végén.
49
CNC-programozás alapjai
3.40. ábra. Külsı éllettörés ( ⇒ elıtolás; → gyorsmenet)
3.41. ábra. Belsı éllettörés ( ⇒ elıtolás; → gyorsmenet) Belsı élletörés (3.41. ábra). Az ábra jelölései: a×45° a letörés mérete; d a letörés névleges átmérıje. Mozgások: a külsı élletörésnél elmondottak figyelembevételével. Külsı éllekerekítés (3.42. ábra). Az ábra jelölései: R a lekerekítés sugara; d a lekerekítés névleges átmérıje. Mozgások: A szerszámmal a munkadarab elé a lekerekítés kezdıátmérıjére kell pozícionálni, majd a munkadarab megérintése következik elıtolással. A lekerekítés esztergálása során a fogásmélység nulláról maximumig nı, majd újra nullára csökken. A mőveletelemet célszerő összevonni a névleges átmérı simításával, így a szerszámnak az anyagból való kilépése elmarad, és nem képzıdik sorja a lekerekítés végén. Belsı éllekerekítés (3.43. ábra). Az ábra jelölései: R a lekerekítés sugara; d a lekerekítés átmérıje. Mozgások: a külsı éllekerekítésnél elmondottak szerint.
3.42. ábra. Külsı éllekerekítés ⇒ elıtolás; → gyorsmenet
3.43. ábra. Belsı éllekerekítés ⇒ elıtolás; → gyorsmenet
Külsı alászúrás (3.44. ábra). Az ábra jelölései: d az alászúrás névleges átmérıje; b az alászúrás szélessége; l az alászúrás mélysége. Mozgások: a szerszámmal az alászúrás irányának meghosszabbításába kell pozícionálni. Elıtolással elvégezzük az alászúrást, majd rövid várakozás után gyorsmenettel ugyanazon az útvonalon vissza kell húzni a szerszámot. A gyakorlatilag nulla forgácstér miatt indokolt a technológiai jellemzık csökkentése.
50
CNC-programozás alapjai
3.44. ábra. Külsı alászúrás ⇒ elıtolás; → gyorsmenet Belsı alászúrás (3.45. ábra). Az ábra jelölései: d az alászúrás névleges átmérıje; b az alászúrás szélessége; l az alászúrás mélysége.
3.45. ábra. Belsı alászúrás ⇒ elıtolás; → gyorsmenet
3.46. ábra. Leszúrás ⇒ elıtolás; → gyorsmenet Mozgások: hasonlók a külsı alászúrás megmunkálásához. Leszúrás (3.46. ábra). Az ábra jelölései: d1 a leszúrás kezdıátmérıje; d2 a leszúrás végének átmérıje; b a leszúrás szélessége. Mozgások: A szerszámmal a munkadarab fölé kell pozícionálni gyorsmenetben. Keresztirányú mozgás elıtolással. A munkadarab leesése elıtt célszerő az elıtolást egy vagy több lépésben csökkenteni. Hasznos a szerszám középpont (forgástengely) felé mozgása közben a fordulatszámot egy vagy több lépésben megemelni azért, hogy a forgácsoló sebesség ne csökkenjen. A korszerő CNCesztergákon, ahol fokozat nélküli fıhajtás van, ez a fordulatszám-emelés folyamatos. Külsı menet esztergálása (3.47. ábra). Az ábra jelölései: M a menet névleges átmérıje; P a menetemelkedés; l a menethossz.
51
CNC-programozás alapjai
3.47. ábra. Külsı menet esztergálása ⇒ elıtolás; → gyorsmenet Mozgások: A szerszámmal a menet névleges átmérıjére kell pozícionálni. A pozícionálás hosszmérete a munkadarab elıtt 2...3 menetemelkedésre célszerő, hogy a vezérlınek legyen elég ideje az álló szánt felgyorsítani a szinkronizált menetesztergáló mozgás sebességére. A fogásvételt elıtolással végezzük. Az override kapcsolók tiltása után vezérlı szinkronizálja a fıorsó fordulatszámát és az elıtolást (sebesség interpoláció), így végezzük el a menetesztergálást. A kést gyorsmenettel emeljük ki a menet névleges átmérıje fölé. Ebben a pontban az override kapcsolókat újra engedélyezni kell. A szerszám visszahúzása a kiindulási hosszra gyorsmenettel. A fogásszámnak megfelelıen ezt a ciklust meg kell ismételni. Belsı menet esztergálása. A megmunkálás jellemzıi: M a menet névleges átmérıje; P a menetemelkedés; l a menethossz. Mozgások: Hasonlók, mint a külsı menet esztergálásakor, de most magméretre pozícionálunk, és a fogásvétel a forgástengelytıl kifelé irányul. Típusgeometriák és megmunkálásuk marógépen. A következı geometriák munkálhatók meg marógépen és megmunkálóközpontokon. Általában elégséges a szakaszvezérlésre alkalmas berendezés, de a pályavezérlések széles körő elterjedése miatt nem teszünk különbséget aközött, hogy milyen geometria munkálható meg milyen vezérléső szerszámgépen. Síkfelület marása (3.48. ábra). Az ábra jelölései: B a felület szélessége; l a felület hossza; a a fogásmélység.
3.48. ábra. Síkfelület marása Mozgások: A szerszámot - ha a marógép teljesítményviszonyai megengedik - mindig szélesebbre kell választani, mint a B méret. Gyorsmenetben fél szerszámátmérıvel a darab elé pozícionálunk és fogást veszünk. Elıtolással végigmunkáljuk a felületet úgy, hogy a szerszám utolsó foga is elhagyja a mart felületet, tehát egy fél szerszámátmérıvel túlmegyünk az l méreten. Így a megmunkált felületet a maró nem karcolja össze. Sarokfelület marása (3.49. ábra). Az ábra jelölései: l a felület hossza; B a felület mélysége; a a fogásvétel. Mozgások: Ha a sarokfelületnek van szabad kifutása, akkor gyorsjáratban a felület elé kell pozícionálni fél átmérıvel B mélységben a fogásvételnek megfelelıen. Az l hossz marása után ki kell futtatni a marót a felületrıl. Ha nincs a sarokfelületnek szabad kifutása, akkor elıtolással veszünk fogást.
52
CNC-programozás alapjai
3.49. ábra. Sarokfelület marása Kontúrpalást-felület marása (3.50. ábra). Az ábra jelölései: B a marás mélysége; a a fogásmélység. Mozgások: A szerszámmal a munkadarab fölé pozícionálunk gyorsmenettel. A marás mélységét elıtolással érjük el. Az automatikus szerszámsugár-korrekció bekapcsolása után a kontúrt körbe járjuk a programozott elıtolással. A marás befejeztével kikapcsoljuk az automatikus szerszámsugár-korrekciót, majd gyorsmenettel kiemeljük a szerszámot a munkadarab fölé.
3.50. ábra. Kontúrpalást-felület marása Külsı horony marása I. (3.51. ábra). Az ábra jelölései: B a horony szélessége; a a horony mélysége; l a horony hossza. Mozgások: A horony valamelyik végére pozícionáljuk a szerszámot. Fogásvétel elıtolással. A marás befejeztével a marót is elıtolással emeljük ki, így a maró éle nem sérül meg. Ujjmarót akkor használunk, ha a szerszámnak elızetesen férıhelyet munkálunk ki, például fúrással. Méretes szerszámot (amelynek megegyezik az átmérıje a horony szélességével) csak akkor használjunk, ha a horony nincs tőrésezve. Ellenkezı esetben kontúrmarással dolgozzunk. Külsı horony marása II. (3.52. ábra). Az ábra jelölései: l a horony hossza; B a horony szélessége; a a horony mélysége, a fogásmélység. Mozgások: A tárcsamaróval a horony fölé pozícionálunk, és elıtolással fogást veszünk. A tárcsa átmérıjétıl függ, hogy mekkora a szerszám kifutása, ezt a marás hosszának meghatározásakor kell figyelembe venni.
3.51. ábra. Külsı horony marása, I.
3.52. ábra. Külsı horony marása, II
Belsı horony marása (3.53. ábra). Az ábra jelölései: d2 a horony átmérıje; d1 a furat átmérıje; B a horony szélessége.
53
CNC-programozás alapjai
Mozgások: A tárcsamaróval, amelynek átmérıje kisebb d1-nél a furatba pozícionálunk. Elıtolással fogást veszünk, majd körinterpolációval elkészítjük a hornyot. Visszaállva a furat tengelyvonalába, a szerszám kiemelhetı a furatból gyorsmenettel. Fenéksüllyesztés (3.54. ábra). Az ábra jelölései: d1 a furat átmérıje; d2 a süllyesztés átmérıje; a fogásmélység. Mozgások: Hosszlyukmaróval vagy ujjmaróval a furat fölé pozícionálunk. A fogásmélységet elıtolással érjük el. Fel kell venni a d2 méretet, majd körinterpolációval körbe kell járni a süllyesztést. A megmunkálás végén újra a furat közepére állunk, majd gyorsjárattal a szerszám kiemelhetı. A fúrás fejezetben ismertetett megmunkálóciklusok közül mindegyiket lehet CNCmarógépeken is programozni, ezért azokat nem tárgyaljuk még egyszer.
3.53. ábra. Belsı horony marása
3.54. ábra. Fenéksüllyesztés
Egyenes interpoláció 3D-s megmunkálás esetén (3.55. ábra). A 3D megjelölés a három irányú (direction) mozgást jelenti. (A hétköznapi szóhasználatban helytelenül a háromdimenziós megmunkálás terjedt el.) A 3D-s marógép fıorsója nem billenthetı, ezért gömbvégő marószerszámot kell használni, mert akkor a szerszám geometriája - a gömb - biztosítja, hogy a munkadarab felületére merılegesen helyezkedjen el a pillanatnyi látszólagos szerszámtengely. Az egyenköző pályáról tanultakat kell kiterjeszteni három irányban. A gömb érintési pontja és a gömb középpontján átmenı egyenes mindig merıleges a felületre.
3.55. ábra. 3D-s lineáris interpoláció
3.56. ábra. A menetmarás mozgásai
A háromtengelyes egyenes megmunkálására alkalmas programrészlet: %3441 N1 G17 G90 G54 G00 X... Y... Z... F... S... T... M03 M06 N55 G00 X. . . Y. . . Z. . . N56 G01 Z... 54
CNC-programozás alapjai
N57 G01 X... Z... Z... F... N58 G00 Z... kezdıpont fölé pozícionálunk A programrészlet N55 jelő sorában a kezdıpont fölé pozícionálunk, az N56-ban elıtolással fogást veszünk, majd az N57-es mondatban az egyenes végpontját határozzuk meg mind a három koordináta adatával. Menet marása körinterpolációval (3.56. ábra). A menetmaró szerszámnak a mozgásviszonya utánozza a menet keletkezésének módját. A szerszám forgó körinterpolációs mozgásához egy tengelyirányú mozgás járul, ezek eredıje a menetemelkedésnek megfelelı elmozdulás. A marón a fogak geometriája alakítja ki a menetárkot.
3.57. ábra. A menetemelkedés marásának mozgásai a) jobbos; b) balos A 3.58 a ábrán a jobbos emelkedéső menet, a 3.58 b ábrán a balos emelkedéső menet megmunkálásához szükséges mozgások láthatók. A menet megmunkálását a 3.58 a ábra szemlélteti. A szerszámmal megközelítjük a munkadarabot, elıtoló mozgással érjük el a menetmélységet. A kellı menetmélység elérése után indítható a körinterpoláció és a Z tengely irányú egyenes elıtoló mozgás. Ha elérjük a szükséges menethosszat, akkor a szerszámot szintén elıtolással kiemeljük a fogásból. Ha több-bekezdéső menetet kell marni, akkor a 3.58 b ábrán látható módon többször, a menet bekezdéseinek megfelelıen ismételjük a menetmarást. A körinterpoláció indításának helyét úgy kell meghatározni, hogy a kört - a munkadarab hengeres részének a kerületét - felosztjuk a bekezdések számától függıen egész részekre, és ezeknek a részeknek a kerületen lévı pontjait tekintjük kiindulási pontnak.
55
CNC-programozás alapjai
a) b) 3.58. ábra. A menetmarás végrehajtása
3.5
Ellenırzı kérdések
Ismertesse a gyártási folyamat információ áramlását! Az ábécé betői közül melyeket használhatjuk a DIN 66025 programozási szabvány szerint? Milyen kódokat nevezünk programtechnikai utasításnak (segédfunkciónak)? Milyen speciális karaktereket ismer, mire használjuk ıket? Mi a szerepük az útinformációt meghatározó kódoknak? Milyen interpolációs paraméterek vannak? Ismertesse a technológiai utasítások kódjait! Melyek a mondatfelépítés szabályai? Hogyan épül fel a fıprogram? Mit nevezünk ciklusnak? Mutasson be gyakran használatos megmunkálást mint ciklust! Mit nevezünk szubrutinnak? Hogyan szervezi a szubrutint a program írása során? Mi az alprogram fogalma? Mutasson példát az alprogram alkalmazására! Mi a paraméteres alprogram? Mutasson példát a paraméteres alprogram alkalmazására! A fúrógépen alkalmazott megmunkálásoknak melyek a közös jellemzıik? Ismertesse a csúcsfészek és központfurat megmunkálását! Ismertesse a zsákfurat telibe fúrását és programozását! Mi a különbség a zsákfurat és az átmenıfurat telibe fúrása között? Hogyan programozzuk a különféle süllyesztések megmunkálását? Hogyan kell a menetfúrást elvégezni, és hogyan kell programozni? Hogyan végzi a dörzsölést, és hogyan programozza? Mi a furatesztergálás lényege, és hogyan programozza? Hogyan nagyoljuk és simítjuk a külsı hengeres felületeket? Miben különbözik a belsı hengeres felület megmunkálása a külsı hengeres felületétıl? Hogyan munkálja meg a külsı és a belsı homlokfelületet? Hogyan munkálja meg a kúpfelületet? Ismertesse a különbözı beszúrások készítését, milyen mozgásokkal végezzük el? Hogyan végzi el a különféle alászúrásokat? Ismertesse a menetesztergálást és programozást! Hogyan munkálunk meg síkfelületet? Hogyan marunk sarokfelületet? Mi a kontúrpalást-felület, hogyan munkálja meg? Ismertesse a horonymarás módozatait és mozgásait! Miben különbözik a fenéksüllyesztés marógépen és fúrógépen végezve? Hogyan kell elvégezni a háromtengelyes egyenes marást? 56
CNC-programozás alapjai
Hogyan lehet marógépen menetet megmunkálni? Milyen interpolációkat kell egyidejőleg a menetmaráskor használni? Hogyan kell menetet marni háromtengelyes megmunkálással? Hogyan mar több-bekezdéső menetet CNC- marógépen?
57
CNC-programozás alapjai
4 IRODALOM Dr. Angyal Béla - Dr. Dobor Lászlóné - Dr. Palásti Kovács Béla - Sípos Sándor: A forgácsolás és szerszámai. Mőszaki Könyvkiadó, Budapest, 1988. Czéh Mihály - Cselle Tibor: Szerszámgépek számjegyes programvezérlése. Mőszaki Könyvkiadó, Budapest, 1982. Czéh Mihály - Hervay Péter: NC-gépek programozása. I-II. SZTÁV. Budapest, 1982. Czéh Mihály - Hervay Péter: MAZAK gyártócella a Bánki Donát Mőszaki Fıiskolán. Gépgyártástechnológia, 1995. december Csányi Egon: NC-technika a gyakorlatban. Mőszaki Könyvkiadó, Budapest, 1974. Farkas Emil: Bevezetés az NC-gépek programozásába. Mőszaki Könyvkiadó, Budapest, 1981. Farkas János - Dr. Héberger Károly - Dr Ránky Miklós - Rezek Ödön - Tóth István: A gépgyártás technológiája II. Tankönyvkiadó, Budapest, 1972. Fogel László: Alkalmazástechnikai továbbképzés. Szerszámgép - Programozási Egyesülés, Budapest, 1978. Dr. Héberger Károly - Iliász Dimitrisz - Dr. Kalászi István - Rezek Ödön - Tóth István: A gépgyártás technológiája III. Tankönyvkiadó, Budapest, 1975. Hervay Péter: HUNOR PNC 722 vezérlés programozása. BDGMF. 1990. NCT 90M programozási leírás. NC Technika Kft., 1996. Sautter: NC-szerszámgépek programozása. Mőszaki Könyvkiadó, Budapest, 1988. Hermann Wellers - Norbert Kerp - Fritz Lieberwirth: Bevezetés a CNC-gépek programozásába. Mőszaki Könyvkiadó, Budapest, 1987. Weck, Manfred: Werkzeukmaschinen Band 1, Band 2, Band 3, Band 4. VDI Verlag Düsseldorf, 1978.
58