Sunteți pe pagina 1din 200

NCT 99M

NCT 2000M
Comenzi numerice pentru maini de frezat
i centre de prelucrare

Manualul programatorului

Produs al firmei NCT Automation kft.


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

Cuprins
1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Programul pies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cuvnt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lista de adrese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bloc (linie de program) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numr de program i Nume de program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
nceput de program i Sfrit de program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formatul programului n memorie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formatul programului n comunicaia cu dispozitivele externe. . . . . . . . . . . . . . .
Program principal i subprogram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Canal DNC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Termeni fundamentali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9
9
9
9
10
10
10
10
10
10
11
12

2 Axele controlate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Numele axelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Sistemul de uniti i incremente ale axelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17
17
17

3 Funcii pregtitoare (coduri G) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

4 Interpolarea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Poziionarea (G00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Interpolarea liniar (G01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Interpolarea circular i spiral (G02, G03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Interpolarea elicoidal (G02, G03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Filetarea cu pas constant (G33). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Interpolarea n coordonate polare (G12.1, G13.1) . . . . . . . . . . . . . . . . . . . . . . . . .
4.7 Interpolarea cilindric (G7.1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22
22
22
24
27
29
31
35

5 Datele de intrare pentru coordonate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


5.1 Programarea absolut i incremental (G90, G91), operatorul I. . . . . . . . . . . . . . .
5.2 Comanda pentru date n coordonate polare (G15, G16) . . . . . . . . . . . . . . . . . . . . .
5.3 Conversia inci/metric (G20,G21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Specificare i gama de valori a datelor de coordonat . . . . . . . . . . . . . . . . . . . . . .
5.5 Reducerea msurii axelor de rotaie la 0360 . . . . . . . . . . . . . . . . . . . . . . . . . . .

38
38
38
40
40
41

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

45
45
45
46
47
48
49
49
49
50
50
50
3

6.4.6 Corecia tierii circulare interioare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

7 ntrzierea (G04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

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

53
53
54
54

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

56
56
56
56
57
57
58
59
59
60
62

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

64
64
64
65
65
66
66
66
67
67

11 Funcia schimbare scul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


11.1 Comanda de selectare scul (codul T). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2 Formatul de program pentru programarea numrului sculei . . . . . . . . . . . . . . . .

70
70
70

12 Funcii diverse (M) i auxiliare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


12.1 Funcii diverse (coduri M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2 Funcii auxiliare (coduri A, B, C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Succesiunea de executare a funciilor M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

72
72
73
73

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

74
74
74
74
74
75
77

14 Compensarea sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.1 Referirea la valorile de compensare a sculei (H i D). . . . . . . . . . . . . . . . . . . . . .
14.2 Modificarea valorilor de compensare a sculei din program (G10) . . . . . . . . . . . .
14.3 Compensarea lungimii sculei (G43, G44, G49) . . . . . . . . . . . . . . . . . . . . . . . . . .
14.4 Ofsetul sculei (G45G48). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5 Compensarea sculei (G38, G39, G40, G41, G42) . . . . . . . . . . . . . . . . . . . . . . . .
14.5.1 Pornirea compensrii sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.2 Reguli de compensare a sculei n modul ofset. . . . . . . . . . . . . . . . . . . . . . .
14.5.3 Anularea modului ofset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.4 Schimbarea direciei ofsetului n modul ofset. . . . . . . . . . . . . . . . . . . . . . .
14.5.5 Programarea reinerii vectorului (G38) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.6 Programarea arcelor de col (G39) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.7 Informaii generale privind executarea compensrii sculei. . . . . . . . . . . . .
14.5.8 Interferene la compensarea sculei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.6 Ofsetul tridimensional al sculei (G41, G42) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.6.1 Programarea ofsetului tridimensional al sculei (G40, G41, G42)
14.6.2 Vectorul de ofset tridimensional

78
78
79
80
81
85
87
91
95
97
99
100
101
107
112
112
113

15 Transformri speciale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.1 Rotaia sistemului de coordonate (G68, G69) . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 Modificarea la scar (G50, G51) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3 Imagine n oglind programabil (G50.1, G51.1) . . . . . . . . . . . . . . . . . . . . . . . .
15.4 Reguli de programare a transformrilor speciale. . . . . . . . . . . . . . . . . . . . . . . . . .

114
114
116
117
118

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

120
120
121
131
131
124
127
129
131

17 Cicluri memorate pentru gurire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


17.1 Descrierea detaliat a ciclurilor memorate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1.1 Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului (G73)
17.1.2 Ciclu de filetare n sens antiorar (G74) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1.3 Ciclu de alezare fin (G76) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1.4 Ciclu memorat pentru anularea guririi (G80) . . . . . . . . . . . . . . . . . . . . . .
17.1.5 Gurire, ciclu de alezare parial (G81) . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1.6 Gurire, ciclu de alezare la retragere (G82) . . . . . . . . . . . . . . . . . . . . . . . .
17.1.7 Ciclu de gurire cu retrageri pentru ruperea panului (G83) . . . . . . . . . . .
17.1.8 Ciclu de filetare cu tarod (G84) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1.9 Cicluri de filetare rigid cu tarod (n sens orar i antiorar) (G84.2, G84.3)
17.1.10 Ciclu de alezare (G85) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1.11 Ciclu de alezare cu retragerea sculei cu avans rapid (G86) . . . . . . . . . . .
17.1.12 Ciclu de alezare /ciclu de alezare la retragere (G87) . . . . . . . . . . . . . . . .
17.1.13 Ciclu de alezare (operare manual n punctul de fund) (G88) . . . . . . . . .

132
138
138
139
140
141
141
142
143
144
145
148
149
150
152

17.1.14 Ciclu de alezare (ntrziere n punctul de fund, retragere cu avans de


lucru) (G89) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.2 Note cu privire la folosirea ciclurilor memorate pentru gurire. . . . . . . . . . . . . .

153
153

18 Funcii de msurare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155


18.1 Funcia de salt (G31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
18.2 Msurarea automat a lungimii sculei (G37) . . . . . . . . . . . . . . . . . . . . . . . .
156
19 Funcii de siguran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.1 Verificarea programabil a cursei (G22,G23) . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.2 Poziiile de sfrit de curs parametrice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.3 Verificarea cursei naintea micrii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

158
158
159
160

20 Macro utilizator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.1 Apelul macro simplu (G65) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.2 Apel macro modal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.2.1 Apel macro modal n fiecare comand de micare (G66) . . . . . . . . . . . . .
20.2.2 Apel macro modal din fiecare bloc (G66.1) . . . . . . . . . . . . . . . . . . . . . . . .
20.3 Apelul macro utilizator folosind codul G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.4 Apelul macro utilizator folosind codul M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.5 Apelul de subprogram cu codul M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.6 Apelul de subprogram cu codul T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.7 Apelul de subprogram cu codul S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.8 Apelul de subprogram cu codurile A, B, C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.9 Diferene ntre apelul unui subprogram i apelul unui macro. . . . . . . . . . . . . . . .
20.9.1 Apeluri multiple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.10 Formatul corpului macro utilizator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.11 Variabile ale limbajului de programare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.11.1 Identificarea unei variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.11.2 Referirea la o variabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.11.3 Variabile vacante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.11.4 Formatul numeric al variabilelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.12 Tipuri de variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.12.1 Variabile locale (de la #1 la #33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.12.2 Variabile comune (de la #100 la #199, de la #500 la #599) . . . . . . . . . . .
20.12.3 Variabile de sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.13 Instruciuni ale limbajului de programare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.13.1 Definiie, nlocuire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.13.2 Operaii aritmetice i funcii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.13.3 Operaii logice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.13.4 Ramificare necondiionat: GOTOn. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.13.5 Ramificare condiionat: IF[<expresia condiiei>] GOTOn. . . . . . . . . . .
20.13.6 Instruciune condiionat: IF[<expresia condiiei>] THEN. . . . . . . . . . . .
20.13.7 Iteraie: WHILE[<expresia condiiei>] DOm ENDm . . . . . . . . . . . . .
20.13.8 Comenzi de ieire date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.14 Instruciuni NC i instruciuni macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.15 Desfurarea n timp a execuiei instruciunilor NC i macro. . . . . . . . . . . . . . .
20.16 Afiarea macro i a subprogramelor n modul automat . . . . . . . . . . . . . . . . . . .
20.17 Folosirea butonului STOP n timpul execuiei unei instruciuni macro . . . . . . .
20.18 Ciclul macro de frezare n adncime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

161
161
162
162
163
164
164
165
166
166
166
167
167
169
169
169
169
170
170
171
171
171
172
180
180
181
184
185
185
185
185
188
191
191
192
192
193

Note. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

197

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

198

27 Noiembrie 2001

Copyright NCT 22martie, 2001


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

1 Introducere

1 Introducere
1.1 Programul pies
Programul pies este un set de instruciuni care pot fi interpretate de ctre comanda numeric
pentru a putea controla operarea mainii.
Programul pies const din blocuri, care sunt compuse din cuvinte.
Cuvnt: Adres i Dat
Fiecare cuvnt este alctuit din dou pri o adres i o dat. Adresa are unul sau mai multe
caractere, data este o valoare numeric (un ntreg sau o valoare zecimal). Anumitor adrese li
se poate da un semn sau un operator I.
Lista de adrese:
Adresa

Semnificaie

numr program

bloc opional

numrul blocului

funcie pregtitoare

X, Y, Z, U, W
A, B, C
R
I, J, K

Limitele valorii
0001 - 9999
1-9
1 - 99999
*

lungimile coordonatelor
coordonate unghiulare, lungimile coordonatelor, funcii
auxiliare

I, -, *

raz cerc, dat auxiliar

I, -, *

I, -, *

coordonatele centrului cercului, coordonat auxiliar

-, *

coordonat auxiliar

-, *

vitez de avans

vitez de rotire arbore

funcii diverse

1 999

numr scul

1 9999

H, D

numrul celulei de compensare lungime i raz

1-99

numr de repetri

dat auxiliar, timp de ntrziere

-, *

dat auxiliar

-, *

,C

distan de teire

-, *

,R

raza de filetare

-, *

,A

unghiul n linie dreapt

-, *

comentariu

1 - 9999

La o adres marcat cu * n coloana Limitele valorii, data poate avea i o valoare cu


zecimale.
La o adres marcat cu I i - , se poate introduce fie un operator incremental fie un semn.
9

1 Introducere

Semnul pentru valoare pozitiv + nu este indicat i nici nu se memoreaz.


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

/1N12345G1X0Y... /
)

G2Z5... /
)

n secvena de caractere de mai sus,


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

10

.... /
)

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

Prescurtrile de mai sus au urmtoarele semnificaii (i codurile lor ASCII):


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

11

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

Micarea sculei pe un arc:


Program:
G02 X___ Z___ R___

Funcii pregtitoare (coduri G)


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

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

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

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

13

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

Specificarea coordonatei incrementale


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

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

15

1 Introducere

Compensarea razei sculei


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

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

16

2 Axele controlate

2 Axele controlate
Numrul de axe (n configuraia de baz)

3 axe

n configuraie extins

5 axe adiionale (8 axe n total)

Numrul de axe care pot fi micate simultan

8 axe (cu interpolare liniar)

2.1 Numele axelor


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

2.2 Sistemul de uniti i incremente ale axelor


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

17

2 Axele controlate

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

IS-A

IS-B

IS-C

18

Unitatea minim care poate fi


introdus

Unitatea maxim care poate fi


introdus

0.01 mm

999999.99 mm

0.001 inci

99999.999 inci

0.01 grade

999999.99 grade

0.001 mm

99999.999 mm

0.0001 inci

9999.9999 inci

0.001 grade

99999.999 grade

0.0001 mm

9999.9999 mm

0.00001 inci

999.99999 inci

0.0001 grade

9999.9999 grade

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

Grupa

G00*

Funcia

Pagina

Poziionare

22

Interpolare liniar

22

Interpolare circular, elicoidal n sens orar (CW)

24

G03

Interpolare circular, elicoidal n sens antiorar (CCW)

24

G04

ntrziere

51

G05.1

Modul multi bufer activ

G01*
G02

G07.1

01

Interpolare cilindric

35

Oprire precis (n blocul dat)

48

G10

Impunere dat (programat)

58, 78

G11

Anulare impunere dat programat

G09

G12.1
G13.1
G15*
G16

00

26
17

G17*
G18*

02

G19
G20
G21
G22*
G23
G25*
G26

06
04
8

G28
G29
G30

G31
G33

01

G37
G38
G39

00

Interpolarea n coordonate polare activat

31

Interpolarea n coordonate polare dezactivat

31

Anulare comand de coordonate polare

38

Comand de coordonate polare

38

Selectarea planului XpYp

61

Selectarea planului ZpXp

61

Selectarea planului YpZp

61

Intrare n inci

40

Intrare n metric

40

Activarea funciei de verificare programabil a cursei

157

Dezactivarea funciei de verificare programabil a cursei

157

Dezactivarea deteciei fluctuaiei vitezei arborelui

66

Activarea deteciei fluctuaiei vitezei arborelui

66

ntoarcere programat n punctul de referin

52

Revenire din punctul de referin

53

Revenire la primul, al doilea, al treilea i al patrulea punct de referin

53

Funcia de salt

154

Filetare

29

Msurarea automat a lungimii sculei pe Z

155

Reinerea vectorului de compensare a sculei

99

Compensarea sculei la arcele de col

99

19

3 Funcii pregtitoare (coduri G)


Cod G

Grupa

G40*
G41

Funcia
Anularea compensrii razei / tridimensionale a sculei

07

G42
G43*

.
Pagina
84

Compensarea razei sculei la stnga / compensarea tridimensional a sculei

84, 87

Compensarea razei sculei la dreapta

84, 87

Compensarea lungimii sculei +

79

Compensarea lungimii sculei -

79

G45

Creterea ofsetului sculei

80

G46

Descreterea ofsetului sculei

80

G47

Creterea dubl a ofsetului sculei

80

G48

Descreterea dubl a ofsetului sculei

80

Anularea compensrii lungimii sculei

79

Anulare modificare la scar

115

Modificare la scar

115

Anulare imagine n oglind programabil

116

Imagine n oglind programabil

116

Impunere sistem de coordonate local

59

Poziionare n sistemul de coordonate al mainii

56

G54*

Selectare sistem de coordonate de lucru 1

57

G55

Selectare sistem de coordonate de lucru 2

57

Selectare sistem de coordonate de lucru 3

57

Selectare sistem de coordonate de lucru 4

57

G58

Selectare sistem de coordonate de lucru 5

57

G59

Selectare sistem de coordonate de lucru 6

57

G61

Modul tiere precis

48

Modul corecie automat la col

49

Inhibare corecii

49

G64*

Tiere continu

49

G65

Apel macro simplu

160

G66

Apel macro modal (A) n fiecare comand de micare

161

G66.1

Apel macro modal (B) din fiecare bloc

162

G67

Anulare apel macro modal (A/B)

161

Rotire sistem de coordonate

114

Anulare rotire sistem de coordonate

114

Ciclu de gurire cu vitez mare i retrageri pentru ruperea panului

137

Ciclu de filetare n sens antiorar

139

Ciclu de alezare fin

140

Anulare ciclu memorat

141

G44*

G49*
G50*
G51
G50.1*
G51.1
G52
G53

G56
G57

G62
G63

G68
G69*

08

08
11
18
00

14

15

16

G73
G74
G76
G80*

20

01

3 Funcii pregtitoare (coduri G)


Cod G

Grupa

Funcia

Pagina

G81

Gurire, ciclu de alezare parial

141

G82

Gurire, ciclu de alezare la retragere

142

G83

Ciclu de gurire cu retrageri pentru ruperea panului

143

G84

Ciclu de filetare cu tarod

144

G84.2

Ciclu de filetare rigid cu tarod

145

G84.3

Ciclu de filetare rigid cu tarod n sens antiorar

145

G85

Ciclu de alezare

148

G86

Ciclu de alezare cu retragerea sculei cu avans rapid

149

G87

Ciclu de alezare /ciclu de alezare la retragere

150

G88

Ciclu de alezare (operare manual n punctul de fund)

152

G89

Ciclu de alezare (ntrziere n punctul de fund, retragere cu avans de lucru)

153

Comand absolut

38

Comand incremental

38

Schimbare coordonate de lucru \ impunere turaie maxim arbore

58

Avans pe minut

45

Avans pe rotaie

45

Controlul vitezei periferice constante

64

Anularea controlului vitezei periferice constante

64

Revenirea sculei la nivelul iniial dup execuia ciclului memorat

133

Revenirea sculei la nivelul punctului R dup execuia ciclului memorat

133

G90*
G91*
G92
G94*
G95*
G96
G97*
G98*
G99

03
00
05
13

10

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

21

4 Interpolarea

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

22

4 Interpolarea

Avansul pe axa Y este


.
Avansul pe axa U este

Avansul pe axa C este


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

G01 X192 Y80 F150

Avansul de-a lungul unei axe de rotaie este


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

avansul pe B

23

4 Interpolarea

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

Aceste serii de instruciuni specific interpolarea circular.


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

Aici i pe mai departe, semnificaiile pentru Xp, Yp, i Zp sunt:


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

24

4 Interpolarea

Alte 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 diferite cu
raza R ntre punctele de nceput i cel de sfrit
pentru o direcie de parcurgere dat (G02 sau
G03), comanda numeric va interpola un arc mai
mic sau mai mare de 180 cnd raza cercului este
specificat ca numr pozitiv sau respectiv numr
negativ. De exemplu:
Seciunea de arc 1: G02 X50 Y40 R40
Seciunea de arc 2: G02 X50 Y40 R-40
Seciunea de arc 3: G03 X50 Z40 R40
Seciunea de arc 4: G03 X50 Z40 R-40
Cazul2
Centrul cercului este specificat la adresele I, J, K pentru axele Xp, Yp, i Zp. Valorile
specificate la adresele I, J, K sunt interpretate ntotdeauna ca incrementale de ctre comanda
numeric, astfel c vectorul definit cu valorile punctelor I, J, K este ndreptat din punctul de
nceput ctre centrul cercului. De exemplu:
Cu G17: G03 X10 Y70 I-50 J-20
Cu G18: G03 X70 Z10 I-20 K-50
Cu G19: G03 Y10 Z70 J-50 K-20

25

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

26

4 Interpolarea

Urmtorul detaliu de program este un exemplu de cum


se poate specifica o interpolare spiral (cerc cu raz
variabil) prin folosirea adreselor I, K:
G17 G90 G0 X50 Y0
G3 X-20 I-50

Dac raza specificat a cercului este mai mic dect


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

4.4 Interpolarea elicoidal (G03, G02)

Aceste serii de instruciuni vor defini o interpolare elicoidal.


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

27

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

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

Seria de instruciuni

definete o interpolare spaial multidimensional n care q, r, s sunt axe opionale care nu


sunt implicate n interpolarea circular.
De exemplu, seria de instruciuni
G17 G3 X0 Y-100 Z50 V20 I-100

va deplasa scula pe suprafaa unui cilindru


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

28

4 Interpolarea

- Compensarea specificat pentru raza sculei se va face invariabil n planul cercului.


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

Comanda numeric este sincronizat la pulsul de zero al codorului arborelui principal n


primul bloc, aa c nu se va mai executa nici o sincronizare n blocurile consecutive i va
rezulta un filet continuu n fiecare seciune a liniilor. Tot n primul bloc se ia n consideraie
i unghiul nceputului filetului (Q) programat.

29

4 Interpolarea
Un exemplu de programare a filetrii:
N50
N55
N60
N65
N70
N75
N80
N85
N90
...

G90 G0 X0 Y0 S100 M4
Z2
G33 Z-100 F2
M19
G0 X5
Z2 M0
X0 M4
G4 P2
G33 Z-100 F2

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

30

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

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


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

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

31

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

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

G18 Z_ B_
G12.1
...
G2 (G3) B_ Z_ I_ K_

G19 Y_ A_
G12.1
...
G2 (G3) Y_ A_ J_ K_

Folosirea compensrii razei sculei n cursul interpolrii n coordonate polare


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

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


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

33

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


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

34

4.7 Interpolarea cilindric (G7.1)


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

35

4.7 Interpolarea cilindric (G7.1)


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

Ordinea axelor care se


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

36

4.7 Interpolarea cilindric (G7.1)


N140
N150
N160
N170
N180
...
%

G2 Z-10 C335 R35


G1 C360
G40 Z-20
G7.1 C0
(dezactivare interpolare cilindric)
G0 X100

37

5 Datele de intrare pentru coordonate

5 Datele de intrare pentru coordonate


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

Operatorul I va fi activ n condiiile specificrii absolute a datei. Acesta se aplic doar la


coordonata a crei adres o precede i semnific o dat incremental. Modul alternativ de a
rezolva exemplul de mai sus este.
(G90) G01 XI-40 YI30
G01 X20 YI30
G01 XI-40 Y50

5.2 Comanda pentru date n coordonate polare (G15, G16)


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

38

5 Datele de intrare pentru coordonate


Exemplu:
G90 G16 G01 X100 Y60 F180

Att raza ct i unghiul sunt date


absolute, scula se deplaseaz n
punctul 100mm, 60 .
G90 G16 G01 X100 Y40 F180

Unghiul este dat incremental.


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

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

39

5 Datele de intrare pentru coordonate

Exemplu de frezare a unui hexagon:


N1
N2
N3
N4
N5
N6
N7
N8

G90 G17 G0 X60 Y0 F120


G16 G1 Y60
Y120
Y180
Y240
Y300
Y360
G15 G0 X100

5.3 Conversia inci/metric (G20,G21)


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

40

5 Datele de intrare pentru coordonate

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


Unitate de
intrare

Unitate de
ieire

Sistemul de
increment
IS-A

mm

mm

IS-B

0.001 - 99999.999

IS-C

0.0001 - 9999.9999

IS-A

0.001 39370.078

IS-B

0.0001 - 3937.0078

IS-C

0.00001 - 39370.078

IS-A

0.001 - 99999.999

IS-B

0.0001 - 9999.9999

IS-C

0.00001 - 999.99999

IS-A

0.01 - 999999.99

IS-B

0.001 - 99999.999

IS-C

0.0001 - 9999.9999

inci

mm

inci

inci

mm

inci

Valoarea gamei
lungimilor coordonatelor
0.01 - 999999.99

Unitatea de
msur
mm

inci

inci

mm

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


Sistemul de increment

Unitatea minim care poate fi introdus

IR-A

0.01 - 999999.99

IR-B

0.001 - 99999.999

IR-C

0.0001 - 9999.9999

Unitatea de msur
grade

5.5 Reducerea msurii axelor de rotaie la 0360


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

41

5 Datele de intrare pentru coordonate

Validarea folosirii reducerii msurii axelor de rotaie la 0360


Funcia este activat prin impunerea parametrului 0241 ROLLOVEN_A, 0242
ROLLOVEN_B sau 0243 ROLLOVEN_C pentru axele A, B sau respectiv C, dac aceste
axe sunt de rotaie. Dac parametrul ROLLOVEN_x este
=0 : axa de rotaie este considerat ca o ax liniar i impunerea parametrilor consecutivi nu
are efect,
=1 : se aplic folosirea reducerii msurii axelor de rotaie la 0360 pentru axa de rotaie, a
crei semnificaie se va prezenta mai jos.
Specificarea traiectoriei prin reducerea msurii axelor de rotaie la 0360
Traiectoria axei este definit pentru o rotaie 0360 la parametrul 0261 ROLLAMNT_A,
0262 ROLLAMNT_B sau 0263 ROLLAMNT_C n increment de intrare pentru axele A, B
sau respectiv C. Astfel dac comanda numeric lucreaz n sistemul de incremente B i axa
se rotete 360 pentru o rotaie 0360, valoarea care trebuie nscris la parametrul respectiv
este 360000.
Prin intermediul impunerii de parametri de mai sus comanda numeric va afia ntotdeauna
poziia axei de rotaie n gama 0 +359.999 independent de direcia de rotire i de
numrul de rotaii.

42

5 Datele de intrare pentru coordonate

Deplasarea axei de rotaie n cazul programrii absolute


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

Bloc programat prin


introducere de
coordonat absolut

Deplasarea executat prin


acest bloc

C=0

0246 ABSHORT_C=0
deplasarea se face
ntotdeauna n direcia
semnului programat la
adresa C

G90 C450

90

C=90

G90 C0 (0 este un
numr pozitiv!)

270

C=0

G90 C-90

-90

C=270

G90 C-360

-270

C=0
C=0

0246 ABSHORT_C=1
deplasarea se face
ntotdeauna pe drumul
cel mai scurt

Poziia la sfritul
blocului

G90 C450

90

C=90

G90 C0

-90

C=0

G90 C-90

-90

C=270

G90 C-360

90

C=0

43

5 Datele de intrare pentru coordonate

Deplasarea axei de rotaie n cazul programrii incrementale


n cazul introducerii de date incrementale, direcia de micare este ntotdeauna n acord cu
semnul programat.
Parametrul corespunztor ROLLAMNT_x care s fie aplicat pentru impunerea micrii
poate fi impus la parametrul 0247 RELROUND_A, 0248 RELROUND_B respectiv 0249
RELROUND_C. Dac parametrul corespunztor ROLLAMNT_x este
=0 : parametrul ROLLAMNT_x este dezactivat, adic deplasarea poate fi mai mare dect
360
=1 : parametrul ROLLAMNT_x este activ. Dac de exemplu ROLLAMNT_C=360000
(360), deplasare maxim este de 359.999.
0188 C.ROTARY=1
0243 ROLLOVEN_C=1
0263 ROLLAMNT_C=
=360000

Bloc programat prin


introducere de
coordonat absolut

Deplasarea executat
prin acest bloc

C=0

0249 ROLLAMNT _C=0


parametrul ROLLAMNT_C
este dezactivat

G91 C450

450

C=90

G91 C0

C=90

G91 C-90

-90

C=0

G91 C-360

-360

C=0
C=0

0249 ROLLAMNT _C=1


parametrul ROLLAMNT_C
este activ

44

Poziia la sfritul
blocului

G91 C450

90

C=90

G91 C0

C=90

G91 C-90

-90

C=0

G91 C-360

C=0

6 Avansul

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

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

6 Avansul

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

46

6 Avansul
Tabelul urmtor prezint gama maxim a valorilor programabile la adresa F, pentru diferite
cazuri.
Uniti de
intrare

mm

inci

inci

mm

Uniti de
ieire

mm

mm

inci

inci

Sistem de
increment

Gama valorii la adresa F

IS-A

0.001 - 250000

IS-B

0.0001 25000

IS-C

0.00001 2500

IS-A

0.0001 5000

IS-B

0.00001 500

IS-C

0.000001 50

IS-A

0.0001 9842.5197

IS-B

0.00001 - 984.25197

IS-C

0.000001 - 98.425197

IS-A

0.00001 196.85039

IS-B

0.000001 19.685039

IS-C

0.0000001 1.9685039

IS-A

0.0001 25000

IS-B

0.00001 2500

IS-C

0.000001 250

IS-A

0.00001 500

IS-B

0.000001 50

IS-C

0.0000001 5

IS-A

0.001 - 250000

IS-B

0.0001 25000

IS-C

0.00001 2500

IS-A

0.0001 5000

IS-B

0.00001 500

IS-C

0.000001 50

Unitate
mm sau
grade/min

mm sau
grade/rot

inci sau
grade/min

inci sau
grade/rot

inci sau
grade/min

inci sau
grade/rot

mm sau
grade/min

mm sau
grade/rot

6.2.2 Limitarea superioar a avansului de prelucrare


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

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

n micrile de avans, valoarea avansului


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

48

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

49

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

50

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

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

51

7 ntrzierea

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

52

8 Punctul de referin

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

8.1 Revenirea automat n punctul de referin (G28)


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

53

8 Punctul de referin

8.2 Revenirea automat n punctele de referin 2, 3, 4 (G30)


Seria de instruciuni
G30 v P
va trimite axele de coordonate definite la adresele vectorului v n punctul de referin definit
la adresa P.
P1 = punctul de referin 1
P2 = punctul de referin 2
P3 = punctul de referin 3
P4 = punctul de referin 4
Punctele de referin sunt poziii speciale definite prin parametri (REFPOS1, , REFPOS4)
n sistemul de coordonate al mainii, folosite pentru poziiile de schimbare, de exemplu
poziii pentru schimbare de scul. Primul punct de referin este n mod invariabil poziia
punctului de referin al mainii, adic punctul n care se face deplasarea atunci cnd se face
ntoarcerea n punctul de referin.
Instruciunea se poate aplica doar dup ce s-a executat ntoarcerea n punctul de referin.
Micarea se face n dou etape. La nceput se vor deplasa axele cu micare liniar i avans
rapid n coordonatele intermediare definite prin vectorul v. Coordonatele specificate pot fi
valori absolute sau incrementale. Deplasarea se face invariabil n sistemul de coordonate
curent. Cnd se atinge punctul final al deplasrii liniare, este ters vectorul de compensare a
sculei. Coordonatele punctului intermediar vor fi stocate n sistemul de coordonate curent
pentru axele definite de vectorul v. Stocate n acest fel, coordonatele se vor suprascrie peste
cele stocate n instruciunea G28.
n a doua etap, axele definite prin vectorul v se vor deplasa cu avans rapid din punctul
intermediar n punctul de referin selectat la adresa P.
ntoarcerea n punctul de referin se face fr a se ine seama de vectorii de compensare
(lungime, ofset, ofseturi tridimensionale) care nu e nevoie s fie teri nainte de a se
introduce instruciunea G30, dar vor fi implementai de ctre comanda numeric atunci cnd
sunt programate urmtoarele micri. n primul bloc de micare se restabilete automat
compensarea sculei.
Nu este un cod modal.
8.3 Revenirea automat din punctul de referin (G29)
Instruciunea
G29 v
va comanda ntoarcerea din punctul de referin pe axele definite n vectorul v. Urmnd dup
G28 i G30, comanda G29 va fi executat n aceeai manier. Revenirea este ndeplinit n
dou etape.
n prima etap se va face deplasarea din punctul de referin n punctul intermediar
nregistrat n timpul execuiei instruciunii G28 sau G30, pentru axele definite prin vectorul
v. Coordonatele punctului intermediar sunt modale, cu alte cuvinte, comanda numeric va
lua n consideraie valorile anterioare dac se face referina pe o ax la care nu s-au transferat
coordonate n blocul G28 sau G30 care precede G29. Se va face deplasarea n punctul
intermediar innd cont de lungimea sculei, ofsetul sculei i compensarea tridimensional a
razei sculei. Coordonatele punctului intermediar sunt eficace invariabil n sistemul de
coordonate al piesei curente. n mod corespunztor, dac de exemplu s-a programat o
schimbare a sistemului de coordonate al piesei dup ntoarcerea n punctul de
54

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

55

9 Sisteme de coordonate, Selectarea planului

9 Sisteme de coordonate, Selectarea planului


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

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

56

9 Sisteme de coordonate, Selectarea planului


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

n modul de impunere se pot stabili locaiile diferitelor sisteme de coordonate de lucru n


sistemul de coordonate al mainii, i se pot face ofseturile corespunztoare.

57

9 Sisteme de coordonate, Selectarea planului

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

va deplasa sistemul n punctul X=60,


Y=40 al sistemului de coordonate de lucru
3.

58

9 Sisteme de coordonate, Selectarea planului


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

59

9 Sisteme de coordonate, Selectarea planului

Dac, de exemplu scula este la punctul


de coordonat X=150, Y=100, n
sistemul de coordonate X, Y actual
(curent), instruciunea
G92 X90 Y60

va crea un sistem de coordonate nou X,


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

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

9 Sisteme de coordonate, Selectarea planului


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

va crea un nou sistem de coordonate local


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

61

9 Sisteme de coordonate, Selectarea planului


Sistemul de coordonate local va avea ofset
n fiecare sistem de coordonate de lucru.
.

Programarea instruciunii G92 va terge ofseturile produse de ctre instruciunea G52 pe


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

i va schimba poziia la X=140, Y=80 n


sistemul de coordonate local X, Y.
Acum instruciunea
G92 X110 Y40

va stabili poziia sculei la X=110, Y=40


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

9 Sisteme de coordonate, Selectarea planului


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

va selecta planul XY, deplasnd axa Z n punctul de coordonat 100.


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

63

10 Funcia rotire arbore

10 Funcia rotire arbore


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

Viteza periferic constant trebuie s fie specificat n funcie de unitatea de intrare pe baza
urmtorului tabel:

64

Unitatea de intrare

Unitatea de vitez periferic constant

mm (G21 metric)

m/min

inci (G20 inci)

picior (feet) / min

10 Funcia rotire arbore


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

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

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

10 Funcia rotire arbore

10.2.3 Selectarea unei axe pentru controlul vitezei periferice constante


Axa n funcie de a crei poziie se calculeaz viteza periferic constant este selectat cu
parametrul 1182 AXIS. Numrul axei logice trebuie nscris la parametru.
Dac trebuie folosit o alt ax dect cea selectat, se poate specifica axa funcie de care
trebuie calculat viteza periferic constant cu ajutorul comenzii:
G96 P
Interpretarea pentru adresa P este:
P1: X, P2: Y, P3: Z,
P4: U, P5: V, P6: W,
P7: A, P8: B, P9: C
- Valoare impus la adresa P este modal. Dup punerea sub tensiune se va activa ca ax
funcie de a crei poziie se calculeaz viteza periferic constant, axa impus la
parametrul AXIS.
10.3 Reacia de poziie a arborelui
n prelucrarea normal comanda numeric va produce o comand a vitezei pentru variatorul
de turaie al arborelui, proporional cu viteza programat (valoarea specificat la adresa S).
Acum, acest variator va lucra n modul de control al vitezei.
Totui, anumite procese tehnologice necesit ca arborele s fie adus ntr-o anumit poziie
unghiular. Aceasta se numete poziionarea arborelui sau indexare.
Anterior poziionrii, comanda numeric va trece variatorul arborelui n modul de control al
poziiei. n practic aceasta nseamn c n locul unui comenzi a vitezei proporionale cu
codul S, comanda numeric va msura poziia arborelui cu ajutorul unui codor de poziie
montat pe arbore i va produce o comand ctre variator n concordan cu deplasarea
unghiular dorit (similar cu restul axelor controlate). Aceasta este reacia de poziie.
Pentru a fi posibil poziionarea arborelui, pe o anumit main, este necesar ca s existe un
codor de poziie montat pe arbore i ca variatorul arborelui s fie capabil s opereze i n
modul cu reacie de poziie.
10.4 Oprirea orientat a arborelui
Orientarea arborelui i oprirea orientat a arborelui fac referire la funcionarea cu oprirea
arborelui ntr-o anumit poziie unghiular. Aceasta poate fi necesar de exemplu pentru o
schimbare automat a sculei sau pentru executarea anumitor cicluri de gurire. Posibilitatea
orientrii pe o anumit main trebuie specificat cu parametrul ORIENTI, n parametri.
Comanda orientrii arborelui este activat cu funcia M19, dar se poate produce i de ctre
alte funcii depinznd de respectiva main unealt. Orientarea poate fi executat ntr-unul
din urmtoarele dou moduri :
- Dac arborele nu se poate folosi n modul de control al poziiei, orientarea se poate face
rotind arborele fa de un senzor de proximitate montat pe main.
- Dac arborele se poate folosi n modul de control al poziiei, la comanda M19 comanda
numeric va aduce arborele n poziia pulsului de zero al codorului de poziie. Comanda
numeric va nchide automat bucla de control a poziiei.

66

10 Funcia rotire arbore


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

parametru

5001 TIME

5002 SCERR

5003 FLUCT%

5004 FLUCTW

unitate

valoare
limit

100 ms

65535

tolerana vitezei specificate a arborelui

1-50

mrimea permis pentru fluctuaia vitezei


arborelui n procente din viteza programat
fluctuaia vitezei arborelui n valoare
absolut

1-50

rot/min

65535

semnificaie
timpul care a trecut de la lansarea unei noi
comenzi pentru viteza arborelui pn la
nceperea verificrii

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

67

10 Funcia rotire arbore


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

- viteza curent a arborelui nu a


atins valoarea specificat n
limita de toleran determinat
de valoarea q, dar a trecut
timpul determinat de valoarea
p din momentul comenzii.

68

10 Funcia rotire arbore


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

69

11 Funcia schimbare scul

11 Funcia schimbare scul


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

70

11 Funcia schimbare scul


Aceast procedur este descris n programul pies dup cum urmeaz:
Program pies

.Tnnnn

M06 Tmmmm

M06 Tpppp.

Explicaii
cutarea sculei Tnnnn
continu executarea programului pies, cutarea sculei se execut n
fundal
scula Tnnnn este plasat pe arbore,
scula folosit anterior este reintrodus n magazie
se pornete cutarea sculei Tmmmm, n timp ce maina execut
prelucrare
scula Tmmmm este plasat pe arbore
scula Tnnnn este reintrodus n magazie, se pornete cutarea sculei
Tpppp
n acest timp se execut prelucrare

71

12 Funcii diverse i auxiliare

12 Funcii diverse (M) i auxiliare


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

12 Funcii diverse i auxiliare


M98= apelare subprogram (subrutin)
Va apela un subprogram (subrutin).
M99= sfrit subprogram (subrutin)
Va permite ca execuia programului s revin n locul de unde s-a fcut apelarea.
12.2 Funcii auxiliare (coduri A, B, C)
La fiecare din adresele A, B, C pot fi specificate maximum trei cifre dac una dintre ele (sau
toate) este selectat ca funcie auxiliar n parametri. Valoarea specificat pentru funcia
auxiliar va fi transferat ctre PLC.
Atunci cnd sunt programate ntr-un bloc o comand de micare i o funcie auxiliar,
funcia A, B, C va fi executat pe timpul sau dup executarea comenzii de micare. Modul de
execuie va fi definit de constructorul mainii.
De exemplu indexarea mesei se poate face la adresa B.
12.3 Succesiunea de executare a funciilor M
Funciile M scrise ntr-un anumit bloc vor fi executate de ctre comanda numeric n
urmtoarea succesiune:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Schimbare scul:
Apel scul:
Selectare treapt turaie:
Turaie arbore:
Control arbore:
Rcire:
Alte funcii M:
Indexare arbore:
Funcia A:
Funcia B:
Funcia C:
Coduri de control program:

M06
T
M11, ,M18
S
M03, M04, M05, M19
M07, M08, M09
Mnnn
Cu funcii M
A
B
C
M00, M01, M02, M30, M96, M97, M98, M99

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

73

13 Configurarea programului pies

13 Configurarea programului pies


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

74

13 Configurarea programului pies


program principal

subprogram

O0010

execuia programului
(principal) O0010

.....
.....
M98 P0011

---->

blocul urmtor

<----

....
....

comentariu

O0011
.....
.....
.....
M99

apelul subprogramului O0011

revenirea n programul
apelant
reluarea programului O0010

Seria de instruciuni
M98 P. L.
va apela subprogramul (specificat la adresa P) n mod repetat n succesiunea specificat la
adresa L. Limitele pentru adresa L sunt 1 i 9999. Dac nu se d o valoare pentru L,
subprogramul va fi apelat o singur dat, comanda numeric interpretnd L=1.
Instruciunea M98 P11 L6 semnific faptul c subprogramul 011 trebuie apelat n mod
repetat de ase ori.
Este posibil de asemenea s se apeleze un subprogram din alt subprogram. Apelurile de
subprograme din subprograme pot merge pn la nivelul 4.
program principal
subprogram subprogram subprogram subprogram
O0001
------>O0011
--->O0012
--->O0013
---> O0014

|
.
|
.
|

|
.
|
..
|

|
..
M98P11_____ |
M98P12__| M98P13__| M98P14__|
.
. <---- <--- <--- . <--.
.
|

|
|
.
|
.
M02
| _____ M99
|__ M99
|___M99
|___ M99
Note:
- dac este depit numrul de patru apeluri de subprograme din subprograme, este afiat
mesajul de eroare 3069 LEVEL EXCESS (depire nivel).
- dac este depit valoarea de 9999 pentru adresa P sau aceasta lipsete, este afiat mesajul
de eroare 3017 MISSING OR FAULTY P (P lips sau greit).
- dac valoarea pentru L este incorect, este afiat mesajul de eroare 3072 DEFINITION
ERROR L (eroare de definire L).
- dac este specificat cu un identificator la adresa P un program inexistent n memorie, este
afiat mesajul de eroare 3073 NOT EXISTING PROGRAM (program inexistent).
13.3.2 Revenirea dintr-un subprogram
Utilizarea instruciunii
M99
ntr-un subprogram semnific sfritul acelui subprogram i revenirea execuiei n programul
principal, la blocul urmtor celui din care s-a fcut apelul.

75

13 Configurarea programului pies


program principal
O0010
....
....
....
N101 M98 P0011

N102 ....

subprogram

.
comentariu
executarea programului O0010

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

N250 ...
...
...

subprogram

comentariu
executarea programului O0010

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

apelarea subprogramului O0011


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

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

76

13 Configurarea programului pies


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

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

O0011
...
M99 P225 __
...
|
...
|
N225 <----...

Posibilitatea apariiei ciclurilor fr sfrit poate fi evitat prin specificarea blocului


coninnd instruciunea M99 n forma /1 M99. Acum saltul va fi omis sau nu, funcie de
starea comutatorului de bloc condiionat.

77

14 Compensarea sculei

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

numr compensare
01
02
.
.
.

Cod H
geometrie
-350.200
830.500

uzur
0.130
-0102
.
.
.

Cod D
geometrie
uzur
-32.120
0.012
52.328
-0.008
.
.
.

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

78

14 Compensarea sculei
Mrimea limitelor pentru valorile ofsetului pentru geometrie i pentru uzur sunt:
uniti de
intrare

uniti
de ieire

mm

mm

inci

mm

inci

inci

mm

inci

sistem
increment

valoare geometrie

valoare uzur

IR-A
IR-B
IR-C
IR-A
IR-B
IR-C
IR-A
IR-B
IR-C
IR-A
IR-B
IR-C

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

0.01163.80
0.00116.380
0.00011.6380
0.0016.448
0.00010.6448
0.000010.06448
0.00116.380
0.00011.6380
0.000010.16380
0.01416.05
0.00141.605
0.00014.1605

unitate
de
msur
mm

inci

inci

mm

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

79

14 Compensarea sculei

Not: Pentru o modificare programat a compensrii razei, valoarea specificat la adresa R


trebuie s fie interpretat ca o raz, n fiecare caz, indiferent de starea parametrului
TOOLRAD . Comanda numeric va afia mesajul 3001 VALUE EXCESS X, Y, F
(depire valoare X, Y, F) ori de cte ori valoarea specificat depete limitele
indicate n tabelul anterior.
14.3 Compensarea lungimii sculei (G43, G44, G49)
Instruciunea
G43 q H sau
G44 q H
va impune modul de compensare a lungimii sculei.
Adresa q desemneaz axa q la care se aplic compensarea lungimii sculei (q = X, Y, Z, U, V,
W, A, B, C).
Adresa H nseamn celula de compensare din care se ia valoarea compensrii lungimii
sculei.
Independent de faptul c q este o dat absolut sau incremental, instruciunea G43 va aduna
valoarea de compensare (specificat la adresa H) la coordonata punctului final obinut n
decursul execuiei:
G43: + compensarea
Independent de faptul c q este o dat absolut sau incremental, instruciunea G44 va
scdea valoarea de compensare (specificat la adresa H) din coordonata punctului final
obinut n decursul execuiei:
G44: - compensarea
Deoarece a fost programat incremental Z0, fiecare din instruciunile G43 G91 Z0 H1 i G44
G91 Z0 H1 va produce deplasament egal cu lungimea sculei. Pentru G43, deplasamentul va
fi pozitiv sau negativ n funcie de semnul valoarea compensrii de la H1. Cazul este exact
invers pentru G44. Dup ce s-a executat comanda, poziia afiat la coordonata Z va fi
aceeai cu cea anterioar deoarece poziia vrfului sculei va fi afiat dup impunerea
compensrii de lungime.
Compensrile sculei pot fi definite pe cteva axe simultan. De exemplu:
G43 Z250 H15
G43 W310 H16

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

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

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

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

N1
N2
N3
N4
N5

G90 G0 X500 Y600


G43 Z410 H1
G1 Z100 F180
G4 P2
G0 Z1100 H0

N6 X-800 Y-300

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

14.4 Ofsetul sculei (G54G48)


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

81

14 Compensarea sculei

Cu programarea G45 (cretere cu valoarea ofsetului)


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

a. comand de deplasare: -20


compensare: 5

b. comand de deplasare: -20


compensare: -5

Cu programarea G46 (descretere cu valoarea ofsetului)


a. comand de deplasare: 20
cazurile b, c, d sunt similare cu cele de la G45
compensare: 5

82

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

Cu programarea G48 (descretere cu dublul valorii ofsetului)


a. comand de deplasare: 20
cazurile b, c, d sunt similare cu cele de la G45
compensare: 5

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

83

14 Compensarea sculei

Comand NC

G45 XI0 D1

G46 XI0 D1

G45 XI-0 D1

G46 XI-0 D1

deplasament

x=12

x=-12

x=-12

x=12

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

84

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

14 Compensarea sculei

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

Compensarea razei: Negativ

G41

n partea stng

n partea dreapt

G42

n partea dreapt

n partea stng

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

86

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

87

14 Compensarea sculei

14.5.1 Pornirea compensrii sculei


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

(G40)
G40 G01 X_Y_D_
G2 X_Y_R_

Mergnd prin interiorul unui col 180 <<360

88

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

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

Situaiile speciale cnd se pornete compensarea razei:


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

14 Compensarea sculei

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

n acest caz comanda numeric va calcula ntotdeauna


un punct de intersecie indiferent dac este prelucrat
un col interior sau unul exterior.

Dac nu este gsit un punct de intersecie, comanda


numeric se va deplasa, n unghiuri drepte, n punctul
de pornire al urmtoarei interpolri.

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

90

G40 G17 G0 X0 Y0
G42 D1
G1 X80
X110 Y60

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

G40 G17 G0 X0 Y0
G91 G42 D1 X0
G1 X80
X30 Y60

Dac se obine un deplasament 0 n planul selectat n blocul care urmeaz pornirii


compensrii, vectorul de compensare va fi impus n unghi drept la interpolarea care a
executat impunerea. Traiectoria sculei n urmtoarea interpolare nu va fi paralel cu conturul
programat:
...
N10
N15
N20
N25
N30
...

G40 G17 G0 X0 Y0
G91 G42 D1 X80
G1 X0
X30 Y60
Y60

91

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

92

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

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

93

14 Compensarea sculei

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

Situaiile speciale ale modului ofset


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

94

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

(G42)
G02 X_Y_R_
G40 G1 X_Y_

Mergnd prin interiorul unui col 180 < < 360

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

95

14 Compensarea sculei

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

Situaiile speciale de anulare a modului ofset


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

n acest caz, comanda numeric va calcula ntotdeauna


un punct de intersecie indiferent dac trebuie prelucrat
un col interior sau exterior.

96

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

Dac compensarea este anulat ntr-un bloc n


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

Dac este programat deplasament 0 (sau acesta


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

97

14 Compensarea sculei

14.5.4 Schimbarea direciei ofsetului n modul ofset


Direcia de calcul a compensrii razei sculei este dat n tabelul urmtor:
Compensarea razei: pozitiv

Compensarea razei: negativ

G41

stnga

dreapta

G42

dreapta

stnga

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

98

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

Dac nu este gsit un punct de intersecie


pentru o tranziie liniar-la-circular,
traiectoria sculei va fi conform figurii
alturate:

Dac nu este gsit un punct de intersecie


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

99

14 Compensarea sculei

14.5.5 Programarea reinerii vectorului (G38)


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

Pentru a programa o retragere fr s se


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

14.5.6 Programarea arcelor de col (G39)


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

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

Cnd I, J sau K este programat n blocul


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

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

101

14 Compensarea sculei

14.5.7 Informaii generale privind aplicarea compensrii sculei


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

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

102

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

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


figura alturat.

Dac totui micarea n direcia Z este fragmentat n dou pri


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

Pentru a evita aceasta, se introduce o mic deplasare n direcia


Y ntre cele dou deplasri n direcia Z:
...G17 G91...
N110 G41 G0 X50 Y69 D1
N120 Z-35
N130 Y1
N140 G1 Z-5
N150 Y40
...

Prin aceasta se va obine un vector de compensare corect.

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

103

14 Compensarea sculei

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

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

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

104

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

105

14 Compensarea sculei
Se poate folosi de asemenea i un detaliu de program sau subprogram pentru a prelucra una
din piesele unui ansamblu: cea cuprins folosind compensare de raz pozitiv, respectiv
piesa cuprinztoare folosind
compensare de raz negativ, i
viceversa. S revedem urmtorul
detaliu de program:
...
N020
N030
N040
N050
N060
...

G42 G1 X80 D1
G1 Z-5
G3 I-80
G1 Z2
G40 G0 X0

Cnd compensarea de raz este aplicat


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

centrul sculei acoper un arc de cerc ntreg din


punctul P1 n punctul P1 i un altul din punctul
P1 n punctul P2.

106

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

Centrul sculei acoper un arc de cerc n


ntregime din punctul P1 n punctul P1 i un altul
din punctul P1 n punctul P2.

Doi sau mai muli vectori de compensare pot fi


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

14.5.8 Interferene la compensarea sculei


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

107

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

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

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

108

14 Compensarea sculei

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

v , v , v , v ; vectorii de compensare ntre blocurile B i C sunt v , v , v , v .


- v i v vor fi ignorai dac exist o interferen ntre ei.
- v i v vor fi ignorai dac exist o interferen ntre ei.
- v i v vor fi ignorai dac exist o interferen ntre ei.
- v i v nu pot fi omii dac exist o interferen ntre ei, aa c se afieaz un
1

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

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

Prelucrarea unui col interior cu o raz mai mic


dect raza sculei. Comanda numeric afieaz
mesajul de eroare 3048 INTERFERENCE
ALARM sau altfel va tia mai mult din pies.

14 Compensarea sculei
110

Frezarea unei trepte mai mici dect


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

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

14 Compensarea sculei

.
111

n exemplul alturat este afiat de asemenea


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

14.6 Ofsetul tridimensional al sculei (G41, G42)


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

14 Compensarea sculei
112

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

unde r este valoarea de compensare apelat la adresa D,


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

n funcie de direciile vectorilor de


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

Instruciunea G42 funcioneaz n acelai fel ca G41 cu diferena c vectorul de compensare


este calculat ntr-o direcie opus la G41:

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

15 Transformri speciale
114

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

Unghiul de rotaie este specificat la adresa R. O


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

15 Transformri speciale

.
115

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

15.2 Modificarea la scar (G50, G51)


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

15 Transformri speciale
116

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

15.3 Imagine n oglind programabil (G50.1, G51.1)


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

15 Transformri speciale

.
117

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

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

15.4 Reguli de programare a transformrilor speciale


Instruciunile de rotaie i de modificare la scar G68 i G51 pot fi introduse n orice ordine.
Totui trebuie avut n vedere c atunci cnd rotaia este urmat de modificarea la scar comanda de rotaie va avea un efect asupra centrului de modificare la scar. Dac, pe de alt
parte, modificarea la scar este urmat de rotaie, comanda de modificare la scar va avea un
efect asupra coordonatelor centrului de rotaie.
n continuare comenzile de activare i dezactivare ale celor dou proceduri trebuie s fie
cuprinse unele n altele, ele nu trebuie s se intersecteze unele cu altele:
rotaie-modificare la scar

modificare la scar-rotaie

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

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

15 Transformri speciale
118

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

(activare imagine n oglind)


(activare modificare la scar)
(activare rotaie)

G69
G50
G50.1

(dezactivare rotaie)
(dezactivare modificare la scar)
(dezactivare imagine n oglind)

16 Calcule geometrice automate

.
119

16 Calcule geometrice automate


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

Valoarea specificat la adresa


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

Se insereaz un arc de raz ,R ntre cele dou


blocuri astfel nct cercul s se racordeze la
ambele elemente de traiectorie.
Comanda coninnd o teitur sau o rotunjire a
colului poate fi scris i la sfritul mai multor
blocuri succesive dup cum se arat n exemplul
urmtor:

G1 Y40 ,C10
X60 ,R22
G3 X20 Y80 R40 ,C10
G1 Y110

120

16 Calcule geometrice automate


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

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

121

16 Calcule geometrice automate

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

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

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

este echivalent cu blocul urmtor:


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

122

16 Calcule geometrice automate


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

Fr compensarea razei sculei:

G41(sau G42) ...Dnn


...
calculele interseciei
...
G40

G41(sau G42) ...D00


...
calculele interseciei
...
G40

16.3.1 Intersecia liniar liniar


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

G18 G41 (G42)


N1 G1 ,A1 sau
X1 Z1
N2 G1 G90 X2 Z2 ,A2

G19 G41 (G42)


N1 G1 ,A1 sau
Y1 Z1
N2 G1 G90 Y2 Z2 ,A2

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

123

16 Calcule geometrice automate

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

Blocul N10 poate fi de asemenea dat cu


coordonatele unui punct al liniei drepte:
G17 G90 G41 D0...
G0 X90 Y10
N10 G1 X50 Y33.094
N20 X10 Y20 ,A225
G0 X0 Y20
...

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

G17 G90 G41 D0...


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

G17 G90 G41 D0...


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

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

124

16 Calcule geometrice automate


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

G18 G41 (G42)


N1 G1 ,A sau
X1 Z1
N2 G2 (G3) G90 X2 Z2 I
KRQ

G19 G41 (G42)


N1 G1 ,A sau
Y1 Z1
N2 G2 (G3) G90 Y2 Z2 I
KRQ

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

125

16 Calcule geometrice automate

S examinm urmtorul exemplu:

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

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

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

Comanda numeric calculeaz intersecia blocurilor N20 i N30 i introduce o rotunjire a


colului de 15 mm ca efect al ,R15 dat n blocul N20.

126

16 Calcule geometrice automate


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

G18 G41 (G42)


N1 G2 (G3) X1 Z1 I K
sau R
N2 G1 G90 X2 Z2 ,A Q

G19 G41 (G42)


N1 G2 (G3) Y1 Z1 J K
sau R
N2 G1 G90 Y2 Z2 ,A Q

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

127

16 Calcule geometrice automate

S examinm urmtorul exemplu:

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

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

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

n exemplu este programat o rotunjire de 15 mm n blocul N30 (,R15). Comanda numeric


calculeaz intersecia blocurilor N30 i N40 i introduce rotunjirea programat la conturul
rezultant.

128

16 Calcule geometrice automate


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

G18 G41 (G42)


N1 G2 (G3) X1 Z1 I1 K1
sau X1 Z1 R1
N2 G2 (G3) G90 X2 Z2
I2 K2 R2 Q

G19 G41 (G42)


N1 G2 (G3) Y1 Z1 J1 K1
sau Y1 Z1 R1
N2 G2 (G3) G90 Y2 Z2
J2 K2 R2 Q

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

129

16 Calcule geometrice automate

S examinm urmtorul exemplu:

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

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

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

n exemplu este programat o rotunjire de 20 mm n blocul N30 (,R20). Comanda numeric


calculeaz intersecia blocurilor N30 i N40 i introduce rotunjirea programat la conturul
rezultant.

130

16 Calcule geometrice automate


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

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

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

131

17 Cicluri memorate pentru gurire

17 Cicluri memorate pentru gurire


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

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

132

G17

Planul Xp Yp

Zp

G18

Planul Zp Xp

Yp

G19

Planul Yp Zp

Xp

17 Cicluri memorate pentru gurire


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

Codurile ciclurilor de gurire: G73, G74, G76, G81, ,G89


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

17 Cicluri memorate pentru gurire

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

Poziia punctului iniial va fi Z=200 n blocurile N2 i N3.


- Sau cnd este selectat o nou ax de gurire. De exemplu:
N1 G17 G90 G0 Z200 W50
N2 G81 X0 Y0 Z50 R150
N3 X100 Y30 W20 R25

Poziia punctului iniial va fi Z=200 n blocul N2


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

17 Cicluri memorate pentru gurire


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

Comenzile de imagine n oglind i modificare la scar sunt aplicabile datelor punctului de


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

135

17 Cicluri memorate pentru gurire

Data auxiliar (E)


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

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


N3 X__

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

P_

Poziia gurii se schimb n direcia Y. Metoda de gurire se conformeaz cu G82, punctul


de fund ia o valoare nou (Z), punctul R i avansul (R, F) sunt luate din blocul N2.
N2 G80 M5

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

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

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

136

17 Cicluri memorate pentru gurire


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

Cu instruciunile de mai sus se vor face 5


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

Cu instruciunile de mai sus se vor face 6


guri distanate la 60 de grade pe un cerc cu
raza de 200mm. Poziia primei guri coincide
cu punctul de coordonate X=200 Y=0.

137

17 Cicluri memorate pentru gurire


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

Variabilele folosite n ciclu sunt:


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

138

17 Cicluri memorate pentru gurire


17.1.2 Ciclu de filetare n sens antiorar (G74)

Acest ciclu poate fi folosit doar cu un tarod cu resort. Variabilele utilizate sunt:
G17 G74 Xp__ Yp__ Zp__ R__ (P__) F__ L__
G18 G74 Zp__ Xp__ Yp__ R__ (P__) F__ L__
G19 G74 Yp__ Zp__ Xp__ R__ (P__) F__ L__
nainte de a se porni ciclul, arborele trebuie pornit sau programat s se roteasc n direcia lui
M4 (sens antiorar).
Valoarea avansului trebuie specificat n conformitate cu pasul filetului tarodului.
- n starea G94 (avans pe minut):
F=P*S
unde

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

139

17 Cicluri memorate pentru gurire


17.1.3 Ciclu de alezare fin (G76)

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

140

17 Cicluri memorate pentru gurire


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

Variabilele folosite n ciclu sunt:


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

141

17 Cicluri memorate pentru gurire


17.1.6 Gurire, ciclu de alezare la retragere (G82)

Variabilele folosite n ciclu sunt:


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

142

17 Cicluri memorate pentru gurire


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

Variabilele folosite n ciclu sunt:


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

17 Cicluri memorate pentru gurire

17.1.8 Ciclu de filetare cu tarod (G84)

Acest ciclu poate fi folosit doar cu un tarod cu resort.


Variabilele utilizate sunt:
G17 G84 Xp__ Yp__ Zp__ R__ (P__) F__ L__
G18 G84 Zp__ Xp__ Yp__ R__ (P__) F__ L__
G19 G84 Yp__ Zp__ Xp__ R__ (P__) F__ L__
nainte de a se porni ciclul, trebuie selectat sensul M3 (orar) de rotire a arborelui.
Valoarea avansului trebuie specificat n conformitate cu pasul filetului tarodului.
- n starea G94 (avans pe minut):
F=P*S
unde

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

144

17 Cicluri memorate pentru gurire


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

145

17 Cicluri memorate pentru gurire

- n starea G94 (avans pe minut), F=P*S


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

- n starea G95 (avans pe rotaie), F = P


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

n cazul G84.2, operaiile ciclului sunt:


1.
poziionare cu avans rapid n planul selectat
2.
3.
deplasare cu avans rapid n punctul R
4.
orientarea arborelui (M19)
146

17 Cicluri memorate pentru gurire


5.
6.
7.
8.
9.
10.

interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens


orar
interpolare liniar ntre axa de gurire i arbore, cu arborele rotindu-se n sens
antiorar
cu G98, retragere cu avans rapid n punctul iniial
-

n cazul G84.3, operaiile ciclului sunt:


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

147

17 Cicluri memorate pentru gurire


17.1.10 Ciclu de alezare (G85)

Variabilele folosite n ciclu sunt:


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

148

17 Cicluri memorate pentru gurire


17.1.11 Ciclu de alezare cu retragerea sculei cu avans rapid (G86)

Variabilele folosite n ciclu sunt:


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

149

17 Cicluri memorate pentru gurire


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

A. Ciclu de alezare, operare manual n punctul de fund


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

150

17 Cicluri memorate pentru gurire

B. Ciclu de alezare la retragere


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

151

17 Cicluri memorate pentru gurire


17.1.13 Ciclu de alezare (operare manual n punctul de fund) (G88)

Variabilele folosite n ciclu sunt:


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

152

17 Cicluri memorate pentru gurire


17.1.14 Ciclu de alezare (ntrziere n punctul de fund, retragere cu avans de lucru)
(G89)

Variabilele folosite n ciclu sunt:


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

153

17 Cicluri memorate pentru gurire

Pentru a ilustra cele spuse mai sus, s examinm urmtorul exemplu:


G81 X_ Y_ Z_ R_ F
X
F_
M_
G4

P_
I_ Q_

(ciclul de gurire este executat)


(ciclul de gurire este executat)
(ciclul de gurire nu este executat,
F este supranscris)
(ciclul de gurire nu este executat,
codul M este executat)
(ciclul de gurire nu este executat,
ntrzierea va fi rescris, dar nu
valoarea ntrzierii variabilei ciclului)
(ciclul de gurire nu este executat,
valorile programate nu vor fi
nregistrate ca variabile ale ciclului)

- Dac se programeaz ntr-un bloc o funcie precum i un ciclu de gurire, funcia va fi


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

154

18 Funcii de msurare

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

Poziia memorat aici este:


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

18 Funcii de msurare

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

n blocul N1 este pornit o micare


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

Interpolarea N1 pornete o micare n


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

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

157

19 Funcii de siguran

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

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

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

159

19 Funcii de siguran

19.3 Verificarea cursei naintea micrii


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

160

20 Macro utilizator

20 Macro utilizator
20.1 Apelul macro simplu (G65)
Ca rezultat al instruciunii
G65 P(numr program) L(numr de repetri) <atribuire argument>
corpul de macro utilizator (program) specificat la adresa P (numr program) va fi apelat de
attea ori ct este specificat la adresa L.
Corpului macro i pot fi atribuite argumente. Acestea sunt valori numerice atribuite adreselor
definite, care sunt stocate n variabilele locale respective n timpul unui apel macro. Aceste
variabile locale pot fi folosite de ctre corpul macro, adic apelul macro este un apel de
subprogram special n care programul principal poate s transfere valori (parametri) la
subprogram.
Pot fi selectate urmtoarele dou atribuiri de argumente:
irul de adrese ale atribuirii de argumente nr.1 este
ABCDEFHIJKMQRSTUWXYZ
La oricare dintre adresele G, L, N, O, P nu poate fi transferat la corpul macro nici o
valoare. Adresele pot fi completate n orice secven arbitrar, nu neaprat n ordine
alfabetic.
irul de adrese ale selectrii atribuirii de argumente nr.2 este
A B C I1 J1 K1 I2 J2 K2 I10 J10 K10
n plus la adresele A, B, C, se pot atribui maxim 10 argumente diferite pentru adresele I, J,
K. Adresele pot fi completate n orice secven arbitrar. Dac sunt selectate cteva
argumente pentru o anumit adres, variabilele vor lua valorile respective n ordinea
selectrii.
lv
1. aa
A
#1
B
#2
C
#3
I
#4
J
#5
K
#6
D
#7
E
#8
F
#9
(G)
#10
H
#11

2. aa
A
B
C
I1
J1
K1
I2
J2
K2
I3
J3

lv
1. aa
(L)
#12
M
#13
(N)
#14
(O)
#15
(P)
#16
Q
#17
R
#18
S
#19
T
#20
U
#21
V
#22

2. aa
K3
I4
J4
K4
J5
J5
K5
I6
J6
K6
I7

lv
1. aa
W
#23
X
#24
Y
#25
Z
#26
#27
#28
#29
#30
#31
#32
#33

2. aa
J7
K7
I8
J8
K8
I9
J9
K9
I10
J10
K10

- Prescurtri: lv= variabil local; 1.aa=atribuirea de argumente nr.1;


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

20 Macro utilizator

bloc. Se va afia un mesaj de eroare cnd se ncearc s se fac referire de dou ori la o
variabil cu un anumit numr. De exemplu:
G65 A2.12 B3.213 J36.9 J-12 E129.73 P2200
( 1 ) ( 2 ) ( 3 ) (4) ( 5 )
variabila
(1) #1=2.12
(2) #2=3.213
(3) #5=36.9
(4) #8=-12
(5) #8= eroare
n exemplul de mai sus, variabilei #8 i-a fost deja atribuit o valoare la a doua adres J
(valoarea -12), i deoarece valoarea adresei E este de asemenea atribuit variabilei #8, se
afieaz mesajul de eroare 3064 BAD MACRO STATEMENT (declaraie macro greit).
La adrese se pot transfera i un punct zecimal sau un semn.
20.2 Apel macro modal
20.2.1 Apel macro modal n fiecare comand de micare (G66)
Ca rezultat al instruciunii:
G66 P(numr program) L(numr de repetri) <atribuire argument>
corpul de macro specificat la adresa P (numr program) va fi apelat dup executarea fiecrei
comenzi de micare, de attea ori ct este numrul specificat la adresa L. Interpretrile
adreselor P i L i regulile de atribuire a argumentului sunt identice cu cele descrise pentru
instruciunea G65.
Macro selectat va fi apelat pn cnd este anulat apelul cu comanda:
G67
Exemplu: ntr-un anumit segment al programului pies trebuie executat o gaur dup fiecare
micare:
program principal:
...
G66 P1250 Z-100 R-1 X2 F130
G91 G0 X100----- -|
Y30
|
|-se execut gurirea dup fiecare
| poziionare
X150-------------|
...
G67

corp macro:
%O1250
G0 Z#18

(poziionare cu avans rapid n direcia Z la punctul


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

162

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

Macro selectat va fi apelat pn cnd este anulat apelul cu comanda:


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

(1)
(2)
(3)
(4)

numrul de bloc
#24=12.3
#25=32.6
#14=250

Dac adresa N este n mijlocul blocului (precedat de oricare adres n afar de /),
adresa N va fi interpretat ca un argument:
X34.263
( 1 )

N320
(2)

(1) #24=34.236
(2) #14=320

dac adresa N a fost deja nregistrat ca argument, urmtoarea referire la adresa N va


produce afiarea mesajului de eroare 3064 BAD MACRO STATEMENT (declaraie
macro greit).

163

20 Macro utilizator

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


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

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

165

20 Macro utilizator

20.6 Apelul de subprogram cu codul T


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

166

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

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

(330)
(331)

167

20 Macro utilizator

Incluznd doar interpolrile, secvena de executare va fi:

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

macro
nivel 1
O____

macro
nivel 2
O____

macro
nivel 3
O____

G65 P

G65 P

G65 P

G65 P

M99

M99

M99

M99

nivel 1
#1
:
#33

nivel 2
#1
:
#33

nivel 3
#1
:
#33

nivel 4
#1
:
#33

variabile locale
nivel 0
#1
#33

macro
nivel 4
O____

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

168

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

20 Macro utilizator

/ printr-o variabil. Adresa N va fi privit ca un numr de bloc dac este precedat


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

dac #1=0

G90 X20 Y#1


|
G90 X20

G90 X20 Y#1


|
G90 X20 Y0

Variabil vacant ntr-o instruciune definiie:

170

dac #1=<vacant>

dac #1=0

#2=#1
|
#2=<vacant>

#2=#1
|
#2=0

#2=#1*3
|
#2=0

#2=#1*3
|
#2=0

#2=#1+#1
|
#2=0

#2=#1+#1
|
#2=0

20 Macro utilizator
Diferena ntre o variabil vacant i una cu valoare 0 ntr-o expresie condiional va fi:
dac #1=<vacant>

dac #1=0

#1 EQ #0
|
ndeplinit

#1 EQ #0
|
nendeplinit

#1 NE 0
|
ndeplinit

#1 NE 0
|
nendeplinit

#1 GE 0
|
ndeplinit

#1 GE 0
|
nendeplinit

#1 GT 0
|

#1 GT 0
|

ndeplinit

nendeplinit

20.12 Tipuri de variabile


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

20 Macro utilizator

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

Intrare interfa cu referire la programul PLC


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

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

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

172

20 Macro utilizator
Semnale de ieire interfa - #1100-#1115, #1132
Pot fi transmise 16 semnale de ieire interfa, unul cte unul, prin atribuirea valorilor
variabilelor de la #1100 la #1115.
Numele variabilelor de sistem

Ieire interfa cu referire la programul PLC

#1100
#1101
#1102
#1103
#1104
#1105
#1106
#1107
#1108
#1109
#1110
#1111
#1112
#1113
#1114
#1115

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

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

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

Valorile de compensare pentru scul de la #10001 la #13999


Valorile de compensare pentru scul pot fi citite la variabilele de la #10001 la #13999, sau li
se pot atribui valori.
Nr. compensare
1
2
.
.
999

geometrie

uzur

geometrie

uzur

#10001
#10002
.
.
#10999

#11001
#11002
.
.
#11999

#12001
#12002
.
.
#12999

#13001
#13002
.
.
#13999

173

20 Macro utilizator

Ofseturile punctelor de zero ale piesei de la #5201 la #5328


Ofseturile punctelor de zero ale piesei pot fi citite la variabilele de la #5201 la #5328, sau li
se pot atribui valori.
Numrul
variabilei

valoarea variabilei

#5201

ofset comun al punctului de zero al piesei, axa 1

#5202
:
#5208

ofset comun al punctului de zero al piesei, axa 2

#5221

valoarea ofsetului punctului de zero al piesei, axa 1

#5222
:
#5228

valoarea ofsetului punctului de zero al piesei, axa 2

#5241

valoarea ofsetului punctului de zero al piesei, axa 1

#5242
:
#5248

valoarea ofsetului punctului de zero al piesei, axa 2

#5261

valoarea ofsetului punctului de zero al piesei, axa 1

#5262
:
#5268

valoarea ofsetului punctului de zero al piesei, axa 2

#5281

valoarea ofsetului punctului de zero al piesei, axa 1

#5282
:
#5288

valoarea ofsetului punctului de zero al piesei, axa 2

#5301

valoarea ofsetului punctului de zero al piesei, axa 1

#5302
:
#5308

valoarea ofsetului punctului de zero al piesei, axa 2

#5321

valoarea ofsetului punctului de zero al piesei, axa 1

#5322
:
#5368

valoarea ofsetului punctului de zero al piesei, axa 2

sistemul de coordonate
al piesei
comun pentru toate
sistemele de coordonate

ofset comun al punctului de zero al piesei, axa 8


G54

valoarea ofsetului punctului de zero al piesei, axa 8


G55

valoarea ofsetului punctului de zero al piesei, axa 8


G56

valoarea ofsetului punctului de zero al piesei, axa 8


G57

valoarea ofsetului punctului de zero al piesei, axa 8


G58

valoarea ofsetului punctului de zero al piesei, axa 8


G59

valoarea ofsetului punctului de zero al piesei, axa 8

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

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

175

20 Macro utilizator

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


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

Stop precis
0
0
0
0
1
1
1
1

Corecie avans
0
0
1
1
0
0
1
1

Stop avans
0
1
0
1
0
1
0
1

0 = funcia este activ


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

(1) prima ax
(2) a doua ax
(3) a treia ax
:
( 8) a opta ax

Biii au urmtoarea semnificaie


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

20 Macro utilizator
Numrul axei se refer la o ax fizic, parametrul definind numele particular al axei referitor
la un numr de ax fizic.
Numrul de piese prelucrate, numrul de piese de prelucrat - #3901, #3902
Comanda numeric memoreaz numrul de piese prelucrate n numrtorul #3901.
Coninutul numrtorului va fi incrementat cu unu dup executarea fiecrei funcii M02,
M30 sau a funciilor M selectate n parametrul PRTCNTM. Cnd numrul de piese prelucrate
devine egal cu numrul necesar de piese (numrtorul #3902), comanda numeric
semnalizeaz ctre PLC printr-un flag.
Numrul de piese prelucrate
#3901
Numrul de piese de prelucrat
#3902
Numrtoarele #3901 i #3902 se afl la parametrii PRTTOTAL i respectiv PRTREQRD.
Informaie modal de la #4001 la #4130, i de la #4201 la #4330
Valorile modale eficace n blocul anterior pot fi stabilite prin citirea variabilelor de sistem de
la #4001 la #4130.
Comenzile modale active n blocul aflat n execuie pot fi stabilite prin citirea variabilelor de
la #4201 la #4330.
variabila
de sistem
#4001
:
#4020
#4101
#4102
#4103
#4107
#4108
#4109
#4111
#4113
#4114
#4115
#4119
#4120

informaia modal | variabila


a blocului anterior | de sistem
|
cod G, grup 1
|
#4201
:
|
:
cod G, grup 20
|
#4220
cod A
|
#4301
cod B
|
#4302
cod C
|
#4303
cod D
|
#4307
cod E
|
#4308
cod F
|
#4309
cod H
|
#4311
primul cod M introdus
|
#4313
numr bloc, N
|
#4314
numr program, O
|
#4315
cod S
|
#4319
cod T
|
#4320

informaia modal a blocului


aflat n execuie
cod G, grup 1
:
cod G, grup 20
cod A
cod B
cod C
cod D
cod E
cod F
cod H
primul cod M introdus
numr bloc, N
numr program, O
cod S
cod T

177

20 Macro utilizator

Informaie poziional
Poziii la sfrit de bloc
Variabil de sistem

informaie de poziie

#5001
#5002
:
#5008

coordonata pe axa 1 la sfritul blocului


coordonata pe axa 2 la sfritul blocului

citire pe durata micrii

posibil
coordonata pe axa 8 la sfritul blocului

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

natura informaiei de poziie

#5021
#5022
:
#5028

coordonata instantanee pe axa 1 (G53)


coordonata instantanee pe axa 2 (G53)

introducere pe durata micrii

nu e posibil
coordonata instantanee pe axa 8 (G53)

Poziia instantanee (G53) va fi introdus n variabil


- n sistemul de coordonate al mainii
- innd cont de toate compensrile (lungime, raz, ofset scul).
Poziiile instantanee n sistemul de coordonate al piesei
Variabil de sistem

natura informaiei de poziie

#5041
#5042
:
#5048

coordonata instantanee pe axa 1


coordonata instantanee pe axa 2

introducere pe durata micrii

nu e posibil
coordonata instantanee pe axa 8

Coordonata instantanee va fi introdus n variabil


- n sistemul de coordonate al piesei n lucru
- innd cont de ofseturile coordonatei
- n coordonate carteziene
- innd cont de toate compensrile (lungime, raz, ofset scul).

178

20 Macro utilizator
Poziia in care apare semnalul de salt
Variabil de sistem

natura informaiei de poziie

#5061
#5062
:
#5068

coordonata semnalului de salt pe axa 1 (G31)


coordonata semnalului de salt pe axa 2 (G31)

introducere pe durata micrii

posibil
coordonata semnalului de salt pe axa 8 (G31)

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

natura informaiei de poziie

#5081
#5082
:
#5088

lungimea compensrii pe axa 1


lungimea compensrii pe axa 2

introducere pe durata micrii

nu e posibil
lungimea compensrii pe axa 8

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

179

20 Macro utilizator

Decalajul Servo
Variabil de sistem

natura informaiei de poziie

#5101
#5102
:
#5108

decalaj servo pe axa 1


decalaj servo pe axa 2

introducere pe durata micrii

nu e posibil
decalaj servo pe axa 8

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

180

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

181

20 Macro utilizator

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

182

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

Rotunjirea zecimalelor prin majorare la 1: #i = FUP #j


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

183

20 Macro utilizator

Operaii aritmetice complexe Succesiunea de executare


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

ordinea operaiilor

Modificarea succesiunii de executare


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

Numerele se refer la ordinea de executare a operaiilor. n interiorul unei paranteze este


valabil regula cu privire la ordinea de executare a operaiilor prezentat mai sus.
20.13.3 Operaii logice
Limbajul de programare folosete urmtoarele operaii logice:
egal

#i EQ #j

diferit

#i NE #j

mai mare

#i GT #j

mai mic

#i LT #j

mai mare sau egal

#i GE #j

mai mic sau egal


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

184

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

20 Macro utilizator

Regulile de organizare a ciclului:


- Instruciunea DOm trebuie s fie specificat naintea instruciunii ENDm.
:
END1
:
:
:
DO1

fals (EROARE 72)

- Instruciunile DOm i ENDm trebuie s fie n perechi.


:
DO1
:
DO1
:
END1
:

fals

sau
:
DO1
:
END1
:
END1
:

fals

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


:
DO1
:
END1
:
:
:
DO1
:
END1
:

corect

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


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

corect

- Perechile DOm ENDm nu se pot ntreptrunde.

186

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

fals

- Se poate face o ramificaie n afara ciclului.


:
DO1
:
GOTO150
:
:
:
END1
:
N150
:

corect

- Nu este permis intrarea n ciclu din afar.

sau

:
GOTO150
:
DO1
:
:
:
N150
:
END1
:

fals

:
DO1
:
N150
:
:
:
END1
:
GOTO150
:

fals

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

corect
corect
corect

187

20 Macro utilizator
G67
:
END1
:

.
corect

20.13.8 Comenzi de ieire date


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

#b

[c]

]
unde a
= caracter
#b = variabil
[c] = numrul de cifre de dup punctul zecimal

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

188

20 Macro utilizator
BPRNT [ C*/ X#110 [3]
#110=318.49362
#120=0.723415
#112=23.9

Y#120 [3] M#112 [0] ]


-----------------318494=0004DC1Eh
-----------------723=000002D3h
-----------------24=00000018h

Caracterele de transmis sunt:


7 6 5 4 3 2 1 0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0

1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0

0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0

0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1

0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0

1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1

1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0

---C
---Spaiu
---/
---X
---00
---04
---DC
---1E
---Y
---00
---00
---02
---D3
---M
---00
---00
---00
---18
---Line Feed(sfrit de rnd)

Ieire de date zecimale DPRNT[]


DPRNT [ a

#b

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

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

189

20 Macro utilizator

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

Ieirea de date cu PRNT=0


7 6 5 4 3 2 1 0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0

1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0

0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0

1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0

1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1

0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0

0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1

0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0

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

Ieirea de date cu PRNT=1


7 6 5 4 3 2 1 0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0

1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0

190

0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1

1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1

1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0

0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0

0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0

0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0

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

20 Macro utilizator
1
1
0
0

1
0
0
0

0
1
1
0

1
1
1
0

0
0
0
1

1
0
1
0

0
0
0
1

0
1
1
0

---T
---1
---5
---Line Feed (LF)(sfrit de rnd)

nchiderea unui periferic - PCLOSn


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

191

20 Macro utilizator
Exemplu:
SBSTM=0
%O1000
...
N10 #100=50
N20 #101=100
N30 G1 X#100 Y#101
N40 #100=60 (definire dup N30)
N50 #101=120 (definire dup N30)
N60 G1 X#100 Y#101

Comenzile de definire din blocurile N40


i N50 sunt executate dup executarea
micrii din blocul N30.

.
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 n timpul executrii
micrii din blocul N30.

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

192

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

20 Macro utilizator

E = lime de tiere, ca procent din diametrul de frezare


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

194

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

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

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

195

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

196

Note

Note

197

Index n ordine alfabetic

Index n ordine alfabetic


#0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
#10001-#13999. . . . . . . . . . . . . . . . . . . . .173
#1000-#1015 . . . . . .. . . . . . . . . . . . . . . . .171
#1032 . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
#1100-#1115 . . . . . .. . . . . . . . . . . . . . . . .172
#1132. . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
#195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
#196 . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .165
#197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
#198 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
#199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
#1nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
#3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
#3001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
#3002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
#3003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
#3004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
#3006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
#3007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
#3901 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
#3902 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
#4001-#4130. . . . . . . . . . . . . . . . . . . . . . .177
#4201-#4330. . . . . . . . . . . . . . . . . . . . . . .177
#5201-#5326. . . . . . . . . . . . . . . . . . . . . . .174
#5nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
accelerare. . . . . . . . . . . . . . . . . . . . . . . . . . 47
alarm. . . . . . . . . . . . . . . . . . . . . . . . . . . .175
arbore. . . . . . . . . . . . . . . . . 15, 45, 63, 71, 72
corecie . . . . . . . . . . . . . . . . . . .30, 49
orientare . . . . . . . . . . . . . . . . . . . . .65
schimbri trepte . . . . . . . . . . . . . . . 71
arc cu raz variabil . . . . . . . . . . . . . . . . .104
arc de cerc . . . . . . . . . . . . . . . . . . . . . . . . . 50
arce de col . . . . . . . . . . . . . . . . . . . . . . . . .99
avans . . . . . . . . . . . . . . . . . . . . . . . . . 12, 176
axa principal . . . . . . . . . . . . . . . . . . . . . . .62
ax de gurire . . . . . . . . . . . . . . . . . . . . . .131
Axe
nume . . . . . . . . . . . . . . . . . . . . . . . .17
numr . . . . . . . . . . . . . . . . . . . . . . .17
sistem de incremente. . . . . . . . . . . .17
sistem de uniti . . . . . . . . . . . . . . .17
axe de rotaie . . . . . . . . . . . . . . . . . . . . . . . 23
axele controlate . . . . . . . . . . . . . . . . . . . . . 17
bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
cerc . . . . . . . . . . . . . . . . . . . . . . . . . . . .93, 99
198

cerc cu raz variabil . . . . . . . . . . . . . . . .105


cerc ntreg. . . . . . . . . . . . . . . . . . . . . . . . .106
ciclu fr sfrit . . . . . . . . . . . . . . . . . . . . .76
cicluri de gurire . . . . . . . . . . . . . . . . . . .131
adrese . . . . . . . . . . . . . . . . . . . . . .132
coduri . . . . . . . . . . . . . . . . . . . . . .132
configurare . . . . . . . . . . . . . . . . . .132
circular . . . . . . . . . . . . . . . . . . . . . . . . .87, 94
coduri M . . . . . . . . . . . . . . . . . . . . . . . . . .71
col interior . . . . . . . . . . . .87, 88, 94, 95, 110
Compensare . . . . . . . . . . . . . . . . . . . . . 77, 84
compensarea lungimii . . . . .77-79
compensarea razei . . . . . . . . . . . . . . 78
corecie . . . . . . . . . . . 30, 44, 48-50, 153, 176
corecie de col . . . . . . . . . . . . . . . . . . . . . .49
cuvnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
date de coordonat . . . . . . . . . . . . . . . . . . .40
limite . . . . . . . . . . . . . . . . . . . . . . . 40
specificare . . . . . . . . . . . . . . . . . . . 40
gam de valori . . . . . . . . . . . . . . . . 40
decalaj servo . . . . . . . . . . . . . . . . . . . . . . .180
direcia modului ofset . . . . . . . . . . . . . . . . 97
direcie cerc . . . . . . . . . . . . . . . . . . . . . . . 116
execuie bloc cu bloc . . . . . . . . . . . . . . . . 175
format . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
format program . . . . . . . . . . . . . . . . . 10, 168
frnare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
funcia schimbare scul . . . . . . . . . . . . . . . 69
funcii auxiliare . . . . . . . . . . . . . . . . . . . . . 72
funcii de msurare . . . . . . . . . . . . . . . . . .154
funcii de siguran . . . . . . . . . . . . . . . . . .157
funcii modale . . . . . . . . . . . . . . . . . . 14, 177
funcii ne-modale . . . . . . . . . . . . . . . . . . . .15
funcii pregtitoare . . . . . . . . . . . . . . . . . . .12
imagini n oglind. . . . . . .116, 118, 134, 176
inci . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
indicarea poziiei . . . . . . . . . . . . . . . . . 59, 60
informaie de poziie . . . . . . . . . . . . . . . . 178
inhibare corecie . . . . . . . . . . . . . . . . . . . . .20
interfa . . . . . . . . . . . . . . . . . . . . . . 171, 172
interferene la compensarea sculei . . . . . .107
interpolare . . . . . . . . . . . . . . . . . . . . . . . . .12
interpolare circular . . . . . . . . . . . . . . . . . .61
nceputul programului . . . . . . . . . . . . . . . . 10
ntrziere . . . . . . . . . . . . . . . . . . 51, 101, 135
lista de adrese . . . . . . . . . . . . . . . . . . . . . . . .9

Index n ordine alfabetic


msurare . . . . . . . . . . . . . . . . . . . . . . . . . .154
msurarea lungimii sculei . . . . . . . . . . . . 155
mers n jurul colurilor ascuite. . . . . . .107
mers prin exteriorul unui col . . . . . . . .92-95
mod DNC . . . . . . . . . . . . . . . . . . . . . . . . . .11
modificri ale compensrilor sculei . . . . . .78
numr de scul . . . . . . . . . . . . . . . .15, 69, 71
numr program . . . . . . . . . . . . . . . . . . . . . .10
nume program . . . . . . . . . . . . . . . . . . . . . . 10
operaii logice . . . . . . . . . . . . . . . . . . . . . .184
oprire precis . . . . . . . . . . . . . . . . . . . 48, 176
oprire programat . . . . . . . . . . . . . . . . . . . .71
Parametri
A(9030) . . . . . . . . . . . . . . . . . . . . . . . . . . 165
ACC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
ACC6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
ACCDIST . . . . . . . . . . . . . . . . . . . . . . . . . 50
ACCO. . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
ADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
ALADIST . . . . . . . . . . . . . . . . . . . . . . . . 156
ANG.ACCU . . . . . . . . . . . . . . . . . . . . . . 114
ANGLAL . . . . . . . . . . . . . . . . . . . . .108, 110
AXIS1. . . . . . . . . . . . . . . . . . . . . . . . . . . .175
B(9031) . . . . . . . . . . . . . . . . . . . . . . . . . . 165
C(9032) . . . . . . . . . . . . . . . . . . . . . . . . . . 165
CDIR6. . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
CHBFMOVE . . . . . . . . . . . . . . . . . . . . . .159
CIRCOVER . . . . . . . . . . . . . . . . . . . . . . . .50
CLEG83 . . . . . . . . . . . . . . . . . . . . . .135, 143
CODES . . . . . . . . . . . . . . . 22, 23, 38, 45, 62
CORNANGLE . . . . . . . . . . . . . . . . . . . . . 49
CORNOVER . . . . . . . . . . . . . . . . . . . . . . .50
CUTTING2. . . . . . . . . . . . . . . . . . . . . . . .175
DECDIST . . . . . . . . . . . . . . . . . . . . . . . . . 50
DELTV . . . . . . . . . . . . . . . . . . . . . . . . . . 107
DOMCONST . . . . . . . . . . . . . . . . . . . . . .112
EXTER . . . . . . . . . . . . . . . . . . . . . . . . . . .157
FEED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
G(901n) . . . . . . . . . . . . . . . . . . . . . . . . . . 163
G31FD . . . . . . . . . . . . . . . . . . . . . . . . . . .154
G37FD . . . . . . . . . . . . . . . . . . . . . . . . . . .155
HELICALF . . . . . . . . . . . . . . . . . . . . . . . 28
I_LINE . . . . . . . . . . . . . . . . . . . . . . .171, 172
INDEX-C1 . . . . . . . . . . . . . . . . . . . . . . . . .66
INDEX1 . . . . . . . . . . . . . . . . . . . . . . .66, 144
INPOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
INTERFER. . . . . . . . . . . . . . . . . . . . . . . .107
LIMP2n. . . . . . . . . . . . . . . . . . . . . . . . . . .157

M(9001) . . . . . . . . . . . . . . . . . . . . . . . . . .164
M(9020) . . . . . . . . . . . . . . . . . . . . . . . . . .164
M-NUMB1 . . . . . . . . . . . . . . . . . . . . . 66
MD8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
MD9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
MODGEQU . . . . . . . . . . . . . . . . . . . . . . .163
MULBUF . . . . . . . . . . . . . . . . . . . . . . . . . .21
O_LINE. . . . . . . . . . . . . . . . . . . . . . . . . . .172
ORIENT1 . . . . . . . . . . . . . .65, 139, 149, 150
POSCHECK . . . . . . . . . . . . . . . . . . . . . . . .22
PRNT . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
PRTCNTM. . . . . . . . . . . . . . . . . . . . . 71, 177
PRTREQRD . . . . . . . . . . . . . . . . . . . . . . .177
PRTTOTAL . . . . . . . . . . . . . . . . . . . . . . .177
RAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
RADDIF . . . . . . . . . . . . . . . . . . . . . . . . . . .26
RAPDIST . . . . . . . . . . . . . . . . . . . . .155, 156
RAPID6. . . . . . . . . . . . . . . . . . . . . . . . . . . 66
REFPOS . . . . . . . . . . . . . . . . . . . . . . . . . . .53
RETG73. . . . . . . . . . . . . . . . . . . . . . 135, 137
S(9033) . . . . . . . . . . . . . . . . . . . . . . . . . . .165
SECOND. . . . . . . . . . . . . . . . . . . . . . . . . . 51
SKIPF . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
STRKEG. . . . . . . . . . . . . . . . . . . . . . . . . .157
T(9034) . . . . . . . . . . . . . . . . . . . . . . . . . . 165
TAPDWELL . . . . . . . . . . . . . . . . . . 138, 143
TEST FEED. . . . . . . . . . . . . . . . . . . . . . . . 30
WRPROT1 . . . . . . . . . . . . . . . . . . . . . . . .170
plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
plan de poziionare . . . . . . . . . . . . . . . . . .131
plan principal . . . . . . . . . . . . . . . . . . . .62
poziia unei guri . . . . . . . . . . . . . . . . . . . 133
prelucrarea colurilor . . . . . . . . . . . . . . . . . 48
program pies . . . . . . . . . . . . . . . . . . . . . . . .9
program principal . . . . . . . . . . . . . . . . . . . .10
punct de referin . . . . . . . . . . . . . .13, 52, 53
punct iniial . . . . . . . . . . . . . . . . . . . 131, 133
punct intermediar . . . . . . . . . . . . . . . . .53
punct R . . . . . . . . . . . . . . . . . . . . . . . . . . .131
punct zecimal . . . . . . . . . . . . . . . 40, 188-191
ramificare condiionat . . . . . . . . . . . . . . 184
ramificare necondiionat . . . . . . . . . . . . .184
rcire . . . . . . . . . . . . . . . . . . . . . . . 15, 71, 72
Reacie de poziie . . . . . . . . . . . . . . . . . . . .65
reducere avans . . . . . . . . . . . . . . . . . . . . . . 50
reprezentri numerice . . . . . . . . . . . . . . . .169
retragere . . . . . . . . . . . . . . . . . . . . . .131
reinere vector . . . . . . . . . . . . . . . . . . . . . . 99
199

Index n ordine alfabetic


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

200

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