Documente Academic
Documente Profesional
Documente Cultură
BRASOV
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
5
Partea I
2. CE ESTE CNC?
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):
6
PROCESUL DE PRELUCRARE PE MUCN
Funcţii
G şi M
Semnale de
comandă
7
4. STRUCTURA PROGRAMULUI PRINCIPAL CNC
ADRESE
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).
9
5. STRUCTURA SUBPROGRAMELOR
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
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".
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
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
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.
Observaţie: Din orice bloc pot lipsi una sau mai multe adrese.
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.
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.
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
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.
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ă).
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.
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).
18
21.1. Funcţii G modale şi nemodale
Partea a II-a
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
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.
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.
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):
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ă:
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.
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.
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
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.
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
intermediar
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).
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.
29
22.7.2. Iniţierea compensării sculei
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.
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
32
22.8.1. Programarea ciclurilor în coordonate absolute/relative
Nivelul iniţial
Punctul (nivelul) R
R
Z=0
Z
Z
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.
Nivelul iniţial
Punctul (nivelul) R
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ă
Retragere
Q
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.
Op. 1
Nivelul iniţial
Op. 2
Op. 6
R
Op. 3 Op. 5
Op. 4
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
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ţă.
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).
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ţă.
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.
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.
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
40
22.9. Exemplu de utilizare a ciclurilor de găurire
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ţă.
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.
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.
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).
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
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
Explicarea pe larg a liniilor de program în care sunt implicate funcţiile G170 şi G171
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.
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 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)
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 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
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.
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
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.
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
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.
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].
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].
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.
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).
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 .
Realizează pornirea concomitentă a turaţiei (în sens invers faţă de M13) şi a lichidului de
răcire-ungere.
Această funcţie realizează deplasarea magazinului de scule din poziţia sa iniţială sub
arborele principal al MUCN.
57
23.21. M25 - închiderea sistemului de fixare a sculei
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.
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.
58
23.27. M39 - închiderea uşii de protecţie
Î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
59
apelat se introduce prin adresa P, ca în exemplul următor, care se traduce prin "Apelul
subprogramul numărul 1003"
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