Documente Academic
Documente Profesional
Documente Cultură
Home Exploreaza
Administratie
Arta cultura
Biologie
Casa gradina
Diverse ALTE DOCUMENTE
Economie
Geografie Masina de camp magnetic
Gradinita
Istorie frezat ADVANCED CONVERTERS FOR
FUEL CELL POWER SYSTEMS
Jurnalism
Limba NovaMill Zidaria
Setarea receptorului GPS si colectarea
Management CNC -
Literatura romana
punctelor
Proiect Pentru obtinerea certificatului de
Medicina
Personalitati Manual de competente profesionale niv. 2 - Senzor
Profesor scoala de miscare pentru iluminarea unui hol a
Sociologie unei incinte
Stiinta Rezervorul hidraulic
Tehnica mecanica CORPURI GEOMETRICE SIMPLE
Timp liber REGULATE
Arhitecturi de interconectare intre
retelele mobile
PLANUL INTERN DE URGENTA
PENTRU INCARCARE,
DESCARCARE SI DEPOZITARE
PRODUSE PETROLIERE
CURENTUL ELECTRIC CONTINUU
programare
tehnica mecanica
Masina de frezat
NovaMill CNC
Manual de programare
CUPRINS
1. NTRODUCERE______________________________________________________________
2. CE ESTE CNC?______________________________________________________________
5. STRUCTURA SUBPROGRAMELOR___________________________________________
8. DEFINIREA SEMIFABRICATULUI____________________________________________
22.16.3. G170 si G171 - prelucrarea unui buzunar circular - finisare printr-o singura trecere_____
22.16.6. G172 si G173 - preluarea unui buzunar dreptunghiular - finisare printr-o singura
trecere_________________________________________________________________________
1. NTRODUCERE
Echipamentul CNC (Conducere Numerica cu Calculatorul) Denford cu care opereaza intreaga
gama de masini unelte Denford este un sistem compatibil FANUC care utilizeaza codul de
programare ISO
Fiecare segment al programului este alcatuit dintr-un numar oarecare de coduri, numite si
functii, cele mai importante fiind seturile de coduri G si M. Acestea sunt cele care alcatuiesc
limbajul de baza utilizat pentru descrierea modului in care va fi prelucrata o piesa: ce miscari
trebuie efectuate, in ce ordine, cand trebuie inlocuita scula, etc.
Primele capitole ale acestui manual acopera aspectele principale ale programarii MUCN si
ofera indicatii asupra utilizarii comenzilor. Fiecare capitol se dezvolta progresiv, utilizand un
limbaj comun, usor de urmarit, ghidand utilizatorul in realizarea programelor de conducere
numerica. Dupa parcurgerea primei parti, operatorul va fi avea cunostintele de baza necesare
abordarii programarii sub aspectele ei esentiale.
Fara indoiala, acest manual nu poate (nici nu isi propune) sa ofere toate cunostintele necesare
programarii. Subiectul este pur si simplu prea vast pentru ca asa ceva sa fie posibil. Totusi,
acest manual formeaza baza necesara pe care sa se cladeasca noi cunostinte prin consultarea
unor documentatii mai pretentioase.
Partea I
EXEMPLU DE PROCES DE
3.
PRELUCRARE PE MUCN
Mentionam de la inceput, ca in acest exemplu sunt incluse toate etapele procesului, deci si
pregatirea programului, nu numai prelucrarea efectiva a piesei pe masina unealta (Fig. 1):
2. Programul este incarcat in calculatorul masinii, numit controler. In acest stadiu,
programul inca mai poate fi modificat si este posibila simularea functionarii sale utilizand
facilitatile interactive ale calculatorului.
3. Controlerul proceseaza programul piesa si transmite semnale masinii unelte, semnale care
dau informatii diverselor componente ale acesteia asupra operatiilor necesare in vederea
prelucrarii piesei.
Prin aplicarea conducerii numerice la o masina unealta clasica, lucrul cu aceasta poate fi
complet automatizat.
STRUCTURA PROGRAMULUI
4.
PRINCIPAL CNC
Programul piesa poate sa contina un numar oarecare de programe individuale, care impreuna
descriu toate operatiile care trebuie efectuate pentru a prelucra o piesa.
Programul principal este programul care detine controlul tuturor actiunilor. El este primul citit
si incarcat in memorie cand este rulat tot programul piesa. Programul principal poate apela un
numar oarecare de programe mai mici. Aceste programe se mai numesc subprograme, si sunt
utilizate pentru a realiza sarcini care se repeta. Dupa rularea unui astfel de subprogram,
controlul revine programului principal.
Bineinteles, controlerul (calculatorul masinii) functioneaza dupa un program, care in acest caz
este chiar programul principal.
ADRESE
Z - Indica distanta care trebuie parcursa de capul masinii de-a lungul axei Z;
Fiecare bloc, sau linie a programului, contine adrese care trebuie plasate in ordinea:
N, G, X, Y, Z, F, M, S, T;
Aceasta ordine trebuie respectata in orice fraza. Cu toate acestea, nu fiecare fraza va contine
toate adresele mentionate mai sus, adica dintr-o fraza pot sa lipseasca unele adrese, daca nu
sunt necesare.
Organizarea blocurilor de date intr-un program respecta urmatorul sablon. Este esential ca
structura de mai jos sa fie respectata, pentru a asigura corectitudinea atat a prelucrarii, cat si a
simularii (Fig. 2).
Lista
de
instructiuni de mai sus reprezinta un program scris in sistemul de programare Denford. Pentru
ca un astfel de program sa opereze corect si pe un echipament original FANUC, informatiile
despre sistemul CAD/CAM utilizat si dimensiunile semifabricatului trebuie eliminate din
program.
Un subprogram poate fi apelat cand masina se afla in modul de lucru automat (Auto Mode).
Subprogramele pot la randul lor sa apeleze alte subprograme. Se spune despre un program
principal care apeleaza un subprogram ca este un program cu o bucla. Nivelul maxim admis
pentru un program principal este cu patru bucle. Aceasta inseamna ca nivelul maxim de
imbricare al apelurilor de subprograme este patru. In Fig. 3 se prezinta un program principal
cu doua bucle.
a buclei a buclei
COMENZI PENTRU OPERAREA CU
6.
SUBPROGRAME
OBSERVATII GENERALE
Observatia 1:
Subprogramele sunt memorate sub numere de program formate din patru cifre.
Observatia 2:
Daca pentru o scula sunt necesare corectii de raza/lungime si acea scula este utilizata
in subprogram, corectiile trebuie apelate si apoi anulate in interiorul subprogramului.
Observatia 3:
Pentru a apela un subprogram se utilizeaza codul M98 urmat de Pxxxx unde xxxx este
numarul programului apelat (spre exemplu, M98 P2000).
Observatia 4:
Un apel de subprogram (M98 P2000) poate fi plasat intr-o fraza in care se comanda si
o miscare. Spre exemplu,
Observatia 5:
Codul M99 va returna controlul la blocul urmator celui in care s-a facut apelul din programul
apelant.
In cazul in care codul M99 este urmat de Pxxxx, controlul va fi predat in programul apelant la
linia (blocul) xxxx. Spre exemplu, linia de program
si va fi interpretat 'efectueaza programul 2000 de xxxx ori'. Daca numarul de repetari este
omis, subprogramul va fi efectuat o singura data.
N0010 G21;
vor fi interpretate:
Observatie: un program scris pentru o masina Denford, sau utilizand postprocesorul Denford
nu va putea opera direct pe o masina FANUC originala. Modulul de simulare al programului
este incompatibil cu echipamentul FANUC. Pentru ca programul sa ruleze cu succes pe o
masina FANUC, orice referire la sistemul CAD/CAM Denford, precum si descrierea
semifabricatului trebuie inlaturate din program.
DENUMIREA SI SALVAREA
9.
PROGRAMELOR
Salvarea pe disc a programelor este posibila numai dupa ce acestora li s-a atribuit un numar
sau nume.
Daca se salveaza un program editat cu consola Denford numarul programului poate fi cuprins
intre 1 si 999999999 (in acest context numarul programului joaca rolul de nume al acestuia).
Daca programul este editat in afara sistemului MUCN cu o tastatura QWERTY numele
programului poate fi alcatuit din litere si/sau cifre.
Observatia 1:
Subprogramele trebuie sa fie numerotate in domeniul 0001 .. 9999, deci utilizand patru
cifre. De altfel, se recomanda ca orice program sa fie numerotat in domeniul mai sus
mentionat.
Observatia 2:
Inainte de a salva un program pe disc, verificati daca numele fisierului curent nu a fost
deja folosit la salvarea altuia. In acest caz, acel fisier de pe disc va fi inlocuit cu cel curent,
deci va fi distrus.
Observatia 3:
Programele care urmeaza sa fie rulate ulterior pe o masina FANUC trebuie sa aiba
inscris numarul de program pe prima lor linie. Formatul pentru inscrierea numarului de
program compatibil FANUC este Oxxxx, unde xxxx este numarul programului, de exemplu
O20
NUMEROTAREA BLOCURILOR
10.
(LINIILOR) DINTR-UN PROGRAM
Un program este alcatuit din mai multe comenzi, fiecare comunicand masinii instructiuni
pentru rezolvarea unei anumite sarcini sau operatii.
Fiecare comanda este o linie separata in cadrul programului. Vom mai numi o astfel de linie
din program, bloc. Fiecare bloc este separat de urmatorul printr-un caracter special, care
indica sfarsitul de linie. Sistemul de programare Denford utilizeaza ca marcator al sfarsitului
de bloc caracterul punct si virgula (;).
La inceputul blocului poate fi specificata o valoare numerica (cuprinsa intre 0001 si 9999) ca
si continut al adresei N. Pot fi numerotate toate liniile unui program, sau doar cele care
necesita asa ceva.
Observatia 1:
Atunci cand este utilizata, adresa Numar de bloc (linie) - N, trebuie sa fie plasata prima
in blocul din care face parte.
Observatia 2:
Se recomanda numerotarea cu valori alcatuite din patru cifre, dar care sa nu fie
consecutive, ci crescatoare din 10 in 10. In acest mod este posibila in orice moment inserarea
de noi linii intr-un program.
Observatia 3:
Observatie: Din orice bloc pot lipsi una sau mai multe adrese.
O functie G este invocata prin caracterul G care desemneaza adresa si o valoare numerica de
doua cifre, continutul adresei.
Traiectoria sculei
Traiectoria sculei este determinata de miscari de-a lungul unor segmente de dreapta si sau
arce de cerc care descriu profilul piesei de prelucrat.
Acest tip de miscare se numeste interpolare circulara. Interpolarea circulara este activata cu
functiile G02 (in sens orar) si cu G03 (in sens trigonometric).
Formatul comenzii este: G03 X. Y. R.; X si Y sunt coordonatele punctului final al arcului, iar
R raza arcului parcurs. Nu este necesara specificarea coordonatelor centrului miscarii.
Dupa cum la inceputul programului a fost invocata functia G20 sau G21, marimea avansului
este exprimata in inch/min., respectiv in mm/min.
In general functiile invocate prin valori mici ale continutului au aceeasi semnificatie pe
majoritatea echipamentelor de conducere numerica. Functiile invocate prin valori mari ale
continutului sunt in general specifice anumitor echipamente.
Functiile M sunt apelate prin adresa M cu un continut format din doua caractere numerice.
Observatia 1:
Observatia 2:
M06 T3
Observatia 1:
Functia M06 trebuie sa fie plasata imediat inaintea functiei T care indica numarul noii
scule.
Observatia 2:
In momentul citirii secventei M06 T. masina va comanda deplasarea dupa cele trei axe
in punctul de schimbare a sculei, va opri turatia arborelui principal si se va efectua inlocuirea
sculei. Aceasta secventa de actiuni are loc indiferent de pozitia sculei in momentul citirii
comenzii de schimbare a sculei din program. Din acest motiv se recomanda urmarirea cu
atentie a pozitiei sculei inaintea apelului inlocuirii, si daca e cazul, dirijarea retragerii ei
pentru evitarea eventualelor coliziuni cu piesa.
COORDONATE ABSOLUTE SI
18.
RELATIVE
Cand este activa functia G90 coordonatele X, Y
si Z dintr-un program sunt masurate fata de un
punct fix, raportat la piesa de prelucrat, numit
nulul piesei. Se spune in acest caz ca
programarea s-a facut in coordonate absolute.
Dimpotriva, daca activ este G91, coordonatele
sunt raportate la ultimul punct invocat (atins de
scula), ceea ce corespunde programarii in
coordonate relative.
IGNORAREA OPTIONALA A
19.
BLOCURILOR
Liniile de program numerotate vor fi ignorate (sarite) la rularea programului daca sunt
precedate de caracterul slash si daca comutatorul Block skip de pe panoul de control al masinii
este in pozitia On. Cand comutatorul Block skip este in pozitia Off liniile marcate cu '/' sunt
tratate ca orice alta linie din program.
Observatie: caracterul slash poate fi plasat oriunde intr-o fraza, nu numai la inceputul ei. In
acest caz comenzile aflate inaintea lui se vor comporta normal, vor fi executate, iar cele care ii
urmeaza, vor fi ignorate.
COMENTARII SI MESAJE IN
20.
INTERIORUL PROGRAMELOR
Daca programul este scris off-line, adica in afara masinii unelte, de exemplu pe un calculator,
in interiorul sau pot fi plasate comentarii si/sau mesaje, adica secvente de text ignorate de
echipamentul de conducere numerica.
Comentariile sunt utile pentru a introduce anumite explicatii asupra programului. Astfel, pot fi
indicate dimensiunile si tipul sculelor atunci cand ele intra in lucru.
In mod normal, functiile G sunt plasate la inceputul frazelor, imediat dupa numarul de linie,
daca acesta exista.
Este permisa prezenta mai multor functii G intr-o fraza, cu conditia sa nu se nege reciproc.
O functie G este alcatuita din caracterul G (adresa) si o valoare numerica de doua cifre
(continutul).
G00
Adresa Continutul
Functii modale. Acestea sunt efective in linia in care sunt invocate, dar si in liniile
urmatoare, atata timp cat nu sunt negate de functii din aceeasi categorie. Cu alte cuvinte,
odata activata o functie modala, ea are efect si in urmatoarele linii de program, fara a fi
necesara repetarea apelului ei. Functiile modale, la randul lor, se clasifica in grupuri, dupa
cum vizeaza o anumita sarcina sau alta. O functie G modala ramane activa pana in fraza in
care o functie din acelasi grup este apelata. Un exemplu de grup este cel al functiilor de
pozitionare si interpolare.
N20 G21;
N30 G90;
N60 X100;
N70 Y120;
In fraza N90 interpolarea liniara G01 este negata de functia G03, interpolare circulara.
Functiile G01 si G03 fac parte din acelasi grup de functii.
Partea a II-a
FUNCTII G (FUNCTII
22.
PREGATITOARE). INTRODUCERE
Retineti ca exista doua tipuri de functii G. O functie modala este memorata si este efectiva
pana cand este apelata o alta functie G din acelasi grup modal. Functiile nemodale (non-
modale) sunt efective doar in frazele in care sunt apelate.
Nu este necesar apelul aceleiasi functii modale in fraze consecutive; totusi, apelarea repetata
in fraze consecutive a unei functii modale nu constituie eroare. Spre exemplu, in cazul
prelucrarii unui contur alcatuit numai din segmente de dreapta, este suficienta apelarea lui G1
doar in fraza in care incepe conturarea. G01 va ramane activ pana la apelul unui alt tip de
interpolare (G00, G02 sau G03).
Intr-o fraza pot fi apelate cel mult patru functii G. Acestea trebuie sa faca parte din grupuri
modale diferite; daca in aceeasi fraza se apeleaza doua sau mai multe functii G din acelasi
grup, efectiva va deveni doar ultima din grupul respectiv.
Lista functiilor G
Tabelul 1
* Stari implicite, cele active la pornirea masinii sau la resetarea masinii dupa oprirea ei cu
butonul de urgenta.
Functiile din grupul 0 sunt nemodale. Ele trebuie apelate in toate frazele in care sunt necesare,
chiar daca frazele respective sunt consecutive in program. Toate celelalte functii G sunt
modale.
G00 X Y Z
Observatia 1:
Observatia 2:
Functia G00 blocheaza compensarea sculei impusa prin una din functiile G41 sau G42.
Daca in momentul apelului lui G00 este activ G41 sau G42, compensarea sculei este
reactivata numai cand este apelata din nou o functie de interpolare (G01, G02 sau G03).
Observatia 3:
Functia G00 este modala si deci, incompatibila cu celelalte functii de interpolare in
aceeasi fraza.
Observatia 4:
Observatia 5:
In urma apelului functiei G00 miscarea dupa cele trei axe se efectueaza complet
independent, cu avansul rapid. In exemplul alaturat, G00 comanda deplasarea saniilor
simultan dupa axele X si Y cu acelasi avans. Aceasta face ca scula sa para ca se deplaseaza
diagonal (Fig. 7).
Cand dupa una din axe s-a atins coordonata programata, deplasarea va continua numai dupa
cealalta axa pana la atingerea punctului programat. Consecinta este ca scula isi modifica
directia relativa de deplasare in raport cu piesa. Deoarece traiectoria efectiva este greu de
estimat de catre programator, trebuie acordata o atentie deosebita evitarii eventualelor
coliziuni dintre scula si piesa sau dispozitivul de fixare a semifabricatului.
G01 X. Y. Z.
Avansul programat va fi efectiv de-a lungul traiectoriei, deci cel rezultat din combinarea
miscarilor dupa axele de coordonate ale celor doua sanii. Valoarea programata a avansului nu
se refera la miscarile descompuse de-a lungul axelor (nu se aplica fiecarei sanii).
Doar in cazurile particulare ale miscarilor programate in directie paralela cu a unei axe sania
se va deplasa chiar cu avansul programat.
In cazul miscarilor care rezulta prin combinarea translatiilor dupa diverse axe, toate saniile
implicate trebuie sa opereze in acelasi interval de timp. Pentru aceasta controlerul va calcula
avansul individual pentru fiecare sanie, astfel incat prin combinarea miscarilor sa rezulte
pentru deplasarea programata, avansul solicitat.
Observatia 1:
Observatia 2:
Observatia 3:
Observatia 4:
Functia G01 este modala, si prin urmare, incompatibila cu G00, G02 sau G03 in
aceeasi fraza.
Observatia 5:
Functia de interpolare liniara poate fi apelata in doua moduri: G01 sau G1.
I si J
Pentru a programa un arc cand nu se cunoaste raza, ci doar centrul miscarii, se vor utiliza
adresele I si J. I reprezinta pozitia centrului pe axa X in coordonate relative fata de punctul de
start. J reprezinta pozitia centrului pe axa Y in coordonate relative fata de punctul de start,
conform (Fig. 10):
Observatia 1:
I si J pot fi afectate de semnul '-' pentru a indica pozitia centrului fata de punctul de
start.
Observatia 2:
unde:
Pentru exemplul din Fig. 11, traiectoria sculei poate fi programata dupa cum urmeaza:
Coord. absolute si I,J Coord absolute si R Coord. relative si I,J Coord relative si 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;
G02 X55 Y40 I-40; G02 X55 Y40 R40; G02 X-40 Y-20 I-40; G02 X-40 Y-40 R40;
Cand se utilizeaza raza pentru descrierea arcului trebuie avute in vedere doua situatii:
B) arc cu deschiderea mai mare de 180o. In acest caz, conventional, raza va fi indicata ca
avand valoare negativa.
In exemplul din Fig. 12 arcul trasat cu linie continua corespunde situatiei B, iar cel cu linie
intrerupta, variantei A.
respectiv
Observatia 1:
Cand se programeaza arce utilizand raza, valoarea lui R trebuie sa fie mai mare sau cel
putin egala cu jumatate din deplasarea cea mai lunga de-a lungul axelor. Spre exemplu, daca
punctul curent (pozitia actuala a sculei) este (50,50), iar capatul programat al arcului este in
(120,90), deplasarile sunt X=70 si Y=40; raza minima va fi 35, sau
Observatia 2:
I0 si J0 pot fi omise din program. Daca centrul arcului se afla pe aceeasi verticala sau
orizontala cu punctul de start, adresa I, respectiv J poate sa lipseasca din fraza.
Observatia 3:
Daca una din adresele X sau Y este omisa, se considera ca punctul final al arcului
coincide cu cel de start. In acest caz, Pot fi luate in considerare doua situatii:
A) centrul este impus prin adresele I si/sau J; se va genera un arc de 360o, adica un cerc
intreg.
B) raza este impusa prin adresa R; se va genera un arc de 0o, deci scula nu va executa nici o
miscare.
Observatia 4:
Daca in aceeasi fraza vor fi specificate atat adresele I si/sau J cat si R, va fi luata in
considerare doar R, celelalte fiind ignorate.
Observatia 5:
Functiile de interpolare circulara pot fi invocate in program in cate doua moduri: G02
sau G2, respectiv G03 sau G3.
sau
Observatia 1:
Observatia 2:
Observatia 3:
Temporizarea se produce atunci cand avansul F, din fraza anterioara devine zero.
Observatia 4:
Observatia 5:
Observatia 6:
Observatia 1:
Observatia 2:
Observatia 3:
Functiile G20 si G21 fac parte din acelasi grup si sunt modale.
G90 G28 X. Y. Z.
sau
G91 G28 X. Y. Z.
unde X, Y si Z pot fi folosite pentru a indica un punct intermediar, prin care va trece scula,
inainte de a ajunge in punctul de referinta.
Acest punct intermediar permite deplasarea sculei pe o cale impusa, pentru a evita
coliziunea sculei cu piesa sau cu dispozitivul de fixare a piesei.
Raza sculei (corectia de raza) este masurata si apoi memorata in fisierul de corectii. Odata
descris conturul de prelucrat, echipamentul de conducere numerica poate genera orice
echidistanta la acesta (traseul pe care trebuie sa il parcurga centrul sculei) tinand seama de
raza sculei, fara alte interventii speciale in program.
Pentru a intelege mai bine compensarea sculei in cazul frezarii de conturare trebuie avute in
vedere urmatoarele:
Tinand seama de cele de mai sus, se poate trage concluzia ca traiectoria centrului sculei,
trebuie determinata luand in calcul datele profilului de prelucrat si raza frezei. Acest lucru
poate fi efectuat prin prelucrarea externa a informatiilor, deci in afara masinii, sau intern: de
catre controler sau de catre echipamentul de conducere numerica. Prima varianta este
anevoioasa, sau impune utilizarea unui sistem CAM. A doua este cea mai convenabila, cu atat
mai mult, cu cat limbajul conducerii numerice dispune de mijloacele necesare efectuarii
calculelor si gestionarii comenzilor pentru controlul deplasarii sculei in raport cu piesa.
Prin corectie de scula vom intelege raza frezei. Aceasta valoare este cea luata in calcul pentru
determinarea echidistantei; corectia de scula trebuie sa fi fost inregistrata inaintea rularii
programului pentru fiecare scula implicata in prelucrare si salvata in fisierul de corectii (offset
file).
Cand intr-un program CNC trebuie luata in considerare raza frezei, trebuie specificata pozitia
sculei fata de semifabricat utilizand functiile prezentate in tabelul urmator:
In Fig. 14 este ilustrat modul de deplasare a sculei sub efectul functiilor G41 si G42.
22.7.2. Initierea compensarii sculei
Initierea compensarii sculei este necesara pe de o parte specificarii partii pe care se va deplasa
scula in raport cu traiectoria programata, iar pe de alta parte pentru a asigura timpul necesar
comutarii la noul mod de lucru.
1) Sa contina apelul uneia din functiile G41 sau G42, sau sa urmeze unei fraze cu G41/G42;
2) Sa contina o comanda de miscare G01 in planul XOY, iar deplasarea comandata sa fie
mai mare decat raza sculei;
3) Raza sculei, R, deci corectia corespunzatoare sculei care lucreaza, trebuie sa fie strict
pozitiva.
Observatia 1:
Observatia 2:
In timpul lucrului cu compensare a sculei sunt citite si memorate intotdeauna cate doua
fraze din program; in acest mod, la un moment dat, in memorie sunt prezente fraza curenta si
urmatoarele doua. Aceasta, deoarece pentru a putea determina echidistanta la traiectoria
programata, echipamentul trebuie sa 'stie' tipul si orientarea miscarii care urmeaza dupa cea
curenta. Numai avand la dispozitie aceste date poate fi calculat punctul in care se termina
miscarea curenta si incepe urmatoarea (se intelege ca aceste doua puncte trebuie sa coincida).
Observatia 3:
Functiile G40, G41 si G42 sunt modale si apartin aceluiasi grup, prin urmare nu pot
coexista in aceeasi fraza.
Functia G40 poate fi apelata numai in fraze in care sunt comandate deplasari liniare (G00,
G01, G28).
Observatia 1:
Dupa prelucrarea unui buzunar interior se recomanda retragerea sculei dupa axa Z
pana intr-o pozitie sigura (care sa excluda orice coliziune cu piesa) inainte de anularea
compensarii sculei cu G40.
Observatia 2:
3. La terminarea (fortata) a programului prin apelul direct al functiei M02 sau M30.
Pentru prelucrarea conturului din Fig. 15 se va utiliza secventa de program prezentata mai jos.
O0010
N0030 Y40;
N0050 X60;
In general, un ciclu de gaurire este alcatuit din sase operatii, conform Fig. 16:
Pozitionarea sculei se face in planul XOY, iar prelucrarea efectiva a gaurii, dupa axa Z.
22.8.1.
Sintaxa frazei care contine apelul unui ciclu de gaurire este urmatoarea
G90 G98
G91 G99
unde:
Z. distanta de la fundul gaurii la nivelul R (pentru G91 - coordonate relative) sau pozitia
fundului gaurii (pentru G90 coordonate absolute).
R. distanta dintre nivelul initial si punctul R (pentru G91 - coordonate relative) sau cota
punctului r fata de nul (pentru G90 coordonate absolute).
P. temporizare pentru schimbarea sensului avansului la fundul gaurii (vezi G04 temporizare).
K. numarul de repetari ale ciclului de gaurire. Daca nu este prezent in fraza, se considera a
avea valoarea 1.
F. avansul de lucru.
Observatia 1:
Observatia 2:
Odata introduse, datele necesare gauririi sunt retinute de controlerul masinii pana in
momentul in care sunt modificate sau ciclul de gaurire este oprit. La parcurgerea repetata a
unui ciclu, nu trebuie introduse de fiecare data toate informatiile, ci doar cele care se modifica
de la o gaura la alta.
Exemplul 1: ciclu de gaurire pentru 4 gauri, cea de a treia gaura fiind cu 10 mm mai adanca.
X20;
X30 Z-25;
X40 Z-15;
G80;
G90 G98
G91 G99
Burghiul se pozitioneaza deasupra primei gauri, la nivelul initial, apoi comanda G73 este
citita de controler si incepe ciclul. Burghiul se apropie rapid pana in punctul R, de unde
incepe sa se deplaseze cu avans de lucru pana cand va fi ajuns la adancimea Q fata de acest
punct. Urmeaza o retragere pe o anumita distanta. Aceasta distanta, mica, nu poate fi
controlata de programator, ea fiind o constanta a masinii. Urmeaza o noua faza de gaurire pe
adancimea Q si o scurta retragere. Aceasta secventa se repeta pana la atingerea fundului gaurii
(planul Z). Retragerea burghiului dupa prelucrarea gaurii se face pana in punctul initial daca a
fost programata functia G98, sau pana in punctul R daca activ este G99. Se citeste un nou bloc
si daca acesta contine adresele X si/sau Y se pozitioneaza burghiul in punctul indicat si se reia
ciclul de gaurire rapida.
G90 G98
G91 G99
Dupa cum in fraza care a declansat filetarea a fost programat G98 sau G99 se va face
retragere rapida pana la nivelul initial sau scula va ramane in punctul R pana la urmatoarea
miscare.
Observatie: trebuie respectata relatia F=S*P unde F=avansul, S=turatia, P= pasul filetului.
G90 G98
G91 G99
Op. 4 Temporizare, oprirea turatiei arborelui principal si retragerea sculei catre centrul gaurii
cu distanta Q.
Observatie:
G90 G98
G91 G99
Op. 4 Retragere rapida pana la nivelul initial (G98) sau pana in punctul R (G99).
G90 G98
G91 G99
Op. 4 Temporizare.
Op. 5 Retragere rapida pana la nivelul initial (G98) sau pana in punctul R (G99).
Sintaxa frazei pentru programarea ciclului de gaurire adanca G83 este urmatoarea:
G90 G98
G91 G99
Op. 5 Retragere rapida pana la nivelul initial (G98) sau pana in punctul R (G99).
Acest ciclu se deosebeste de gaurirea rapida doar prin faptul ca retragerile intermediare se fac
pana in punctul R si nu doar pe o mica distanta.
Sintaxa frazei pentru programarea ciclului de filetare cu tarodul G84 este urmatoarea:
G90 G98
G91 G99
Acest ciclu nu se deosebeste de cel de filetare cu cutitul, G74, decat prin ordinea adreselor in
fraza: Z, P, R la G74 si Z, R, P la G84.
G90 G98
G91 G99
Op. 4 Retragere cu avans de lucru pana la nivelul initial (G98) sau pana in punctul R (G99).
Fata de ciclul G76, alezare de finisare, exista o serie de diferente, dupa cum urmeaza:
revenirea in planul initial sau cel de referinta nu se mai face cu retragerea sculei catre centrul
gaurii si nu se mai opereaza temporizare la atingerea fundului gaurii. Aceasta implica
omiterea din fraza cu G85 a parametrilor P si Q. In plus, deoarece scula se deplaseaza la
revenire pe aceeasi traiectorie ca si in faza de prelucrare, ciclul G85 poate fi efectuat pe orice
masina de frezat, fara restrictia impusa de oprirea precisa, ca in cazul alezarii de finisare.
G90 G98
G91 G99
Op. 4 Retragere rapida pana la nivelul initial (G98) sau pana in punctul R (G99).
Fata de ciclul G85, diferenta consta in faptul ca retragerea din gaura a sculei se face cu avans
rapid
Sintaxa frazei pentru programarea ciclului de alezare de jos in sus, G87, este urmatoarea:
G90 G98
G91 G99
Op. 2 Oprirea axului principal si orientarea sa. Deplasare in planul XOY catre centrul gaurii
cu distanta Q.
Op. 7 Deplasare Q.
G90 G98
G91 G99
Op. 4 Retragere rapida pana la nivelul initial (G98) sau la nivelul R (G99).
22.9.
N0050 G90 G00 X10 Y30 Z12 S1000 M03;Pozitionarea sculei la nivelul initial
N0060 G99 G81 X10 Z30 -17 R2 F75; Gaura 1, retragere la nivelul R
N0140 G91 G80 G28 X0 Y0 Z0 M05; Masina acasa, oprirea axului principal
N0160 G90 G00 X60 Y28 Z12 S 750 M03; Pozitionarea sculei la nivelul initial
Observatie:
G90 este activ in mod implicit la pornirea masinii, dupa resetarea de la panoul de
control al masini si dupa oprirea masinii cu butonul oprire de urgenta.
Functia G91 activeaza modul de lucru cu programarea punctelor in coordonate relative. Din
momentul apelarii ei coordonatele utilizate pentru programarea punctelor sunt masurate fata
de pozitia curenta a sculei.
Functiile G90 si G91 apartin aceluiasi grup, deci nu pot coexista in aceeasi fraza.
Cand este activ G94 avansul programat este exprimat in ul/min, unde ul este unitatea de
masura pentru lungime: inch sau mm dupa cum este activ G20, respectiv G21.
Cand este activ G95 avansul programat este exprimat in ul/rot, unde ul este unitatea de
masura pentru lungime: inch sau mm dupa cum este activ G20, respectiv G21.
22.14. G98
- revenire la nivelul initial
Functia G98 este utilizata conjugat cu functiile pentru programarea ciclurilor de gaurire. Daca
este activ G98, retragerea sculei dupa prelucrarea gaurii se face pana la nivelul initial (planul
orizontal in care s-a facut pozitionarea sculei).
22.15. G99
- revenire la nivelul R
Functia G99 este utilizata conjugat cu functiile pentru programarea ciclurilor de gaurire. Daca
este activ G99, retragerea sculei dupa prelucrarea gaurii se face pana la nivelul R (planul
orizontal pana la care s-a efectuat apropierea rapida a sculei). Reamintim ca nivelul (cota Z) a
planului respectiv se programeaza cu adresa R in cadrul ciclurilor de gaurire.
circulare si dreptunghiulare
Prin utilizarea functiilor G170 .. G173 se poate programa prelucrarea buzunarelor circulare
sau dreptunghiulare (Fig. 22).
Programul nr. 2 - Program de degrosare pentru prelucrarea unui buzunar circular folosind
functiile G170 si G171
N0120 M30;
Explicarea pe larg a liniilor de program in care sunt implicate functiile G170 si G171
Pentru functia G171: N0090 G171 P75 S300 R75 F250 B3500 J200
P -adancimea de aschiere, ca procentaj din diametrul sculei (75% din diametrul sculei)
Cand s-a incheiat prelucrarea, scula aschietoare se retrage 1 mm de-a lungul axei Z, se
deplaseaza apoi rapid pana in centrul buzunarului iar apoi continua sa se retraga de-a lungul
axei Z. Programul de mai sus este conceput pentru o prelucrare de degrosare in doua treceri.
Diferenta dintre programul anterior (0002) si acesta (0003) este aceea ca acest program lasa
un adaos si pentru finisare pe peretii buzunarului si la baza acestuia.
[TOOLDEF T1 D6 Z0;
O0003
N0120 M30;
Explicarea pe larg a liniilor de program in care sunt implicate functiile G170 si G171
Pentru functia G171: N0090 G171 P75 S300 R75 F250 B3500 J200
P -adancimea de aschiere, ca procentaj din diametrul sculei (75% din diametrul sculei)
Diferenta dintre programul anterior si cel prezent mai jos consta in aceea ca in acest caz scula
aschietoare se deplaseaza pana la adancimea finala a buzunarului, realizand doar operatia de
finisare.
[TOOLDEF T1 D6 Z0;
O0004;
N0120 M30;
Explicarea pe larg a liniilor de program in care sunt implicate functiile G170 si G171
Pentru functia G170: N0040 G170 R0 P1 Q3 X0 Y0 Z6 I0.5 J0.1 K-24
Pentru functia 171: N0040 G171 P75 S300 R75 F250 B3500 J200
P - adancimea de aschiere, ca procentaj din diametrul sculei (75% din diametrul sculei)
R - avansul la degrosare de-a lungul axei Z (75). Trebuie introdusa o valoare, insa aceasta va
fi ignorata in cazul unei prelucrari exclusiv de finisare
Observatie: desi o serie de adrese sunt ignorate in timpul rularii programului, acestea trebuie
sa existe (inclusiv valoarea lor numerica) pentru ca fraza sa fie interpretata corect si in acest
mod evitate eventualele erori.
Observatie:
punctul de 0
absolut este
memorat in
fisierul de
corectii
Programul nr.
5. Program
pentru
degrosarea
unui buzunar
dreptunghiular
Explicarea in amanunt a liniilor de program in care sunt implicate functiile G172 si G173
Pentru functia G172: N0080 G172 I-50 J-50 K0 P0 Q3 R0 X-25 Y-25 Z-6;
Z - defineste cota Z a fundului buzunarului (-6 fata de suprafata piesei, deci adancimea de 6
mm a buzunarului)
Pentru functia G173 : N0090 G173 I0 K0 P75 T1 S300 R75 F250 B3500 J200 Z5
I -adaosul de finisare pe peretii buzunarului (in acest caz este 0, nefiind implicata si o
finisare);
P -adancimea de aschiere ca procentaj din diametrul sculei (75% din diametrul sculei);
Programul de mai sus este realizat pentru degrosare din doua treceri.
X si Y - coordonate relative fata de punctul de zero (nulul) al piesei (fig. 24), in
exemplu, centrul buzunarului. Distanta de la punctul de nul pana la coltul din stanga jos al
buzunarului este X-25 Y-25.
daca I si K sunt setate la valoarea 0, programul va realiza doar ciclurile de degrosare
(in exemplu 2 cicluri), la fel ca si in cazul prelucrarii buzunarelor circulare;
Programul 006
[TOOLDEF T1 D6 Z0;
00006;
N0090 G173 I0.5 K0.1 P75 T1 S3000 R75 F250 B3500 J200 Z5;
N0120 M30;
Explicarea in amanunt a liniilor de program in care sunt implicate functiile G172 si G173
Pentru functia G172: N0080 G172 I-50 J-50 K0 P0 Q3 R0 X-25 Z-6
Z - defineste cota Z a fundului buzunarului (-6 fata de suprafata piesei, deci adancimea de 6
mm a buzunarului)
Pentru functia G173 : N0090 G173 I0.5 K0.1 P75 T1 S300 R75 F250 B3500 J200 Z5
P - adancimea de aschiere ca procentaj din diametrul sculei (75% din diametrul sculei);
Observatie: cand I si K sunt urmate de valori nenule programul va realiza ciclul de finisare
dupa incheierea completa a ciclurilor de degrosare.
[TOOLDEF T1 D6 Z0;
00007;
N0060 G173 IO.5 K0.1 P75 T1 S3000 R75 F250 B3500 J200 Z5;
N0090 M30;
Explicarea in amanunt a liniilor de program in care sunt implicate functiile G172 si G173
Pentru functia G172: N0040 G172 I-50 J-50 K0 P1 Q3 R0 X-25 Y-25 Z-6;
Pentru functia G173 : N0040 G173 I0.5 K0.1 P75 T1 S3000 R75 F250 B3500 J200 Z5
P -adancimea de aschiere ca procentaj din diametrul sculei (75% din diametrul sculei);
Observatie: Toate datele specifice degrosarii vor fi ignorate de program in timpul rularii.
Este insa necesara introducerea unor valori si pentru aceste date deoarece, in caz contrar, la
compilarea secventiala a programului s-ar semnala erori.
Introducere
Functiile de tip M sunt functii auxiliare pentru transmiterea unor comenzi de tipul "pornit -
oprit" unor componente ale masinii unelte (pornirea turatiei M05, etc). Functiile al caror
continut este reprezentat prin valori mici sunt in general comune unui numar mare de
echipamente de conducere numerica, in timp ce valorile mari ale functiilor se adreseaza unor
trasaturi specifice cate unui echipament.
O functie de tip M poate fi definita folosind o adresa de tip M si un numar format din
doua cifre ca in figura de mai jos:
M 00
Denford
Lista functiilor M
Tabelul 2
Functia Descriere
M
M00* Oprirea programului
M01* Oprirea optionala a programului
M02* Resetarea programului
M03 Pornirea turatiei cu rotirea axului principal in sens orar
M04 Pornirea turatiei cu rotirea axului principal in sens trigonometric
M05 Oprirea turatiei
M06 Schimbarea automata a sculelor
M08 Pornirea lichidului de racire - ungere
M09 Oprirea lichidului de racire - ungere
M10 Deschiderea sistemului de fixare a semifabricatului
M11 Inchiderea sistemului de fixare a semifabricatului
M13 Pornirea turatiei in sens orar si a lichidului de racire-ungere
M14 Pornirea turatiei in sens trigonometric si a lichidului de racire-ungere
M19 Orientarea arborelui principal
M20 Deplasarea MASS (magazinul automat de schimbare a sculelor) sub arborele
principal
M21 Deplasarea MASS de sub arborele principal
M22 Deplasarea MASS in jos
M23 Deplasarea MASS in sus
M24 Deschiderea sistemului de fixare a portsculei in arborele masinii
M25 Inchiderea sistemului de fixare a portsculei in arborele masinii
M27 Resetarea pozitiei magazinului de scule
M30 Oprirea programului si pozitionare la inceputul lui
M32 Rotirea magazinului de scule in sens orar
M33 Rotirea magazinului de scule in sens trigonometric
M38 Deschiderea usii de protectie
M39 Inchiderea usii de protectie
M62 Iesire auxiliara 1 - activa
M63 Iesire auxiliara 2 - activa
M64 Iesire auxiliara 1 - dezactivata
M65 Iesire auxiliara 2 - dezactivata
M66 Asteptare pentru iesirea auxiliara 1 - activata
M67 Asteptare pentru iesirea auxiliara 2 - activata
M70 Schimbarea semnului pe directia X - activat (oglindire pe axa X)
M71 Schimbarea semnului pe directia Y - activat (oglindire pe axa Y)
M76 Asteptare pentru iesirea auxiliara 1 - dezactivata
M77 Asteptare pentru iesirea auxiliara 2 - dezactivata
M80 Schimbarea semnului pe directia X - dezactivat
M81 Schimbarea semnului pe directia Y - dezactivat
M98 Apelare subprogram (subrutina)
M99 Incheierea subprogramului si revenire in programul apelant
Observatia 1:
Functiile M marcate cu * vor fi executate la incheierea unui bloc (ex.: dupa efectuarea
miscarilor).
Observatia 2:
Intr-un bloc nu poate exista decat o singura functie de tip M. In cazul cand exista mai
multe astfel de functii echipamentul CNC va executa doar ultima functie de tip M din cadrul
blocului.
Observatia 3:
Functiile de tip M de la M19 pana la M27 inclusiv, precum si functiile M32 si M33
sunt folosite doar in cazul executarii unor operatii de intretinere. Aceste functii pot fi
introduse panoului de control al masinii si nu vor aparea in cadrul programelor.
Cand echipamentul CNC va citi aceasta functie in interiorul unui bloc va opri
derularea programului. Repornirea (continuarea) acestuia din punctul in care a fost
oprit se poate face prin apasarea tastei [CYCLE START].
Are acelasi efect ca si functia anterioara M00, cu diferenta ca in acest caz echipamentul CNC
nu va opri programul decat daca este actionata tasta optionala [STOP].
sens orar
Rotirea arborelui principal in sens orar este determinata de vizualizarea arborelui
principal de sus in jos, privind din spatele acestuia catre scula aschietoare de-a
lungul axei Z. Pornirea turatiei este activata la inceputul blocului de program in care
este prezenta functia M03, inaintea realizarii celorlalte miscari ale elementelor
mobile.
sens trigonometric
Functia M05, de oprire a turatiei, este activata la incheierea blocului din care face
parte (de exemplu dupa incheierea deplasarilor).
deplasarea organelor mobile la capatul de cursa care asigura spatiul necesar
manevrelor de schimbare a sculei;
semifabricatului
semifabricatului
de racire-ungere
Aceasta functie combina functiile M03 si M08 prezentate anterior. Functia M05 va
opri simultan turatia si lichidul de racire-ungere .
lichidului de racire-ungere
Deschide mecanismul de prindere al sculelor in axul masinii.
lui
Aceasta functie opreste rularea programului in momentul cand s-a ajuns la sfarsitul
lui. Dupa aceasta ECN realizeaza si un "reset" revenind la prima linie a programului.
Daca functia M30 este urmata de un numar de bloc, programul se va intoarce la
inceputul acelui bloc de program. Ex: M30 P0140 - Programul este oprit si revine la
blocul cu numarul 140.
Deschide ecranul protector al masinii. Concomitent cu aceasta se opreste turatia
daca este pornita. Cata vreme capacul de protectie este deschis nu pot fi lansate
comenzi masinii nici in mod direct, nici din program.
Ex.: G0 X25,5
M70
programul apelant
Pe ultima linie a unui subprogram functia M99 incheie rularea subprogramului predand
controlul programului apelant. Daca M99 este prezenta pe ultima linie a programului
principal, aceasta va genera un ciclu infinit in care programul principal este mereu reluat.
Daca functia M99 este urmata de adresa P care indica un numar de bloc, revenirea in
programul apelant se va face la blocul respectiv, si nu la cel consecutiv apelului de
subprogram.