Sunteți pe pagina 1din 60

UNIVERSITATEA

Universitatea Transilvania Braşov


Catedra TCM

BRASOV

Maşina de frezat NovaMill CNC


Manual de programare

Traducere din limba engleză


Braşov, 2001
CUPRINS

1. NTRODUCERE _____________________________________________________________5
2. CE ESTE CNC? _____________________________________________________________6
3. EXEMPLU DE PROCES DE PRELUCRARE PE MUCN ___________________________6
4. STRUCTURA PROGRAMULUI PRINCIPAL CNC ________________________________8
5. STRUCTURA SUBPROGRAMELOR __________________________________________10
6. COMENZI PENTRU OPERAREA CU SUBPROGRAME __________________________11
7. COMANDA PENTRU REPETAREA SUBROGRAMULUI APELAT_________________11
8. DEFINIREA SEMIFABRICATULUI __________________________________________12
9. DENUMIREA ŞI SALVAREA PROGRAMELOR_________________________________12
10. NUMEROTAREA BLOCURILOR (LINIILOR) DINTR-UN PROGRAM______________13
11. STRUCTURA BLOCURILOR_________________________________________________14
12. FUNCŢII PREGĂTITOARE__________________________________________________14
13. FUNCŢIA AVANS __________________________________________________________15
14. FUNCŢII DIVERSE ________________________________________________________15
15. TURAŢIA ARBORELUI PRINCIPAL __________________________________________15
16. GESTIONAREA SCULELOR_________________________________________________16
17. CORECŢIA DE SCULĂ _____________________________________________________17
18. COORDONATE ABSOLUTE ŞI RELATIVE ____________________________________17
19. IGNORAREA OPŢIONALĂ A BLOCURILOR ___________________________________18
20. COMENTARII ŞI MESAJE ÎN INTERIORUL PROGRAMELOR ___________________18
21. FUNCŢII PREGĂTITOARE G________________________________________________18
21.1. Funcţii G modale şi nemodale___________________________________________________19
22. FUNCŢII G (FUNCŢII PREGĂTITOARE). INTRODUCERE ______________________19
22.1. G00 - poziţionare rapidă _______________________________________________________21
22.2. G01 - interpolare liniară _______________________________________________________22
22.3. G02 şi G03 - interpolare circulară _______________________________________________23
22.4. G04 - temporizare ____________________________________________________________26
22.5. G20 şi G21 - setarea sistemului de unităţi de măsură _______________________________27

2
22.6. G28 - revenire în punctul de referinţă ____________________________________________27
22.7. G40, G41, G42 - compensarea sculei _____________________________________________28
22.7.1. Poziţia de lucru şi comanda mişcărilor ___________________________________________________ 29
22.7.2. Iniţierea compensării sculei ____________________________________________________________ 30
22.7.3. Anularea compensării sculei ___________________________________________________________ 30
22.8. G73 .. G89 - cicluri de găurire___________________________________________________32
22.8.1. Programarea ciclurilor în coordonate absolute/relative _______________________________________ 33
22.8.2. Programarea poziţiei (nivelului) de revenire după prelucrarea găurii ____________________________ 33
22.8.3. G73 - găurire rapidă__________________________________________________________________ 35
22.8.4. G74 - filetare _______________________________________________________________________ 35
22.8.5. G76 - alezare de finisare ____________________________________________________________ 36
22.8.6. G80 - anularea ciclului de găurire _____________________________________________________ 37
22.8.7. G81 - găurire _____________________________________________________________________ 37
22.8.8. G82 - găurire cu temporizare___________________________________________________________ 37
22.8.9. G83 - găurire adâncă _______________________________________________________________ 38
22.8.10. G84 - filetare cu tarodul______________________________________________________________ 38
22.8.11. G85 - alezare ______________________________________________________________________ 38
22.8.12. G86 - alezare ______________________________________________________________________ 39
22.8.13. G87- alezare de jos în sus ____________________________________________________________ 39
22.8.14. G89 - găurire ______________________________________________________________________ 40
22.9. Exemplu de utilizare a ciclurilor de găurire _________________________________________41
22.10. G90 - programare în coordonate absolute _________________________________________41
22.11. G91- programare în coordonate relative __________________________________________42
22.12. G94 - avansul exprimat în mm/min ______________________________________________42
22.13. G95 - avans exprimat în mm/rot_________________________________________________42
22.14. G98 - revenire la nivelul iniţial __________________________________________________42
22.15. G99 - revenire la nivelul R _____________________________________________________42
22.16. G170-G173 - comenzi pentru frezarea buzunarelor circulare şi dreptunghiulare ________43
22.16.1. G170 şi G171 - prelucrarea unui buzunar circular - degroşare ________________________________ 43
22.16.2. G170 şi G171 - prelucrarea unui buzunar circular – degroşare şi finisare _______________________ 45
22.16.3. G170 şi G171 - prelucrarea unui buzunar circular – finisare printr-o singură trecere ______________ 46
22.16.4. G172 şi G173 - prelucrarea unui buzunare dreptunghiular - degroşare_________________________ 48
22.16.5. G172 şi G173 - prelucrarea unui buzunar dreptunghiular – degroşare şi finisare __________________ 50
22.16.6. G172 şi G173 - preluarea unui buzunar dreptunghiular – finisare printr-o singură trecere __________ 51
23. FUNCŢII DE TIP M ________________________________________________________53
23.1. Funcţii de tip M recunoscute de echipamentul CNC Denford_________________________53
23.2. M00 - oprirea programului _____________________________________________________55
23.3. M01 - oprirea opţională a programului ___________________________________________55
23.4. M02 - resetarea programului ___________________________________________________55
23.5. M03 - pornirea turaţiei cu rotirea axului principal în sens orar _______________________55
23.6. M04 - pornirea turaţiei cu rotirea axului principal în sens trigonometric _______________55
23.7. M05 - oprirea turaţiei _________________________________________________________56
23.8. M06 - schimbarea automată a sculelor ___________________________________________56
23.9. M08 - pornirea lichidului de răcire-ungere ________________________________________56
23.10. M09 - oprirea lichidului de răcire-ungere _________________________________________56

3
23.11. M10 - deschiderea sistemului de fixare a semifabricatului ___________________________56
23.12. M11 - închiderea sistemului de fixare a semifabricatului ____________________________56
23.13. M13 - pornirea a turaţiei în sens orar şi a lichidului de răcire-ungere __________________57
23.14. M14 - pornirea turaţiei în sens trigonometric şi a lichidului de răcire-ungere ___________57
23.15. M19 - orientarea arborelui principal _____________________________________________57
23.16. M20 - deplasarea MASS (Magazinul Automat de Schimbare a Sculelor) sub arborele
principal ___________________________________________________________________________57
23.17. M21 - deplasarea MASS de sub arborele principal _________________________________57
23.18. M22 - deplasarea MASS în jos __________________________________________________57
23.19. M23 - deplasarea MASS în sus __________________________________________________57
23.20. M24 - deschiderea sistemului de fixare a sculei_____________________________________57
23.21. M25 - închiderea sistemului de fixare a sculei______________________________________58
23.22. M27 - resetarea poziţiei magazinului de scule ______________________________________58
23.23. M30 - oprirea programului şi poziţionare la începutul lui____________________________58
23.24. M32 - rotirea magazinului de scule în sens orar ____________________________________58
23.25. M32 - rotirea magazinului de scule în sens antiorar ________________________________58
23.26. M38 - deschiderea uşii de protecţie ______________________________________________58
23.27. M39 - închiderea uşii de protecţie________________________________________________59
23.28. M62...67, M76, M77 ___________________________________________________________59
23.29. M70 - schimbarea semnului pe direcţia X – activat _________________________________59
23.30. M71 - schimbarea semnului pe direcţia Y – activat _________________________________59
23.31. M80 - schimbarea semnului pe direcţia X – dezactivat ______________________________59
23.32. M81 - schimbarea semnului pe direcţia Y – dezactivat ______________________________59
23.33. M98 - apelare subprogram _____________________________________________________59
23.34. M99 - încheierea subprogramului şi revenirea în programul apelant __________________60

4
1. NTRODUCERE

Echipamentul CNC (Conducere Numerică cu Calculatorul) Denford cu care operează


întreaga gamă de maşini unelte Denford este un sistem compatibil FANUC care utilizează
codul de programare ISO
Manualul acoperă toate etapele implicate în elaborarea instrucţiunilor codificate, necesare
echipamentului CNC pentru prelucrarea unui reper. Secvenţa de instrucţiuni codificate
necesară prelucrării unui reper poartă numele de program piesă.
Fiecare segment al programului este alcătuit dintr-un număr oarecare de coduri, numite şi
funcţii, cele mai importante fiind seturile de coduri G şi M. Acestea sunt cele care
alcătuiesc limbajul de bază utilizat pentru descrierea modului în care va fi prelucrată o
piesă: ce mişcări trebuie efectuate, în ce ordine, când trebuie înlocuită scula, etc.
Primele capitole ale acestui manual acoperă aspectele principale ale programării MUCN şi
oferă indicaţii asupra utilizării comenzilor. Fiecare capitol se dezvoltă progresiv, utilizând
un limbaj comun, uşor de urmărit, ghidând utilizatorul în realizarea programelor de
conducere numerică. După parcurgerea primei părţi, operatorul va fi avea cunoştinţele de
bază necesare abordării programării sub aspectele ei esenţiale.
Fără îndoială, acest manual nu poate (nici nu îşi propune) să ofere toate cunoştinţele
necesare programării. Subiectul este pur şi simplu prea vast pentru ca aşa ceva să fie
posibil. Totuşi, acest manual formează baza necesară pe care să se clădească noi
cunoştinţe prin consultarea unor documentaţii mai pretenţioase.
Capitolele dedicate codurilor G şi M prezintă detaliat funcţiile utilizate în programarea
CNC. Aceste capitole sunt concepute mai degrabă ca ghiduri de utilizare şi se adresează
celor care dispun de cunoştinţele de bază în domeniul programării CNC.

5
Partea I

2. CE ESTE CNC?

CNC (Conducere Numerică cu Calculatorul) este sintagma generală


utilizată pentru un sistem care controlează funcţionarea unei maşini
unelte utilizând instrucţiuni codificate prelucrate de către un calculator.

3. EXEMPLU DE PROCES DE PRELUCRARE PE MUCN

Menţionăm de la început, că în acest exemplu sunt incluse toate etapele procesului, deci
şi pregătirea programului, nu numai prelucrarea efectivă a piesei pe maşina unealtă (Fig.
1):

1. Scrierea programului CNC utilizând coduri G şi M. Programul descrie secvenţa de


operaţii care se efectuează pe MUCN în scopul prelucrării piesei. Programul poate fi
scris off-line, adică fără implicarea maşinii, fie manual, fie cu asistenţa unui calculator,
utilizând un sistem CAD/CAM.

2. Programul este încărcat în calculatorul maşinii, numit controler. În acest stadiu,


programul încă mai poate fi modificat şi este posibilă simularea funcţionării sale
utilizând facilităţile interactive ale calculatorului.

3. Controlerul procesează programul piesă şi transmite semnale maşinii unelte, semnale


care dau informaţii diverselor componente ale acesteia asupra operaţiilor necesare în
vederea prelucrării piesei.
Prin aplicarea conducerii numerice la o maşină unealtă clasică, lucrul cu aceasta poate fi
complet automatizat.

6
PROCESUL DE PRELUCRARE PE MUCN

Programare Programare cu ajutorul


manuală calculatorului
(CAD/CAM)

Funcţii
G şi M

Panoul de control al maşinii

Echipamentul de conducere numerică

Semnale de
comandă

Maşina de frezat CNC Denford

Fig. 1. Procesul de prelucrare pe MUCN

7
4. STRUCTURA PROGRAMULUI PRINCIPAL CNC

Programul piesă poate să conţină un număr oarecare de programe individuale, care


împreună descriu toate operaţiile care trebuie efectuate pentru a prelucra o piesă.
Programul principal este programul care deţine controlul tuturor acţiunilor. El este primul
citit şi încărcat în memorie când este rulat tot programul piesă. Programul principal poate
apela un număr oarecare de programe mai mici. Aceste programe se mai numesc
subprograme, şi sunt utilizate pentru a realiza sarcini care se repetă. După rularea unui
astfel de subprogram, controlul revine programului principal.
Bineînţeles, controlerul (calculatorul maşinii) funcţionează după un program, care în acest
caz este chiar programul principal.
Programele principale, ca şi subprogramele de altfel, sunt scrise utilizând codurile ISO
prezentate mai jos.

ADRESE

N- indică numărul frazei;


G - face trimitere la codurile G (funcţii pregătitoare);
X - Indică distanţa care trebuie parcursă de sanie de-a lungul axei X;
Y - Indică distanţa care trebuie parcursă de sanie de-a lungul axei Y;
Z - Indică distanţa care trebuie parcursă de capul maşinii de-a lungul axei Z;
F - Indică viteza de avans;
M - apelează funcţii diverse (care de obicei se adresează direct maşinii unelte
pentru a stabili condiţiile de prelucrare);
S - Indică turaţia arborelui principal;
T - se referă la gestionarea sculelor.

Fiecare bloc, sau linie a programului, conţine adrese care trebuie plasate în ordinea:

N, G, X, Y, Z, F, M, S, T;

Această ordine trebuie respectată în orice frază. Cu toate acestea, nu fiecare frază va
conţine toate adresele menţionate mai sus, adică dintr-o frază pot să lipsească unele
adrese, dacă nu sunt necesare.

8
Organizarea blocurilor de date într-un program respectă următorul şablon. Este esenţial ca
structura de mai jos să fie respectată, pentru a asigura corectitudinea atât a prelucrării, cât
şi a simulării (Fig. 2).

Exemplu de program piesă


Informaţii despre [Mill CAM Designer – star MCD]
pachetul software [02/03/01]
utilizat [Novamill PC (metric)]
[Post fanucm: 1:20 24 Iunie 1994]
Numărul de program O0050
N010 G21;
Unităţile de măsură (metric [BILLET x240 y170 z10
sau britanic) şi dimensiunile [EDGEMOVE x0 y0
semifabricaului TOOLDEF T1 D2
N020 G91 G28 X0 Y0 Z0;
N030 M6 T1;
N040 H43 H1;
M050 M3 S3000;
N060 G90 G00 X90 Y120
N070 Z2;
N080 G01 z-0.5 F40;
N090 X105 Y160 F60;
N100 X120 Y120;
Programul N110 X165;
principal N120 X130 Y95;
N130 X145 Y50;
N140 X105 Y80;
N150 X65 Y50;
N160 X80 Y 85;
N170 X45 Y 120;
N180 X 90;
N190 G00 Z2;
N200 M5;
N210 G91 G28 X0 Y0 Z0;
Sfârşitul programului N220 M30;

Fig. 2. Structura unui program CNC

Lista de instrucţiuni de mai sus reprezintă un program scris în sistemul de programare


Denford. Pentru ca un astfel de program să opereze corect şi pe un echipament original
FANUC, informaţiile despre sistemul CAD/CAM utilizat şi dimensiunile semifabricatului
trebuie eliminate din program.

9
5. STRUCTURA SUBPROGRAMELOR

Un program care conţine secvenţe care se repetă poate fi memorat ca şi subprogram


pentru a simplifica programul principal.
Un subprogram este introdus în memoria controlerului în modul Edit, ca şi un program
principal.
Diferenţele dintre un subprogram şi un program principal sunt următoarele:
1) Subprogramele nu conţin informaţiile despre mărimea semifabricatului la începutul
programului.
2) Un subprogram se termină cu codul M99

Un subprogram poate fi apelat când maşina se află în modul de lucru automat (Auto
Mode). Subprogramele pot la rândul lor să apeleze alte subprograme. Se spune despre un
program principal care apelează un subprogram că este un program cu o buclă. Nivelul
maxim admis pentru un program principal este cu patru bucle. Aceasta înseamnă că
nivelul maxim de imbricare al apelurilor de subprograme este patru. În Fig. 3 se prezintă
un program principal cu două bucle.
Programul principal Subprogramul 1 Subprogramul 2

O0001 O1000 O2000


N0010 G21; N0010 N0010 G21;
[BILLET X... Y... Z... N0020 N0020
N0020 N0030 N0030
N0030 N0040 N0040
N0040 N0050 N0050
N0050 N0060 N0060
N0060 N0070 N0070
N0070 N0080 N0080
N0080 M98 P1000; N0090 M98 P2000; N0090
N0090 N0100 N0100
N0100 N0110 N0110
N0110 N0120 N0120
N0120 N0130 N0130
N0130 N0140 N0140
N0140 N0150 N0150
N0150 M30 N0160 M99 N0160 M99
Primul nivel de imbricare Al doilea nivel de imbricare
a buclei a buclei
Fig. 3. Imbricarea apelurilor de subprograme

10
6. COMENZI PENTRU OPERAREA CU SUBPROGRAME
OBSERVAŢII GENERALE

Observaţia 1:
Subprogramele sunt memorate sub numere de program formate din patru cifre.
Observaţia 2:
Dacă pentru o sculă sunt necesare corecţii de rază/lungime şi acea sculă este
utilizată în subprogram, corecţiile trebuie apelate şi apoi anulate în interiorul
subprogramului.
Observaţia 3:
Pentru a apela un subprogram se utilizează codul M98 urmat de Pxxxx unde xxxx
este numărul programului apelat (spre exemplu, M98 P2000).
Această comandă se citeşte "apelul programului numărul 2000".
Observaţia 4:
Un apel de subprogram (M98 P2000) poate fi plasat într-o frază în care se
comandă şi o mişcare. Spre exemplu,
N1130 G01 X50 M98 P2000
Observaţia 5:
Un subprogram se încheie cu codul M99. Acesta returnează controlul programului
principal (sau mai corect programului apelant, deoarece acesta, la rândul lui, poate fi un
subprogram).
Codul M99 va returna controlul la blocul următor celui în care s-a făcut apelul din
programul apelant.
În cazul în care codul M99 este urmat de Pxxxx, controlul va fi predat în programul apelant
la linia (blocul) xxxx. Spre exemplu, linia de program
N3450 M99 P160
va fi interpretată "întoarcere la linia 160 în programul apelant".

7. COMANDA PENTRU REPETAREA SUBROGRAMULUI APELAT

Este posibil apelul unui subprogram în care să se specifice şi numărul de repetări ale
acestuia. Formatul unui astfel de apel este următorul:
M98 P2000 xxxx
şi va fi interpretat "efectuează programul 2000 de xxxx ori". Dacă numărul de repetări este
omis, subprogramul va fi efectuat o singură dată.

11
8. DEFINIREA SEMIFABRICATULUI

Definirea/descrierea semifabricatului (BILLET DEFINITION) este o caracteristică a


sistemului de programare Denford.
Ea indică dimensiunile semifabricatului care vor fi utilizate de către modulul de simulare al
pachetului software. Precizarea dimensiunilor semifabricatului nu are nici un rezultat în (nu
influenţează în nici un fel) prelucrarea efectivă.
Descrierea semifabricatului se face la începutul programului principal. De obicei, în blocul
care precede descrierea se indică unităţile de măsură în care sunt exprimate dimensiunile
semifabricatului: G21 pentru sistemul metric şi G20 pentru unităţi britanice.
Spre exemplu, liniile de program
N0010 G21;
[BILLET X100 Y150 Z20
vor fi interpretate:
- toate dimensiunile sunt măsurate în milimetri;
- semifabricatul este o prismă cu dimensiunile 100x150x20 mm.

Observaţie: un program scris pentru o maşină Denford, sau utilizând postprocesorul


Denford nu va putea opera direct pe o maşină FANUC originală. Modulul de simulare al
programului este incompatibil cu echipamentul FANUC. Pentru ca programul să ruleze cu
succes pe o maşină FANUC, orice referire la sistemul CAD/CAM Denford, precum şi
descrierea semifabricatului trebuie înlăturate din program.

9. DENUMIREA ŞI SALVAREA PROGRAMELOR

Salvarea pe disc a programelor este posibilă numai după ce acestora li s-a atribuit un
număr sau nume.
Dacă se salvează un program editat cu consola Denford numărul programului poate fi
cuprins între 1 şi 999999999 (în acest context numărul programului joacă rolul de nume al
acestuia).
Dacă programul este editat în afara sistemului MUCN cu o tastatură QWERTY numele
programului poate fi alcătuit din litere şi/sau cifre.
Observaţia 1:
Subprogramele trebuie să fie numerotate în domeniul 0001 .. 9999, deci utilizând
patru cifre. De altfel, se recomandă ca orice program să fie numerotat în domeniul mai sus
menţionat.

12
Observaţia 2:
Înainte de a salva un program pe disc, verificaţi dacă numele fişierului curent nu a
fost deja folosit la salvarea altuia. În acest caz, acel fişier de pe disc va fi înlocuit cu cel
curent, deci va fi distrus.
Observaţia 3:
Programele care urmează să fie rulate ulterior pe o maşină FANUC trebuie să aibă
înscris numărul de program pe prima lor linie. Formatul pentru înscrierea numărului de
program compatibil FANUC este Oxxxx, unde xxxx este numărul programului, de exemplu
O20

10. NUMEROTAREA BLOCURILOR (LINIILOR) DINTR-UN PROGRAM

Un program este alcătuit din mai multe comenzi, fiecare comunicând maşinii instrucţiuni
pentru rezolvarea unei anumite sarcini sau operaţii.
Fiecare comandă este o linie separată în cadrul programului. Vom mai numi o astfel de
linie din program, bloc. Fiecare bloc este separat de următorul printr-un caracter special,
care indică sfârşitul de linie. Sistemul de programare Denford utilizează ca marcator al
sfârşitului de bloc caracterul punct şi virgulă (;).
La începutul blocului poate fi specificată o valoare numerică (cuprinsă între 0001 şi 9999)
ca şi conţinut al adresei N. Pot fi numerotate toate liniile unui program, sau doar cele care
necesită aşa ceva.
Observaţia 1:
Atunci când este utilizată, adresa Număr de bloc (linie) - N, trebuie să fie plasată
prima în blocul din care face parte.
Observaţia 2:
Se recomandă numerotarea cu valori alcătuite din patru cifre, dar care să nu fie
consecutive, ci crescătoare din 10 în 10. În acest mod este posibilă în orice moment
inserarea de noi linii într-un program.
Observaţia 3:
Chiar dacă numerotarea blocurilor nu este o prioritate în scrierea programelor este
important să se numeroteze cel puţin anumite linii ale programului; astfel de linii ar putea fi
acelea în care se comandă schimbarea sculei. De altfel, unele linii trebuie obligatoriu
numerotate: este vorba de liniile la cere se doreşte revenirea din subprograme, atunci
când revenirea nu urmează să se facă în poziţia implicită (la linia consecutivă apelului de
subprogram) - vezi observaţia 5 de la COMENZI PENTRU OPERAREA CU
SUBPROGRAME.

13
11. STRUCTURA BLOCURILOR

Ordinea în care apar adresele într-un bloc este bine stabilită şi trebuie respectată
întocmai. Această ordine este prezentată mai jos.

N0000 G00 X00 Y00 Z00 F0000 M00 S0000 T00;

Număr Funcţii Adrese Avans Funcţii Turaţie Sculă Sfârşit


de bloc pregătitoare geometrice diverse de
(linie) (maşină) bloc

Fig. 4. Ordinea prezentării adreselor într-o frază

Observaţie: Din orice bloc pot lipsi una sau mai multe adrese.

12. FUNCŢII PREGĂTITOARE

Funcţiile pregătitoare, numite şi funcţii G sunt utilizate pentru a descrie traiectoria sculei
sau pentru a activa/dezactiva anumite funcţii ale maşinii. Funcţiile G sunt utilizate pentru
indicarea tipului de interpolare utilizat, pentru controlul operaţiilor de găurire, specificarea
unităţilor de măsură, activarea corecţiilor de sculă, etc,
O funcţie G este invocată prin caracterul G care desemnează adresa şi o valoare
numerică de două cifre, conţinutul adresei.
Traiectoria sculei
Traiectoria sculei este determinată de mişcări de-a lungul unor segmente de dreaptă şi
sau arce de cerc care descriu profilul piesei de prelucrat.

A) Deplasarea de-a lungul unui segment de dreaptă


Acest tip de mişcare se mai numeşte şi interpolare liniară. Interpolarea liniară este activată
cu funcţia G01. Formatul comenzii este:
G01 Y…; (P1 – P2) P4 P3
X… Y…; (P2 – P3) X

X…; (P3 – P4)


P2

Punctul P1
de nul Y
Fig. 5. Interpolarea liniară

14
B) Deplasarea de-a lungul unui arc de cerc
Acest tip de mişcare se numeşte interpolare circulară. Interpolarea circulară este activată
cu funcţiile G02 (în sens orar) şi cu G03 (în sens trigonometric).
Formatul comenzii este: G03 X… Y… R…; X şi Y sunt coordonatele punctului final al
arcului, iar R raza arcului parcurs. Nu este necesară specificarea coordonatelor centrului
mişcării.

13. FUNCŢIA AVANS

Deplasarea sculei cu o anumită viteză în vederea aşchierii se numeşte AVANS. Avansul


se reglează utilizând adresa F urmată de o valoare numerică, aceasta reprezentând
conţinutul adresei.
După cum la începutul programului a fost invocată funcţia G20 sau G21, mărimea
avansului este exprimată în inch/min., respectiv în mm/min.

14. FUNCŢII DIVERSE

Funcţiile diverse, numite şi Funcţii M, după adresa care le introduce, sunt utilizate în
special pentru a acţiona sau opri diverse componente ale maşinii (exemplu, M03 - pornirea
axului principal, M05 - oprirea axului principal).
În general funcţiile invocate prin valori mici ale conţinutului au aceeaşi semnificaţie pe
majoritatea echipamentelor de conducere numerică. Funcţiile invocate prin valori mari ale
conţinutului sunt în general specifice anumitor echipamente.
Funcţiile M sunt apelate prin adresa M cu un conţinut format din două caractere numerice.

15. TURAŢIA ARBORELUI PRINCIPAL

Viteza de rotaţie a sculei în raport cu piesa de prelucrat se numeşte viteza de aşchiere.


Aceasta nu poate fi reglată în mod direct, deoarece este influenţată de doi parametri:
turaţia sculei (arborelui principal) şi diametrul sculei. Diametrul fiind o mărime care se
alege independent de maşină, rezultă că viteza de aşchiere poate fi reglată (din punctul de
vedere al conducerii numerice) prin intermediul turaţiei. Turaţia este comandată prin
intermediul adresei S. Conţinutul acesteia este o valoare numerică care exprimă turaţia în
rot/min. Pentru a putea fi aplicată turaţia solicitată, aceasta trebuie să se încadreze în
domeniul de turaţii al maşinii.

15
Observaţia 1:
Când în aceeaşi frază sunt apelate împreună comenzi de mişcare şi de reglare a
turaţiei, acestea sunt executate cvasisimultan. În orice caz, în momentul începerii mişcării,
turaţia efectivă este cea reglată în fraza curentă.
Observaţia 2:
Într-o frază este acceptat un singur apel al funcţiei S.

16. GESTIONAREA SCULELOR

Sculele pot fi înlocuite pe parcursul rulării unui program de prelucrare utilizând funcţia T.
Fiecărei scule care va lucra într-un program îi este asociat un număr. Dacă maşina de
frezat este echipată cu un dispozitiv automat de schimbare a sculelor, numărul asociat
unei scule coincide cu numărul locaşului în care ea este stocată în dispozitiv. Numărul
sculei este invocat prin adresa T şi conţinutul ei. Acesta desemnează numărul asociat
sculei vizate. Pentru a comanda schimbarea sculei, trebuie invocată funcţia M6 înaintea
menţionării sculei care urmează să o înlocuiască pe cea în lucru.
Un exemplu de apel al schimbării sculei este următorul:
M06 T3
Aceasta se va citi "înlocuieşte scula curentă cu scula numărul 3".
Observaţia 1:
Funcţia M06 trebuie să fie plasată imediat înaintea funcţiei T care indică numărul
noii scule.
Observaţia 2:
Într-o frază este acceptat un singur apel al funcţiei T.
Observaţia 3:
În momentul citirii secvenţei M06 T… maşina va comanda deplasarea după cele trei
axe în punctul de schimbare a sculei, va opri turaţia arborelui principal şi se va efectua
înlocuirea sculei. Această secvenţă de acţiuni are loc indiferent de poziţia sculei în
momentul citirii comenzii de schimbare a sculei din program. Din acest motiv se
recomandă urmărirea cu atenţie a poziţiei sculei înaintea apelului înlocuirii, şi dacă e
cazul, dirijarea retragerii ei pentru evitarea eventualelor coliziuni cu piesa.

16
17. CORECŢIA DE SCULĂ

În general, pentru a prelucra o piesă de o anumită complexitate sunt necesare mai multe
tipuri de scule, unele din ele de diametre diferite. Scrierea unui program care să ţină
seama de dimensiunile sculei ar fi foarte dificilă. Pentru a putea lua în calcul dimensiunile
sculei într-un program generalizat, se măsoară diametrul şi lungimea fiecărei scule în
afara programului (înaintea rulării sale) şi se salvează într-un fişier special, numit fişier de
corecţii. În esenţă, aceasta face ca programul scris, traiectoriile sculei pe care el le
descrie, să fie independente de dimensiunile sculei. Dimensiunile salvate sunt numite
offset sau corecţii de sculă.
Observaţie: când echipamentul de conducere numerică citeşte din program o funcţie T, el
preia din fişierul de corecţii şi dimensiunile corespunzătoare noii scule. Pentru a lua în
calcul diametrul frezei la comanda traiectoriei sculei, trebuie invocată în prealabil funcţia
G41 sau G42 (compensarea sculei pe partea stângă, respectiv pe partea dreaptă).

18. COORDONATE ABSOLUTE ŞI RELATIVE

Când este activă funcţia G90 coordonatele X, Y


şi Z dintr-un program sunt măsurate faţă de un
punct fix, raportat la piesa de prelucrat, numit
nulul piesei. Se spune în acest caz că
programarea s-a făcut în coordonate absolute.
Dimpotrivă, dacă activ este G91, coordonatele
sunt raportate la ultimul punct invocat (atins de
sculă), ceea ce corespunde programării în
coordonate relative.
Pentru programarea traseului P1-P2-P3-P4 din
Fig. 6 se poate proceda în două moduri:

A) În coordonate absolute: Fig. 6.


G90; selectarea modului de lucru în
coordonate absolute
G01 Y60 F150; deplasare pe segmentul P1-P2 cu avansul 150 mm/min.
G03 X60 Y100 R40; deplasare pe arcul P2-P3 cu raza de 40 mm
G01 X0; deplasare pe segmentul P3-P4
B) În coordonate relative:
G91; selectarea modului de lucru în coordonate relative
G01 Y60 F150; deplasare pe segmentul P1-P2 cu avansul 150 mm/min.
G03 X-40 Y40 R40; deplasare pe arcul P2-P3 cu raza de 40 mm
G01 X-60; deplasare pe segmentul P3-P4

17
19. IGNORAREA OPŢIONALĂ A BLOCURILOR

Liniile de program numerotate vor fi ignorate (sărite) la rularea programului dacă sunt
precedate de caracterul slash şi dacă comutatorul Block skip de pe panoul de control al
maşinii este în poziţia On. Când comutatorul Block skip este în poziţia Off liniile marcate
cu "/" sunt tratate ca orice altă linie din program.
Observaţie: caracterul slash poate fi plasat oriunde într-o frază, nu numai la începutul ei.
În acest caz comenzile aflate înaintea lui se vor comporta normal, vor fi executate, iar cele
care îi urmează, vor fi ignorate.

20. COMENTARII ŞI MESAJE ÎN INTERIORUL PROGRAMELOR

Dacă programul este scris off-line, adică în afara maşinii unelte, de exemplu pe un
calculator, în interiorul său pot fi plasate comentarii şi/sau mesaje, adică secvenţe de text
ignorate de echipamentul de conducere numerică.
Comentariile sunt utile pentru a introduce anumite explicaţii asupra programului. Astfel, pot
fi indicate dimensiunile şi tipul sculelor atunci când ele intră în lucru.
Mesajele au aceeaşi utilitate ca şi comentariile, dar sunt şi afişate pe panoul de control al
maşinii. Spre exemplu, poate fi inserat în program mesajul "începe prelucrarea
buzunarului circular cu raza de 20 mm şi adâncimea de 3". În momentul parcurgerii liniei
de program care conţine mesajul, acesta va fi afişat şi pe consola echipamentului (panoul
de control).

21. FUNCŢII PREGĂTITOARE G

Funcţiile pregătitoare, G, se utilizează pentru descrierea traiectoriei sculei sau setarea


modurilor de lucru ale maşinii. Astfel de funcţii permit controlul mişcărilor, al operaţiilor de
găurire, alegerea unităţilor de măsură, etc.
În mod normal, funcţiile G sunt plasate la începutul frazelor, imediat după numărul de linie,
dacă acesta există.
Este permisă prezenţa mai multor funcţii G într-o frază, cu condiţia să nu se nege reciproc.
O funcţie G este alcătuită din caracterul G (adresa) şi o valoare numerică de două cifre
(conţinutul).
G00
Adresa Conţinutul

18
21.1. Funcţii G modale şi nemodale

Funcţiile G se clasifică, din punctul de vedere al ariei de influenţă în:


 Funcţii modale. Acestea sunt efective în linia în care sunt invocate, dar şi în liniile
următoare, atâta timp cât nu sunt negate de funcţii din aceeaşi categorie. Cu alte cuvinte,
odată activată o funcţie modală, ea are efect şi în următoarele linii de program, fără a fi
necesară repetarea apelului ei. Funcţiile modale, la rândul lor, se clasifică în grupuri, după
cum vizează o anumită sarcină sau alta. O funcţie G modală rămâne activă până în fraza
în care o funcţie din acelaşi grup este apelată. Un exemplu de grup este cel al funcţiilor de
poziţionare şi interpolare.
În exemplul de mai jos, echipamentul de conducere numerică asumă faptul că în frazele
N60 .. N80 se efectuează interpolare liniară, deşi acest lucru nu este programat în mod
explicit în acele fraze. În frazele menţionate, este efectivă funcţia G1 apelată în fraza N50.
N20 G21;
N30 G90;
N40 G00 X50 Y50;
N50 G01 Z-5;
N60 X100;
N70 Y120;
N80 X130 Y160;
N90 G03 X150 Y 180 R20;
În frază N90 interpolarea liniară G01 este negată de funcţia G03, interpolare circulară.
Funcţiile G01 şi G03 fac parte din acelaşi grup de funcţii.

Partea a II-a

22. FUNCŢII G (FUNCŢII PREGĂTITOARE). INTRODUCERE

Reţineţi că există două tipuri de funcţii G. O funcţie modală este memorată şi este efectivă
până când este apelată o altă funcţie G din acelaşi grup modal. Funcţiile nemodale (non-
modale) sunt efective doar în frazele în care sunt apelate.
Nu este necesar apelul aceleiaşi funcţii modale în fraze consecutive; totuşi, apelarea
repetată în fraze consecutive a unei funcţii modale nu constituie eroare. Spre exemplu, în
cazul prelucrării unui contur alcătuit numai din segmente de dreaptă, este suficientă
apelarea lui G1 doar în fraza în care începe conturarea. G01 va rămâne activ până la
apelul unui alt tip de interpolare (G00, G02 sau G03).
Într-o frază pot fi apelate cel mult patru funcţii G. Acestea trebuie sa facă parte din grupuri
modale diferite; dacă în aceeaşi frază se apelează două sau mai multe funcţii G din
acelaşi grup, efectivă va deveni doar ultima din grupul respectiv.

19
Lista funcţiilor G
Tabelul 1
Funcţia Grupul Semnificaţia Observaţii
G00 1 Poziţionare punct cu punct Se efectuează cu
avans rapid
G01 1 Interpolare liniară Se efectuează cu
avans de lucru
G02 1 Interpolare circulara în sens orar
G03 1 Interpolare circulara în sens
trigonometric
G04 0 Oprire precisă
G20 6 Sistemul de unităţi britanic inch, inch/min
G21 6 Sistemul internaţional de unităţi mm, mm/min
G28 0 Revenire în punctul de referinţă
G40 7 Anularea compensării sculei
G41 7 Compensarea sculei pe stânga
G42 7 Compensarea sculei pe dreapta
G73 9 Găurire rapidă
G74 9 Filetare cu cuţit
G76 9 Alezare de finisare
G80* 9 Anularea ciclului de găurire
G81 9 Găurire
G82 9 Găurire cu temporizare
G83 9 Găurire adâncă
G84 9 Filetare cu tarod
G85 9 Alezare
G86 9 Alezare
G87 9 Alezare de jos în sus
G89 9 Găurire
G90* 3 Programare în coordonate absolute
G91 3 Programare în coordonate relative
G94* 5 Avans pe minut
G95 5 Avans pe rotaţie
G98* 10 Revenire la nivelul iniţial al buzunarului Utilizate la ciclurile de
G99 10 Revenire la nivelul R al buzunarului găurire
G170 0 Prelucrarea buzunarului circular
G171 0 Prelucrarea buzunarului circular
G172 0 Prelucrarea buzunarului dreptunghiular
G173 0 Prelucrarea buzunarului dreptunghiular
* Stări implicite, cele active la pornirea maşinii sau la resetarea maşinii după oprirea ei cu
butonul de urgenţă.
Funcţiile din grupul 0 sunt nemodale. Ele trebuie apelate în toate frazele în care sunt
necesare, chiar dacă frazele respective sunt consecutive în program. Toate celelalte
funcţii G sunt modale.

20
22.1. G00 - poziţionare rapidă

Funcţia G00 provoacă o mişcare de poziţionare cu avans rapid (fără aşchiere) până în
poziţia indicata prin adresele geometrice X, Y, Z. Formatul comenzii este următorul:
G00 X... Y... Z...
Punctul de poziţionare introdus prin adresele geometrice X, Y şi Z poate fi exprimat în
coordonate absolute (reportat la un reper fix - nulul piesei) sau în coordonate relative
(raportat la ultima poziţie programată). Operarea în coordonate absolute este invocată prin
funcţia G90, iar cea în coordonate relative prin funcţia G91.
Observaţia 1:
Valoarea avansului rapid este setată de producătorul echipamentului. Această
valoare poate fi redusă de la 100% la 0% dar numai în trepte de 10% utilizând facilităţile
de suprascriere a avansului, facilităţi specifice maşinii unelte. (pentru aceasta consultaţi
manualul de operare al maşinii).
Observaţia 2:
Funcţia G00 blochează compensarea sculei impusă prin una din funcţiile G41 sau
G42. Dacă în momentul apelului lui G00 este activ G41 sau G42, compensarea sculei este
reactivată numai când este apelată din nou o funcţie de interpolare (G01, G02 sau G03).
Observaţia 3:
Funcţia G00 este modală şi deci, incompatibilă cu celelalte funcţii de interpolare în
aceeaşi frază.
Observaţia 4:
Funcţia G00 poate fi invocată în două moduri: G00 sau G0.
Observaţia 5:
În urma apelului funcţiei G00 mişcarea după cele trei axe se efectuează complet
independent, cu avansul rapid. În exemplul alăturat, G00 comandă deplasarea săniilor
simultan după axele X şi Y cu acelaşi avans. Aceasta face ca scula să pară că se
deplasează diagonal (Fig. 7).

X
Scula
Punctul programat
pentru poziţionare

Punctul
de nul Y

Fig. 7. Traiectoria sculei la poziţionarea punct cu punct

21
Când după una din axe s-a atins coordonata programată, deplasarea va continua numai
după cealaltă axă până la atingerea punctului programat. Consecinţa este că scula îşi
modifică direcţia relativă de deplasare în raport cu piesa. Deoarece traiectoria efectivă
este greu de estimat de către programator, trebuie acordată o atenţie deosebita evitării
eventualelor coliziuni dintre sculă şi piesă sau dispozitivul de fixare a semifabricatului.

22.2. G01 - interpolare liniară

Funcţia G01 - interpolare liniară provoacă o mişcare de aşchiere de-a lungul unui segment
de dreaptă cu o viteză de avans prestabilită.
Formatul comenzii este următorul:
G01 X… Y… Z…
Avansul programat va fi efectiv de-a lungul traiectoriei, deci cel rezultat din combinarea
mişcărilor după axele de coordonate ale celor două sănii. Valoarea programată a
avansului nu se referă la mişcările descompuse de-a lungul axelor (nu se aplică fiecărei
sănii).
Doar în cazurile particulare ale mişcărilor programate în direcţie paralelă cu a unei axe
sania se va deplasa chiar cu avansul programat.
În cazul mişcărilor care rezultă prin combinarea translaţiilor după diverse axe, toate săniile
implicate trebuie să opereze în acelaşi interval de timp. Pentru aceasta controlerul va
calcula avansul individual pentru fiecare sanie, astfel încât prin combinarea mişcărilor să
rezulte pentru deplasarea programată, avansul solicitat.
Punctul de destinaţie poate fi programat în
coordonate absolute sau relative.
Exemplu de programare a funcţiei G01:
N130 G90 G01 X100 Y50 F115;

Observaţia 1:
În exemplul de mai sus G90 G01 şi F115 sunt
modale, deci pot fi utilizate şi în următorul bloc, fără Fig. 8. Interpolarea liniară
să fie apelate din nou.
Observaţia 2:
Avansul F115 poate fi modificat în Modul Automat de la 0 la 150% utilizând funcţiile
de suprascriere a avansului (vezi manualul maşinii). 100% este chiar avansul programat.
Observaţia 3:
Dacă nu se programează avansul în fraza cu mişcare sau în una care să o
preceadă, echipamentul de conducere numerică va lua în considerare un avans de 10
mm/min. pentru programare în unităţi internaţionale (G21), sau 0.4 in/min. pentru
programare în unităţi britanice (G20).

22
Observaţia 4:
Funcţia G01 este modală, şi prin urmare, incompatibilă cu G00, G02 sau G03 în
aceeaşi frază.
Observaţia 5:
Funcţia de interpolare liniară poate fi apelată în două moduri: G01 sau G1.

22.3. G02 şi G03 - interpolare circulară

G02 şi G03 provoacă mişcări de aşchiere (cu avansul de


lucru programat) de-a lungul unui arc de cerc în sens
orar, respectiv trigonometric (Fig. 9), într-un sistem de
coordonate cartezian drept, aşa cum sunt cel al maşinii
şi al piesei la echipamentul Denford.
Sensul orar şi cel trigonometric sunt definite conform
figurii alăturate.
Când se programează în coordonate absolute, punctul
programat este raportat la punctul curent de nul şi
desemnează poziţia finală (în urma mişcării descrise) a
sculei. Capătul arcului descris, sau poziţia finală, mai Fig. 9. Sensul de parcurgere
arcelor la interpolarea circulară
este numit şi punctul ţintă al mişcării.
Când se programează în coordonate relative, X şi Y sunt raportate la punctul de început al
mişcării (poziţia actuală a sculei). Semnul coordonatelor X şi Y este dat de sensul în care
se face deplasarea (poziţia relativă a punctului final faţă de cel iniţial).

I şi J

Pentru a programa un arc când nu se cunoaşte raza, ci doar centrul mişcării, se vor utiliza
adresele I şi J. I reprezintă poziţia centrului pe axa X în coordonate relative faţă de punctul
de start. J reprezintă poziţia centrului pe axa Y în coordonate relative faţă de punctul de
start, conform (Fig. 10):

Fig. 10. Programarea interpolării circulare cu indicarea coordonatelor centrului mişcării

23
Observaţia 1:
I şi J pot fi afectate de semnul "-" pentru a indica poziţia centrului faţă de punctul de
start.
Observaţia 2:
I şi J nu pot fi programate în coordonate absolute, chiar dacă se încearcă forţarea
acestui lucru prin apelarea lui G90.
Pot fi utilizate câte patru moduri de a apela funcţiile de interpolare circulară.
Pentru interpolare in sens orar:
G90 G02 X… Y… R… F…;
G90 G02 X… Y… I… J… F…;
G91 G02 X… Y… R… F…;
G91 G02 X… Y… I… J… F…;
şi pentru sens trigonometric:
G90 G03 X… Y… R… F…;
G90 G03 X… Y… I… J… F…;
G91 G03 X… Y… R… F…;
G91 G03 X… Y… I… J… F…;
unde:
G02 şi G03 sunt apelurile funcţiilor de interpolare circulară.
G90 şi G91 indică tipul de coordonate utilizate. Atenţie G90 nu influenţează pe I şi J!
acestea vor fi interpretate întotdeauna în coordonate relative.
X, Y sunt coordonatele punctului final al mişcării.
I, J sunt coordonatele centrului mişcării, relativ la punctul de început al mişcării.
R indică mărimea razei arcului.
F - avansul cu care se efectuează mişcarea.
Pentru exemplul din Fig. 11, traiectoria sculei poate fi programată după cum urmează:

Fig. 11. Exemplu

24
Coord. absolute şi I,J Coord absolute şi R Coord. relative şi I,J Coord relative şi R
G01 X175 Y40 F125; G01 X175 Y40 F125; G01 X175 Y40 F125; G01 X175 Y40 F125;
G03 X135 Y80 I-40; G03 X135 Y80 R40; G03 X-40 Y40 I-40; G03 X-40 Y40 R40;
G01 X95; G01 X95; G01 X-40; G01 X-40;
G02 X55 Y40 I-40; G02 X55 Y40 R40; G02 X-40 Y-20 I-40; G02 X-40 Y-40 R40;

Când se utilizează raza pentru descrierea arcului trebuie avute în vedere două situaţii:
A) arc cu deschiderea mai mică de 180o
B) arc cu deschiderea mai mare de 180o. În acest caz, convenţional, raza va fi indicată ca
având valoare negativă.
În exemplul din Fig. 12 arcul trasat cu linie continuă corespunde situaţiei B, iar cel cu linie
întreruptă, variantei A.

Fig. 12. Programarea arcelor cu deschidere mai mică,


sau mai mare de 180, indicând raza

Programarea celor două arce se face în modul următor:


G02 X80 Y40 R39 F125; /cercul A
respectiv
G02 X80 Y40 R-39 F125; /cercul B
Observaţia 1:
Când se programează arce utilizând raza, valoarea lui R trebuie să fie mai mare
sau cel puţin egală cu jumătate din deplasarea cea mai lungă de-a lungul axelor. Spre
exemplu, dacă punctul curent (poziţia actuală a sculei) este (50,50), iar capătul programat
al arcului este în (120,90), deplasările sunt X=70 şi Y=40; raza minimă va fi 35, sau
R>max (X/2, Y/2)

25
Observaţia 2:
I0 şi J0 pot fi omise din program. Dacă centrul arcului se află pe aceeaşi verticală
sau orizontală cu punctul de start, adresa I, respectiv J poate să lipsească din frază.
Observaţia 3:
Dacă una din adresele X sau Y este omisă, se consideră că punctul final al arcului
coincide cu cel de start. În acest caz, Pot fi luate în considerare două situaţii:
A) centrul este impus prin adresele I şi/sau J; se va genera un arc de 360o, adică un cerc
întreg.
B) raza este impusă prin adresa R; se va genera un arc de 0o, deci scula nu va executa
nici o mişcare.
Observaţia 4:
Dacă în aceeaşi frază vor fi specificate atât adresele I şi/sau J cât şi R, va fi luată în
considerare doar R, celelalte fiind ignorate.
Observaţia 5:
Funcţiile de interpolare circulară pot fi invocate în program în câte două moduri:
G02 sau G2, respectiv G03 sau G3.

22.4. G04 - temporizare

Funcţia G04 provoacă o oprire, o întrerupere a rulării programului. Durata întreruperii este
indicată de către programator prin intermediul adreselor X sau P. După cum se utilizează
adresa X sau P, durata întreruperii este exprimată în secunde, respectiv în miimi de
secundă. Funcţia poate fi folosită în formatul:
G04 X… durata temporizării în secunde
sau
G04 P… durata temporizării în 1/1000 s
Exemple de utilizare a funcţiei G04:
G04 X1.5 produce o temporizare de 1,5 sec
G04 P2500 produce o temporizare de 2,5 sec
Observaţia 1:
În temporizarea de tip P nu este permisă utilizarea punctului zecimal.
Observaţia 2:
Funcţia G04 se utilizează la începutul frazei.
Observaţia 3:
Temporizarea se produce atunci când avansul F, din fraza anterioară devine zero.

26
Observaţia 4:
Valoarea maximă a temporizării 999 sec.
Observaţia 5:
G04 este activă doar în fraza curentă (este funcţie nemodală).
Observaţia 6:
Funcţia de temporizare poate fi invocată în programe în două moduri: G04 sau G4

22.5. G20 şi G21 - setarea sistemului de unităţi de măsură

G20 selectează sistemul britanic de unităţi de măsură (inch), iar G21 pe cel internaţional,
sau metric (mm).
Deplasările minime care pot fi programate sunt 0,0001 inch,sau 0,001mm.
De sistemul de unităţi de măsură selectat sunt afectate următoarele categorii:
1. Adresele geometrice X, Y şi Z.
2. Deplasările programate în coordonate relative.
3. Avansul programat cu adresa F.
4. Valorile corecţiilor de sculă.
Observaţia 1:
În cadrul unui program nu se va comuta între G20 şi G21.
Observaţia 2:
La comutarea de la un sistem de unităţi la altul (bineînţeles în programe diferite)
trebuie refăcute fişierele de corecţii de sculă.
Observaţia 3:
Funcţiile G20 şi G21 fac parte din acelaşi grup şi sunt modale.

22.6. G28 - revenire în punctul de referinţă

Punctul de referinţă (Home position, sau punctul de nul al maşinii) este un punct fix al
maşinii unde poate fi deplasată automat scula. Pe echipamentele Denford nulul maşinii
este reperul faţă de care sunt măsurate deplasările şi este plasat la extremităţile curselor
elementelor mobile. Altfel spus, nulul maşinii este originea sistemului de coordonate al
maşinii. Funcţia G28 comandă deplasarea sculei în punctul de nul (referinţă). Sintaxa
funcţiei este:
G90 G28 X… Y… Z…
sau
G91 G28 X… Y… Z…

27
unde X, Y şi Z pot fi folosite pentru a indica un punct intermediar, prin care va trece scula,
înainte de a ajunge în punctul de referinţă.
Acest punct intermediar permite deplasarea sculei pe o cale impusă, pentru a evita
coliziunea sculei cu piesa sau cu dispozitivul de fixare a piesei.

Punct de Punct de Punct Punct de


nul coliziune intermediar nul

Punct
intermediar

Fig. 13. Evitarea coliziunii dintre piesă şi sculă la revenirea rapidă în


punctul de referinţă

Exemple de invocare a punctului intermediar:


G90 G28 X60 Z60 sau G91 G28 X0 Z40

22.7. G40, G41, G42 - compensarea sculei

Setul de funcţii G40, G41 şi G42 permite generarea foarte precisă a arcelor şi unghiurilor
utilizând compensarea sculei. Piesele complexe sunt generate aproape exclusiv, în cazul
frezărilor de conturare, exploatând compensările de sculă.
Raza sculei (corecţia de rază) este măsurată şi apoi memorată în fişierul de corecţii.
Odată descris conturul de prelucrat, echipamentul de conducere numerică poate genera
orice echidistantă la acesta (traseul pe care trebuie să îl parcurgă centrul sculei) ţinând
seamă de raza sculei, fără alte intervenţii speciale în program.
Pentru a înţelege mai bine compensarea sculei în cazul frezării de conturare trebuie avute
în vedere următoarele:
1. În mod implicit, traiectoria programată este parcursă de centrul frezei.
2. Cu datele preluate din desenul de execuţie se poate descrie în mod direct doar
conturul piesei, nu şi traiectoria sculei.
3. Profilul de prelucrat este independent de diametrul frezei.
Ţinând seama de cele de mai sus, se poate trage concluzia că traiectoria centrului sculei,
trebuie determinată luând în calcul datele profilului de prelucrat şi raza frezei. Acest lucru
poate fi efectuat prin prelucrarea externă a informaţiilor, deci în afara maşinii, sau intern:
de către controler sau de către echipamentul de conducere numerică. Prima variantă este
anevoioasă, sau impune utilizarea unui sistem CAM. A doua este cea mai convenabilă, cu

28
atât mai mult, cu cât limbajul conducerii numerice dispune de mijloacele necesare
efectuării calculelor şi gestionării comenzilor pentru controlul deplasării sculei în raport cu
piesa.
În contextul conducerii numerice vom înţelege prin compensarea sculei, determinarea de
către echipamentul de conducere numerică a echidistantei la profilul de prelucrat,
echidistantă pe care urmează să se deplaseze centrul frezei în vederea prelucrării
profilului respectiv. Conturul programat, va fi în acest caz, chiar conturul de frezat.
Prin corecţie de sculă vom înţelege raza frezei. Această valoare este cea luată în calcul
pentru determinarea echidistantei; corecţia de sculă trebuie să fi fost înregistrată înaintea
rulării programului pentru fiecare sculă implicată în prelucrare şi salvată în fişierul de
corecţii (offset file).

22.7.1. Poziţia de lucru şi comanda mişcărilor

Când într-un program CNC trebuie luată în considerare raza frezei, trebuie specificată
poziţia sculei faţă de semifabricat utilizând funcţiile prezentate în tabelul următor:
Funcţia Partea pe care lucrează freza Mişcarea sculei
G40 Anularea compensării sculei De-a lungul traiectoriei programate
G41 Stânga Pe partea stângă a traiectoriei programate,
privind în sensul avansului
G42 Dreapta Pe partea dreaptă a traiectoriei programate,
privind în sensul avansului

În Fig. 14 este ilustrat modul de deplasare a sculei sub efectul funcţiilor G41 şi G42.

Fig. 14. Compensarea sculei pe partea stângă sau pe partea dreaptă

29
22.7.2. Iniţierea compensării sculei

Fraza prin care se comandă echipamentului de conducere numerică comutarea în modul


de lucru cu compensare a sculei se numeşte iniţiere a compensării sculei.
Iniţierea compensării sculei este necesară pe de o parte specificării părţii pe care se va
deplasa scula în raport cu traiectoria programată, iar pe de altă parte pentru a asigura
timpul necesar comutării la noul mod de lucru.
Pentru ca o frază să poată fi considerată iniţiere a compensării sculei, trebuie să
îndeplinească următoarele condiţii:
1) Să conţină apelul uneia din funcţiile G41 sau G42, sau să urmeze unei fraze cu
G41/G42;
2) Să conţină o comandă de mişcare G01 în planul XOY, iar deplasarea comandată să fie
mai mare decât raza sculei;
3) Raza sculei, R, deci corecţia corespunzătoare sculei care lucrează, trebuie să fie strict
pozitivă.
Observaţia 1:
Nu poate fi apelată interpolarea circulară în fraza de iniţiere a compensării sculei.
Observaţia 2:
În timpul lucrului cu compensare a sculei sunt citite şi memorate întotdeauna câte
două fraze din program; în acest mod, la un moment dat, în memorie sunt prezente fraza
curentă şi următoarele două. Aceasta, deoarece pentru a putea determina echidistanta la
traiectoria programată, echipamentul trebuie să "ştie" tipul şi orientarea mişcării care
urmează după cea curentă. Numai având la dispoziţie aceste date poate fi calculat punctul
în care se termină mişcarea curentă şi începe următoarea (se înţelege că aceste două
puncte trebuie să coincidă).
Observaţia 3:
Funcţiile G40, G41 şi G42 sunt modale şi aparţin aceluiaşi grup, prin urmare nu pot
coexista în aceeaşi frază.

22.7.3. Anularea compensării sculei

Pentru anularea compensării sculei se utilizează funcţia G40.


Funcţia G40 poate fi apelată numai în fraze în care sunt comandate deplasări liniare (G00,
G01, G28).
Observaţia 1:
După prelucrarea unui buzunar interior se recomandă retragerea sculei după axa Z
până într-o poziţie sigură (care să excludă orice coliziune cu piesa) înainte de anularea
compensării sculei cu G40.

30
Observaţia 2:
Controlerul efectuează automat anularea compensării sculei în următoarele situaţii:
1. Imediat după pornirea maşinii.
2. La apăsarea butonului CRT/MDI de pe panoul de control al maşinii.
3. La terminarea (forţată) a programului prin apelul direct al funcţiei M02 sau M30.
Exemplu de utilizare a compensării sculei (iniţierea şi anularea compensării):
Pentru prelucrarea conturului din Fig. 15 se va utiliza secvenţa de program prezentată mai
jos.

Fig. 15. Exemplu

O0010
N0010 G00 X-15 Z-15;
N0020 G41 G01 X0 Y0 F100; /(Iniţierea compensării)
N0030 Y40;
N0040 X30 Y80;
N0050 X60;
N0060 G02 X100 Y40 R40;
N0070 G01 Y30;
N0080 G03 X70 Y0 R30;
N0090 G01 X0;
N0100 G40 X-15 Y-15; (Anularea compensării sculei)

31
22.8. G73 .. G89 - cicluri de găurire
Un ciclu de găurire simplifică programul de conducere numerică prin înlocuirea unei
secvenţe de blocuri cu unul, sau cel mult două blocuri.
În general, un ciclu de găurire este alcătuit din şase operaţii, conform Fig. 16:

Op1

Op2 Op6

Op3 Op5
+Z

Op4

Fig. 16. Secvenţa de mişcări la ciclurile de găurire

Operaţia 1 Poziţionarea sculei deasupra găurii pe X şi Y


Operaţia 2 Apropierea rapidă a sculei de punctul în care începe mişcarea de prelucrare
(nivelul R)
Operaţia 3 Executarea găuririi (avans de lucru)
Operaţia 4 Prelucrarea fundului găurii
Operaţia 5 Retragerea sculei până la nivelul R
Operaţia 6 Retragerea rapidă a sculei până în punctul iniţial
Poziţionarea sculei se face în planul XOY, iar prelucrarea efectivă a găurii, după axa Z.

Există trei categorii de comenzi pentru descrierea unui ciclu de găurire:


1. Comenzi pentru programare în coordonate absolute/relative (G90 / G91)
2. Comenzi pentru retragerea sculei G98 (retragerea sculei la nivelul iniţial) şi G99
(retragere sculă la nivelul R)
3. G73 .. G89 pentru indicarea tipului de ciclu vizat.

32
22.8.1. Programarea ciclurilor în coordonate absolute/relative

G90 Coordonate absolute G91 Coordonate relative

Nivelul iniţial

Punctul (nivelul) R
R
Z=0
Z
Z

Nivelul fundului găurii

Fig. 17. Programarea în coordonate absolute/relative a ciclurilor de găurire

22.8.2. Programarea poziţiei (nivelului) de revenire după prelucrarea găurii

Programarea poziţiei în care să revină scula în urma găuririi se face cu funcţiile G98 -
revenire în punctul iniţial, sau cu G99 - revenire în punctul (la nivelul) R, aşa cum este
exemplificat în figura următoare.

G98 Revenire în punctul iniţial G99 Revenire în punctul R

Nivelul iniţial

Punctul (nivelul) R

Nivelul fundului găurii

Fig. 18. Programarea nivelului de revenire a sculei după executarea ciclurilor de găurire

33
Sintaxa frazei care conţine apelul unui ciclu de găurire este următoarea
G90 G98
sau sau G… X… Y… Z… R… P… Q… K… F…;
G91 G99
unde:
G… invocă un anumit ciclu de găurire (G73 .. G89).
X… Y… poziţia găurii, punctul în care trebuie poziţionată scula în vederea găuririi.
Z… distanţa de la fundul găurii la nivelul R (pentru G91 - coordonate relative) sau poziţia
fundului găurii (pentru G90 coordonate absolute).
R… distanţa dintre nivelul iniţial şi punctul R (pentru G91 - coordonate relative) sau cota
punctului r faţă de nul (pentru G90 coordonate absolute).
P… temporizare pentru schimbarea sensului avansului la fundul găurii (vezi G04
temporizare).
Q… adâncimea pătrunderilor succesive la găurire. Atenţie! Această valoare este indicată
întotdeauna în coordonate relative.
K… numărul de repetări ale ciclului de găurire. Dacă nu este prezent în frază, se
consideră a avea valoarea 1.
F… avansul de lucru.
Observaţia 1:
Adresele P şi Q nu sunt utilizate la unele cicluri de găurire.
Observaţia 2:
Odată introduse, datele necesare găuririi sunt reţinute de controlerul maşinii până
în momentul în care sunt modificate sau ciclul de găurire este oprit. La parcurgerea
repetată a unui ciclu, nu trebuie introduse de fiecare dată toate informaţiile, ci doar cele
care se modifică de la o gaură la alta.
Exemplul 1: ciclu de găurire pentru 4 găuri, cea de a treia gaură fiind cu 10 mm mai
adâncă.
G90 G99 G81 X10 Y10 Z-15 R2 F100;
X20;
X30 Z-25;
X40 Z-15;
G80;
Exemplul 2: ciclu de găurire care se repetă de 4 ori.
G91 G99 G81 X10 Y6 Z-10 R-8 K4 F100

34
22.8.3. G73 - găurire rapidă

Sintaxa frazei care conţine G73 este următoarea:


G90 G98
sau sau G73 X… Y… Z… Q… F…;
G91 G99
Burghiul se poziţionează deasupra primei găuri, la nivelul iniţial, apoi comanda G73 este
citită de controler şi începe ciclul. Burghiul se apropie rapid până în punctul R, de unde
începe să se deplaseze cu avans de lucru până când va fi ajuns la adâncimea Q faţă de
acest punct. Urmează o retragere pe o anumită distanţă. Această distanţă, mică, nu poate
fi controlată de programator, ea fiind o constantă a maşinii. Urmează o nouă fază de
găurire pe adâncimea Q şi o scurtă retragere. Această secvenţă se repetă până la
atingerea fundului găurii (planul Z). Retragerea burghiului după prelucrarea găurii se face
până în punctul iniţial dacă a fost programată funcţia G98, sau până în punctul R dacă
activ este G99. Se citeşte un nou bloc şi dacă acesta conţine adresele X şi/sau Y se
poziţionează burghiul în punctul indicat şi se reia ciclul de găurire rapidă.

G98 Nivelul iniţial


QR
G99 Nivelul R
Q
Retragere

Retragere
Q

Fig. 19. Ciclul de găurire rapidă G73

22.8.4. G74 - filetare

Sintaxa frazei care conţine G74 este următoarea:


G90 G98
sau sau G74 X… Y… Z… P… R… F…;
G91 G99
Secvenţa de mişcări este următoarea:

35
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la adâncimea Z.
Op. 4 Temporizare şi schimbarea sensului de rotaţie a broşei port-sculă.
Op. 5 Retragere cu avans de lucru până în punctul R.
Op.6 Temporizare şi revenirea la sensul normal de rotaţie a broşei port-sculă.
După cum în fraza care a declanşat filetarea a fost programat G98 sau G99 se va face
retragere rapidă până la nivelul iniţial sau scula va rămâne în punctul R până la
următoarea mişcare.
Observaţie: trebuie respectată relaţia F=S*P unde F=avansul, S=turaţia, P= pasul filetului.

22.8.5. G76 - alezare de finisare

Sintaxa frazei care conţine G74 este următoarea:


G90 G98
sau sau G76 X… Y… Z… R… P… Q… F…;
G91 G99

Op. 1
Nivelul iniţial
Op. 2
Op. 6
R
Op. 3 Op. 5

Op. 4

Fig. 20. Ciclul de alezare de finisare G76

Secvenţa de mişcări este următoarea:


Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la adâncimea Z.
Op. 4 Temporizare, oprirea turaţiei arborelui principal şi retragerea sculei către centrul
găurii cu distanţa Q.
Op. 5 Retragere cu avans de lucru până la nivelul R.
Op.6 Revenirea sculei în punctul R (deplasare pe distanţa -Q).
Mişcarea următoare depinde de funcţia care a fost apelată în fraza alezare: G98 sau G99.

36
Observaţie: Acest ciclu poate fi utilizat doar pe maşinile la
care este posibilă orientarea broşei port-sculă, adică oprirea ei
precisă astfel încât vârful sculei de alezat să fie plasat pe o Q
anumită generatoare a găurii (planul median vertical al sculei
trebuie să fie paralel cu planul XOZ al maşinii, pentru ca
retragerea Q a sculei să se efectueze într-adevăr către centrul
găurii).
Fig. 21 orientarea
axului principal

22.8.6. G80 - anularea ciclului de găurire

Unele din adresele utilizate la programarea ciclurilor de găurire sunt modale (Z, P, Q şi R),
astfel încât rămân memorate şi după efectuarea ciclului pentru care au fost programate.
Ciclul trebuie anulat, astfel eliminându-se automat din memorie valorile adreselor Z, P, Q
şi R, înainte de a programa un alt ciclu. Anularea unui ciclu se face cu funcţia G80.
Aceasta trebuie plasată în fraza consecutivă programării ciclului.
Observaţie:
G80 este activat automat la:
1) pornirea maşinii;
2) acţionarea butonului Reset de pe panoul de control;
3) la apăsarea butonului Oprire de urgenţă.

22.8.7. G81 - găurire

Sintaxa frazei pentru programarea ciclului de găurire G81 este următoarea:


G90 G98
sau sau G81 X… Y… Z… R… F…;
G91 G99
Secvenţa de mişcări este următoarea:
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la adâncimea Z.
Op. 4 Retragere rapidă până la nivelul iniţial (G98) sau până în punctul R (G99).

22.8.8. G82 - găurire cu temporizare

Sintaxa frazei pentru programarea ciclului de găurire G81 este următoarea:


G90 G98
sau sau G82 X… Y… Z… P… R… F…;
G91 G99

37
Secvenţa de mişcări este următoarea:
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la adâncimea Z.
Op. 4 Temporizare.
Op. 5 Retragere rapidă până la nivelul iniţial (G98) sau până în punctul R (G99).

22.8.9. G83 - găurire adâncă

Sintaxa frazei pentru programarea ciclului de găurire adâncă G83 este următoarea:
G90 G98
sau sau G83 X… Y… Z… Q… R… F…;
G91 G99
Secvenţa de mişcări este următoarea:
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la adâncimea Q.
Op. 4 retragere rapidă până în punctul R. Apropiere rapidă până la 1 mm de fundul
tronsonului de gaură prelucrat la operaţia precedentă. Mişcările 3 şi 4 sunt repetate până
la atingerea adâncimii Z a găurii.
Op. 5 Retragere rapidă până la nivelul iniţial (G98) sau până în punctul R (G99).
Acest ciclu se deosebeşte de găurirea rapidă doar prin faptul că retragerile intermediare
se fac până în punctul R şi nu doar pe o mică distanţă.

22.8.10. G84 - filetare cu tarodul

Sintaxa frazei pentru programarea ciclului de filetare cu tarodul G84 este următoarea:
G90 G98
sau sau G84 X… Y… Z… R… P… F…;
G91 G99
Acest ciclu nu se deosebeşte de cel de filetare cu cuţitul, G74, decât prin ordinea
adreselor în frază: Z, P, R la G74 şi Z, R, P la G84.

22.8.11. G85 - alezare

Sintaxa frazei pentru programarea ciclului de alezare G85 este următoarea:


G90 G98
sau sau G85 X… Y… Z… R… F…;
G91 G99

38
Secvenţa de mişcări este următoarea:
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la adâncimea Z.
Op. 4 Retragere cu avans de lucru până la nivelul iniţial (G98) sau până în punctul R
(G99).
Faţă de ciclul G76, alezare de finisare, există o serie de diferenţe, după cum urmează:
revenirea în planul iniţial sau cel de referinţă nu se mai face cu retragerea sculei către
centrul găurii şi nu se mai operează temporizare la atingerea fundului găurii. Aceasta
implică omiterea din fraza cu G85 a parametrilor P şi Q. În plus, deoarece scula se
deplasează la revenire pe aceeaşi traiectorie ca şi în faza de prelucrare, ciclul G85 poate fi
efectuat pe orice maşină de frezat, fără restricţia impusă de oprirea precisă, ca în cazul
alezării de finisare.

22.8.12. G86 - alezare

Sintaxa frazei pentru programarea ciclului de alezare G86 este următoarea:


G90 G98
sau sau G86 X… Y… Z… R… F…;
G91 G99
Secvenţa de mişcări este următoarea:
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la adâncimea Z.
Op. 4 Retragere rapidă până la nivelul iniţial (G98) sau până în punctul R (G99).
Faţă de ciclul G85, diferenţa constă în faptul că retragerea din gaură a sculei se face cu
avans rapid

22.8.13. G87- alezare de jos în sus

Sintaxa frazei pentru programarea ciclului de alezare de jos în sus, G87, este următoarea:
G90 G98
sau sau G87 X… Y… Z… P… Q… R… F…;
G91 G99
Secvenţa de mişcări este următoarea:
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Oprirea axului principal şi orientarea sa. Deplasare în planul XOY către centrul găurii
cu distanţa Q.
Op. 3 Apropiere rapidă până în punctul R.
Op. 4 Pornirea rotaţiei axului principal în sens orar, şi efectuarea deplasării -Q
Op. 5 Prelucrare până la nivelul Z (cu deplasare Z pozitiv) şi temporizare.
Op. 6 Oprirea axului principal şi orientarea sa.

39
Op. 7 Deplasare Q.
Op. 8 Retragere rapidă până la nivelul iniţial.
Op. 9 Deplasare -Q şi pornirea rotaţiei axului principal în sens orar.

Q
Op. 1 Op. 2
Nivelul iniţial
Op. 9

Op. 8 Op. 3

Op. 7
Op. 6

Op. 5

Op. 4
R

Fig. 20. Ciclul de alezare de finisare G76

22.8.14. G89 - găurire

Sintaxa frazei pentru programarea ciclului de Găurire, G89, este următoarea:


G90 G98
sau sau G89 X… Y… Z… P… R… F…;
G91 G99
Secvenţa de mişcări este următoarea:
Op.1 Poziţionare rapidă în X, Y şi Z (nivelul iniţial).
Op. 2 Apropiere rapidă până în punctul R.
Op. 3 Prelucrare până la nivelul Zşi temporizare.
Op. 4 Retragere rapidă până la nivelul iniţial (G98) sau la nivelul R (G99).

40
22.9. Exemplu de utilizare a ciclurilor de găurire

Fig. 21. Exemplu

Pentru prelucrarea găurilor în reperul din Fig. 21 se utilizează secvenţa de program


prezentată în continuare.
N0040 M06 T01; Schimbarea sculei
N0050 G90 G00 X10 Y30 Z12 S1000 M03; Poziţionarea sculei la nivelul iniţial
N0060 G99 G81 X10 Z30 -17 R2 F75; Gaura 1, retragere la nivelul R
N0070 Y10; Gaura 2 , retragere la nivelul R
N0080 X30; Gaura 3 , retragere la nivelul R
N0090 G98 Z30; Gaura 4 , retragere la nivelul iniţial
N0100 G99 X90; Gaura 5 , retragere la nivelul R
N0110 Y10; Gaura 6 , retragere la nivelul R
N0120 X110; Gaura 7 , retragere la nivelul R
N0130 G98 Y30; Gaura 8 , retragere la nivelul iniţial
N0140 G91 G80 G28 X0 Y0 Z0 M05; Maşina acasă, oprirea axului principal
N0150 M06 T02; Schimbarea sculei
N0160 G90 G00 X60 Y28 Z12 S 750 M03; Poziţionarea sculei la nivelul iniţial
N170 G99 G83 Y28 Z-17 Q6 R2 F60; Gaura 9 , retragere la nivelul R
N180 G98 Y12; Gaura 10 , retragere la nivelul iniţial
N190 G91 G80 G28 X0 Y0 Z0 M05; Maşina acasă, oprirea axului principal
N0200 M30; Terminarea programului

22.10. G90 - programare în coordonate absolute

Funcţia G90 activează modul de lucru cu programarea punctelor în coordonate absolute


(raportate la nulul piesei). Programarea în coordonate absolute este modul implicit de
lucru; dacă într-un program nu este apelată nici una din funcţiile din grupul 3 (vezi tabelul
1), deci nu este precizat tipul de coordonate utilizat pentru programarea punctelor, se
consideră că toate coordonatele utilizate sunt absolute (ţinând seamă de excepţiile
prezentate deja, exemplu, adresele I şi J).

41
Observaţie:
G90 este activ în mod implicit la pornirea maşinii, după resetarea de la panoul de
control al maşini şi după oprirea maşinii cu butonul oprire de urgenţă.

22.11. G91- programare în coordonate relative

Funcţia G91 activează modul de lucru cu programarea punctelor în coordonate relative.


Din momentul apelării ei coordonatele utilizate pentru programarea punctelor sunt
măsurate faţă de poziţia curentă a sculei.
Funcţiile G90 şi G91 aparţin aceluiaşi grup, deci nu pot coexista în aceeaşi frază.

22.12. G94 - avansul exprimat în mm/min

Când este activ G94 avansul programat este exprimat în ul/min, unde ul este unitatea de
măsură pentru lungime: inch sau mm după cum este activ G20, respectiv G21.

22.13. G95 - avans exprimat în mm/rot

Când este activ G95 avansul programat este exprimat în ul/rot, unde ul este unitatea de
măsură pentru lungime: inch sau mm după cum este activ G20, respectiv G21.

22.14. G98 - revenire la nivelul iniţial

Funcţia G98 este utilizată conjugat cu funcţiile pentru programarea ciclurilor de găurire.
Dacă este activ G98, retragerea sculei după prelucrarea găurii se face până la nivelul
iniţial (planul orizontal în care s-a făcut poziţionarea sculei).

22.15. G99 - revenire la nivelul R

Funcţia G99 este utilizată conjugat cu funcţiile pentru programarea ciclurilor de găurire.
Dacă este activ G99, retragerea sculei după prelucrarea găurii se face până la nivelul R
(planul orizontal până la care s-a efectuat apropierea rapidă a sculei). Reamintim că
nivelul (cota Z) a planului respectiv se programează cu adresa R în cadrul ciclurilor de
găurire.

42
22.16. G170-G173 - comenzi pentru frezarea buzunarelor circulare şi
dreptunghiulare

Prin utilizarea funcţiilor G170 .. G173 se poate programa prelucrarea buzunarelor circulare
sau dreptunghiulare (Fig. 22).

Buzunar Buzunar
circular dreptunghiular

Fig. 22. Piesă cu buzunare

Observaţie: Trebuie acordată o atenţie deosebită programării ciclurilor pentru prelucrarea


buzunarelor, deoarece fiecare ciclu poate fi descris în trei moduri. Diferenţierea modurilor
de descriere se face prin valorile care urmează adreselor P, I şi J în cazul buzunarelor
circulare (G170, G171) sau adreselor P, I şi K în cazul buzunarelor dreptunghiulare (G172,
G173). Deşi rezultatul final (forma şi dimensiunile buzunarului) este acelaşi, de modul în
care sunt utilizate adresele mai sus menţionate depinde traiectoria pe care o parcurge
scula în timpul prelucrării.
În continuare se prezintă şase exemple de programe în care se utilizează funcţiile pentru
prelucrarea buzunarelor interioare, câte trei pentru fiecare tip de buzunar. Pentru fiecare
tip de buzunar sunt prezentate toate variantele de programare a ciclului de prelucrare.

22.16.1. G170 şi G171 - prelucrarea unui buzunar circular - degroşare

Observaţie: punctul de 0 absolut este memorat în fişierul de corecţii


Programul nr. 2 – Program de degroşare pentru prelucrarea unui buzunar circular folosind
funcţiile G170 şi G171
[BILLET X75 Y90 Z30; Dimensiunile semifabricatului
[EDDGEMOVE X – 37,5 Y- 45; Poziţia punctului de zero relativ la colţul din
stânga jos al semifabricatului
[TOOLDEF T1 D6 Z0; Nr. sculei, diametrul şi poziţia acesteia
O0005; Nr. de program

43
N0040 G91 G21 G28 X0 Z0; Coordonatele punctului de referinţă
N0050 M06 T01; Nr. sculei
N0060 G90 G00 X0 Y0 Z10 S3000 M03; Coordonate absolute, deplasare rapidă a
sculei de 10 mm deasupra suprafeţei de
prelucrat, pornire turaţie arbore principal
N0070 G01 Z0 F300; Aproprierea sculei de suprafaţa piesei şi
setarea avansului
N0080 G170 R0 P0 Q3 X0 Y0 Z-6 I0 J0 Ciclu de prelucrare a buzunarului circular
K-24;
N0090 G171 P75 S3000 R75 F250 Ciclu de prelucrare a buzunarului circular
B3500 J200;
N0100 G00 Z25 M05; Deplasare rapidă a sculei la 25 mm
deasupra suprafeţei prelucrate şi oprirea
turaţiei
N0110 G91 G28 X0 Y0 Z0; Întoarcere la punctul de nul
N0120 M30; Resetare program

Fig. 23. Buzunar circular

Explicarea pe larg a liniilor de program în care sunt implicate funcţiile G170 şi G171

Pentru funcţia G170: N0080 G170 R0 P0 Q0 X0 Y0 Z6 I0 J0 K-24


R- defineşte poziţia sculei pe axa Z la începutul ciclului
P- când P este 0 ciclul este destinat degroşării
Q – defineşte incrementarea pe Z în vederea prelucrării buzunarului. În programul de mai
sus pătrunderea sculei în adâncimea piesei se face în paşi de câte 3 mm.

44
X – defineşte coordonata în X a centrului buzunarului
Y – defineşte coordonata în Y a centrului buzunarului
Z – defineşte baza buzunarului (- 6 mm) faţă de suprafaţa piesei.
I – defineşte adaosul de prelucrare pe suprafaţa laterală (0 doar la degroşare)
J – defineşte adaosul de prelucrare la baza buzunarului (0 doar la degroşare)
K – raza buzunarului (-24 deoarece prelucrarea se va face în sens trigonometric)

Pentru funcţia G171: N0090 G171 P75 S300 R75 F250 B3500 J200
P –adâncimea de aşchiere, ca procentaj din diametrul sculei (75% din diametrul sculei)
S – turaţia la degroşare (S3000) 3000 rot/min
R – avansul la degroşare de-a lungul axei Z (75 mm/min)
F – avansul la degroşare în planul XY (250) (250 mm/min)
B – turaţia la finisare (3500 rot/min); neaplicabilă în cazul degroşării
J – avansul la finisare (200 mm/rot); neaplicabilă în cazul degroşării
La stabilirea corecţiilor de sculă trebuie specificată raza frezei cu care se va prelucra
buzunarul. Sensul parcurgerii traseului de prelucrare este controlat de K. K<0 (K-24)
sugerează o parcurgere în sens trigonometric iar K>0 în sens orar; valoarea lui Q este
totdeauna pozitivă (Q+3).
Când s-a încheiat prelucrarea, scula aşchietoare se retrage 1 mm de-a lungul axei Z, se
deplasează apoi rapid până în centrul buzunarului iar apoi continuă să se retragă de-a
lungul axei Z. Programul de mai sus este conceput pentru o prelucrare de degroşare în
două treceri.

22.16.2. G170 şi G171 - prelucrarea unui buzunar circular – degroşare şi finisare

Diferenţa dintre programul anterior (0002) şi acesta (0003) este aceea că acest program
lasă un adaos şi pentru finisare pe pereţii buzunarului şi la baza acestuia.
[BILLET X75 Y90 Z30;
[EDDGEMOVE X – 37,5 Y- 45;
[TOOLDEF T1 D6 Z0;
O0003
N0040 G91 G21 G28 X0 Z0;
N0050 M06 T01;
N0060 G90 G00 X0 Y0 Z10 S3000 M03;
N0070 G01 Z0 F300;
N0080 G170 R0 P0 Q3 X0 Y0 Z-6 I0 J0 K-24;
N0090 G171 P75 S3000 R75 F250 B3500 J200;
N0100 G00 Z25 M05;
N0110 G91 G28 X0 Y0 Z0;
N0120 M30;

45
Explicarea pe larg a liniilor de program în care sunt implicate funcţiile G170 şi G171

Pentru funcţia G170: N0080 G170 R0 P0 Q3 X0 Y0 Z-6 I0.5 J0.1 K-24


R- se defineşte poziţia sculei pe axa Z la începutul ciclului
P- când P este 0 ciclul este destinat degroşării
Q – defineşte incrementarea pe Z în vederea prelucrării buzunarului. În programul de mai
sus incrementarea se face de două ori, cu câte 3 mm de fiecare dată, rezultând astfel
adâncimea buzunarului de 6 mm.
X – defineşte coordonata în X a centrului buzunarului
Y – defineşte coordonata în Y a centrului buzunarului
Z – defineşte baza buzunarului (- 6 mm) faţă de suprafaţa piesei
I – indică mărimea adaosului de prelucrare lăsat pe peretele buzunarului pentru finisare
J – indică mărimea adaosului de prelucrare lăsat pe fundul buzunarului pentru finisare
K – raza buzunarului (-24 deoarece prelucrarea se va face în sens trigonometric)

Pentru funcţia G171: N0090 G171 P75 S300 R75 F250 B3500 J200
P –adâncimea de aşchiere, ca procentaj din diametrul sculei (75% din diametrul sculei)
S – turaţia la degroşare (S3000) 3000 rot / min
R – avansul la degroşare de-a lungul axei Z (75 mm/min)
F – avansul la degroşare în planul XY (250) (250 mm/min)
B – turaţia la finisare (3500 rot/min)
J – avansul la finisare (200 mm/rot)

22.16.3. G170 şi G171 - prelucrarea unui buzunar circular – finisare printr-o


singură trecere

Diferenţa dintre programul anterior şi cel prezent mai jos constă în aceea că în acest caz
scula aşchietoare se deplasează până la adâncimea finală a buzunarului, realizând doar
operaţia de finisare.
[BILLET X75 Y90 Z30;
[EDDGEMOVE X – 37,5 Y- 45;
[TOOLDEF T1 D6 Z0;
O0004;
N0040 G91 G21 G28 X0 Z0;
N0050 M06 T01;
N0060 G90 G00 X0 Y0 Z10 S3000 M03;
N0070 G01 Z0 F300;
N0080 G170 R0 P1 Q3 X0 Y0 Z-6 I0.5 J0.1 K-24;
N0090 G171 P75 S3000 R75 F250 B3500 J200 ;

46
N0100 G00 Z25 M05;
N0110 G91 G28 X0 Y0 Z0;
N0120 M30;
Explicarea pe larg a liniilor de program în care sunt implicate funcţiile G170 şi G171

Pentru funcţia G170: N0040 G170 R0 P1 Q3 X0 Y0 Z6 I0.5 J0.1 K-24


R- se defineşte poziţia sculei pe axa Z la începutul ciclului
P- când P=1 este programat un ciclu exclusiv de finisare
Q – este ignorat dacă P=1
X – defineşte coordonata în X a centrului buzunarului
Y – defineşte coordonata în Y a centrului buzunarului
Z – defineşte baza buzunarului (- 6 mm) faţă de suprafaţa piesei.
I – este ignorat dacă P=0
J – este ignorat dacă P=0
K – raza buzunarului (-24 deoarece prelucrarea se va face în sens trigonometric)

Pentru funcţia 171: N0040 G171 P75 S300 R75 F250 B3500 J200
P – adâncimea de aşchiere, ca procentaj din diametrul sculei (75% din diametrul sculei)
S – turaţia la degroşare (S3000). Trebuie introdusă o valoare pentru S, însă aceasta va fi
ignorată în cazul unei prelucrări exclusiv de finisare
R – avansul la degroşare de-a lungul axei Z (75). Trebuie introdusă o valoare, însă
aceasta va fi ignorată în cazul unei prelucrări exclusiv de finisare
F – avansul la degroşare în planul XY (250). Trebuie introdusă o valoare, însă aceasta va
fi ignorată în cazul unei prelucrări exclusiv de finisare
B – turaţia la operaţia de finisare (3500 rot/min)
J – avansul operaţia de finisare (200 mm/rot)
Observaţie: deşi o serie de adrese sunt ignorate în timpul rulării programului, acestea
trebuie să existe (inclusiv valoarea lor numerică) pentru ca fraza să fie interpretată corect
şi în acest mod evitate eventualele erori.

47
22.16.4. G172 şi G173 - prelucrarea unui buzunar dreptunghiular - degroşare

Fig. 24. Buzunar dreptunghiular

Observaţie: punctul de 0 absolut este memorat în fişierul de corecţii


Programul nr. 5. Program pentru degroşarea unui buzunar dreptunghiular
[BILLET X75 Y90 Z30; Dimensiunile semifabricatului
[EDDGEMOVE X – 37.5 Y- 45; Poziţia punctului de 0 relativ la colţul din
stânga – jos a semifabricatului
[TOOLDEF T1 D6 Z0; Nr. sculei, diametrul şi poziţia acesteia
00005; Nr. de program
N0040 G91 G21 G28 X0 Z0; Coordonatele punctului de referinţă
N0050 M06 T01; Nr. sculei
N0060 G00 X0 Y0 Z0 S3000 M03; Coordonate absolute, deplasare rapidă
a sculei la 10 mm deasupra suprafeţei
de prelucrat, pornire turaţie arbore
principal
N0070 G01 Z0 F300; Deplasarea sculei până la suprafaţa de
prelucrat, setarea avansului
N0080 G172 I-50 J-50 K0 P0 Q3 R0 X –25 Ciclu de prelucrare a buzunarului
Z-6; dreptunghiular
N0090 G173 I0 K0 P75 T1 S300 R75 Ciclu de prelucrare a buzunarului
F250 B3500 J200 Z5; dreptunghiular
N0100 G00 Z25 M05; Deplasare rapidă a sculei la 25 m
deasupra suprafeţei prelucrate şi

48
oprirea turaţiei
N0110 G91 G28 X0 Y0 Z0; Întoarcere la punctul de nul
N0120 M30; Resetare program

Explicarea în amănunt a liniilor de program în care sunt implicate funcţiile G172 şi G173

Pentru funcţia G172: N0080 G172 I-50 J-50 K0 P0 Q3 R0 X-25 Y-25 Z-6;
I – lungimea de-a lungul axei X a buzunarului de prelucrat (-50);
J – lungimea de-a lungul axei Y a buzunarului de prelucrat (-50);
K – raza la colţurile dreptunghiului (inactivă la acest software);
P – stabileşte tipul prelucrării 0 = degroşare
Q – stabileşte incrementarea pe Z în vederea prelucrării buzunarului. În programul de mai
sus, incrementarea pe Z se face de două ori cu câte 3 mm de fiecare dată, rezultând astfel
adâncimea de 6 mm a buzunarului;
R – punctul (planul) “R” faţă de Z absolut
X – defineşte colţul “X” al buzunarului în coordonate absolute faţă de nulul piesei
Y – defineşte colţul “Y” al buzunarului în coordonate absolute faţă de nulul piesei
Z – defineşte cota Z a fundului buzunarului (-6 faţă de suprafaţa piesei, deci adâncimea de
6 mm a buzunarului)

Pentru funcţia G173 : N0090 G173 I0 K0 P75 T1 S300 R75 F250 B3500 J200 Z5
I –adaosul de finisare pe pereţii buzunarului (în acest caz este 0, nefiind implicată şi o
finisare);
K – adaosul de finisare la baza buzunarului (în acest caz este 0);
P –adâncimea de aşchiere ca procentaj din diametrul sculei (75% din diametrul sculei);
T – codificarea sculei destinate realizării buzunarului (scula nr. 1);
S – turaţia arborelui principal la degroşare (3000 rot/min);
R- avansul la degroşare de-a lungul axei Z (75 mm/min);
F – avansul la degroşare în planul XY (250 mm/min);
B – turaţia arborelui principal la finisare (3500 rot/min), nu e utilizată în acest caz;
J – avansul la finisare (200 mm/min), nu este utilizat în acest caz;
Z –planul de retragere a sculei după prelucrare (5 mm deasupra planului “R”);
Programul de mai sus este realizat pentru degroşare din două treceri.

49
Observaţii pentru funcţia G172:
 Semnul lui I şi J impun sensul de parcurgere al traseului frezei ("+" pentru
parcurgerea în sens orar şi "–" pentru parcurgerea în sens trigonometric);
 K – trebuie programat la valoarea 0 deoarece la sotfware-ul curent (DENFORD)
raza colţurilor este raza sculei aşchietoare (frezei);
 X şi Y – coordonate relative faţă de punctul de zero (nulul) al piesei (fig. 24), în
exemplu, centrul buzunarului. Distanţa de la punctul de nul până la colţul din stânga jos
al buzunarului este X-25 Y-25.
Observaţii pentru funcţia GI173:
 dacă I şi K sunt setate la valoarea 0, programul va realiza doar ciclurile de
degroşare (în exemplu 2 cicluri), la fel ca şi în cazul prelucrării buzunarelor circulare;
 T – numărul sculei (T1) trebuie programat.

22.16.5. G172 şi G173 - prelucrarea unui buzunar dreptunghiular – degroşare şi


finisare

Programul 006
[BILLET X75 Y90 Z30;
[EDGEMOVE X-37.5 Y-45;
[TOOLDEF T1 D6 Z0;
00006;
N0040 G91 G21 G28 X0 Y0 Z0;
N0050 M06 T01;
N0060 G90 G00 X0 Z10 S3000 03;
N0070 G01 Z0 F300;
N0080 G172 1-50 J-50 K0 P0 Q3 R0 X-25 Z-25 Z-6;
N0090 G173 I0.5 K0.1 P75 T1 S3000 R75 F250 B3500 J200 Z5;
N0100 G00 Z25 0M5;
N0110 G91 G28 X0 Y0 Z0;
N0120 M30;
Explicarea în amănunt a liniilor de program în care sunt implicate funcţiile G172 şi G173

Pentru funcţia G172: N0080 G172 I-50 J-50 K0 P0 Q3 R0 X-25 Z-6


I – lungimea de-a lungul axei X a buzunarului de prelucrat (-50);
J – lungimea de-a lungul axei Y a buzunarului de prelucrat (-50);
K – raza de curbură de la colţurile dreptunghiului (inactivă la acest software);
P – stabileşte tipul prelucrării 0 = degroşare
Q – stabileşte incrementarea pe Z în vederea prelucrării buzunarului. În programul de mai
sus, incrementarea pe Z se face cu câte 3 mm, rezultând astfel adâncimea de 6 mm a
buzunarului;

50
R – punctul (planul) “R” faţă de Z absolut
X – defineşte colţul “X” al buzunarului în coordonate absolute faţă de nulul piesei
Y – defineşte colţul “Y” al buzunarului în coordonate absolute faţă de nulul piesei
Z – defineşte cota Z a fundului buzunarului (-6 faţă de suprafaţa piesei, deci adâncimea de
6 mm a buzunarului)

Pentru funcţia G173 : N0090 G173 I0.5 K0.1 P75 T1 S300 R75 F250 B3500 J200 Z5
I – adaosul de finisare pe pereţii buzunarului (0,5 mm);
K – adaosul de finisare la fundul buzunarului (0,1 mm)
P – adâncimea de aşchiere ca procentaj din diametrul sculei (75% din diametrul sculei);
T – codificarea sculei destinate realizării buzunarului (scula nr. 1);
S – turaţia arborelui principal la degroşare (3000 rot/min);
R- avansul la degroşare de-a lungul axei z (75 mm/min);
F – avansul la degroşare în planul XY (250 mm/min);
B – turaţia arborelui principal la finisare (3500 rot/min);
J – avansul la finisare (200 mm/min);
Z –planul de retragere a sculei după prelucrare (5 mm deasupra planului “R”);
Observaţie: când I şi K sunt urmate de valori nenule programul va realiza ciclul de finisare
după încheierea completă a ciclurilor de degroşare.

22.16.6. G172 şi G173 - preluarea unui buzunar dreptunghiular – finisare printr-o


singură trecere

Programul 007
[BILLET X75 Y90 Z30;
[EDGEMOVE X-37.5 Y-45;
[TOOLDEF T1 D6 Z0;
00007;
N0010 G91 G21 G28 X0 Y0 Z0;
N00220 M06 T01;
N0043 G90 G00 X0 Y0 Z10 S3000 M03;
N0040 G01 Z0 F300;
M0050 G172 I-50 K0 P1 Q3 R0 X-25 Y-25 Z-6;
N0060 G173 IO.5 K0.1 P75 T1 S3000 R75 F250 B3500 J200 Z5;
N0070 G00 Z25 M05;
N0080 G91 G28 X0 Y0 Z0;
N0090 M30;

51
Explicarea în amănunt a liniilor de program în care sunt implicate funcţiile G172 şi G173

Pentru funcţia G172: N0040 G172 I-50 J-50 K0 P1 Q3 R0 X-25 Y-25 Z-6;
I – lungimea de-a lungul axei X a buzunarului de prelucrat (-50);
J – lungimea de-a lungul axei Y a buzunarului de prelucrat (-50);
K – raza de curbură de la colţurile dreptunghiului (inactivă la acest software);
P –stabileşte tipul prelucrării: finisare dintr-o singură trecere (P1);
Q – defineşte incrementarea pe Z în vederea prelucrării buzunarului. În acest caz este
ignorat deoarece avem doar un singur ciclu de finisare.
R – punctul (planul) “R” faţă de Z absolut
X – defineşte colţul “X” al buzunarului în coordonate absolute faţă de nulul piesei
Y – defineşte colţul “Y” al buzunarului în coordonate absolute faţă de nulul piesei
Z – defineşte cota Z a fundului buzunarului (-6 faţă de suprafaţa piesei, deci adâncimea de
6 mm a buzunarului)

Pentru funcţia G173 : N0040 G173 I0.5 K0.1 P75 T1 S3000 R75 F250 B3500 J200 Z5
I – adaosul de prelucrare la finisare pentru suprafaţa laterală – se ignoră pentru finisare;
K – adaosul de prelucrare pentru baza buzunarului – se ignoră pentru finisare
P –adâncimea de aşchiere ca procentaj din diametrul sculei (75% din diametrul sculei);
T – codificarea sculei destinate realizării buzunarului (scula nr. 1);
S – turaţia arborelui principal la degroşare. Se va introduce o valoare care va fi ignorată în
acest caz. (un ciclu de finisare);
R- avansul de-a lungul axei Z la degroşare. Se va introduce o valoare care va fi ignorată în
acest caz. (un ciclu de finisare);
F – avansul la degroşare în planul XY la degroşare. Se va introduce o valoare care va fi
ignorată în acest caz. (un ciclu de finisare);
B – turaţia arborelui principal la finisare (3500 rot/min);
J – avansul la finisare (200 mm/min);
Z –planul de retragere a sculei după prelucrare (5 mm deasupra planului “R”);
Observaţie: Toate datele specifice degroşării vor fi ignorate de program în timpul rulării.
Este însă necesară introducerea unor valori şi pentru aceste date deoarece, în caz
contrar, la compilarea secvenţială a programului s-ar semnala erori.

52
23. FUNCŢII DE TIP M

Introducere

Funcţiile de tip M sunt funcţii auxiliare pentru transmiterea unor comenzi de tipul “pornit -
oprit” unor componente ale maşinii unelte (pornirea turaţiei M05, etc). Funcţiile al căror
conţinut este reprezentat prin valori mici sunt în general comune unui număr mare de
echipamente de conducere numerică, în timp ce valorile mari ale funcţiilor se adresează
unor trăsături specifice câte unui echipament.
O funcţie de tip M poate fi definită folosind o adresă de tip M şi un număr format din
două cifre ca în figura de mai jos:
M 00

Adresa nr. din două cifre

23.1. Funcţii de tip M recunoscute de echipamentul CNC Denford

Lista funcţiilor M
Tabelul 2
Funcţia Descriere
M
M00* Oprirea programului
M01* Oprirea opţională a programului
M02* Resetarea programului
M03 Pornirea turaţiei cu rotirea axului principal în sens orar
M04 Pornirea turaţiei cu rotirea axului principal în sens trigonometric
M05 Oprirea turaţiei
M06 Schimbarea automată a sculelor
M08 Pornirea lichidului de răcire - ungere
M09 Oprirea lichidului de răcire - ungere
M10 Deschiderea sistemului de fixare a semifabricatului
M11 Închiderea sistemului de fixare a semifabricatului
M13 Pornirea turaţiei în sens orar şi a lichidului de răcire-ungere
M14 Pornirea turaţiei în sens trigonometric şi a lichidului de răcire-ungere
M19 Orientarea arborelui principal

53
M20 Deplasarea MASS (magazinul automat de schimbare a sculelor) sub arborele
principal
M21 Deplasarea MASS de sub arborele principal
M22 Deplasarea MASS în jos
M23 Deplasarea MASS în sus
M24 Deschiderea sistemului de fixare a portsculei în arborele maşinii
M25 Închiderea sistemului de fixare a portsculei în arborele maşinii
M27 Resetarea poziţiei magazinului de scule
M30 Oprirea programului şi poziţionare la începutul lui
M32 Rotirea magazinului de scule în sens orar
M33 Rotirea magazinului de scule în sens trigonometric
M38 Deschiderea uşii de protecţie
M39 Închiderea uşii de protecţie
M62 Ieşire auxiliară 1 – activă
M63 Ieşire auxiliară 2 – activă
M64 Ieşire auxiliară 1 – dezactivată
M65 Ieşire auxiliară 2 – dezactivată
M66 Aşteptare pentru ieşirea auxiliară 1 – activată
M67 Aşteptare pentru ieşirea auxiliară 2 - activată
M70 Schimbarea semnului pe direcţia X – activat (oglindire pe axa X)
M71 Schimbarea semnului pe direcţia Y – activat (oglindire pe axa Y)
M76 Aşteptare pentru ieşirea auxiliară 1 - dezactivată
M77 Aşteptare pentru ieşirea auxiliară 2 - dezactivată
M80 Schimbarea semnului pe direcţia X – dezactivat
M81 Schimbarea semnului pe direcţia Y – dezactivat
M98 Apelare subprogram (subrutină)
M99 Încheierea subprogramului şi revenire în programul apelant

Observaţia 1:
Funcţiile M marcate cu * vor fi executate la încheierea unui bloc (ex.: după
efectuarea mişcărilor).

54
Observaţia 2:
Într-un bloc nu poate exista decât o singură funcţie de tip M. În cazul când există
mai multe astfel de funcţii echipamentul CNC va executa doar ultima funcţie de tip M din
cadrul blocului.
Observaţia 3:
Funcţiile de tip M de la M19 până la M27 inclusiv, precum şi funcţiile M32 şi M33
sunt folosite doar în cazul executării unor operaţii de întreţinere. Aceste funcţii pot fi
introduse panoului de control al maşinii şi nu vor apărea în cadrul programelor.

23.2. M00 - oprirea programului

Când echipamentul CNC va citi această funcţie în interiorul unui bloc va opri derularea
programului. Repornirea (continuarea) acestuia din punctul în care a fost oprit se poate
face prin apăsarea tastei [CYCLE START].

23.3. M01 - oprirea opţională a programului

Are acelaşi efect ca şi funcţia anterioară M00, cu diferenţa că în acest caz echipamentul
CNC nu va opri programul decât dacă este acţionată tasta opţională [STOP].

23.4. M02 - resetarea programului

Această funcţie sesizează sfârşitul programului şi realizează o resetare generală a MUCN,


iar echipamentul CNC va aduce toate setările maşinii la starea lor iniţială. Funcţia se
aseamănă cu M05.

23.5. M03 - pornirea turaţiei cu rotirea axului principal în sens orar

Rotirea arborelui principal în sens orar este determinată de vizualizarea arborelui principal
de sus în jos, privind din spatele acestuia către scula aşchietoare de-a lungul axei Z.
Pornirea turaţiei este activată la începutul blocului de program în care este prezentă
funcţia M03, înaintea realizării celorlalte mişcări ale elementelor mobile.

23.6. M04 - pornirea turaţiei cu rotirea axului principal în sens trigonometric

Funcţia este asemănătoare cu funcţia precedentă (M03) cu deosebirea că rotirea arborelui


principal se face în sens trigonometric.

55
23.7. M05 - oprirea turaţiei

Funcţia M05, de oprire a turaţiei, este activată la încheierea blocului din care face parte
(de exemplu după încheierea deplasărilor).

23.8. M06 - schimbarea automată a sculelor

Activează deplasarea magazinului de scule în poziţia arborelui principal în vederea


schimbării sculei. Ex: M06 T03: Această linie de comandă va realiza schimbarea sculei
curente (fixate pe maşină) cu scula numărul 3. De fapt, M06 apelează un subprogram care
presupune efectuarea mai multor acţiuni:
 oprirea turaţiei;
 deplasarea organelor mobile la capătul de cursă care asigură spaţiul necesar
manevrelor de schimbare a sculei;
 aducerea magazinului de scule sub arborele principal;
 coborârea axului principal până la nivelul corespunzător eliberării sculei;
 eliberarea sculei;
 ridicarea la capăt de cursă a axului principal;
 indexarea magazinului de scule;
 coborârea axului principal până la nivelul corespunzător preluării sculei;
 preluarea ţi fixarea sculei;
 ridicarea la capăt de cursă a axului principal;
 aducerea magazinului de scule în poziţia "retras"
 pornirea turaţiei.

23.9. M08 - pornirea lichidului de răcire-ungere

Porneşte pompa circuitului de răcire-ungere.

23.10. M09 - oprirea lichidului de răcire-ungere

Opreşte pompa circuitului de răcire – ungere.

23.11. M10 - deschiderea sistemului de fixare a semifabricatului

Deschide sistemul de fixare în vederea eliberării semifabricatului.

23.12. M11 - închiderea sistemului de fixare a semifabricatului

Închide sistemul de fixare în vederea prinderii semifabricatului.

56
23.13. M13 - pornirea a turaţiei în sens orar şi a lichidului de răcire-ungere

Această funcţie combină funcţiile M03 şi M08 prezentate anterior. Funcţia M05 va opri
simultan turaţia şi lichidul de răcire-ungere .

23.14. M14 - pornirea turaţiei în sens trigonometric şi a lichidului de răcire-ungere

Realizează pornirea concomitentă a turaţiei (în sens invers faţă de M13) şi a lichidului de
răcire-ungere.

23.15. M19 - orientarea arborelui principal

Această funcţie va realiza o orientare a arborelui principal

23.16. M20 - deplasarea MASS (Magazinul Automat de Schimbare a Sculelor) sub


arborele principal

Această funcţie realizează deplasarea magazinului de scule din poziţia sa iniţială sub
arborele principal al MUCN.

23.17. M21 - deplasarea MASS de sub arborele principal

Realizează deplasarea MASS în poziţia sa iniţială (lângă arborele principal)

23.18. M22 - deplasarea MASS în jos

Realizează deplasarea MASS de-a lungul axei Z în jos.

23.19. M23 - deplasarea MASS în sus

Realizează deplasarea MASS de-a lungul axei Z în sus.

23.20. M24 - deschiderea sistemului de fixare a sculei

Deschide mecanismul de prindere al sculelor în axul maşinii.

57
23.21. M25 - închiderea sistemului de fixare a sculei

Închide mecanismul de prindere al sculelor în axul maşinii.

23.22. M27 - resetarea poziţiei magazinului de scule

Restabileşte poziţia iniţială a magazinului de scule. Este mai de grabă o acţiune logică, în
urma acesteia locaşul din faţă al magazinului de scule va fi interpretat ca fiind primul locaş.
Această funcţie nu produce rotirea magazinului de scule; de regulă funcţia M27 se
utilizează conjugat cu M32 sau M33.

23.23. M30 - oprirea programului şi poziţionare la începutul lui

Această funcţie opreşte rularea programului în momentul când s-a ajuns la sfârşitul lui.
După aceasta ECN realizează şi un “reset” revenind la prima linie a programului. Dacă
funcţia M30 este urmată de un număr de bloc, programul se va întoarce la începutul acelui
bloc de program. Ex: M30 P0140 – Programul este oprit şi revine la blocul cu numărul
140.

23.24. M32 - rotirea magazinului de scule în sens orar

Realizează indexarea în sens orar a magazinului de scule (sensul orar se stabileşte


privind magazinul de scule de sus în jos).

23.25. M32 - rotirea magazinului de scule în sens antiorar

Realizează indexarea în sens antiorar a magazinului de scule (sensul orar se stabileşte


privind magazinul de scule de sus în jos).

23.26. M38 - deschiderea uşii de protecţie

Deschide ecranul protector al maşinii. Concomitent cu aceasta se opreşte turaţia dacă


este pornită. Câtă vreme capacul de protecţie este deschis nu pot fi lansate comenzi
maşinii nici în mod direct, nici din program.

58
23.27. M39 - închiderea uşii de protecţie

Închide ecranul protector al maşinii. Aceasta nu presupune şi repornirea automată a


turaţiei oprite cu M38.

23.28. M62...67, M76, M77

Aceste funcţii sunt destinate transmiterii de informaţii de la MUCN către un echipament


auxiliar al acesteia (spre exemplu, robotul). Aceste funcţii transmit informaţia către
echipamentul auxiliar şi aşteaptă un răspuns de la acesta, care confirmă realizarea
operaţiei. În afară de semnificaţia acestor funcţii, prezentată în tabelul de la paragraful
23.1, nu sunt necesare alte explicaţii.

23.29. M70 - schimbarea semnului pe direcţia X – activat

În timpul rulării programului, apariţia funcţiei M70 va avea ca efect schimbarea semnului
coordonatei pe direcţia X..
Ex.: G0 X25,5
M70
G01 X 25.5 – scula se va deplasa către coordonata X – 25.5

23.30. M71 - schimbarea semnului pe direcţia Y – activat

Are acelaşi efect ca şi M70, însă pe direcţia Y

23.31. M80 - schimbarea semnului pe direcţia X – dezactivat

Anulează schimbarea semnului pentru următoarele coordonate în X

23.32. M81 - schimbarea semnului pe direcţia Y – dezactivat

Anulează schimbarea semnului pentru următoarele coordonate în Y

23.33. M98 - apelare subprogram

Va genera realizarea unui salt din programul principal la un subprogram existent în


memorie. Acesta este identificat prin intermediul numărului său. Numărul subprogramului

59
apelat se introduce prin adresa P, ca în exemplul următor, care se traduce prin "Apelul
subprogramul numărul 1003"

N0560 M98 P1003

23.34. M99 - încheierea subprogramului şi revenirea în programul apelant

Pe ultima linie a unui subprogram funcţia M99 încheie rularea subprogramului predând
controlul programului apelant. Dacă M99 este prezentă pe ultima linie a programului
principal, aceasta va genera un ciclu infinit în care programul principal este mereu reluat.
Dacă funcţia M99 este urmată de adresa P care indică un număr de bloc, revenirea în
programul apelant se va face la blocul respectiv, şi nu la cel consecutiv apelului de
subprogram.

60

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