Vous êtes sur la page 1sur 206

NCT 99T NCT 2000T

Comenzi numerice pentru strunguri

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: nctkft@mail.matav.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 elicoidal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Filetarea cu pas constant (G33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Filetarea cu pas variabil (G34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Datele de intrare pentru coordonate . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 5.1 Programarea absolut i incremental (G90, G91), operatorul I. . . . . . . . . . . . . . . 5.2 Conversia inci/metric (G20,G21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Specificare i gama de valori a datelor de coordonat. . . . . . . . . . . . . . . . . . . . . . . 5.4 Programarea ca raz sau diametru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.6 Corecia tierii circulare interioare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ntrzierea (G04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 9 10 10 10 10 10 10 11 12 16 16 16 18 21 21 21 23 27 28 29 29 29 30 31 32 32 32 33 34 35 36 37 37 37 37 37 38 39

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Funcii diverse (M) i auxiliare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 Funcii diverse (coduri M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Funcii auxiliare (coduri A, B, C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Secvena 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Compensarea sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1 Referirea la ofsetul sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2 Modificarea valorilor ofsetului sculei din program (G10) . . . . . . . . . . . . . . . . . . 14.3 Luarea n consideraie a ofsetului lungimii sculei. . . . . . . . . . . . . . . . . . . . . . . . 14.4 Compensarea razei vrfului sculei (G38, G39, G40, G41, G42) . . . . . . . . . . . . . 14.4.1 Pornirea compensrii razei vrfului sculei. . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.2 Reguli de compensare a razei vrfului sculei n modul ofset. . . . . . . . . . . 4

40 40 41 41 43 43 43 44 44 44 45 46 47 48 49 51 51 51 51 52 52 53 53 53 54 57 58 58 59 59 60 60 60 60 60 61 63 64 64 68 68 70 74 78

14.4.3 Anularea modului ofset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.4 Schimbarea direciei ofsetului n modul ofset. . . . . . . . . . . . . . . . . . . . . . . 14.4.5 Programarea reinerii vectorului (G38) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.6 Programarea arcelor de col (G39) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.7 Informaii generale privind compensarea razei vrfului sculei. . . . . . . . . . 14.4.8 Interferene la compensarea razei vrfului sculei. . . . . . . . . . . . . . . . . . . . 15 Transformri speciale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1 Imagine n oglind pentru turel dubl (G68) . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Scalarea (modificarea la scar) (G50, G51) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3 Imagine n oglind programabil (G50.1, G51.1) . . . . . . . . . . . . . . . . . . . . . . . . 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 strunjire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1 Cicluri singulare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.1 Ciclul de tiere (G77) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.2 Ciclu de filetare (G78) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.3 Ciclu de strunjire frontal (G79) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.4 Utilizarea ciclului singular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Cicluri repetitive multiple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.1 Strunjire ebo (G71) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.2 Strunjire ebo plan (G72) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.3 Ciclu de repetare a modelului (G73) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.4 Ciclu de finisare (G70) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.5 Ciclu de gurire frontal cu retrageri pentru ruperea panului (G74) . . . . . 17.2.6 Ciclu de gurire diametru exterior/diametru interior (G75) . . . . . . . . . . . . 17.2.7 Ciclu multiplu de filetare (G76) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Cicluri memorate pentru gurire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1 Descrierea detaliat a ciclurilor memorate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.1 Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului (G83.1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.2 Ciclu de filetare (G84.1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.3 Ciclu de alezare fin (G86.1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.4 Ciclu memorat pentru anularea guririi (G80) . . . . . . . . . . . . . . . . . . . . . . 18.1.5 Gurire, ciclu de alezare parial (G81) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.6 Gurire, ciclu de alezare la retragere (G82) . . . . . . . . . . . . . . . . . . . . . . . . 18.1.7 Ciclu de gurire cu retrageri pentru ruperea panului (G83) . . . . . . . . . . . 18.1.8 Ciclu de filetare cu tarod (G84) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.9 Cicluri de filetare rigid cu tarod (n sens orar i antiorar) (G84.2, G84.3) 18.1.10 Ciclu de alezare (G85) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81 84 86 86 88 94 98 98 99 99 101 101 102 104 104 106 108 110 112 113 113 113 115 117 119 120 120 125 127 129 130 132 134 140 146 146 147 148 149 149 150 151 152 153 156 5

18.1.11 Ciclu de alezare cu retragerea sculei cu avans rapid (G86) . . . . . . . . . . . 18.1.12 Ciclu de alezare /ciclu de alezare la retragere (G87) . . . . . . . . . . . . . . . . 18.1.13 Ciclu de alezare (operare manual n punctul de fund) (G88) . . . . . . . . . 18.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. . . . . . . . . . . . . .

157 158 160 161 161

19 Funcii de msurare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 19.1 Funcia de salt (G31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 19.2 Msurarea automat a lungimii sculei (G36, G37) . . . . . . . . . . . . . . . . . . . . . . . . 164 20 Funcii de siguran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1 Verificarea programabil a cursei (G22,G23) . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2 Poziiile de sfrit de curs parametrice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3 Verificarea cursei naintea micrii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Macro utilizator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1 Apelul macro simplu (G65) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Apel macro modal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.1 Apel macro modal n fiecare comand de micare (G66) . . . . . . . . . . . . . 21.2.2 Apel macro modal din fiecare bloc (G66.1) . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Apelul macro utilizator folosind codul G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Apelul macro utilizator folosind codul M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Apelul de subprogram cu codul M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.6 Apelul de subprogram cu codul T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.7 Apelul de subprogram cu codul S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.8 Apelul de subprogram cu codurile A, B, C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.9 Diferene ntre apelul unui subprogram i apelul unui macro. . . . . . . . . . . . . . . . 21.9.1 Apeluri multiple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10 Formatul corpului macro utilizator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11 Variabile ale limbajului de programare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.1 Identificare unei variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.2 Referirea la o variabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.3 Variabile vacante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.4 Formatul numeric al variabilelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12 Tipuri de variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12.1 Variabile locale (de la #1 la #33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12.2 Variabile comune (de la #100 la #199, de la #500 la #599) . . . . . . . . . . . 21.12.3 Variabile de sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13 Instruciuni ale limbajului de programare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.1 Definiie, nlocuire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.2 Operaii aritmetice i funcii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.3 Operaii logice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.4 Ramificare necondiionat: GOTOn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.5 Ramificare condiionat: IF[<expresia condiiei>] GOTOn. . . . . . . . . . . 21.13.6 Instruciune condiionat: IF[<expresia condiiei>] THEN. . . . . . . . . . . . 21.13.7 Iteraie: WHILE[<expresia condiiei>] DOm ENDm. . . . . . . . . . . . . 21.13.8 Comenzi de ieire date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.14 Instruciuni NC i macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.15 Desfurarea n timp a execuiei unei instruciuni NC i macro . . . . . . . . . . . . . 6 166 166 167 168 169 169 170 170 171 172 172 173 174 174 174 175 175 176 177 177 177 178 178 179 179 179 180 189 189 189 193 193 193 193 193 196 200 200

21.16 Afiarea macro i a subprogramelor n modul automat. . . . . . . . . . . . . . . . . . . 21.17 Folosirea butonului STOP n timpul execuiei unei instruciuni macro. . . . . . . Note. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index n ordine alfabetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

201 201 202 203

22 Ianuarie 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, H R I, J, K E F S M T L P Q ,C ,R ,A ( numr program bloc opional numrul blocului funcie pregtitoare lungimile coordonatelor coordonate unghiulare, funcii auxiliare raz cerc, dat auxiliar coordonatele centrului cercului, coordonat auxiliar coordonat auxiliar vitez de avans vitez de rotire universal funcii diverse numr scul 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 - 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. Semnul pentru valoare pozitiv + nu este indicat i nici nu se memoreaz. 9

1 Introducere Bloc (linie de program) Un bloc este compus din cuvinte. Blocurile sunt separate n memorie prin caractere LF (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 o linie, n fiecare linie nou cuvintele vor ncepe cu o linie de un caracter. 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 LF (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(PROGRAM NAME) LF /1N12345G1X0Y... LF G2Z5... LF.... LF ... LF ... LF N1G40...M2 LF %

n secvena de caractere de mai sus, LF 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 dispozitivele externe. Program principal i subprogram Programele pies pot fi divizate n dou grupe principale programe principale, i subprograme. 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, ci

10

1 Introducere 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 LF) 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 (even). 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 F2 semnific 2mm/rot.

12

1 Introducere Punct de referin Punctul de referin este un punct fix de pe maina unealt. Dup cuplarea la reea a mainii, sniile 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 X150 Z-100 nseamn un punct cu coordonatele 340 i 100 n sistemul de coordonate al piesei pe direcia X i respectiv Z . Sistemul de coordonate n care comanda numeric interpreteaz poziiile este diferit de sistemul de coordonate al piesei. Pentru executarea unei piese corecte, trebuie impuse originile celor dou sisteme de coordonate n comanda numeric. Aceasta se poate face de exemplu prin deplasarea vrfului sculei ntr-un punct al piesei cu poziie cunoscut i impunerea sistemului de coordonate al comenzii numerice la acea valoare. Specificarea coordonatei absolute Cnd sunt specificate coordonate absolute, scula se deplaseaz pe o distan msurat de la originea sistemului de coordonate, adic ntr-un punct a crui poziie a fost specificat prin coordonate. Codul specificrii de dat absolut este G90. Blocul G90 X200 Z150 va deplasa scula n punctul din poziia de mai sus, indiferent de poziia sa nainte de a se da aceast comand.

13

1 Introducere 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: U-50 W-125 Codul specificrii de dat incrementale este G91. Codul G91 se refer la toate valorile coordonatei. Specificaia de mai sus este echivalent cu blocul de mai jos: G91 X-50 Z-125 Acesta va deplasa scula pe distana respectiv ncepnd din poziia anterioar.

Programarea diametrului Coordonata X poate fi specificat att ca diametru ct i ca raz funcie de un parametru. 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 Z30 F0.2 N16 X30 N17 Z100 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 nemodale. 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 rpm. Controlul vitezei superficiale constante Comanda numeric modific viteza arborelui funcie de diametrul prelucrat astfel nct viteza vrfului sculei relativ la suprafaa piesei de prelucrat s fie constant. Aceast funcie este controlul vitezei superficiale constante.

14

1 Introducere 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. Primele dou cifre ale codului T se refer la numrul sculei (adic n ce poziie a capului revolver poate fi gsit), n timp ce ultimele dou cifre se refer la codul de compensare a ofsetului (corecia de scul). Instruciunea T0212 n program, nseamn c trebuie schimbat scula nr.2 i trebuie aplicat grupul de compensare a ofsetului nr.12. 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 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 speci ficat, trebuie s fie apelat valoarea lungimii sculei respective. Aceasta se face cu ajutorul ultimelor dou cifre ale codului T. Apoi comanda numeric deplaseaz vrful sculei n punctul specificat. Compensarea razei vrfului sculei La prelucrarea unei piese, atunci cnd scula nu se deplaseaz paralel cu una din axe, dimensiunea de prelucrare corect nu se va obine cnd se va deplasa pe traiectoria programat vrful sculei, ci doar atunci cnd centrul vrfului sculei se va deplasa paralel cu traiectoria programat i la distana r de aceasta. Compensarea razei trebuie introdus pentru a scrie datele conturului real n programul pies, i nu pe cele ale traiectoriei vrfului sculei.

15

2 Axele controlate Valorile compensrii razei trebuie introduse n comanda numeric. n continuare, n program, se poate face referire la compensarea razei vrfului sculei de la adresa T.

2 Axele controlate
Numrul de axe (n configuraia de baz) n configuraie extins Numrul de axe care pot fi micate simultan 2 axe 6 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 sunt X i Z. Numele axelor adiionale (extindere) depind de tipurile lor. Nume posibile pentru axele de extindere care execut deplasri liniare sunt: Y, U, V i W. Atunci cnd axele U, V, W 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. Pentru numele axei arborelui principal n cazul interpolrii circulare sau cilindrice este folosit C. n cazul n care axele U, V sau W nu pot fi gsite n main la adresele de mai sus, deplasrile incrementale pot fi specificate respectiv pentru axele X, Y, Z. Adresa H poate fi folosit pentru a specifica deplasri incrementale pentru 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. Printrun parametru, n comanda numeric se va impune unitatea de msur dorit pentru valorile msurate de sistemul de msur. 16

2 Axele controlate Cele dou sisteme de uniti de msur nu pot fi combinate pe axele unei maini. n cazul n care s-au impus uniti de msur diferite pentru introducerea datelor i pentru msur, comanda numeric va face conversia n mod automat. Pentru axele de rotaie, msura este ntotdeauna considerat n grade. 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 aceleiai maini. Dup ce a procesat datele de intrare, comanda numeric va furniza noua traiectorie pentru deplasarea axelor. Rezoluia 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

Datele pentru coordonata de pe axa X pot fi interpretate de ctre comanda numeric i ca diametru, dac parametrul 4762 DIAM este 1. n acest caz valorile limit definite n tabelul de mai sus sunt interpretate ca diametru i mrimea lor rmne aceeai.

17

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 G09 G10 G11 G17* G18* G19 G20 G21 G22* G23 G25* G26 G28 G29 G30 G31 G33 G34 G36 G37 G38 G39 G40* G41 G42 07 00 01 00 06 04 08 02 00 01 Grupa Poziionare Interpolare liniar Interpolare circular, n sens orar (CW) Interpolare circular, n sens antiorar (CCW) ntrziere Modul multi bufer activ Oprire precis (n blocul dat) Impunere dat (programat) Anulare impunere dat programat 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 Filetarea cu pas constant Filetarea cu pas variabil Msurarea automat a lungimii sculei pe X Msurarea automat a lungimii sculei pe Z Programarea reinerii vectorului Programarea arcelor de col Anularea compensrii razei vrfului sculei Compensarea razei vrfului sculei la stnga Compensarea razei vrfului sculei la dreapta 49 49 49 29 29 166 166 54 54 40 41 41 163 27 28 164 164 86 86 70 70, 76 70, 76 37 46, 68 Funcia Pagina 21 21 23 23 39

18

.
Cod G 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* G70 G71 G72 G73 G74 G75 G76 G77 G78 G79 G80* G81 G82 G83 09 01 00 16 15 14 Grupa 11 Anulare scalare Scalare (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 i stop (filetare) Tiere continu Apel macro simplu Funcia

3 Funcii pregtitoare (coduri G)


Pagina 99 99 99 99 48 44 45 45 45 45 45 45 37 37 37 37 169 170 171 170 98 98 129 120 125 127 130 132 134 113 115 117 149 149 150 151

18 00

Apel macro modal (A) n fiecare comand de micare Apel macro modal (B) din fiecare bloc Anulare apel macro modal (A/B) Activare imagine n oglind pentru turel dubl Dezactivare imagine n oglind pentru turel dubl Ciclu de strunjire finisare Ciclu de strunjire ebo Ciclu de strunjire ebo plan Ciclu de repetare a modelului Ciclu de gurire frontal cu retrageri pentru ruperea panului Ciclu de gurire diametru interior/diametru exterior Ciclu de filetare cu mai multe nceputuri Ciclu de tiere Ciclu de filetare Ciclu de strunjire frontal Anulare ciclu memorat pentru gurire Gurire, ciclu de alezare parial Gurire, ciclu de alezare la retragere Ciclu de gurire cu retrageri pentru ruperea panului

19

3 Funcii pregtitoare (coduri G)


Cod G G83.1 G84 G84.1 G84.2 G84.3 G85 G86 G86.1 G87 G88 G89 G90* G91* G92 G94* G95* G96 G97* G98* G99 03 00 05 13 10 Grupa Funcia Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului Ciclu de filetare cu tarod Ciclu de filetare Ciclu de filetare rigid cu tarod Ciclu de filetare rigid cu tarod n sens antiorar Ciclu de alezare Retragerea sculei cu avans rapid n ciclul de gurire Ciclu de gurire fin 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 Pagina 146 152 147 153 153 156 157 148 158 160 161 29 29 47 33 33 51 51 141 141

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. 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).

20

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). De exemplu G00 X (U) ___ Z (W)___ unde X, Z se refer la micarea absolut, n timp ce U, W se refer la cea incremental (n cazul n care U, W nu sunt selectate pentru axe). 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 n poziie atunci cnd parametrul POSCHECK din cmpul parametrilor este1, sau nu-l va verifica dac parametrul este pus pe 0. Se va atepta apariia semnalului n poziie 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:

21

4 Interpolarea avansul pe axa X este

avansul pe axa Z este

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

G01 X192 Z 120 F0.15 Avansul de-a lungul unei axe de rotaie este interpretat n uniti de grad pe minut: G01 C270 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 C45 F120 componentele avansului n direciile Z i C sunt: avansul pe Z

avansul pe C Fiind un cod modal, G01 este activ pn cnd se nscrie cu o alt comand de interpolare liniar. La punerea sub tensiune, este activ fie G00 fie G01, funcie de valoarea impus parametrilor n grupul CODES din cmpul parametrilor.

22

. 4.3 Interpolarea circular i elicoidal

4 Interpolarea

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).

Figura de mai sus prezint direciile circulare orare (G02) i antiorare (G03) n planul G18 atunci cnd planul este vzut n direcia de la pozitiv la negativ a axei Y. Dac planul este vzut n direcia de la negativ la pozitiv a axei Y, interpretarea direciilor circulare este contrar datorit aranjrii turelei cu scule.

23

4 Interpolarea 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. Urmtoarele date pentru cerc pot fi specificate ntr-unul din urmtoarele dou moduri. 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 cu raza R diferite 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 grade cnd raza cercului este specificat ca numr pozitiv sau respectiv numr negativ. De exemplu: Seciunea de arc 1: G02 X80 Z50 R40 Seciunea de arc 2: G02 X80 Z50 R-40 Seciunea de arc 3: G03 X80 Z50 R40 Seciunea de arc 4: G03 X80 Z50 R-40

Cazul2 Centrul cercului este specificat la adresa 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. Valoarea I trebuie s fie ntotdeauna specificat ca raz chiar i cnd coordonata X este setat ca diametru. De exemplu: Cu G17: G03 X10 Y70 I-50 J-20 (X programat ca raz) Cu G18: G03 X70 Y10 I-20 K-20 (X programat ca raz) Cu G19: G03 Y10 Z70 J-50 K-20

24

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 Z200 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 grade. 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 25

4 Interpolarea tangenial la traiectorie va fi constant la interpolarea unui arc de cerc cu raz variabil. Urmtorul detaliu de program este un exemplu de cum se poate specifica o interpolare elicoidal (cerc cu raz variabil) prin folosirea adreselor I, K: G90 G0 X0 Z50 G3 Z-20 K-50

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. G0 G90 X0 Z0 G2 X60 Z40 R10

n urmtoarele exemple de blocuri coordonata X este diametru i U i W se presupune c nu sunt selectate ca axe: sau sau sau sau sau sau sau G2 G90 X100 Z40 R41.2 G2 G90 X100 Z40 I40 J10 G2 G91 X60 Z30 R41.2 G2 (G90) U60 W30 R41.2 G2 (G90) X160 Z130 R41.2 G2 G91 X60 Z30 I40 J10 G2 (G90) U60 W30 I40 J10 G2 (G90) X160 Z130 I40 J10

26

. 4.4 Filetarea cu pas constant (G33)

4 Interpolarea

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 <45grade, adic Z>X, se va lua n considerare c spira se nfoar de-a lungul axei Z. Dac >45grade, 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 conic 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.

27

4 Interpolarea Un exemplu de programare a filetrii: G0 G90 X50 Z40 U-30 G33 U10 W38 F2 G0 U20 W-38 n exemplul de mai sus X este specificat ca diametru. 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). 4.5 Filetarea cu pas variabil (G34)

Comanda G34 v F Q K execut filetarea cilindric sau conic cu pas variabil. Interpretarea datelor de intrare v, F, Q corespunde la cele scrise pentru funcia G33. Interpretarea pentru K este: K = creterea sau descreterea pasului filetului pe rotaie. Valoarea lui K este cuprins de la 0.001 mm/rot (0.0001 inci/rot) la 500 mm/rot (10 inci/rot).

28

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 n 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 X100 Z20 G91 G01 X60 Z-40 Operatorul I va fi activ n condiiile specificrii absolute a datei (G90). Acesta se aplic la coordonata a crei adres o precede i semnific o dat incremental. Modul alternativ de a rezolva exemplul de mai sus este. (G90) G01 XI60 ZI-40 G01 XI60 Z20 G01 X100 ZI-40 Dac adresele U, V, W nu sunt selectate pentru o ax ele pot fi folosite pentru a indica deplasare incremental pe direciile X, Y, respectiv Z. Adresa comenzii absolute
Comand de deplasare n direcia X Comand de deplasare n direcia Z Comand de deplasare n direcia C Comand de deplasare n direcia Y X Z C Y Adresa comenzii incrementale U W H V

innd cont de aceasta, vom scrie exemplul de mai sus. (G90) G01 U60 W-40 G01 U60 Z20 G01 X100 W-40 5.2 Conversia inci/metric (G20,G21) Dup ce s-a programat codul G corect, se pot specifica unitile de msur ale datelor de intrare: G20: programarea introducerii n inci 29

5 Datele de intrare pentru coordonate

G21: programarea introducerii metrice 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 Afiarea 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. Folosire a 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. 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

30

5 Datele de intrare pentru coordonate

Gama de valori a coordonatelor unghiulare sunt cuprinse 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.4 Programarea ca raz sau diametru Deoarece n general seciunea pieselor prelucrate este circular, dimensiunile pe direcia axei X pot fi specificate i ca diametre. Parametrul urmtor este cel care determin dac dimensiunea pe direcia X este interpretat de ctre comanda numeric ca diametru sau ca raz: n cazul programrii ca raz: 4762 DIAM=0 n cazul programrii ca diametru: 4762 DIAM=1 Atunci cnd se programeaz ca diametru cel mai mic increment programabil este 1. n acest caz paii executai de comanda numeric sunt de 0,5 incremente. De exemplu dac INCRSYSTB=1 cel mai mic increment comandat este 0.001 mm i paii executai de comanda numeric sunt de 0.0005 mm ca raz. Dac parametrul este impus pentru a programa ca diametru, trebuie avute n vedere cazurile de mai jos: Caz Not
Comand de deplasare absolut n direcia X Comand de deplasare incremental n direcia X X component al ofsetului sistemului de coordonate X component al ofsetului lungimii sculei Parametrii n ciclurile memorate, cum ar fi adncimea de tiere pe axa X Desemnarea razei n interpolarea circular (R, I) Afiarea poziiei axei X Viteza de avans pe axa X la strunjire plan Mrimea incrementului la modurile de deplasare JOG incremental i cu roata de mn Specificat cu o valoare de diametru Specificat cu o valoare de diametru (D1-D2 n figur) Specificat cu o valoare de diametru Specificat cu o valoare de diametru Specificat totdeauna cu o valoare de raz Specificat totdeauna cu o valoare de raz Afiat ca valoare de diametru Specificat totdeauna n raz/rot sau raz/mm 1 increment = 1 m ca diametru

31

6 Avansul

6 Avansul
6.1 Avansul rapid G00 comand o poziionare cu avans rapid. Valoarea avansului rapid pentru fiecare ax este impus prin parametri 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 sniile 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 este mai mic dect viteza de poziionare pentru 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 Fz - component a avansului pe direcia Z

32

6 Avansul 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. 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.

33

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. 34

6 Avansul De asemenea, separat, se poate limita superior valoarea avansului maxim 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 sniilor) vor fi redui.

35

6 Avansul 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.

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, sniile nu sunt capabile s urmreasc traiectoria comandat de ctre comanda numeric, innd cont de ineria lor. 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 s se porneasc urmtoarea micare numai dup aceea. 36

6 Avansul 6.4.1 Oprire 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. 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, sniile 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 cuitul 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, atunci cnd este comandat G62, comanda numeric va reduce n mod automat avansul nainte i dup un col interior. Corecia de col este activ n urmtoarele condiii: - cnd este activ compensarea razei vrfului sculei (G41, G42). - ntre blocurile G0, G1, G2, G3. - n deplasrile n planul selectat. - cnd este prelucrat interiorul colului. 37

6 Avansul - 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 grade prin parametrul CORNANGLE.

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 razei vrfului 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. 38

7 ntrzierea n final, corecia pentru raza cercului este multiplicat cu valorile corecilor de avans i de col.

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 nu este o funcie modal. Ea implic invariabil ntrzierea executrii urmtorului bloc. 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.

39

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. Micarea se face in 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 razei vrfului 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 avea n continuare efect pentru coordonatele crora nu leau fost date valori n comanda G28 curent. Exemplu: G28 X100 punct intermediar: X=100, Z=0 G28 Z200 punct intermediar: X=100, Z=200

40

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 razei vrfului 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 razei vrfului 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 41

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 razei vrfului 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:

42

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 dou axe (X, Z), poziia sculei este exprimat prin dou date de coordonat X___ 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.

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.

43

9 Sisteme de coordonate, Selectarea planului 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, - poziionrile 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.

44

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 X80 Z60 va deplasa sistemul n punctul X=80, Z=60 al sistemului de coordonate de lucru 3.

45

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=260, Z=80 (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=140, Z=180 (calculat n sistemul de coordonate al mainii). Poziia sculei este X=140, Z=90 n sistemul de coordonate X, Z (G54). Ca rezultat al instruciunii G55, poziia sculei va fi interpretat n sistemul de coordonate X, Z (X=260, Z= -50). 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 (X, Z,) = ofset pentru fiecare ax Datele coordonatelor sunt introduse n mod invariabil ca valori absolute rectangulare (carteziene). Funcia G10 nu este modal.

46

9 Sisteme de coordonate, Selectarea planului 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 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. Dac, de exemplu scula este la punctul de coordonat X=200, Z=150, n sistemul de coordonate X, Z actual (curent), instruciunea G92 X120 Z90 va crea un sistem de coordonate nou X, Z n care scula se va afla n punctul de coordonat X=120, Z=90. Componentele axiale ale vectorului de ofset v dintre coordonatele sistemelor X, Z i X, Z sunt vx=200-80=120 vz=150-90=60

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.

47

9 Sisteme de coordonate, Selectarea planului 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. 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 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=200, Z=150 n sistemul de coordonate de lucru X, Z curent, instruciunea G90 G52 X80 Z60 va crea un nou sistem de coordonate local X, Z n care coordonatele sculei vor fi X=120, Z=90. instruciunea G52 este folosit pentru definirea componentelor axiale ale vectorului de ofset v dintre sistemele de coordonate X, Z i X, Z (vx=80, vz=60). Acum una dintre aceste dou proceduri poate fi adoptat pentru a transfera sistemul de coordonate local n punctul de poziie X, Z. Cu o specificare de dat absolut: instruciunea (G 90) G 52 X120 Z30 va deplasa originea sistemului de coordonate X, Z n punctul X=120, Z=30 n sistemul de coordonate X, Z. Componentele vectorului v vor fi produse de ctre specificaia vx=120, vz=30. Cu o specificare de dat incremental: instruciunea G91 G52 X40 Z-31 instruciunea (G 90) G 52 X120 Z30 va deplasa originea sistemului de coordonate X, Z n punctul X= -40, Z=30 n sistemul de coordonate X, Z. Componentele vectorului v vor fi produse de ctre specificaia vx=120, vz=30. 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=80+40=120, vz=60+(-30)=30. Poziia sculei n sistemul de coordonate X, Z va fi X=80, Z=120. Instruciunea G90 G52 v0 va terge ofsetul de la coordonatele specificate n v. 48

9 Sisteme de coordonate, Selectarea planului Sistemul de coordonate local va avea ofset n fiecare sistem de coordonate de lucru. Instruciunea 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=240, Z=200 n sistemul de coordonate de lucru X, Z, instruciunea G52 X80 Z119 va stabili poziia sculei la X=80, Z=110 n noul sistem de coordonate de lucru X, Z. Astfel sistemul de coordonate de lucru X, Z va fi ters cu comanda G92 similar cum s-ar ntmpla dac s-ar da comanda G52 v0. Not: - ofsetul sistemului de coordonate local va fi ters prin executarea comenzii M2, M30 i/sau prin resetarea programului. 9.4 Selectarea planului (G17, G18, G19) Planul n care se va executa - interpolarea circular, sau - compensarea razei vrfului sculei, sau - 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 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 axa programat a adresei din blocul dat:

49

9 Sisteme de coordonate, Selectarea planului 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 XY 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.

50

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

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. 51

10 Funcia rotire arbore 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 controlului 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. 10.2.3 Selectarea unei axe pentru controlul vitezei periferice constante Axa funcie de a crei poziie se calculeaz viteza periferic constant este selectat cu parametrul 1182 AXIS. Numrul axei logice trebuie nscris la parametru. 52

10 Funcia rotire arbore 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 deplasamentul 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 ORIENT1 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, 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. 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 53

10 Funcia rotire arbore

variatorul 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 mrime a 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 punere 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.

54

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.

55

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 - 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 considernd urmtoarele: corecia, limitele gamei de turaie i turaia maxim programat (G92 S_) la calculul vitezei periferice constante. - 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.

56

11 Funcia schimbare scul

11 Funcia schimbare scul


Primele dou cifre ale numrului scris la adresa T formeaz numrul sculei, n timp ce ultimele dou cifre formeaz numrul ofsetului (coreciei). Interpretarea codului scris la adresa T este: Tnnmm | | |__|__numrul de ofset (coreciei) |__|_____________________numrul sculei Semnificaia comenzii T1236: activeaz scula nr.12 i folosete ofsetul (corectia) nr.36. - Se poate omite zeroul din fa la programarea adresei T: T101=T0101 - Dac este programat 0 pentru o scul sau sunt scrise doar 1 sau 2 cifre la adresa T scula nu este schimbat, ci doar se apeleaz un nou grup de ofset (corecie). Semnificaia lui T12: folosete ofsetul (corecia) nr.12 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.

57

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 M07, M08, M09: coduri utilizare rcire M11, , M18: coduri schimbare treapt 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 M11, ,M18 (schimbare treapt cutie de viteze arbore) Grupa 2 M03, M04, M05, M19 (rotire arbore) Grupa 3 M07, M08, M09 (utilizare rcire) Grupa 4 Mnnn (oricare alt funcie M) Grupa 5 coduri M de indexare arbore Grupa 6 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 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.

58

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 (sunt) 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, funciile A, B, C vor fi executate pe timpul sau dup executarea comenzii de micare. Modul de execuie va fi definit de constructorul mainii. 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. 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: 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.

59

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 condiional Un salt de bloc condiional 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 CONDIIONAL 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 condiional /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.

60

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 doar o dat, comanda numeric interpretnd L=1. Instruciunea M98 P11 L6 semnific faptul c subprogramul 011 trebuie apelat de ase ori n mod repetat. 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 O0001 ---- | | M98P11_____ | . ----. | M02 | _____ subprogram subprogram subprogram subprogram O0011 -- O0012 --- O0013 -- O0014 . | . | | . | .. | | .. M98P12__| M98P13__| M98P14__| . -- . -. | | . | . 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 numrul de 9999 pentru valoare lui P, 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). - este afiat mesajul de eroare 3073 NOT EXISTING PROGRAM (program inexistent) dac este specificat cu un identificator la adresa P un program inexistent n memorie . 13.3.2 Revenirea dintr-un subprogram Utilizarea instruciunii M99 61

13 Configurarea programului pies ntr-un subprogram semnific sfritul acelui subprogram, i revenirea execuiei n programul principal, la blocul urmtor celui din care s-a fcut apelul. 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.)

62

13 Configurarea programului pies Not: - Se afieaz un mesaj de eroare 3070 NOT EXISTING BLOCK NO. P (nu exist blocul nr. P) cnd numrul blocul de revenire (P) nu este gsit n programul apelant. 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: O0011 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 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 condiional.

63

14 Compensarea sculei

14 Compensarea sculei
Caracteristicile diferitelor scule sunt pstrate ntr-un tabel numit tabelul de ofset. n cazul n care o scul este apelat n programul pies, trebuie introdus i locul din tabelul de ofset n care se afl datele despre scula respectiv. Din acel moment, comanda numeric folosete scula conform programului lund n calcul ofseturile referitoare la ea. 14.1 Referirea la ofsetul sculei Se poate face referire la ofsetul sculei prin intermediul ultimelor dou cifre ale numrului scris la adresa T. Interpretarea codului scris la adresa T este: Tnnmm | | |__|__numrul de ofset |__|_____________________numrul sculei Semnificaia comenzii T1236: Activeaz scula nr.12 i folosete ofsetul nr.36. - Se poate omite zeroul din fa la programarea adresei T: T101=T0101 - Dac este programat 0 pentru o scul sau sunt scrise doar 1 sau 2 cifre la adresa T, scula nu este schimbat, ci doar se folosete un nou grup de ofset. Semnificaia lui T12: Folosete ofsetul nr.12 Prin folosirea unui numr de ofset este selectat pentru comanda numeric un grup din tabelul de ofset. Elementele tabelului sunt dup cum urmeaz:
Numr grup

X
geometrie

Y uzur -0.234
geometrie

Z uzur -0.129
geometrie

R uzur -0.036
geometrie

uzur -0.010

Q 3

1 2 3 47

123.500

87.450

267.400

Tabelul de ofset al sculei conine componentele vectorului sculei n direciile X i Z (opional i n direcia Y), raza vrfului sculei (R) i de asemenea codul de stare al sculei (Q). Avertisment Grupa de ofset 00 nu este n tabel, valorile sale de ofset sunt ntotdeauna zero, deci grupa de ofset 00 terge vectorul de ofset.

64

14 Compensarea sculei Ofseturile n direciile X, (Y), Z i compensarea razei pot fi de dou tipuri: ofseturi de geometrie i de uzur. Valoarea geometriei: lungimea/raza sculei msurate; numr cu semn. Valoarea uzurii: mrimea uzurii care apare n decursul prelucrrii; numr cu semn. Dac se face referire la un grup de ofset ntr-un program la adresa T, comanda numeric ia ntotdeauna n consideraie ca mrime a ofsetului suma valorilor geometriei i a uzurii.

De exemplu dac se face referire la Tnn01 n program, valoarea ofsetului pentru axa X, n baza liniei 01 a tabelului de mai nainte este: 123.500+(-0.243)=123.266 Acelai mod de calcul este valabil i pentru valoarea ofsetului pe axa Z (i Y) i de asemenea pentru valoarea ofsetului razei.

65

14 Compensarea sculei Mrimea limitelor pentru valorile ofsetului pentru geometrie i pentru uzur sunt:
Sistem uniti de intrare Sistem uniti de ieire Sistem increment IR-A IR-B mm mm IR-C IR-A IR-B inci mm IR-C IR-A IR-B inci inci IR-C IR-A IR-B mm inci 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

Dimensiune

mm

inci

inci

mm

Direciile vrfului imaginar al sculei vzute din centrul vrfului sculei trebuie de asemenea date n tabelul de ofset. Lungimile compensrilor X i Z sunt msurate fa de vrful imaginar al sculei. Numrul vrfului imaginar al sculei (Q) este un numr de o cifr, valoarea sa putnd fi 0,1,9. Numrul vrfului imaginar al sculei depinde de starea sistemului de coordonate folosit. Urmtoarele dou figuri prezint cum se folosesc numerele vrfului imaginar al sculei (Q).

66

14 Compensarea sculei

Codul de compensare apelat este modal, adic comanda numeric ia n calcul aceeai mrime a ofsetului pn cnd primete o alt comand de cod T, respectiv pn cnd sunt citite cu ajutorul unei comenzi T alte valori de compensare; n acest caz modificarea tabelului de ofset (de exemplu prin programarea G10) nu mai are efect asupra valorii citite. Valorile ofsetului din memoria de compensare a sculei sunt pstrate i la deconectarea tensiunii de alimentare. Valorile de ofset ale sculelor pot fi salvate n memorie i ca un program pies. Valorile ofsetului sculei pot fi impuse, sau modificate fie de la panoul de control prin introducerea de date, fie din program prin utilizarea comenzii de impunere G10. Dac valoarea curent de ofset este modificat cu ajutorul comenzii G10, trebuie s se fac din nou referire la registrul de ofset curent, deoarece valorile modificate sunt luate n consideraie numai n acest caz.

67

14 Compensarea sculei 14.2 Modificarea valorilor ofsetului sculei din program (G10) Pentru modificarea valorilor ofsetului sculei poate fi utilizat unul din blocurile: G10 L P X Y Z R Q G10 L P XI YI ZI RI Q sau G10 L P U V W C Q G10 este o comand cu o singur aciune. Adresele i valorile lor au urmtoarele semnificaii: L=10: Introducerea valorii geometriei L=11: Introducerea valorii uzurii Numrul grupului de ofset este precizat la adresa P. n cazul definirii de date absolute (starea G90), valorile de compensare a lungimii i valorile de compensare a razei sunt specificate la adresele X, Y, Z, R. Dac valoarea de compensare trebuie modificat n valori incrementale trebuie programat G91 sau trebuie folosit operatorul incremental I dup adresa respectiv, sau trebuie folosite adresele U, V, W, C n locul adreselor X, Y, Z, R. n cazul programrii incrementale valoarea dat este adugat cu semn la valoarea curent a ofsetului. Numrul imaginar al vrfului sculei este dat la adresa Q (Q=09). 14.3 Luarea n consideraie a ofsetului lungimii sculei

Ca efect al codului T sistemul de coordonate este schimbat cu valorile Xc, Yc, Zc care aparin grupului de ofset specificat n codul T. Aceasta nseamn c valoarea ofsetului pe direciile Xc, Yc, Zc care aparin grupului de ofset selectat este sczut din poziia curent X, Y, Z. De acum ncolo se afieaz pe ecran coordonatele vrfului imaginar al sculei n locul punctului de referin al suportului sculei. De acum ncolo se face referire la valoarea ofsetului ca fiind suma dintre ofseturile geometriei i uzurii. De exemplu, ca efect al liniilor de comand (T0000) N10 G0 (G90) X700 Z350 N20 T202 N30 X300 Z150 punctul de referin al suportului sculei este dus n poziia cu coordonatele X700, Z350 n blocul N10. Este activat scula i valorile ofsetului aparinnd grupei de compensare nr.2 Xc=340, Zc=30 sunt sczute din poziie n blocul N20. n acest caz afiarea de poziie i modific valoarea X=700-340=360, Z=350-30=320. Nu se execut nici o micare n blocul N20. n blocul N30 deja vrful imaginar al sculei este adus n poziia programat X350, Z150, adic micarea executat este X=300-360= -60; Z=150-320= -170. Dac codul T este definit mpreun cu o comand de micare, punctul de sfrit de bloc este poziionat lund noua valoare a ofsetului determinat de codul T luat n consideraie. Totui nlocuirea sculei este executat n paralel cu sau la sfritul micrii, n cazul n care codul T 68

14 Compensarea sculei conine i comanda de nlocuire scul. (Temporizarea pentru nlocuirea sculei este determinat de constructorul mainii.) S examinm exemplul de mai nainte: (T0000) N10 G0 (G90) X700 Z350 N20 X300 Z150 T202 n acest caz, s-a renunat la blocul N30 i s-au comasat comenzile din blocurile N20 i N30. n blocul N20 vrful imaginar al sculei este adus n poziia programat X350, Z150 la fel ca n cazul blocului N30 din exemplul anterior. nlocuirea sculei este executat n paralel cu, sau la sfritul micrii. Cazul al doilea poate conduce la coliziune, dac, de exemplu partea sculei care iese afar din suport a sculei anterioare era mai lung dect cea a sculei noi i nlocuirea sculei este executat de ctre main la sfritul blocului. Pentru motivul de mai sus, este convenabil s se programeze codul T mpreun cu o micare doar pentru apelarea unui nou ofset: N10 G0 (G90) X700 Z350 N20 X300 Z150 T02 n exemplul de mai sus nu se execut o nlocuire a sculei, ci este doar apelat grupul de ofset nr.2 n blocul N20. Atenie! Ca o consecin a celor prezentate mai sus, n cazul n care din codul T rezult o schimbare de scul, adic o rotire a turelei, este mai sigur s se programeze codul T ntr-un bloc singular. Dac comanda T execut doar schimbarea grupului de ofset, codul T se poate programa n siguran mpreun cu comanda de micare. Anularea compensrii lungimii sculei Grupa de ofset nr.0 are un rol special, ea implementnd anularea compensrii. Ca efect al comenzii T nn00 sau T0 se anuleaz compensarea lungimii (nn: scula opional). Procesul este inversul apelului compensrii. Aceasta nseamn c valorile ofsetului Xc, Yc, Zc care erau valide anterior sunt adunate cu coordonatele vrfului imaginar al sculei X, Y, Z i de aici nainte se afieaz pe ecran punctul de referin al suportului sculei. Dac anularea compensrii apare mpreun cu o comand de micare, punctul de referin al suportului sculei este trimis la poziia de sfrit a blocului programat. De exemplu, n fragmentul urmtor: N10 X180 Z120 T202 N20 X200 Z180 N30 X280 Z210 T200 micarea este compensat cu grupul de ofset apelat i comparat cu cea programat n blocul N10, n timp ce ofsetul, adic cel 69

14 Compensarea sculei impus n blocul N10 este anulat n blocul N30. 14.4 Compensarea razei vrfului sculei (G38, G39, G40, G41, G42) Dac este folosit doar compensarea lungimii sculei, nu este posibil s se strunjeasc precis o linie nclinat sau un arc de cerc. n acest caz vrful imaginar al sculei este ghidat de ctre comanda numeric pe traiectoria programat. Deoarece vrful fiecrei scule are o rotunjire, piesa va fi precis cnd prelucrarea se face paralel cu una din axele X sau Z. n prelucrarea liniilor nclinate sau a arcelor de cerc, va apare o tiere insuficient de adnc, dup cum se vede n figura alturat.

Pentru a se putea strunji conturul unei piese i a se specifica n program punctele conturului conform cu desenul (indiferent de raza vrfului sculei folosite), comanda numeric trebuie s ghideze centrul vrfului sculei paralel cu conturul programat, pe o traiectorie paralel cu cea programat i distanat cu valoarea razei vrfului sculei. Comanda numeric va determina distana ntre traiectoria centrul vrfului sculei i conturul programat n concordan cu valoarea de compensare a razei vrfului sculei la care se face referire n numrul compensrii de la adresa T. nainte de a se activa compensarea razei vrfului sculei, comanda numeric nregistreaz poziia vrfului imaginar al sculei. Numrul vrfului imaginar al sculei aflat la adresa Q n tabelul de compensare este necesar pentru a specifica direcia centrului cercului vrfului sculei din vrful imaginar. Raza sculei (R) este adugat sau sczut din poziia vrfului imaginar al sculei pe direciile X i Z n baza numrului vrfului imaginar al sculei (poziia A din figur). Dup aceea centrul cercului vrfului sculei este condus la punctul final al vectorului de compensare a crui lungime este R i care este poziionat perpendicular n punctul de pornire al traiectoriei programate (poziia B din figur). Apoi centrul cercului vrfului sculei este condus paralel cu traiectoriei programat, la o distan R fa de aceasta. Vectorul de compensare este un vector bidimensional care este calculat n mod permanent de ctre comanda numeric n fiecare bloc, modificndu-se deplasrile programate cu vectorii 70

14 Compensarea sculei de compensare rezultai la nceputul i sfritul fiecrui bloc. Lungimea i direcia fiecrui vector de compensare obinut variaz funcie de valoarea de compensare (apelat la adresa T) i de geometria tranziiei dintre cele dou blocuri. Vectorii de compensare sunt calculai n planul selectat cu instruciunile G17, G18, G19. Acesta este planul compensrii razei vrfului sculei. Deplasrile n afara acestui plan nu sunt influenate de compensare. De exemplu, dac este selectat planul X, Z n starea G18, vectorii de compensare vor fi calculai n acest plan. n acest caz orice micare n direcia Y nu va fi afectat de compensare. Planul de compensare nu poate fi schimbat n timp ce se calculeaz compensarea razei sculei. Orice ncercare de a face aceasta va avea ca rezultat un mesaj de eroare 3010 PLANE SELECT. IN G41, G42 (selectarea planului n G41, G42). Dac un plan de compensare trebuie definit cu axele adiionale, acestea trebuie definite ca paralele n parametri. De exemplu, dac U este atribuit ca ax paralel i compensarea razei sculei trebuie aplicat n planul Z, U, acel plan poate fi selectat prin specificarea G18 U_Z_ . G40: Anularea compensrii razei vrfului sculei G41: Compensarea razei vrfului sculei la stnga

G42: Compensarea razei vrfului sculei la dreapta Comanda G41 sau G42 va impune calcularea compensrii. n starea G41 sau G42 contururile programate vor fi urmrite de la dreapta sau respectiv de la stnga (vzut din direcia de mers). Numrul de compensare al razei sculei trebuie specificat n ultimele dou cifre ale adresei T. Specificarea Tnn00 sau T0 este echivalent ntotdeauna cu apelarea valorii zero pentru raz. Calculul compensrii este executat pentru micrile de interpolare G00, G01, G02, G0.

71

14 Compensarea sculei

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 contureze 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 Not: - pentru simplificare, descrierile i figurile care urmeaz se vor referi ntotdeauna la compensare de raz pozitiv. Comanda G40, Tnn00 sau T0 va anula compensarea de ofset. Diferena ntre cele dou comenzi este c T0 terge numai vectorul de compensare, lsnd starea G41 sau G42 neschimbat. Dac dup aceea se face o referire la o adres Tnnmm (mm 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, vectorul de compensare nu se va mai calcula. 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. n partea stng n partea dreapt Compensarea razei: Negativ n partea dreapt n partea stng

72

14 Compensarea sculei nainte de a porni 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 grade, adic scula lucreaz n interior, comanda numeric va calcula un punct de intersecie ntre cele dou interpolri. Dac <180 grade, adic scula se mic prin exterior, se pot aduga n continuare seciuni drepte.

73

14 Compensarea sculei 14.4.1 Pornirea compensrii razei vrfului 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 vrfului imaginar al sculei va coincide cu traiectoria programat. Ca efect al instruciunilor G41 sau G42 comanda numeric va intra n modul de calcul al compensrii razei. 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 razei vrfului 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 T00 i reactivat cu Tnn (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 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 vrfului sculei, Linie continu: traiectoria programat. Situaiile de baz cnd se pornete compensarea razei vrfului sculei (G40) G42 G01 X_Z_ X_Z_ (G40) G40 G01 X_Z_ G2 X_Z_R_

Mergnd prin interiorul unui col 180<<360

74

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, K n cazul lui G18) 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. 75

14 Compensarea sculei G91 G18 G40 N110 G42 G2 X120 Z-80 I70 K50 N120 Z100 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 unghi drept, 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. Vectorului de compensare este calculat la sfritul urmtorului bloc de micare funcie de strategia corespunztoare compensrii n modul ofset (vezi capitolul urmtor). N10 G40 G18 G0 X0 Z0 N15 G42 N20 G1 Z80 N25 X120 Z110

76

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 G40 G18 G0 X0 Z0 N15 G91 G42 Z0 N20 G1 Z80 N25 X120 Z30 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 G40 G18 G0 X0 Z0 N15 G91 G42 Z80 N20 G1 Z0 N25 X120 Z30 N30 Z60

77

14 Compensarea sculei 14.4.2 Reguli de compensare a razei vrfului 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

78

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 (nu se intersecteaz).

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

79

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 valoarea 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 G18 G42 N110 G1 X100 Z40 N120 Z0 N130 Z90 N140 X-40 Z50

80

14 Compensarea sculei 14.4.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_Z_ G40 X_Z_ (G42) G02 X_Z_R_ G40 G1 X_Z_ Mergnd prin interiorul unui col 180 < < 360

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

81

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, K n cazul lui G18 ) comanda numeric va deplasa scula la intersecia 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 G18 G42 N100 G1 X120 Z50 N110 G40 X-120 Z70 I-20 K100

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

82

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 G18 G91 N110 G1 X80 Z80 N120 G40 N130 X40 Z-70 . 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 G18 G91 N110 G1 X80 Z80 N120 G40 X0 N130 X40 Z-70

83

14 Compensarea sculei 14.4.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.

84

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.

85

14 Compensarea sculei 14.4.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: G18 G41 G91 N110 G1 X120 Z60 N120 G38 X-80 Z90 N130 X140 Z20 N140 Z120

Pentru a programa o retragere fr s se anuleze modul ofset: G18 G42 G91 N110 G1 Z40 N120 G38 Z50 N130 G38 X140 N140 G38 X-140 N150 Z60

14.4.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 unui col exterior 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. 86

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. G18 G91 G41 N110 G1 Z100 N120 G39 N130 G3 X-160 Z80 K80 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. G18 G91 G41 N110 G1 Z100 N120 G39 I-60 K50 N130 G40 X60 Z110 Pentru comenzile de imagine n oglind sau rotire selectate anterior este n vigoare vectorul definit de I, J sau K. De fapt, comanda de scalare 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.

87

14 Compensarea sculei 14.4.7 Informaii generale privind compensarea razei vrfului 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 Y - apelare subprogram (M98 P) - impunere sau anulare de transformri speciale (G50, G51, G50.1, G51.1, G68, G69) Not : La apelarea unui subprogram sunt necesare oarecare 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: G18 G42 G91 N110 G1 X140 Z50 N120 G4 P2 N130 Z60 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: G18 G42 G91 N110 G1 X140 Z50 N120 G4 P2 N130 S400 N140 Z60

88

14 Compensarea sculei Dac nu se poate face o prelucrare pe direcia Y fr ca s fie impus compensarea razei, se poate adopta urmtoarea procedur: G18 G91 N110 G41 G0 X140 Z50 N120 G1 Y-40 N130 X80 Acum scula va avea o traiectorie corect dup cum se arat n figura alturat.

Dac totui micarea n direcia Y este fragmentat n dou pri (avans rapid i avans de lucru), traiectoria va fi distorsionat deoarece sunt dou interpolri consecutive n afara planului selectat: G18 G91 N110 G41 G0 X140 Z50 N120 Y-35 N130 G1 Y-5 N130 X80

Pentru a evita aceasta se introduce o mic deplasare n direcia X ntre cele dou deplasri n direcia Y: G18 G91 N110 G41 G0 X1380 Z50 N120 Y-35 N130 X2 N140 G1 Y-5 N150 X80 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 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 89

14 Compensarea sculei

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 G18 G41 N110 G1 X-100 Z80 N120 G92 X0 Z0 N130 X100 Z80

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 G18 G41 N110 G1 X-100 Z80 N120 G53 X1600 N130 G53 X0 N140 X100 Z80

Dac este programat comanda G28 sau G30 (urmat de G29) n modul ofset ntre dou interpolri, 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 G18 G41 N110 G1 X-100 Z80 N120 G28 X160 N130 G29 X0 N140 X100 Z80

90

14 Compensarea sculei n modul ofset se poate de asemenea apela o valoare nou de compensare la adresa T. n eventualitatea inversrii semnului razei, direcia de micare n 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 T. 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 de raz poate fi apelat la adresa T i ntro 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 T00 sau respectiv Tnn, 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 T.

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 cea cuprinztoare folosind compensare de raz negativ, i viceversa.

91

14 Compensarea sculei S revedem urmtorul detaliu de program: N020 G42 G1 X160 T1 N030 G1 Z-5 N040 G3 I-80 N050 G1 Z2 N060 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.

92

14 Compensarea sculei Cnd modul ofset este anulat prin programarea I, J, K, va rezulta o condiie similar: G18 G90 G41 N090 G1 Z60 N100 G2 I-60 N110 G40 G1 X360 Z120 I-60 K-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 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.

93

14 Compensarea sculei 14.4.8 Interferene la compensarea razei vrfului 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 razei vrfului 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.

94

14 Compensarea sculei 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.

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.

95

14 Compensarea sculei

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 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 linie dreapt 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: -Tierea 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 din pies.

96

14 Compensarea sculei -Tierea 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 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.

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

97

15 Transformri speciale

15 Transformri speciale
15.1 Imagine n oglind pentru turel dubl (G68) Comanda G68 activeaz imaginea n oglind pentru turel dubl, iar G69 o anuleaz. Aceast funcie poate fi folosit pentru programarea a dou turele aflate fa n fa sau a dou posturi de lucru. Prima scul, scula postului A prelucreaz n cadranul pozitiv, n timp ce a doua scul, scula postului B prelucreaz n cadranul negativ. Imaginea n oglind se face ntotdeauna fa de axa X ca efect al comenzii G68. n acest caz coordonatele programate pentru axa X i schimb semnul, n acelai timp are loc transformarea de-a lungul axei X. Ofsetul coordonatei este determinat de distana dintre cele dou turele, care poate fi specificat la parametrul 1001 DTPX. n continuare programul trebuie scris pentru cadranul pozitiv, adic pentru turela A. De exemplu: T101 (este activat scula nr.1 din turela A) G0 X20 Z120 (scula nr.1 este poziionat) G68 (este activat imaginea n oglind) T202 (este activat scula nr.2 din turela B) G0X40 Z80 (scula nr.2 este poziionat) G69 (este anulat imaginea n oglind) T101 (este activat scula nr.1 din turela A) G0 X60 Z40 (scula nr.1 este poziionat) Note: - Comenzile G68 i G69 trebuie s fie ntotdeauna n blocuri singulare; n acel bloc nu se pot programa i alte comenzi. - Pentru a se putea aplica funcia trebuie msurat distana dintre cele dou turele i scris la parametrul 1001 DTPX. - Dac este activ G68 elementele urmtoare sunt inversate fa de cele programate: Semnul coordonatei X, Direcia pentru cerc G2 se schimb ca la G3 i invers, Direcia pentru G41 se schimb ca la G42 i invers.

98

15 Transformri speciale 15.2 Scalarea (modificarea la scar) (G50, G51) Comanda G41 v P poate fi folosit pentru scalarea unei forme programate. P1P4: Puncte specificate n programul pies P1P4: Puncte dup scalare P0: Centrul de scalare Coordonatele centrului de scalare 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 scalare pot fi specificate ca date absolute sau incrementale. n afara cazului n care adresele uneia sau a ambelor axe sunt valori asignate, va fi considerat centru de scalare poziia instantanee a axelor. Factorul de scalare poate fi specificat la adresa P. Valoarea sa poate fi reprezentat prin 8 cifre zecimale; poziia punctului zecimal nu are importan. Scalarea se poate anula cu comanda G50 Exemplu: N1 G90 G0 X100 Z120 N2 G51 X0 Z0 P0.5 N3 G1 X0 Z100 F150 N4 X80 N5 Z0 N6 G50 N7 G0 X100 Z120

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. 99

15 Transformri speciale

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 poate nscrie orice coordonat arbitrar, efectul fiind doar nregistrarea aciunii de anulare. Atunci cnd se lanseaz aceast comand nu trebuie s fie n lucru o comand de rotire sau scalare. 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 rotire este considerat cu semnificaie invers (G68). Exemplu: Subprogram O0101 N1 G0 X40 F120 N2 G1 Z80 N3 G3 X80 Z100 R20 N4 G1 X100 Z110 N5 M99 Program principal O0100 N10 T101 N20 G0 X160 Z60 M3 S1000 N30 M98 P101 (apel subprogram) N40 G0 X160 Z120 N50 T202 N60 G0 X160 Z60 M3 S1000 N70 G51.1 Z60 (imagine n oglind paralel cu X, coordonata Z=60) N80 M98 P101 (apel subprogram) N90 G50.1 Z0 (anulare imagine n oglind paralel cu X) N100 G0 X160 Z120 N110 M30 Imaginea n oglind poate fi activat doar n starea G50, adic dac comanda de scalare nu este activ. n starea activ a comenzii de imagine n oglind se poate activa i comanda de scalare, dar apoi pentru a dezactiva imaginea n oglind trebuie mai nti dezactivat scalarea: G51.1 (activare imagine n oglind) G51 (activare scalare) G50 (dezactivare scalare) G50.1 (dezactivare imagine n oglind) 100

16 Calcule geometrice automate

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 Z30 ,C10 N2 X80 Z10 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 Z30 ,R8 N2 G03 X60 Z-30 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 X80 ,C10 Z60 ,R22 G3 X160 Z20 R40 ,C10 G1 X220

101

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 grade sau mai mic de 360 grade.

102

16 Calcule geometrice automate Not: - n cazul n care sistemul de coordonate este situat ca n figura alturat, interpretarea unghiului este modificat conform figurii (direcia pozitiv este cea orar).

Exemplu: (G18 G90) G1 X60 Z120 Z70 ,A150 (aceast specificaie este echivalent cu X117.735 Z70) X180 ,A135 (aceast specificaie este echivalent cu X180 Z38.868)

Note. - Se poate defini ntr-un bloc o linie dreapt prin unghi, mpreun cu o teitur sau o rotunjire de col. Exemplu: Z100 ,A30 ,C5 X100 ,A120 ,R10 Z-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

103

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 0 pentru raza sculei. 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).

104

16 Calcule geometrice automate De exemplu: (G18) G90 G41 G0 X20 Z90 N10 G1 ,A150 N20 X40 Z10 ,A225 G0 Z0 Blocul N10 poate fi de asemenea dat cu coordonatele unui punct al liniei drepte: (G18) G90 G41 G0 X20 Z90 N10 G1 X66.188 Z50 N20 X40 Z10 ,A225 G0 X0 Y20 De notat c n acest caz coordonata X, Z (X66.188 Z50) 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:

(G18) G90 G41 G0 X20 Z90 N10 G1 X66.188 Z50 ,C10 N20 X40 Z10 ,A225 G0 X0 Y20

(G18) G90 G41 G0 X20 Z90 N10 G1 X66.188 Z50 ,R10 N20 X40 Z10 ,A225 G0 X0 Y20

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

105

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.

106

16 Calcule geometrice automate S examinm urmtorul exemplu:

%O9981 N10 (G18) G42 G0 X40 Z100 S200 M3 N20 G1 X-40 Z-30 N30 G3 X80 Z20 I-10 K20 R50 Q-1 N40 G40 G0 X120 N50 Z120 N60 M30 %

%O9982 N10 (G18) G42 G0 X40 Z100 S200 M3 N20 G1 X-40 Z-30 N30 G3 X80 Z20 I-10 K20 R50 Q1 N40 G40 G0 X120 N50 Z120 N60 M30 %

Blocul circular N30 G3 este determinat, fiind specificate att coordonatele centrului (I-10 K20 n coordonate absolute) 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 (G18) G42 G0 X40 Z100 S200 M3 N20 G1 X-40 Z-30 ,R15 N30 G3 X80 Z20 I-10 K20 R50 Q-1 N40 G40 G0 X120 N50 Z120 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.

107

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 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.

108

16 Calcule geometrice automate S examinm urmtorul exemplu:

%O9983 N10 (G18) G0 X90 X0 M3 S200 N20 G42 G1 Z50 N30 G3 X0 Z-50 R50 N40 G1 X85.714 Z-50 ,A171.87 Q-1 N50 G40 G0 X140 N60 Z90 N70 M30 %

%O9984 N10 (G18) G0 X90 X0 M3 S200 N20 G42 G1 Z50 N30 G3 X0 Z-50 R50 N40 G1 X85.714 Z-50 ,A171.87 Q1 N50 G40 G0 X140 N60 Z90 N70 M30 %

Blocul liniar N40 este definit, deoarece sunt specificate att coordonatele punctului final (X87.714 Z-50) ct i unghiul ( ,A171.87). Prin urmare coordonatele X0 Z-50 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 (Q1), 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 (G18) G0 X90 X0 M3 S200 N20 G42 G1 Z50 N30 G3 X0 Z-50 R50 ,R15 N40 G1 X85.714 Z-50 ,A171.87 Q-1 N50 G40 G0 X140 N60 Z90 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. 109

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).

110

16 Calcule geometrice automate S examinm urmtorul exemplu:

%O9985 N10 (G18) G0 X20 Z200 M3 S200 N20 G42 G1 Z180 N30 G3 X-80 Z130 R-50 N40 X174.892 Z90 I30 K50 R70 Q1 N50 G40 G0 X200 N60 Z200 N70 M30 %

%O9986 N10 (G18) G0 X20 Z200 M3 S200 N20 G42 G1 Z180 N30 G3 X-80 Z130 R-50 N40 X174.892 Z90 I30 K50 R70 Q1 N50 G40 G0 X200 N60 Z200 N70 M30 %

Blocul circular N40 este definit, deoarece sunt specificate att coordonatele centrului (I30 K50 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) Calcului interseciei circular circular poate fi combinat cu specificarea teirii sau rotunjirii colului. Exemplu: %O9986 N10 (G18) G0 X20 Z200 M3 S200 N20 G42 G1 Z180 N30 G3 X-80 Z130 R-50 ,R20 N40 X174.892 Z90 I30 K50 R70 Q1 N50 G40 G0 X200 N60 Z200 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.

111

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 (G18) G0 G42 X40 Z230 F300 S500 M3 N20 G1 X100 Z170 N30 G3 X20 Z110 I40 K150 R50 Q-1 N40 X140 Z60 I70 K100 R40 Q1 N50 G1 X120 Z80 ,A135 Q1 N60 X216 Z10 ,A180 N70 G40 G0 X260 N80 Z240 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 (X100 Z170) 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 (X20 Z110) 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 X216 Z10 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 dac nu sunt urmate de un bloc definit. 112

17.1.1 Ciclu de tiere (G77)

17 Cicluri memorate pentru strunjire


17.1 Cicluri singulare Ciclurile singulare sunt urmtoarele: ciclul de tiere G77, ciclul de filetare simpl G78 i ciclul de strunjire frontal G79. 17.1.1 Ciclul de tiere (G77)

Ciclul de tiere dreapt poate fi definit n modul urmtor: G77 X(U)__Z(W)__F__ Este posibil i programarea incremental cu operatorul I sau prin programarea G91. n cazul programrii incrementale semnul datei determin direcia traiectoriilor nr1 i 2. n figur semnele ambelor adrese U i W sunt negative. n blocul traiectoriilor nr2 i 3 micarea se face la avansul programat la adresa F sau la cea care este modal, n timp ce la traiectoriile nr1 i 4 avansul este rapid. Ciclul de tiere conic poate fi definit n modul urmtor: G77 X(U)__Z(W)__R(I)__F__ Conicitatea poate fi specificat fie la adresa R sau la I. n ambele cazuri interpretarea datei este aceeai. Data introdus la adresa R(I) este ntotdeauna incremental, i este recunoscut din poziia dat la adresa X(U). Direcia pantei conului este determinat de semnul de la adresa R(I). Interpretarea celorlalte adrese corespunde cu cele discutate mai devreme la ciclul de tiere dreapt. Codul G77 i datele programate n blocul G77 sunt modale. n modul bloc singular este activat stopul la sfritul tuturor celor patru aciuni (1, 2, 3, 4).

113

17.1.1 Ciclu de tiere (G77)

n cazul programrii incrementale semnele de la adresele U, W i R(I) influeneaz direciile de deplasare dup cum se vede n figur:

114

17.1.2 Ciclu de filetare (G78) 17.1.2 Ciclu de filetare (G78)

Ciclul de tiere filet normal poate fi definit astfel: G78 X(U)__Z(W)__Q__F(E)__ Este posibil i programarea incremental cu operatorul I sau prin programarea G91. n cazul programrii incrementale semnul datei determin direcia traiectoriilor nr1 i 2. n figur semnele ambelor adrese U i W sunt negative. n bloc este programat fie pasul filetului la adresa F fie numrul de spire pe inci la adresa E, i de asemenea unghiul de pornire al filetului n grade, calculat de la pulsul de zaro al codorului dup cum s-a descris la blocul G33. Micrile nr. 1,3,4 se fac cu avans rapid. La sfritul traiectoriei nr.2, unde survine filetarea, este executat o teire la aproximativ 45 grade. Mrimea teirii este determinat de parametrul 1334 THRDCHMFR indicat n figur cu r . Lungimea seciunii este: r*L/10 unde r: valoarea parametrului THRDCHMFR L: pasul programat al filetului Valoarea parametrului THRDCHMFR este cuprins ntre 1 i 255, adic teirea poate avea de la 0.1L pn la 25.5L. De exemplu, dac valoarea parametrului este 4 i pasul programat al filetului este F2 atunci mrimea teirii este: 2*(4/10)=0.8 mm

115

17.1.2 Ciclu de filetare (G78) Ciclul de tiere filet conic poate fi definit astfel: G78 X(U)__Z(W)__R(I)__Q__F(E)__ Conicitatea poate fi specificat fie la adresa R fie la I. n ambele cazuri interpretarea datei este aceeai. Data introdus la adresa R(I) este ntotdeauna incremental, i este considerat din poziia dat la adresa X(U). Direcia pantei conicitii este determinat de semnul adresei R(I). Interpretarea pentru celelalte adrese corespunde celor discutate anterior. Unghiul de teire este i n acest caz de 45 grade iar mrimea teirii r este msurat de-a lungul liniei drepte paralele cu axele. Codul G78 i datele programat n blocul G78 sunt modale. n modul bloc singular stopul este activat la sfritul celor patru aciuni (1, 2, 3, 4). Efectul butonului de STOP n faza nr. 2 a ciclului Fazele 1,3 i 4 ale ciclului pot fi oprite prin folosirea butonului STOP oricnd i sniile se opresc ca i n cazul interpolrii normale G0. Apsarea butonului STOP este activ i n faza nr.2 de filetare, totui n acest caz comanda numeric execut mai nti aceeai teire ca n cazul terminrii aciunii nr.2, apoi se retrage pe axa X cu avans rapid, i apoi se deplaseaz n punctul de pornire pe axa Z. Butonul STOP nu este activ pe traiectoria de ieire.

116

17.1.3 Ciclu de strunjire frontal (G79) 17.1.3 Ciclu de strunjire frontal (G79)

Ciclul de strunjire frontal dreapt poate fi definit astfel: G79 X(U)__Z(W)__F__ Este posibil i programarea incremental cu operatorul I sau prin programarea G91. n cazul programrii incrementale semnul datei determin direcia traiectoriilor nr1 i 2. n figur semnele ambelor adrese U i W sunt negative. n bloc pe traiectoriile nr.1 i 2 micarea se face cu avansul programat la adresa F sau modal, n timp ce pe traiectoriile nr.3 i 4 micarea se face cu avans rapid. Ciclul de strunjire frontal conic poate fi definit astfel: G79 X(U)__Z(W)__R(K)__F__ Conicitatea poate fi specificat fie la adresa R fie la K. n ambele cazuri interpretarea datei este aceeai. Data introdus la adresa R(K) este ntotdeauna incremental, i este considerat din poziia dat la adresa X(U). Direcia pantei conicitii este determinat de semnul adresei R(K). Interpretarea pentru celelalte adrese corespunde celor discutate la ciclul de strunjire frontal dreapt. Codul G78 i datele programat n blocul G78 sunt modale. n modul bloc singular stopul este activat la sfritul celor patru aciuni (1, 2, 3, 4). 117

17.1.3 Ciclu de strunjire frontal (G79) n cazul programrii incrementale, semnele de la adresele U, W i R(K) influeneaz direciile de deplasare dup cum se vede n figur:

118

17.1.4 Utilizarea ciclului singular 17.1.4 Utilizarea ciclului singular Ambele coduri G i parametrii de intrare ai ciclului sunt valori modale. Aceasta nseamn c dac variabilele ciclului X(U), Z(W) sau R(I sau K), sunt deja impuse i valorile lor nu s-au modificat, acestea nu trebuie rescrise n program. De exemplu: G91 G77 X-20 Z-50 F0.5 X-30 X-40 X-50 n exemplul de mai sus se schimb doar valoarea adncimii de tiere (X), de aceea doar aceast adres trebuie recompletat, celelalte valori rmn neschimbate. Ciclul este executat n starea de executare ciclu activat, presupunnd c este completat i una dintre variabilele referitoare la micare X(U), Z(W) sau R(I sau K). Dac de exemplu ntr-un ciclu, funcia este executat ntr-un bloc separat, starea activat de executare ciclu se menine dar ciclul nu este repetat: G77 U-20 W-50 F0.5 (activare i executare ciclu) T202 (ciclu activat dar neexecutat) U-30 (ciclu executat) Ciclul i variabilele modale sunt terse prin codurile G de interpolare care aparin grupului nr.1 i de asemenea de ctre codurile G cu o singur execuie, cu excepia ntrzierii G4. Funciile M, S, T pot fi de asemenea scrise n blocuri care conin cicluri simple. Funciile sunt executate ntotdeauna n aciunea nr.1 a ciclului n paralel cu micarea sau la sfritul ei. Dac n anumite cazuri aceasta poate cauza inconveniente, funcia va trebui scris ntr-un bloc separat.

119

17.2.1 Strunjire ebo (G71) 17.2 Cicluri repetitive multiple

Ciclurile repetitive multiple simplific scrierea programelor de prelucrare. De exemplu trebuie specificat profilul piesei pentru finisare. n acelai timp acest profil determin baza executrii ciclurilor de ebo (G71, G72, G73). n afar de ciclul de ebo mai sunt disponibile un ciclu de finisare (G70), un ciclu de filetare (G76) i dou cicluri de gurire (G74, G75). 17.2.1 Strunjire ebo (G71) Sunt dou tipuri de strunjire ebo: tipul 1 i tipul 2. Strunjire ebo tipul 1 Dac prin program se d o form final A-A-B ca n figur, suprafaa specificat este ndeprtat cu tieri de adncime d i mrimi ale retragerii u/2 i w.

Prima metod de specificare: Cu liniile de comand: G71 U(d) R(e) G71 P(ns) Q(nf) U(u) W(w) F(f) S(s) T(t) N(ns) X(U) F___ S___ T___ N(nf)

120

17.2.1 Strunjire ebo (G71) unde: d: Adncimea de tiere. Numr pozitiv interpretat ntotdeauna ca raz. Adncimea de tiere se poate da i la parametrul 1339 DPTHCUT deoarece acest parametru este rescris ca efect al comenzii din program. Aceasta nseamn c dac nu este specificat adncimea de tiere comanda numeric lucreaz cu acest parametru. e: Mrime de retragere. Numr pozitiv interpretat ntotdeauna ca raz. Mrimea de retragere se poate da i la parametrul 1340 ESCAPE deoarece acest parametru este rescris ca efect al comenzii din program. Aceasta nseamn c dac nu este specificat mrimea de retragere, comanda numeric lucreaz cu acest parametru. ns: Numrul de secven al primului bloc pentru programul formei de finisare (faza A-A-B). nf: Numrul de secven al ultimului bloc pentru programul formei de finisare (faza A-A-B). u: Distana i direcia de retragere pe direcia X. Numr cu semn interpretat ca diametru sau raz funcie de coordonata X. w: Distana i direcia de retragere pe direcia Z. Numr cu semn. f, s, t: Oricare dintre funciile F, S sau T programate n blocurile de la ns la nf n programul pentru forma de finisare (faza A-A-B) este ignorat i sunt active pe timpul ciclului valorile f,s,t din blocul G71. Semnificaia valorii specificate la adresa U poate fi d sau u n funcie de faptul dac P i Q au fost programate n blocul respectiv. Dac nu au fost semnificaia adresei U este d, dac au fost, este u. Eboul este executat de ctre blocul n care au fost specificate P i Q. Micrile ntre punctele A-A trebuie specificate n blocul nr. ns dat la adresa P obligatoriu prin programarea G00 sau G01. Codul definit aici decide dac intrarea sculei (deplasarea pe direcia A-A) este fcut cu avans rapid (n cazul programrii G00) sau cu avans de lucru (n cazul programrii G01) n cursul eboului. n acest bloc nu trebuie dat nici o micare n direcia P(ns) Z. Faza A-B este executarea profilului din linii drepte i arce. Profilul trebuie s fi monoton cresctor sau descresctor pe ambele direcii X i Z, ceea ce nseamn c nu este posibil ntoarcerea n nici un fel. Ciclul poate fi folosit n toate patru cadranele. Figura alturat prezint i semnele pentru retragere. Funciile F, S sau T programate n blocurile de la ns la nf sunt omise i sunt active cele programate n blocul G71 (f, s, t) sau anterior. Aceasta este valabil pentru viteza periferic constant programat n blocurile de la ns la nf adic este activ starea G69 sau G97 i valoarea vitezei periferice precedent blocului G71.

121

17.2.1 Strunjire ebo (G71)

Blocurile de la ns la nf nu pot conine apeluri de subprogram. Se poate folosi calculul compensrii razei sculei (G41, G42) pe durata executrii ciclului, cu obligativitatea c trebuie activat (G41 sau G42) i dezactivat (G40) ntre blocurile cuprinse de la ns la nf: CORECT GREIT N(ns) X(U) G41 G41 (G41) N(ns) X(U) (G40) N(nf) G40 G40 N(nf) sau sau G41 N(ns) X(U) G41 N(ns) X(U) N(nf) G40 N(nf) G40 Dac ciclul este ntrerupt pe durata execuiei, se deschide modul editare i este rescris parametrul 1339 DPTHCUT, apoi programul este rulat din modul automat cu ajutorul START i se ia n calcul noua tiere cu noua adncime de tiere. La fel se ntmpl i cu parametrul 1340 ESCAPE, adic cu mrimea de retragere. A doua metod de specificare: G71 P(ns) Q(nf) U(u) W(w) D(d) F(f) S(s) T(t) N(ns) X(U) F___ S___ T___ N(nf) Parametrii de intrare pentru a doua metod de specificare corespund cu cei de la prima metod. Strunjire ebo tipul 2 Strunjirea ebo tipul 2 trebuie definit ca i tipul 1, codul su este G71 i parametrii si de intrare sunt la fel ca cei ai tipului 1. Diferena este specificarea blocului de pornire a formei finale (blocul nr. ns). n timp ce la apelarea tipului 1 nu se poate face referire la adresa Z n acest bloc, adic micarea n faza A-A trebuie s fie perpendicular pe axa Z, n cazul apelrii tipului 2 trebuie s se fac obligatoriu referire la adresa Z n acest bloc. Cu alte cuvinte faza A-A trebuie s nu fie perpendicular pe axa Z.

122

17.2.1 Strunjire ebo (G71) Specificarea tipului 1 Specificarea tipului 2 G71 U8 R1 G71 U8 R1 G71 P100 Q200 U0.5 W0.5 G71 P100 Q200 U0.5 W0.5 N100 X(U)___ N100 X(U)___Z(W)___ ... N200 N200 n cazul tipului 2 trebuie utilizat doar micarea pe direcia X, adic perpendicular pe axa Z n primul bloc de form de finisare, deplasare incremental 0, adic pentru axa Z trebuie programat ZI0 sau W0. Strunjirea ebo tipul 2 difer de tipul 1 prin aceea c profilul nu trebuie s fie neaprat monoton cresctor sau descresctor pe direcia X, adic profilul poate s fie concav. Ciclul poate s lucreze cu pn la 10 degajri cu ntoarcere.

Pe de alt parte, pe direcia Z profilul trebuie s rmn monoton, nefiind permis s includ ntoarceri.

Primul bloc al formei de finale (ns) poate s conin i deplasri pe direcia Z (de altfel trebuie s se fac n mod obligatoriu referire la adresa Z), adic prima tiere nu trebuie s fie perpendicular pe axa Z.

123

17.2.1 Strunjire ebo (G71) n cazul strunjirii ebo tipul 2 mrimea de retragere este perpendicular pe axa Z i este fcut cu mrimea valid a retragerii e.

Figura de mai jos prezint un exemplu de cum se prelucreaz n ciclu piesa brut:

n cazul de mai sus, nu poate fi programat retragerea pe direcia Z (w) (trebuie s fie W0), altfel scula poate s taie n peretele lateral.

124

17.2.2 Strunjire ebo plan (G72) 17.2.2 Strunjire ebo plan (G72) Sunt dou tipuri de strunjire ebo plan: tipul 1 i tipul 2. Strunjire ebo plan tipul 1 Strunjirea ebo plan (G72) dup cum se vede n figura de mai jos este la fel ca strunjire ebo G71 exceptnd faptul c tierea se face printr-o operaie paralel cu axa X:

Prima metod de specificare: G72 W(d) R(e) G72 P(ns) Q(nf) U(u) W(w) F(f) S(s) T(t) N(ns) Z(W) F___ S___ T___ N(nf) Semnificaia parametrilor de intrare corespunde n ntregime cu ceea ce s-a discutat la ciclul G71.

125

17.2.2 Strunjire ebo plan (G72) A doua metod de specificare: G72 P(ns) Q(nf) U(u) W(w) D(d) F(f) S(s) T(t) N(ns) X(U) F___ S___ T___ N(nf) Ciclul poate fi folosit n toate cele patru cadrane. Figura alturat prezint semnele pentru retragere n toate cele patru cazuri. n blocul nr. ns care descrie deplasarea ntre punctele A-A, referirea la axa X nu este posibil, micarea trebuind s fie paralel cu axa Z. Codul de interpolare (G00 sau G01) definit n blocul nr. ns determin dac intrarea sculei este fcut cu avans de lucru sau cu avans rapid. Profilul programat trebuie s fie monoton, adic continuu cresctor sau descresctor pe ambele axe. Pentru compensarea razei sculei vezi ciclul G71.

Strunjire ebo plan tipul 2 Strunjirea ebo plan tipul 2 trebuie definit la fel ca i tipul 1, codul su este G72 i parametrii sunt aceiai ca la tipul 1. Diferena o constituie specificarea blocului de pornire al formei finale (blocul nr. ns). n timp ce n cazul apelrii tipului 1 nu se poate face referire la adresa X n acest bloc, adic deplasarea n faza A-A trebuie s fie perpendicular pe axa X, n cazul apelrii tipului 2 trebuie s se fac referire obligatoriu la adresa X n acest bloc. Cu alte cuvinte faza A-A nu trebuie s fie perpendicular pe axa X. n continuare trebuie ndeplinite aceleai condiii ca i pentru ciclul G71 tip 2. De asemenea profilul poate avea ntoarceri, totui trebuie s fie monoton pe direcia X.

126

17.2.3 Ciclu de repetare a modelului (G73) 17.2.3 Ciclu de repetare a modelului (G73) Acest ciclu poate fi folosit pentru strunjirea pieselor a cror form brut a fost deja executat printr-o prelucrare grea: forjare sau metod de turnare. Aceast funcie permite strunjirea de mai multe ori a unui model fix, modelul fiind deplasat pas cu pas.

Prima metod de specificare: Comanda: G73 U(i) W (k) R(d) G73 P(ns) Q(nf) U(u) W(w) F(f) S(s) T(t) N(ns) X(U) F___ S___ T___ N(nf) unde: i: k: d: Distana i direcia de translaie pe axa X. Numr cu semn interpretat ntotdeauna ca raz. Translaia pe axa X se poate da i la parametrul 1341 RELIEFX deoarece acest parametru este rescris ca efect al comenzii din program. Distana i direcia de translaie pe axa Z. Numr cu semn interpretat ntotdeauna ca raz. Translaia pe axa Z se poate da i la parametrul 1341 RELIEFZ deoarece acest parametru este rescris ca efect al comenzii din program. Numrul de divizare. Numrul de divizare se poate da i la parametrul 1343 NUMDIV deoarece acest parametru este rescris ca efect al comenzii din program. 127

17.2.3 Ciclu de repetare a modelului (G73)

ns: nf: u: w:

Valoarea specificat pentru translaie (parametrii RELIEFX, RELIEFZ) este divizat cu acest numr i avansurile de prelucrare sunt corelate cu rezultatul. Numrul de secven al primului bloc pentru programul formei de finisare (faza A-A-B). Numrul de secven al ultimului bloc pentru programul formei de finisare (faza A-A-B). Distana i direcia de retragere pe direcia X. Numr cu semn interpretat ca diametru sau raz funcie de coordonata X. Distana i direcia de retragere pe direcia Z. Numr cu semn.

Semnificaia adreselor U i W definite n blocul G73 poate fi i i k sau u i w n funcie de faptul dac P i Q au fost programai n blocul dat. Dac P i Q au fost programai, atunci semnificaia pentru U i W este u i w, dac nu atunci este i i k. Ciclul este executat n blocul care conine P i Q. Blocurile de la ns la nf trebuie s conin poziionarea (faza A-A) i de asemenea descrierea formei de finisare (faza A-B). Ciclul poate fi executat n toate patru cadranele n funcie de semnul valorilor i, k, u, w. La sfritul ciclului scula revine n punctul A. Prelucrarea este continuat din blocul urmtor. Funciile F, S, T programate n blocurile de la ns la nf sunt omise i sunt active cele programate n blocul G71 (f, s, t) sau anterior. Acelai lucru este valabil i pentru viteza periferic constant programat n blocurile de la ns la nf, adic este activ starea G96 sau G97 i valoarea vitezei periferice constante anterioare blocului G71. Blocurile de la ns la nf nu pot conine apeluri de subprogram. Specificarea compensrii razei sculei este posibil n blocurile care definesc forma de finisare cu restriciile discutate n descrierea G71. A doua metod de specificare: G73 P(ns) Q(nf) U(u) W(w) I(i) K(k) D(d) F(f) S(s) T(t) N(ns) F___ S___ T___ N(nf) Parametrii de intrare pentru a doua metod de specificare corespund celor de la prima metod.

128

17.2.4 Ciclu de finisare (G70) 17.2.4 Ciclu de finisare (G70) Dup ebo cu G71, G72 sau G73 se poate defini finisarea cu ajutorul comenzii G70. Finisarea se poate introduce prin urmtoarea comand: G70 P(ns) Q(nf) U(u) W(w) ns: nf: u: w: Numrul de secven al primului bloc pentru programul formei de finisare. Numrul de secven al ultimului bloc pentru programul formei de finisare. Distana i direcia de retragere pe direcia X. Numr cu semn interpretat ca diametru sau raz funcie de coordonata X. Distana i direcia de retragere pe direcia Z. Numr cu semn.

Funciile F, S, T programate n programul pies n blocurile de la ns la nf sunt executate n timpul ciclului, spre deosebire de ciclurile G71, G72, G73. La sfritul ciclului de finisare, scula revine n punctul de pornire i sunt ncrcate blocurile urmtoare. n cursul ciclului de finisare calculul compensrii razei sculei este funcional. Mrimea de retragere poate fi definit la adresele U i W n cazul n care mrimea de retragere trebuie eliminat n mai muli pai. Blocurile de la ns la nf nu pot conine apeluri de subprogram.

129

17.2.5 Ciclu de gurire frontal cu retrageri pentru ruperea panului (G74) 17.2.5 Ciclu de gurire frontal cu retrageri pentru ruperea panului (G74)

Figura de mai jos prezint desfurarea ciclului de gurire frontal cu retrageri pentru ruperea panului G74. Gurirea este pe direcia Z.

Prima metod de specificare: Linia de comand: G74 R(e) G74 X(U) Z(W) P(i) Q(k) R(d) F unde: e: Mrimea retragerii Valoare modal, neschimbat pn la rescriere. Mrimea retragerii se poate da i la parametrul 1344 RETG74G75, deoarece acest parametru este rescris ca efect al comenzii din program. X: U: Z: W: i: k: Componenta X pentru punctul B Mrimea incremental dintre A i B Componenta Z pentru punctul C Mrimea incremental dintre A i C Mrimea deplasrii n direcia X. Numrul este pozitiv i este interpretat ntotdeauna ca raz. Adncimea de tiere n direcia Z. Numrul este ntotdeauna pozitiv.

130

17.2.5 Ciclu de gurire frontal cu retrageri pentru ruperea panului (G74) d: Mrimea de retragere la tierea fundului. Semnul pentru d este totdeauna pozitiv (direcia de micare este totdeauna contrar vectorului sign AB). Dac totui nu se completeaz adresele X(U) i P(i), este interpretat semnul pentru R(d) i direcia de micare este determinat de ctre semnul d la fundul tieturii. Mrimea avansului.

F:

n figur (F) indic fazele executate cu avans de lucru iar (R) pe cele executate cu avans rapid. Completarea adresei R n blocul G74 care determin e sau d depinde de completarea adresei Z(W). Dac adresa Z(W) este completat, interpretarea adresei R este d. Dac este omis completarea ambelor adrese X(U) i P(i) deplasarea are loc pe axa Z, adic are loc ciclul de gurire. A doua metod de specificare: G74 X(U) Z(W) I(i) K(k) D(d) F Parametrii de intrare pentru a doua metod de specificare corespund celor de la prima metod.

131

17.2.6 Ciclu de gurire diametru exterior/diametru interior (G75) 17.2.6 Ciclu de gurire diametru exterior/diametru interior (G75) Figura de mai jos prezint procesul ciclului de gurire diametru exterior/diametru interior G75. Prima metod de specificare: G75 R(e) G75 X(U) Z(W) P(i) Q(k) R(d) F Interpretarea variabilelor ciclului G75 este aceeai ca la ciclul G74 cu diferena c gurirea este pe direcia X, de aceea interpretarea adreselor X(U) i Z(W) este inversat. A doua metod de specificare: G75 X(U) Z(W) I(i) K(k) D(d) F

132

17.2.6 Ciclu de gurire diametru exterior/diametru interior (G75)

133

17.2.7 Ciclu multiplu de filetare (G76) 17.2.7 Ciclu multiplu de filetare (G76) Figura de mai jos prezint desfurarea ciclului multiplu de filetare G76.

Prima metod de specificare: Liniile de comand: G76 P (n) (r) () Q (dmin) R (d) G76 X(U) Z(W) P(k) Q(d) R(i) F(E)(L) unde: 134

17.2.7 Ciclu multiplu de filetare (G76) n: Numrul de pai de executat (n=0199) Valoarea este modal, meninndu-i valoarea pn la renscriere. Numrul de pai de executat se poate da i la parametrul 1335 COUNTFIN deoarece acest parametru este renscris ca efect al comenzii din program. Mrime teire (r=0199) Scula este extras ntr-un unghi de 45 grade la ieirea din filet. Mrimea teirii se poate da cu ajutorul lui r. Lungimea fazei este r*L/10 unde L este pasul programat al filetului. Aceast valoare este modal, meninndu-i valoarea pn la renscriere. Mrimea teirii se poate da i la parametrul 1334 THRDCHMFR deoarece acest parametru este renscris ca efect al comenzii din program. Unghiul vrfului sculei n grade (= 0199) Aceast valoare este modal, meninndu-i valoarea pn la renscriere. Unghiul vrfului sculei se poate da i la parametrul 1336 TIPANGL deoarece acest parametru este renscris ca efect al comenzii din program.

r:

Valorile n, r i pot fi specificate toate la un loc la adresa P. Deoarece toate valorile se dau ca numere cu dou cifre, trebuie nscris un numr cu ase cifre la adresa P. De exemplu dac numrul de cicluri de finisare este n=2, mrimea teirii este 1.5 (r=15) i este folosit o scul avnd un vrf de 60 grade, atunci valoarea pentru P este P021560. dmin: Adncimea minim de tiere (numr pozitiv interpretat ntotdeauna ca raz) Dac n decursul ciclului de filetare n ciclul nr.n adncimea de tiere este dn dn-1 < dmin , atunci adncimea de tiere este limitat ntotdeauna la valoarea dmin. Aceast valoare este modal, meninndu-i valoarea pn la renscriere. Valoarea adncimii minime de tiere se poate da i la parametrul 1337 MINTHRDP deoarece acest parametru este renscris ca efect al comenzii din program. d: Mrimea de retragere (numr pozitiv interpretat ntotdeauna ca raz) Aceast valoare este modal, meninndu-i valoarea pn la renscriere. Valoarea de retragere se poate da i la parametrul 1338 FINALLW deoarece acest parametru este renscris ca efect al comenzii din program.

Parametrii listai mai sus sunt datele primului bloc G76 P (n) (r) () Q (dmin) R (d). Comanda numeric execut preluarea parametrilor de mai sus ca efect al codului G76 n cazul n care nici adresa X(U) nici Z(W) nu sunt completate n blocul G76. i: k: d: Mrimea conicitii (interpretat ntotdeauna ca raz) Dac i=0 sau adresa R nu este completat se execut tiere de filet drept normal. nlimea filetului (numr pozitiv interpretat ntotdeauna ca raz) Adncimea de tiere n prima tiere (numr pozitiv interpretat ntotdeauna ca raz)

135

17.2.7 Ciclu multiplu de filetare (G76) L:

Pasul filetului Programarea sa corespunde cu cea de la G33. Valoarea scris la adresa F indic pasul filetului, n timp ce valoarea scris la adresa E indic numrul de spire pe inci. Parametrii de mai sus sunt date de intrare pentru cel de al doilea bloc G76 X(U) Z(W) P(k) Q(d) R(i) F(E)(L). Filetarea se execut doar ca efect al blocului de mai sus, ceea ce semnific faptul c una dintre adresele X(U), Z(W) trebuie completate. Dac nu se completeaz nici o coordonat blocul este interpretat ca un bloc de impunere parametri, n cursul executrii ciclului, intrarea sculei, care este micarea ntre punctele A i C, se face cu valoarea de avans rapid, n cazul n care este activ codul G00 pe durata ciclului, sau este executat cu avansul modal, n cazul n care este activ codul G01 pe durata ciclului. Micarea de avans este executat ntre punctele C i D n concordan cu pasul filetului L specificat la adresa F(E). Toate celelalte faze sunt executate cu valoarea de avans rapid. Filetul este tiat ntotdeauna pe o parte pe baza relaiei pentru cea de a n-a traiectorie cu mrimea de tiere pe ciclu meninut mereu constant. Teirea este executat ntotdeauna la sfritul filetului n acord cu parametrii impui. X(U), Z(W) semnul acestor adrese definete direcia de intrare n pies i de tiere filet. R(i) semnul acestei adrese definete direcia pantei conicitii. Ca efect al butonului STOP scula este extras n concordan cu teirea programat, dup cum s-a discutat n cazul codului G78, i apoi este poziionat la punctul de start (A). La apsarea butonului START prelucrarea ntrerupt este reluat de la nceput. A doua metod de specificare: G76 X(U) Z(W) I(i) K(k) D(d) A() F(E)(L) Q P Interpretarea datelor I, k, d, L corespunde celor discutate la prima metod. Similar ca la prima metod unghiul vrfului sculei poate fi definit la adresa A (). Diferena const n faptul c unitatea n care se specific este 1 grad pentru prima metod, n timp ce la a doua metod este 0.001 grade. n cazul n care adresa A nu se completeaz valoarea se ia din parametri. Totui specificarea adresei A nu modific valoarea parametrului 1336 TIPANGL. Parametrii de intrare n, r, , dmin i d sunt recunoscui de ctre comanda numeric n cazul celei de a doua metode de specificare a filetului la fel ca n cazul primei metode. De asemenea parametrii de intrare se pot da cu blocul anterior G76 P (n) (r) () Q (dmin) R (d). Dac n bloc adresa K este completat, comanda numeric consider specificarea fcut pentru bloc n acord cu a doua metod . Q: P: Valoarea unghiului nceputului filetului calculat n grade de la pulsul de zero al codorului de poziie. Interpretarea adresei corespunde celei de la G33. Metoda de tiere filet. Se pot selecta cinci metode de tiere a filetului pe baza figurilor prezentate n continuare:

136

17.2.7 Ciclu multiplu de filetare (G76) P1: Mrimea tierii constant, tiere pe o parte. P2: Tiere pe ambele pri P3: Adncime de tiere constant, tiere pe o parte. P4: Adncime de tiere constant, tiere pe ambele pri P5: Mrimea tierii constant, tiere pe ambele pri

137

17.2.7 Ciclu multiplu de filetare (G76)

138

17.2.7 Ciclu multiplu de filetare (G76)

139

18 Cicluri memorate pentru gurire

18 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

140

18 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 . Dac trebuie programat gurirea frontal, unde axa de gurire este Z, trebuie selectat planul G17, iar dac trebuie programat gurirea lateral, unde axa de gurire este X, trebuie selectat planul G19. 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: G83.1, G84.1, G86.1, 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_ C I_ J_ Zp_ R_ Q_ E_ P_ F_ S_ G18 G_ Zp_ Xp_ C_ K_ I_ Yp_ R_ Q_ E_ P_ F_ S_ G19 G_ Yp_ Zp_ C J_ K_ Xp_ R_ Q_ E_ P_ F_ S_ (1) ( 2 ) ( 3 ) ( 4 ) (1) Codul de gurire (2) Poziia gurii (3) Deplasamentul dup orientarea arborelui (4) Datele de gurire (5) Numrul de repetri L_ L_ L_ ( 5)

141

18 Cicluri memorate pentru gurire Codul guririi: Mai jos 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 G83.1, G84.1, G86.1, G81, ,G89), variabilele modale ale ciclului vor fi modale de asemenea i ntre diversele tipuri de cicluri 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 C0 Z50 R150 N3 X100 C30 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 C0 Z50 R150 N3 X100 C30 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, sau 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, C 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 scalare sunt aplicabile valorilor coordonatelor introduse. Comanda numeric deplaseaz scula la poziia gurii cu avans rapid indiferent de care cod din grupa 1 este activ.

142

18 Cicluri memorate pentru gurire 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 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 scalare 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.

143

18 Cicluri memorate pentru gurire

Comenzile de imagine n oglind i scalare 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 scalare 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 scalare nu afecteaz valoarea adncimii de intrare. 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 scalare 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 i ia 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__ C__ Z__ R__ F__ Este obligatoriu s se specifice datele de gurire (Z, R) la nceputul modului ciclu. N3 X__ 144

18 Cicluri memorate pentru gurire 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 C__ Z__ P__ Poziia gurii se schimb n direcia C. 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 C__ 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__ C__ Modul ciclu i variabilele modale ale ciclului (cu excepia F) vor fi terse. 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 X300 Z40 C0 M3 N2 G91 G81 X40 Z100 R20 F50 L5 Cu instruciunile de mai sus se vor face 5 guri identice distanate la 100mm pe axa Z. Poziia primei guri este Z=140, C=0. Deoarece este o gurire lateral (axa de gurire este X), trebuie selectat planul G19. Pentru G91 poziia gurii trebuie specificat incremental. N1 G90 G17 G0 X200 C60 Z50 N2 G81 CI60 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 100mm. Poziia primei guri coincide cu punctul de coordonate X=200 C=0. Deoarece este o gurire frontal (axa de gurire este Z) trebuie selectat planul G17.

145

18 Cicluri memorate pentru gurire 18.1 Descrierea detaliat a ciclurilor memorate 18.1.1 Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului (G83.1)

Variabilele folosite n ciclu sunt: G17 G83.1 Xp__ Yp__ C__ Zp__ R__ Q__ E__ F__ L__ G18 G83.1 Zp__ Xp__ C__ Yp__ R__ Q__ E__ F__ L__ G19 G83.1 Yp__ Zp__ C__ 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.

146

18 Cicluri memorate pentru gurire 18.1.2 Ciclu de filetare (G84.1)

Acest ciclu poate fi folosit doar cu un tarod cu resort. Variabilele utilizate sunt: G17 G84.1 Xp__ Yp__ C__ Zp__ R__ (P__) F__ L__ G18 G84.1 Zp__ Xp__ C__ Yp__ R__ (P__) F__ L__ G19 G84.1 Yp__ Zp__ C__ Xp__ R__ (P__) F__ L__ nainte de a se porni ciclul, trebuie pornit arborele sau programat s se roteasc n direcia lui M4 (sens orar). 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

147

18 Cicluri memorate pentru gurire 18.1.3 Ciclu de alezare fin (G86.1)

Ciclul G86 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 prelucrart cu valorile specificate la I, J i K, piesa nu va fi zgriat atunci cnd scula se retrage. Variabilele folosite n ciclu sunt: G17 G86.1 Xp__ Yp__ C__ I__ J__ Zp__ R__ P__ F__ L__ G18 G86.1 Zp__ Xp__ C__ K__ I__ Yp__ R__ P__ F__ L__ G19 G86.1 Yp__ Zp__ C__ 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

148

18 Cicluri memorate pentru gurire 18.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 instruciuni i coordonate, doar coordonatele se execut, dar cu codurile de interpolare care erau active nainte de activarea ciclului (cod G grupa 1). 18.1.5 Gurire, ciclu de alezare parial (G81)

Variabilele folosite n ciclu sunt: G17 G81 Xp__ Yp__ C__ Zp__ R__ F__ L__ G18 G81 Zp__ Xp__ C__ Yp__ R__ F__ L__ G19 G81 Yp__ Zp__ C__ 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. -

149

18 Cicluri memorate pentru gurire 18.1.5 Gurire, ciclu de alezare la retragere (G82)

Variabilele folosite n ciclu sunt: G17 G82 Xp__ Yp__ C__ Zp__ R__ P__ F__ L__ G18 G82 Zp__ Xp__ C__ Yp__ R__ P__ F__ L__ G19 G82 Yp__ Zp__ C__ 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. -

150

18 Cicluri memorate pentru gurire 18.1.7 Ciclu de gurire cu retrageri pentru ruperea panului (G83)

Variabilele folosite n ciclu sunt: G17 G83 Xp__ Yp__ C__ Zp__ R__ Q__ E__ F__ L__ G18 G83 Zp__ Xp__ C__ Yp__ R__ Q__ E__ F__ L__ G19 G83 Yp__ Zp__ C__ 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. 151

18 Cicluri memorate pentru gurire 18.1.8 Ciclu de filetare cu tarod (G84)

Acest ciclu poate fi folosit doar cu un tarod cu resort (spring tap) . Variabilele utilizate sunt: G17 G84 Xp__ Yp__ C__ Zp__ R__ (P__) F__ L__ G18 G84 Zp__ Xp__ C__ Yp__ R__ (P__) F__ L__ G19 G84 Yp__ Zp__ C__ 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

152

18 Cicluri memorate pentru gurire 18.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 ciclul de filetare pe stnga G74, respectiv 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 (spring tap), 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. Comanda numeric va regla doar viteza arborelui n primul caz, n al doilea caz controlnduse 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 invers cu tarod 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__ C__ Zp__ R__ F__ S__ L__ G18 G84. Zp__ Xp__ C__ Yp__ R__ F__ S__ L__ G19 G84. Yp__ Zp__ C__ 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.

153

18 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):

154

18 Cicluri memorate pentru 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) 5. interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens orar 6. 7. interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens antiorar 8. 9. cu G98, retragere cu avans rapid n punctul iniial 10. -

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. -

155

18 Cicluri memorate pentru gurire 18.1.10 Ciclu de alezare (G85)

Variabilele folosite n ciclu sunt: G17 G85 Xp__ Yp__ C__ Zp__ R__ F__ L__ G18 G85 Zp__ Xp__ C__ Yp__ R__ F__ L__ G19 G85 Yp__ Zp__ C__ 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. -

156

18 Cicluri memorate pentru gurire 18.1.11 Ciclu de alezare cu retragerea sculei cu avans rapid (G86)

Variabilele folosite n ciclu sunt: G17 G86 Xp__ Yp__ C__ Zp__ R__ F__ L__ G18 G86 Zp__ Xp__ C__ Yp__ R__ F__ L__ G19 G86 Yp__ Zp__ C__ Xp__ R__ 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. 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)

157

18 Cicluri memorate pentru gurire 18.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__ C__ Zp__ R__ F__ L__ G18 G87 Zp__ Xp__ C__ Yp__ R__ F__ L__ G19 G87 Yp__ Zp__ C__ Xp__ R__ 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. 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)

158

18 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__ C__ I__ J__ Zp__ R__ F__ L__ G18 G87 Zp__ Xp__ C__ K__ I__ Yp__ R__ F__ L__ G19 G87 Yp__ Zp__ C__ J__ K__ Xp__ R__ F__ L__ Comanda M3 trebuie transmis 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.

159

18 Cicluri memorate pentru gurire 18.1.13 Ciclu de alezare (operare manual n punctul de fund) (G88)

Variabilele folosite n ciclu sunt: G17 G88 Xp__ Yp__ C__ Zp__ R__ P__ F__ L__ G18 G88 Zp__ Xp__ C__ Yp__ R__ P__ F__ L__ G19 G88 Yp__ Zp__ C__ 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. 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.

160

18 Cicluri memorate pentru gurire 18.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. 18.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, C 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.

161

18 Cicluri memorate pentru gurire

Pentru a ilustra cele spuse mai sus, s examinm urmtorul exemplu: G81 X_ C_ Z_ R_ F (ciclul de gurire este executat) X (ciclul de gurire este executat) F_ (ciclul de gurire nu este executat, F este supranscris) M_ (ciclul de gurire nu este executat, codul M este executat) G4 P_ (ciclul de gurire nu este executat, ntrzierea va fi rescris, dar nu valoarea ntrzierii variabilei ciclului) I_ Q_ (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, n completarea poziionrii. Dac a fost programat i L n ciclu, funcia va fi executat doar 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 G84.1, 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 n blocul ciclului este programat scula Tnnmm, noua lungime de compensare este luat n consideraie att pentru poziionarea n planul selectat ct i pentru gurire.

162

19 Funcii de msurare

19 Funcii de msurare
19.1 Funcia de salt (G31) Instruciunea G31 v (F) (P) pornete interpolarea liniar n 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 intrarea de semnal de salt din 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), - n sistemul de coordonate al piesei curente, - cu lungimile de compensare actuale. 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 va fi eficace ncepnd de la acele puncte finale.

163

19 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 Z100 N2 X100 Z30 n blocul N1 este pornit o micare incremental n direcia Z. Dac comanda numeric se oprete n punctul de coordonat Z=86.7 la sosirea semnalului extern, se va mica incremental 100 n direcia x i 30 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 Z300 Interpolarea N1 pornete o micare n direcia Z ctre punctul de coordonat Z=200. Dac, dup sosirea semnalului extern, comanda numeric se oprete n punctul de coordonat Z=167, deplasarea n direcia X va fi Z=300-167, adic Z=133 n blocul N2. 19.2 Msurarea automat a lungimii sculei (G36, G37) Instruciunea G36 X__, G37 Z__ va determina pornirea deplasrii cu avans rapid n direcia X cnd a fost specificat G36 i n direcia Z pentru G37. Valoarea pentru X sau Z 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 (X- RAPDISTX), sau (ZRAPDISTZ), unde RAPDISTX RAPDISTZ sunt valori selectate prin parametri. Apoi micarea este executat cu avansul specificat n parametrul G37FD pn

164

19 Funcii de msurare 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 n afara domeniului ALADIST (specificat n parametri) al poziiei X sau Z 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 (dac parametrul ADD=1), sau - scderea diferenei din acesta (dac parametrul ADD=0) Anterior nceperii msurtorii trebuie impus registrul de compensare a lungimii corespunztor prin programarea Tnnmm. - G36, G37 sunt instruciuni cu o singur aciune. - Ciclul G36, 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 Tnnmm referitor la lungimea de compensare 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. - Mesajul de eroare 3103 OUT OF RANGE (depire domeniu) este afiat pe durata execuiei funciei G36 sau G37 dac semnalul sesizorului de atingere sosete n afara domeniului ALADISTX sau ALADISTZ al poziiei finale programate n interpolrile G36, G37.

165

20 Funcii de siguran

20 Funcii de siguran
20.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 0, respectiv la1. Instruciunile G22 P0 i G22 P1 vor impune parametrul EXTER la 0, respectiv la1. 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 166

20 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. 20.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.

167

20 Funcii de siguran 20.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 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.

168

21 Macro utilizator

21 Macro utilizator
21.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. Argumentele pot fi atribuite corpului macro. 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 169

21 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. 21.2 Apel macro modal 21.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 | X150 |-se execut gurirea dup fiecare poziionare -| 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) % 170

21 Macro utilizator 21.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 MS |- = -| 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) numrul de bloc (2) #24=12.3 (3) #25=32.6 (4) #14=250 Dac adresa N este n mijlocul blocului (precedat de oricare adres n afar de /), adresa N va fi interpretat ca un argument:

(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).

X34.263 N320 ( 1 ) ( 2 )

171

21 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. 21.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 dac 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, macro va fi apelat la sfritul fiecrui bloc de micare. Dac valoarea parametrului este 1, macro va fi apelat 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. 21.4 Apelul macro utilizator folosind codul M Prin parametri se pot selecta maximum 10 coduri M diferite, prin care s fie iniiate apelurile 172

21 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. 21.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 NnGg 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.

173

21 Macro utilizator 21.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. 21.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. 21.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 Valoarea atribuit la adresele A, B i C va fi transferat la variabilele comune #195, #196 i respectiv #197.

174

21 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. 21.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. 21.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 fiecare bloc de interpolare se va apela la nceput ultimul macro specificat, de unde 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)

Incluznd doar interpolrile, secvena de executare va fi:

175

21 Macro utilizator

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. 21.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.

176

21 Macro utilizator 21.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. Data specific 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. 21.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] nsemn c variabila 120 conine numrul de serie al variabilei la care se face referire; #[#120-4] nsemn c numrul de variabil referit este obinut scznd 4 din numrul coninut n variabil. 21.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 / 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 177

21 Macro utilizator 21.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> 21.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

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

178

21 Macro utilizator 21.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. 21.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. 21.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 . Dac de exemplu trebuie protejate variabilele de la #530 la #540, trebuie impui parametrii WPROT1=530 i WPROT2=540.

179

21 Macro utilizator 21.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.

180

21 Macro utilizator Semnale de ieire interfa - #1100-#1115, #1132 Pot fi determinate 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 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:

181

21 Macro utilizator 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. N
1 2 99

X
uzur
#10001 #10002 #10099

Y
uzur
#14001 #14002 #14099

Z
uzur
#11001 #11002 #11099

R
uzur
#12001 #12002 #12099

geometrie
#15001 #15002 #15099

geometrie
#19001 #19002 #19099

geometrie
#16001 #16002 #16099

geometrie
#17001 #17002 #17099

Q
#13001 #13002 #13099

182

21 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 183

21 Macro utilizator 1,2 i 3 sunt atribuite la adresele X, Y i 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, de exemplu 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

184

21 Macro utilizator Suprimarea butonului de stop, coreciei avansului, 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 coreciei 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:
111111 5432109876543210 | | | | (8) (3)(2)(1) (1) prima ax (2) a doua ax (3) a treia ax : ( 8) a opta ax

185

21 Macro utilizator 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. 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 selectarea funciilor M 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 a blocului anterior 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 variabila de sistem #4201 : #4220 #4301 #4302 #4303 #4307 #4308 #4309 #4311 #4313 #4314 #4315 #4319 #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

186

21 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 - cu 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 - cu toate compensrile (lungime, raz, ofset scul).

187

21 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 coordonata semnalului de salt pe axa 2 posibil coordonata semnalului de salt pe axa 8 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.

188

21 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. 21.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. Nu este posibil doar pentru <formul> 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. 21.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. 21.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.

189

21 Macro utilizator 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 pe fiecare din ce 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. 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 190

21 Macro utilizator 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 grade, 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 de grade. 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 de grade. 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 de grade. 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. 191

21 Macro utilizator Ca rezultat al operaiei, variabila #i va deveni logaritmul natural al numrului #j n grade. 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 Operaii aritmetice complexe Succesiunea de executare Operaiile aritmetice mai sus menionate se pot combina. Succesiunea de executare a operaiilor, sau ordinea de executare a operaiilor este: funcii operaii de multiplicare operaii de sumare. De exemplu:
#110 = #111 + #112 * COS #113 ----1------------2--------- ordinea operaiilor ------------3----------------

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). 192

21 Macro utilizator 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. 21.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 sunt urmate de adunri i scderi, trebuie luate n consideraie eventualele erori cu privire la acurateea deciziei. 21.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). 21.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 193

21 Macro utilizator 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). 21.13.6 Instruciune condiionat: IF[<expresia condiiei>] THEN

Dac [<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. 21.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). 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

fals

194

21 Macro utilizator
: DO1 : END1 : END1 : : DO1 : END1 : : : DO1 : END1 : : DO1 : DO2 : DO3 : : : END3 : END3 : END1 : : DO1 : DO2 : : : END1 : END2 : DO1 : GOTO150 : : : END1

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.

fals

- Se poate face o ramificaie n afara ciclului.

corect

:
N150

195

21 Macro utilizator - Nu este permis intrarea n ciclu din afar.


: GOTO150 : DO1 : : : N150

fals

:
END1 :

sau
: DO1 : N150 : : : END1

fals

:
GOTO150 :

- 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 : G67 : END1 :

corect corect corect corect

21.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).

196

21 Macro utilizator 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 Caracterul % are rol att de deschiztor de periferic ct i de prim caracter transmis al datelor. Ieire de date binare BPRNT[] BPRNT [ a #b [c] ] unde a = caracter #b = variabil [c] = numrul de cifre de dup punctul zecimal

Comanda 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. Valoarea variabilei trebuie urmat de un numr zecimal ntre paranteze ptrate, care indic numrul de zecimale. 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: BPRNT [ C*/ X#110 [3] Y#120 [3] M#112 [0] ] #110=318.49362 ------------------ 318494=0004DC1Eh #120=0.723415 ------------------ 723=000002D3h #112=23.9 ------------------ 24=00000018h

197

21 Macro utilizator 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 nesemnificative 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 nesemnificative 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 liber va fi transmis cu codul 0. - 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] ]

198

21 Macro utilizator
#130=35.897421 #500=150.8 #10=214.8 -------- 35.897 -------- 150.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 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 ---X ---3 ---5 ---Punct zecimal (.) ---8 ---9 ---7 ---Y ---Semnul minus () ---1 ---5 ---0 ---Punct zecimal (.) ---8 ---0 ---0 ---T ---1 ---5 ---Line Feed (LF)(sfrit de rnd)

199

21 Macro utilizator 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. 21.14 Instruciuni NC i macro 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 definiie, instruciune 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). 21.15 Desfurarea n timp a execuiei unei instruciuni 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 macro sunt executate n ordinea n care au fost scrie n program, =1: Declaraiile macro sunt executate n decursul executrii blocurilor NC.

200

21 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. 21.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. 21.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.

201

Note

Note

202

Index n ordine alfabetic

Index n ordine alfabetic


#0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 #10001-#13999. . . . . . . . . . . . . . . . . . . . .182 #1000-#1015 . . . . . .. . . . . . . . . . . . . . . . .180 #1032 . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 #1100-#1115 . . . . . .. . . . . . . . . . . . . . . . .181 #1132. . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 #195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 #196 . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .174 #197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 #198 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 #199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 #1nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 #3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 #3001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 #3002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 #3003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 #3004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 #3005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 #3006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 #3007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 #3901 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 #3902 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 #4001-#4130. . . . . . . . . . . . . . . . . . . . . . .186 #4201-#4330. . . . . . . . . . . . . . . . . . . . . . .186 #5201-#5326. . . . . . . . . . . . . . . . . . . . . . .183 #5nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 accelerare. . . . . . . . . . . . . . . . . . . . . . . . . . 35 alarm. . . . . . . . . . . . . . . . . . . . . . . . . . . .184 arbore. . . . . . . . . . . . . . . . . 14, 33, 51, 58, 59 corecie . . . . . . . . . . . . . . . . . . .28, 37 orientare . . . . . . . . . . . . . . . . . . . . .53 schimbri trepte . . . . . . . . . . . . . . . 58 arc cu raz variabil . . . . . . . . . . . . . . . . . .91 arc de cerc . . . . . . . . . . . . . . . . . . . . . . . . . 38 arce de col . . . . . . . . . . . . . . . . . . . . . . . . .86 avans . . . . . . . . . . . . . . . . . . . . . . . . . 12, 185 axa principal . . . . . . . . . . . . . . . . . . . . . . .50 ax de gurire . . . . . . . . . . . . . . . . . . . . . .140 axe nume . . . . . . . . . . . . . . . . . . . . . . . .16 numr . . . . . . . . . . . . . . . . . . . . . . .16 sistem de uniti . . . . . . . . . . . . . . .16 axe de rotaie . . . . . . . . . . . . . . . . . . . . . . . 22 axele controlate . . . . . . . . . . . . . . . . . . . . . 16 bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 cerc . . . . . . . . . . . . . . . . . . . . . . . . . . . .80, 86 cerc cu raz variabil . . . . . . . . . . . . . . . . .92 cerc ntreg . . . . . . . . . . . . . . . . . . . . . . . . . 92 ciclu fr sfrit . . . . . . . . . . . . . . . . . . . . .63 cicluri de gurire . . . . . . . . . . . . . . . . . . .140 adrese . . . . . . . . . . . . . . . . . . . . . .141 coduri . . . . . . . . . . . . . . . . . . . . . .141 configurare . . . . . . . . . . . . . . . . . .141 circular . . . . . . . . . . . . . . . . . . . . . . . . .74, 81 coduri M . . . . . . . . . . . . . . . . . . . . . . . . . .58 col interior . . . . . . . . . .74, 75,78, 81, 82, 96 compensare . . . . . . . . . . . . . . . . . . . . . . . .64 compensarea lungimii sculei . . . . .15, 84,188 compensarea razei sculei . . . . . . . . . . . . . . 15 controlul vitezei periferice constante . . . . .14 corecie . . . . . . . . . . . 28, 32, 36-38, 162, 185 corecie de col . . . . . . . . . . . . . . . . . . . . . .37 cuvnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 date de coordonat . . . . . . . . . . . . . . . . . . .30 limite . . . . . . . . . . . . . . . . . . . . . . . 30 specificare . . . . . . . . . . . . . . . . . . . 30 gam de valori . . . . . . . . . . . . . . . . 30 decalaj servo . . . . . . . . . . . . . . . . . . . . . . .189 direcia modului ofset . . . . . . . . . . . . . . . . 84 direcie cerc . . . . . . . . . . . . . . . . . . . . . . . 100 execuie bloc cu bloc . . . . . . . . . . . . . . . . 184 format . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 format program . . . . . . . . . . . . . . . . . 10, 176 frnare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 funcia schimbare scul . . . . . . . . . . . . . . . 57 funcii auxiliare . . . . . . . . . . . . . . . . . . . . . 59 funcii de msurare . . . . . . . . . . . . . . . . . .163 funcii de siguran . . . . . . . . . . . . . . . . . .166 funcii modale . . . . . . . . . . . . . . . . . . 14, 186 funcii ne-modale . . . . . . . . . . . . . . . . . . . .14 funcii pregtitoare . . . . . . . . . . . . . . . . . . .12 imagini n oglind . . . . . . . . .87, 99 143, 185 inci . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 31 indicarea poziiei . . . . . . . . . . . . . . . . . . . . 48 informaie de poziie . . . . . . . . . . . . . . . . 187 inhibare . . . . . . . . . . . . . . . . . . . . . . . . . . .19 interfa . . . . . . . . . . . . . . . . . . . . . . 180, 181 interferene la compensarea sculei . . . . . . .94 interpolare . . . . . . . . . . . . . . . . . . . . . . . . .12 interpolare circular . . . . . . . . . . . . . . . . . .49 inceputul programului . . . . . . . . . . . . . . . . 10 intrziere . . . . . . . . . . . . . . . . . . . 39, 88, 144 203

Index n ordine alfabetic lista de adrese . . . . . . . . . . . . . . . . . . . . . . . .9 msurare . . . . . . . . . . . . . . . . . . . . . . . . . .163 msurarea lungimii sculei . . . . . . . . . . . . 164 mers n jurul colurilor ascuite . . . . . . . . . 93 mers prin exteriorul unui col . . . . . . . .79-82 mod DNC . . . . . . . . . . . . . . . . . . . . . . . . . .11 modificri ale compensrilor sculei . . . . . .68 numr de scul . . . . . . . . . . . . . . . .15, 57, 58 numr program . . . . . . . . . . . . . . . . . . . . . .10 nume program . . . . . . . . . . . . . . . . . . . . . . 10 operaii logice . . . . . . . . . . . . . . . . . . . . . .193 oprire precis . . . . . . . . . . . . . . . . . . . 37, 185 oprire programat . . . . . . . . . . . . . . . . . . . .58 Parametri A(9030) . . . . . . . . . . . . . . . . . . . . . . . . . . 174 ACC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 ACC6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 ACCDIST . . . . . . . . . . . . . . . . . . . . . . . . . 38 ACCO. . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 ADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 ALADIST . . . . . . . . . . . . . . . . . . . . . . . . 165 ANGLAL . . . . . . . . . . . . . . . . . . . . . . .95, 97 AXIS1. . . . . . . . . . . . . . . . . . . . . . . . . . . .183 B(9031) . . . . . . . . . . . . . . . . . . . . . . . . . . 174 C(9032) . . . . . . . . . . . . . . . . . . . . . . . . . . 174 CDIR6. . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 CHBFMOVE . . . . . . . . . . . . . . . . . . . . . .168 CIRCOVER . . . . . . . . . . . . . . . . . . . . . . . .38 CLEG83 . . . . . . . . . . . . . . . . . . . . . .143, 151 CODES . . . . . . . . . . . . . . . 21, 22, 29, 33, 50 CORNANGLE . . . . . . . . . . . . . . . . . . . . . 38 CORNOVER . . . . . . . . . . . . . . . . . . . . . . .38 CUTTING2. . . . . . . . . . . . . . . . . . . . . . . .184 DECDIST . . . . . . . . . . . . . . . . . . . . . . . . . 38 DELTV. . . . . . . . . . . . . . . . . . . . . . . . . . . .93 EXTER . . . . . . . . . . . . . . . . . . . . . . . . . . .166 FEED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 G(901n) . . . . . . . . . . . . . . . . . . . . . . . . . . 172 G31FD . . . . . . . . . . . . . . . . . . . . . . . . . . .163 G37FD . . . . . . . . . . . . . . . . . . . . . . . . . . .164 I_LINE . . . . . . . . . . . . . . . . . . . . . . .180, 181 INDEX-C1 . . . . . . . . . . . . . . . . . . . . . . . . .53 INDEX1 . . . . . . . . . . . . . . . . . . . . . . .53, 153 INPOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 INTERFER . . . . . . . . . . . . . . . . . . . . . . . . 94 LIMP2n. . . . . . . . . . . . . . . . . . . . . . . . . . .166 M(9001) . . . . . . . . . . . . . . . . . . . . . . . . . .173 M(9020) . . . . . . . . . . . . . . . . . . . . . . . . . .173 204

. M-NUMB1 . . . . . . . . . . . . . . . . . . . . . 53, 54 MD8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 MD9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 MODGEQU . . . . . . . . . . . . . . . . . . . . . . .172 MULBUF . . . . . . . . . . . . . . . . . . . . . . . . . .20 O_LINE. . . . . . . . . . . . . . . . . . . . . . . . . . .181 ORIENT1 . . . . . . . . . . . . . .53, 148, 158, 159 POSCHECK . . . . . . . . . . . . . . . . . . . . . . . .21 PRNT . . . . . . . . . . . . . . . . . . . . . . . . . . . .198 PRTCNTM. . . . . . . . . . . . . . . . . . . . . 58, 186 PRTREQRD . . . . . . . . . . . . . . . . . . . . . . .186 PRTTOTAL . . . . . . . . . . . . . . . . . . . . . . .186 RADDIF . . . . . . . . . . . . . . . . . . . . . . . . . . .25 RAPDIST . . . . . . . . . . . . . . . . . . . . .164, 165 RAPID6. . . . . . . . . . . . . . . . . . . . . . . . . . . 54 REFPOS . . . . . . . . . . . . . . . . . . . . . . . . . . .41 RETG73. . . . . . . . . . . . . . . . . . . . . . 143, 146 S(9033) . . . . . . . . . . . . . . . . . . . . . . . . . . .174 SECOND. . . . . . . . . . . . . . . . . . . . . . . . . . 39 SKIPF . . . . . . . . . . . . . . . . . . . . . . . . . . . .163 STRKEG. . . . . . . . . . . . . . . . . . . . . . . . . .166 T(9034) . . . . . . . . . . . . . . . . . . . . . . . . . . 174 TAPDWELL . . . . . . . . . . . . . . . . . . 147, 152 TEST FEED. . . . . . . . . . . . . . . . . . . . . . . . 28 WRPROT1 . . . . . . . . . . . . . . . . . . . . . . . .179 plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 plan de poziionare . . . . . . . . . . . . . . . . . .140 plan principal . . . . . . . . . . . . . . . . . . . .49, 50 poziia unei guri . . . . . . . . . . . . . . . . . . . 142 prelucrarea colurilor . . . . . . . . . . . . . . . . . 36 program pies . . . . . . . . . . . . . . . . . . . . . . . .9 program principal . . . . . . . . . . . . . . . . . . . .10 punct de referin . . . . . . . . . . . . . .13, 40, 41 punct iniial . . . . . . . . . . . . . . . . . . . 140, 142 punct intermediar . . . . . . . . . . . . . . . . .41 punct R . . . . . . . . . . . . . . . . . . . . . . . . . . .140 punct zecimal . . . . . . . . . . . . . . . 30, 197-199 ramificare condiionat . . . . . . . . . . . . . . 193 ramificare necondiionat . . . . . . . . . . . . .193 rcire . . . . . . . . . . . . . . . . . . . . . . . 15, 58, 59 Reacie de poziie . . . . . . . . . . . . . . . . . . . .53 reducere avans . . . . . . . . . . . . . . . . . . . . . . 38 reprezentri numerice . . . . . . . . . . . . . . . .178 retragere . . . . . . . . . . . . . . . . . . . . . .140, 143 reinere vector . . . . . . . . . . . . . . . . . . . . . . 86 RS232C . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 scalarea (modificarea la scar) . . . . . . . . . .99 selectarea planului . . . . . . . . . . . . . . . .43, 49

Index n ordine alfabetic sfrit de curs . . . . . . . . . . . . . . . . . . . . . 167 sfrit de program . . . . . . . . . . . . . . . . 10, 58 sistem de coordonate de lucru . . . . . . . . . . 44 sistem de coordonate . . . . . . . . . . . . . . . . . 13 al mainii . . . . . . . . . . . . . . . . . . . . 43 al piesei . . . . . . . . . . . . . . . . . . . . 183 de lucru . . . . . . . . . . . . . . . . . . . . . .44 local . . . . . . . . . . . . . . . . . . . . . . . . 48 ofset comun . . . . . . . . . . . . . . . . . . 46 Transformri . . . . . . . . . . . . . . . . . 98 sistem de increment .. . . . . . . . .16, 30, 34, 66 de ieire . . . . . . . . . . . . . . . . . . . . . 17 de intrare . . . . . . . . . . . . . . . . . . . . 17 sistem metric . . . . . . . . . . . . . . . . . . . . . . . 29 specificare de coordonat incremental . . .14 specificare de coordonate absolut . . . . . . 13 starea STOP . . . . . . . . . . . . . . . . . . .158, 160 stop condiional . . . . . . . . . . . . . . . . . . . . . 58 STOP . . . . . . . . . . . . . . . . . . . . . . . . 162, 201 butoane de . . . . . . . . . . . . . . . . . . .36 inhibare . . . . . . . . . . . . . . . . . . . . . 32 programat . . . . . . . . . . . . . . . . . . . .58 Subprogram. . . . . . . . . . . . . . . .10, 58, 60, 88 succesiunea de executare . . . . . . . . . . . . . .59 transformri . . . . . . . . . . . . . . . . . . . . . 88, 98 uniti . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 uniti de intrare pentru msur . . . . . . . . .16 uniti de msur de ieire . . . . . . . . . . . . . 16 valori limit pentru adresa L . . . . . . . . . . . 61 valori limit pentru adresa P . . . . . . . . 60, 62 valori limit . . . . . . . . . . . . . . . . . . . . . . . . . 9 valorile de compensare pentru scul . . . . 182 variabil . . . . . . . . . . . . . . . . . . . . . . . . . . 177 comun . . . . . . . . . . . . . . . . . . . . .179 cu valoare 0 . . . . . . . . . . . . . . . . .178 global . . . . . . . . . . . . . . . . . . . . . 174 local . . . . . . . . . . . . . . . . . . .175-177 vacant . . . . . . . . . . . . . . . . . . . . .178 variabile . . . . . . . . . . . . . . . . . . . . . . . . . . 179 locale . . . . . . . . . . . . . . . . . . . . . . 179 vacante . . . . . . . . . . . . . . . . . . . . .178 variabilele de sistem . . . . . . . . . . . . . . . . .180 zero din faa punctului zecimal . . . . . . . . . 30

205

206

Vous aimerez peut-être aussi