Sunteți pe pagina 1din 200

NCT 99M NCT 2000M

Comenzi numerice pentru maini de frezat i centre de prelucrare

Manualul programatorului

Produs al firmei NCT Automation kft. H1148 Budapest Fogarasi no. 5 -7 Mail : 1636 Bp.pf. : 26 Telefon: (+36 1) 467 63 00 Fax : (+36 1) 363 66 05 E-mail: nct@nct.hu Internet: http://www.nct.hu 2

Cuprins
1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Programul pies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cuvnt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lista de adrese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bloc (linie de program) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Numr de program i Nume de program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . nceput de program i Sfrit de program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatul programului n memorie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatul programului n comunicaia cu dispozitivele externe. . . . . . . . . . . . . . . Program principal i subprogram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canal DNC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Termeni fundamentali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Axele controlate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Numele axelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Sistemul de uniti i incremente ale axelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Funcii pregtitoare (coduri G) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Interpolarea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Poziionarea (G00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Interpolarea liniar (G01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Interpolarea circular i spiral (G02, G03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Interpolarea elicoidal (G02, G03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Filetarea cu pas constant (G33). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Interpolarea n coordonate polare (G12.1, G13.1) . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Interpolarea cilindric (G7.1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Datele de intrare pentru coordonate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Programarea absolut i incremental (G90, G91), operatorul I. . . . . . . . . . . . . . . 5.2 Comanda pentru date n coordonate polare (G15, G16) . . . . . . . . . . . . . . . . . . . . . 5.3 Conversia inci/metric (G20,G21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Specificare i gama de valori a datelor de coordonat . . . . . . . . . . . . . . . . . . . . . . 5.5 Reducerea msurii axelor de rotaie la 0360 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Avansul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Avansul rapid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Valoarea avansului de prelucrare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Avansul pe minut (G94) i avansul pe rotaie (G95) . . . . . . . . . . . . . . . . . . 6.2.2 Limitarea superioar a avansului de prelucrare. . . . . . . . . . . . . . . . . . . . . . . 6.3 Accelerarea/frnarea automat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Funciile de control a avansului. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Oprire precis (G09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Modul tiere precis (G61) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.3 Modul tiere continu (G64). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.4 Modul inhibare corecie i stop (filetare) (G63) . . . . . . . . . . . . . . . . . . . . . . 6.4.5 Corecia automat la col (G62) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 9 10 10 10 10 10 10 11 12 17 17 17 19 22 22 22 24 27 29 31 35 38 38 38 40 40 41 45 45 45 46 47 48 49 49 49 50 50 50 3

6.4.6 Corecia tierii circulare interioare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ntrzierea (G04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Punctul de referin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Revenirea automat n punctul de referin (G28) . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Revenirea automat n punctele de referin 2, 3, 4 (G30) . . . . . . . . . . . . . . . . . . . 8.3 Revenirea automat din punctul de referin (G29) . . . . . . . . . . . . . . . . . . . . . . . . 9 Sisteme de coordonate, Selectarea planului. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Sistemul de coordonate al mainii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Impunerea sistemului de coordonate al mainii. . . . . . . . . . . . . . . . . . . . . . . 9.1.2 Poziionarea n sistemul de coordonate al mainii (G53) . . . . . . . . . . . . . . . 9.2 Sistemul de coordonate de lucru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Impunerea sistemului de coordonate de lucru. . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Selectarea sistemului de coordonate de lucru. . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 Impunerea programat a ofsetului punctului de zero de lucru. . . . . . . . . . . . 9.2.4 Crearea unui nou sistem de coordonate de lucru (G92) . . . . . . . . . . . . . . . . 9.3 Sistemul de coordonate local. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Selectarea planului (G17, G18, G19) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Funcia rotire arbore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1 Comanda vitezei arborelui (codul S). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Programarea controlului vitezei periferice constante . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Comanda controlului vitezei periferice constante (G96, G97) . . . . . . . . . . 10.2.2 Limitarea vitezei periferice constante (G92). . . . . . . . . . . . . . . . . . . . . . . . 10.2.3 Selectarea unei axe pentru controlul vitezei periferice constante. . . . . . . . 10.3 Reacia de poziie a arborelui. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Oprirea orientat a arborelui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5 Poziionarea arborelui (indexarea) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6 Detectarea fluctuaiei vitezei arborelui (G25, G26) . . . . . . . . . . . . . . . . . . . . . . . 11 Funcia schimbare scul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Comanda de selectare scul (codul T). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Formatul de program pentru programarea numrului sculei . . . . . . . . . . . . . . . . 12 Funcii diverse (M) i auxiliare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 Funcii diverse (coduri M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Funcii auxiliare (coduri A, B, C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Succesiunea de executare a funciilor M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Configurarea programului pies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1 Numr de secven (adres N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Salt de bloc condiional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3 Program principal i subprogram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.1 Apelarea subprogramului. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.2 Revenirea dintr-un subprogram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.3 Salt n interiorul programului principal. . . . . . . . . . . . . . . . . . . . . . . . . . . .

51 52 53 53 54 54 56 56 56 56 57 57 58 59 59 60 62 64 64 64 65 65 66 66 66 67 67 70 70 70 72 72 73 73 74 74 74 74 74 75 77

14 Compensarea sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1 Referirea la valorile de compensare a sculei (H i D). . . . . . . . . . . . . . . . . . . . . . 14.2 Modificarea valorilor de compensare a sculei din program (G10) . . . . . . . . . . . . 14.3 Compensarea lungimii sculei (G43, G44, G49) . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4 Ofsetul sculei (G45G48). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5 Compensarea sculei (G38, G39, G40, G41, G42) . . . . . . . . . . . . . . . . . . . . . . . . 14.5.1 Pornirea compensrii sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.2 Reguli de compensare a sculei n modul ofset. . . . . . . . . . . . . . . . . . . . . . . 14.5.3 Anularea modului ofset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.4 Schimbarea direciei ofsetului n modul ofset. . . . . . . . . . . . . . . . . . . . . . . 14.5.5 Programarea reinerii vectorului (G38) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.6 Programarea arcelor de col (G39) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.7 Informaii generale privind executarea compensrii sculei. . . . . . . . . . . . . 14.5.8 Interferene la compensarea sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6 Ofsetul tridimensional al sculei (G41, G42) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6.1 Programarea ofsetului tridimensional al sculei (G40, G41, G42) 14.6.2 Vectorul de ofset tridimensional 15 Transformri speciale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1 Rotaia sistemului de coordonate (G68, G69) . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Modificarea la scar (G50, G51) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3 Imagine n oglind programabil (G50.1, G51.1) . . . . . . . . . . . . . . . . . . . . . . . . 15.4 Reguli de programare a transformrilor speciale. . . . . . . . . . . . . . . . . . . . . . . . . . 16 Calcule geometrice automate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1 Programarea teirii i a rotunjirii colurilor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2 Specificarea liniei drepte prin unghi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3 Calculul interseciei n planul selectat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.1 Intersecia liniar liniar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.2 Intersecia liniar circular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.3 Intersecia circular - liniar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.4 Intersecia circular - circular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.5 nlnuirea calculrilor interseciilor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Cicluri memorate pentru gurire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1 Descrierea detaliat a ciclurilor memorate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.1 Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului (G73) 17.1.2 Ciclu de filetare n sens antiorar (G74) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.3 Ciclu de alezare fin (G76) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.4 Ciclu memorat pentru anularea guririi (G80) . . . . . . . . . . . . . . . . . . . . . . 17.1.5 Gurire, ciclu de alezare parial (G81) . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.6 Gurire, ciclu de alezare la retragere (G82) . . . . . . . . . . . . . . . . . . . . . . . . 17.1.7 Ciclu de gurire cu retrageri pentru ruperea panului (G83) . . . . . . . . . . . 17.1.8 Ciclu de filetare cu tarod (G84) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.9 Cicluri de filetare rigid cu tarod (n sens orar i antiorar) (G84.2, G84.3) 17.1.10 Ciclu de alezare (G85) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.11 Ciclu de alezare cu retragerea sculei cu avans rapid (G86) . . . . . . . . . . . 17.1.12 Ciclu de alezare /ciclu de alezare la retragere (G87) . . . . . . . . . . . . . . . . 17.1.13 Ciclu de alezare (operare manual n punctul de fund) (G88) . . . . . . . . .

78 78 79 80 81 85 87 91 95 97 99 100 101 107 112 112 113 114 114 116 117 118 120 120 121 131 131 124 127 129 131 132 138 138 139 140 141 141 142 143 144 145 148 149 150 152

17.1.14 Ciclu de alezare (ntrziere n punctul de fund, retragere cu avans de lucru) (G89) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2 Note cu privire la folosirea ciclurilor memorate pentru gurire. . . . . . . . . . . . . .

153 153

18 Funcii de msurare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 18.1 Funcia de salt (G31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 18.2 Msurarea automat a lungimii sculei (G37) . . . . . . . . . . . . . . . . . . . . . . . . 156 19 Funcii de siguran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1 Verificarea programabil a cursei (G22,G23) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2 Poziiile de sfrit de curs parametrice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3 Verificarea cursei naintea micrii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Macro utilizator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1 Apelul macro simplu (G65) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2 Apel macro modal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2.1 Apel macro modal n fiecare comand de micare (G66) . . . . . . . . . . . . . 20.2.2 Apel macro modal din fiecare bloc (G66.1) . . . . . . . . . . . . . . . . . . . . . . . . 20.3 Apelul macro utilizator folosind codul G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.4 Apelul macro utilizator folosind codul M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.5 Apelul de subprogram cu codul M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.6 Apelul de subprogram cu codul T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.7 Apelul de subprogram cu codul S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.8 Apelul de subprogram cu codurile A, B, C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.9 Diferene ntre apelul unui subprogram i apelul unui macro. . . . . . . . . . . . . . . . 20.9.1 Apeluri multiple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.10 Formatul corpului macro utilizator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.11 Variabile ale limbajului de programare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.11.1 Identificarea unei variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.11.2 Referirea la o variabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.11.3 Variabile vacante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.11.4 Formatul numeric al variabilelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.12 Tipuri de variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.12.1 Variabile locale (de la #1 la #33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.12.2 Variabile comune (de la #100 la #199, de la #500 la #599) . . . . . . . . . . . 20.12.3 Variabile de sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.13 Instruciuni ale limbajului de programare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.13.1 Definiie, nlocuire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.13.2 Operaii aritmetice i funcii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.13.3 Operaii logice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.13.4 Ramificare necondiionat: GOTOn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.13.5 Ramificare condiionat: IF[<expresia condiiei>] GOTOn. . . . . . . . . . . 20.13.6 Instruciune condiionat: IF[<expresia condiiei>] THEN. . . . . . . . . . . . 20.13.7 Iteraie: WHILE[<expresia condiiei>] DOm ENDm . . . . . . . . . . . . . 20.13.8 Comenzi de ieire date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.14 Instruciuni NC i instruciuni macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.15 Desfurarea n timp a execuiei instruciunilor NC i macro. . . . . . . . . . . . . . . 20.16 Afiarea macro i a subprogramelor n modul automat . . . . . . . . . . . . . . . . . . . 20.17 Folosirea butonului STOP n timpul execuiei unei instruciuni macro . . . . . . . 20.18 Ciclul macro de frezare n adncime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 158 158 159 160 161 161 162 162 163 164 164 165 166 166 166 167 167 169 169 169 169 170 170 171 171 171 172 180 180 181 184 185 185 185 185 188 191 191 192 192 193

Note. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index n ordine alfabetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

197 198

27 Noiembrie 2001

Copyright NCT 22martie, 2001 Editorul i rezerv toate drepturile pentru coninutul acestui manual. Nu este permis tiprirea nici chiar n extrase fr aprobarea n scris. Textul acestui manual a fost compilat i verificat cu mare grij, totui nu ne asumm responsabilitatea unor posibile erori sau a unor informaii eronate care pot conduce la pagube sau prejudicii.

1 Introducere

1 Introducere
1.1 Programul pies Programul pies este un set de instruciuni care pot fi interpretate de ctre comanda numeric pentru a putea controla operarea mainii. Programul pies const din blocuri, care sunt compuse din cuvinte. Cuvnt: Adres i Dat Fiecare cuvnt este alctuit din dou pri o adres i o dat. Adresa are unul sau mai multe caractere, data este o valoare numeric (un ntreg sau o valoare zecimal). Anumitor adrese li se poate da un semn sau un operator I. Lista de adrese:
Adresa O / N G X, Y, Z, U, W A, B, C R I, J, K E F S M T H, D L P Q ,C ,R ,A ( numr program bloc opional numrul blocului funcie pregtitoare lungimile coordonatelor coordonate unghiulare, lungimile coordonatelor, funcii auxiliare raz cerc, dat auxiliar coordonatele centrului cercului, coordonat auxiliar coordonat auxiliar vitez de avans vitez de rotire arbore funcii diverse numr scul numrul celulei de compensare lungime i raz numr de repetri dat auxiliar, timp de ntrziere dat auxiliar distan de teire raza de filetare unghiul n linie dreapt comentariu Semnificaie Limitele valorii 0001 - 9999 1-9 1 - 99999 * I, -, * I, -, * I, -, * -, * -, * * * 1 999 1 9999 1-99 1 - 9999 -, * -, * -, * -, * -, * *

La o adres marcat cu * n coloana Limitele valorii, data poate avea i o valoare cu zecimale. La o adres marcat cu I i - , se poate introduce fie un operator incremental fie un semn. 9

1 Introducere Semnul pentru valoare pozitiv + nu este indicat i nici nu se memoreaz. Bloc (linie de program) Un bloc este compus din cuvinte. Blocurile sunt separate n memorie prin caractere / ) (Line Feed = avans linie). Folosirea unui numr de bloc nu este obligatorie. Pentru a distinge pe ecran sfritul unui bloc de nceputul altui bloc, fiecare bloc nou va ncepe pe o alt linie, cu caracterul > plasat la nceputul su; n cazul unui bloc mai lung dect un rnd, n fiecare rnd nou cuvintele vor ncepe cu caracterul linie. Numr de program i Nume de program Numrul programului i numele programului sunt folosite pentru a identifica programul. Folosirea unui numr de program este obligatorie, cea a numelui de program nu este. Adresa unui numr de program este O. Ea trebuie s fie urmat de exact patru cifre. Numele programului este o secven arbitrar de caractere (ir) puse ntre semnele de deschidere i de nchidere paranteze ( ) . Poate avea maxim 16 caractere. Numrul programului i numele programului sunt separate prin caractere / ) (Line Feed = avans linie) de celelalte blocuri de program aflate n memorie. n cursul editrii, numrul programului i numele programului vor fi afiate invariabil n prima linie. n memorie nu pot exista dou programe cu acelai numr. nceput de program i Sfrit de program Fiecare program ncepe i se sfrete cu caracterele %. n cursul editrii programului pies, caracterul de terminare a programului este plasat invariabil dup ultimul bloc pentru a se asigura c chiar i n cazul unei cderi a alimentrii cu energie electric pe timpul editrii, se pstreaz condiia de terminare a programului. Formatul programului n memorie Programul stocat n memorie este un set de caractere ASCII. Formatul programului este:
%O1234( NUME PROGRAM) / ... / ) ... / ) N1G40...M2 / ) %
)

/1N12345G1X0Y... /
)

G2Z5... /
)

.... /
)

n secvena de caractere de mai sus, / ) este caracterul avans de linie, % este nceputul (i sfritul) de program. Formatul programului n comunicaia cu dispozitivele externe Cele spuse mai sus se aplic i n cazul comunicaiei cu un dispozitiv extern. Program principal i subprogram Programele pies pot fi mprite n dou grupe principale programe principale, i subprograme.

10

1 Introducere Procedura de prelucrare a unei piese este descris n programul principal. Dac pe parcursul prelucrrii trebuie executate aceleai operaii n diverse locuri, nu este necesar ca acele seciuni de program care descriu operaiile respective s fie scrise de mai multe ori n programul principal, ci trebuie scris un subprogram, care poate fi apelat din orice loc (chiar i din alt subprogram). Utilizatorul poate reveni din subprogram n programul care a fcut apelul. Canal DNC Se poate executa i un program care se afl memorat pe o unitate extern (de exemplu pe un calculator PC), fr ca programul s se memoreze n comanda numeric. n acest caz comanda numeric n loc s citeasc programul din memoria proprie l va citi din mediul de stocare extern prin intermediul interfeei RS232C. Se face referire la aceast legtur ca fiind Canal DNC. Aceast metod este folositoare ndeosebi atunci cnd se execut programe prea mari pentru a fi coninute n memoria comenzii numerice. Canalul DNC este un canal de transfer de date controlat cu protocol, dup cum se arat mai jos. Comand: Echipament:

Prescurtrile de mai sus au urmtoarele semnificaii (i codurile lor ASCII): BEL (7): Comanda cere emitorului s stabileasc comunicaia. Comanda trimite BEL din nou dac nu primete ACK ntr-o perioad definit de timp. ACK (6): Confirmare. NAK (21): Transfer de date eronat (de exemplu defeciune hardware pe linie sau eroare BCC). Transferul BLOCULUI trebuie repetat. DC1 (17): Trebuie pornit transferul urmtorului BLOC. DC3 (19): ntreruperea comunicrii. BLOCK: - n principal un bloc NC (incluznd caracterul de terminare linie / ) ) i suma de control pn n acel loc (BCC) stocat pe 7 bii ca ultimul byte al blocului (bitul 7, cel mai semnificativ, al BCC este ntotdeauna 0). n bloc nu poate fi coninut nici un caracter ASCII cu cod mai jos dect SPACE (32) inclusiv. - EOF (26) (End Of File = sfrit fiier), un semnal este transferat de ctre echipament (emitor) pentru a ntrerupe comunicaia. Pentru modul DNC, se impune pentru cel de al doilea canal fizic (numai acesta se poate folosi drept canal DNC) modul 8 bii cu paritate par. Un program principal executat din canalul DNC poate avea doar o secven liniar. Aceasta nu se aplic la subprograme sau macro (dac a fost apelat vreunul), totui acestea trebuie s fie coninute n memoria comenzii numerice. n cazul unei ramificaii de la secvena liniar n programul principal (GOTO, DO WHILE), comanda numeric va transmite mesajul 3058 NOT IN DNC (3058 Nu se afl n DNC). Dac comanda numeric detecteaz o eroare de BLOCK i declar NAK, trebuie s fie repetat BLOCUL.

11

1 Introducere 1.2 Termeni fundamentali Interpolarea Sistemul de control poate deplasa scula n timpul prelucrrii de-a lungul unor linii drepte sau a unor arce. n continuare se va face referire la aceste activiti ca fiind interpolare. Micarea sculei pe o linie dreapt: Program: G01 Z___ X__ Z___

Micarea sculei pe un arc: Program: G02 X___ Z___ R___

Funcii pregtitoare (coduri G) Tipul de activitate care urmeaz s fie executat de ctre un bloc este descris prin folosirea funciilor pregtitoare (la care se face referire ca fiind codurile G). De exemplu codul G01 introduce o interpolare liniar. Avans Termenul avans se refer la viteza sculei relativ la piesa de prelucrat pe durata procesului de tiere. Avansul dorit se poate specifica n program la adresa F i cu o valoare numeric. De exemplu F150 semnific 150 mm/min.

Punct de referin Punctul de referin este un punct fix de pe maina unealt. Dup cuplarea la reea a mainii, 12

1 Introducere axele trebuie s fie deplasate n punctul de referin. Dup aceea sistemul de control va fi capabil s interpreteze i datele de coordonate absolute. Sistem de coordonate Dimensiunile indicate n desenul piesei sunt msurate dintr-un anumit punct al piesei. Acel punct este originea sistemului de coordonate al piesei. Aceste date dimensionale trebuie s fie scrise la adresa coordonatei n programul pies. De exemplu X340 nseamn un punct cu coordonatele 340 mm n sistemul de coordonate al piesei.

Sistemul de coordonate specificat n care comanda numeric interpreteaz poziiile este diferit de sistemul de coordonate al piesei. Pentru executarea unei piese corecte, trebuie impus aceeai origine pentru cele dou sisteme de coordonate n comanda numeric. Aceasta se poate face de exemplu prin deplasarea centrului sculei ntr-un punct al piesei cu poziie cunoscut i impunerea sistemului de coordonate al comenzii numerice la acea valoare.

13

1 Introducere Specificarea coordonatei absolute Cnd sunt specificate coordonate absolute, scula se deplaseaz pe o distan msurat de la originea sistemului de coordonate, adic ntrun punct a crui poziie a fost specificat prin coordonate. Codul specificrii de dat absolut este G90. Blocul G90 X50 Y80 Z40 va deplasa scula n punctul din poziia de mai sus, indiferent de poziia sa nainte de a se da aceast comand.

Specificarea coordonatei incrementale n cazul unei specificri incrementale a datei, sistemul de control va interpreta coordonata astfel nct scula se va deplasa cu o distan msurat din punctul n care se afl n acel moment. Codul specificrii de dat incrementale este G91. Codul G91 se refer la toate valorile coordonatei. Blocul: G91 X70 Y-40 Z-20 va deplasa scula pe distana respectiv ncepnd din poziia anterioar. O dat incremental poate fi definit i ca referindu-se doar la o singur coordonat. Pentru aceasta se introduce caracterul I dup adresa coordonatei. n blocul: G90 XI-70 Y80 Z40 data pentru X va fi interpretat ca o valoare incremental, n timp ce datele pentru Y i Z sunt interpretate ca i coordonate absolute pentru codul G90. Funciile modale Anumite coduri sunt active pn cnd este specificat un alt cod sau valoare. Acestea sunt coduri modale. De exemplu, n secvena de program: N15 G90 G1 X20 Y30 F180 14

1 Introducere N16 X30 N17 Y100 codul G90 (specificare de dat absolut) i valoarea F (avans), specificate n blocul N15, vor fi modale n blocurile N16 i N17. Astfel nu mai este necesar s se specifice aceste funcii n fiecare dintre blocurile urmtoare. Funciile cu o singur execuie (nemodale) Anumite coduri sau valori sunt active doar n blocul n care sunt specificate. Acestea sunt funcii cu o singur execuie. Comanda vitezei arborelui Viteza arborelui poate fi specificat la adresa S. Este denumit i funcia S. Instruciunea S1500 impune o rotire a arborelui la viteza de 1500 rot/min. Funcia Schimbare scul n decursul prelucrrii, pentru operaiile executate trebuie folosite diverse scule. Sculele sunt difereniate prin numere. Se face referire la scule folosind codul T. Instruciunea T25 n program, nseamn c trebuie schimbat scula nr.25. Schimbarea sculei se poate face manual sau automat, funcie de construcia mainii. Funcii diverse n decursul prelucrrii trebuie executate un numr de operaii de pornire sau oprire. De exemplu pornirea arborelui principal sau pornirea lichidului de rcire. Aceste operaii pot fi executate cu funciile M (diverse). Ca exemplu n irul de instruciuni M3 M8 M3 semnific rotire arbore n sens orar iar M8 semnific pornirea lichidului de rcire. Compensarea lungimii sculei n cursul prelucrrii sunt folosite scule de diferite lungimi pentru operaii diferite. Pe de alt parte, n producia de serie, o anumit operaie se poate executa cu scule de lungimi diferite (de exemplu cnd se rupe scula). n scopul de a face micrile descrise n programul pies independente de lungimea sculei, trebuie impuse n comanda numeric diversele lungimi ale sculelor. Dac prin program se impune deplasarea vrfului sculei ntr-un punct specificat, trebuie s fie apelat valoarea lungimii sculei respective. Aceasta se face la adresa H. De exemplu instruciunea H1 face referire la data de lungime nr.1. Apoi comanda numeric deplaseaz vrful sculei n punctul specificat. Aceast procedur este referit ca impunere a modului compensare a lungimii sculei.

15

1 Introducere Compensarea razei sculei Prelucrarea unei piese trebuie executat cu scule de raze diferite. Compensarea razei trebuie introdus pentru a scrie datele conturului real n programul pies, i nu pe cele ale traiectoriei centrului sculei (lund n considerare razele sculelor). Valorile compensrii razei trebuie introduse n comanda numeric. n continuare, n program, se poate face referire la compensarea razei sculei la adresa D din program.

Compensarea uzurii n decursul prelucrrii sculele se uzeaz. Se poate stabili o relaie ntre uzur i modificrile dimensionale ale sculei (n lungime ca i n raz). Se poate impune uzura sculei n comanda numeric. Pentru fiecare grup de compensare (la care se face referire la adresele H sau D) avem o valoare a geometriei, adic lungimea i raza iniial a sculei, i o valoare a uzurii. Cnd se impune compensarea, comanda numeric va compensa micarea cu suma celor dou valori.

16

2 Axele controlate

2 Axele controlate
Numrul de axe (n configuraia de baz) n configuraie extins Numrul de axe care pot fi micate simultan 3 axe 5 axe adiionale (8 axe n total) 8 axe (cu interpolare liniar)

2.1 Numele axelor Numele axelor controlate poate fi definit n parametrii memoriei. Fiecare adres poate fi atribuit uneia din axele fizice. n configuraia de baz, numele axelor pentru o comand numeric de frez sunt X, Y i Z. Numele axelor adiionale (extindere) depind de tipurile lor. Nume posibile pentru axele de extindere care execut deplasri liniare sunt: U, V i W. Atunci cnd sunt paralele cu axele principale X, Y, i Z, numele lor vor fi respectiv U, V si W. Axele care execut micri de rotaie sunt denumite A, B i C. Axele de rotaie a cror ax este paralel la direciile X, Y i Z sunt denumite respectiv A, B i C.

2.2 Sistemul de uniti i incremente ale axelor Datele coordonatelor pot fi specificate cu opt cifre. Ele pot avea i semn. Semnul pozitiv + este omis. Datele de introducere a lungimii pot fi specificate n mm sau inci. Acestea sunt uniti de introducere pentru msur. Unitatea dorit poate fi selectat prin program. Sistemul de msurare a traiectoriei al mainii, poate msura poziia n mm sau n inci. Acesta va determina unitatea de msur de ieire, care trebuie s fie specificat n comanda numeric ca un parametru. Cele dou sisteme de uniti de msur nu pot fi combinate pe axele aceleeai maini. n cazul n care s-au impus uniti de msur diferite pentru datele de intrare i de ieire, comanda numeric va face conversia n mod automat. Pentru axele de rotaie, msura este ntotdeauna considerat n grade.

17

2 Axele controlate Sistemul de increment de intrare al comenzii numerice este considerat ca fiind cea mai mic unitate care poate fi introdus. Aceasta poate fi selectat ca un parametru. Sunt disponibile trei sisteme de incremente IS-A, IS-B I IS-C. Sistemele de incremente nu pot fi combinate pentru axele aceleeai maini. Dup ce a procesat datele de intrare, comanda numeric va furniza noua traiectorie pentru deplasarea axelor. Rezoluia lor este ntotdeauna dublul incrementului sistemului de intrare ales. Acesta este denumit sistemul de increment de ieire al comenzii numerice. Practic sistemul de increment de intrare al comenzii numerice este determinat de ctre rezoluia codorului de poziie.
Sistemul de increment Unitatea minim care poate fi introdus 0.01 mm IS-A 0.001 inci 0.01 grade 0.001 mm IS-B 0.0001 inci 0.001 grade 0.0001 mm IS-C 0.00001 inci 0.0001 grade Unitatea maxim care poate fi introdus 999999.99 mm 99999.999 inci 999999.99 grade 99999.999 mm 9999.9999 inci 99999.999 grade 9999.9999 mm 999.99999 inci 9999.9999 grade

18

3 Funcii pregtitoare (coduri G)

3 Funcii pregtitoare (coduri G)


ntr-un bloc, tipul de comand va fi determinat de adresa G i de numrul care urmeaz. Tabelul urmtor conine codurile G interpretate de comanda numeric, grupele i funciile pe care le conin.
Cod G G00* G01* G02 G03 G04 G05.1 G07.1 G09 G10 G11 G12.1 G13.1 G15* G16 G17* G18* G19 G20 G21 G22* G23 G25* G26 G28 G29 G30 G31 G33 G37 G38 G39 00 01 0 06 04 8 02 26 17 00 01 Grupa Poziionare Interpolare liniar Interpolare circular, elicoidal n sens orar (CW) Interpolare circular, elicoidal n sens antiorar (CCW) ntrziere Modul multi bufer activ Interpolare cilindric Oprire precis (n blocul dat) Impunere dat (programat) Anulare impunere dat programat Interpolarea n coordonate polare activat Interpolarea n coordonate polare dezactivat Anulare comand de coordonate polare Comand de coordonate polare Selectarea planului XpYp Selectarea planului ZpXp Selectarea planului YpZp Intrare n inci Intrare n metric Activarea funciei de verificare programabil a cursei Dezactivarea funciei de verificare programabil a cursei Dezactivarea deteciei fluctuaiei vitezei arborelui Activarea deteciei fluctuaiei vitezei arborelui ntoarcere programat n punctul de referin Revenire din punctul de referin Revenire la primul, al doilea, al treilea i al patrulea punct de referin Funcia de salt Filetare Msurarea automat a lungimii sculei pe Z Reinerea vectorului de compensare a sculei Compensarea sculei la arcele de col 31 31 38 38 61 61 61 40 40 157 157 66 66 52 53 53 154 29 155 99 99 35 48 58, 78 Funcia Pagina 22 22 24 24 51

19

3 Funcii pregtitoare (coduri G)


Cod G G40* G41 G42 G43* G44* G45 G46 G47 G48 G49* G50* G51 G50.1* G51.1 G52 G53 G54* G55 G56 G57 G58 G59 G61 G62 G63 G64* G65 G66 G66.1 G67 G68 G69* G73 G74 G76 G80* 01 16 15 14 08 11 18 00 08 07 Grupa Funcia Anularea compensrii razei / tridimensionale a sculei Compensarea razei sculei la stnga / compensarea tridimensional a sculei Compensarea razei sculei la dreapta Compensarea lungimii sculei + Compensarea lungimii sculei Creterea ofsetului sculei Descreterea ofsetului sculei Creterea dubl a ofsetului sculei Descreterea dubl a ofsetului sculei Anularea compensrii lungimii sculei Anulare modificare la scar Modificare la scar Anulare imagine n oglind programabil Imagine n oglind programabil Impunere sistem de coordonate local Poziionare n sistemul de coordonate al mainii Selectare sistem de coordonate de lucru 1 Selectare sistem de coordonate de lucru 2 Selectare sistem de coordonate de lucru 3 Selectare sistem de coordonate de lucru 4 Selectare sistem de coordonate de lucru 5 Selectare sistem de coordonate de lucru 6 Modul tiere precis Modul corecie automat la col Inhibare corecii Tiere continu Apel macro simplu Apel macro modal (A) n fiecare comand de micare Apel macro modal (B) din fiecare bloc Anulare apel macro modal (A/B) Rotire sistem de coordonate Anulare rotire sistem de coordonate Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului Ciclu de filetare n sens antiorar Ciclu de alezare fin Anulare ciclu memorat Pagina 84

84, 87 84, 87 79 79 80 80 80 80 79 115 115 116 116 59 56 57 57 57 57 57 57 48 49 49 49 160 161 162 161 114 114 137 139 140 141

20

.
Cod G G81 G82 G83 G84 G84.2 G84.3 G85 G86 G87 G88 G89 G90* G91* G92 G94* G95* G96 G97* G98* G99 03 00 05 13 Grupa Gurire, ciclu de alezare parial Gurire, ciclu de alezare la retragere Funcia

3 Funcii pregtitoare (coduri G)


Pagina 141 142 143 144 145 145 148 149 150 152 153 38 38 58 45 45 64 64 133 133

Ciclu de gurire cu retrageri pentru ruperea panului Ciclu de filetare cu tarod Ciclu de filetare rigid cu tarod Ciclu de filetare rigid cu tarod n sens antiorar Ciclu de alezare Ciclu de alezare cu retragerea sculei cu avans rapid Ciclu de alezare /ciclu de alezare la retragere Ciclu de alezare (operare manual n punctul de fund) Ciclu de alezare (ntrziere n punctul de fund, retragere cu avans de lucru) Comand absolut Comand incremental Schimbare coordonate de lucru \ impunere turaie maxim arbore Avans pe minut Avans pe rotaie Controlul vitezei periferice constante Anularea controlului vitezei periferice constante Revenirea sculei la nivelul iniial dup execuia ciclului memorat Revenirea sculei la nivelul punctului R dup execuia ciclului memorat

10

Note: Semnul * care marcheaz codurile G dintr-un grup, reprezint starea n care trece comanda numeric la punerea sub tensiune. Dac ntr-un grup sunt marcate cu * mai multe coduri, se poate impune printr-un parametru codul care va fi activat la punerea sub tensiune. Acestea sunt: G00, G01; G17, G18; G43, G44, G49; G90, G91; G94, G95. La punerea sub tensiune, dintre G20 i G21 va fi activ cea care era impus n momentul decuplrii de la reea. Interpretarea implicit a comenzii G05.1 dup punerea sub tensiune poate fi specificat cu parametrul MULBUF. Codurile G din grupul 00 nu sunt modale; restul codurilor sunt. ntr-un bloc se pot scrie mai multe coduri G cu restricia ca s fie folosit doar unul din grupul cu aceeai funcie. Referirea la un cod G ilegal sau specificarea mai multor coduri G care aparin aceluiai grup n acelai bloc va produce un mesaj de eroare 3005 ILLEGAL G CODE (cod G incorect).

21

4 Interpolarea

4 Interpolarea
4.1 Poziionarea (G00) Seria de instruciuni G00 v se refer la poziionarea n sistemul de coordonate curent. Deplasarea se face la coordonata v. Indicaia v (vector) se refer aici (i pe mai departe) la toate axele controlate folosite pe maina-unealt. (Ele pot fi X, Y, Z, U, V, W, A, B, C). Poziionarea se realizeaz de-a lungul unei linii drepte implicnd micrile simultane ale tuturor axelor specificate n bloc. Coordonatele pot fi date absolute sau incrementale. Viteza de poziionare nu poate fi comandat n program deoarece se realizeaz cu valori diferite pentru fiecare ax, valori impuse de constructorul mainii ca parametri. Atunci cnd sunt micate simultan mai multe axe, este calculat de ctre comanda numeric rezultanta vectorial a vitezei astfel nct s se execute poziionarea n intervalul minim de timp, iar viteza s nu depeasc nicieri parametrul de avans rapid impus pentru fiecare ax. n execuia instruciunii G00, comanda numeric execut accelerri i frnri la nceputul i respectiv sfritul micrilor. La terminarea micrii, comanda numeric va verifica semnalul poziie atins atunci cnd parametrul POSCHECK din cmpul parametrilor este1, sau nu-l va verifica dac parametrul este pus pe 0. Se va atepta apariia semnalului poziie atins timp de 5 secunde i, dac nu ajunge acest semnal se va afia mesajul 1020 POSITION ERROR (eroare de poziie). Deviaia maxim acceptabil de la poziie poate fi specificat n parametrul INPOS. Fiind un cod modal, G00 rmne activ pn cnd este renscris de ctre o alt comand de interpolare. Dup punerea sub tensiune, este activ G00 sau G01, funcie de valoarea impus n grupul de parametri CODES. 4.2 Interpolarea liniar (G01) Seria de instruciuni G01 v F va selecta un mod de interpolare liniar. Data scris pentru v poate fi valoare absolut sau incremental, interpretat n sistemul de coordonate curent. Viteza de deplasare (avansul) poate fi programat la adresa F. Avansul programat la adresa F va fi realizat invariabil de-a lungul traiectoriei programate. Componentele sale axiale sunt: Avansul pe axa X este

22

. Avansul pe axa Y este . Avansul pe axa U este Avansul pe axa C este

4 Interpolarea

unde x, y, u, c sunt deplasrile programate de-a lungul axelor respective, L este lungimea vectorial a deplasrii:

G01 X192 Y80 F150

Avansul de-a lungul unei axe de rotaie este interpretat n uniti de grad pe minut (/min): G01 B270 F120 n blocul de mai sus, F120 semnific 120 grade /minut. Dac sunt combinate prin interpolare liniar o micare rectilinie cu o micare de rotaie, componentele avansului vor fi distribuite n acord cu formula de mai sus. De exemplu n blocul G91 G01 Z100 B45 F120 componentele avansului n direciile Z i B sunt: avansul pe Z

avansul pe B

23

4 Interpolarea

Fiind un cod modal, G01 este activ pn cnd se nscrie cu o alt comand de interpolare. La punerea sub tensiune, este activ fie G00 fie G01, funcie de valoarea impus parametrilor n grupul CODES din cmpul parametrilor. 4.3 Interpolarea circular i spiral

Aceste serii de instruciuni specific interpolarea circular. O interpolare circular este realizat n planul selectat prin comenzile G17, G18, G19 n sens orar sau antiorar (cu G02 respectiv G03).

Aici i pe mai departe, semnificaiile pentru Xp, Yp, i Zp sunt: Xp : axa X sau o ax paralel la ea, Yp : axa Y sau o ax paralel la ea, Zp : axa Z sau o ax paralel la ea. Valorile pentru Xp, Yp, i Zp sunt coordonatele punctului final al cercului n sistemul de coordonate dat, specificate ca date absolute sau incrementale.

24

. Alte date pentru cerc pot fi specificate ntr-unul din urmtoarele dou moduri.

4 Interpolarea

Cazul 1 La adresa R, unde R este raza cercului. Acum comanda numeric va calcula automat coordonatele centrului cercului din coordonatele punctului de start (punctul n care se afl comanda numeric n momentul n care s-a introdus blocul pentru cerc), coordonatele punctului de sfrit (valorile definite la adresele Xp, Yp, i Zp) i din raza cercului programat, R. Deoarece se pot desena dou cercuri diferite cu raza R ntre punctele de nceput i cel de sfrit pentru o direcie de parcurgere dat (G02 sau G03), comanda numeric va interpola un arc mai mic sau mai mare de 180 cnd raza cercului este specificat ca numr pozitiv sau respectiv numr negativ. De exemplu: Seciunea de arc 1: G02 X50 Y40 R40 Seciunea de arc 2: G02 X50 Y40 R-40 Seciunea de arc 3: G03 X50 Z40 R40 Seciunea de arc 4: G03 X50 Z40 R-40 Cazul2 Centrul cercului este specificat la adresele I, J, K pentru axele Xp, Yp, i Zp. Valorile specificate la adresele I, J, K sunt interpretate ntotdeauna ca incrementale de ctre comanda numeric, astfel c vectorul definit cu valorile punctelor I, J, K este ndreptat din punctul de nceput ctre centrul cercului. De exemplu: Cu G17: G03 X10 Y70 I-50 J-20 Cu G18: G03 X70 Z10 I-20 K-50 Cu G19: G03 Y10 Z70 J-50 K-20

25

4 Interpolarea Avansul pe traiectorie poate fi programat la adresa F, fiind ndreptat n direcia tangentei la cerc i meninndu-se constant la parcurgerea traiectoriei. Note: - I0, J0, K0 pot fi omise: G03 X0 Y100 I-100 - Cnd Xp, Yp, i Zp sunt omise toate, sau coordonatele punctului final coincid cu cele ale punctului de start, atunci: a. dac coordonatele centrului cercului sunt programate la adresa I, J, K, comanda numeric va interpola un cerc complet de 360 . Exemplu : G03 I-100 b. dac este programat raza R, comanda numeric afieaz eroarea 3012 ERRONEOUS CIRCLE DEF. R (raza cercului R definit eronat). - Cnd blocul cercului fie a. nu conine nici raza (R) nici I, J, K , b. face referire la adresa I, J, K n afara planului selectat, comanda numeric afieaz eroarea 3014 ERRONEOUS CIRCLE DEF. ( cercul definit eronat). Exemple: G03 X0 Y100, sau (G18) G02 X0 Z100 J-100. - Comanda numeric afieaz mesajul 3011 RADIUS DIFFERENCE (diferen de raz) de cte ori diferena pe raz ntre punctul de pornire i punctul final al cercului definit n blocurile G02, G03 depete valoarea definit n parametrul RADDIF. De cte ori diferena de raz este mai mic dect valoarea specificat n parametrul de mai sus, comanda numeric va deplasa scula de-a lungul unei traiectorii spirale n care raza variaz liniar funcie de unghiul central. Viteza unghiular, i nu cea tangenial la traiectorie va fi constant la interpolarea unui arc de cerc cu raz variabil.

26

. Urmtorul detaliu de program este un exemplu de cum se poate specifica o interpolare spiral (cerc cu raz variabil) prin folosirea adreselor I, K:
G17 G90 G0 X50 Y0 G3 X-20 I-50

4 Interpolarea

Dac raza specificat a cercului este mai mic dect jumtate din distana liniei drepte care interconecteaz punctul de plecare cu cel final, comanda numeric va considera raza specificat a cercului ca raz-punct de plecare i va interpola un cerc cu raz variabil (spiral), al crui punct de plecare este localizat pe linia dreapt care unete punctul de plecare cu cel final, la distana R de punctul de plecare.
G17 G0 G90 X0 Y0 G2 X40 Y30 R10

4.4 Interpolarea elicoidal (G03, G02)

Aceste serii de instruciuni vor defini o interpolare elicoidal. Deosebirea fa de interpolarea circular este cea de a treia ax (q) care nu este o ax component a planului cercului. Comanda numeric va executa doar o deplasare simpl de-a lungul axei q.

27

4 Interpolarea Avansul specificat la adresa F este activ doar pentru traiectoria circular. Componenta Fq de-a lungul axei q este obinut din relaia:

Unde: Lq: deplasare de-a lungul axei q, Larc: lungimea arcului circular, F: avansul programat, Fq: avansul de-a lungul axei q. De exemplu:
G17 G03 X0 Y100 Z20 R100 F150

Seria de instruciuni

definete o interpolare spaial multidimensional n care q, r, s sunt axe opionale care nu sunt implicate n interpolarea circular. De exemplu, seria de instruciuni
G17 G3 X0 Y-100 Z50 V20 I-100

va deplasa scula pe suprafaa unui cilindru oblic, dac V este o ax paralel la Y. Note: - Atunci cnd parametrul HELICALF din cmpul parametrilor este impus 1, comanda numeric va executa avansul programat de-a lungul traiectoriei spaiale. - n cazul n care cercul specificat n planul selectat are raza variabil, interpolarea se va executa de-a lungul suprafeei conului specificat.

28

4 Interpolarea

- Compensarea specificat pentru raza sculei se va face invariabil n planul cercului. 4.5 Filetarea cu pas constant (G33) Instruciunile G33 v F Q G33 v E Q vor defini o filetare cu pas constant cilindric sau conic. Pentru vectorul v pot fi scrise coordonatele a maximum dou axe. Comanda numeric va executa un filet conic dac sunt impuse dou coordonate vectorului v. Comanda numeric va considera c spira se nfoar de-a lungul axei lungi. Dac <45, adic Z>X, se va lua n considerare c spira se nfoar de-a lungul axei Z. Dac >45, adic X>Z, se va lua n considerare c spira se nfoar de-a lungul axei X. Pasul filetului poate fi definit n unul din urmtoarele dou moduri: - dac pasul este specificat la adresa F, data va fi interpretat ca mm/rot sau inci/rot. Astfel, dac trebuie tiat un filet cu pas de 2,5 mm trebuie programat F2.5 . -dac pasul este specificat la adresa E, comanda numeric va executa un filet n inci. Adresa E este interpretat ca numr de spire pe inci. De exemplu, dac e programat E3, se va executa un filet cu pas 1/3=25.4/3=8.4667 mm. Unghiul nceputului filetului este specificat la adresa Q, n grade fa de pulsul de zero al codorului arborelui principal. Printr-o programare adecvat a valorii pentru Q, se poate executa i un filet cu mai multe nceputuri, adic se poate programa comenzii numerice o anumit dispunere a arborelui la care trebuie tiat un anumit nceput al filetului. Dac de exemplu trebuie tiat un filet cu dou nceputuri, primul nceput va fi la Q0 iar al doilea la Q180 (fr nici o alt programare special). G33 este o funcie modal. Dac sunt programate cteva blocuri de filetare n succesiune, filetele pot fi executate n orice suprafa arbitrar limitat de linii drepte.

Comanda numeric este sincronizat la pulsul de zero al codorului arborelui principal n primul bloc, aa c nu se va mai executa nici o sincronizare n blocurile consecutive i va rezulta un filet continuu n fiecare seciune a liniilor. Tot n primul bloc se ia n consideraie i unghiul nceputului filetului (Q) programat.

29

4 Interpolarea Un exemplu de programare a filetrii:


N50 N55 N60 N65 N70 N75 N80 N85 N90 ... G90 G0 X0 Y0 S100 M4 Z2 G33 Z-100 F2 M19 G0 X5 Z2 M0 X0 M4 G4 P2 G33 Z-100 F2

Explicaii: N50, N55 Deplasarea sculei n centrul gurii, pornirea rotirii arborelui n sens antiorar, N60 Primul ciclu de filetare, (pas 2mm), N65 Oprire orientat a arborelui (arborele este oprit ntr-o poziie determinat) N70 Retragerea sculei pe axa X, N75 Retragerea sculei la nceputul gurii, oprire programat, operatorul ajusteaz scula pentru urmtorul ciclu de filetare, N80 Revenire n centrul gurii, repornire arbore, N85 Ateptarea atingerii turaiei de ctre arbore, N90 Al doilea ciclu de filetare. Note: Se va afia mesajul de eroare 3020 DATA DEFINITION ERROR G33 (eroare la definirea datei pentru G33) dac au fost specificate mai mult de dou coordonate simultan n blocul de filetare, sau sunt specificate simultan ambele adrese F i E. Se va afia mesajul de eroare 3022 DIVIDE BY 0 IN G33 (divizare prin 0 n G33) dac s-a specificat 0 pentru adresa E n blocul de filetare. Pentru a putea executa comanda G33 trebuie ca pe arbore s fie montat un codor de poziie. Pe parcursul execuiei comenzii G33, comanda numeric va considera n mod automat valorile coreciilor pentru avansuri i rotire arbore ca fiind 100%; de asemenea tasta stop va avea efect doar dup ce se execut blocul n curs. Cu scopul de a obine un pas constant al filetului pe toat piesa prelucrat, trebuie asigurat curs liber pentru scul la ambele capete ale piesei de prelucrat. n cursul filetrii avansul (n mm/min) nu poate depi valoarea selectat n grupa de parametri FEEDMAX. n cursul filetrii viteza arborelui (n rot/min) nu poate depi valoarea maxim admis pentru codorul de poziie, att din punct de vedere mecanic ct i electric (frecvena maxim la ieire).

30

4.6 Interpolarea n coordonate polare (G12.1, G13.1)

4.6 Interpolarea n coordonate polare (G12.1, G13.1) Interpolarea n coordonate polare este o metod de operare a comenzii numerice, n cazul n care descrierea piesei n sistemul de coordonate carteziene are traiectoria conturului realizat prin deplasarea unei axe liniare i a unei axe de rotaie. Comanda G12.1 activeaz modul de interpolare n coordonate polare. Traiectoria sculei de frezare poate fi descris n programul pies care urmeaz ntr-un sistem de coordonate carteziene n modul obinuit prin programarea interpolrilor liniare i circulare, innd cont de compensarea razei sculei. Aceast comand trebuie s fie dat ntr-un bloc separat i dup ea nu se poate scrie o alt comand. Comanda G13.1 dezactiveaz modul de interpolare n coordonate polare. Aceast comand trebuie s fie dat ntr-un bloc separat i dup ea nu se poate scrie o alt comand. La punerea sub tensiune sau dup reset se trece automat n starea G13.1. Selectarea planului Trebuie selectat un plan care s determine adresele axei liniare i a celei de rotaie nainte de a activa interpolarea n coordonate polare.

Comanda G17 X_ C_ selecteaz axa X ca ax liniar i axa C ca ax de rotaie. n desen este indicat cu C axa virtual, a crei programare este executat prin definirea msurilor lungimii. Prin intermediul comenzilor G18 Z_ C_ G19 Y_ C_ se pot selecta alte perechi de axe liniare i de rotaie n modul prezentat mai sus. Ofsetul punctului de zero al piesei n decursul interpolrii n coordonate polare n cazul folosirii interpolrii n coordonate polare originea sistemului de coordonate al piesei trebuie aleas astfel nct s coincid cu axa de rotaie a axei circulare. Poziia axelor n momentul activrii interpolrii n coordonate polare nainte de activarea interpolrii n coordonate polare (comanda G12.1) asigurai-v c poziia

31

4.6 Interpolarea n coordonate polare (G12.1, G13.1)

axei circulare este la 0. Poziia axei liniare poate fi pozitiv sau negativ dar nu poate fi pe 0. Programarea coordonatelor lungimii n cursul interpolrii n coordonate polare n starea activ a interpolrii n coordonate polare, data coordonatei lungimii poate fi programat pe ambele axe care aparin planului selectat. Axa de rotaie n planul selectat funcioneaz ca a doua ax (virtual). Dac de exemplu axele X i C au fost selectate cu ajutorul comenzii G17 X_C_ , adresa C poate fi programat ca i axa Y n cazul selectrii planului G17 X_Y_. Programarea primei axe fiind ca diametru, nu influeneaz programarea axei virtuale, data de coordonat trebuind s fie introdus ntotdeauna ca raz pentru axa virtual. Dac de exemplu este executat interpolare n coordonate polare n planul X C, valoarea scris la adresa C trebuie specificat ca raz, independent dac adresa X este dat ca diametru sau ca raz. Deplasarea pe axele care nu iau parte la interpolarea n coordonate polare Deplasarea pe aceste axe se desfoar normal, independent de starea activat a interpolrii n coordonate polare. Programarea interpolrii circulare n cursul interpolrii n coordonate polare Definirea unui cerc n modul de interpolare n coordonate polare este posibil dup cum se tie cu ajutorul razei sau prin programarea coordonatelor centrului cercului. n cel de al doilea caz adresele I, J, K trebuie s fie folosite n acord cu planul selectat dup cum se vede mai jos:
G17 X_ C_ G12.1 ... G2 (G3) X_ C_ I_ J_ G18 Z_ B_ G12.1 ... G2 (G3) B_ Z_ I_ K_ G19 Y_ A_ G12.1 ... G2 (G3) Y_ A_ J_ K_

Folosirea compensrii razei sculei n cursul interpolrii n coordonate polare Comenzile G41, G42 se pot folosi n modul obinuit n cursul interpolrii n coordonate polare. Se vor avea n vedere urmtoarele restricii: - Activarea interpolrii n coordonate polare (comanda G12.1) este posibil numai n starea G40, - Dac este activat G41 sau G42 n starea G12.1, trebuie programat G40 nainte de a se dezactiva interpolarea n coordonate polare (comanda G13.1). Restricii privind programarea n cursul interpolrii n coordonate polare Comenzile de mai jos nu pot fi utilizate n starea activat a interpolrii n coordonate polare: - schimbarea planului: G17, G18, G19, - transformrile de coordonate: G52, G92, - schimbarea sistemului de coordonate de lucru: G54, , G59, - orientarea n sistemul de coordonate al mainii: G53. Avansul n cursul interpolrii n coordonate polare Interpretarea avansului n interpolarea n coordonate polare este viteza tangenial ca n cazul interpolrii n unghi drept: este definit viteza relativ a piesei i sculei. Traiectoria descris ntr-un sistem de coordonate cartezian este executat la interpolarea n coordonate polare prin deplasarea unei axe liniare i a unei axe de rotaie. Pe msur ce 32

4.6 Interpolarea n coordonate polare (G12.1, G13.1) centrul sculei se apropie de axa circular de rotaie, axa de rotaie ar trebui s execute pai din ce n ce mai mari n aceeai unitate de timp pentru c viteza pe traiectorie este constant. Totui viteza maxim permis pentru axa de rotaie este definit prin parametrul care limiteaz viteza axei circulare. De aceea, n apropierea originii comanda numeric reduce viteza pas cu pas pentru a nu se depi limita de vitez pe axa de rotaie. Figura alturat prezint cazurile n care sunt programate linii drepte paralele cu axa X (1, 2, 3, 4). Deplasarea x se face cu avansul programat ntr-o unitate de timp. Pentru fiecare linie dreapt (1, 2, 3, 4) corespunde cte o deplasare unghiular ( 1, 2, 3, 4) pentru deplasarea x. Aparent, cu ct prelucrarea se apropie de origine, cu att mai mare este deplasarea unghiular pe care trebuie s o execute axa unghiular n unitatea de timp pentru a menine avansul programat. n cazul n care deplasarea unghiular de executat n unitatea de timp depete valoarea parametrului FEEDMAX impus pentru axa de rotaie, comanda numeric va reduce treptat avansul tangenial. innd cont de aceasta,trebuie evitate programele n care centrul sculei se apropie de origine. Exemplu n figur se prezint un exemplu pentru utilizarea interpolrii n coordonate polare. Axele care iau parte la interpolare sunt: axa X (axa liniar) i axa C (axa de rotaie). Axa X este programat n diametru, n timp ce axa C este programat n raz.

33

4.6 Interpolarea n coordonate polare (G12.1, G13.1)


%O7500(INTERPOLARE N COORDONATE POLARE) ... N050 T808 N060 G59 (poziia de start a sistemului de coordonate G59 n direcia X pe axa de rotaie C) N070 G17 G0 X200 C0 (selectare plan X, C; orientare la coordonatele X diferit de 0, C=0) N080 G94 Z-3 S1000 M3 N090 G12.1 (activare interpolare n coordonate polare) N100 G42 G1 X100 F1000 N110 C30 N120 G3 X60 C50 I-20 J0 N130 G1 X-40 N140 X-100 C20 N150 C-30 N160 G3 X-60 C-50 R20 N170 G1 X40 N180 X100 C-20 N190 C0 N200 G40 G0 X150 N210 G13.1 (dezactivare interpolare n coordonate polare) N220 G0 G18 Z100 (Retragere scul, selectare plan X, Z) ... %

34

4.7 Interpolarea cilindric (G7.1) 4.7 Interpolarea cilindric (G7.1) Atunci cnd trebuie frezat un canal de cam cilindric pe suprafaa unui cilindru, trebuie utilizat interpolarea cilindric. n acest caz axa de rotaie a cilindrului i axa de rotaie trebuie s coincid. Micrile axei de rotaie sunt specificate n program n grade, care sunt convertite n micri liniare de-a lungul suprafeei de ctre comanda numeric n funcie de raza cilindrului, astfel nct interpolrile liniar i circular pot fi programate mpreun cu o alt ax liniar. Micrile rezultate dup interpolare sunt reconvertite n micri n grade pentru axa de rotaie. Activarea interpolrii cilindrice se face cu comanda G7.1 Qr unde: Q: adresa axei de rotaie care ia parte la interpolarea cilindric r: raza cilindrului Dac de exemplu axa de rotaie folosit n interpolarea cilindric este axa C i raza cilindrului este 50 mm, interpolarea cilindric este activat cu ajutorul comenzii G7.1 C50. n programul pies care urmeaz traiectoria care urmeaz s fie frezat pe suprafaa cilindric poate fi descris prin specificarea interpolrii liniare i circulare. Coordonata pentru axa liniar trebuie s fie dat n mm, n timp ce cea pentru axa de rotaie n grade. Dezactivarea interpolrii cilindrice se face cu comanda G7.1 Q0 dei codul corespunde cu cel pentru activare, singura diferen fiind adresa axei de rotaie care este 0. Interpolarea cilindric indicat n exemplul de mai sus (G7.1 C50) se poate dezactiva prin intermediul comenzii G7.1 C0. Comanda G7.1 trebuie s fie dat ntr-un bloc separat. Selectarea planului Codul pentru selectarea planului este determinat ntotdeauna de ctre numele axei liniare paralele cu axa de rotaie. Axele de rotaie paralele cu axele X, Y, i Z sunt axele A, B i respectiv C. G17 X A sau G18 Z C sau G19 Y B sau G17 B Y G18 A X G19 C Z Interpolarea circular Este posibil s se defineasc interpolarea circular n modul de interpolare cilindric, ns doar prin specificarea razei R. Nu se poate executa nici o interpolare circular n cazul interpolrii cilindrice dac se introduce centrul cercului (I, J, K). Raza cercului este interpretat ntotdeauna n mm sau inci, niciodat n grade. De exemplu interpolarea circular dintre axele Z i C poate fi specificat n dou moduri: G18 Z_ C_ G19 C_ Z_ G2 (G3) Z_ C_ R_ G2 (G3) C_ Z_ R_

35

4.7 Interpolarea cilindric (G7.1) Aplicarea compensrii razei sculei n cazul interpolrii cilindrice Comenzile G41, G42 pot fi folosite n modul obinuit n starea activat a interpolrii cilindrice. Se vor avea n vedere totui urmtoarele restricii: - Activarea interpolrii cilindrice (comanda G7.1 Qr) este posibil numai n starea G40, - Dac e necesar activarea G41 sau G42 n modul de interpolare cilindric, trebuie programat G40 nainte de a se dezactiva interpolarea cilindric (comanda G7.1 Q0). Restricii privind programarea n cursul interpolrii cilindrice Comenzile de mai jos nu pot fi utilizate n starea activat a interpolrii cilindrice: - selectarea planului: G17, G18, G19, - transformrile de coordonate: G52, G92, - schimbarea sistemului de coordonate de lucru: G54, , G59, - orientarea n sistemul de coordonate al mainii: G53, - interpolarea circular prin introducerea centrului cercului (I, J, K), - cicluri de gurire. Exemplu Figura alturat prezint o traiectorie frezat la o adncime de 3mm pe suprafaa radial a unui cilindru cu raza R=28.65 mm. Scula rotativ T606 este paralel cu axa X. O deplasare de un grad pe suprafaa cilindrului este:

Ordinea axelor care se vede n figur corespunde cu selectarea planului G19.


%O7602(INTERPOLARE CILINDRIC) ... N020 G0 X200 Z20 S500 M3 T606 N030 G19 Z-20 C0 (G19: selectarea planului CZ) N040 G1 X51.3 F100 N050 G7.1 C28.65 (interpolare cilindric activat, axa de rotaie :C, raza cilindrului:28.65mm) N060 G1 G42 Z-10 F250 N070 C30 N080 G2 Z-40 C90 R30 N090 G1 Z-60 N100 G3 Z-75 C120 R15 N110 G1 C180 N120 G3 Z-57.5 C240 R35 N130 G1 Z-27.5 C275

36

4.7 Interpolarea cilindric (G7.1)


N140 N150 N160 N170 N180 ... % G2 Z-10 C335 R35 G1 C360 G40 Z-20 G7.1 C0 (dezactivare interpolare cilindric) G0 X100

37

5 Datele de intrare pentru coordonate

5 Datele de intrare pentru coordonate


5.1 Programarea absolut i incremental (G90, G91), operatorul I Datele de intrare ale coordonatei pot fi specificate ca valori absolute sau incrementale. ntr-o specificare absolut, trebuie specificate pentru comanda numeric coordonatele punctului final, pentru datele incrementale trebuie specificat distana de parcurs n acel bloc. G90: programare de date absolute G91: programare de date incrementale G90 i G91 sunt funcii modale. Grupul de parametri CODES va decide ce stare se va activa la punerea sub tensiune a sistemului. Deplasare ntr-o poziie absolut se poate face doar dup ce s-a efectuat ntoarcere n punctul de referin. Exemplu: Dup cum se vede n figur, o deplasare se poate programa n unul din urmtoarele dou moduri:
G90 G01 X20 Y50 G91 G01 X-40 Y30

Operatorul I va fi activ n condiiile specificrii absolute a datei. Acesta se aplic doar la coordonata a crei adres o precede i semnific o dat incremental. Modul alternativ de a rezolva exemplul de mai sus este.
(G90) G01 XI-40 YI30 G01 X20 YI30 G01 XI-40 Y50

5.2 Comanda pentru date n coordonate polare (G15, G16) Coordonatele punctului final pot fi introduse n mod alternativ i prin specificarea de coordonate polare, adic cu specificarea unghiului i a razei. G16: Comand de date n coordonate polare G15: Anulare comand de date n coordonate polare La punerea sub tensiune comanda numeric trece n starea G15. G15 i G16 sunt funcii modale. Datele coordonatelor polare sunt active n planul definit prin G17, G18, G19. Cnd este specificat o dat, adresele axelor orizontal i vertical ale planului sunt considerate ca raz i respectiv unghi. De exemplu, n starea G17, datele scrise la adresa X(U) i Y(V) sunt raza i respectiv unghiul. ATENIE! n starea G18, Z i X sunt axele orizontal i vertical (datele pentru R i respectiv unghi). Cnd este specificat o dat unghiular, direciile pozitiv i negativ pentru unghi sunt n sens orar i respectiv antiorar. Datele pentru celelalte axe sunt considerate date de coordonate carteziene. Raza i unghiul pot fi specificate ca date absolute sau incrementale. Atunci cnd raza este specificat ca dat absolut, originea sistemului de coordonate curent va fi originea sistemului de coordonate polare:

38

5 Datele de intrare pentru coordonate Exemplu:


G90 G16 G01 X100 Y60 F180

Att raza ct i unghiul sunt date absolute, scula se deplaseaz n punctul 100mm, 60 .
G90 G16 G01 X100 Y40 F180

Unghiul este dat incremental. Se execut o deplasare de 40 fa de poziia unghiular anterioar. Dac raza este specificat ca valoare incremental poziia instantanee a axelor va fi originea sistemului de coordonate polar. Un cerc poate fi programat cu comanda pentru date n coordonate polare (G16). Cercul poate fi specificat att prin raz ct i prin I, J, K. n cazul al doilea comanda numeric va considera adresele I, J, K n mod invariabil drept date carteziene. Cnd originea sistemului de coordonate curent coincide cu centrul unui cerc sau al unei elice, se poate programa cu specificarea de coordonate polare o rotire multipl. Exemplu:
(G17 G16 G90) G02 X100 Y-990 Z50 R-100

n acest bloc s-a specificat o elice cu dou ture n direcie antiorar. La programarea unui cerc cu mai multe ture trebuie avut n vedere c trebuie programat un unghi polar negativ sau pozitiv pentru direciile G2 sau respectiv G3. Note: Adresele folosite n urmtoarele instruciuni nu vor fi considerate ca polare: - G 10 coordonatele folosite la impunerea instruciunii, - G 52 ofset ccordonate, - G 92 impunere coordonate, - G 53 poziionare n sistemul de coordonate al mainii - G 68 rotire coordonate - G 51 modificare la scar, - G 50.1 imagine n oglind.

39

5 Datele de intrare pentru coordonate Exemplu de frezare a unui hexagon:


N1 N2 N3 N4 N5 N6 N7 N8 G90 G17 G0 X60 Y0 F120 G16 G1 Y60 Y120 Y180 Y240 Y300 Y360 G15 G0 X100

5.3 Conversia inci/metric (G20,G21) Dup ce s-a programat codul G potrivit, se pot specifica unitile de msur ale datelor de intrare: G20: programarea introducerii n inci G21: programarea introducerii n sistem metric La nceputul programului trebuie selectat unitatea de msur dorit prin specificarea codului corespunztor. Unitatea de msur selectat rmne activat pn cnd se introduce o comand cu sens contrar, adic G20 i G21 sunt coduri modale. Efectul lor se va pstra i la deconectarea sistemului, adic unitatea de msur care era activ nainte de decuplare va fi activ i dup reconectare. Schimbarea unitii de msur va afecta urmtoarele elemente: Coordonata i datele de compensare, Avansul Viteza periferic constant Afirile poziiei, compensrii i avansului. 5.3 Specificare i gama de valori a datelor de coordonat Datele de coordonat pot fi specificate cu 8 cifre zecimale. Punctul zecimal va fi interpretat n funcie de unitatea de msur folosit: - X2.134 nseamn 2.134 mm sau 2.134 inci, - B24.36 nseamn 24.36 grade, atunci cnd axa B se refer la o ax de rotaie. Folosirea punctului zecimal nu este obligatorie: - X325 nseamn 325 mm. Zeroul din faa punctului zecimal se poate omite: - .032 = 0.032 Numrul de zecimale cu care comanda numeric va interpreta un numr este funcie de sistemul de increment folosit. De exemplu comanda X1.23456, atunci cnd este selectat sistemul de increment IS-B, va fi interpretat ca: - 1.235 mm (n sistem metric) - 1.2346 inci (n inci). n mod corespunztor, datele de intrare vor fi transferate la ieire ca valori rotunjite.

40

5 Datele de intrare pentru coordonate

n tabelul de mai jos sunt prezentate valorile gamelor lungimilor coordonatelor.


Unitate de intrare mm Unitate de ieire mm Sistemul de increment IS-A IS-B IS-C IS-A inci mm IS-B IS-C IS-A inci inci IS-B IS-C IS-A mm inci IS-B IS-C Valoarea gamei lungimilor coordonatelor 0.01 - 999999.99 0.001 - 99999.999 0.0001 - 9999.9999 0.001 39370.078 0.0001 - 3937.0078 0.00001 - 39370.078 0.001 - 99999.999 0.0001 - 9999.9999 0.00001 - 999.99999 0.01 - 999999.99 0.001 - 99999.999 0.0001 - 9999.9999 mm inci inci Unitatea de msur mm

Gama de valori pentru coordonatele unghiulare este cuprins n tabelul urmtor.


Sistemul de increment IR-A IR-B IR-C Unitatea minim care poate fi introdus 0.01 - 999999.99 0.001 - 99999.999 0.0001 - 9999.9999 grade Unitatea de msur

5.5 Reducerea msurii axelor de rotaie la 0360 Aceast funcie se poate folosi n cazul axelor de rotaie, adic dac adresa A, B, sau C este selectat pentru operarea axei de rotaie. Utilizarea reducerii msurii axelor de rotaie la 0360 nsemn c poziia unei axe nu este nregistrat ntre plus i minus infinit, ci avnd n vedere periodicitatea fiecrei axe, adic ntre 0 i 360 . Selectarea axei de rotaie Selectarea se poate executa prin impunerea parametrului 0182 A.ROTARY, 0185 B.ROTARY, sau 0188 C.ROTARY pentru axa A, B, sau respectiv C. Dac unul din aceti parametri este impus 1: - comanda numeric nu execut conversia inci/metric pentru axa respectiv, - funcia reducerii msurii axelor de rotaie la 0360 se poate valida pentru acea ax prin impunerea parametrului ROLLOVEN corespunztor la 1.

41

5 Datele de intrare pentru coordonate Validarea folosirii reducerii msurii axelor de rotaie la 0360 Funcia este activat prin impunerea parametrului 0241 ROLLOVEN_A, 0242 ROLLOVEN_B sau 0243 ROLLOVEN_C pentru axele A, B sau respectiv C, dac aceste axe sunt de rotaie. Dac parametrul ROLLOVEN_x este =0 : axa de rotaie este considerat ca o ax liniar i impunerea parametrilor consecutivi nu are efect, =1 : se aplic folosirea reducerii msurii axelor de rotaie la 0360 pentru axa de rotaie, a crei semnificaie se va prezenta mai jos.

Specificarea traiectoriei prin reducerea msurii axelor de rotaie la 0360 Traiectoria axei este definit pentru o rotaie 0360 la parametrul 0261 ROLLAMNT_A, 0262 ROLLAMNT_B sau 0263 ROLLAMNT_C n increment de intrare pentru axele A, B sau respectiv C. Astfel dac comanda numeric lucreaz n sistemul de incremente B i axa se rotete 360 pentru o rotaie 0360, valoarea care trebuie nscris la parametrul respectiv este 360000. Prin intermediul impunerii de parametri de mai sus comanda numeric va afia ntotdeauna poziia axei de rotaie n gama 0 +359.999 independent de direcia de rotire i de numrul de rotaii.

42

5 Datele de intrare pentru coordonate

Deplasarea axei de rotaie n cazul programrii absolute n cazul introducerii de date absolute, cnd este validat folosirea reducerii msurii axelor de rotaie la 0360 pentru axa de rotaie (ROLLOVEN_x=1), axa nu se deplaseaz niciodat mai mult dect impunerea de la parametrul ROLLAMNT_x. Asta nseamn c dac de exemplu ROLLAMNT_C=360000 (360), deplasare maxim este de 359.999. Prin impunerea parametrilor 0224 ABSHORT_A, 0225 ABSHORT_B sau 0226 ABSHORT_C, se decide dac direcia de micare s fie mereu n acord cu semnul poziiei introduse la adresa axei sau dac micarea s se fac pe calea cea mai scurt. Dac parametrul ABSHORT_x corespunztor este: =0 : se face deplasarea ntotdeauna n direcia semnului poziiei programate, =1 : se face deplasarea ntotdeauna pe calea cea mai scurt.
0188 C.ROTARY=1 0243 ROLLOVEN_C=1 0263 ROLLAMNT_C= =360000 0246 ABSHORT_C=0 deplasarea se face ntotdeauna n direcia semnului programat la adresa C G90 C450 G90 C0 (0 este un numr pozitiv!) G90 C-90 G90 C-360 0246 ABSHORT_C=1 deplasarea se face ntotdeauna pe drumul cel mai scurt G90 C450 G90 C0 G90 C-90 G90 C-360 90 -90 -90 90 90 270 -90 -270 Bloc programat prin introducere de coordonat absolut

Deplasarea executat prin acest bloc

Poziia la sfritul blocului C=0 C=90 C=0 C=270 C=0 C=0 C=90 C=0 C=270 C=0

43

5 Datele de intrare pentru coordonate Deplasarea axei de rotaie n cazul programrii incrementale n cazul introducerii de date incrementale, direcia de micare este ntotdeauna n acord cu semnul programat. Parametrul corespunztor ROLLAMNT_x care s fie aplicat pentru impunerea micrii poate fi impus la parametrul 0247 RELROUND_A, 0248 RELROUND_B respectiv 0249 RELROUND_C. Dac parametrul corespunztor ROLLAMNT_x este =0 : parametrul ROLLAMNT_x este dezactivat, adic deplasarea poate fi mai mare dect 360 =1 : parametrul ROLLAMNT_x este activ. Dac de exemplu ROLLAMNT_C=360000 (360), deplasare maxim este de 359.999.
0188 C.ROTARY=1 0243 ROLLOVEN_C=1 0263 ROLLAMNT_C= =360000 0249 ROLLAMNT _C=0 parametrul ROLLAMNT_C este dezactivat G91 C450 G91 C0 G91 C-90 G91 C-360 0249 ROLLAMNT _C=1 parametrul ROLLAMNT_C este activ G91 C450 G91 C0 G91 C-90 G91 C-360 90 0 -90 0 450 0 -90 -360 Bloc programat prin introducere de coordonat absolut

Deplasarea executat prin acest bloc

Poziia la sfritul blocului C=0 C=90 C=90 C=0 C=0 C=0 C=90 C=90 C=0 C=0

44

6 Avansul

6 Avansul
6.1 Avansul rapid G00 comand o poziionare cu avans rapid. Valoarea avansului rapid pentru fiecare ax este impus prin parametru de ctre constructorul mainii. Valoarea avansului rapid poate fi diferit pentru fiecare ax. Atunci cnd mai multe axe se deplaseaz simultan cu avans rapid, rezultanta avansului va fi calculat astfel nct componenta vitezei pe fiecare ax s nu depeasc valoarea particular a avansului rapid pentru acea ax (impus ca parametru) i poziionarea s se realizeze n minimul de timp. Valoarea avansului rapid este modificat cu comutatorul de corecie a avansului rapid care poate avea treptele: F0: definit prin parametrul RAPOVER n %, i 25%, 50%, 100%. Valoarea avansului rapid nu poate depi 100%. Deplasarea cu avans rapid se va opri dac comutatorul de corecie avans este pe poziia 0%. n lipsa unui punct de referin valid, sunt valabile valorile reduse ale avansurilor rapide definite de constructorul mainii pentru fiecare ax pn cnd se execut ntoarcerea n punctul de referin. Valorile de corecie ale avansului rapid pot fi conectate cu cele ale comutatorului de corecie avans. Dac se deplaseaz axele cu butoanele de JOG, viteza de avans rapid este diferit fa de avansul rapid cu G00, i de asemeni se poate selecta prin parametri pentru fiecare ax. De obicei viteza de deplasare cu butoanele de JOG este mai mic dect viteza de poziionare i corelat cu timpul de rspuns al omului. 6.2 Valoarea avansului de prelucrare Avansul este programat la adresa F. Avansul programat este realizat n blocuri de interpolare liniar (G01) i circular (G02, G03). Avansul este realizat tangenial de-a lungul traiectoriei programate.

F avans tangenial (valoare programat) Fx component a avansului pe direcia X Fy - component a avansului pe direcia Y Cu excepia strilor de inhibare corecie i stop (G63), valoarea avansului programat poate fi modificat n gama de la 0 la 120% cu comutatorul de corecie a avansului. 45

6 Avansul Valoarea avansului (F) este modal. Dup punerea sub tensiune va fi activ valoarea avansului impus cu parametrul FEED.

6.2.1 Avansul pe minut (G94) i avansul pe rotaie (G95) Unitatea de avans poate fi specificat n program cu codurile G94 i G95: G94: avansul pe minut G95: avansul pe rotaie Termenul avans/minut se refer la avansul specificat n unitile mm/min, inci/min sau grade/min. Termenul avans/rotaie se refer la avansul realizat ntr-o rotaie a arborelui, specificat n unitile mm/rot, inci/rot sau grade/rot. Nu poate fi programat G95 dect dac arborele este echipat cu un codor de poziie. G94 i G95 sunt valori modale. Dup punerea sub tensiune va fi selectat una dintre strile G94 sau G95 funcie de parametrii din grupul CODES. Avansul rapid se execut invariabil n mm/min, deci starea G94/G95 nu l va afecta.

46

6 Avansul Tabelul urmtor prezint gama maxim a valorilor programabile la adresa F, pentru diferite cazuri.
Uniti de intrare Uniti de ieire Sistem de increment IS-A IS-B mm mm IS-C IS-A IS-B IS-C IS-A IS-B inci mm IS-C IS-A IS-B IS-C IS-A IS-B inci inci IS-C IS-A IS-B IS-C IS-A IS-B mm inci IS-C IS-A IS-B IS-C Gama valorii la adresa F 0.001 - 250000 0.0001 25000 0.00001 2500 0.0001 5000 0.00001 500 0.000001 50 0.0001 9842.5197 0.00001 - 984.25197 0.000001 - 98.425197 0.00001 196.85039 0.000001 19.685039 0.0000001 1.9685039 0.0001 25000 0.00001 2500 0.000001 250 0.00001 500 0.000001 50 0.0000001 5 0.001 - 250000 0.0001 25000 0.00001 2500 0.0001 5000 0.00001 500 0.000001 50 mm sau grade/rot mm sau grade/min inci sau grade/rot inci sau grade/min inci sau grade/rot inci sau grade/min mm sau grade/rot mm sau grade/min Unitate

6.2.2 Limitarea superioar a avansului de prelucrare Valoarea maxim pentru avansul de prelucrare la o anumit main, poate fi limitat superior (impus ca un parametru) de ctre constructor. Valoarea impus aici se refer invariabil la avansul n mm/min. Aceast valoare este de asemenea i viteza de DRY RUN (executarea programului fr prelucrare). n cursul executrii unui program, dac valoarea avansului programat depete valoarea limit superioar, comanda numeric o va limita la aceasta. 47

6 Avansul De asemenea, separat, se poate limita superior valoarea maxim a avansului pentru JOG prin parametrii pentru timpii de rspuns uman. 6.3 Accelerarea/frnarea automat La deplasarea cu avans rapid, comanda numeric va executa n mod automat o accelerare liniar la nceputul micrii i o frnare liniar la sfritul micrii. Mrimea acceleraiei este definit de ctre constructorul mainii n parametrul ACCn, n funcie de dinamica mainii.

n micrile de avans, valoarea avansului tangenial (programat) va fi luat n calcul de ctre comanda numeric pentru acceleraia liniar, i respectiv, valoarea sa va fi sczut prin frnarea liniar. Aceast tehnic ofer avantajul fa de accelerarea tradiional (exponenial), c maina va atinge mai rapid viteza dorit (considernd o anumit constant de timp adoptat n ambele cazuri). Astfel timpii de accelerare i de frnare (adic timpii de deplasare efectiv a axelor) vor fi redui. Un alt avantaj al accelerrii liniare fa de accelerarea exponenial este o mai mic distorsionare a profilului (adic eroarea de raz), comparativ cu cea obinut la accelerarea exponenial, la prelucrarea cu vitez mare a unui cerc.

48

6 Avansul Comanda numeric monitorizeaz modificrile vitezelor tangeniale. Aceasta este necesar pentru a atinge viteza comandat ntr-un proces de accelerare continu, dac este necesar, prin cteva blocuri. Accelerarea la noul avans (mai mare dect cel precedent) este nceput de ctre comanda numeric n mod invariabil n execuia blocului respectiv, n care este specificat noua valoare a avansului. Dac este necesar, acest proces se poate prelungi pe cteva blocuri. Frnarea la o valoare nou a avansului (mai mic dect cea precedent) va fi nceput de ctre comanda numeric n blocul precedent celui n cauz, astfel ca prelucrarea s porneasc cu viteza programat n blocul n care este specificat noua valoare a avansului. Accelerarea /frnarea liniar este folosit i la deplasarea manual n modul JOG sau cu roata de mn. Valorile pentru acest caz vor fi definite pentru fiecare ax prin parametrii de la ACC1 la ACC8. 6.4 Funciile de control a avansului Funciile de control a coreciei sunt necesare atunci cnd trebuie prelucrate coluri, i/sau cnd o tehnologie particular necesit anularea comutatorului de corecie i a butonului de stop. Cnd se prelucreaz coluri cu aplicarea tierii continue, axele, datorit ineriei lor, nu sunt capabile s urmreasc traiectoria comandat de ctre comanda numeric. Astfel, scula va rotunji colurile, mai mult sau mai puin, funcie de avans. Dac piesa de prelucrat necesit coluri ascuite, trebuie specificat reducerea avansului la sfritul blocului, s se atepte pn cnd axele se opresc, i numai dup aceea s se porneasc urmtoarea micare. 6.4.1 Oprirea precis (G09) G09 nu este o funcie modal, deci nu este activ dect n blocul n care a fost programat. La sfritul blocului n care a fost specificat G09, comanda numeric ncetinete dup executarea interpolrii, i ateapt apariia semnalului atingere poziie. Dac acest semnal nu este primit n 5 secunde, se afieaz mesajul 1020 POSITION ERROR (eroare de poziie). Aceast funcie poate fi utilizat pentru prelucrarea precis a colurilor ascuite. 6.4.2 Modul tiere precis (G61) Este o funcie modal anulat cu comenzile G62, G63 sau G64. Comanda numeric va ncetini pn la finalizarea fiecrei interpolri i va atepta apariia semnalului atingere poziie. Urmtoarea interpolare va fi pornit numai dup apariia

49

6 Avansul semnalului Dac acest semnal nu este primit n 5 secunde, se afieaz mesajul 1020 POSITION ERROR (eroare de poziie). 6.4.3 Modul tiere continu (G64) Funcie modal. Comanda numeric va activa aceast stare la punerea sub tensiune. Ea va fi anulat de unul din codurile G61, G62 sau G63. n acest mod nu se ateapt terminarea interpolrii, axele nu vor ncetini. n loc de aceasta, va fi nceput imediat interpolarea urmtorului bloc. n acest mod nu pot fi prelucrate coluri ascuite, deoarece ele vor fi rotunjite. 6.4.4 Modul inhibare corecie i stop (filetare) (G63) Este o funcie modal anulat cu comenzile G61, G62 sau G64. n acest mod sunt inhibate coreciile pentru avans i arbore i stopul avansului. Valorile coreciilor sunt considerate 100% (indiferent de poziia comutatorului). La terminarea interpolrii, comanda numeric nu va ncetini, ci va ncepe imediat urmtorul ciclu de interpolare. Acest mod este aplicabil la filetarea cu cuit sau cu tarod. 6.4.5 Corecia automat la col (G62) Este o funcie modal anulat cu comenzile G61, G62 sau G64. Atunci cnd se prelucreaz interiorul unui col, asupra sculei acioneaz fore mai mari nainte i dup col. Pentru a preveni suprancrcarea sculei i apariia vibraiilor, comanda numeric - atunci cnd este comandat G62 - va reduce n mod automat avansul nainte i dup un col interior. Corecia de col este activ n urmtoarele condiii: - cnd este activ compensarea sculei (G41, G42). - ntre blocurile G0, G1, G2, G3. - n deplasrile n planul selectat. - cnd este prelucrat interiorul colului. - cnd unghiul unui col este mai mic dect un anumit unghi definit printr-un parametru. - pe o distan nainte i dup col, definit prin parametri. Funcia de corecie de col va fi activ ntre fiecare din urmtoarele perechi de blocuri: liniar la liniar, liniar la circular, circular la liniar i circular la circular. Interiorul unghiului poate fi selectat ntre 1 i 180 prin parametrul CORNANGLE.

50

6 Avansul Frnarea i accelerarea vor fi ncepute la distanele L1 i Lg nainte i respectiv dup col. n cazul arcelor de cerc, distanele L1 i Lg, vor fi calculate de ctre comanda numeric de-a lungul arcului. Distanele L1 i Lg vor fi definite n parametrii DECDIST i respectiv ACCDIST Valoarea coreciei poate fi selectat ca un procent n parametrul CORNOVER.. Corecia va deveni activ la distana L1 nainte de col i va continua s fie activ pe distana Lg dup col. Comanda numeric va ine cont att de corecia avansului ct i de corecia de col.: F* corecia avansului * corecia de col. G09 se scrie ntr-un anumit bloc pentru a programa o oprire precis n starea G62. 6.4.6 Corecia tierii circulare interioare Dac este activ compensarea sculei (G41, G42) comanda numeric va reduce automat avansul de prelucrare la interiorul suprafeei unui arc astfel ca avansul s aib valoarea programat de-a lungul razei de tiere. Avansul n centrul razei sculei este

Unde: Fc este avansul corectat al centrului razei sculei R este raza cercului programat Rc este raza cercului corectat F este avansul programat. Limita inferioar a reducerii automate a avansului este impus prin parametrul CIRCOVER, n care poate fi specificat ca procent corecia minim. nainte de a se transmite mai departe, corecia pentru raza cercului este multiplicat cu valorile coreciei avansului i coreciei de col.

51

7 ntrzierea

7 ntrzierea (G04)
Comanda (G94) G04 P va programa o ntrziere n secunde. Domeniul pentru P este de la 0.001 la 99999.999 secunde. Comanda (G95) G04 P va programa o ntrziere n numr de rotaii ale arborelui. Domeniul pentru P este de la 0.001 la 99999.999 rotaii. Funcie de parametrul SECOND, ntrzierea poate fi considerat n secunde indiferent de starea G94 sau G95. ntrzierea implic invariabil ntrzierea executrii urmtorului bloc. Ea nu este o funcie modal. Pe durata ntrzierii, se afieaz pe ecran, n cmpul 5 care indic interpolarea, mesajul DWL care atrage atenia operatorului de ce s-a oprit prelucrarea.

52

8 Punctul de referin

8 Punctul de referin
Punctul de referin este o poziie distinct la o main unealt, n care se poate reveni cu uurin. Poziia punctului de referin poate fi definit ca un parametru n sistemul de coordonate al mainii. Sistemul de coordonate al piesei poate fi msurat i se poate face poziionarea absolut dup executarea ntoarcerii n punctul de referin. Poziiile limitelor de curs introduse prin parametri i funcia de verificare a cursei sunt active numai dup ntoarcerea n punctul de referin.

8.1 Revenirea automat n punctul de referin (G28) Instruciunea G28 v va aduce axele definite de vectorul v n punctul de referin. Micrile se fac n dou etape. La nceput se vor deplasa axele cu interpolare liniar i avans rapid n coordonatele intermediare definite prin vectorul v. Coordonatele specificate pot fi valori absolute sau incrementale. Deplasarea se face invariabil n sistemul de coordonate curent. Cnd se atinge punctul final al deplasrii liniare, este ters vectorul de compensare a sculei. Coordonatele punctului intermediar vor fi stocate pentru axele definite de vectorul v. n etapa a doua se va executa deplasarea din punctul intermediar n punctul de referin, simultan pe fiecare ax definit de vectorul v. ntoarcerea n punctul de referin este executat cu micare neliniar la o vitez definit pentru fiecare ax. n continuare, similar cu ntoarcerea manual, poziia va fi acceptat n maniera definit de parametri. Acesta nu e un cod modal. Note: n afara cazului n care exist un punct de referin valid, n comanda G28 trebuie date valori incrementale pentru coordonatele intermediare v. Dac ntr-un bloc este programat G28, coordonatele intermediare v vor fi stocate pn la deconectarea tensiunii. Cu alte cuvinte, valoarea intermediar definit ntr-o comand G28 anterioar va fi n continuare activ pentru coordonatele crora nu leau fost date valori n comanda G28 curent. Exemplu: G28 X100 punct intermediar: X=100, Y=0 G28 Y200 punct intermediar: X=100, Y=200

53

8 Punctul de referin 8.2 Revenirea automat n punctele de referin 2, 3, 4 (G30) Seria de instruciuni G30 v P va trimite axele de coordonate definite la adresele vectorului v n punctul de referin definit la adresa P. P1 = punctul de referin 1 P2 = punctul de referin 2 P3 = punctul de referin 3 P4 = punctul de referin 4 Punctele de referin sunt poziii speciale definite prin parametri (REFPOS1, , REFPOS4) n sistemul de coordonate al mainii, folosite pentru poziiile de schimbare, de exemplu poziii pentru schimbare de scul. Primul punct de referin este n mod invariabil poziia punctului de referin al mainii, adic punctul n care se face deplasarea atunci cnd se face ntoarcerea n punctul de referin. Instruciunea se poate aplica doar dup ce s-a executat ntoarcerea n punctul de referin. Micarea se face n dou etape. La nceput se vor deplasa axele cu micare liniar i avans rapid n coordonatele intermediare definite prin vectorul v. Coordonatele specificate pot fi valori absolute sau incrementale. Deplasarea se face invariabil n sistemul de coordonate curent. Cnd se atinge punctul final al deplasrii liniare, este ters vectorul de compensare a sculei. Coordonatele punctului intermediar vor fi stocate n sistemul de coordonate curent pentru axele definite de vectorul v. Stocate n acest fel, coordonatele se vor suprascrie peste cele stocate n instruciunea G28. n a doua etap, axele definite prin vectorul v se vor deplasa cu avans rapid din punctul intermediar n punctul de referin selectat la adresa P. ntoarcerea n punctul de referin se face fr a se ine seama de vectorii de compensare (lungime, ofset, ofseturi tridimensionale) care nu e nevoie s fie teri nainte de a se introduce instruciunea G30, dar vor fi implementai de ctre comanda numeric atunci cnd sunt programate urmtoarele micri. n primul bloc de micare se restabilete automat compensarea sculei. Nu este un cod modal. 8.3 Revenirea automat din punctul de referin (G29) Instruciunea

G29 v va comanda ntoarcerea din punctul de referin pe axele definite n vectorul v. Urmnd dup G28 i G30, comanda G29 va fi executat n aceeai manier. Revenirea este ndeplinit n dou etape. n prima etap se va face deplasarea din punctul de referin n punctul intermediar nregistrat n timpul execuiei instruciunii G28 sau G30, pentru axele definite prin vectorul v. Coordonatele punctului intermediar sunt modale, cu alte cuvinte, comanda numeric va lua n consideraie valorile anterioare dac se face referina pe o ax la care nu s-au transferat coordonate n blocul G28 sau G30 care precede G29. Se va face deplasarea n punctul intermediar innd cont de lungimea sculei, ofsetul sculei i compensarea tridimensional a razei sculei. Coordonatele punctului intermediar sunt eficace invariabil n sistemul de coordonate al piesei curente. n mod corespunztor, dac de exemplu s-a programat o schimbare a sistemului de coordonate al piesei dup ntoarcerea n punctul de 54

8 Punctul de referin referin i nainte de instruciunea G29, punctul intermediar va fi luat n consideraie n noul sistem de coordonate. n a doua etap se va deplasa din punctul intermediar n punctul v definit n instruciunea G29. Dac coordonata v are o valoare incremental, deplasamentul va fi msurat din punctul intermediar. Atunci cnd este impus compensarea sculei, deplasarea n punctul final se va face innd cont de vectorul de compensare. Codul nu este modal. Exemplu de utilizare a G30 i G29:
... G90 ... G30 P1 X500 Y200 G29 X700 Y150 ... ...

55

9 Sisteme de coordonate, Selectarea planului

9 Sisteme de coordonate, Selectarea planului


Poziia n care trebuie adus scula este specificat n program prin data coordonatei. Cnd sunt disponibile trei axe (X, Z, Z), poziia sculei este exprimat prin trei date de coordonat X___ Y___ Z___ :

Poziia sculei este exprimat cu attea date de coordonat diferite, cte axe are maina. Datele de coordonat se refer invariabil la un sistem de coordonate dat. Comanda numeric va face diferen ntre trei sisteme de coordonate diferite: 1. sistemul de coordonate al mainii 2. sistemul de coordonate al piesei 3. sistemul de coordonate local 9.1 Sistemul de coordonate al mainii Punctul de zero al mainii, adic originea sistemului de coordonate al mainii, este un punct de pe maina unealt, care de obicei este definit de ctre constructor. Comanda numeric va defini sistemul de coordonate al mainii n momentul ntoarcerii n punctul de referin. Dup ce a fost definit sistemul de coordonate al mainii, el nu va mai fi modificat de schimbarea sistemului de coordonate de lucru (G54 G59) sau de alt transformare de coordonate (G52, G92), ci doar de oprirea comenzii numerice.

56

9 Sisteme de coordonate, Selectarea planului 9.1.1 Impunerea sistemului de coordonate al mainii Dup o revenire n punctul de referin, sistemul de coordonate al mainii poate fi impus n parametri. Distana la punctul de referin, calculat de la originea sistemului de coordonate al mainii, trebuie scris ca parametru. 9.1.2 Poziionarea n sistemul de coordonate al mainii (G53) Instruciunea G53 v va deplasa scula n poziia coordonatei v n sistemul de coordonate al mainii -Indiferent de strile G90, G91, coordonatele v sunt considerate ntotdeauna drept coordonate absolute, - operatorul I nu este activ atunci cnd este plasat naintea adresei coordonatei, - similar cu instruciunea G90, deplasrile se fac cu avans rapid, - poziionarea se execut invariabil inndu-se cont de compensarea lungimii sculei selectate. O instruciune G53 poate fi executat numai dup efectuarea ntoarcerii n punctul de referin. G53 este o instruciune care e valabil doar n blocul n care se afl. 9.2 Sistemul de coordonate de lucru Sistemul de coordonate aplicat la prelucrarea piesei este numit sistemul de coordonate de lucru . n comanda numeric pot fi definite ase sisteme diferite de coordonate de lucru. 9.2.1 Impunerea sistemului de coordonate de lucru

n modul de impunere se pot stabili locaiile diferitelor sisteme de coordonate de lucru n sistemul de coordonate al mainii, i se pot face ofseturile corespunztoare.

57

9 Sisteme de coordonate, Selectarea planului

Mai mult, se poate impune un ofset cu valoare comun pentru toate sistemele de coordonate de lucru. Aceasta se face tot n modul de impunere. 9.2.2 Selectarea sistemului de coordonate de lucru Se poate selecta unul dintre sistemele de coordonate de lucru cu instruciunile G54 G59: G54. sistem de coordonate de lucru 1 G55. sistem de coordonate de lucru 2 G56. sistem de coordonate de lucru 3 G57. sistem de coordonate de lucru 4 G58. sistem de coordonate de lucru 5 G59. sistem de coordonate de lucru 6 Acestea sunt funcii modale. Selectarea lor nainte de o ntoarcere n punctul de referin nu are efect. Dup o ntoarcere n punctul de referin, va fi selectat automat sistemul de coordonate de lucru 1 (G54). Datele de coordonat absolut ale blocurilor de interpolare vor fi considerate de ctre comanda numeric n sistemul de coordonate de lucru curent. De exemplu instruciunea
G56 G90 G00 X60 Y40

va deplasa sistemul n punctul X=60, Y=40 al sistemului de coordonate de lucru 3.

58

9 Sisteme de coordonate, Selectarea planului Dup o schimbare a sistemului de coordonate de lucru, poziia sculei va fi afiat n noul sistem de coordonate. S considerm c pe masa mainii sunt dou piese. Primul sistem de coordonate de lucru (G54) este ataat punctului de zero al uneia din piese, care are un ofset X=300, Y=800 (calculat n sistemul de coordonate al mainii). Al doilea sistem de coordonate de lucru (G55) este ataat punctului de zero al piesei a doua, care are un ofset X=1300, Y=400 (calculat n sistemul de coordonate al mainii). Poziia sculei este X=700, Y=500 n sistemul de coordonate X, Y (G54). Ca rezultat al instruciunii G55, poziia sculei va fi interpretat n sistemul de coordonate X, Y (X=-300, Y= 900). 9.2.3 Impunerea programat a ofsetului punctului de zero de lucru De asemeni, se poate impune prin programare sistemul de coordonate de lucru i ofsetul comun pentru acesta. Aceasta se realizeaz cu instruciunea G10 v L2 Pp unde p = 0 impune ofsetul comun p = 16 selecteaz sistemul de coordonate de lucru 16 v = ofset pentru fiecare ax Datele coordonatelor sunt introduse n mod invariabil ca valori absolute rectangulare (carteziene). Funcia G10 nu este modal. 9.2.4 Crearea unui nou sistem de coordonate de lucru (G92) Instruciunea G92 v va stabili un sistem nou de coordonate de lucru astfel nct punctul de coordonat v al noului sistem va fi un punct selectat de exemplu vrful sculei (dac este programat o compensare de lungime) sau punctul de baz al suportului sculei (dac lipsete compensarea de lungime). n continuare orice comand absolut suplimentar se va referi la noul sistem de coordonate, iar poziiile vor fi afiate n acest sistem de coordonate. Coordonatele specificate n comanda G92 vor fi interpretate ntotdeauna ca valori rectangulare absolute.

59

9 Sisteme de coordonate, Selectarea planului Dac, de exemplu scula este la punctul de coordonat X=150, Y=100, n sistemul de coordonate X, Y actual (curent), instruciunea
G92 X90 Y60

va crea un sistem de coordonate nou X, Y n care scula se va afla n punctul de coordonat X=90, Y=60. Componentele axiale ale vectorului de ofset v dintre coordonatele sistemelor X, Y i X, Y sunt vx=150-90=60 i vy=100-60=40. Comanda G92 va prevala n fiecare din cele ase sisteme de coordonate de lucru, adic un ofset v calculat pentru unul din ele va fi luat n seam i pentru celelalte.

Note: - ofsetul sistemului de coordonate de lucru impus cu instruciunea G92 va fi ters prin execuia instruciunilor de sfrit de program (M2, M30) i prin resetarea programului. - instruciunea G92 va terge datele ofseturilor sistemului de coordonate local (programat cu instruciunea G52) pe axele incluse n instruciune. - Instruciunea G92 ofer o cale comod pentru indicarea poziiei ciclice a indexrii mesei rotative care execut cteva rotaii. Dac de exemplu axa B a fost rotit n poziia 360, axa poate fi deplasat n poziia 0 fr s se efectueze o micare fizic prin programarea G92 B0. 9.3 Sistemul de coordonate local Atunci cnd se scriu programele-pies, este mult mai la ndemn s se specifice datele coordonatelor ntr-un sistem de coordonate local n locul sistemului de coordonate de lucru. 60

9 Sisteme de coordonate, Selectarea planului Instruciunea: G52 v va crea un sistem de coordonate local. - Dac coordonata v este specificat ca o valoare absolut, originea sistemului de coordonate local va coincide cu punctul v n sistemului de coordonate de lucru. - Cnd se specific drept valoare incremental, originea sistemului de coordonate local se va deplasa cu ofsetul v (considernd sistemul de coordonate local ca definit anterior, ori altfel ofsetul este considerat fa de originea sistemului de coordonate de lucru). n continuare, orice comand de micare specificat n coordonate absolute va fi executat n noul sistem de coordonate. De asemeni, poziiile sunt afiate n noul sistem de coordonate. Valorile coordonatelor v vor fi considerate invariabil drept coordonate carteziene. Dac, de exemplu, scula se afl n punctul de coordonate X=150,Y=100 n sistemul de coordonate de lucru X, Y curent, instruciunea
G90 G52 X60 Y40

va crea un nou sistem de coordonate local X, Y n care coordonatele sculei vor fi X=90, Y=60. Instruciunea G52 este folosit pentru definirea componentelor axiale ale vectorului de ofset v dintre sistemele de coordonate X, Y i X, Y (vx=80, vy=60). Acum una dintre aceste dou proceduri poate fi adoptat pentru a transfera sistemul de coordonate local n punctul de poziie X, Y. Cu o specificare de dat absolut: instruciunea (G 90) G 52 X30 Y60 va deplasa originea sistemului de coordonate X, Y n punctul X=30, Y=60 n sistemul de coordonate X, Y. Componentele vectorului v vor fi produse de ctre specificaia vx=30, vy=60. Cu o specificare de dat incremental: instruciunea G91 G52 X-30 Y60 va deplasa originea sistemului de coordonate X, Y n punctul X= -30, Y=20 n sistemul de coordonate X, Y. Componentele vectorului v vor fi produse de ctre specificaia vx=-30, vy=20. Indicarea locaiei noului sistem de coordonate local n sistemul de coordonate de lucru X, Z se face cu vectorul v=v+v. Componentele sale sunt: vx=60+(-30)=30, vy=40+20=60. Poziia sculei n sistemul de coordonate X, va fi X=90, Z=40. Instruciunea G90 G52 v0 va terge ofsetul de la coordonatele specificate n v.

61

9 Sisteme de coordonate, Selectarea planului Sistemul de coordonate local va avea ofset n fiecare sistem de coordonate de lucru. .

Programarea instruciunii G92 va terge ofseturile produse de ctre instruciunea G52 pe axele specificate n G92 similar cu cazul n care s-ar da comanda G52 v0. De cte ori scula se afl n punctul de coordonate n X=200, Y=120 n sistemul de coordonate de lucru X, Y, instruciunea
G52 X60 Y40

i va schimba poziia la X=140, Y=80 n sistemul de coordonate local X, Y. Acum instruciunea


G92 X110 Y40

va stabili poziia sculei la X=110, Y=40 n noul sistem de coordonate de lucru X, Y. Astfel sistemul de coordonate de lucru X, Y va fi ters cu comanda G92 similar cum s-ar ntmpla dac s-ar da comanda G52 X0 Y0 Not: - ofsetul sistemului de coordonate local va fi ters prin executarea comenzilor M2, M30 i/sau prin resetarea programului. 9.4 Selectarea planului (G17, G18, G19) Planul n care se va executa - interpolarea circular, - specificarea datelor cu coordonate polare, - rotaia sistemului de coordonate, - compensarea razei sculei, - poziionarea ciclurilor de gurire se poate selecta cu urmtoarele coduri G: G17 . planul Xp Yp G18 . planul Zp Xp G19 . planul Yp Zp unde Xp=X pe o ax paralel la X, Yp=Y pe o ax paralel la Y, 62

9 Sisteme de coordonate, Selectarea planului Zp=Z pe o ax paralel la Z. La planul selectat se face referire ca fiind planul principal. Selectarea unei anumite axe paralele se va face (cu una dintre instruciunile G 17, G18 sau G19) funcie de adresa axei programate n blocul dat: Cnd X i U, Y i V, Z i W sunt axele paralele: Planul XY va fi selectat cu G17 X_Y_, Planul XV va fi selectat cu G17 X_V_, Planul UV va fi selectat cu G17 U_V_, Planul XW va fi selectat cu G18 X_W_, Planul YZ va fi selectat cu G19 Y_Z_, Planul VZ va fi selectat cu G19 V_Z_. Dac ntr-un bloc nu e specificat una din instruciunile G17, G18, G19, planul selectat rmne neschimbat: G17 X____Y____planul XY U____Y____planul XY rmne. Dac n blocul cu G17, G18, G19 nu e specificat o adres de ax, comanda numeric va considera axele de baz: planul XY va fi selectat cu G17, planul XY va fi selectat cu G17 X, planul UY va fi selectat cu G17 U, planul XV va fi selectat cu G17 V, planul ZX va fi selectat cu G18, planul WX va fi selectat cu G18 W. Comanda de micare nu afecteaz planul selectat:
(G90) G17 G00 Z100

va selecta planul XY, deplasnd axa Z n punctul de coordonat 100. Dup punerea sub tensiune, planul implicit (G17 sau G18) este specificat funcie de grupul de parametri CODES. Planul principal poate fi selectat de mai multe ori n acelai program. Adresele U, V, W pot fi selectate ca paralele, n parametri.

63

10 Funcia rotire arbore

10 Funcia rotire arbore


10.1 Comanda vitezei arborelui (codul S) Numrul maxim de cifre scrise la adresa S este 5 i cu acest numr comanda numeric va trimite un cod la PLC. Funcie de construcia mainii, PLC-ul poate interpreta adresa S drept un cod sau ca un numr de rotaii/minut. Atunci cnd ntr-un anumit bloc se programeaz o comand de deplasare i o vitez de rotaie a arborelui (S), funcia S se va aplica n timpul sau dup comanda de micare. Modul de execuie al comenzilor va fi definit de constructorul mainii. Vitezele specificate la adresele S sunt valori modale. La momentul punerii sub tensiune, comanda numeric va prelua valoarea S0. Viteza de rotaie a arborelui are o valoare limit minim i una maxim n fiecare treapt a cutiei de viteze. Acestea sunt definite de ctre constructorul mainii n parametri i comanda numeric nu permite viteze n afara acestei game. 10.2 Programarea controlului vitezei periferice constante Funcia de control a vitezei periferice constante poate fi folosit doar n cazul unei acionri principale cu variaie continu. n acest caz, comanda numeric poate s modifice viteza de rotaie a arborelui astfel ca viteza sculei s fie constant relativ la suprafaa piesei i egal cu valoarea programat.

Viteza periferic constant trebuie s fie specificat n funcie de unitatea de intrare pe baza urmtorului tabel:
Unitatea de intrare mm (G21 metric) inci (G20 inci) Unitatea de vitez periferic constant m/min picior (feet) / min

64

10 Funcia rotire arbore 10.2.1 Comanda controlului vitezei periferice constante (G96, G97) Comanda G96 S activeaz funcia de control a vitezei periferice constante. Controlul vitezei periferice constante trebuie specificat la adresa S n unitatea de msur dat n tabelul de mai sus. Comanda G97 S anuleaz funcia de control a vitezei periferice constante. Viteza dorit a arborelui trebuie specificat la adresa S (n rotaii/minut). - Cu scopul calculului vitezei periferice constante sistemul de coordonate trebuie impus astfel ca punctul su de zero s coincid cu axa de rotaie. - Controlul vitezei periferice constante este activ doar dup ce se pornete arborele cu ajutorul M3 sau M4. - Valoarea este modal chiar i dup ce calcularea ei a fost anulat cu ajutorul comenzii G97. Dup punerea sub tensiune valoarea implicit a vitezei periferice constante este determinat de parametrul CTSURFSP.
G96 S100 (100 m/min sau 100 picioare/min) G97 S1500 (1500 rot/min) G96 X260 (100 m/min sau 100 picioare/min)

- Calculul vitezei periferice constante este de asemenea activ n starea G94 (avans/min). - Dac controlul vitezei periferice constante este anulat prin intermediul comenzii G97 i nu se specific o nou vitez, rmne activ ultima vitez pe care a avut-o arborele n starea G96.
G96 S100 (100 m/min sau 100 picioare/min) . . . G97 (viteza de rotaie corespunztoare diametrului X)

- n cazul poziionrii cu avans rapid (bloc G00), viteza periferic constant nu este calculat continuu, dar se va calcula viteza de rotaie corespunztoare poziiei finale. Aceasta pentru a se evita schimbri inutile ale vitezei de rotaie a arborelui. - Pentru a se calcula viteza periferic constant, trebuie impus la axa de rotaie a arborelui punctul zero al axei, presupunnd c viteza de rotaie a arborelui se modific. 10.2.2 Limitarea vitezei periferice constante (G92) Prin intermediul comenzii G92 S se poate impune cea mai mare vitez de rotaie a arborelui n cazul n care e activ controlul vitezei periferice constante. n timpul calculului vitezei periferice constante, comanda numeric limiteaz viteza de rotaie a arborelui la aceast valoare. n acest caz unitatea pentru S este rot/min. - Dup punerea sub tensiune, la fel ca n cazul n care valoarea lui S nu a fost limitat cu comanda G92, limita superioar a vitezei de rotaie a arborelui n cazul controlului vitezei periferice constante este valoarea maxim permis pentru acea treapt a cutiei de viteze. - Valoarea maxim a vitezei de rotaie a arborelui este modal pn cnd este programat o nou valoare sau pn ce se oprete comanda numeric. 65

10 Funcia rotire arbore 10.2.3 Selectarea unei axe pentru controlul vitezei periferice constante Axa n funcie de a crei poziie se calculeaz viteza periferic constant este selectat cu parametrul 1182 AXIS. Numrul axei logice trebuie nscris la parametru. Dac trebuie folosit o alt ax dect cea selectat, se poate specifica axa funcie de care trebuie calculat viteza periferic constant cu ajutorul comenzii: G96 P Interpretarea pentru adresa P este: P1: X, P2: Y, P3: Z, P4: U, P5: V, P6: W, P7: A, P8: B, P9: C - Valoare impus la adresa P este modal. Dup punerea sub tensiune se va activa ca ax funcie de a crei poziie se calculeaz viteza periferic constant, axa impus la parametrul AXIS. 10.3 Reacia de poziie a arborelui n prelucrarea normal comanda numeric va produce o comand a vitezei pentru variatorul de turaie al arborelui, proporional cu viteza programat (valoarea specificat la adresa S). Acum, acest variator va lucra n modul de control al vitezei. Totui, anumite procese tehnologice necesit ca arborele s fie adus ntr-o anumit poziie unghiular. Aceasta se numete poziionarea arborelui sau indexare. Anterior poziionrii, comanda numeric va trece variatorul arborelui n modul de control al poziiei. n practic aceasta nseamn c n locul unui comenzi a vitezei proporionale cu codul S, comanda numeric va msura poziia arborelui cu ajutorul unui codor de poziie montat pe arbore i va produce o comand ctre variator n concordan cu deplasarea unghiular dorit (similar cu restul axelor controlate). Aceasta este reacia de poziie. Pentru a fi posibil poziionarea arborelui, pe o anumit main, este necesar ca s existe un codor de poziie montat pe arbore i ca variatorul arborelui s fie capabil s opereze i n modul cu reacie de poziie. 10.4 Oprirea orientat a arborelui

Orientarea arborelui i oprirea orientat a arborelui fac referire la funcionarea cu oprirea arborelui ntr-o anumit poziie unghiular. Aceasta poate fi necesar de exemplu pentru o schimbare automat a sculei sau pentru executarea anumitor cicluri de gurire. Posibilitatea orientrii pe o anumit main trebuie specificat cu parametrul ORIENTI, n parametri. Comanda orientrii arborelui este activat cu funcia M19, dar se poate produce i de ctre alte funcii depinznd de respectiva main unealt. Orientarea poate fi executat ntr-unul din urmtoarele dou moduri : - Dac arborele nu se poate folosi n modul de control al poziiei, orientarea se poate face rotind arborele fa de un senzor de proximitate montat pe main. - Dac arborele se poate folosi n modul de control al poziiei, la comanda M19 comanda numeric va aduce arborele n poziia pulsului de zero al codorului de poziie. Comanda numeric va nchide automat bucla de control a poziiei.

66

10 Funcia rotire arbore 10.5 Poziionarea arborelui (indexarea) O poziionare a arborelui se poate face numai dup ce bucla de control a poziiei arborelui a fost nchis dup orientare. Prin urmare, aceast funcie este folosit pentru nchiderea buclei. Bucla va fi deschis de comenzile de rotire M3 sau M4. Dac valoarea parametrului INDEX=1 (indicnd c bucla de control a poziiei pentru acionarea principal poate fi nchis) i valoarea parametrului INDEX_C1=0, se va executa indexarea arborelui cu funcia M. n aceste condiii funcia M de prag i parametrii de la M_NUMB1 la M_NUMB1+360 vor fi interpretate ca o comand de indexare a arborelui, adic numrul de prag va fi sczut din valoarea programat M, i numrul obinut va fi tratat ca fiind mrimea incrementului specificat n grade. Astfel, dac M_NUMB1=100, comanda M160 nseamn c arborele trebuie s fie rotit cu 160-100=60 de grade din poziia actual. Direcia n care se face rotaia este selectat cu parametrul CDIRS1, iar viteza sa este selectat cu parametrul RAPIDS1. 10.6 Detectarea fluctuaiei vitezei arborelui (G25, G26) Comanda G26 activeaz detectarea fluctuaiei vitezei arborelui, n timp ce comanda G25 o anuleaz. Dup punerea sub tensiune sau RESET comanda numeric are activat starea G26, adic detectarea fluctuaiei vitezei arborelui este activ. Aceast funcie semnalizeaz anomaliile care apar n decursul rotirii arborelui, putnd evita astfel de exemplu griparea arborelui. Detectarea fluctuaiei vitezei arborelui este influenat de 4 parametri. Aceti parametri pot fi rescrii dintr-un program cu adrese succesive comenzii G26. La deconectarea alimentrii, parametrii rescrii sunt meninui. Parametrii sunt rescrii ca efect al comenzii G26 Pp Qq Rr Dd. Tabelul urmtor conine interpretrile parametrilor:
nume p q r d parametru 5001 TIME 5002 SCERR 5003 FLUCT% 5004 FLUCTW semnificaie timpul care a trecut de la lansarea unei noi comenzi pentru viteza arborelui pn la nceperea verificrii tolerana vitezei specificate a arborelui mrimea permis pentru fluctuaia vitezei arborelui n procente din viteza programat fluctuaia vitezei arborelui n valoare absolut unitate 100 ms % % rot/min valoare limit 65535 1-50 1-50 65535

Procesul de detectare a fluctuaiei vitezei arborelui decurge dup cum urmeaz.

67

10 Funcia rotire arbore Pornirea detectrii fluctuaiei vitezei arborelui Ca efect al unei noi viteze de rotaie detectarea este suspendat de ctre comanda numeric. Detectarea fluctuaiei vitezei arborelui pornete cnd: - viteza curent a arborelui atinge valoarea specificat n limita de toleran determinat de valoarea q, sau

- viteza curent a arborelui nu a atins valoarea specificat n limita de toleran determinat de valoarea q, dar a trecut timpul determinat de valoarea p din momentul comenzii.

68

10 Funcia rotire arbore Detectarea erorii n cursul detectrii, comanda numeric trimite un mesaj de eroare n cazul n care diferena ntre vitezele de rotaie curent i specificat depete: - limita de toleran specificat de valoarea r n procente din valoarea comandat i - de asemenea limita de toleran absolut specificat de valoarea d. Atunci cnd viteza curent depete ambele limite de toleran, comanda numeric impune flag-ul I656 la PLC. Gama de vitez n care comanda numeric produce alarma se poate observa n figura alturat. Dac viteza arborelui specificat este sub valoarea S care apare n figur, comanda numeric produce alarma, considernd c viteza curent este de 0 rot/min pentru mai mult de 1 secund. - Detectarea fluctuaiei vitezei arborelui este activ doar dac pe arbore este montat un codor. - Viteza specificat a arborelui, funcie de care se face detectarea este calculat lund in consideraie urmtoarele: corecia, limitele gamei de turaie i turaia maxim programat (G92 S_) la calculul vitezei periferice constante (G96). - Detectarea fluctuaiei vitezei arborelui este activ doar n cazul G26 i al rotirii arborelui (starea M3 sau M4). - Comanda G26 trebuie programat ntr-un bloc singular.

69

11 Funcia schimbare scul

11 Funcia schimbare scul


11.1 Comanda de selectare scul (codul T) La adresa T pot fi nscrise un numr de maxim patru cifre din a cror interpretare comanda numeric va transmite un cod ctre PLC. Cnd ntr-un bloc sunt programate o comand de micare i un numr de scul (T), funcia T va fi executat n timpul sau dup executarea comenzii de micare. Metoda de executare este determinat de constructorul mainii. 11.2 Formatul de program pentru programarea numrului sculei Exist dou moduri principale de a se face referire la o schimbare de scul n cursul programului pies. Acestea depind de configuraia mainii. Tehnica particular de apelare a sculei (aplicabil n programul pies) este definit de ctre constructorul mainii. Cazul A O schimbare de scul poate fi realizat pe main manual ori cu ajutorul unui schimbtor de scule de tip revolver. Cnd se face referire la codul T: - n cazul schimbrii manuale a sculei, numrul sculei cerute apare pe afiaj; scula trebuie s fie prins n arbore manual. n continuare prelucrarea va fi reluat dup ce se d start. - n cazul unui schimbtor de scule de tip revolver, ca urmare a aciunii codului T scula cerut va fi adus n poziia de prelucrare n mod automat. Astfel o referire la un numr de scul va determina o schimbare imediat n blocul n care a fost specificat T. Cazul B O schimbare de scul necesit anumite pregtiri ale mainii. Sunt necesare urmtoarele etape: - Scula cerut trebuie s fie gsit n magazia de scule. Referirea fcut la adresa T n programul pies va aduce scula cerut n poziia de schimbare. Aceast operaie este executat n timp ce maina execut operaia anterioar de prelucrare a piesei. - Axele (sau numai unele dintre ele) trebuie trimise n poziia de schimbare a sculei. - Schimbarea sculei este executat prin intermediul funciei M06 din program. Comanda numeric va atepta executarea schimbrii sculei pn cnd scula T (cerut) este adus n poziia de schimbare. Prin executarea comenzii, scula nou va fi plasat pe arbore. n continuare se poate relua prelucrarea. - Scula folosit anterior este reintrodus n magazie. Aceast operaie este executat n timp ce maina execut prelucrarea piesei. - Se declaneaz cutarea n magazie a sculei cu care se va face urmtoarea prelucrare.

70

11 Funcia schimbare scul Aceast procedur este descris n programul pies dup cum urmeaz: Program pies .Tnnnn M06 Tmmmm M06 Tpppp. Explicaii cutarea sculei Tnnnn continu executarea programului pies, cutarea sculei se execut n fundal scula Tnnnn este plasat pe arbore, scula folosit anterior este reintrodus n magazie se pornete cutarea sculei Tmmmm, n timp ce maina execut prelucrare scula Tmmmm este plasat pe arbore scula Tnnnn este reintrodus n magazie, se pornete cutarea sculei Tpppp n acest timp se execut prelucrare

71

12 Funcii diverse i auxiliare

12 Funcii diverse (M) i auxiliare


12.1 Funcii diverse (coduri M) Codul M avnd specificat la adres o valoare numeric de maxim 3 cifre, este transferat de ctre comanda numeric la PLC. Atunci cnd ntr-un bloc sunt programate o comand de micare i o funcie M, funcia M va fi executat n timpul sau dup executarea comenzii de micare. Modul de executare este definit de constructorul mainii. Codurile M includ funcii standard, care pot fi folosite doar pentru funcii selectate special. Acestea sunt: M00, M01, M02, M30, M96, M97, M98, M99: coduri de control program M03, M04, M05, M19: coduri rotire arbore M06: cod de schimbare scul M07, M08, M09: coduri utilizare rcire M11, , M18: coduri schimbare treapt de turaie arbore. Restul valorilor M pot fi folosite fr restricii. Atunci cnd indexarea este declanat de o funcie M, codurile M ale indexrii arborelui sunt selectate pe baza unui parametru. Comanda numeric permite ca s fie scrise ntr-un anumit bloc un numr de coduri M din grupe diferite. n acest caz totui, codurile M au o secven prestabilit de execuie. Grupele i secvena de execuie sunt: Grupa 1 M06 (schimbare scul) Grupa 2 M11, , M18 (schimbare treapt de turaie arbore) Grupa 3 M03, M04, M05, M19 (rotire arbore) Grupa 4 M07, M08, M09 (utilizare rcire) Grupa 5 Mnnn (oricare alt funcie M) Grupa 6 coduri M de indexare arbore Grupa 7 M00, M01, M02, M30, M96, M97, M98, M99 (coduri de control program) Numrul de funcii M care poate fi programat ntr-un anumit bloc este de 5. ntr-un bloc se poate comanda doar un singur cod M din fiecare grup. Programarea conflictual va produce mesajul 3032 CONFLICTING M CODES (coduri M conflictuale). Modul de funcionare exact al fiecrui cod M este definit de ctre constructorul mainii respective pentru a satisface cerinele. Singura excepie sunt codurile de control program. Codurile de control program sunt: M00= oprire programat Condiia de oprire va fi generat la sfritul blocului n care a fost specificat M00. Toate funciile modale rmn neschimbate. Se poate reporni cu START. M01= stop condiionat Efectul ei este identic cu al codului M00. Va fi executat cnd este activat tasta STOP CONDIIONAT . Nu are efect dac nu se apas tasta corespunztoare. M02, M30= sfrit de program nseamn sfritul programului principal. Sunt oprite toate operaiile i comanda numeric este resetat. Maina va fi resetat de ctre programul PLC. Funcie de parametrul PRTCNTM, fiecare execuie a comenzii M02 sau M30 poate incrementa numrtorul de piese prelucrate. 72

12 Funcii diverse i auxiliare M98= apelare subprogram (subrutin) Va apela un subprogram (subrutin). M99= sfrit subprogram (subrutin) Va permite ca execuia programului s revin n locul de unde s-a fcut apelarea. 12.2 Funcii auxiliare (coduri A, B, C) La fiecare din adresele A, B, C pot fi specificate maximum trei cifre dac una dintre ele (sau toate) este selectat ca funcie auxiliar n parametri. Valoarea specificat pentru funcia auxiliar va fi transferat ctre PLC. Atunci cnd sunt programate ntr-un bloc o comand de micare i o funcie auxiliar, funcia A, B, C va fi executat pe timpul sau dup executarea comenzii de micare. Modul de execuie va fi definit de constructorul mainii. De exemplu indexarea mesei se poate face la adresa B. 12.3 Succesiunea de executare a funciilor M Funciile M scrise ntr-un anumit bloc vor fi executate de ctre comanda numeric n urmtoarea succesiune: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Schimbare scul: Apel scul: Selectare treapt turaie: Turaie arbore: Control arbore: Rcire: Alte funcii M: Indexare arbore: Funcia A: Funcia B: Funcia C: Coduri de control program: M06 T M11, ,M18 S M03, M04, M05, M19 M07, M08, M09 Mnnn Cu funcii M A B C M00, M01, M02, M30, M96, M97, M98, M99

Dac succesiunea de mai sus nu satisface cerinele, blocul trebuie mprit n alte cteva blocuri, cu funciile M scrise n succesiunea dorit n fiecare bloc.

73

13 Configurarea programului pies

13 Configurarea programului pies


Structura programului pies a fost deja descris n introducere, prezentndu-se codurile i formatele programelor n memorie. Aceast seciune va discuta procedurile de organizare a programelor pies. 13.1 Numr de secven (adres N) Blocurile programului pot fi specificate cu numere de serie sau secven. Numerotarea se poate face la adresa N. Blocurile pot fi numerotate cu maximum 5 cifre la adresa N. Folosirea adresei N nu este obligatorie. Anumite blocuri pot fi numerotate, altele nu. Numerele de bloc nu trebuie s fie n ordine consecutiv. 13.2 Salt de bloc condiionat Un salt de bloc condiionat poate fi programat la adresa barat / . Valoarea adresei barate poate fi de la 1 la 9. Cifrele de la 1 la 9 reprezint numrul de comutatoare. Comutatorul BLOC CONDIIONAT nr.1 poate fi gsit pe panoul operatorului al comenzii numerice. Celelalte comutatoare pot fi prevzute opional, semnalele lor putnd fi introduse prin interfaa comenzii numerice. Dac un salt de bloc condiionat /n este programat la nceputul unui bloc, - acel bloc va fi omis din execuie atunci cnd al n-lea comutator este on, - acel bloc va fi executat cnd al n-lea comutator este off. 13.3 Program principal i subprogram Sunt difereniate dou programe diferite program principal i subprogram. n prelucrarea unei piese pot fi implicate activiti repetitive, care pot fi descrise cu un detaliu particular de program. Pentru a evita scrierea repetitiv a detaliului de program, acesta poate fi organizat ntr-un subprogram care s fie apelat din programul pies. Structura programului principal i cea a subprogramului au fost descrise n Introducere. Diferena dintre ele este aceea c, n timp ce prelucrarea este terminat dup executarea programului principal, comanda numeric fiind n ateptarea unui alt START, dup executarea unui subprogram, execuia revine n programul apelant, relund procesul de prelucrare din acel punct. n termeni de tehnic de programare, diferena dintre cele dou programe st n modul de terminare a programului. Sfritul programului principal este specificat cu codurile M02 sau M30 (nu sunt obligatorii), n timp ce subprogramul trebuie terminat cu codul M99. 13.3.1 Apelarea subprogramului Seria de instruciuni M98 P va genera un apel de subprogram. Ca rezultat, execuia programului va continua n subprogramul al crui numr este definit la adresa P. Limitele pentru adresa P sunt 1 i 9999. Dup executarea subprogramului, prelucrarea va fi continuat n programul principal cu blocul urmtor celui n care s-a apelat subprogramul.

74

13 Configurarea programului pies


program principal O0010 ..... ..... M98 P0011 subprogram comentariu execuia programului (principal) O0010 ----> O0011 ..... ..... ..... M99 apelul subprogramului O0011

blocul urmtor .... ....

<----

revenirea n programul apelant reluarea programului O0010

Seria de instruciuni M98 P. L. va apela subprogramul (specificat la adresa P) n mod repetat n succesiunea specificat la adresa L. Limitele pentru adresa L sunt 1 i 9999. Dac nu se d o valoare pentru L, subprogramul va fi apelat o singur dat, comanda numeric interpretnd L=1. Instruciunea M98 P11 L6 semnific faptul c subprogramul 011 trebuie apelat n mod repetat de ase ori. Este posibil de asemenea s se apeleze un subprogram din alt subprogram. Apelurile de subprograme din subprograme pot merge pn la nivelul 4. program principal subprogram subprogram subprogram subprogram O0001 ------>O0011 --->O0012 --->O0013 ---> O0014 | . | . | | | . | .. | | .. M98P11_____ | M98P12__| M98P13__| M98P14__| . . <---- <--- <--- . <--. . | | | . | . M02 | _____ M99 |__ M99 |___M99 |___ M99 Note: - dac este depit numrul de patru apeluri de subprograme din subprograme, este afiat mesajul de eroare 3069 LEVEL EXCESS (depire nivel). - dac este depit valoarea de 9999 pentru adresa P sau aceasta lipsete, este afiat mesajul de eroare 3017 MISSING OR FAULTY P (P lips sau greit). - dac valoarea pentru L este incorect, este afiat mesajul de eroare 3072 DEFINITION ERROR L (eroare de definire L). - dac este specificat cu un identificator la adresa P un program inexistent n memorie, este afiat mesajul de eroare 3073 NOT EXISTING PROGRAM (program inexistent). 13.3.2 Revenirea dintr-un subprogram Utilizarea instruciunii M99 ntr-un subprogram semnific sfritul acelui subprogram i revenirea execuiei n programul principal, la blocul urmtor celui din care s-a fcut apelul.

75

13 Configurarea programului pies


program principal O0010 .... .... .... N101 M98 P0011 subprogram comentariu executarea programului O0010

N102 .... .... ....

----> O0011 .... .... .... <---- M99

apelarea subprogramului O0011 executarea subprogramului O0011 revenirea la blocul urmtor al programului apelant reluarea programului O0010

Utilizarea instruciunii M99 P ntr-un subprogram nseamn sfritul acelui subprogram i execuia programului revine la blocul programului apelant specificat la adresa P. n acest caz valoarea limit pentru P este 99999.
program principal O0010 ... ... ... N101 M98 P0011 subprogram comentariu executarea programului O0010

N250 ... ... ...

----> O0011 .... .... .... <---- M99 P250

apelarea subprogramului O0011 executarea subprogramului O0011 revenirea la blocul N250 al programului apelant reluarea programului O0010

Instruciunea M99 (P.) L. va renscrie numrtorul de cicluri al programului apelant. Dac se scrie pentru L valoarea 0, subprogramul va fi apelat numai o dat. Dac, de exemplu, subprogramul O0011 este apelat cu instruciunea M98 P11 L20 i se face o revenire cu instruciunea M99 L5, subprogramul O0011 va fi apelat de 6 ori. (Valorile limit pentru L sunt de la 1 la 9999.) Not: - Se afieaz un mesaj de eroare 3070 NOT EXISTING BLOCK NO. P (nu exist blocul nr. P) cnd numrul blocului de revenire (P) nu este gsit n programul apelant.

76

13 Configurarea programului pies 13.3.3 Salt n interiorul programului principal Folosirea instruciunii M99 n programul principal va produce un salt necondiionat la blocul specificat la adresa P a programul principal i execuia programului va fi continuat de acolo. Folosirea acestei instruciuni poate produce un ciclu fr sfrit:
O0123 N1... <---... | ... | ... | M99 ______|

Folosirea instruciunii M99 P. va produce un salt necondiionat la blocul specificat la adresa P a programului principal i execuia programului va fi continuat de acolo. Folosirea acestei instruciuni poate produce un ciclu fr sfrit:
O0011 ... ... N128... <---... | ... | M99 P128 ____| O0011 ... M99 P225 __ ... | ... | N225 <----...

Posibilitatea apariiei ciclurilor fr sfrit poate fi evitat prin specificarea blocului coninnd instruciunea M99 n forma /1 M99. Acum saltul va fi omis sau nu, funcie de starea comutatorului de bloc condiionat.

77

14 Compensarea sculei

14 Compensarea sculei
14.1 Referirea la valorile de compensare a sculei (H i D) Se poate face referire la compensarea lungimii sculei la adresa H, compensarea razei sculei la adresa D. Numrul care urmeaz adresa (numrul de compensare a sculei) indic valoarea de compensare particular care s fie aplicat. Valorile limit ale adreselor H i D sunt cuprinse ntre 0 i 999. Tabelul urmtor prezint mprirea memoriei de compensare:
Cod H geometrie -350.200 830.500 Cod D geometrie uzur -32.120 0.012 52.328 -0.008 . . .

numr compensare 01 02 . . .

uzur 0.130 -0102 . . .

Numrul compensrii 00 nu este inclus n acest tabel, valorile compensrilor fiind n acest caz ntotdeauna zero. Valoarea geometriei lungimea respectiv raza sculei. Este un numr cu semn. Uzura uzura sculei care apare n decursul prelucrrii. Este un numr cu semn. De cte ori se face referire n program la o compensare la adresele H sau D , comanda numeric va lua n calcul pentru compensare suma dintre valoarea geometriei i uzur. Dac de exemplu, se face referire n program la H2, mrimea compensrii va fi conform tabelului de mai sus 830.500+(-0.102)=830.398. Adresele H i D sunt modale, deci comanda numeric va ine cont o anumit valoare pentru compensare pn cnd se d o alt comand pentru D sau H. Cu alte cuvinte, dup ce s-a citit valoarea compensrii cu comanda D sau H, valoarea respectiv nu va fi afectat de o modificare n tabelul valorilor de compensare (de exemplu prin programarea G10). Valorile de compensare se vor pstra n memorie i dup deconectarea de la reea. Memoria de compensare poate fi salvat n memorie ca un program pies.

78

14 Compensarea sculei Mrimea limitelor pentru valorile ofsetului pentru geometrie i pentru uzur sunt:
uniti de intrare mm uniti de ieire mm sistem increment IR-A IR-B IR-C IR-A IR-B IR-C IR-A IR-B IR-C IR-A IR-B IR-C valoare geometrie 0.0199999.99 0.0019999.999 0.0001999.9999 0.0019999.999 0.0001999.9999 0.0000199.99999 0.0019999.999 0.0001999.9999 0.0000199.99999 0.0199999.99 0.0019999.999 0.0001999.9999 valoare uzur 0.01163.80 0.00116.380 0.00011.6380 0.0016.448 0.00010.6448 0.000010.06448 0.00116.380 0.00011.6380 0.000010.16380 0.01416.05 0.00141.605 0.00014.1605 unitate de msur mm

inci

mm

inci

inci

inci

inci

mm

inci

mm

Compensrile sculei pot fi selectate i/sau modificate fie de la panoul operatorului din ecranul OFFSET fie prin program folosind instruciunea G10. Dac se modific compensarea curent cu comanda G10, trebuie s se fac din nou referire la registrul de compensare curent D sau H, altfel valoarea modificat nu va fi luat n considerare. Valorile limit ale adreselor H sau D pentru un anumit sistem de control, adic numarul compensrilor de lungime sau raz care s fie specificate n comanda numeric, sunt determinate de ctre configuraia memoriei comenzii numerice. n cazul unei configuraii de memorie minime, numrul de compensri este 99, adic valorile limit ale adreselor H i D sunt ntre 0 i 99. 14.2 Modificarea valorilor de compensare a sculei din program (G10) Instruciunea: G10 R L P poate fi folosit pentru modificarea compensrilor sculei din program. G10 este o instruciune cu o singur aciune. Adresele i valorile lor au urmtoarele semnificaii: Valoarea compensrii este specificat la adresa R. n cazul G90 (comand de specificare de dat absolut), valoarea introdus la adresa R va fi transferat registrului de compensare corespunztor. n cazul G91 (comand de specificare de dat incremental) sau cnd este aplicat operatorul I, data nscris la adresa R va fi adunat la coninutul registrului de compensare corespunztor. Valoarea compensrii care s fie modificat este specificat la adresa L: L=10: se aplic valorii geometriei la compensarea lungimii (cod H), L=11: se aplic uzurii la compensarea lungimii (cod H), L=12: se aplic valorii geometriei la compensarea razei (cod H) L=13: se aplic uzurii la compensarea razei (cod H). Numrul valorii compensrii care s fie modificat este precizat la adresa P.

79

14 Compensarea sculei Not: Pentru o modificare programat a compensrii razei, valoarea specificat la adresa R trebuie s fie interpretat ca o raz, n fiecare caz, indiferent de starea parametrului TOOLRAD . Comanda numeric va afia mesajul 3001 VALUE EXCESS X, Y, F (depire valoare X, Y, F) ori de cte ori valoarea specificat depete limitele indicate n tabelul anterior. 14.3 Compensarea lungimii sculei (G43, G44, G49)

Instruciunea G43 q H sau G44 q H va impune modul de compensare a lungimii sculei. Adresa q desemneaz axa q la care se aplic compensarea lungimii sculei (q = X, Y, Z, U, V, W, A, B, C). Adresa H nseamn celula de compensare din care se ia valoarea compensrii lungimii sculei. Independent de faptul c q este o dat absolut sau incremental, instruciunea G43 va aduna valoarea de compensare (specificat la adresa H) la coordonata punctului final obinut n decursul execuiei: G43: + compensarea Independent de faptul c q este o dat absolut sau incremental, instruciunea G44 va scdea valoarea de compensare (specificat la adresa H) din coordonata punctului final obinut n decursul execuiei: G44: - compensarea Deoarece a fost programat incremental Z0, fiecare din instruciunile G43 G91 Z0 H1 i G44 G91 Z0 H1 va produce deplasament egal cu lungimea sculei. Pentru G43, deplasamentul va fi pozitiv sau negativ n funcie de semnul valoarea compensrii de la H1. Cazul este exact invers pentru G44. Dup ce s-a executat comanda, poziia afiat la coordonata Z va fi aceeai cu cea anterioar deoarece poziia vrfului sculei va fi afiat dup impunerea compensrii de lungime. Compensrile sculei pot fi definite pe cteva axe simultan. De exemplu:
G43 Z250 H15 G43 W310 H16

Cnd ntr-un bloc sunt selectate cteva axe, compensarea lungimii sculei va fi luat n consideraie pentru fiecare ax selectat:
G44 X120 Z250 H27

Cnd valoarea de compunere este modificat prin apelarea unei noi adrese H, valoarea anterioar va fi tears i noua valoare va deveni efectiv:
H1=10, H2=20 G90 G00 G43 Z100 H1.......deplasare la Z=110 G43 Z100 H2.......deplasare la Z=120

Efectele instruciunilor G43 i G44 sunt modale pn cnd este primit o nou comand din acel grup. Comanda G49 sau H00 va anula compensarea lungimii sculei pe fiecare ax cu deplasare dac n bloc a fost 80

14 Compensarea sculei programat o comand de micare sau cu transformare dac nu este comand de micare. Diferena dintre cele dou comenzi este c H00 va terge doar compensarea lsnd strile G43 sau G44 neafectate. Dac n continuare se va face referire la o adres H alta dect 0, se va impune noua compensare de lungime a sculei n funcie de starea G43 sau G44. Dac este folosit instruciunea G49, orice referire la adresa H nu va avea efect pn cnd nu se va programa G43 sau G44. La punerea sub tensiune, valoarea definit n grupul de parametri CODES decide care cod va fi activ (G43, G44, G49). Exemplul de mai jos prezint o operaie simpl de gurire n care se ine cont de compensarea lungimii sculei: lungimea sculei de gurire, H1=400

N1 N2 N3 N4 N5

G90 G0 X500 Y600 G43 Z410 H1 G1 Z100 F180 G4 P2 G0 Z1100 H0

N6 X-800 Y-300

(poziionare n planul X, Y) (deplasare la Z410 cu H1 compensare de lungime) (gurire pn la Z100 cu avans F180) (ntrziere pentru 2 secunde) (ndeprtarea sculei i anularea compensrii lungimii; vrful sculei este n punctul x700) (revenirea cu avans rapid n planul X, Y)

14.4 Ofsetul sculei (G54G48) G45 crete mrimea deplasrii cu valoarea ofsetului G46 descrete mrimea deplasrii cu valoarea ofsetului G47 crete mrimea deplasrii cu dublul valorii ofsetului G48 descrete mrimea deplasrii cu dublul valorii ofsetului Oricare dintre comenzile G45G48 va fi activ mpreun cu compensarea selectat cu codul D pn cnd este apelat o alt valoare n legtur cu o comand G45.. G48. Fiind coduri nemodale, acestea sunt active doar n blocul n care au fost specificate. n cazul unei specificri de dat absolut, mrimea deplasrii va fi diferena dintre punctul final definit n blocul curent i punctul final definit n blocul anterior. Orice cretere sau descretere se refer la direcia micrii produse n acest fel.

81

14 Compensarea sculei Cu programarea G45 (cretere cu valoarea ofsetului) a. comand de deplasare: 20 b. comand de deplasare: 20 compensare: 5 compensare: -5

a. comand de deplasare: -20 compensare: 5

b. comand de deplasare: -20 compensare: -5

Cu programarea G46 (descretere cu valoarea ofsetului) a. comand de deplasare: 20 cazurile b, c, d sunt similare cu cele de la G45 compensare: 5

82

14 Compensarea sculei Cu programarea G47 (cretere cu dublul valorii ofsetului) a. comand de deplasare: 20 cazurile b, c, d sunt similare cu cele de la G45 compensare: 5

Cu programarea G48 (descretere cu dublul valorii ofsetului) a. comand de deplasare: 20 cazurile b, c, d sunt similare cu cele de la G45 compensare: 5

n cazul n care dup comanda G45G48 n bloc se afl comenzi de deplasare pentru cteva axe, compensarea rezultant va fi activ pentru fiecare ax programat separat cu valoarea specificat la D (generat non vectorial). Dac de exemplu D1=30, comanda G91 G45 G1 X100 Y40 D1 va produce deplasrile x=130, y=70. Compensrile rezultante nu pot fi terse cu o comand G comun (de exemplu G49 pentru compensarea lungimii) sau prin programarea D00, ci doar cu o comand G45G48 cu semnificaie opus. n folosirea G45G48, se poate aplica doar un cod D, altfel se va afia mesajul de eroare 3008 ERRONEOUS G45G48 (cod G45G48 eronat). Dac este programat o deplasare incremental 0 mpreun cu o comand G45G48, un semn precednd zeroul va fi de asemenea interpretat de ctre comanda numeric dup cum urmeaz: dac D1=12

83

14 Compensarea sculei
Comand NC deplasament G45 XI0 D1 x=12 G46 XI0 D1 x=-12 G45 XI-0 D1 x=-12 G46 XI-0 D1 x=12

O compensare a razei sculei aplicat cu unul din codurile G45G48 este de asemenea aplicabil la i din cercuri, n cazul n care centrele cercurilor sunt specificate la adresele I, J sau K. Un exemplu: D1=10
N1 G91 G46 G0 X40 Y40 D1 N2 G47 G1 Y100 F180 N3 G47 X40 N4 Y-40 N5 G48 X60 N6 Y40 N7 G47 X20 N8 G45 Y0 N9 G46 G3 X40 Y40 I40 N10 G45 G1 X0 N11 G45 Y20 N12 G45 G2 X40 Y40 I40 N13 G45 G1 X120 N14 G46 G0 X40 Y40

84

14 Compensarea sculei 14.5 Compensarea sculei (G38, G39, G40, G41, G42) Pentru a se putea freza conturul unei piese cu dou dimensiuni specificnd n program punctele acelui contur la fel ca n desen (indiferent de dimensiunea sculei folosite), comanda numeric trebuie s conduc centrul sculei pe o traiectorie paralel cu conturul programat i distanat cu mrimea razei sculei. Comanda numeric va determina distana dintre traiectoria centrului sculei i conturul programat n concordan cu valoarea de compensare a razei sculei la care se face referire prin numrul de compensare D. Vectorul de compensare este un vector cu dou dimensiuni, calculat de ctre comanda numeric n fiecare bloc, modificndu-se deplasrile programate cu vectorii de compensare calculai la nceputul i sfritul fiecrui bloc. Lungimea i direcia fiecrui vector de compensare obinut variaz cu valoarea de compensare (apelat la adresa D) i cu geometria de tranziie dintre cele dou blocuri. Vectorii de compensare sunt calculai n planul selectat cu instruciunile G17, G18, G19. Acesta este planul de compensare a sculei. Deplasrile n afara acestui plan nu sunt influenate de compensare. Dac, de exemplu, este selectat planul X, Y n starea G17, vectorii de compensare vor fi calculai n acest plan. n acest caz orice micare n direcia Z nu va fi afectat de compensare. Planul de compensare nu poate fi schimbat n timpul calculrii unei compensri de raz. Orice ncercare de a face aceasta va determina afiarea mesajului de eroare 3010 PLANE SELECT. IN G41, G42 (selectare de plan n G41, G42). Dac trebuie definit un plan de compensare cu axele adiionale,acestea trebuie definite ca axe paralele n parametri. Dac, de exemplu, U este presupus ca ax paralel i compensarea razei sculei trebuie aplicat n planul Z, U , planul poate fi selectat prin specificarea G18 U_Z_. G40: anulare compensare scul G41: compensare scul la stnga G42: compensare scul la dreapta Comanda G41 sau G42 va impune calcularea compensrii. n starea G41 sau G42 contururile programate vor fi urmrite din partea stng sau respectiv din partea dreapt (vzut din direcia de micare). Numrul de compensare al razei sculei trebuie s fie specificat la adresa D. 85

14 Compensarea sculei Specificarea D00 este ntotdeauna echivalent cu apelarea valorii zero a razei. Calculele compensrilor sunt executate pentru micrile de interpolare G00, G01, G02, G03.

Punctele de mai sus se refer la specificarea compensrii pozitive a razei sculei, dar valoarea ei poate fi i negativ. Aceasta are o semnificaie practic dac, de exemplu, un anumit subprogram trebuie s fie utilizat pentru definirea conturului unei piese cuprinztoare (mam) i a piesei cuprinse (tat), care sunt mperecheate. Un mod posibil de a face acest lucru este s se prelucreze piesa cuprinztoare cu G41 i piesa cuprins cu G42. Totui, aceast conversie poate fi omis din program atunci cnd piesa cuprinztoare este prelucrat cu o compensare de raz pozitiv i piesa cuprins cu o compensare de raz negativ. Acum traiectoria centrului sculei este inversat n raport cu cea programat cu G41 sau G42. Compensarea razei: Pozitiv G41 G42 n partea stng n partea dreapt Compensarea razei: Negativ n partea dreapt n partea stng

Not: - pentru simplificare, descrierile i figurile care urmeaz se vor referi ntotdeauna la compensare de raz pozitiv. Comanda G40, sau D00 va anula compensarea de ofset. Diferena ntre cele dou comenzi este c D00 terge numai vectorul de compensare, lsnd starea G41 sau G42 neschimbat. Dac dup aceea se face o referire la o adres D diferit de 0, vectorul de compensare va fi calculat cu noua raz a sculei ca rezultat al funciei strii G41 sau G42. Dac se folosete instruciunea G40, orice referire la adresa D nu va avea efect pn cnd nu se programeaz G41 sau G42. Procedura de impunere i anulare a compensrii de raz este detaliat n paragrafele care vor urma. Comenzile G40, G41, G42 sunt modale. Comanda numeric va trece n starea G40 dup punerea sub tensiune, la terminarea programului sau n eventualitatea resetrii programului, i n aceste condiii vectorul de compensare este ters. Instruciunile de compensare a razei vor fi executate de ctre comanda numeric doar n modul automat. Ele nu sunt active la programarea unui bloc singular n modul manual. Motivul pentru aceasta este dup cum urmeaz. Pentru a putea calcula vectorul de compensare n punctul final al blocului (interpolare), comanda numeric trebuie s citeasc i blocul urmtor care conine micarea n planul selectat. Vectorul de compensare depinde de tranziia ntre cele dou interpolri. n consecin, trebuie s fie pre-procesate cteva blocuri (interpolri) pentru calculul unui vector de compensare.

86

14 Compensarea sculei nainte de a ncepe discuia asupra detaliilor calculului compensrii, trebuie introdus o dat auxiliar. Este vorba de , unghiul de col ntre dou blocuri consecutive, vzut dinspre partea piesei. Direcia lui este funcie de sensul n care merge scula mprejurul colului: de la stnga sau de la dreapta. Comanda numeric va selecta strategia de a merge n jurul punctelor de intersecie n funcie de unghiul . Dac >180 , adic scula lucreaz n interior, comanda numeric va calcula un punct de intersecie ntre cele dou interpolri. Dac <180 , adic scula se mic prin exterior, comanda numeric poate aduga n continuare seciuni drepte.

87

14 Compensarea sculei 14.5.1 Pornirea compensrii sculei

Dup punerea sub tensiune, sfritul unui program sau resetarea la nceput a unui program, comanda numeric va activa starea G40. Vectorul de ofset va fi ters, iar traiectoria centrului sculei va coincide cu traiectoria programat. Ca efect al instruciunilor G41 sau G42 comanda numeric va intra n modul de calcul al compensrii razei. Valoarea compensrii va fi preluat din celula de compensare (registrul D). Se va trece n starea G41 sau G42 doar ntr-un bloc care conine o interpolare liniar (G00 sau G01). Comanda numeric va afia mesajul de eroare 3043 G41, G42 IN G2, G3 la orice ncercare de a impune calculul compensrii ntr-o interpolare circular (G02, G03). Comanda numeric va alege s porneasc procedura de calcul a compensrii sculei dac a fost comandat G41 sau G42 dup G40. Cu alte cuvinte, comanda numeric nu va porni procedura atunci cnd compensarea este tears cu D00 i reactivat cu Dnn (nn fiind un numr diferit de 0). Situaiile de baz cnd se pornete compensarea depind de unghiul de la colul a dou blocuri consecutive i de tipul interpolrilor (liniar la liniar, liniar la circular), cum se arat mai jos. Figurile se refer la cazul G42, presupunnd compensarea pozitiv a razei. Not: simbolurile din figurile urmtoare au urmtoarele semnificaii : r: valoarea compensrii razei, L: linie dreapt, C: arc de cerc, S: punct de oprire bloc singular, Linie punctat: traiectoria centrului sculei, Linie continu: traiectoria programat. Situaiile de baz cnd se pornete compensarea sculei (G40) G42 G01 X_Y_D_ X_Y_ (G40) G40 G01 X_Y_D_ G2 X_Y_R_

Mergnd prin interiorul unui col 180 <<360

88

14 Compensarea sculei Mergnd prin exteriorul unui col cu unghi obtuz 90 < <180

Mergnd prin exteriorul unui col cu unghi ascuit 0 < <90

Situaiile speciale cnd se pornete compensarea razei: Dac sunt stabilite valori pentru I, J, K n blocul de selectare a compensrii (G41, G42) dar numai pentru cele din planul selectat (de exemplu, pentru I, J n cazul lui G17) comanda numeric se va deplasa pentru pornirea compensrii razei n punctul de intersecie dintre blocul urmtor i linia dreapt definit de I, J, K. Valorile pentru I, J, K sunt ntotdeauna incrementale, vectorul definit prin ele fiind ndreptat ctre punctul de sfrit al interpolrii, n care a fost programat. Aceast facilitate este folositoare de exemplu la deplasarea ntr-un col interior. 89

14 Compensarea sculei
... G91 G17 G40 ... N110 G42 G1 X-80 Y60 I50 J70 D1 N120 X100 ...

n acest caz comanda numeric va calcula ntotdeauna un punct de intersecie indiferent dac este prelucrat un col interior sau unul exterior.

Dac nu este gsit un punct de intersecie, comanda numeric se va deplasa, n unghiuri drepte, n punctul de pornire al urmtoarei interpolri.

Atunci cnd se impune compensarea printr-un bloc special n care nu este programat nici o micare n planul selectat, compensarea va fi impus fr nici o deplasare, lungimea calculat a vectorului de compensare este 0. Vectorul de compensare este calculat la sfritul urmtorului bloc de micare, funcie de strategia corespunztoare compensrii n modul ofset (vezi capitolul urmtor).
... N10 N15 N20 N25 ... G40 G17 G0 X0 Y0 G42 D1 G1 X80 X110 Y60

90

14 Compensarea sculei Dac este programat deplasament 0 (sau acesta rezult) n blocul care conine activarea compensrii (G41, G42), comanda numeric nu va efectua nici o micare ci va continua prelucrarea conform cu strategia mai sus menionat.
... N10 N15 N20 N25 ... G40 G17 G0 X0 Y0 G91 G42 D1 X0 G1 X80 X30 Y60

Dac se obine un deplasament 0 n planul selectat n blocul care urmeaz pornirii compensrii, vectorul de compensare va fi impus n unghi drept la interpolarea care a executat impunerea. Traiectoria sculei n urmtoarea interpolare nu va fi paralel cu conturul programat:
... N10 N15 N20 N25 N30 ... G40 G17 G0 X0 Y0 G91 G42 D1 X80 G1 X0 X30 Y60 Y60

91

14 Compensarea sculei 14.5.2 Reguli de compensare a sculei n modul ofset n modul ofset, vectorii de compensare vor fi calculai n mod continuu ntre blocurile de interpolare G00, G01, G02, G03 (vezi situaiile de baz) pn cndva fi inserat cel puin un bloc care nu conine deplasamente n planul selectat. Aceast categorie include un bloc coninnd ntrziere sau funcii. Situaiile de baz ale modului ofset Calculul punctului de intersecie pentru col interior 180 <<360

92

14 Compensarea sculei Se poate ntmpla s nu se obin un punct de intersecie cu anumite valori ale razei vrfului sculei. n acest caz comanda numeric se oprete din execuia interpolrii precedente i afieaz mesajul de eroare 3046 NO INTERSECTION G41, G42 (G41, G42 nu se intersecteaz).

Mergnd prin exteriorul unui col cu unghi obtuz 90 < < 180

93

14 Compensarea sculei Mergnd prin exteriorul unui col cu unghi ascuit 0 < < 90

Situaiile speciale ale modului ofset Dac este programat deplasament 0 (sau aa este obinut) n planul selectat ntr-un bloc n modul ofset, va fi poziionat un vector perpendicular n punctul final al interpolrii precedente, lungimea vectorului va fi egal cu compensarea razei. Situaiile de acest fel trebuie tratate cu precauie datorit riscului de a tia accidental mai puin sau distorsionat (n cazul unui cerc). De exemplu:
...G91 G17 G42. . . N110 G1 X40 Y50 N120 X0 N130 Z90 N140 X50 Y-20 ...

94

14 Compensarea sculei 14.5.3 Anularea modului ofset Comanda G40 va anula calculul compensrii razei sculei. O astfel de comand se poate da numai pentru interpolarea liniar. Dac se ncearc programarea G40 ntr-o interpolare circular comanda numeric va afia mesajul de eroare 3042 G40 IN G2, G3. Situaii de baz de anulare a modului ofset
(G42) G01 X_Y_ G40 X_Y_ (G42) G02 X_Y_R_ G40 G1 X_Y_

Mergnd prin interiorul unui col 180 < < 360

Mergnd prin exteriorul unui col cu unghi obtuz 90 < < 180

95

14 Compensarea sculei Mergnd prin exteriorul unui col cu unghi ascuit 0 < < 90

Situaiile speciale de anulare a modului ofset Dac sunt atribuite valori pentru I, J, K n blocul de anulare a compensrii (G40) dar numai acelora din planul selectat (de exemplu pentru I, J n cazul lui G17 ) comanda numeric va deplasa scula la punctul de intersecie dintre interpolarea precedent i linia dreapt definit de I, J, K. Valorile pentru I, J, K sunt ntotdeauna incrementale, vectorul definit prin acestea pornind din punctul final al interpolrii precedente. Aceast facilitate este util de exemplu pentru deplasarea dintr-un col interior.
... ...G91 G17 G42... N100 G1 X50 Y60 N110 G40 X70 Y-60 I100 J-20 ...

n acest caz, comanda numeric va calcula ntotdeauna un punct de intersecie indiferent dac trebuie prelucrat un col interior sau exterior.

96

14 Compensarea sculei Dac nu este gsit un punct de intersecie, comanda numeric se va deplasa, n unghi drept, n punctul final al precedentei interpolri.

Dac compensarea este anulat ntr-un bloc n care nu este programat nici o deplasare n planul selectat, va fi impus un vector de ofset perpendicular n punctul final al precedentei interpolri i vectorul de compensare va fi ters la sfritul urmtorului bloc de micare.
...G42 G17 G91... N110 G1 X80 Y40 N120 G40 N130 X-70 Y20 ...

Dac este programat deplasament 0 (sau acesta rezult) n blocul care conine anularea compensrii (G40), va fi calculat un vector de ofset perpendicular n punctul final al precedentei interpolri, i comanda numeric va termina procedura n blocul G40. De exemplu:
...G42 G17 G91... N110 G1 X80 Y40 N120 G40 X0 N130 X-70 Y20 ...

97

14 Compensarea sculei 14.5.4 Schimbarea direciei ofsetului n modul ofset Direcia de calcul a compensrii razei sculei este dat n tabelul urmtor: Compensarea razei: pozitiv G41 G42 stnga dreapta Compensarea razei: negativ dreapta stnga

Direcia ofsetului poate fi inversat chiar n timpul calculului compensrii razei sculei. Aceasta se poate realiza prin programarea G41 sau G42, sau prin apelarea unei compensri a razei sculei de semn opus la adresa D. Cnd se inverseaz direcia ofsetului, comanda numeric nu va face verificarea dac aceasta este n afar, va calcula ntotdeauna un punct de intersecie n primii pai. Figurile urmtoare presupun valori pozitive pentru raza sculei i treceri de la G41 la G42.

98

14 Compensarea sculei Dac nu este gsit un punct de intersecie pentru o tranziie liniar-la-liniar, traiectoria sculei va fi conform figurii alturate:

Dac nu este gsit un punct de intersecie pentru o tranziie liniar-la-circular, traiectoria sculei va fi conform figurii alturate:

Dac nu este gsit un punct de intersecie pentru o tranziie circular-la-liniar sau circular-la-circular, sfritul vectorului de compensare n punctul de pornire al primei interpolri circulare va fi conectat cu punctul final al vectorului de compensare perpendicular n punctul de pornire al celei de a doua interpolri cu un arc circular cu raza programat R necorectat. Centrul arcului de cerc de interconectare nu va coincide cu centrul arcului programat. Comanda numeric va afia mesajul 3047 CHANGE NOT POSSIBLE (schimbarea nu este posibil) dac schimbarea de direcie nu se poate face chiar cu relocarea centrului cercului rezumat mai sus.

99

14 Compensarea sculei 14.5.5 Programarea reinerii vectorului (G38)

Sub aciunea comenzii G38 v comanda numeric va reine vectorul ultimei compensri ntre interpolarea precedent i blocul G38 n modul ofset i l va executa la sfritul blocului G38 independent de tranziia ntre blocul G38 i blocul urmtor. Codul G38 are aciune singular, adic nu este modal. G38 trebuie s fie programat n mod repetat dac vectorul trebuie reinut n cteva blocuri consecutive. G38 poate fi programat numai n strile G00 sau G01, adic blocul de reinere a vectorului trebuie s fie n mod invariabil o interpolare liniar, altfel comanda numeric va afia mesajul de eroare 3040 G38 NOT IN G0, G1 (G38 nu este n bloc G0, G1). Dac G38 nu este folosit n modul ofset (G41, G42), comanda numeric va afia mesajul de eroare 3039 G38 CODE IN G40 (G38 n bloc G40). Un exemplu de utilizare a G38:
...G17 G41 G91... N110 G1 X60 Y60 N120 G38 X90 Y-40 N130 X20 Y70 N140 X60 ...

Pentru a programa o retragere fr s se anuleze modul ofset:


...G17 G42 G91... N110 G1 X40 N120 G38 Z50 N130 G38 Y70 N140 G38 Y-70 N150 X60 ...

14.5.6 Programarea arcelor de col (G39) Prin programarea G39 (I J K) va fi posibil n modul ofset s se evite calcularea automat a punctului de intersecie sau a inserrii de seciuni liniare atunci cnd se merge n jurul colurilor exterioare i n loc de aceasta centrul sculei se va deplasa pe un arc circular egal cu raza sculei. Se va insera un arc egal cu raza sculei n direcia G02 sau G03 n starea G41 sau respectiv G42. 100

14 Compensarea sculei Punctele de nceput i de sfrit ale arcului vor fi date de un vector de lungimea razei sculei, perpendicular n punctul final al traiectoriei interpolrii precedente i respectiv de un vector de lungimea razei sculei, perpendicular n punctul iniial al traiectoriei interpolrii urmtoare. G39 trebuie programat ntr-un bloc separat.
...G17 G91 G41... N110 G1 X100 N120 G39 N130 G3 X80 Y-80 I80 ...

Cnd I, J sau K este programat n blocul G39, punctul final al arcului de cerc va fi dat de un vector de lungimea razei sculei, perpendicular pe vectorul definit de I, J sau K, din punctul final al interpolrii precedente, n concordan cu planul selectat.
...G17 G91 G41... N110 G1 X100 N120 G39 I50 J-60 N130 G40 X110 Y30 ...

Pentru comenzile de imagine n oglind sau rotire selectate anterior este n vigoare vectorul definit de I, J sau K. De fapt, comanda de modificare la scar nu va afecta direcia. n blocul G39 nu poate fi programat nici o comand de micare. Comanda numeric va afia mesajul de eroare 3036 G39 CODE IN G40 ( cod G39 n bloc G40) dac se da o comand G39 n starea G40 sau n modul de compensare 3D.

101

14 Compensarea sculei 14.5.7 Informaii generale privind aplicarea compensrii sculei

n modul ofset (G41, G42), comanda numeric va trebui s calculeze ntotdeauna vectorii de compensare dintre dou blocuri de interpolare n planul selectat. n practic poate fi necesar s se programeze ntre dou blocuri de interpolare n planul selectat un bloc fr interpolare sau un bloc de interpolare n afara planului selectat. Acestea pot fi: - funcii (M, S, T) - ntrziere (G4 P) - interpolare n afara planului selectat ( [G18] G1 Z) - apelare subprogram (M98 P) - activare sau dezactivare de transformri speciale (G50, G51, G50.1, G51.1, G68, G69) Not : La apelarea unui subprogram sunt necesare anumite precauii. n cazul n care subprogramul nu ncepe cu o micare n planul asignat, interpolarea va fi distorsionat. Comanda numeric va accepta programarea unui singur bloc de tipul de mai sus ntre dou blocuri de interpolare din program, pstrnd traiectoria sculei neafectat:
...G17 G42 G91... N110 G1 X50 Y70 N120 G4 P2 N130 X60 ...

Atunci cnd comanda numeric insereaz una sau mai multe linii drepte ntre dou interpolri cnd se deplaseaz n jurul unui col, orice alt bloc fr deplasare sau cu deplasare n afara planului selectat, programat ntre interpolri va fi executat la punctul final al primei interpolri (indicat cu S n figuri). Atunci cnd sunt scrise n program dou interpolri n afara planului selectat sau dou blocuri care nu conin interpolri, comanda numeric va impune un vector de ofset perpendicular n punctul final al ultimei interpolri executate n planul selectat i traiectoria va fi distorsionat:
...G17 G42 G91... N110 G1 X50 Y70 N120 G4 P2 N130 S400 N140 X60 ...

102

14 Compensarea sculei Dac nu se poate face o prelucrare pe direcia Z fr ca s fie impus compensarea razei, se poate adopta urmtoarea procedur:
...G17 G91... N110 G41 G0 X50 Y70 D1 N120 G1 Z-40 N130 Y40 ...

Acum scula va avea o traiectorie corect dup cum se arat n figura alturat.

Dac totui micarea n direcia Z este fragmentat n dou pri (avans rapid i avans de lucru), traiectoria va fi distorsionat deoarece sunt dou interpolri consecutive n afara planului selectat:
...G17 G91... N110 G41 G0 X50 Y70 D1 N120 Z-35 N130 G1 Z-5 N130 Y40 ...

Pentru a evita aceasta, se introduce o mic deplasare n direcia Y ntre cele dou deplasri n direcia Z:
...G17 G91... N110 G41 G0 X50 Y69 D1 N120 Z-35 N130 Y1 N140 G1 Z-5 N150 Y40 ...

Prin aceasta se va obine un vector de compensare corect.

n continuare se va descrie traiectoria sculei atunci cnd ntre dou interpolri se insereaz instruciunile: G22, G23, G52, G54-G59, G92 G53 G28,G29,G30

103

14 Compensarea sculei

Atunci cnd se programeaz comanda G22, G23, G52, G54-G59 sau G92 n modul ofset ntre dou blocuri de interpolare, vectorul de compensare va fi ters la punctul final al interpolrii anterioare, comanda va fi executat i vectorul va fi reconstituit la punctul final al urmtoarei interpolri. Dac interpolarea anterioar sau cea care urmeaz este o interpolare circular, va fi afiat mesajul de eroare 3041 AFTER G2, G3 ILLEG. BLOCK (bloc nepermis dup G2, G3). De exemplu:
...G91 G78 G41... N110 G1 X80 Y-50 N120 G92 X0 Y0 N130 X80 Y50 ...

Dac este programat comanda G53 n modul ofset ntre dou interpolri, vectorul de compensare va fi ters la punctul final al blocului anterior, se va executa poziionarea n G53 i vectorul va fi reconstituit la punctul final al urmtoarei interpolri (alta dect G53). Dac interpolarea anterioar sau cea care urmeaz este o interpolare circular, va fi afiat mesajul de eroare 3041 AFTER G2, G3 ILLEG. BLOCK (bloc nepermis dup G2, G3). De exemplu:
...G91 G17 G41... N110 G1 X80 Y-50 N120 G53 Y80 N130 G53 Y0 N140 X80 Y50 ...

Dac este programat comanda G28 sau G30 (urmat de G29) ntre dou blocuri n modul ofset, vectorul de compensare va fi ters la punctul final al blocului care poziioneaz scula n punctul intermediar, scula se va mica n punctul de referin i vectorul va fi reconstituit la punctul final al blocului de revenire G29. De exemplu:
...G91 G17 G41... N110 G1 X80 Y-50 N120 G28 Y80 N130 G29 Y0 N140 X80 Y50 ...

104

14 Compensarea sculei n modul ofset se poate de asemenea apela o valoare nou de compensare la adresa D. n eventualitatea inversrii semnului razei, direcia de micare de-a lungul conturului va fi inversat (vezi i mai nainte). Altfel, va fi aplicabil urmtoarea procedur. Vectorul de compensare va fi calculat cu noua valoare a razei la punctul final al interpolrii, n care a fost programat noua adres D. Deoarece vectorul de compensare a fost calculat cu valoarea anterioar a razei n punctul de nceput al acelui bloc, traiectoria centrului sculei nu va fi paralel cu traiectoria programat. De asemenea, o valoare nou pentru compensarea razei poate fi apelat la adresa D i ntr-o interpolare circular, totui, de aceast dat, centrul sculei se va deplasa de-a lungul unui arc cu raz variabil. Un caz special pentru cele discutate anterior este anularea sau impunerea compensrii cu D00 sau respectiv Dnn, atunci cnd suntem n modul ofset. Avei n vedere diferena ntre traiectoriile sculei cu referire la urmtorul exemplu, n care compensarea este impus cu G41 sau G42 i anulat cu G40, sau cnd compensarea este impus i anulat prin programarea D.

105

14 Compensarea sculei Se poate folosi de asemenea i un detaliu de program sau subprogram pentru a prelucra una din piesele unui ansamblu: cea cuprins folosind compensare de raz pozitiv, respectiv piesa cuprinztoare folosind compensare de raz negativ, i viceversa. S revedem urmtorul detaliu de program:
... N020 N030 N040 N050 N060 ... G42 G1 X80 D1 G1 Z-5 G3 I-80 G1 Z2 G40 G0 X0

Cnd compensarea de raz este aplicat unui cerc cu raz variabil, comanda numeric va calcula vectorul (vectorii) de compensare pentru un cerc imaginar ncepnd din punctul de start, a crui raz este egal n punctul de start cu raza cercului programat, iar centrul coinciznd cu cel programat. Vectorul (vectorii) de compensare va fi calculat pe un cerc imaginar la punctul final al su, a crui raz este egal cu raza n punctul final a cercului programat, punctul de centru coinciznd cu cel al cercului programat. Cnd a fost programat un cerc complet, se poate ntmpla adesea ca traiectoria sculei s acopere mai mult dect un cerc complet n modul ofset. De exemplu, aceasta se poate ntmpla la programarea unei inversri de direcie pe un contur:
...G17 G42 G91... N110 G1 X30 Y-40 N120 G41 G2 J-40 N130 G42 G1 X30 Y40 ...

centrul sculei acoper un arc de cerc ntreg din punctul P1 n punctul P1 i un altul din punctul P1 n punctul P2.

106

14 Compensarea sculei Cnd modul ofset este anulat prin programarea I, J, K, va rezulta o condiie similar:
...G18 G90 G41... N090 G1 X30 N100 G2 J-60 N110 G40 G1 X120 Y180 I-60 J-60 ...

Centrul sculei acoper un arc de cerc n ntregime din punctul P1 n punctul P1 i un altul din punctul P1 n punctul P2.

Doi sau mai muli vectori de compensare pot fi produi cnd se merge n jurul colurilor ascuite. Cnd punctele lor finale se gsesc aproape unele de celelalte, micarea nu va fi posibil ntre dou astfel de puncte. Cnd distana dintre cei doi vectori este mai mic dect valoarea parametrului DELTV pe fiecare ax, vectorul artat n figur va fi omis, i traiectoria sculei va fi modificat n conformitate cu aceasta. Not: Cnd parametrul este prea mare (din diverse cauze) colurile ascuite cu unghiuri mici pot fi terse la prelucrare.

14.5.8 Interferene la compensarea sculei Se poate ntmpla adesea n modul ofset ca traiectoria sculei s fie opus fa de cea programat. n aceste condiii, scula va tia din pies contrar cu inteniile programatorului. Se face referire la acest fenomen ca fiind interferen la compensarea sculei.

107

14 Compensarea sculei n cazul prezentat n figur, dup ce s-au calculat punctele de intersecie, se va obine o traiectorie a sculei invers fa de cea programat n execuia interpolrii N2. Aria haurat indic faptul c scula taie din pies.

Pentru a se evita aceasta, comanda numeric execut o verificare a interferenei atunci cnd parametrul INTERFER este impus 1. Acum comanda numeric va verifica dac condiia -90 < < +90 este ndeplinit pentru unghiul cuprins ntre deplasamentul programat i cel compensat cu raza. Cu alte cuvinte comanda numeric va verifica dac vectorul de deplasament compensat are sau nu o component opus vectorului de deplasament programat.

Dac parametrul ANGAL este impus 1, dup verificarea unghiului comanda numeric va afia un mesaj de eroare de interferen 3048 INTERFERENCE ALARM cu un bloc nainte de apariia problemei.

108

14 Compensarea sculei

Dac parametrul ANGAL este impus 0, comanda numeric nu va afia mesajul de eroare, dar va ncerca n mod automat s corecteze conturul pentru a evita tierea din pies. n continuare se va descrie procedura de compensare. Fiecare din blocurile A, B i C sunt n modul ofset. Vectorii calculai ntre blocurile A i B sunt

v , v , v , v ; vectorii de compensare ntre blocurile B i C sunt v , v , v , v . - v i v vor fi ignorai dac exist o interferen ntre ei. - v i v vor fi ignorai dac exist o interferen ntre ei. - v i v vor fi ignorai dac exist o interferen ntre ei. - v i v nu pot fi omii dac exist o interferen ntre ei, aa c se afieaz un
1 2 3 4 5 6 7 8 4 3 2 1 5 6 7 8

mesaj de eroare. Este evident din cele de mai sus c vectorii de compensare sunt mperecheai la nceputul i la sfritul punctelor de interpolare B i vor fi ignorai n perechi. Dac numrul de vectori de compensare pe o parte este 1 (sau se reduce la 1), vor fi omii doar vectorii de pe cealalt 14 Compensarea sculei . 109

parte. Procedura de omitere va fi executat att timp ct interferena persist. Primul vector de compensare din punctul de pornire al interpolrii B i ultimul vector din punctul final nu pot fi ignorai. Dac, drept rezultat al omisiunii, este eliminat interferena, nu se va afia un mesaj de eroare, dar n celelalte cazuri se va afia mesajul 3048 INTERFERENCE ALARM. Vectorii de compensare rmai dup fiecare omisiune vor fi interconectai ntotdeauna prin linii drepte chiar dac interpolarea B este circular. Este evident din exemplul de mai sus c execuia interpolrii A nu va fi nceput pn cnd nu s-a verificat pentru interferene interpolarea B. Pentru aceasta, i blocul C trebuie introdus n bufer i trebuie calculai i vectorii de compensare pentru tranziia B C. Mai jos se vor descrie cteva cazuri tipice de interferen: Frezarea unei trepte mai mici dect raza sculei. Comanda numeric afieaz mesajul de eroare 3048 INTERFERENCE ALARM sau altfel va tia din pies.

Prelucrarea unui col interior cu o raz mai mic dect raza sculei. Comanda numeric afieaz mesajul de eroare 3048 INTERFERENCE ALARM sau altfel va tia mai mult din pies.

14 Compensarea sculei 110

Frezarea unei trepte mai mici dect raza sculei de-a lungul unui arc. Dac parametrul ANGAL=0, comanda numeric va terge vectorul v2 i va interconecta vectorii v1 i v3 cu o linie dreapt pentru a evita tierea din pies. Dac parametrul ANGAL=1, comanda numeric va afia mesajul de eroare 3048 INTERFERENCE ALARM i se va opri la sfritul blocului anterior.

Uneori scula nu va tia efectiv din pies, dar verificarea de interferen indic o eroare. Dac se prelucreaz un canal mai mic dect raza de compensare, nu se va tia din pies mai mult (vezi figura), totui comanda numeric va afia mesajul de eroare 3048 INTERFERENCE ALARM deoarece direcia de deplasare n lungul traiectoriei de interpolare compensate B este opus celei programate.

14 Compensarea sculei

. 111

n exemplul alturat este afiat de asemenea o eroare de interferen deoarece deplasarea traiectoriei compensate n interpolarea B este opus celei programate.

14.6 Ofsetul tridimensional al sculei (G41, G42) Compensarea 2D a razei sculei va produce ofsetul sculei n planul selectat prin comenzile G17, G18, G19. Aplicarea compensrii tridimensionale a sculei face posibil luarea n consideraie a compensrii sculei n trei dimensiuni. 14.6.1 Programarea ofsetului tridimensional al sculei (G40, G41, G42) Comanda G41 (G42) Xp Yp Zp I J K D (E) va impune compensarea 3D a sculei. Xp Yp Zp nseamn axele X, Y, Z sau axe paralele cu acestea (dac exist). Dac nu se face referire la o anumit ax sunt luate n considerare n mod automat axele principale. De exemplu: instruciunea G41 X I J K se refer la spaiul X Y Z instruciunea G41 U V Z I J K se refer la spaiul U W Z instruciunea G41 W I J K se refer la spaiul X Y W Atunci cnd este impus compensarea tridimensional a sculei, trebuie specificat fiecare dintre adresele I, J, K pentru c altfel comanda numeric va trece n starea de compensare bidimensional (2D) a razei. Valorile specificate la adresele I, J, K sunt componentele vectorului de compensare tridimensional. Valorile componentelor sunt modale, adic fiecare dintre ele va rmne activ pn cnd se va face referire la o alt valoare I, J sau K. Valoarea de compensare care urmeaz s fie aplicat poate fi apelat la adresa D. Constanta dominant a calculului compensrii poate fi specificat la adresa E.

14 Compensarea sculei 112

Comanda G40 sau D00 va anula compensarea de ofset tridimensional. Diferena ntre cele dou comenzi este c D00 va terge doar compensarea, pstrndu-se starea G41 sau G42 neschimbat. Dac dup aceea se face referire la o nou adres D (alta dect zero), noua compensare a sculei va fi impus n funcie de starea G41 sau G42. Dac este folosit instruciunea G40, orice referire la adresa D nu va avea nici un efect pn cnd nu se va programa G41 sau G42. Calculul compensrii poate fi impus (G41, G42) sau anulat (G40 sau D00) numai ntr-un bloc de micare liniar (G00 sau G01). Strile G40, G41, G42 sunt modale. La punerea sub tensiune comanda numeric trece n starea G40. 14.6.2 Vectorul de ofset tridimensional Comanda numeric va genera componentele vectorilor de compensare n modul urmtor:

unde r este valoarea de compensare apelat la adresa D, P este constanta dominant, I, J, K sunt valorile specificate n program. Valoarea constantei dominante este luat din parametrul DOMCONST doar n cazul n care nu este specificat o alt valoare n program la adresa E. Dac valoarea constantei dominante este 0 i la adresa E nu s-a specificat alt valoare, comanda numeric va calcula valoarea lui P din relaia

n funcie de direciile vectorilor de compensare specificai n fiecare bloc, comanda numeric va lua n consideraie compensarea bloc dup bloc. Astfel, n decursul unei prelucrri tridimensionale, sistemul CAM nu are nevoie s genereze traiectoria pentru o anumit scul, ci trebuie calculate doar direciile vectoriale la punctele finale ale interpolrilor. Apoi programele generate n acest fel pot fi rulate i folosind scule de lungimi diferite. Vectorul de compensare nu poate fi modificat ntr-o interpolare circular, adic vectorii de compensare sunt identici la nceputul i la sfritul unei interpolri circulare. 14 Compensarea sculei . 113

Instruciunea G42 funcioneaz n acelai fel ca G41 cu diferena c vectorul de compensare este calculat ntr-o direcie opus la G41:

Trecerea din starea G41 n G42 sau invers se poate face numai ntr-un bloc de interpolare liniar. Valorile anterioare vor fi modale dac fiind impus compensarea tridimensional a sculei ntr-o interpolare I, J i K sunt toate omise. Nu este posibil impunerea simultan a compensrii tridimensionale i a compensrii de raz bidimensionale.

15 Transformri speciale 114

15 Transformri speciale
15.1 Rotaia sistemului de coordonate (G68, G69) O form programat poate fi rotit n planul selectat cu G17, G18, G19 prin folosirea comenzii G68 p q R Coordonatele centrului de rotaie vor fi specificate la adresa p i q. Comanda numeric va interpreta doar data scris la coordonatele p i q ale planului selectat. Datele de coordonat p i q sunt interpretate ca i coordonate rectangulare chiar i atunci cnd este impus specificarea de coordonate polare. Folosind G90, G91 sau operatorul I, coordonatele p i q ale centrului de rotaie pot fi specificate ca date absolute sau incrementale. n cazul n care una sau ambele valori pentru p i q nu sunt introduse, va fi considerat ca centru de rotaie poziia instantanee a axei.

Unghiul de rotaie este specificat la adresa R. O valoare pozitiv sau negativ scris la adresa R reprezint o direcie de rotaie antiorar respectiv orar. Valoarea lui R poate fi specificat cu 8 cifre zecimale. Acurateea rotaiei poate fi selectat prin referirea la parametrul ANG.ACCU. Dac valoarea sa este 0 sau 1, acurateea de calcul a rotaiei va fi 0.001 respectiv 0.00001. Valoarea specificat pentru R poate fi absolut sau incremental. Cnd unghiul de rotaie este specificat ca dat incremental, valoarea lui R va fi adugat unghiului programat anterior. Rotaia poate fi anulat cu comanda G69. Coordonatele centrului de rotaie i unghiul vor fi terse. Instruciunea poate acompania i o alt comand.

15 Transformri speciale

. 115

Exemplu:
N1 G17 G90 G0 X0 Y0 N2 G68 X90 Y60 R60 N3 G1 X60 Y20 F150 (G91 X60 Y20 F150) N4 G91 X80 N5 G3 Y60 R100 N6 G1 X-80 N7 Y-60 N8 G69 G90 X0 Y0

15.2 Modificarea la scar (G50, G51) Comanda G51 v P poate fi folosit pentru modificarea la scar a unei forme programate. P1P4: Puncte specificate n programul pies P1P4: Puncte dup modificare la scar P0: Centrul de modificare la scar Coordonatele centrului de modificare la scar pot fi introduse la coordonatele lui v. Adresele aplicabile sunt X, Y, Z, U, V, W. Datele pentru coordonata V introduse aici vor fi interpretate ca date rectangulare (carteziene), chiar i atunci cnd este activ specificarea de date polare. Folosind G90, G91 sau operatorul I, coordonatele v ale centrului de modificare la scar pot fi specificate ca date absolute sau incrementale. n cazul n care adresele uneia sau a ambelor axe nu sunt valori asignate, va fi considerat centru de modificare la scar poziia instantanee a axelor. Factorul de modificare la scar poate fi specificat la adresa P. Valoarea sa poate fi reprezentat prin 8 cifre zecimale; poziia punctului zecimal nu are importan. Modificarea la scar se poate anula cu comanda G50

15 Transformri speciale 116

Exemplu:
N1 G90 G0 X0 Y0 N2 G51 X60 Y140 P0.5 N3 G1 X30 Y100 F150 (G91 X30 Y100 F150) N4 G91 X100 N5 G3 Y60 R100 N6 G1 X-100 N7 Y-60 N8 G50 G90 X0 Y0

15.3 Imagine n oglind programabil (G50.1, G51.1) O form programat poate fi proiectat ca o imagine n oglind de-a lungul coordonatelor selectate n v prin comanda G51.1 v astfel nct coordonatele axei (sau axelor) imaginii n oglind pot fi specificate prin v. Coordonata v poate fi X, Y, Z, U, V, W, A, B, C. Datele coordonatei v introduse aici sunt interpretate drept coordonate rectangulare chiar i atunci cnd este activ specificarea de coordonate polare. Folosind G90, G91 sau operatorul I, coordonatele v ale axelor imaginii n oglind pot fi specificate ca date absolute sau incrementale. Pe axa pentru a crei adres nu s-a introdus nici o valoare, nu va fi nici o imagine n oglind. Comanda G50.1 v va anula imaginea n oglind pe axa (axele) specificate la v. Pentru coordonatele v se pot nscrie orice date arbitrare, efectul fiind doar nregistrarea aciunii de anulare. Atunci cnd se lanseaz aceast comand nu trebuie s fie n lucru o comand de rotaie sau de modificare la scar. n caz contrar este afiat un mesaj de eroare 3000 MIRROR IMAGE IN G51, G68 (imagine n oglind n G51, G68). Atunci cnd se aplic o imagine n oglind asupra unei axe din compunerea planului selectat: - direcia de parcurgere a cercului este inversat automat (interschimbare G02 cu G03) - unghiul de rotaie este considerat cu semnificaie invers (G68).

15 Transformri speciale

. 117

Exemplu: subprogram
O0101 N1 G90 G0 X180 Y120 F120 N2 G1 X240 N3 Y160 N4 G3 X180 Y120 R80 N5 M99

program principal
O0100 N1 G90 (specificare de coordonat absolut) N2 M98 P101 (apel de subprogram) N3 G51.1 X140 (imagine n oglind aplicat unei axe paralele cu axa Y la coordonata X=140) N4 M98 P101 (apel de subprogram) N5 G51.1 Y100 (imagine n oglind aplicat unei axe paralele cu axa X la coordonata Y=100) N6 M98 P101 (apel de subprogram) N7 G50.1 X0 (anulare imagine n oglind pe axa paralel cu Y) N8 M98 P101 (apel de subprogram) N9 G50.1 Y0 (anulare imagine n oglind pe axa paralel cu X)

15.4 Reguli de programare a transformrilor speciale Instruciunile de rotaie i de modificare la scar G68 i G51 pot fi introduse n orice ordine. Totui trebuie avut n vedere c atunci cnd rotaia este urmat de modificarea la scar comanda de rotaie va avea un efect asupra centrului de modificare la scar. Dac, pe de alt parte, modificarea la scar este urmat de rotaie, comanda de modificare la scar va avea un efect asupra coordonatelor centrului de rotaie. n continuare comenzile de activare i dezactivare ale celor dou proceduri trebuie s fie cuprinse unele n altele, ele nu trebuie s se intersecteze unele cu altele: rotaie-modificare la scar
N1 G90 G17 G0 X0 Y0 N2 G68 X80 Y40 R60 N3 G51 X130 Y70 P0.5 N4 X180 Y40 N5 G1 Y100 F200 N6 X80 N7 Y40 N8 X180 N9 G50 N10 G69 G0 X0 Y0

modificare la scar-rotaie
N1 G90 G17 G0 X0 Y0 N2 G51 X130 Y70 P0.5 N3 G68 X80 Y40 R60 N4 X180 Y40 N5 G1 Y100 F200 N6 X80 N7 Y40 N8 X180 N9 G69 N10 G50 G0 X0 Y0

15 Transformri speciale 118

Este evident din figura de mai sus faptul c ordinea de aplicare a diferitelor transformri are importan. Imaginea n oglind programat este un caz diferit. Ea poate fi activat doar n strile G50 i G69 adic n absena comenzilor de modificare la scar i de rotaie. Pe de alt parte, n starea activ a comenzii de imagine n oglind se pot activa att comanda de modificare la scar ct i cea de rotaie. Imaginea n oglind nu se poate suprapune peste comenzile de modificare la scar i de rotaie. n consecin trebuie anulate n ordinea corect mai nti rotaia i apoi modificarea la scar, iar apoi dezactivat imaginea n oglind: G51.1 G51 G68 G69 G50 G50.1 (activare imagine n oglind) (activare modificare la scar) (activare rotaie) (dezactivare rotaie) (dezactivare modificare la scar) (dezactivare imagine n oglind)

16 Calcule geometrice automate

. 119

16 Calcule geometrice automate


16.1 Programarea teirii i a rotunjirii colurilor Comanda numeric este capabil s insereze automat teirea sau rotunjirea ntre dou blocuri care conin interpolare liniar (G01) sau circular (G02, G03). O teire a crei lungime este egal cu valoarea specificat la adresa ,C (virgul i C) este inserat ntre punctul final al blocului care conine adresa ,C i punctul de nceput al blocului urmtor. Exemplu:
N1 G1 G91 X30 ,C10 N2 X10 Y40

Valoarea specificat la adresa ,C arat distana dintre punctul de nceput/sfrit al teiturii i intersecia presupus a celor dou blocuri succesive. Se poate insera o teitur i ntre dou cercuri sau ntre un cerc i o linie dreapt. n acest caz valoarea ,C este lungimea coardei desenate din intersecie. O rotunjire, a crei raz corespunde valorii date la adresa ,R (virgul i R) este inserat ntre punctul final al blocului care conine adresa ,R i punctul de nceput al blocului urmtor. Exemplu:
N1 G91 G01 X30 ,R8 N2 G03 X-30 Y30 R30

Se insereaz un arc de raz ,R ntre cele dou blocuri astfel nct cercul s se racordeze la ambele elemente de traiectorie. Comanda coninnd o teitur sau o rotunjire a colului poate fi scris i la sfritul mai multor blocuri succesive dup cum se arat n exemplul urmtor:
G1 Y40 ,C10 X60 ,R22 G3 X20 Y80 R40 ,C10 G1 Y110

120

16 Calcule geometrice automate Note: - Teirea sau rotunjirea pot fi programate doar ntre coordonatele planului selectat (G17, G18, G19), n caz contrar se afieaz mesajul de eroare 3081 DEFINITION ERROR ,C ,R (eroare de definire pentru ,C ,R). - Teirea sau rotunjirea colului pot fi aplicate doar ntre blocurile G1, G2 sau G3, n caz contrar se afieaz mesajul de eroare 3081 DEFINITION ERROR ,C ,R (eroare de definire pentru ,C ,R). - n cazul n care lungimea teiturii sau raza rotunjirii sunt aa de mari nct nu pot fi inserate la blocurile programate, se afieaz mesajul de eroare 3084 ,C ,R TOO HIGH (,C ,R prea mari). - Dac sunt programate n acelai bloc ,C i ,R se afieaz mesajul de eroare 3017 ,C AND ,R IN ONE BLOCK (,C i ,R n acelai bloc). - n modul bloc singular comanda numeric se oprete i nregistreaz starea STOP dup executarea teiturii sau rotunjirii colului. 16.2 Specificarea liniei drepte prin unghi Linia dreapt poate fi specificat n planul determinat de comenzile G17, G18, G19 cu ajutorul unei coordonate a planului selectat i a unghiului dat la adresa ,A.

n formulele de mai sus Xp, Yp, Zp indic axele X, Y, Z sau pe cele paralele cu acestea, n timp ce q reprezint o ax opional n afara planului selectat. Specificaiile de la adresa ,A pot fi folosite i dup codurile G0 i G1. Unghiul este msurat de la prima ax a planului selectat i direcia pozitiv este antiorar. Valoarea ,A poate fi att pozitiv ct i negativ, mai mare de 360 sau mai mic de 360 .

121

16 Calcule geometrice automate Exemplu:


G17 G90 G0 X57.735 Y0 ... G1 G91... X100 ,A30 (aceast specificaie este echivalent cu X100 Y57.735 unde 7.735=100*tg30) Y100 ,A120 (aceast specificaie este echivalent cu X-57.735 Y100 unde -57.735=100/tg120) X-100 ,A210 (aceast specificaie este echivalent cu X-100 Y-57.735 unde -57.735=-100*tg30) Y-100 ,A300 (aceast specificaie este echivalent cu X57.735 Y-100 unde 57.735=-100/tg120)

Note. - Se poate defini ntr-un bloc o linie dreapt prin unghi, mpreun cu o teitur sau o rotunjire de col. Exemplu:
X100 ,A30 ,C5 Y100 ,A120 ,R10 X-100 A210

- Specificarea unghiului la adresa ,A se poate aplica i la ciclurile de gurire. n acest caz este recunoscut n cursul executrii poziionrii n planul selectat. De exemplu blocul:
G81 G91 X100 ,A30 R-2 Z-25

este echivalent cu blocul urmtor:


G81 G91 X100 Y57.735 R-2 Z-25

122

16 Calcule geometrice automate 16.3 Calculul interseciei n planul selectat Calculul interseciei discutat n continuare este executat de ctre comanda numeric doar cnd este activ compensarea razei sculei (modul ofset G41 sauG42). Dac n programul pies nu este nevoie de compensarea razei sculei, se activeaz compensarea i se folosete un ofset D00: Cu compensarea razei sculei:
G41(sau G42) ...Dnn ... calculele interseciei ... G40

Fr compensarea razei sculei:


G41(sau G42) ...D00 ... calculele interseciei ... G40

16.3.1 Intersecia liniar liniar Dac din dou blocuri succesive de interpolare liniar, al doilea bloc este specificat astfel nct sunt specificate coordonatele punctului final n planul selectat i de asemenea unghiul su, comanda numeric calculeaz intersecia liniei drepte la care se face referire n primul bloc i linia dreapt specificat n cel de al doilea. Linia dreapt specificat n cel de al doilea bloc este determinat n totalitate. Intersecia calculat este punctul final al primului bloc, i de asemeni punctul de pornire al celui de al doilea.
G17 G41 (G42) N1 G1 ,A1 sau X1 Y1 N2 G1 G90 X2 Y2 ,A2 G18 G41 (G42) N1 G1 ,A1 sau X1 Z1 N2 G1 G90 X2 Z2 ,A2 G19 G41 (G42) N1 G1 ,A1 sau Y1 Z1 N2 G1 G90 Y2 Z2 ,A2

Intersecia este calculat ntotdeauna n planul selectat de G17, G18, G19. Primul bloc (N1) este specificat fie cu ajutorul unghiului su (,A1), n acest caz este dus o linie dreapt n unghiul respectiv din punctul iniial pn n punctul de intersecie, sau printr-un poziie opional, alta dect punctul iniial al liniei drepte (X1, Y1; X1, Z1; sau Y1, Z1). n acest caz intersecia este calculat cu linia dreapt care trece prin ambele puncte. Coordonatele date n al doilea bloc (N2) sunt interpretate ntotdeauna de ctre comanda numeric ca date absolute (G90).

123

16 Calcule geometrice automate De exemplu:


(G17) G90 G41 D0... G0 X90 Y10 N10 G1 ,A150 N20 X10 Y20 ,A225 G0 X0 Y20 ...

Blocul N10 poate fi de asemenea dat cu coordonatele unui punct al liniei drepte:
G17 G90 G41 D0... G0 X90 Y10 N10 G1 X50 Y33.094 N20 X10 Y20 ,A225 G0 X0 Y20 ...

De notat c n acest caz coordonata X, Y (X50 Y33.094) dat n blocul N10 nu e recunoscut de comanda numeric drept punct final, ci ca punct de tranziie care unete linia dreapt cu punctul iniial. Calculul interseciei poate fi combinat de asemenea cu specificare de teire sau rotunjire de col. Exemplu:

G17 G90 G41 D0... G0 X90 Y10 N10 G1 X50 Y33.094 ,C10 N20 X10 Y20 ,A225 G0 X0 Y20 ...

G17 G90 G41 D0... G0 X90 Y10 N10 G1 X50 Y33.094 ,R10 N20 X10 Y20 ,A225 G0 X0 Y20 ...

n exemplele de mai sus mrimea teirii este msurat de la intersecia calculat, iar rotunjirea este inserat n intersecia calculat.

124

16 Calcule geometrice automate 16.3.2 Intersecia liniar circular Dac se d un bloc circular dup un bloc liniar, astfel c sunt specificate coordonatele poziiei finale i ale centrului i razei cercului, adic cercul este determinat, atunci comanda numeric calculeaz intersecia ntre linia dreapt i cerc. Intersecia calculat este punctul final al primului bloc, ca i punctul de nceput al celui de al doilea. G17 G41 (G42) N1 G1 ,A sau X1 Y1 N2 G2 (G3) G90 X2 Y2 I JRQ G18 G41 (G42) N1 G1 ,A sau X1 Z1 N2 G2 (G3) G90 X2 Z2 I KRQ G19 G41 (G42) N1 G1 ,A sau Y1 Z1 N2 G2 (G3) G90 Y2 Z2 I KRQ

Intersecia se calculeaz ntotdeauna n planul selectat cu G17, G18, G19. Primul bloc (N1) este specificat fie prin unghiul su (,A), n acest caz este dus o linie dreapt din punctul iniial n punctul de intersecie sub unghiul corespunztor, sau prin specificarea unui punct opional, altul dect punctul iniial al liniei drepte (X1, Y1; X1, Z1; sau Y1, Z1). n acest caz este calculat intersecia cu linia dreapt care trece prin ambele puncte. Coordonatele date n al doilea bloc (N2) i de asemeni coordonatele I, J, K care definesc centrul arcului, sunt interpretate ntotdeauna de ctre comanda numeric ca date absolute (G90). Se poate specifica la adresa Q care dintre cele dou intersecii rezultante s fie calculat. Dac valoarea adresei este mai mic dect zero (Q<0), este calculat cea mai apropiat intersecie n direcia liniei drepte, iar dac valoarea adresei este mai mare dect zero (Q>0), este calculat cea mai ndeprtat intersecie n direcia liniei drepte. Direcia de micare de-a lungul liniei drepte este determinat de ctre unghi.

125

16 Calcule geometrice automate S examinm urmtorul exemplu:

%O9981 N10 G17 G42 G0 X100 Y20 D0 S200 M3 N20 G1 X-30 Y-20 N30 G3 X20 Y40 I20 J-10 R50 Q-1 N40 G40 G0 Y60 N50 X120 N60 M30 %

%O9982 N10 G17 G42 G0 X100 Y20 D0 S200 M3 N20 G1 X-30 Y-20 N30 G3 X20 Y40 I20 J-10 R50 Q1 N40 G40 G0 Y60 N50 X120 N60 M30 %

Blocul circular N30 G3 este determinat, fiind specificate att coordonatele centrului (I20 J-10 n valoare absolut) ct i raza cercului (R50), comanda numeric va calcula intersecia liniei drepte date n blocul N20 cu cercul dat n blocul N30. n programul O9981 se calculeaz cea mai apropiat intersecie n direcia liniei drepte deoarece este dat Q-1 n blocul circular N30. Calcului interseciei liniar circular poate fi combinat cu specificarea teirii sau rotunjirii colului. Exemplu:
%O9983 N10 G17 G42 G0 X100 Y20 D0 S200 M3 N20 G1 X-30 Y-20 ,R15 N30 G3 X20 Y40 I20 J-10 R50 Q-1 N40 G40 G0 X60 N50 X120 N60 M30 %

Comanda numeric calculeaz intersecia blocurilor N20 i N30 i introduce o rotunjire a colului de 15 mm ca efect al ,R15 dat n blocul N20.

126

16 Calcule geometrice automate 16.3.3 Intersecia circular - liniar Dac se d un bloc liniar dup un bloc circular astfel c linia dreapt este total definit, adic sunt specificate att punctul final ct i unghiul, atunci comanda numeric calculeaz intersecia dintre cerc i linia dreapt. Intersecia calculat este punctul final al primului bloc, i punctul de pornire al celui de al doilea. G17 G41 (G42) N1 G2 (G3) X1 Y1 I J sau R N2 G1 G90 X2 Y2 ,A Q G18 G41 (G42) N1 G2 (G3) X1 Z1 I K sau R N2 G1 G90 X2 Z2 ,A Q G19 G41 (G42) N1 G2 (G3) Y1 Z1 J K sau R N2 G1 G90 Y2 Z2 ,A Q

Intersecia se calculeaz ntotdeauna n planul selectat cu G17, G18, G19. n primul bloc (N1) este specificat cercul fie printr-un punct opional (X1, Y1; X1, Z1; sau Y1, Z1) i coordonatele punctului de centru (I J; I K; sau J K) fie prin coordonatele punctului de centru i a razei (R). n al doilea bloc (N2) este determinat linia dreapt, adic sunt date coordonatele punctului final (X2, Y2; X2, Z2; sau Y2, Z2) i unghiul (,A) liniei drepte. Coordonatele punctului final al liniei drepte sunt interpretate ntotdeauna de ctre comanda numeric ca date absolute (G90). La adresa ,A trebuie specificat unghiul vectorului liniei drepte ndreptat de la intersecia rezultant ctre punctul final, pentru c altfel pot apare micri inverse fa de cele programate. Se poate specifica la adresa Q care dintre cele dou intersecii rezultante s fie calculat. Dac valoarea adresei este mai mic dect zero (Q<0, de exemplu Q-1), este calculat cea mai apropiat intersecie n direcia liniei drepte, iar dac valoarea adresei este mai mare dect zero (Q>0, de exemplu Q1), este calculat cea mai ndeprtat intersecie n direcia liniei drepte. Direcia de micare de-a lungul liniei drepte este determinat de ctre unghi.

127

16 Calcule geometrice automate S examinm urmtorul exemplu:

%O9983 N10 G17 G0 X90 Y0 M3 S200 N20 G42 G1 X50 D0 N30 G3 X-50 Y0 R50 N40 G1 X-50 Y42.857 ,A171.87 Q-1 N50 G40 G0 Y70 N60 X90 N70 M30 %

%O9984 N10 G17 G0 X90 Y0 M3 S200 N20 G42 G1 X50 D0 N30 G3 X-50 Y0 R50 N40 G1 X-50 Y42.857 ,A171.87 Q1 N50 G40 G0 Y70 N60 X90 N70 M30 %

Blocul liniar N40 este complet definit, deoarece sunt specificate att coordonatele punctului final (X-50 Y42.875) ct i unghiul ( ,A171.87). Prin urmare coordonatele X-50 Y0 ale cercului programat n blocul anterior N30 nu sunt referite ca i coordonate ale punctului final, ci doar ca punct care este intersectat de ctre cerc i punctul final este intersecia calculat. n programul nr. O9983 se calculeaz cea mai apropiat intersecie n direcia liniei drepte (Q-1), iar n O9984 este specificat cea mai ndeprtat intersecie (Q1) Calcului interseciei liniar circular poate fi combinat cu specificarea teirii sau rotunjirii colului. Exemplu:
%O9983 N10 G17 G0 X90 Y0 M3 S200 N20 G42 G1 X50 D0 N30 G3 X-50 Y0 R50 ,R15 N40 G1 X-50 Y42.875 ,A171.87 Q-1 N50 G40 G0 Y70 N60 X90 N70 M30 %

n exemplu este programat o rotunjire de 15 mm n blocul N30 (,R15). Comanda numeric calculeaz intersecia blocurilor N30 i N40 i introduce rotunjirea programat la conturul rezultant.

128

16 Calcule geometrice automate 16.3.4 Intersecia circular - circular Dac sunt specificate dou blocuri circulare succesive astfel ca sunt date punctul final, coordonatele centrului i raza pentru cel de al doilea bloc, adic acesta este determinat, comanda numeric va calcula intersecia dintre cele dou cercuri. Intersecia calculat este punctul final al primului bloc i de asemeni punctul de pornire al celui de al doilea. G17 G41 (G42) N1 G2 (G3) X1 Y1 I1 J1 sau X1 Y1 R1 N2 G2 (G3) G90 X2 Y2 I2 J2 R2 Q G18 G41 (G42) N1 G2 (G3) X1 Z1 I1 K1 sau X1 Z1 R1 N2 G2 (G3) G90 X2 Z2 I2 K2 R2 Q G19 G41 (G42) N1 G2 (G3) Y1 Z1 J1 K1 sau Y1 Z1 R1 N2 G2 (G3) G90 Y2 Z2 J2 K2 R2 Q

Intersecia este calculat ntotdeauna n planul selectat de G17, G18, G19. Primul bloc (N1) este specificat fie prin coordonatele centrului (I1 J1; I1 K1; sau J1 K1) fie cu raza cercului (R1). n acest bloc interpretarea coordonatei centrului corespunde specificrii implicite a cercului, adic este distana relativ de la punctul de pornire. Coordonatele date n cel de al doilea bloc (N2), adic coordonatele I, J, K care definesc centrul cercului, sunt interpretate ntotdeauna de ctre comanda numeric ca date absolute (G90). Se poate specifica la adresa Q care dintre cele dou intersecii rezultante s fie calculat. Dac valoarea adresei este mai mic dect zero (Q<0, de exemplu Q-1), este calculat prima intersecie, iar dac valoarea adresei este mai mare dect zero (Q>0, de exemplu Q1), este calculat cea de a doua. Prima intersecie este aceea care este intersectat prima mergnd n sens orar (independent de direcia programat G2, G3).

129

16 Calcule geometrice automate S examinm urmtorul exemplu:

%O9985 N10 G17 G54 G0 X200 Y0 M3 S200 N20 G42 G1 X180 D1 N30 G3 X130 Y-40 R-50 N40 X90 Y87.446 I50 J50 R70 Q1 N50 G40 G0 Y100 N60 X200 N70 M30 %

%O9986 N10 G17 G54 G0 X200 Y10 M3 S200 N20 G42 G1 X180 D1 N30 G3 X130 Y-40 R-50 N40 X90 Y87.446 I50 J30 R70 Q1 N50 G40 G0 Y100 N60 X200 N70 M30 %

Blocul circular N40 este definit, deoarece sunt specificate att coordonatele centrului (I50 J30 n valoare absolut) ct i raza cercului (R70). Prin urmare coordonatele X-80 Z130 ale cercului programat n blocul anterior N30, nu sunt referite ca i coordonate ale punctului final, ci doar ca punct care este intersectat de ctre cerc i punctul final este intersecia calculat. n programul nr. O9985 este specificat cea mai apropiat intersecie n sens orar (Q-1), iar n O9986 este specificat cea mai ndeprtat intersecie (Q1) Calculul interseciei circular circular poate fi combinat cu specificarea teirii sau rotunjirii colului. Exemplu:
%O9986 N10 G17 G54 G0 X200 Y10 M3 S200 N20 G42 G1 X180 D1 N30 G3 X130 Y-40 R-50 ,R20 N40 X90 Y87.446 I50 J30 R70 Q1 N50 G40 G0 Y100 N60 X200 N70 M30 %

n exemplu este programat o rotunjire de 20 mm n blocul N30 (,R20). Comanda numeric calculeaz intersecia blocurilor N30 i N40 i introduce rotunjirea programat la conturul rezultant.

130

16 Calcule geometrice automate 16.3.5 nlnuirea calculrilor interseciilor Blocurile de calcul al interseciilor pot fi nlnuite, adic pot fi selectate mai multe blocuri succesive pentru calculul interseciilor. Comanda numeric va calcula intersecia pn cnd sunt gsite linii drepte sau cercuri determinate. S examinm exemplul de mai jos:

%O9984 N10 G17 G54 G0 G42 X230 Y20 D1 F300 S500 M3 N20 G1 X170 Y50 N30 G3 X110 Y10 I150 J40 R50 Q-1 N40 X60 Y70 I100 J70 R40 Q1 N50 G1 X80 Y60 ,A135 Q1 N60 X10 Y108 ,A180 N70 G40 G0 Y130 N80 X240 N90 M30 %

n exemplul de mai sus, blocurile N30, N40, N50, N60 sunt determinate. Blocul liniar N20 nu este dus n punctul su final programat (X170 Y50) deoarece blocul circular N30 este definit, adic adresele I, J, R sunt completate i intersecia care trebuie cutat este dat la adresa Q. Nici blocul N30 nu este dus n punctul su final programat (X110 Y10) deoarece blocul circular N40 este de asemenea definit. Ultimul bloc determinat n program este blocul liniar N60. Deoarece urmtorul bloc liniar N70 nu este definit, coordonatele X10 Y108 programate n blocul N60 nu sunt referite ca punct de intersecie al liniei drepte ci ca punct de coordonate final al blocului N60. n general este adevrat c punctele de coordonate al blocurilor liniare i circulare determinate n planul selectat sunt referite de ctre comanda numeric ca puncte de coordonate finale doar dac nu sunt urmate de un bloc definit.

131

17 Cicluri memorate pentru gurire

17 Cicluri memorate pentru gurire


Un ciclu de gurire poate fi descompus n urmtoarele operaii: Operaia 1 : Poziionare n planul selectat Operaia 2 : Operare dup poziionare Operaia 3 : Deplasare cu avans rapid n punctul R Operaia 4 : Operare n punctul R Operaia 5 : Gurire Operaia 6 : Operare n fundul gurii Operaia 7 : Retragere n punctul R Operaia 8 : Operare la punctul R Operaia 9 : Retragere cu avans rapid n punctul iniial Operaia 10: Operare la punctul iniial Punctul R, punct de apropiere. Scula se apropie de pies cu avans rapid pn n acest punct . Punctul iniial. Poziia de pe axa de gurire n care trebuie s se ajung nainte de pornirea ciclului.

Operaiile de mai sus dau o vedere general asupra ciclului de gurire; n anumite circumstane anumite operaii se pot omite. Un ciclu de gurire are un plan de poziionare i o ax de gurire. Planul de poziionare i axa de gurire vor fi selectate cu instruciunile de selectare a planului G17, G18, G19. Cod G Plan de poziionare Axa de gurire G17 G18 G19 Planul Xp Yp Planul Zp Xp Planul Yp Zp Zp Yp Xp

132

17 Cicluri memorate pentru gurire unde: Xp este axa X sau una paralel cu ea. Yp este axa Y sau una paralel cu ea. Zp este axa Z sau una paralel cu ea. Axele U, V, W sunt considerate axe paralele cnd sunt definite n parametri . Ciclurile de gurire pot fi configurate cu instruciunile G98 i G99. G98 : Scula este retras pn n punctul iniial n cursul ciclului de gurire. Este starea normal (implicit) n care trece comanda numeric dup punerea sub tensiune, reset sau tergerea modului ciclu. G99 : Scula este retras pn n punctul R n cursul ciclului de gurire; n consecin operaiile 9 i 10 sunt omise.

Codurile ciclurilor de gurire: G73, G74, G76, G81, ,G89 Acestea vor impune modul ciclului particular validnd variabilele ciclului pentru a fi modale. Codul G80 va anula modul ciclu i va terge variabilele ciclului din memorie. Adresele folosite n ciclurile de gurire (i semnificaiile lor) sunt: G17 G_ Xp_ Yp_ I_ J_ Zp_ R_ Q_ E_ P_ F_ S_ L_ G18 G_ Zp_ Xp_ K_ I_ Yp_ R_ Q_ E_ P_ F_ S_ L_ G19 G_ Yp_ Zp_ J_ K_ Xp_ R_ Q_ E_ P_ F_ S_ L_ (1) ( 2 ) ( 3 ) ( 4 ) ( 5) (1) Codul de gurire (2) Poziia gurii (3) Deplasamentul dup orientarea arborelui (4) Datele de gurire (5) Numrul de repetri Codul guririi: n continuare sunt explicate semnificaiile codurilor. Fiecare cod va fi modal pn cnd este programat o instruciune G80 sau un cod care aparine grupului 1 de coduri (coduri de interpolare: G01, G02, G03, G33). Att timp ct starea de ciclu este activ (instruciunile G73, G74, G76,G81, ,G89), variabilele modale ale ciclului vor fi modale de asemenea i ntre diversele tipuri de cicluri 133

17 Cicluri memorate pentru gurire de gurire. Punct iniial: Punctul iniial este poziia axei selectate pentru gurire; el va fi nregistrat - Cnd este impus modul ciclu. De exemplu, n cazul
N1 G17 G90 G0 Z200 N2 G81 X0 Y0 Z50 R150 N3 X100 Y30 Z80

Poziia punctului iniial va fi Z=200 n blocurile N2 i N3. - Sau cnd este selectat o nou ax de gurire. De exemplu:
N1 G17 G90 G0 Z200 W50 N2 G81 X0 Y0 Z50 R150 N3 X100 Y30 W20 R25

Poziia punctului iniial va fi Z=200 n blocul N2 Poziia punctului iniial va fi W=50 n blocul N3 Programarea lui R este obligatorie atunci cnd se schimb selecia axei de gurire, altfel este afiat mesajul de eroare 3055 NO BOTTOM OR R POINT (nu s-a dat punct de fund sau R). Poziia gurii - Xp, Yp, Zp Dintre valorile coordonatelor introduse, vor fi considerate pentru poziia gurii cele din planul selectat. Valorile introduse pot fi incrementale sau absolute, rectangulare (carteziene) sau polare, n uniti metrice sau n inci. Comenzile pentru imagine n oglind, rotirea sistemului de coordonate i modificare la scar sunt aplicabile valorilor coordonatelor introduse. Comanda numeric deplaseaz scula la poziia gurii cu avans rapid indiferent de care cod din grupa 1 este activ. Deplasarea dup orientarea arborelui I, J, K Dac maina respectiv este prevzut cu facilitatea de orientare a arborelui, scula poate fi ridicat de pe suprafaa prelucrat la retragere n ciclurile de alezare fin i alezare la retragere G76 i G87 pentru a nu zgria suprafaa gurii. Direcia n care trebuie retras scula de pe suprafa poate fi specificat la adresele I, J, sau K. Comanda numeric va interpreta adresele n conformitate cu planul selectat. G17: I, J G18: K, I G19: J, K 134

17 Cicluri memorate pentru gurire Fiecare adres este interpretat ca o dat incremental cu coordonate rectangulare. Adresa poate fi n sistem metric sau n inci. Comenzile de imagine n oglind, rotire sistem de coordonate i modificare la scar nu sunt aplicabile datelor I, J, K. Acestea din urm sunt valori modale. Ele sunt terse cu G80 sau cu codurile din grupul de interpolare. Retragerea este realizat cu avans rapid. Datele de gurire Poziia fundului gurii (punctul Z): Xp, Yp, Zp Poziia fundului gurii sau a punctului Z (n cazul G17) trebuie specificat la adresa axei de gurire. Coordonata punctului de fund al gurii va fi ntotdeauna interpretat ca dat rectangular care poate fi specificat n uniti metrice sau n inci, cu valoare absolut sau incremental. Cnd valoarea punctului de fund este specificat incremental, deplasarea va fi calculat din punctul R.

Comenzile de imagine n oglind i modificare la scar sunt aplicabile datelor punctului de fund. Acestea din urm sunt valori modale. Ele sunt terse cu G80 sau cu codurile din grupul de interpolare. Comanda numeric va face apropierea de punctul Z cu valoarea avansului care este activ. Punctul R Punctul de apropiere este specificat la adresa R. Este ntotdeauna o dat de coordonat rectangular care poate fi specificat n uniti metrice sau n inci, cu valoare absolut sau incremental. Comenzile de imagine n oglind i modificare la scar sunt aplicabile datelor punctului R. Acestea din urm sunt valori modale. Ele sunt terse cu G80 sau cu codurile din grupul de interpolare. Comanda numeric va face apropierea de punctul R cu avans rapid. Valoarea de intrare a sculei (Q) Este adncimea de intrare, n ciclurile G73 i G83. Este invariabil o dat incremental, pozitiv rectangular (modal). Valoarea ei va fi tears cu G80 sau cu codurile din grupul de interpolare. Comanda de modificare la scar nu afecteaz valoarea adncimii de intrare.

135

17 Cicluri memorate pentru gurire

Data auxiliar (E) Mrimea retragerii n ciclul G73 i valoarea de curare n ciclul G83 este specificat la adresa E. Este ntotdeauna o dat incremental, rectangular, pozitiv. Comanda de modificare la scar nu are efect asupra datei auxiliare. Este valoare modal. Valoarea ei va fi tears cu G80 sau cu codurile din grupul de interpolare. Dac nu a fost programat, comanda numeric preia valoarea necesar din parametrul RETG73, sau CLEG83. ntrzierea (P) Specific timpul de ntrziere la fundul gurii. Specificarea sa se face dup regulile descrise la G04. Este valoare modal. Valoarea ei va fi tears cu G80 sau cu codurile din grupul de interpolare. Avansul (F) Va defini avansul. Este valoare modal, rescris doar de programarea unei alte date F. Nu va fi tears de G80 sau alt cod. Viteza arborelui (S) Valoare modal, rescris doar de programarea unei alte date S. Nu va fi tears de G80 sau alt cod. Numrul de repetri (L) Definete numrul de repetri ale ciclului n gama de la 1 la 9999. Dac L nu este completat, este presupus L=1. n cazul L=0 datele ciclului vor fi stocate dar nu se vor executa. Valoarea pentru L este activ doar n blocul n care a fost specificat. Exemple de coduri de gurire modale i de variabile de ciclu:
N1 G17 G0 Z_ M3 N2 G81 X_ Y_ Z_ R_ F_

Este obligatoriu s se specifice datele de gurire (Z, R) la nceputul modului ciclu.


N3 X__

ntruct datele de gurire au fost specificate n blocul N2 i sunt folosite neschimbate n N3, nu mai trebuie completate din nou, adic se poate omite G81, Z_, R_, F_. Poziia gurii este variat doar n direcia X, scula se mic n acea direcie i va guri aceeai gaur ca n blocul N2.
N4 G82 Y_ Z_ P_

Poziia gurii se schimb n direcia Y. Metoda de gurire se conformeaz cu G82, punctul de fund ia o valoare nou (Z), punctul R i avansul (R, F) sunt luate din blocul N2.
N2 G80 M5

Modul ciclu i variabilele modale ale ciclului (cu excepia F) vor fi terse.
N6 G85 Y_ Z_ R_ P_ M3

Deoarece datele de gurire au fost terse n blocul N5 cu comanda G80, trebuie specificate din nou valorile Z, R i P.
N7 G0 X_ Y_

Modul ciclu i variabilele modale ale ciclului (cu excepia F) vor fi terse.

136

17 Cicluri memorate pentru gurire Exemplu de utilizare a repetrii ciclului: Dac trebuie gurite un anumit tip de guri cu parametri neschimbai n poziii egal distanate, se poate specifica numrul de repetri la adresa L. Valoarea lui L este activ doar n acel bloc n care a fost specificat.
N1 G90 G19 G0 X0 Y0 Z100 M3 N2 G91 G81 X100 Z-40 R97 F50 L5

Cu instruciunile de mai sus se vor face 5 guri identice distanate la 100mm pe axa X. Poziia primei guri este X=100, Y=0. Pentru G91 poziia gurii trebuie specificat incremental. Dac s-a specificat ca dat absolut (G90), operaia ar fi fost executat de cinci ori succesiv n punctul de coordonate X100, Y0.
N1 G90 G17 G16 G0 X200 Y60 Z50 M3 N2 G81 YI60 Z40 R3 F50 L6

Cu instruciunile de mai sus se vor face 6 guri distanate la 60 de grade pe un cerc cu raza de 200mm. Poziia primei guri coincide cu punctul de coordonate X=200 Y=0.

137

17 Cicluri memorate pentru gurire 17.1 Descrierea detaliat a ciclurilor memorate 17.1.1 Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului (G73)

Variabilele folosite n ciclu sunt: G17 G73 Xp__ Yp__ Zp__ R__ Q__ E__ F__ L__ G18 G73 Zp__ Xp__ Yp__ R__ Q__ E__ F__ L__ G19 G73 Yp__ Zp__ Xp__ R__ Q__ E__ F__ L__ Operaiile ciclului sunt: 1. poziionare cu avans rapid 2. 3. deplasare cu avans rapid n punctul R 4. 5. gurire pn n punctul Z cu avansul F 6. 7. cu G99, retragere n punctul R, cu avans rapid 8. 9. cu G98, retragere n punctul iniial, cu avans rapid 10. Descrierea operaiei de gurire 5 este dup cum urmeaz: - gurirea n pies cu avans de lucru a adncimii de intrare specificate la adresa Q, - retragerea cu avans rapid pe distana specificat la adresa F sau n parametrul RETG73, - gurirea din nou a adncimii de intrare Q, calculat din punctul final al intrrii anterioare, - retragerea cu avans rapid la valoarea specificat la adresa E. Procedura descris mai sus este executat pn la punctul de fund specificat la adresa Z.

138

17 Cicluri memorate pentru gurire 17.1.2 Ciclu de filetare n sens antiorar (G74)

Acest ciclu poate fi folosit doar cu un tarod cu resort. Variabilele utilizate sunt: G17 G74 Xp__ Yp__ Zp__ R__ (P__) F__ L__ G18 G74 Zp__ Xp__ Yp__ R__ (P__) F__ L__ G19 G74 Yp__ Zp__ Xp__ R__ (P__) F__ L__ nainte de a se porni ciclul, arborele trebuie pornit sau programat s se roteasc n direcia lui M4 (sens antiorar). Valoarea avansului trebuie specificat n conformitate cu pasul filetului tarodului. - n starea G94 (avans pe minut): F=P*S P este pasul filetului n mm/rot sau inci/rot, S este viteza arborelui n rot/min. - n starea G95 (avans pe rotaie): F=P unde P este pasul filetului n mm/rot sau inci/rot, Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. gurire pn n punctul de fund, cu avansul F (corecia i stopul sunt inactive) 6. ntrziere cu valoarea specificat la adresa P, n cazul n care parametrul TAPDWELL este validat (=1), inversare sens arbore (M3) 7. retragere n punctul R, cu avansul F (corecia i stopul sunt inactive) 8. inversare sens arbore (M4) 9. cu G98, retragere n punctul iniial, cu avans rapid 10. unde

139

17 Cicluri memorate pentru gurire 17.1.3 Ciclu de alezare fin (G76)

Ciclul G76 este aplicabil doar cnd maina unealt este prevzut cu facilitatea de orientare arbore. n aceste caz parametrul ORIENT1 trebuie s fie impus 1, altfel este afiat mesajul ERROR IN G76. ntruct n punctul de fund ciclul execut orientarea arborelui i ndeprteaz scula de pe suprafaa prelucrat cu valorile specificate la I, J i K, piesa nu va fi zgriat atunci cnd scula se retrage. Variabilele folosite n ciclu sunt: G17 G76 Xp__ Yp__ I__ J__ Zp__ R__ P__ F__ L__ G18 G76 Zp__ Xp__ K__ I__ Yp__ R__ P__ F__ L__ G19 G76 Yp__ Zp__ J__ K__ Xp__ R__ P__ F__ L__ Comanda M3 trebuie transmis nainte de pornirea ciclului. Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. gurire pn n punctul Z, cu avansul F 6. - ntrziere cu valoarea specificat la adresa P - orientare arbore (M19) - retragere scul cu avans rapid cu valorile I, J, K n planul selectat 7. cu G99, retragere n punctul R, cu avans rapid 8. cu G99, - retragere scul cu avans rapid n planul selectat, invers fa de valorile specificate la I, J, K - arbore repornit n direcia M3 9. cu G98, retragere n punctul iniial, cu avans rapid 10. cu G98, - retragere scul cu avans rapid n planul selectat, invers fa de valorile specificate la I, J, K - arbore repornit n direcia M3

140

17 Cicluri memorate pentru gurire 17.1.4 Ciclu memorat pentru anularea guririi (G80) Codul G80 va anula starea de ciclu, variabilele ciclului fiind terse. Z i R vor lua valorile incrementale 0 (restul variabilelor vor lua valoarea 0). Dac n blocul G80 se introduc coordonate dar fr s se introduc alte instruciuni, se execut deplasarea cu codurile de interpolare care erau active nainte de activarea ciclului (cod G grupa 1). 17.1.5 Gurire, ciclu de alezare parial (G81)

Variabilele folosite n ciclu sunt: G17 G81 Xp__ Yp__ Zp__ R__ F__ L__ G18 G81 Zp__ Xp__ Yp__ R__ F__ L__ G19 G81 Yp__ Zp__ Xp__ R__ F__ L__ Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. gurire pn n punctul Z, cu avansul F 6. 7. cu G99, retragere n punctul R, cu avans rapid 8. 9. cu G98, retragere n punctul iniial, cu avans rapid 10. -

141

17 Cicluri memorate pentru gurire 17.1.6 Gurire, ciclu de alezare la retragere (G82)

Variabilele folosite n ciclu sunt: G17 G82 Xp__ Yp__ Zp__ R__ P__ F__ L__ G18 G82 Zp__ Xp__ Yp__ R__ P__ F__ L__ G19 G82 Yp__ Zp__ Xp__ R__ P__ F__ L__ Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. gurire pn n punctul de fund, cu avansul F 6. ntrziere cu timpul specificat la adresa P 7. cu G99, retragere n punctul R, cu avans rapid 8. 9. cu G98, retragere n punctul iniial, cu avans rapid 10. -

142

17 Cicluri memorate pentru gurire 17.1.7 Ciclu de gurire cu retrageri pentru ruperea panului (G83)

Variabilele folosite n ciclu sunt: G17 G83 Xp__ Yp__ Zp__ R__ Q__ E__ F__ L__ G18 G83 Zp__ Xp__ Yp__ R__ Q__ E__ F__ L__ G19 G83 Yp__ Zp__ Xp__ R__ Q__ E__ F__ L__ Operaiile ciclului sunt: 1. poziionare cu avans rapid 2. 3. deplasare cu avans rapid n punctul R 4. 5. gurire pn n punctul Z cu avansul F 6. 7. cu G99, retragere n punctul R, cu avans rapid 8. 9. cu G98, retragere n punctul iniial, cu avans rapid 10. Descrierea operaiei de gurire 5 este dup cum urmeaz: - Gurirea cu avans de lucru la adncimea specificat la adresa Q, - retragerea cu avans rapid n punctul R, - apropierea cu avans rapid de adncimea anterioar pn la distana de siguran specificat la adresa E - gurirea din nou la adncimea Q, calculat din punctul final al intrrii anterioare, cu avansul F (deplasament E+Q) - retragerea cu avans rapid n punctul R. Procedura descris mai sus este executat pn la punctul de fund specificat la adresa Z. Distana E va fi luat din program (adresa E) sau de la parametrul CLEG83. 143

17 Cicluri memorate pentru gurire 17.1.8 Ciclu de filetare cu tarod (G84)

Acest ciclu poate fi folosit doar cu un tarod cu resort. Variabilele utilizate sunt: G17 G84 Xp__ Yp__ Zp__ R__ (P__) F__ L__ G18 G84 Zp__ Xp__ Yp__ R__ (P__) F__ L__ G19 G84 Yp__ Zp__ Xp__ R__ (P__) F__ L__ nainte de a se porni ciclul, trebuie selectat sensul M3 (orar) de rotire a arborelui. Valoarea avansului trebuie specificat n conformitate cu pasul filetului tarodului. - n starea G94 (avans pe minut): F=P*S P este pasul filetului n mm/rot sau inci/rot, S este viteza arborelui n rot/min. - n starea G95 (avans pe rotaie): F=P unde P este pasul filetului n mm/rot sau inci/rot, Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. filetare pn n punctul de fund, cu avansul F (corecia i stopul sunt inactive) 6. ntrziere cu valoarea specificat la adresa P, n cazul n care parametrul TAPDWELL este validat (=1), inversare sens arbore (M3) 7. retragere n punctul R, cu avansul F (corecia i stopul sunt inactive) 8. inversare sens arbore (M4) 9. cu G98, retragere n punctul iniial, cu avans rapid 10. unde

144

17 Cicluri memorate pentru gurire 17.1.9 Cicluri de filetare rigid cu tarod (n sens orar i antiorar) (G84.2, G84.3) ntr-un ciclu de filetare raportul dintre avansul axei de gurire i numrul de rotaii pe minut al arborelui trebuie s fie egal cu pasul filetului tarodului. Cu alte cuvinte, n condiii ideale de filetare, raportul P = F/S trebuie s fie constant n orice moment, unde: P este pasul filetului (mm/rot sau inci/rot), F este avansul (mm/min sau inci/min), S este viteza arborelui (rot/min). Viteza de rotaie a arborelui i avansul axei de filetare sunt controlate n mod complet independent n ciclurile de filetare pe stnga G74, respectiv pe dreapta G84. Prin urmare, condiia de mai sus nu poate fi ndeplinit cu maxim acuratee. Aceasta este valabil mai ales n fundul gurii unde avansul axei de gurire i viteza de rotaie a arborelui trebuie s fie reduse i oprite n sincronism, iar apoi accelerate la fel n direcie opus. Problema de mai sus poate fi eliminat cu un tarod cu resort, aceasta compensnd fluctuaiile n valoarea coeficientului F/S. Un principiu diferit de control este adoptat n ciclurile de gurire G84.2 i G84.3 permind un tarod rigid (filetare fr resort). In acest caz, comanda numeric menine coeficientul F/S constant n orice moment. n primul caz comanda numeric regleaz doar viteza arborelui, n al doilea caz se controleaz i poziia sa. Micrile axei de gurire i ale arborelui sunt legate prin interpolare liniar n ciclurile G84.2 i G84.3. n acest fel coeficientul F/S poate fi meninut constant i n etapele de accelerare i frnare. G84.2: ciclu de filetare rigid cu tarod G84.3: ciclu de filetare rigid cu tarod n sens invers Ciclurile de mai sus sunt aplicabile doar pentru maini la care arborele este prevzut cu codor de poziie i acionarea principal are posibilitatea de control al poziiei (parametrul INDEX1=1). Dac nu este ndeplinit condiia, se afieaz mesajul de eroare 3052 ERROR IN G76, G87 atunci cnd se apeleaz acest mod. Variabilele folosite n ciclu sunt G17 G84. Xp__ Yp__ Zp__ R__ F__ S__ L__ G18 G84. Zp__ Xp__ Yp__ R__ F__ S__ L__ G19 G84. Yp__ Zp__ Xp__ R__ F__ S__ L__ Arborele se oprete la sfritul ciclului; dac e necesar, trebuie s fie repornit de ctre programator. Avansul i viteza de rotire a arborelui trebuie s fie specificate n conformitate cu pasul filetului tarodului.

145

17 Cicluri memorate pentru gurire

- n starea G94 (avans pe minut), F=P*S unde P este pasul filetului n mm/rot sau inci/rot, S este viteza arborelui n rot/min. n acest caz deplasamentul i avansul n lungul axei de gurire i arborele vor fi dup cum urmeaz (Z presupus a fi axa de gurire)

- n starea G95 (avans pe rotaie), F = P unde P este pasul filetului n mm/rot sau inci/rot. Evident c n starea G95 (avans pe rotaie) se poate programa direct pasul filetului, dar pentru a defini avansul trebuie programat i S. n acest caz, deplasamentul i avansul n lungul axei de gurire i arborele vor fi dup cum urmeaz (Z presupus a fi axa de gurire):

n cazul G84.2, operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. orientarea arborelui (M19) 146

17 Cicluri memorate pentru gurire 5. 6. 7. 8. 9. 10. interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens orar interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens antiorar cu G98, retragere cu avans rapid n punctul iniial -

n cazul G84.3, operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. orientarea arborelui (M19) 5. interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens antiorar (-) 6. 7. interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens orar (+) 8. 9. cu G98, retragere cu avans rapid n punctul iniial 10. -

147

17 Cicluri memorate pentru gurire 17.1.10 Ciclu de alezare (G85)

Variabilele folosite n ciclu sunt: G17 G85 Xp__ Yp__ Zp__ R__ F__ L__ G18 G85 Zp__ Xp__ Yp__ R__ F__ L__ G19 G85 Yp__ Zp__ Xp__ R__ F__ L__ Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. alezare pn n punctul de fund, cu avansul F 6. 7. retragere n punctul R, cu avansul F 8. 9. cu G98, retragere cu avans rapid n punctul iniial 10. -

148

17 Cicluri memorate pentru gurire 17.1.11 Ciclu de alezare cu retragerea sculei cu avans rapid (G86)

Variabilele folosite n ciclu sunt: G17 G86 Xp__ Yp__ Zp__ R__ F__ L__ G18 G86 Zp__ Xp__ Yp__ R__ F__ L__ G19 G86 Yp__ Zp__ Xp__ R__ F__ L__ Comanda M3 trebuie introdus nainte de pornirea ciclului. Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. alezare pn n punctul Z cu avansul F 6. oprire arbore (M5) 7. cu G99, retragere cu avans rapid n punctul R 8. cu G99, repornire arbore (M3) 9. cu G98, retragere cu avans rapid n punctul iniial 10. cu G98, repornire arbore (M3)

149

17 Cicluri memorate pentru gurire 17.1.12 Ciclu de alezare / ciclu de alezare la retragere (G87) Ciclul va fi executat n dou moduri diferite.

A. Ciclu de alezare, operare manual n punctul de fund Dac maina nu este prevzut cu facilitatea de orientare arbore (parametrul ORIENT1=0), comanda numeric va merge pe varianta A. Variabilele folosite n ciclu sunt: G17 G87 Xp__ Yp__ Zp__ R__ F__ L__ G18 G87 Zp__ Xp__ Yp__ R__ F__ L__ G19 G87 Yp__ Zp__ Xp__ R__ F__ L__ Comanda M3 trebuie introdus nainte de pornirea ciclului. Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. alezare pn n punctul Z cu avansul F 6. - oprire arbore (M5) - comanda numeric trece n starea STOP (M0), din care operatorul poate ajunge ntr-unul din modurile de deplasare manual (JOG, INCREMENTAL JOG , sau HANDLE (roat de mn)) i s execute operarea manual, de exemplu s retrag scula de la peretele gurii i apoi s o extrag din gaur. Dup revenirea n modul AUTO se poate continua prelucrarea cu START. 7. cu G99, START urmat de retragere cu avans rapid n punctul R 8. cu G99, repornire arbore (M3) 9. cu G98, START urmat de retragere cu avans rapid n punctul iniial 10. cu G98, repornire arbore (M3)

150

17 Cicluri memorate pentru gurire

B. Ciclu de alezare la retragere Dac maina este prevzut cu facilitatea de orientare arbore (parametrul ORIENT1=1), comanda numeric va merge pe varianta B. Variabilele folosite n ciclu sunt: G17 G87 Xp__ Yp__ I__ J__ Zp__ R__ F__ L__ G18 G87 Zp__ Xp__ K__ I__ Yp__ R__ F__ L__ G19 G87 Yp__ Zp__ J__ K__ Xp__ R__ F__ L__ Comanda M3 trebuie introdus nainte de pornirea ciclului. Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. - orientare arbore - retragere scul n planul selectat cu valorile I, J, K (avans rapid) 3. deplasare cu avans rapid n punctul R 4. - retragere scul n planul selectat, invers fa de valorile specificate la I, J sau K (avans rapid) - arbore repornit n direcia M3 5. alezare pn n punctul Z, cu avansul F 6. - orientare arbore (M19) - retragere scul n planul selectat cu valorile I, J, K (avans rapid) 7. 8. 9. retragere cu avans rapid n punctul iniial 10. - retragere scul n planul selectat, invers fa de valorile specificate la I, J sau K (avans rapid) - arbore repornit n direcia M3 Spre deosebire de cazurile anterioare, punctul R este localizat mai jos dect punctul Z. Aceasta trebuie avut n vedere la programarea axei de alezare i a adresei R.

151

17 Cicluri memorate pentru gurire 17.1.13 Ciclu de alezare (operare manual n punctul de fund) (G88)

Variabilele folosite n ciclu sunt: G17 G88 Xp__ Yp__ Zp__ R__ P__ F__ L__ G18 G88 Zp__ Xp__ Yp__ R__ P__ F__ L__ G19 G88 Yp__ Zp__ Xp__ R__ P__ F__ L__ Comanda M3 trebuie introdus nainte de pornirea ciclului. Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. alezare pn n punctul de fund cu avansul F 6. - ntrziere cu valoarea P - comanda numeric trece n starea STOP (M0), din care operatorul poate ajunge ntr-unul din modurile de deplasare manual (JOG, INCREMENTAL JOG , sau HANDLE (roat de mn)) i s execute prelucrarea manual, de exemplu s retrag scula de la peretele gurii i apoi s o extrag din gaur. Dup ntoarcerea la modul AUTO se poate continua prelucrarea cu START. 7. cu G99, START urmat de retragere cu avans rapid n punctul R 8. cu G99, repornire arbore (M3) 9. cu G98, START urmat de retragere cu avans rapid n punctul iniial 10. cu G98, repornire arbore (M3) Ciclul este acelai ca n cazul A al G87 dar cu ntrziere nainte de oprirea arborelui.

152

17 Cicluri memorate pentru gurire 17.1.14 Ciclu de alezare (ntrziere n punctul de fund, retragere cu avans de lucru) (G89)

Variabilele folosite n ciclu sunt: G17 G89 Xp__ Yp__ Zp__ R__ P__ F__ L__ G18 G89 Zp__ Xp__ Yp__ R__ P__ F__ L__ G19 G89 Yp__ Zp__ Xp__ R__ P__ F__ L__ Operaiile ciclului sunt: 1. poziionare cu avans rapid n planul selectat 2. 3. deplasare cu avans rapid n punctul R 4. 5. alezare pn n punctul de fund, cu avansul F 6. ntrziere cu valoarea specificat la adresa P 7. retragere n punctul R, cu avansul F 8. 9. cu G98, retragere cu avans rapid n punctul iniial 10. Cu excepia ntrzierii, ciclul este identic cu G85. 17.2 Note cu privire la folosirea ciclurilor memorate pentru gurire - Ciclul de gurire va fi executat n modul ciclu prevznd un bloc fr cod G care s conin una din adresele Xp, Yp, Zp sau R Altfel ciclul de gurire nu va fi executat. - Avnd programat ntrzierea G04 P n modul ciclu, comanda va fi executat n conformitate cu P programat, dar variabila de ntrziere a ciclului nu va fi tears i nu va fi renscris. - Valorile pentru I, J, K, Q, E, P trebuie s fie specificate n blocul n care se execut gurirea, altfel valorile nu vor fi stocate.

153

17 Cicluri memorate pentru gurire Pentru a ilustra cele spuse mai sus, s examinm urmtorul exemplu:
G81 X_ Y_ Z_ R_ F X F_ M_ G4 P_ I_ Q_ (ciclul de gurire este executat) (ciclul de gurire este executat) (ciclul de gurire nu este executat, F este supranscris) (ciclul de gurire nu este executat, codul M este executat) (ciclul de gurire nu este executat, ntrzierea va fi rescris, dar nu valoarea ntrzierii variabilei ciclului) (ciclul de gurire nu este executat, valorile programate nu vor fi nregistrate ca variabile ale ciclului)

- Dac se programeaz ntr-un bloc o funcie precum i un ciclu de gurire, funcia va fi executat la sfritul primei operaii, dup terminarea poziionrii. Dac a fost programat i L n ciclu, funcia va fi executat numai la prima execuie. - n modul bloc cu bloc, comanda numeric se va opri n timpul ciclului dup fiecare din operaiile 1, 3 i 10. - Butonul de STOP nu este eficace la fiecare din operaiile 5, 6 i 7 din ciclurile G74, G84. Dac este acionat STOP pe durata acestor operaii, se va continua prelucrarea pn la sfritul operaiei 7. - Coreciile pentru avans i arbore vor fi ntotdeauna 100% n fiecare din operaiile 5, 6 i 7 ale ciclurilor G74, G84 indiferent de poziiile comutatoarelor de corecie. - Dac este programat G43, G44, G49 ntr-un ciclu de interpolare, sau dac este specificat o nou valoare pentru H, lungimea de compensare este luat n consideraie n operaia 3, n mod invariabil de-a lungul axei de gurire. - Instruciunile G45, G48 nu vor fi executate n ciclul de gurire.

154

18 Funcii de msurare

18 Funcii de msurare
18.1 Funcia de salt (G31) Instruciunea G31 v (F) (P) pornete interpolarea liniar ctre punctul cu coordonata v. Micarea se execut pn cnd se primete un semnal extern de salt (de exemplu cel de la un sesizor de atingere) sau se ajunge la poziia final specificat la coordonata lui v. Comanda numeric va ncetini i apoi va opri micarea dup sosirea semnalului de salt. Adresa P specific o intrare de semnal de salt dintre cele patru disponibile, care s fie folosit n timpul micrii: P0: Folosete semnalul de salt 0 P1: Folosete semnalul de salt 1 P2: Folosete semnalul de salt 2 P3: Folosete semnalul de salt 3 Dac adresa P nu este specificat, comanda numeric preia semnalul de salt 1. G31 nu este o instruciune modal, ea se aplic doar n blocul n care a fost programat. Dac instruciunea G31 conine o eroare de sintax se afieaz mesajul de eroare: 3051 G22, G28, G31, G37. Viteza de micare este: - valoarea F specificat sau modal dac parametrul SKIPF=0 - valoarea avansului preluat din G31FD dac parametrul SKIPF=1. n momentul n care sosete semnalul extern, se va memora poziia axelor n variabilele de sistem specificate mai jos: # 5061..poziia axei 1 # 5062..poziia axei 2 . . # 5068..poziia axei 8

Poziia memorat aici este: - poziia din momentul n care a sosit semnalul extern, - poziia programat a punctului final al interpolrii G31 (n cazul n care nu a sosit un semnal extern), - considerat n sistemul de coordonate al piesei curente, - cu lungimile de compensare actuale (G43, G44) i - cu ofsetul actual al sculei (G45G48) luat n consideraie. Dup sosirea semnalului extern, micarea ncetinete liniar pn la oprire. Poziia final a interpolrii G31 este uor diferit de poziia memorat n variabilele #5061 la sosirea semnalului, diferena variind funcie de avansul aplicat n interpolare. Poziiile finale ale interpolrilor sunt accesibile n variabilele #5001 . Urmtoarea interpolare se va porni ncepnd de la acele puncte finale. 155

18 Funcii de msurare

Interpolarea poate fi executat doar n starea G40. Programarea G31 n starea G41 sau G42 produce afiarea mesajului de eroare 3054 G31 IN INCORRECT STATE (G31 n stare incorect). Acelai mesaj de eroare este afiat cnd este activ una dintre strile G95, G51, G51.1, G68 sau G16. Valoarea specificat la coordonatele v poate fi incremental sau absolut. Dac comanda de micare care urmeaz dup blocul G31 este specificat n coordonate incrementale, micarea va fi calculat din punctul unde a sosit semnalul de salt i s-a oprit micarea. De exemplu:
N1 G31 G91 X100 N2 X30 Y50

n blocul N1 este pornit o micare incremental n direcia X. Dac comanda numeric se oprete n punctul de coordonat X=86.7 la sosirea semnalului extern, se va mica incremental 30 n direcia X i 50 n direcia Z n blocul N2 (calculate din acel punct). n cazul n care s-a programat o specificare de date absolute, micarea va fi:
N1 G31 G90 X200 N2 X300 Y300

Interpolarea N1 pornete o micare n direcia X ctre punctul de coordonat X=200. Dac, dup sosirea semnalului extern, comanda numeric se oprete n punctul de coordonat X=167, deplasarea n direcia X va fi X=300-167, adic X=133 n blocul N2. 18.2 Msurarea automat a lungimii sculei (G37) Instruciunea G37 q va determina pornirea deplasrii cu avans rapid n direcia specificat la coordonata q. Valoarea pentru q este interpretat invariabil ca o dat absolut i este poziia prevzut a senzorului de msur. Micarea se va executa cu avans rapid pn n poziia q- RAPDIST unde RAPDIST este o valoare selectat prin parametru. Apoi micarea este executat cu avansul specificat n parametrul G37FD pn cnd sosete semnalul de la sesizor sau pn se afieaz mesajul de eroare 3103 OUT OF RANGE (depire domeniu). Acesta din urm apare doar cnd semnalul sesizorului de atingere sosete 156

18 Funcii de msurare n afara domeniului ALADIST (specificat n parametri) al poziiei q prevzute. Dac msurtoarea este ndeplinit cu succes i semnalul sesizorului de atingere a sosit n punctul de coordonat Q, comanda numeric va executa: - adunarea diferenei Q-q la registrul de compensare a uzurii selectat anterior la adresa H (dac parametrul ADD=1), sau - scderea diferenei din acesta (dac parametrul ADD=0) Anterior nceperii msurtorii trebuie impus valoarea H corespunztoare i compensarea lungimii. - G37 este o instruciune cu o singur aciune. - Ciclul G37 va fi executat n mod invariabil n sistemul de coordonate al piesei n lucru. - Parametrii RAPDIST i ALADIST au ntotdeauna valori pozitive. Condiia RAPDIST > ALADIST trebuie satisfcut pentru cei doi parametri. - n cazul unei erori de sintax va fi afiat mesajul de eroare 3051 G22, G28, G31, G37. - Codul G referitor la lungimea de compensare (G43, G44, G49) nu poate fi specificat n blocul G37, altfel va fi afiat mesajul de eroare 3055 G37 IN INCORRECT STATE (G37 n stare incorect). - Acelai mesaj de eroare va fi afiat dac este activ una din strile G51, G51.1, G68 sau G16. - Mesajul de eroare 3103 OUT OF RANGE (depire domeniu) este afiat pe durata execuiei funciei G37 dac semnalul sesizorului de atingere sosete n afara domeniului ALADIST al poziiei finale programate n interpolarea G37.

157

19 Funcii de siguran

19 Funcii de siguran
19.1 Verificarea programabil a cursei (G22,G23) Instruciunea G22 X Y Z I J K P va interzice intrarea sculei n aria interzis. Semnificaiile adreselor sunt: X: Limita pe axa X n direcia pozitiv I: Limita pe axa X n direcia negativ Y: Limita pe axa Y n direcia pozitiv J: Limita pe axa Y n direcia negativ Z: Limita pe axa Z n direcia pozitiv K: Limita pe axa Z n direcia negativ Pentru datele specificate trebuie ndeplinite urmtoarele condiii: X>I, Y>J, Z>K La adresa P se poate selecta dac aria este interzis n interior sau n exterior. P=0, aria selectat este interzis n interior. P=1, aria selectat este interzis n exterior.

Instruciunea G23 va anula funcia de verificare programabil a cursei, scula putnd s intre n aria selectat anterior. Instruciunile G22, G23 vor rescrie direct parametrii respectivi. Instruciunile G22 i G23 vor impune parametrul STRKEN la 1, respectiv la 0. Instruciunile G22 P0 i G22 P1 vor impune parametrul EXTER la 1, respectiv la 0. Coordonatele X, Y, Z n instruciunea G22 vor scrie parametrii LIMP2n referitori la axele respective, coordonatele I, J, K vor impune parametrii LIMP2n referitori la axele respective. nainte de a fi nscrise la parametrii respectivi, coordonatele din instruciunea G22 vor fi convertite n sistemul de coordonate al mainii, avnd incluse i compensrile de ofset selectate. Astfel, de exemplu, dac este impus compensarea de lungime pe direcia Z atunci cnd este specificat instruciunea G22, datele limit ale coordonatelor specificate pentru 158

19 Funcii de siguran acea ax vor limita micarea oprind vrful sculei la limit. Dac totui nu este impus compensarea, punctul de referin al suportului sculei nu va fi admis n aria interzis. Este recomandabil s impunem marginea ariei interzise la axa sculei, pentru cea mai lung scul. - Funcia de verificare programabil a cursei nu este disponibil pentru axele adiionale. - Instruciunile G22, G23 trebuie s fie specificate n blocuri independente. - Funcia de verificare programabil a cursei va fi efectiv dup efectuarea ntoarcerii n punctul de referin. - Dac maina intr ntr-o arie interzis dup efectuarea ntoarcerii n punctul de referin sau ca rezultat al programrii G22 i aria este interzis la interior, interdicia trebuie s fie ridicat manual prin programarea G23; axa/axele trebuie s fie deplasate manual cu JOG i trebuie impus din nou verificarea cursei prin programarea G22. n cazul unei arii interzise extern, procedura de ieire din arie va fi la fel ca aceea care se face pentru acionarea limitatorilor de fine curs. - Dac pe o ax se atinge marginea ariei interzise n micare, se poate executa retragerea de acolo prin deplasare manual (ntr-unul din modurile manuale). - Dac X=I, Y=J, Z=K i E=0 atunci este disponibil ntreaga arie. - Dac X=I, Y=J, Z=K i E=1 atunci este interzis ntreaga arie. - Dac aria este interzis interior i axele intr n aria interzis sau i ating marginea, se afieaz mesajul de eroare 1400 INTERNALLY FORBIDEN AREA (arie interzis interior). - Dac aria este interzis exterior i axele intr n aria interzis sau i ating marginea, se afieaz mesajul de eroare FORBIDEN AREA t+ sau FORBIDEN AREA t- (arie interzis) unde t este numele axei. 19.2 Poziiile de sfrit de curs parametrice Folosind parametrii comenzii numerice, constructorul mainii unealt poate defini pentru fiecare ax poziiile de sfrit de curs care sunt limitele de curs permise pentru o anumit main. La atingerea marginii acelei arii, comanda numeric va afia un mesaj de eroare ca i cnd ar fi clcat un limitator. - Funcia de sfrit de curs parametric este executat numai dup ce s-a fcut ntoarcerea n punctul de referin. - Funcia de sfrit de curs parametric va interzice ntotdeauna o arie extern. - Ariile de verificare programabil a cursei i de funcie de sfrit de curs se pot suprapune parial.

159

19 Funcii de siguran 19.3 Verificarea cursei naintea micrii

Comanda numeric difereniaz dou arii interzise. Prima este aria de sfrit de curs parametric care delimiteaz dimensiunile de micare fizic posibile ale mainii. Poziiile extreme ale acestor dimensiuni sunt denumite poziii limit. Pe durata micrii, comanda numeric nu va permite axelor s se deplaseze dincolo de limitele ariei definite de parametri. Poziiile limit sunt impuse de ctre constructorul mainii. Utilizatorul nu poate modifica aceti parametri. A doua este aria definit de ctre funcia de verificare programabil a cursei. Aceasta se poate face prin programarea comenzii G22 sau prin rescrierea parametrilor. Pe durata oricror micri, comanda numeric nu va permite axelor s se deplaseze dincolo de limitele acestor arii. Dac parametrul CHBFMOVE este impus 1, comanda numeric nainte de pornirea axelor n cursul execuiei unui bloc va verifica dac punctul final programat pentru respectiva interpolare se afl n aria interzis. Dac punctul final al blocului se afl n afara ariei de sfrit de curs parametric sau n interiorul ariei interzise programate, se va afia mesajul de eroare 3056 LIMIT (limit), respectiv 3057 FORBIDEN AREA (arie interzis). Ca rezultat nu se va ncepe micarea. Deoarece nainte de pornirea interpolrii, comanda numeric verific doar dac punctul final al interpolrii se afl n interiorul ariei interzise, mesajul de eroare este produs n situaiile prezentate n figur la marginea ariei interzise, dup ce s-a nceput micarea.

160

20 Macro utilizator

20 Macro utilizator
20.1 Apelul macro simplu (G65) Ca rezultat al instruciunii G65 P(numr program) L(numr de repetri) <atribuire argument> corpul de macro utilizator (program) specificat la adresa P (numr program) va fi apelat de attea ori ct este specificat la adresa L. Corpului macro i pot fi atribuite argumente. Acestea sunt valori numerice atribuite adreselor definite, care sunt stocate n variabilele locale respective n timpul unui apel macro. Aceste variabile locale pot fi folosite de ctre corpul macro, adic apelul macro este un apel de subprogram special n care programul principal poate s transfere valori (parametri) la subprogram. Pot fi selectate urmtoarele dou atribuiri de argumente: irul de adrese ale atribuirii de argumente nr.1 este ABCDEFHIJKMQRSTUWXYZ La oricare dintre adresele G, L, N, O, P nu poate fi transferat la corpul macro nici o valoare. Adresele pot fi completate n orice secven arbitrar, nu neaprat n ordine alfabetic. irul de adrese ale selectrii atribuirii de argumente nr.2 este A B C I1 J1 K1 I2 J2 K2 I10 J10 K10 n plus la adresele A, B, C, se pot atribui maxim 10 argumente diferite pentru adresele I, J, K. Adresele pot fi completate n orice secven arbitrar. Dac sunt selectate cteva argumente pentru o anumit adres, variabilele vor lua valorile respective n ordinea selectrii. lv 1. aa A #1 B #2 C #3 I #4 J #5 K #6 D #7 E #8 F #9 (G) #10 H #11 2. aa A B C I1 J1 K1 I2 J2 K2 I3 J3 lv 1. aa (L) #12 M #13 (N) #14 (O) #15 (P) #16 Q #17 R #18 S #19 T #20 U #21 V #22 2. aa K3 I4 J4 K4 J5 J5 K5 I6 J6 K6 I7 lv 1. aa W #23 X #24 Y #25 Z #26 #27 #28 #29 #30 #31 #32 #33 2. aa J7 K7 I8 J8 K8 I9 J9 K9 I10 J10 K10

- Prescurtri: lv= variabil local; 1.aa=atribuirea de argumente nr.1; 2.aa=atribuirea de argumente nr.2. nscrierile care urmeaz adresele I, J, K indic secvena de atribuire a argumentelor. Comanda numeric va accepta selectarea simultan a argumentelor 1 i 2 ntr-un anumit 161

20 Macro utilizator bloc. Se va afia un mesaj de eroare cnd se ncearc s se fac referire de dou ori la o variabil cu un anumit numr. De exemplu: G65 A2.12 B3.213 J36.9 J-12 E129.73 P2200 ( 1 ) ( 2 ) ( 3 ) (4) ( 5 ) variabila (1) #1=2.12 (2) #2=3.213 (3) #5=36.9 (4) #8=-12 (5) #8= eroare n exemplul de mai sus, variabilei #8 i-a fost deja atribuit o valoare la a doua adres J (valoarea -12), i deoarece valoarea adresei E este de asemenea atribuit variabilei #8, se afieaz mesajul de eroare 3064 BAD MACRO STATEMENT (declaraie macro greit). La adrese se pot transfera i un punct zecimal sau un semn. 20.2 Apel macro modal 20.2.1 Apel macro modal n fiecare comand de micare (G66)

Ca rezultat al instruciunii: G66 P(numr program) L(numr de repetri) <atribuire argument> corpul de macro specificat la adresa P (numr program) va fi apelat dup executarea fiecrei comenzi de micare, de attea ori ct este numrul specificat la adresa L. Interpretrile adreselor P i L i regulile de atribuire a argumentului sunt identice cu cele descrise pentru instruciunea G65. Macro selectat va fi apelat pn cnd este anulat apelul cu comanda: G67 Exemplu: ntr-un anumit segment al programului pies trebuie executat o gaur dup fiecare micare: program principal:
... G66 P1250 Z-100 R-1 X2 F130 G91 G0 X100----- -| Y30 | |-se execut gurirea dup fiecare | poziionare X150-------------| ... G67

corp macro:
%O1250 G0 Z#18 (poziionare cu avans rapid n direcia Z la punctul specificat la adresa R-1) G1 Z#26 F#9 (gurire pn n punctul Z specificat la adresa Z-100, cu avansul specificat la adresa F130) G4 P#24 (ntrziere la fundul gurii cu timpul specificat la adresa X2) G0 Z-[#18+#26] (retragerea sculei n punctul iniial) M99 (revenire n programul principal) %

162

20 Macro utilizator 20.2.2 Apel macro modal din fiecare bloc (G66.1) Ca rezultat al instruciunii: G66.1 P(numr program) L(numr de repetri) <atribuire argument> toate blocurile care urmeaz vor fi interpretate ca atribuiri de argumente, va fi apelat macro cu numrul specificat la adresa P i va fi executat de attea ori ct este numrul specificat la adresa L. Comanda produce acelai efect ca i cum n fiecare bloc ar fi fost un apel de macro G65:
G66.1 P L X Y Z---------| |------ G65 P L X Y Z M S |- = -| G65 P L M S X ------------| |-------G65 P L X G67

Macro selectat va fi apelat pn cnd este anulat apelul cu comanda: G67 Regulile de atribuire a argumentului sunt: 1. n blocul care execut activarea (n care a fost programat G66.1 P L), regulile de atribuire a argumentului sunt aceleai ca pentru comanda G65. 2. n blocurile care urmeaz dup instruciunea G66.1, se pot folosi aceleai adrese ca la comanda G65 i L: #12, P: #16, G: #10 cu rezerva c comanda numeric va accepta doar o referire la o adres G n fiecare bloc; programarea mai multor adrese va produce afiarea mesajului de eroare 3005 ILLEGAL G CODE (cod G ilegal). N: #14 dac o adres N este la nceputul unui bloc (sau precedat cel mult de adresa unui bloc condiional/), a doua adres N va fi considerat pentru argument:
/N130 X12.3 Y32.6 N250 (1 )( 2 )( 3 )( 4 ) (1) (2) (3) (4) numrul de bloc #24=12.3 #25=32.6 #14=250

Dac adresa N este n mijlocul blocului (precedat de oricare adres n afar de /), adresa N va fi interpretat ca un argument:
X34.263 ( 1 ) N320 (2) (1) #24=34.236 (2) #14=320

dac adresa N a fost deja nregistrat ca argument, urmtoarea referire la adresa N va produce afiarea mesajului de eroare 3064 BAD MACRO STATEMENT (declaraie macro greit).

163

20 Macro utilizator n cazul G66.1, regulile de executare a blocului sunt:

Macro selectat va fi apelat deja din blocul n care codul G66.1 a fost specificat, innd cont de regulile de atribuire a argumentului descrise la punctul 1. Fiecare bloc NC care urmeaz dup G66.1 pn la blocul care conine codul G67 va produce un apel macro cu regulile de atribuire a argumentului descrise la punctul 2. Nu se va face nici un apel macro dac este gsit un bloc gol n care se face referire la o singur adres N (de exemplu N1240), sau dintr-un bloc care conine o instruciune macro. 20.3 Apelul macro utilizator folosind codul G Prin parametri se pot selecta maximum 10 coduri G diferite, prin care s fie iniiate apelurile macro. Acum n loc de specificarea Nn G65 Pp <atribuire argument> poate fi folosit comanda Nn Gg <atribuire argument> Numrul de program care trebuie apelat prin codul G trebuie selectat n parametri. Nici unul dintre codurile G65, G66, G66.1 i G67 nu poate fi specificat pentru acest scop. G(9010)=cod G de apel program O9010 G(9011)=cod G de apel program O9011 : G(9019)=cod G de apel program O9019 Dac n parametri este scris o valoare negativ, codul G selectat va genera un apel modal. De exemplu G(9011)= -120, instruciunea G120 din program va produce un apel modal. Starea parametrului MODGEQU va defini tipul de apel: MODGEQU=0, apelul este de tip G66 MODGEQU=1, apelul este de tip G66.1 Dac valoarea parametrului este 0, va fi apelat macro la sfritul fiecrui bloc de micare. Dac valoarea parametrului este 1, va fi apelat macro la fiecare bloc. Dac este selectat un cod G standard pentru apel utilizator (de exemplu G01), i se face o referire din nou la acel cod n corpul macro, nu se va produce un nou apel, ci va fi interpretat i executat de ctre comanda numeric ca un cod G obinuit. Dac se face din nou o referire la codul de apel G n corpul macro i este diferit de un cod G standard, comanda numeric va afia mesajul de eroare 3005 ILLEGAL G CODE (cod G ilegal). - Apelul unui cod M, S, T, A, B, C utilizator dintr-un cod de apel G utilizator, sau - apelul unui cod G utilizator dintr-un apel M, S, T, A, B, C utilizator, n funcie de valoarea parametrului: FGMAC=0, nu e permis (se execut ca i coduri M, S, G obinuite) FGMAC=1, e permis, adic este generat un nou apel. Codurile G utilizator au urmtoarele seturi de argumente: - dac codul este de tipul G65 sau G66, setul de argumente atribuit G65, plus P i L, - dac codul este de tipul G66.1, punctele descrise sunt aplicabile pentru setul su de argumente. Un cod modal poate fi ters cu instruciunea G67. 20.4 Apelul macro utilizator folosind codul M Prin parametri se pot selecta maximum 10 coduri M diferite, prin care s fie iniiate apelurile 164

20 Macro utilizator macro. Trebuie scris seria de instruciuni: Nn Mm <atribuire argument> Codul M nu va fi transferat ctre PLC, ci va fi apelat macro cu numrul de program respectiv. Numrul particular de program care s fie apelat prin apelul codului M trebuie s fie selectat prin parametri. M(9020)=cod M de apel program O9020 M(9021)=cod M de apel program O9021 : M(9029)=cod M de apel program O9029 Codul M poate specifica invariabil un tip de apel G65 (adic apel ne-modal). Dac se face referire din nou la acelai cod M n mijlocul corpului macro, nu se va mai apela din nou acelai macro, ci codul M va fi transferat la PLC. Dac n mijlocul corpului macro se face un apel utilizator de tipul G, S, T, A, B, C sau de tip M, atunci pentru FGMAC=0, apelul nu este permis (se execut codurile simple M, S, G) FGMAC=1, apelul este permis, adic se genereaz un apel nou. Un cod M selectat prin parametri pentru a iniia un apel macro poate fi precedat n bloc doar de / i de adresa N. Un bloc care conine un apel macro iniiat printr-un cod M poate s includ doar un singur cod M. Setul de argumente nr.1: ABCDEFGHIJKLPQRSTUVWXYZ Setul de argumente nr.2 se poate folosi de asemenea cu funcia M. 20.5 Apelul de subprogram cu codul M Prin parametri se pot selecta maximum 10 coduri M, prin care se pot iniia apelurile de subprogram. n locul instruciunii Nn Gg Xx Yy M98 Pp Se poate specifica Nn Gg Xx Yy Mm Codul M selectat nu va fi transferat la PLC, ci va fi apelat subprogramul respectiv. Numrul particular de program care s fie apelat prin codul M poate fi selectat prin urmtorii parametri: M(9000)=cod M de apel program O9000 M(9001)=cod M de apel program O9001 : M(9009)=cod M de apel program O9009 Dac se face referire din nou la acelai cod M n subprogram, acesta din urm nu va mai apela din nou acelai subprogram, ci codul M va fi transferat la PLC. Dac n subprogram se face un apel utilizator de tipul G, S, T, A, B, C sau de tip M, atunci pentru FGMAC=0, apelul nu este permis (se execut codurile simple M, S, G) FGMAC=1, apelul este permis, adic se genereaz un apel nou.

165

20 Macro utilizator 20.6 Apelul de subprogram cu codul T Impunnd parametrul T(9034)=1, valoarea lui T scris n program nu va fi transferat ctre PLC, ci codul T va iniia apelul subprogramului cu numrul O9034. Blocul nou Gg Xx Yx Tt va fi echivalent cu urmtoarele dou blocuri: #199=t Gg Xx Yy M98 P9034 Valoarea atribuit la adresa T va fi transferat ca un argument la variabila comun #199. Dac n subprogramul pornit cu codul T se face referire din nou la adresa T, subprogramul nu va fi apelat din nou, ci valoarea adresei T va fi transferat la PLC. Dac n subprogram se face un apel utilizator de tipul G, M, S, A, B, C, atunci pentru FGMAC=0, apelul nu este permis (se execut codurile simple M, S, G) FGMAC=1, apelul este permis, adic se genereaz un apel nou. 20.7 Apelul de subprogram cu codul S

Impunnd parametrul S(9033)=1, valoarea lui S scris n program nu va fi transferat ctre PLC, ci codul S va iniia apelul subprogramului cu numrul O9033. Blocul nou Gg Xx Yx Ss va fi echivalent cu urmtoarele dou blocuri: #198=s Gg Xx Yy M98 P9033 Valoarea atribuit la adresa S va fi transferat ca un argument la variabila comun #198. Dac n subprogramul pornit cu codul S se face referire din nou la adresa S, subprogramul nu va fi apelat din nou, ci valoarea adresei va fi transferat la PLC. Dac n subprogram se face un apel utilizator de tipul G, M, T, A, B, C, atunci pentru FGMAC=0, apelul nu este permis (se execut codurile simple M, S, G) FGMAC=1, apelul este permis, adic se genereaz un apel nou. 20.8 Apelul de subprogram cu codurile A, B, C Dac adresa A, B sau C este definit ca o funcie auxiliar prin parametri (1493 A.MISCEL=1, 1496 B.MISCEL=1, 1499 C.MISCEL=1) i este impus parametrul A(9030)=1, B(9031)=1 sau C(9032)=1, valoarea lui A, B sau C scris n program nu va fi transferat ctre PLC sau interpolator, ci codul A, B sau C va iniia apelul subprogramului corespunztor nr.O9030, O9031 sau O9032. Blocul Gg Xx Yy Bb este echivalent cu urmtoarele dou blocuri: #196=b Gg Xx Yy M98 P9031 Valorile atribuite la adresele A, B i C vor fi transferate la variabilele comune #195, #196 i respectiv #197.

166

20 Macro utilizator Dac se face referire din nou la aceeai adres n subprogramul pornit cu codul A, B sau C, subprogramul nu va fi apelat din nou, ci valoarea adresei va fi transferat ctre PLC sau interpolator. Dac n subprogram se face un apel utilizator de tipul G, M, S, T atunci pentru FGMAC=0, apelul nu este permis (se execut codurile simple M, S, G) FGMAC=1, apelul este permis, adic se genereaz un apel nou. 20.9 Diferene ntre apelul unui subprogram i apelul unui macro - Apelul de macro poate include atribute, cel de subprogram nu. - Apelul unui subprogram se poate ramifica n subprogram numai dup executarea celorlalte comenzi programate n bloc; un apel de macro doar se va ramifica. - Apelul de macro modific nivelurile variabilelor locale, pe cnd un apel de subprogram nu. De exemplu valoarea #1 nainte de apelul G65 este diferit de cea din mijlocul corpului macro. Valoarea #1 nainte de M98 este identic cu cea din subprogram. 20.9.1 Apeluri multiple Dintr-un macro se poate apela un alt macro. Apelurile de macro se pot face n patru nivele de ramificare, incluznd apeluri simple i modale. Incluznd i apelurile de subprograme, nivelul maxim de ramificare a apelurilor poate fi de 8 nivele. n cazul apelurilor multiple de macro modale (tip G66), dup executarea fiecrui bloc de interpolare se va apela la nceput ultimul macro specificat, din care va fi apelat macro specificat anterior ntr-o secven care merge napoi. S examinm exemplul urmtor:
%O0001 ... N10 G66 P2 N11 G1 G91 Z10 N12 G66 P3 N13 Z20 N14 G67 N15 G67 N16 Z5 ... %O0002 N20 X4 N21 M99 % %O0003 N30 Z2 N31 Z3 N32 M99 %

(111) (113) (anularea apelului G66 P3...) (anularea apelului G66 P2 ...) (116) (220)

(330) (331)

167

20 Macro utilizator Incluznd doar interpolrile, secvena de executare va fi:

Primul numr din parantez reprezint numrul programului iar al doilea numrul blocului executat. Instruciunea G67 specificat n blocul N14 va anula apelul de macro din blocul N12 (O0003); cea specificat n blocul N15 va anula apelul de macro din blocul N10 (O0002). n cazul apelurilor multiple de macro tip G66.1, primul va fi apelat ultimul macro specificat la nceputul fiecrui bloc (considernd adresele blocului respectiv ca argumente), apoi va fi apelat macro specificat anterior, introducnd blocurile acelui macro i considerndu-le ca argumente. Dac un alt macro este apelat din nou din macro, nivelele variabilelor locale vor crete odat cu nivelele de macro.
program principal nivel 0 G65 P macro nivel 1 O____ G65 P M99 variabile locale nivel 0 #1 #33 nivel 1 #1 : #33 macro nivel 2 O____ G65 P M99 nivel 2 #1 : #33 macro nivel 3 O____ G65 P M99 nivel 3 #1 : #33 M99 nivel 4 #1 : #33 macro nivel 4 O____

Cnd este apelat primul macro, variabilele locale ale programului principal vor fi stocate (de la #1 la #33), i variabilele locale de nivel 1 vor lua valorile argumentelor specificate n apel. Dac este apelat un alt macro de pe primul nivel, variabilele locale ale primului nivel vor fi stocate (de la #1 la #33), i variabilele locale de nivel 2 vor lua valorile argumentelor specificate n apel. n cazul apelurilor multiple, variabilele locale ale nivelului anterior vor fi stocate i variabilele locale ale urmtorului nivel vor lua valorile argumentelor specificate n apel. n cazul lui M99, revenirea din macro apelat n programul care a fcut apelul, variabilele locale stocate pe nivelul anterior vor fi restaurate n aceleai stri n care erau n momentul n care au fost stocate pe timpul apelului.

168

20 Macro utilizator 20.10 Formatul corpului macro utilizator Formatul de program al unui macro utilizator este identic cu cel al unui subprogram: O (numr program) : comenzi : M99 Numrul de program este fr importan, dar numerele de program cuprinse ntre O9000 i O9034 sunt rezervate pentru apeluri speciale. 20.11 Variabile ale limbajului de programare n programele principale, subprograme i macro, pot fi atribuite adreselor variabile n locul valorilor numerice specifice. O valoare poate fi atribuit pentru fiecare variabil n interiorul domeniului permis. Folosirea variabilelor va permite proceduri de programare mult mai flexibile. O anumit dat poate fi transformat n parametru prin folosirea variabilelor comune n programele principale i n subprograme, astfel nu va mai fi necesar s se scrie programe noi pentru piese similare dar cu dimensiuni diferite. Pentru aceasta operatorul va scrie din nou doar variabilele comune corespunztoare . Folosirea variabilelor poate face un macro mult mai flexibil dect un subprogram convenional. n timp ce argumentele nu pot fi transferate la un subprogram, ele pot fi ataate la un macro prin intermediul variabilelor locale. 20.11.1 Identificarea unei variabile Se poate folosi un numr de variabil astfel ca fiecare variabil s fie identificat prin numrul ei. O variabil este compus din codul # i un numr. De exemplu: #12 #138 #5106 Se poate folosi de asemenea o formul pentru a se face referire la o formul - #[<formul>]. De exemplu: #[#120] nseamn c variabila 120 conine numrul de serie al variabilei la care se face referire; #[#120-4] nseamn c numrul de variabil referit este obinut scznd 4 din numarul coninut n variabil. 20.11.2 Referirea la o variabil Adresele diferite din cuvintele unui bloc de program pot lua valori de variabile la fel ca i valori numerice. Semnul minus (-) sau operatorul I poate fi folosit, atunci cnd este permis pentru valori numerice, i atunci cnd se face referire la o variabil dup o adres. De exemplu: G#102 dac #102=1.0, aceast referire este echivalent cu G1 XI-#24 dac #24=135.342, aceast referire este echivalent cu XI-135.342 - Nu este permis referirea la un numr de program O, numr de bloc N sau bloc condiional 169

20 Macro utilizator / printr-o variabil. Adresa N va fi privit ca un numr de bloc dac este precedat doar de adresa / n bloc. - Numrul unei variabile nu poate fi nlocuit printr-o variabil, adic ##120 nu este permis. Specificarea corect este #[#120]. - Dac variabila este folosit dup o adres, valoarea ei nu poate depi domeniul de valori admisibil pentru respectiva adres. Dac de exemplu #112=5630, referirea M#112 va produce un mesaj de eroare. - Dac variabila este folosit dup o adres, valoarea ei va fi rotunjit la o cifr semnificativ corespunztoare adresei. De exemplu: M#112 va fi M1 pentru #112=1.23 M#112 va fi M2 pentru #112=1.6 20.11.3 Variabile vacante O variabil la care nu s-a fcut referire (nedefinit) este vacant. Variabila #0 este folosit pentru o variabil care este vacant ntotdeauna: #0=<vacant> 20.11.4 Formatul numeric al variabilelor Fiecare variabil este reprezentat prin 32 de bii de mantis i 8 bii de caracteristic. variabila= Reprezentarea unei variabile vacante, M=0, C=0 Reprezentarea unei variabile 0 - valoare, M=0, C= -128 Natura unei variabile vacante, comparate ntr-o adres: Referire la o variabil vacant ntr-o adres:
Dac #1=<vacant> G90 X20 Y#1 | G90 X20 dac #1=0 G90 X20 Y#1 | G90 X20 Y0

Variabil vacant ntr-o instruciune definiie:


dac #1=<vacant> #2=#1 | #2=<vacant> #2=#1*3 | #2=0 #2=#1+#1 | #2=0 dac #1=0 #2=#1 | #2=0 #2=#1*3 | #2=0 #2=#1+#1 | #2=0

170

20 Macro utilizator Diferena ntre o variabil vacant i una cu valoare 0 ntr-o expresie condiional va fi:
dac #1=<vacant> #1 EQ #0 | ndeplinit #1 NE 0 | ndeplinit #1 GE 0 | ndeplinit #1 GT 0 | dac #1=0 #1 EQ #0 | nendeplinit #1 NE 0 | nendeplinit #1 GE 0 | nendeplinit #1 GT 0 |

ndeplinit

nendeplinit

20.12 Tipuri de variabile Variabilele sunt clasificate n funcie de proprietile i modul lor de folosire n: locale, comune i sistem. Numrul de ordine al variabilelor definete categoria la care aparin. 20.12.1 Variabile locale (de la #1 la #33) Variabila local este o variabil folosit de ctre programul macro local. Dac macro A apeleaz B, i este fcut referire la variabila local #i n fiecare din macro-urile A i B, valoarea variabilei locale #i la nivelul macro A nu se va pierde i nu va fi rescris dup ce a fost apelat macro B cu toate c se face referire la #i i n macro B. Variabilele locale sunt folosite pentru transferul argumentelor. mperecherile dintre adresele argumentelor i variabilele locale sunt coninute n tabelul din capitolul care descrie procedura de apel simplu de macro (G65). Variabila local a crei adres nu a fost implicat n atribuirea de argumente, este una vacant care poate fi folosit dup dorin. 20.12.2 Variabile comune (de la #100 la #199, de la #500 la #599) Spre deosebire de variabilele locale, variabilele comune sunt identice pe parcursul ntregului program (nu doar la un nivel al unui apel de program) indiferent dac sunt n programul principal, n subprogram sau ntr-un macro, sau la oricare nivel al macro. Prin urmare, dac #i a fost utilizat ntr-un macro, de exemplu i-a fost atribuit o valoare, #i va avea aceeai valoare ntr-un alt macro, pn cnd va fi rescris. Variabilele comune pot fi utilizate n mod liber n sistem, ele nu au funcii distinctive. Variabilele comune de la #100 la #199 vor fi terse la deconectarea alimentrii. Valorile variabilelor comune de la #500 la #599 se vor pstra chiar i dup o deconectare a alimentrii. Variabilele macro de la #500 la #599 se pot face protejate la scriere prin intermediul parametrilor WPROT1 i WPROT2 . Numrul primului element al blocului care trebuie protejat va fi scris la parametrul WPROT1 iar al ultimului la WPROT2 . 171

20 Macro utilizator Dac de exemplu trebuie protejate variabilele de la #530 la #540, trebuie impui parametrii WPROT1=530 i WPROT2=540. 20.12. 3 Variabile de sistem Variabilele de sistem sunt fixate si asigur informaie despre strile sistemului. Semnale de intrare interfa - #1000-#1015, #1032 Pot fi determinate 16 semnale de intrare interfa, unul cte unul, prin citirea variabilelor de sistem de la #1000 la #1015. Numele variabilelor de sistem
#1000 #1001 #1002 #1003 #1004 #1005 #1006 #1007 #1008 #1009 #1010 #1011 #1012 #1013 #1014 #1015

Intrare interfa cu referire la programul PLC


I[CONST+000] I[CONST+001] I[CONST+002] I[CONST+003] I[CONST+004] I[CONST+005] I[CONST+006] I[CONST+007] I[CONST+010] I[CONST+011] I[CONST+012] I[CONST+013] I[CONST+014] I[CONST+015] I[CONST+016] I[CONST+017]

unde CONST=I_LINE*10 i I_LINE este un parametru. Deci se poate citi oricare intrare interfa. Valorile variabilelor de mai sus sunt: 0= dac contactul de la intrare este deschis, 1= dac contactul de la intrare este nchis. Cele 16 intrri de mai sus se pot citi simultan la variabila #1032. Funcie de atribuirea variabilelor de sistem pentru citirea una cte una, valoarea va fi:

Prin urmare, cu 24V aplicai la intrrile de la #1002 la #1010, restul intrrilor fiind deschise, valoarea variabilei #1032 va fi: Variabilele intrrilor interfa sunt numai citire, i nu pot fi folosite n partea stng a unei instruciuni definiie.

172

20 Macro utilizator Semnale de ieire interfa - #1100-#1115, #1132 Pot fi transmise 16 semnale de ieire interfa, unul cte unul, prin atribuirea valorilor variabilelor de la #1100 la #1115. Numele variabilelor de sistem
#1100 #1101 #1102 #1103 #1104 #1105 #1106 #1107 #1108 #1109 #1110 #1111 #1112 #1113 #1114 #1115

Ieire interfa cu referire la programul PLC


Y[CONST+000] Y[CONST+001] Y[CONST+002] Y[CONST+003] Y[CONST+004] Y[CONST+005] Y[CONST+006] Y[CONST+007] Y[CONST+010] Y[CONST+011] Y[CONST+012] Y[CONST+013] Y[CONST+014] Y[CONST+015] Y[CONST+016] Y[CONST+017]

unde CONST=O_LINE*10 iar O_LINE este un parametru. Deci se poate transmite sau citi oricare cuvnt ieire interfa. Valorile variabilelor de mai sus pot fi: 0= dac contactul de la ieire este deschis, 1= dac contactul de la ieire este nchis. Cele 16 ieiri de mai sus se pot citi simultan la variabila #1132. Funcie de atribuirea variabilelor de sistem pentru fiecare ieire, valoarea va fi:

Prin urmare, cu ieirile de la #1102 la #1109 active, restul ieirilor fiind inactive, valoarea variabilei #1132 va fi:

Valorile de compensare pentru scul de la #10001 la #13999 Valorile de compensare pentru scul pot fi citite la variabilele de la #10001 la #13999, sau li se pot atribui valori.
Nr. compensare geometrie 1 2 . . 999 #10001 #10002 . . #10999 H uzur #11001 #11002 . . #11999 geometrie #12001 #12002 . . #12999 D uzur #13001 #13002 . . #13999

173

20 Macro utilizator Ofseturile punctelor de zero ale piesei de la #5201 la #5328 Ofseturile punctelor de zero ale piesei pot fi citite la variabilele de la #5201 la #5328, sau li se pot atribui valori.
Numrul variabilei #5201 #5202 : #5208 #5221 #5222 : #5228 #5241 #5242 : #5248 #5261 #5262 : #5268 #5281 #5282 : #5288 #5301 #5302 : #5308 #5321 #5322 : #5368 valoarea variabilei ofset comun al punctului de zero al piesei, axa 1 ofset comun al punctului de zero al piesei, axa 2 ofset comun al punctului de zero al piesei, axa 8 valoarea ofsetului punctului de zero al piesei, axa 1 valoarea ofsetului punctului de zero al piesei, axa 2 valoarea ofsetului punctului de zero al piesei, axa 8 valoarea ofsetului punctului de zero al piesei, axa 1 valoarea ofsetului punctului de zero al piesei, axa 2 valoarea ofsetului punctului de zero al piesei, axa 8 valoarea ofsetului punctului de zero al piesei, axa 1 valoarea ofsetului punctului de zero al piesei, axa 2 valoarea ofsetului punctului de zero al piesei, axa 8 valoarea ofsetului punctului de zero al piesei, axa 1 valoarea ofsetului punctului de zero al piesei, axa 2 valoarea ofsetului punctului de zero al piesei, axa 8 valoarea ofsetului punctului de zero al piesei, axa 1 valoarea ofsetului punctului de zero al piesei, axa 2 valoarea ofsetului punctului de zero al piesei, axa 8 valoarea ofsetului punctului de zero al piesei, axa 1 valoarea ofsetului punctului de zero al piesei, axa 2 valoarea ofsetului punctului de zero al piesei, axa 8 G59 G58 G57 G56 G55 G54 sistemul de coordonate al piesei comun pentru toate sistemele de coordonate

Numrul axei se refer la axele fizice. Relaia dintre numerele i numele axelor va fi definit de ctre constructorul mainii unealt prin parametrii din grupul AXIS. De obicei axele 174

20 Macro utilizator 1,2 i 3 sunt atribuite la adresele X, Y i respectiv Z, dar sunt permise i alte specificaii. Alarma - #3000 Prin definirea #3000=nnn(ALARM) se poate afia un mesaj numeric de eroare (nnn= maxim trei cifre zecimale) i textul mesajului de eroare. Textul trebuie pus ntre paranteze rotunde ( ). Mesajul nu poate fi mai lung de 25 de caractere. Dac macro conine o eroare, adic programul ruleaz ctre o ramur n care o valoare a fost definit la variabila #3000, programul va fi executat pn la blocul anterior, apoi se suspend execuia i sunt afiate pe ecran un mesaj de eroare i codul su (4nnn). Numrul mesajului este suma numrului specificat n variabila #3000 i 4000. Dac nu a fost specificat nici un numr, codul mesajului va fi 4000 iar dac nu a fost specificat nici un text, cmpul mesajului este gol. Starea de eroare se poate terge cu butonul RESET. Cronometru (timer) n milisecunde - #3001 Valoarea variabilei #3001 se poate citi i nscrie. Intervalul dintre dou momente de timp poate fi msurat n milisecunde, cu o acuratee de circa 20 milisecunde. Numrtorul #3001 se va umple la 65536. Valoarea variabilei #3001 va ncepe de la 0 n momentul cuplrii la reea, i va numra cresctor. Numrarea continu ct timp este pornit comanda numeric. Cronometru (timer) principal - #3002 Valoarea variabilei #3002 se poate citi i nscrie. Intervalul dintre dou momente de timp poate fi msurat n milisecunde, cu o acuratee de circa 20 milisecunde. n momentul cuplrii la reea, valoarea variabilei #3002 va fi cea din momentul decuplrii, i va numra cresctor. Numrarea se face att timp ct lumineaz START, adic este msurat ct timp st comanda numeric n condiia de start. Este localizat la ceasul CUTTING2 din memoria de parametri. Suprimarea execuiei bloc cu bloc - #3003 Dac #3003=1, comanda numeric nu se va opri la sfritul unui bloc (n starea de mod bloc singular) pn cnd variabila nu ia valoarea 0. Valoarea variabilei este 0 la deconectarea alimentrii sau dup resetarea programului la nceput. #3003 execuie bloc cu bloc 0= nesuprimat 1= suprimat

175

20 Macro utilizator Suprimarea butonului de stop, a coreciei avansului i a stopului precis - #3004

n condiia de suprimare a funciei de oprire a avansului, avansul se va opri la apsarea butonului de stop doar cnd se nltur suprimarea. Cnd este suprimat corecia avansului, corecia ia valoarea de 100% pn cnd se nltur suprimarea. n condiia de suprimare a stopului precis, comanda numeric nu va executa verificarea pn cnd nu se nltur suprimarea. Valoarea variabilei este 0 la conectarea alimentrii sau dup resetarea programului la nceput.
#3004 0 1 2 3 4 5 6 7 Stop precis 0 0 0 0 1 1 1 1 Corecie avans 0 0 1 1 0 0 1 1 Stop avans 0 1 0 1 0 1 0 1

0 = funcia este activ 1 = funcia este suprimat Stop cu mesaj - #3006 Ca rezultat al atribuirii unei valori la #3006=nnn(MESAJ) execuia programului este oprit i este afiat pe ecran mesajul ntre paranteze rotunde mpreun cu codul 5nnn. Codul este suma numrului specificat n variabil i 5000. Dac nu a fost specificat nici un numr, va fi afiat codul 5000, iar dac nu a fost specificat nici un text, cmpul mesajului va fi gol. Execuia programului se reia la eliberarea butonului START, iar mesajul este ters de pe ecran. Mesajul nu poate fi mai lung de 25 de caractere. Aceast instruciune este util oricnd este necesar intervenia operatorului pe timpul execuiei programului. Starea imaginii n oglind - #3007 Prin citirea variabilei #3007, operatorul poate stabili axa fizic particular la care s-a nregistrat comanda de imagine n oglind. Aceast variabil este de tipul doar citire. Valoarea variabilei este interpretat n termeni binari dup cum urmeaz:
1 1 1 1 1 1 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 | | | | (8) (3)2)1) (1) prima ax (2) a doua ax (3) a treia ax : ( 8) a opta ax

Biii au urmtoarea semnificaie 0= fr imagine n oglind 1= imagine n oglind Dac de exemplu valoarea variabilei este 5, imaginea n oglind este activ pe axele 1 i 3 176

20 Macro utilizator Numrul axei se refer la o ax fizic, parametrul definind numele particular al axei referitor la un numr de ax fizic. Numrul de piese prelucrate, numrul de piese de prelucrat - #3901, #3902 Comanda numeric memoreaz numrul de piese prelucrate n numrtorul #3901. Coninutul numrtorului va fi incrementat cu unu dup executarea fiecrei funcii M02, M30 sau a funciilor M selectate n parametrul PRTCNTM. Cnd numrul de piese prelucrate devine egal cu numrul necesar de piese (numrtorul #3902), comanda numeric semnalizeaz ctre PLC printr-un flag. Numrul de piese prelucrate #3901 Numrul de piese de prelucrat #3902 Numrtoarele #3901 i #3902 se afl la parametrii PRTTOTAL i respectiv PRTREQRD. Informaie modal de la #4001 la #4130, i de la #4201 la #4330 Valorile modale eficace n blocul anterior pot fi stabilite prin citirea variabilelor de sistem de la #4001 la #4130. Comenzile modale active n blocul aflat n execuie pot fi stabilite prin citirea variabilelor de la #4201 la #4330.
variabila de sistem #4001 : #4020 #4101 #4102 #4103 #4107 #4108 #4109 #4111 #4113 #4114 #4115 #4119 #4120 informaia modal | variabila a blocului anterior | de sistem | cod G, grup 1 | #4201 : | : cod G, grup 20 | #4220 cod A | #4301 cod B | #4302 cod C | #4303 cod D | #4307 cod E | #4308 cod F | #4309 cod H | #4311 primul cod M introdus | #4313 numr bloc, N | #4314 numr program, O | #4315 cod S | #4319 cod T | #4320 informaia modal a blocului aflat n execuie cod G, grup 1 : cod G, grup 20 cod A cod B cod C cod D cod E cod F cod H primul cod M introdus numr bloc, N numr program, O cod S cod T

177

20 Macro utilizator Informaie poziional Poziii la sfrit de bloc


Variabil de sistem #5001 #5002 : #5008 informaie de poziie coordonata pe axa 1 la sfritul blocului coordonata pe axa 2 la sfritul blocului posibil coordonata pe axa 8 la sfritul blocului citire pe durata micrii

Coordonata la sfritul blocului va fi introdus n variabil - n sistemul de coordonate al piesei n lucru - innd cont de ofseturile coordonatei - n coordonate carteziene - cu toate compensrile ignorate (lungime, raz, ofset scul) Poziiile instantanee n sistemul de coordonate al mainii
Variabil de sistem #5021 #5022 : #5028 natura informaiei de poziie coordonata instantanee pe axa 1 (G53) coordonata instantanee pe axa 2 (G53) nu e posibil coordonata instantanee pe axa 8 (G53) introducere pe durata micrii

Poziia instantanee (G53) va fi introdus n variabil - n sistemul de coordonate al mainii - innd cont de toate compensrile (lungime, raz, ofset scul). Poziiile instantanee n sistemul de coordonate al piesei
Variabil de sistem #5041 #5042 : #5048 natura informaiei de poziie coordonata instantanee pe axa 1 coordonata instantanee pe axa 2 nu e posibil coordonata instantanee pe axa 8 introducere pe durata micrii

Coordonata instantanee va fi introdus n variabil - n sistemul de coordonate al piesei n lucru - innd cont de ofseturile coordonatei - n coordonate carteziene - innd cont de toate compensrile (lungime, raz, ofset scul).

178

20 Macro utilizator Poziia in care apare semnalul de salt


Variabil de sistem #5061 #5062 : #5068 natura informaiei de poziie coordonata semnalului de salt pe axa 1 (G31) coordonata semnalului de salt pe axa 2 (G31) posibil coordonata semnalului de salt pe axa 8 (G31) introducere pe durata micrii

Poziia n care a sosit semnalul de salt n blocul G31 va fi introdus n variabil - n sistemul de coordonate al piesei - innd cont de ofseturile coordonatei - n coordonate carteziene - cu toate compensrile (lungime, raz, ofset scul). Dac semnalul de salt nu sosete, variabilele de mai sus vor lua poziia final programat n blocul G31.

Compensarea lungimii sculei


Variabil de sistem #5081 #5082 : #5088 natura informaiei de poziie lungimea compensrii pe axa 1 lungimea compensrii pe axa 2 nu e posibil lungimea compensrii pe axa 8 introducere pe durata micrii

Valoarea care poate fi citit a compensrii lungimii sculei este cea care este activ n blocul aflat n execuie.

179

20 Macro utilizator

Decalajul Servo
Variabil de sistem #5101 #5102 : #5108 natura informaiei de poziie decalaj servo pe axa 1 decalaj servo pe axa 2 nu e posibil decalaj servo pe axa 8 introducere pe durata micrii

Valoarea care poate fi citit a decalajului servo este o valoare cu semn, n milimetri. 20.13 Instruciuni ale limbajului de programare Expresia #i = <formul> este folosit pentru descrierea diferitelor instruciuni. Expresia <formul> poate s includ operaii aritmetice, funcii, variabile sau constante. n general, referirile n <formul> se fac la variabilele #i i #k. Termenul <formul> nu e obligatoriu s se afle n partea dreapt a unei instruciuni definiie, se poate atribui o formul i pentru diferitele adrese n blocul NC, n locul unei anumite valori numerice sau variabile. 20.13.1 Definire, nlocuire: #i =#j Codul instruciunii este =. Ca rezultat al instruciunii, variabila #i va lua valoarea variabilei #j, adic valoarea variabilei #j va fi introdus n variabila #i.

180

20 Macro utilizator 20.13.2 Operaii aritmetice i funcii Operaii cu un singur operand Minus cu un singur operand: #i = - #j Codul operaiei este -. Ca rezultat al operaiei, variabila #i va avea o valoare identic cu variabila #j n valoare absolut dar cu semn schimbat. Negaie aritmetic: #i = NOT #j Codul operaiei este NOT. Ca rezultat al operaiei, variabila #j este convertit mai nti ntr-un numr de 32 de bii cu virgul fix. Se afieaz mesajul de eroare 3091 ERRONEUS OPERATION WITH # (operare incorect cu #) dac numrul nu poate fi reprezentat n 32 de bii. Apoi valoarea numrului binar va fi negat bit cu bit i numrul rezultat astfel va fi reconvertit ntr-unul cu virgul mobil i pus n variabila #i. Operaii aritmetice de sumare Adunarea: #i = #j + #k Codul operaiei este +. Ca rezultat al operaiei, variabila #i va deveni suma dintre valoarea variabilei #j i valoarea variabilei #k. Scderea: #i = #j - #k Codul operaiei este -. Ca rezultat al operaiei, variabila #i va deveni diferena dintre valoarea variabilei #j i valoarea variabilei #k. Suma logic, SAU: #i = #j OR #k Codul operaiei este OR (SAU logic). Ca rezultat al operaiei, suma logic dintre variabilele #j i #k se va introduce n variabila #i pentru fiecare din cei 32 de bii. Se va introduce 0 atunci cnd poziiile similare din cele dou numere au valoarea 0 (altfel se introduce 1). SAU exclusiv: #i = #j XOR #k Codul operaiei este XOR (SAU exclusiv). Ca rezultat al operaiei, variabilele #j i #k vor fi adunate pentru fiecare din cei 32 de bii n variabila #i de o aa manier c se va introduce 0 atunci cnd poziiile similare din cele dou numere au valori identice (i 1 cnd valorile sunt diferite). Operaii aritmetice de multiplicare nmulirea: #i = #j * #k Codul operaiei este *. Ca rezultat al operaiei, variabila #i va deveni produsul dintre valoarea variabilei #j i valoarea variabilei #k.

181

20 Macro utilizator mprirea: #i = #j / #k Codul operaiei este /. Ca rezultat al operaiei, variabila #i va deveni raportul variabilelor #j i #k. Valoarea lui #k nu poate fi 0, pentru c dac este 0 se afieaz mesajul de eroare 3092 DIVISION BY 0 # (mprire prin 0).

Restul: #i = #j MOD #k Codul operaiei este MOD. Ca rezultat al operaiei, variabila #i va deveni restul raportului variabilelor #j i #k. Valoarea lui #k nu poate fi 0, pentru c dac este 0 se afieaz mesajul de eroare 3092 DIVISION BY 0 # (mprire prin 0). Exemplu: Pentru #120 = 27 MOD 4, valoarea variabilei #120 va fi 3. Produs logic, I: #i = #j AND #k Codul operaiei este AND (I logic). Ca rezultat al operaiei, produsul logic dintre variabilele #j i #k se va introduce n variabila #i pentru fiecare din cei 32 de bii. Se va introduce 1 atunci cnd poziiile similare din cele dou numere au valoarea 1 (altfel se introduce 0). Funcii Rdcin ptrat: #i = SQRT #j Codul operaiei este SQRT. Ca rezultat al operaiei, variabila #i va deveni rdcina ptrat a variabilei #j. Valoarea lui #j nu poate fi un numr negativ. Sinus: #i = SIN #j Codul operaiei este SIN. Ca rezultat al operaiei, variabila #i va deveni sinusul variabilei #j. Valoarea lui #j se msoar n grade. Cosinus: #i = COS #j Codul operaiei este COS. Ca rezultat al operaiei, variabila #i va deveni cosinusul variabilei #j. Valoarea lui #j se msoar n grade. Tangenta: #i = TAN #j Codul operaiei este TAN. Ca rezultat al operaiei, variabila #i va deveni tangenta variabilei #j. Valoarea lui #j se msoar n grade. Valoarea lui #j nu poate fi (2n+1)*90, unde n=0, 1, 2, Arcsinus: #i = ASIN #j Codul operaiei este ASIN. Ca rezultat al operaiei, variabila #i va deveni arcsinus de variabila #j n grade. Condiia 1<#j<1 trebuie s fie adevrat. Rezultatul, adic valoarea lui #i este cuprins ntre +90 i 90.

182

20 Macro utilizator Arccosinus: #i = AcIN #j Codul operaiei este ACOS. Ca rezultat al operaiei, variabila #i va deveni arccosinus de variabila #j n grade. Condiia 1<#j<1 trebuie s fie adevrat. Rezultatul, adic valoarea lui #i este cuprins ntre 0 i 180. Arctangent: #i = ATAN #j Codul operaiei este ATAN. Ca rezultat al operaiei, variabila #i va deveni arctangent de variabila #j n grade. Rezultatul, adic valoarea lui #i, este cuprins ntre +90 i 90. Funcie exponenial cu baza e: #i = EXP #j Codul operaiei este EXP. Ca rezultat al operaiei, variabila #i va deveni e (numrul natural) la puterea #j. Logaritm natural: #i = LN #j Codul operaiei este LN. Ca rezultat al operaiei, variabila #i va deveni logaritmul natural al numrului #j. Valoarea lui #j nu poate fi 0 sau un numr negativ. Valoare absolut: #i = ABS #j Codul operaiei este ABS. Ca rezultat al operaiei, variabila #i va deveni valoarea absolut a variabilei #j. Conversie din binar n zecimal codat binar: #i = BCD #j Codul funciei este BCD. Ca rezultat al operaiei, variabila #i va deveni valoarea BCD a variabilei #j. Valoarea variabilei #j este cuprins ntre 0 i 99999999. Conversie din zecimal codat binar n binar: #i = BIN #j Codul funciei este BIN. Ca rezultat al operaiei, variabila #i va deveni valoarea binar a variabilei #j. Valoarea variabilei #j este cuprins ntre 0 i 99999999. Ignorarea zecimalelor: #i = FIX #j Codul funciei este FIX. Aceast operaie va ignora zecimalele variabilei #j i acea valoare va trece n variabila #i. De exemplu:
#130 = FIX 4.8 = 4 #131 = FIX 6.7 = -6

Rotunjirea zecimalelor prin majorare la 1: #i = FUP #j Codul funciei este FUP. Aceast operaie va ignora zecimalele variabilei #j, dar va aduga 1 la #j n valoare absolut. De exemplu:
#130 = FUP 12.1 = 13 #131 = FUP 7.3 = -8

183

20 Macro utilizator Operaii aritmetice complexe Succesiunea de executare Operaiile aritmetice mai sus menionate se pot combina. Succesiunea de executare a operaiilor (ordinea de executare a operaiilor) este: funcii operaii de multiplicare operaii de sumare. De exemplu:
#110 = #111 + #112 * COS #113 ----1------------2-----------------------3-----------------ordinea operaiilor

Modificarea succesiunii de executare Succesiunea de executare a operaiilor poate fi modificat prin folosirea parantezelor [ i ]. Pot fi pn la cinci nivele de paranteze. Dac ntr-un program se depete numrul de 5 nivele, se afieaz eroarea 3064 BAD MACRO STATEMENT (declaraie macro greit). Un exemplu de trei nivele de paranteze:
#120 = COS [ [ [ #121 - #122] * #123 + #125] * #126] -----1--------------------2-----------------------------3------------------------------------------4--------------------------------------------------5----------------------------

Numerele se refer la ordinea de executare a operaiilor. n interiorul unei paranteze este valabil regula cu privire la ordinea de executare a operaiilor prezentat mai sus. 20.13.3 Operaii logice Limbajul de programare folosete urmtoarele operaii logice: egal diferit mai mare mai mic mai mare sau egal #i EQ #j #i NE #j #i GT #j #i LT #j #i GE #j

mai mic sau egal #i LE #j Variabilele din ambele pri ale unei operaii logice se pot nlocui i cu formule. Expresiile condiionale de mai sus pot fi folosite n instruciuni de ramificare sau iterare: IF (dac) respectiv WHILE (ct timp). NOT : Deoarece expresiile condiionale de mai sus sunt urmate de adunri i scderi, trebuie luate n consideraie eventualele erori cu privire la acurateea deciziei.

184

20 Macro utilizator 20.13.4 Ramificare necondiionat: GOTOn Ca rezultat al instruciunii GOTOn, execuia programului se va continua n mod necondiionat la blocul cu numrul de secven n din acelai program. Numrul de secven n poate fi nlocuit cu o variabil sau o formul. Numrul blocului la care se face saltul prin instruciunea GOTO trebuie s fie pus la nceputul blocului respectiv. Dac nu este gsit numrul blocului selectat se afieaz mesajul de eroare 3070 NOT EXISTING BLOCK NO.P (nu exist bloc cu nr. p). 20.13.5 Ramificare condiionat: IF[<expresia condiiei>] GOTOn Dac [<expresia condiiei>], aflat obligatoriu ntre paranteze ptrate, este ndeplinit, execuia programului se va continua n mod necondiionat la blocul cu numrul de secven n din acelai program. Dac [<expresia condiiei>] nu este ndeplinit, execuia programului se va continua la blocul urmtor. Se afieaz mesajul de eroare 3091 ERRONEOUS OPERATION WITH # (operare eronat cu #) n cazul n care IF nu este urmat de expresia condiiei. Dac expresia condiiei are o eroare de sintax, se afieaz mesajul de eroare 3064 BAD MACRO STATEMENT (declaraie macro greit). 20.13.6 Instruciune condiionat: IF[<expresia condiiei>] THEN Dac (IF) [<expresia condiiei>] este ndeplinit, va fi executat instruciunea care urmeaz dup THEN (atunci). Dac [<expresia condiiei>] nu este ndeplinit, execuia programului se va continua la blocul urmtor. Cuvntul THEN se poate omite, instruciunea: IF[<expresia condiiei>] instruciune va fi executat cu acelai rezultat. 20.13.7 Iteraie: WHILE[<expresia condiiei>] DOm ENDm Att timp ct (WHILE) [<expresia condiiei>] este ndeplinit, blocurile care urmeaz DOm (execut m) pn la blocul ENDm (sfrit m) vor fi executate repetat. n instruciune, comanda numeric va verifica dac este ndeplinit condiia; dac este, poriunea de program cuprins ntre DOm i ENDm va fi executat; apoi ca rezultat al instruciunii ENDm, programul se va ntoarce pentru a verifica din nou expresia condiie de dup WHILE. Dac [<expresia condiiei>] nu este ndeplinit, execuia programului se va continua la blocul de dup ENDm. Dac se omite WHILE[<expresia condiiei>], adic ciclul este descris de instruciunea DOm ENDm, poriunea de program cuprins ntre DOm i ENDm va fi executat la nesfrit. Valorile posibile pentru m sunt 1, 2, 3. Dac se specific orice alt valoare se afieaz mesajul de eroare 3091 ERRONEOUS OPERATION WITH # (operare eronat cu #). Dac WHILE nu este urmat de o expresie de condiie se afieaz mesajul de eroare 3091 ERRONEOUS OPERATION WITH # (operare eronat cu #). Dac expresia condiiei are o eroare de sintax, se afieaz mesajul de eroare 3064 BAD MACRO STATEMENT (declaraie macro greit). 185

20 Macro utilizator Regulile de organizare a ciclului: - Instruciunea DOm trebuie s fie specificat naintea instruciunii ENDm.
: END1 : : : DO1

fals (EROARE 72)

- Instruciunile DOm i ENDm trebuie s fie n perechi.


: DO1 : DO1 : END1 : sau : DO1 : END1 : END1 : : DO1 : END1 : : : DO1 : END1 : : DO1 : DO2 : DO3 : : : END3 : END3 : END1 :

fals

fals

- Se poate folosi un anumit identificator de mai multe ori.

corect

- Perechile DOm ENDm pot cuprinde pn la trei nivele de alte perechi.

corect

- Perechile DOm ENDm nu se pot ntreptrunde.

186

20 Macro utilizator
: DO1 : DO2 : : : END1 : END2 : DO1 : GOTO150 : : : END1 : N150 : : GOTO150 : DO1 : : : N150 : END1 : : DO1 : N150 : : : END1 : GOTO150 :

fals

- Se poate face o ramificaie n afara ciclului.

corect

- Nu este permis intrarea n ciclu din afar.

fals

sau

fals

- Un subprogram sau un macro poate fi apelat din interiorul unui ciclu. Ciclurile din interiorul unui subprogram sau a unui macro utilizator pot la rndul lor s cuprind pn la trei nivele de alte cicluri.
: DO1 : M98 : G65 : G66 :

corect corect corect

187

20 Macro utilizator
G67 : END1 : corect

20.13.8 Comenzi de ieire date Comanda numeric va recunoate urmtoarele comenzi de ieire date: POPEN periferic deschis BPRNT tiprire date binare (ieire) DPRNT tiprire date zecimale (ieire) PCLOS periferic nchis Aceste comenzi de ieire date pot fi folosite pentru nscrierea extern a caracterelor i valorilor variabilelor. Ieirea se poate realiza n memoria comenzii numerice sau ctre un dispozitiv extern de stocare (printr-un canal serial). Deschiderea unui periferic POPENn nainte de a da o comand de ieire date, trebuie deschis perifericul corespunztor, prin care s se execute ieirea datelor. Selectarea perifericul corespunztor se face prin numrul n: n=1 interfa cu canal serial RS-232C n =31 memoria comenzii numerice Un caracter % este de asemenea transmis ctre periferic simultan cu deschiderea perifericului, adic orice transmitere de date ncepe cu un caracter %. Ieire de date binare BPRNT[]
BPRNT [ a #b [c] ] unde a = caracter #b = variabil [c] = numrul de cifre de dup punctul zecimal

Comanda numeric va trimite caracterele n cod ISO sau ASCII (funcie de impunerea parametrilor); variabilele vor fi transmise n form binar. - Caracterele vor fi transmise n cod ISO sau ASCII. Caracterele de transmis sunt: caractere alfabetice (A, B, , Z) numere (1, 2, ,0) caractere speciale (*, /, +, -) Comanda numeric va trimite n locul codului ISO pentru * codul pentru spaiu (A0h). - Valorile variabilelor vor fi transmise n 4 bytes (adic n 32 de bii), ncepnd cu cel mai semnificativ byte. Numrul variabilei trebuie urmat de numrul de zecimale ntre paranteze ptrate. Comanda numeric va converti valoarea n virgul mobil a variabilei n valoare cu virgul fix, n care numrul de cifre zecimale semnificative este egal cu valoarea pus ntre parantezele ptrate. Valorile posibile pentru c sunt 1, 2, , 8. Dac, de exemplu # 120 = 258.647673 i [3] -------- va fi transmis 258648 = 0003F258h - O variabil vacant va fi transmis cu codul binar 00000000h. - La sfritul transmisiei de date, comanda numeric va trimite automat caracterul Line Feed (sfrit de rnd). De exemplu:

188

20 Macro utilizator
BPRNT [ C*/ X#110 [3] #110=318.49362 #120=0.723415 #112=23.9 Y#120 [3] M#112 [0] ] -----------------318494=0004DC1Eh -----------------723=000002D3h -----------------24=00000018h

Caracterele de transmis sunt:


7 6 5 4 3 2 1 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 ---C ---Spaiu ---/ ---X ---00 ---04 ---DC ---1E ---Y ---00 ---00 ---02 ---D3 ---M ---00 ---00 ---00 ---18 ---Line Feed(sfrit de rnd)

Ieire de date zecimale DPRNT[]


DPRNT [ a #b [ c d ] ] unde a = caracter #b = variabil d = numr de cifre dup punctul zecimal c = numr de cifre nainte de punctul zecimal

Toate caracterele i cifrele vor fi trimise n cod ISO sau ASCII, funcie de impunerea parametrilor. - Pentru regulile de trimitere a caracterelor vezi instruciunile de la BPRNT. - Pentru ieirea valorilor variabilelor, trebuie precizate numerele ntregilor zecimali i ale fraciilor, n care trebuie pus variabila. Cifrele trebuie specificate ntre paranteze ptrate. Pentru specificarea cifrelor trebuie ndeplinit condiia 0 < c + d < 9. Procedura de transmitere la ieire a cifrelor ncepe cu cea mai semnificativ cifr. La transmiterea la ieire a cifrelor, semnul negativ ( - ) i punctul zecimal ( . ) vor fi transmise folosindu-se codurile ISO respective. Dac parametrul PRNT=0, pentru semnul + i pentru zerourile din faa ntregilor se va transmite un cod de spaiu; dup punctul zecimal fiecare 0 (dac exist) se va transmite cu codul de 0. Dac parametrul PRNT=1, semnul + i zerourile din faa ntregilor nu vor fi transmise; dac este definit punctul zecimal, zerourile aflate dup el vor fi transmise. n caz contrar nu se vor transmite nici punctul zecimal nici zerourile. - Dac d=0, va fi transmis punctul zecimal; dac este specificat doar c, nu va fi transmis nici punctul zecimal. - O variabil vacant va fi transmis cu codul 0.

189

20 Macro utilizator

- La sfritul transmisiei de date, comanda numeric va trimite automat caracterul Line Feed (sfrit de rnd). De exemplu:
DPRNT [ X#130 [53] Y#500 [53] T#10 [2] ] #130=35.897421 -------- 35.897 #500=150.8 -------- 150.8 #10=214.8 -------- 15

Ieirea de date cu PRNT=0


7 6 5 4 3 2 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 ---X ---Spaiu ---Spaiu ---Spaiu ---Spaiu ---3 ---5 ---Punct zecimal (.) ---8 ---9 ---7 ---Y ---Semnul minus () ---Spaiu ---Spaiu ---1 ---5 ---0 ---Punct zecimal (.) ---8 ---0 ---0 ---T ---Spaiu ---1 ---5 ---Line Feed (LF)(sfrit de rnd)

Ieirea de date cu PRNT=1


7 6 5 4 3 2 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 ---X ---3 ---5 ---Punct zecimal (.) ---8 ---9 ---7 ---Y ---Semnul minus () ---1 ---5 ---0 ---Punct zecimal (.) ---8 ---0 ---0

190

20 Macro utilizator
1 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 ---T ---1 ---5 ---Line Feed (LF)(sfrit de rnd)

nchiderea unui periferic - PCLOSn Perifericul deschis cu comanda POPEN trebuie s fie nchis cu comanda PCLOS. Comanda PCLOS trebuie s fie urmat de o specificare a numrului perifericului care s fie nchis. n momentul nchiderii, este trimis la periferic i un caracter %, adic fiecare transmisie de date este ncheiat cu un caracter %. Note: - Secvena de ieire date este fix. La nceput trebuie deschis perifericul corespunztor cu comanda POPEN, apoi se transmit datele (cu una din comenzile BPRNT sau DPRNT), iar n final perifericul deschis trebuie s fie nchis cu instruciunea PCLOS. - Deschiderea i nchiderea unui periferic pot fi specificate n orice punct din program. De exemplu, poate fi deschis la nceputul programului i nchis la sfritul programului, datele fiind transmise oricnd n timpul programului. - O comand M30 sau M2 executat n timpul n care se execut transmiterea de date va ntrerupe transferul. Pentru a se evita aceasta, trebuie introdus o perioad de ateptare nainte de executarea comenzii M30. - Parametrii perifericului (rata baud, numrul de bii de stop, etc.) trebuie impui corect. Acetia pot fi selectai n grupul SERIAL din cmpul parametrilor. 20.14 Instruciuni NC i instruciuni macro Blocurile NC i blocurile macro pot fi difereniate n limbajul de programare. Blocurile scrise n termenii codurilor convenionale G, M, etc. sunt privite ca blocuri NC chiar i atunci cnd valorilor adreselor li se atribuie variabile sau formule la fel ca i valori numerice. Blocurile urmtoare sunt privite ca instruciuni macro: - un bloc care conine o instruciune de definiie sau de substituie (#i=#j) - un bloc care conine o ramificare condiionat sau o instruciune de iteraie (IF, WHILE) - blocuri care conin comenzi de control (GOTO, DO, END) - blocuri care conin apeluri macro (G65, G66,G66.1, G67, sau coduri G, sau M care iniiaz apeluri macro). 20.15 Desfurarea n timp a execuiei instruciunilor NC i macro Blocurile macro pot fi executate de ctre comanda numeric n paralel cu blocurile NC sau n ordine consecutiv. Parametrul SBSTM determin executarea blocurilor NC i macro. Dac parametrul: =0: blocurile NC i cele macro sunt executate n ordinea n care au fost scrie n program, =1: Declaraiile macro sunt executate n decursul executrii blocurilor NC.

191

20 Macro utilizator Exemplu: SBSTM=0


%O1000 ... N10 #100=50 N20 #101=100 N30 G1 X#100 Y#101 N40 #100=60 (definire dup N30) N50 #101=120 (definire dup N30) N60 G1 X#100 Y#101

. SBSTM=1
%O1000 ... N10 #100=50 N20 #101=100 N30 G1 X#100 Y#101 N40 #100=60 (definire n timpul N30) N50 #101=120 (definire n timpul N30) N60 G1 X#100 Y#101

Comenzile de definire din blocurile N40 i N50 sunt executate dup executarea micrii din blocul N30.

Comenzile de definire din blocurile N40 i N50 sunt executate n timpul executrii micrii din blocul N30.

Concluzii: Concluzii: - execuia programului este mai lent, - execuia programului este mai rapid, - dac execuia blocului N30 este - dac execuia blocului N30 este ntrerupt i apoi prelucrarea este pornit, ntrerupt i apoi prelucrarea este pornit, prelucrarea continu deoarece variabilele prelucrarea nu poate continua, dect dac blocului N30 nu au fost modificate de se d cutare de bloc pentru blocul N30 ctre blocurile N40, N50. deoarece variabilele blocului N30 sunt deja modificate de ctre blocurile N40, N50. 20.16 Afiarea macro i a subprogramelor n modul automat Blocurile de macro i subprogramele vor fi afiate de ctre comanda numeric n modul automat. Dac parametrul MD8 este impus 0, blocurile de subprogram i macro numerotate de la 8000 la 8999 nu vor fi listate atunci cnd sunt executate. Dac parametrul MD8 este impus 1, vor fi listate i aceste blocuri. Dac parametrul MD9 este impus 0, blocurile de subprogram i macro numerotate de la 9000 la 9999 nu vor fi listate atunci cnd sunt executate. Dac parametrul MD9 este impus 1, vor fi listate i aceste blocuri. 20.17 Folosirea butonului STOP n timpul execuiei unei instruciuni macro Apsarea butonului STOP, adic suspendarea execuiei programului va avea efect ntotdeauna la terminarea instruciunii macro aflate n execuie.

192

20 Macro utilizator 20.18 Ciclul macro de frezare n adncime Instruciunea G65 P9999 X Y Z I J K R F D E Q M S T va porni un ciclu de frezare n adncime. Pentru executarea ciclului, macro cu numr de program O9999 trebuie adus n memorie din memoria PROM a comenzii numerice. Anterior apelrii ciclului, scula trebuie adus deasupra centrului geometric al prelucrrii n planul selectat, la o distan de siguran deasupra piesei. La sfritul ciclului scula va fi retrasa n acelai punct. Adresele n bloc trebuie s aib urmtoarea semnificaie: X = mrimea prelucrrii n direcia X Y = mrimea prelucrrii n direcia Y Z = mrimea prelucrrii n direcia Z Instruciunile G17, G18, G19 vor defini lungimea, limea i adncimea prelucrrii pentru cele trei coordonate. De exemplu, n cazul lui G17, Z va fi adncimea prelucrrii, cea mai lung dintre X i Y va fi lungimea prelucrrii, iar cea mai scurt limea. Aceste valori trebuie s fie introduse n valori absolute ca numere pozitive. R = raza colurilor prelucrrii. Rotunjirea colurilor prelucrrii (dac exist) trebuie specificat la adresa R. Dac nu se completeaz adresa R, colurile prelucrrii se vor rotunji cu raza sculei. I = distana de siguran pe direcia adncimii prelucrrii n cazul lui G19. J = distana de siguran pe direcia adncimii prelucrrii n cazul lui G18. K = distana de siguran pe direcia adncimii prelucrrii n cazul lui G17. n funcie de planul selectat, distana de siguran pe direcia sculei trebuie s fie specificat n bloc la adresele I(G19), J(G18) sau K(G17). Cnd este pornit ciclul, comanda numeric consider c vrful sculei este localizat la acea distan fa de suprafaa piesei. n timpul prelucrrii, dup ce s-a ndeprtat materialul de la un nivel, scula va fi ridicat la acea distan astfel nct s fie adus n punctul de pornire pentru frezarea nivelului urmtor. D = adresa registrului care conine compensarea razei sculei. Numrul de compensare al razei sculei folosite n program trebuie specificat obligatoriu la adresa D. n plus, frezarea n adncime trebuie s fie executat n starea G40. 193

20 Macro utilizator

E = lime de tiere, ca procent din diametrul de frezare cu semnul +, prelucrare n sens antiorar, cu semnul -, prelucrare n sens orar. La adresa E se pot specifica dou tipuri de informaie. Valoarea lui E definete adncimea de tiere ca procent din diametrul de frezare. Dac nu este specificat, comanda numeric va considera n mod automat +83%. Comanda numeric poate modifica data specificat la adresa E n funcie de adncimea prelucrrii, pentru a se obine o tiere uniform la frezarea unui anumit nivel. O astfel de modificare poate s fie doar o reducere. Semnul adresei E definete direcia de frezare. Atunci cnd avem E+, adic pozitiv, prelucrarea se va executa n sens antiorar, iar dac avem E-, adic negativ, prelucrarea se va executa n sens orar. Q = adncimea de tiere Adncimea de tiere poate fi specificat la adresa Q n unitatea de msur curent (mm sau inci). n funcie de adncimea prelucrrii, comanda numeric poate s nu in cont de valoarea din program cu scopul de a obine o distribuie uniform a tieturilor. O astfel de modificare poate s fie doar o reducere. F = avansul Avansul aplicat n ciclu poate fi specificat la adresa F. Dac nu se precizeaz o valoare pentru F, va fi adoptat valoarea modal pentru F. Se va aplica 50% din F - la nceputul frezrii unui nivel, i la gurirea unei adncimi de tiere (Q), - cnd este ncrcat n ambele pri frezarea prelucrrii longitudinal pe o distan egal cu Q. M S T = funcie O funcie M, S, T poate fi specificat n blocul care apeleaz procedura de frezare n adncime, funcie care va fi executat de ctre comanda numeric nainte de nceperea frezrii. Cazuri particulare de frezare n adncime: Dac nu s-a specificat limea prelucrrii, se va considera ca lime a prelucrrii de dou ori raza colurilor prelucrrii.

194

20 Macro utilizator Dac nu s-au specificat limea prelucrrii i razele de rotunjire a colurilor, se va considera ca lime diametrul sculei folosite (canal).

Dac nu s-au specificat nici lungimea nici limea prelucrrii, ci s-a programat numai adresa R, se va obine o frezare circular de raz R.

Dac nu sunt specificate nici lungimea nici limea nici raza, ciclul va degenera n gurire. Mesaje de eroare n cursul frezri n adncime: MACRO ERROR 1 (eroare macro 1) specificare fals a blocului. Cauze posibile: - adncimea prelucrrii nespecificat - raza sculei nespecificat - adncimea de tiere nespecificat MACRO ERROR 2 (eroare macro 2) eroare de definire n dimensiunile specificate. Cauze posibile:

195

20 Macro utilizator - mrimea specificat pentru lungimea sau limea prelucrrii este mai mic dect dublul razei prelucrrii. - lungimea sau limea prelucrrii este mai mic dect diametrul sculei apelate la adresa D. - valoarea specificat pentru limea de tiere este 0 sau raza sculei apelate este 0. - valoarea adncimii de tiere este 0, adic s-a programat 0 la adresa Q.

196

Note

Note

197

Index n ordine alfabetic

Index n ordine alfabetic


#0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 #10001-#13999. . . . . . . . . . . . . . . . . . . . .173 #1000-#1015 . . . . . .. . . . . . . . . . . . . . . . .171 #1032 . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 #1100-#1115 . . . . . .. . . . . . . . . . . . . . . . .172 #1132. . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 #195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 #196 . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .165 #197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 #198 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 #199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 #1nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 #3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 #3001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 #3002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 #3003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 #3004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 #3006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 #3007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 #3901 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 #3902 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 #4001-#4130. . . . . . . . . . . . . . . . . . . . . . .177 #4201-#4330. . . . . . . . . . . . . . . . . . . . . . .177 #5201-#5326. . . . . . . . . . . . . . . . . . . . . . .174 #5nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 accelerare. . . . . . . . . . . . . . . . . . . . . . . . . . 47 alarm. . . . . . . . . . . . . . . . . . . . . . . . . . . .175 arbore. . . . . . . . . . . . . . . . . 15, 45, 63, 71, 72 corecie . . . . . . . . . . . . . . . . . . .30, 49 orientare . . . . . . . . . . . . . . . . . . . . .65 schimbri trepte . . . . . . . . . . . . . . . 71 arc cu raz variabil . . . . . . . . . . . . . . . . .104 arc de cerc . . . . . . . . . . . . . . . . . . . . . . . . . 50 arce de col . . . . . . . . . . . . . . . . . . . . . . . . .99 avans . . . . . . . . . . . . . . . . . . . . . . . . . 12, 176 axa principal . . . . . . . . . . . . . . . . . . . . . . .62 ax de gurire . . . . . . . . . . . . . . . . . . . . . .131 Axe nume . . . . . . . . . . . . . . . . . . . . . . . .17 numr . . . . . . . . . . . . . . . . . . . . . . .17 sistem de incremente. . . . . . . . . . . .17 sistem de uniti . . . . . . . . . . . . . . .17 axe de rotaie . . . . . . . . . . . . . . . . . . . . . . . 23 axele controlate . . . . . . . . . . . . . . . . . . . . . 17 bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 cerc . . . . . . . . . . . . . . . . . . . . . . . . . . . .93, 99 198 cerc cu raz variabil . . . . . . . . . . . . . . . .105 cerc ntreg. . . . . . . . . . . . . . . . . . . . . . . . .106 ciclu fr sfrit . . . . . . . . . . . . . . . . . . . . .76 cicluri de gurire . . . . . . . . . . . . . . . . . . .131 adrese . . . . . . . . . . . . . . . . . . . . . .132 coduri . . . . . . . . . . . . . . . . . . . . . .132 configurare . . . . . . . . . . . . . . . . . .132 circular . . . . . . . . . . . . . . . . . . . . . . . . .87, 94 coduri M . . . . . . . . . . . . . . . . . . . . . . . . . .71 col interior . . . . . . . . . . . .87, 88, 94, 95, 110 Compensare . . . . . . . . . . . . . . . . . . . . . 77, 84 compensarea lungimii . . . . .77-79 compensarea razei . . . . . . . . . . . . . . 78 corecie . . . . . . . . . . . 30, 44, 48-50, 153, 176 corecie de col . . . . . . . . . . . . . . . . . . . . . .49 cuvnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 date de coordonat . . . . . . . . . . . . . . . . . . .40 limite . . . . . . . . . . . . . . . . . . . . . . . 40 specificare . . . . . . . . . . . . . . . . . . . 40 gam de valori . . . . . . . . . . . . . . . . 40 decalaj servo . . . . . . . . . . . . . . . . . . . . . . .180 direcia modului ofset . . . . . . . . . . . . . . . . 97 direcie cerc . . . . . . . . . . . . . . . . . . . . . . . 116 execuie bloc cu bloc . . . . . . . . . . . . . . . . 175 format . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 format program . . . . . . . . . . . . . . . . . 10, 168 frnare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 funcia schimbare scul . . . . . . . . . . . . . . . 69 funcii auxiliare . . . . . . . . . . . . . . . . . . . . . 72 funcii de msurare . . . . . . . . . . . . . . . . . .154 funcii de siguran . . . . . . . . . . . . . . . . . .157 funcii modale . . . . . . . . . . . . . . . . . . 14, 177 funcii ne-modale . . . . . . . . . . . . . . . . . . . .15 funcii pregtitoare . . . . . . . . . . . . . . . . . . .12 imagini n oglind. . . . . . .116, 118, 134, 176 inci . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 indicarea poziiei . . . . . . . . . . . . . . . . . 59, 60 informaie de poziie . . . . . . . . . . . . . . . . 178 inhibare corecie . . . . . . . . . . . . . . . . . . . . .20 interfa . . . . . . . . . . . . . . . . . . . . . . 171, 172 interferene la compensarea sculei . . . . . .107 interpolare . . . . . . . . . . . . . . . . . . . . . . . . .12 interpolare circular . . . . . . . . . . . . . . . . . .61 nceputul programului . . . . . . . . . . . . . . . . 10 ntrziere . . . . . . . . . . . . . . . . . . 51, 101, 135 lista de adrese . . . . . . . . . . . . . . . . . . . . . . . .9

Index n ordine alfabetic msurare . . . . . . . . . . . . . . . . . . . . . . . . . .154 msurarea lungimii sculei . . . . . . . . . . . . 155 mers n jurul colurilor ascuite. . . . . . .107 mers prin exteriorul unui col . . . . . . . .92-95 mod DNC . . . . . . . . . . . . . . . . . . . . . . . . . .11 modificri ale compensrilor sculei . . . . . .78 numr de scul . . . . . . . . . . . . . . . .15, 69, 71 numr program . . . . . . . . . . . . . . . . . . . . . .10 nume program . . . . . . . . . . . . . . . . . . . . . . 10 operaii logice . . . . . . . . . . . . . . . . . . . . . .184 oprire precis . . . . . . . . . . . . . . . . . . . 48, 176 oprire programat . . . . . . . . . . . . . . . . . . . .71 Parametri A(9030) . . . . . . . . . . . . . . . . . . . . . . . . . . 165 ACC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 ACC6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 ACCDIST . . . . . . . . . . . . . . . . . . . . . . . . . 50 ACCO. . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 ADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 ALADIST . . . . . . . . . . . . . . . . . . . . . . . . 156 ANG.ACCU . . . . . . . . . . . . . . . . . . . . . . 114 ANGLAL . . . . . . . . . . . . . . . . . . . . .108, 110 AXIS1. . . . . . . . . . . . . . . . . . . . . . . . . . . .175 B(9031) . . . . . . . . . . . . . . . . . . . . . . . . . . 165 C(9032) . . . . . . . . . . . . . . . . . . . . . . . . . . 165 CDIR6. . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 CHBFMOVE . . . . . . . . . . . . . . . . . . . . . .159 CIRCOVER . . . . . . . . . . . . . . . . . . . . . . . .50 CLEG83 . . . . . . . . . . . . . . . . . . . . . .135, 143 CODES . . . . . . . . . . . . . . . 22, 23, 38, 45, 62 CORNANGLE . . . . . . . . . . . . . . . . . . . . . 49 CORNOVER . . . . . . . . . . . . . . . . . . . . . . .50 CUTTING2. . . . . . . . . . . . . . . . . . . . . . . .175 DECDIST . . . . . . . . . . . . . . . . . . . . . . . . . 50 DELTV . . . . . . . . . . . . . . . . . . . . . . . . . . 107 DOMCONST . . . . . . . . . . . . . . . . . . . . . .112 EXTER . . . . . . . . . . . . . . . . . . . . . . . . . . .157 FEED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 G(901n) . . . . . . . . . . . . . . . . . . . . . . . . . . 163 G31FD . . . . . . . . . . . . . . . . . . . . . . . . . . .154 G37FD . . . . . . . . . . . . . . . . . . . . . . . . . . .155 HELICALF . . . . . . . . . . . . . . . . . . . . . . . 28 I_LINE . . . . . . . . . . . . . . . . . . . . . . .171, 172 INDEX-C1 . . . . . . . . . . . . . . . . . . . . . . . . .66 INDEX1 . . . . . . . . . . . . . . . . . . . . . . .66, 144 INPOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 INTERFER. . . . . . . . . . . . . . . . . . . . . . . .107 LIMP2n. . . . . . . . . . . . . . . . . . . . . . . . . . .157 M(9001) . . . . . . . . . . . . . . . . . . . . . . . . . .164 M(9020) . . . . . . . . . . . . . . . . . . . . . . . . . .164 M-NUMB1 . . . . . . . . . . . . . . . . . . . . . 66 MD8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 MD9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 MODGEQU . . . . . . . . . . . . . . . . . . . . . . .163 MULBUF . . . . . . . . . . . . . . . . . . . . . . . . . .21 O_LINE. . . . . . . . . . . . . . . . . . . . . . . . . . .172 ORIENT1 . . . . . . . . . . . . . .65, 139, 149, 150 POSCHECK . . . . . . . . . . . . . . . . . . . . . . . .22 PRNT . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 PRTCNTM. . . . . . . . . . . . . . . . . . . . . 71, 177 PRTREQRD . . . . . . . . . . . . . . . . . . . . . . .177 PRTTOTAL . . . . . . . . . . . . . . . . . . . . . . .177 RAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 RADDIF . . . . . . . . . . . . . . . . . . . . . . . . . . .26 RAPDIST . . . . . . . . . . . . . . . . . . . . .155, 156 RAPID6. . . . . . . . . . . . . . . . . . . . . . . . . . . 66 REFPOS . . . . . . . . . . . . . . . . . . . . . . . . . . .53 RETG73. . . . . . . . . . . . . . . . . . . . . . 135, 137 S(9033) . . . . . . . . . . . . . . . . . . . . . . . . . . .165 SECOND. . . . . . . . . . . . . . . . . . . . . . . . . . 51 SKIPF . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 STRKEG. . . . . . . . . . . . . . . . . . . . . . . . . .157 T(9034) . . . . . . . . . . . . . . . . . . . . . . . . . . 165 TAPDWELL . . . . . . . . . . . . . . . . . . 138, 143 TEST FEED. . . . . . . . . . . . . . . . . . . . . . . . 30 WRPROT1 . . . . . . . . . . . . . . . . . . . . . . . .170 plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 plan de poziionare . . . . . . . . . . . . . . . . . .131 plan principal . . . . . . . . . . . . . . . . . . . .62 poziia unei guri . . . . . . . . . . . . . . . . . . . 133 prelucrarea colurilor . . . . . . . . . . . . . . . . . 48 program pies . . . . . . . . . . . . . . . . . . . . . . . .9 program principal . . . . . . . . . . . . . . . . . . . .10 punct de referin . . . . . . . . . . . . . .13, 52, 53 punct iniial . . . . . . . . . . . . . . . . . . . 131, 133 punct intermediar . . . . . . . . . . . . . . . . .53 punct R . . . . . . . . . . . . . . . . . . . . . . . . . . .131 punct zecimal . . . . . . . . . . . . . . . 40, 188-191 ramificare condiionat . . . . . . . . . . . . . . 184 ramificare necondiionat . . . . . . . . . . . . .184 rcire . . . . . . . . . . . . . . . . . . . . . . . 15, 71, 72 Reacie de poziie . . . . . . . . . . . . . . . . . . . .65 reducere avans . . . . . . . . . . . . . . . . . . . . . . 50 reprezentri numerice . . . . . . . . . . . . . . . .169 retragere . . . . . . . . . . . . . . . . . . . . . .131 reinere vector . . . . . . . . . . . . . . . . . . . . . . 99 199

Index n ordine alfabetic RS232C . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 modificare la scar . . . . . . . . . .39 selectarea planului . . . . . . . . . . . . . . . .55, 61 sfrit de curs . . . . . . . . . . . . . . . . . . . . . 158 sfrit de program . . . . . . . . . . . . . . . . 10, 71 sistem de coordonate de lucru . . . . . . . . . . 56 sistem de coordonate . . . . . . . . . . . . . . . . . 13 al mainii . . . . . . . . . . . . . . . . . . . . 55 al piesei . . . . . . . . . . . . . . . . . . . . 174 de lucru . . . . . . . . . . . . . . . . . . . . . .56 local . . . . . . . . . . . . . . . . . . . . . . . . 59 ofset comun . . . . . . . . . . . . . . . . . . 58 Transformri. . . . . . . . . . . . . . . . .114 sistem de increment . . . . . . .17, 40, 41,46, 78 de ieire . . . . . . . . . . . . . . . . . . . . . 18 de intrare . . . . . . . . . . . . . . . . . . . . 18 sistem metric . . . . . . . . . . . . . . . . . . . . . . . 40 specificare de coordonat incremental . . .14 specificare de coordonate absolut . . . . . . 14 starea STOP . . . . . . . . . . . . . . . . . . .149, 151 stop condiional . . . . . . . . . . . . . . . . . . . . . 71 STOP . . . . . . . . . . . . . . . . . . . . . . . . 153, 194 butoane de . . . . . . . . . . . . . . . . . . .48 inhibare . . . . . . . . . . . . . . . . . . . . . 44 programat . . . . . . . . . . . . . . . . . . . .71 Subprogram. . . . . . . . . . . . . . .10, 72, 73, 101 succesiunea de executare . . . . . . . . . . . . . .72 transformri . . . . . . . . . . . . . . . . . . . . . 114 uniti . . . . . . . . . . . . . . . . . . . . . . . . . .40, 78 uniti de intrare pentru msur . . . . . . . . .17 uniti de msur de ieire . . . . . . . . . . . . . 17 valori limit pentru adresele H i D . . . . . .77 valori limit pentru adresa L . . . . . . . . . . . 74 valori limit pentru adresa P . . . . . . . . 73, 75 valori limit . . . . . . . . . . . . . . . . . . . . . . . . . 9 valorile de compensare pentru scul . . . . 173 variabil . . . . . . . . . . . . . . . . . . . . . . . . . . 168 comun . . . . . . . . . . . . . . . . . . . . .170 cu valoare 0 . . . . . . . . . . . . . . . . .169 global . . . . . . . . . . . . . . . . . . . . . 165 local . . . . . . . . . . . . . . . . . . .166-168 vacant . . . . . . . . . . . . . . . . . . . . .169 variabile . . . . . . . . . . . . . . . . . . . . . . . . . . 170 locale . . . . . . . . . . . . . . . . . . . . . . 170 vacante . . . . . . . . . . . . . . . . . . . . .169 variabilele de sistem . . . . . . . . . . . . . . . . .171 zero din faa punctului zecimal . . . . . . . . . 40

200

S-ar putea să vă placă și