Documente Academic
Documente Profesional
Documente Cultură
Programare CNC
Cuprins
II.3.1 Introducere .......................................................................................................... 82
II.3.2 Competenţe .......................................................................................................... 82
II.3.3. Origini axe mişcări. .....................................................................................................83
II.3.4. Structura programelor CNC. .....................................................................................90
II.3.5. Coduri standard ISO. Funcţii G şi adrese M. ..........................................................97
II.3.6. Rezumat. ......................................................................................................................109
II.3.7. Test de evaluare. ........................................................................................................116
II.3.8. Bibliografie. ................................................................................................................116
II.3.1. Introducere
Programarea CNC reprezintă ansamblul de activităţi pe care îl desfăşoară
un programator în vederea obţinerii pe un suport adecvat a programului maşinii. În
program se precizează întreg ciclul de lucru al maşinii-unelte cu comandă
numerică şi toate functiile auxiliare ale acesteia. MUCN sunt conduse prin aşa-
numitele calculatoare de proces. În această unitate de învăţare, notiunile prezentate
contribuie la fundamentarea bazelor teoretice şi aplicative a programării MUCN.
II.3.2. Competenţele unităţii de învăţare
După parcurgerea disciplinei studenţii vor fi capabili:
să cunoască particularităţile axelor NC şi modul lor de configurare;
să cunoască modalităţile de programare a sistemelor CNC;
să întocmească programul de prelucrare în regim: ISO, conversaţional şi
CAD/CAM;
să implementeze un program redacatat în varianta ISO pe centrul de prelucrare
cu echipament FANUC;
să utilizeze tastele echipamentului pentru introducerea programului in regim
conversational;
să utilizeze limbajul de programare asistată CATIA în vederea generării
fişierului de prelucrare a piesei.
82
II.3.3. Origini. Axe şi mişcări
1. Poziţia originii
83
2. Poziţia sistemului de coordonate
În comanda numerică s-a introdus noţiunea de axă ca fiind o deplasare liniară. Aceste
deplasări (mişcări) sunt executate de către organele mobile ale maşinii-unelte cu comandă
numerică. Stabilirea corectă a axelor este foarte importantă în cazul MUCN, deoarece în
program se intruduc sensul şi direcţia acestor axe, iar deplasările sunt raportate la axele de
coordonate ataşate în mod fictiv maşinii-unelte sau piesei, dupa anumite reguli.
Există un sistem de axe de coordonate ale maşinii-unelte, când axele corespund
deplasărilor sculei şi un sistem de axe de coordonate al piesei ce se referă la deplasările
executate de elementul pe care se fixează piesa.
Putem distinge următoarele sisteme de coordonate (fig. 2.25), [6]:
Sistemul de coordonate al maşinii unelte cu originea maşinii unelte, M
Sistemul de coordonate de bază (poate fi sistemul de coordonate al piesei W)
Sistemul de coordonate al piesei cu originea piesei W
Sistemul de coordonate curent al piesei cu decalarea curentă a originii piesei Wa
Fig. 2.25
84
Poziţia sistemului de coordonate faţă de maşină depinde de tipul acesteia. Direcţia
axelor urmează “regula mâinii drepte” (conform DIN 66217), [6], figura 2.27. Stând în faţa
maşinii, degetul mijlociu al mâinii drepte arată direcţia de avans a arborelui principal. În
continuare:
Degetul mare arată direcţia +X
Degetul arătător arată direcţia +Y
Degetul mijlociu arată direcţia +Z
Z+ W+
C+
Y+ V+
OM OM
B+ E+
X+ A + U+ D+
R+
Q+
OM
P+
Fig. 2.28
86
Exemplu. Sistemele de coordonate pentru câteva tipuri de MUCN
Fig. 2.29
87
Sistemul de coordonate al piesei
Pentru ca maşina sau echipamentul să funcţioneze în limitele poziţiilor specificate,
aceste date trebuie prezentate într-un sistem de referinţă corespunzător direcţiei de mişcare a
axelor. În acest scop se utilizează un sistem de coordonate cu axele X, Y şi Z. Conform DIN
66217 pentru maşini unelte se utilizează sisteme de coordonate tri-ortogonale (carteziene).
Originea piesei (W) constituie originea sistemului de coordonate al piesei. Câteodată
este recomandabil sau chiar necesar să se lucreze cu valori negative. Au semnul negativ
poziţiile situate în partea stângă a originii (fig. 2.30 ).
Fig. 2.30
Geometria unei piese este descrisă în sistemul de coordonate al piesei. Sistemul de
coordonate al piesei este întotdeauna un sistem de coordonate cartezian şi corespunde unei
anumite piese. Adaptarea sistemului de coordonate al piesei la axele maşinii este prezentată în
figura 2.31. Amplasarea sistemului de coordonate al piesei în raport cu sistemul de
coordonate de bază (sau sistemul de coordonate al maşinii) este determinată prin cadre de
programare. Cadrele de programare sunt activate în programul NC cu ajutorul unor comenzi,
ca de exemplu G54, [6].
Exemplu. Sistemul de coordonate al piesei
Fig. 2.31
88
3. Tipuri de axe
La programare se face distincţie între următoarele tipuri de axe [6], (fig. 2.32):
axele maşinii
axele canalului
axele geometrice
axele adiţionale
axele de conturare
axele sincrone
axele de poziţionare
axele de comandă (axe de mişcare sincronă)
axele PLC
Fig. 2.32
89
II.3.4 Structura programelor CNC
Coordonate Poziţia
X/Z
N10 X0 Z0 OM
N20 X40 (1)
N30 Z-20 (2)
N40 X80 Z-50 (3)
N50 Z-70 (4)
Fig. 2.33
90
Exemplu. Coordonate incrementale
Coordonate Poziţia
U/W
N10 X0 Z0 OM
N20 U40 (1)
N30 W-20 (2)
N40 U40 W-30 (3)
N50 W-20 (4)
Fig. 2.34
91
propriu-zisă (realizată de către programator, care editează programul având fişa tehnologică
anterior stabilită).
E. Elaborarea programului CNC presupune transpunerea într-un program sub forma
unor blocuri funcţionale a unor instrucţiuni satandard sau specifice echipamentului de
comandă numerică, utilizând un limbaj de programare codificat (limbaj ISO). Programul
contine informaţii sub formă de coduri (funcţii G, adrese M, alte adrese) şi numere.
Editarea programului se realizează de către programator utilizând un editor de texte
specific care eventual poate avea şi un analizator sintactic care avertizează asupra
eventualelor erori de tipul: informaţii incomplete, transmiterea unor comenzi contradictorii
sau greşite.
F. Testarea programului este necesară în vederea verificării şi validării programului
CNC anterior elaborat.
Testarea poate fi efectuată în două moduri:
a. Testarea în afara maşinii - în funcţie de ceea ce este disponibil, se poate realiza pe
calculator, adică este citit programul şi sunt desenate traseele pe care se deplasează
scula.
b. Testarea pe maşină, presupune lucrul în regim frază cu frază, adică se urmăresc frazele
scrise în program de către operator urmărindu-se în special deplasările săniilor şi
valorile curselor acestora. Prelucrarea în regim frază cu frază înseamnă că, după
executarea unei fraze maşina se opreşte şi necesită pornire pentru fraza următoare.
Testarea pe maşină se poate realiza lucrând în regim de viteze mărite, utilizând modele
ale piesei din lemn sau material plastic. Se prelucrează o piesă completă, se măsoară şi
se fac eventual corecţiile din program. Se mai prelucrează încă o piesă, se măsoară şi
dacă totul este în regulă, programul definitiv este elaborat şi implementat pe calculator şi
maşina-unealtă cu comandă numerică.
Elementele de bază pentru elaborarea unui program CNC sunt instrucţiunile sau
blocurile informaţionale realizate într-un limbaj de programare codificat (limbajul ISO).
Programele CNC costau dintr-o succesiune de astfel de instrucţiuni. În general, instrucţiunile
sunt standard, dar pot fi şi specifice echipamentului de comandă numerică utilizat.
Elementele componente ale blocului de informaţii sunt: adresa şi cuvântul.
92
Adresa reprezintă caracterul sau grupul de caractere prin care se indică o funcţiune a
maşinii.
Cuvântul este format din adresă şi o valoare numerică ataşată acesteia.
în care, N reprezintă adresa, iar N10 - cuvântul. Se poate observă, din exemplul de mai sus, că
avem mai multe cuvinte care constituie o frază (bloc informaţional).
Cuvinte
Programele NC sunt alcătuite din fraze, iar acestea sunt alcătuite din cuvinte, [6], fig.
2.35. Un cuvânt în limbajul NC este format dintr-un caracter adresă şi un digit sau şir de
digiţi reprezentând o valoare aritmetică. Adresa cuvântului este de obicei o literă. Şirul de
digiţi poate avea semn şi punct zecimal. Semnul este aşezat întotdeauna între adresă şi şirul
de digiţi. Nu este necesar să se specifice semnul plus (+).
Exemplu
Fig. 2.35
Ordinea în care apar adresele într-un bloc este bine stabilită şi trebuie respectată
întocmai (exemplu, fig. 2.36, [9]).
Observatie: Din orice bloc pot lipsi una sau mai multe adrese.
În elaborarea programului CNC se urmăreşte ca în fiecare frază de prelucrare să se
faca prelucrari cât mai complete.
Programul principal si subprogramele sunt scrise utilizând coduri ISO (funcţii
pregătitoare G, funcţii auxiliare M, şi alte funcţii).
93
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.
N- indică numărul frazei; G - face trimitere la codurile G (funcţii pregătitoare); X - Indică
distanţa care trebuie parcursă de sanie de-a lungul axei X; Y - Indică distanţa care trebuie
parcursă de sanie de-a lungul axei Y; Z - Indică distanţa care trebuie parcursă de capul
maşinii de-a lungul axei Z; F - Indică viteza de avans; M - apelează funcţii diverse (care de
obicei se adresează direct maşinii unelte pentru a stabili condiţiile de prelucrare); S - Indică
turaţia arborelui principal; T - se referă la gestionarea sculelor.
Exemplu. Structura unui bloc înformaţional
Fig. 2.36
Exemplu
Frază Cuvânt Cuvânt Cuvânt ... ;Observaţii
94
Structura de principiu a unui program sursă:
1. Selectare program
- Nume program
- Unitate de măsură în program
2. Apelare date sculă
- Număr sculă
- Unitate de măsură în program
3. Schimbare sculă
- Coordonatele punctului de schimbare a sculei
- Corecţia sculei
- Avansul (poziţionare rapidă)
- Funcţii de tip M
4. Apropiere de poziţia de start
- Coordonatele punctului de start
- Anulare corecţie de rază
5. Deplasare la adâncimea de aşchiere
- Coordonatele planului de aşchiere
- Avansul (poziţionare rapidă)
6. Deplasarea la primul punct de pe contur
- Coordonatele punctului
- Activare corecţie de rază
- Viteza de avans în prelucrare
7. Prelucrarea până la primul punct de pe contur
- Toate datele necesare parcurgerii tuturor elementelor de contur
8. Deplasare la poziţia de stop
- Coordonatele punctului final
- Anulare corecţie de rază
9. Retragere sculă
- Coordonatele punctului din planul de siguranţă
- Funcţii M (sfârşit de program)
- Funcţii M (oprire arbore principal)
10. Sfârşit program
95
Exemplu. Schema logică a structurii unui program CNC
Fig. 2.37
96
II.3.5 Standarde ISO. Funcţii G si Adrese M
Funcţii pregătitoare G
G00 = poziţionare cu avans rapid
G01 = interpolare liniară
G02 = interpolare circulară în sensul acelor de ceas
G03 = interpolare circulară în sens invers acelor de ceas
97
G04 = pauză
G09 = execută timpi de staţionare la sfârşitul instrucţiunii (la prelucrarea muchiilor ascuţite)
G10 = schimbarea sistemului de coordonate la piesă
G17 = selectarea planului de interpolare XOY
G18 = selectarea planului de interpolare XOZ
G19 = selectarea planului de interpolare YOZ
G20 = programare în inch
G21 = programare în mm
G22 = blocarea axei x la punctul de schimbare sculă
G23 = deblocarea axei x
G27, G28, G29 = funcţii pentru controlul referinţei
G30 = trimiterea săniilor pe alte puncte de referinţă
G41,G42 = compensare rază sculă
G40 = anulare G41, G42
G43, G44 = corectare lungime de sculă
G51 = măreşte sau micşorează cotele la scară
G50 = anulează G51
G54...G59 = sisteme de coordonate
G60 = anulează jocul, poziţionare unidirecţională
G61 = similar G09
G65, G66 = funcţie chemare macro-program
G67 = anulare G66
G73 = ciclu de prelucrare găuri lungi cu viteză mare
G74 = ciclu pentru filetare pe stânga
G76 = ciclu pentru strunjire de finisare
G81 = ciclu pentru găurire
G82 = ciclu pentru teşire
G83 = ciclu pentru găuri lungi
G84 = ciclu pentru filetare pe dreapta
G85 = ciclu pentru alezare
G86 = ciclu pentru strunjire
G87 = ciclu strunjire gaură şi strunjire gaură cu intrare pe partea opusă
G88 = ciclu pentru strunjire
G89 = ciclu pentru alezare
98
G90 = programare în absolut
G91 = programare în relativ
G92 = programarea punctului zero absolut
G94 = avans în mm/min
G95 = avans în mm/rot
G98 = Întoarcere la punctul iniţial
G99 = întoarcere în punctul R în apropierea suprafeţei de prelucrat
Funcţii auxiliare M
M00 = stop program
M01 = stop program condiţionat
M02 = sfârşitul programului
M03 = rotaţie ax principal în sensul acelor de ceas
M04 = rotaţie ax principal în sens invers acelor de ceas
M05 = stop turaţie
M06 = schimbare sculă
M08 = pornire sistem de răcire
M09 = oprire sistem de răcire
M10 = blocarea mesei A
M11 = deblocarea mesei A
M17 = fixarea sculei
M18 = eliberarea sculei
M19 = orientarea axului principal
M20 = blocarea mesei C
M21 = deblocarea mesei C
M30 = stop program şi reluarea lui de la început
M33 = deblocare limitator pe axa z
M36 = repune în funcţiune limitatorul pe axa z
M45 = compensări de deplasări la schimbarea sculei
M46 = rotirea magaziei de scule
M47 = deblocare limitator pentru schimbarea sculei
M48 = ridicarea apărătorii la magazia de scule
M49 = închiderea apărătorii la magazia de scule
99
M71 = deschiderea uşii înspre zona de lucru
M72 = închiderea uşii înspre zona de lucru
M80 – M87 = comenzi pentru adaptarea maşinii la o linie automatizată
M98 = apelare subprogram
M99 = sfârşit de subprogram, întoarcerea în programul principal.
Exemplu
Adrese importante – SINUMERIK / Siemens, [6]
Adresa Semnificaţie (implicit) Observaţie
F Avansul fixat
Q Axă setabil
100
R Parametri aritmetici fixat
U Axă setabil
Adrese importante (continuare)
Adresa Semnificaţie (implicit) Observaţii
V Axă setabil
W Axă setabil
X Axă setabil
Y Axă setabil
Z Axă setabil
AC Unghi de deschidere setabil
AP Unghi polar setabil
CR Raza cercului setabil
RP Rază polară setabil
: Frază principală fixat
"fixat": Aceste adrese sunt disponibile pentru o funcţie specifică.
"setabil“: Acestor adrese li se poate atribui un alt nume prin datele maşinii.
Adrese fixe cu extensie referitoare la o axã
Adresa Semnificaţie (implicit)
AX Valoarea axei (programarea variabilă a axei)
ACC Acceleraţia axială
FA Avansul axial
FDA Viteza de avans axial manual (de la manivela electronică)
FL Limita avansului axial
IP Parametru de interpolare (programarea variabilă a axei)
OVRA Corecţie axială
PO Coeficient polinomial
POS Axă de poziţionare
POSA Axă de poziţionare peste marginea frazei
Pentru programarea cu extensie a axei, axa care trebuie parcursă este încadrată de
paranteze drepte.
101
Exemplu.
102
G20 G20 X Y Z C A Programare in inch
G21 G20 X Y Z C A Programare in mm
G22 Blocarea axei x la pct.
de schimbare sculă
G23 Deblocarea axei x
G27 G 27 Funcţii pentru controlul
G28 referinţei
G29 G 28XYZCA
G 29
G30 Trimiterea săniilor pe
alte pct. de referinţă
G41
G41 G 41 Compensare rază sculă
G42 D
G 42 G40 G42
z
G51 G51 I J K P Măreşte sau micşorează I, J, K centrul
cotele la scară scalării
P factorul de
scalare
G50 Anulează G51
G54…G59 Sisteme de coordonate
Anulează jocul
G60 (pt. A,C)
Pozitionare
unidirecţională
G61 Similar G09
G65,G66 G65P;G66P Funcţie chemare
macroprogram G65P O;
M99
Avans rapid q d
q
Avans tehnologic q
z
103
G84 G84XYZRFL Ciclu pentru filetare pe I G98
dreapta
R G99
Z M04 M03
G85 G85XYZRFL Ciclu pentru alezare I G98
R G99
Z
G86 G86XYZRFL Ciclu pentru strunjire I G98
R G99
M03
Z M05
G87 G87XYZRQFL Ciclu strunjire gaură şi
Strunjire gaură cu I G98
intrare pe partea opusă
R G99
M03
Z
Q
M19
I
M03
M19
Z
R M03
104
G88 G88 XYZPRFL Ciclu pentru strunjire I G98
R G99
M03
Z P M05
G89 G89XYZPRFL Ciclu pentru alezare I G98
R G99
Z P
G90 Programare în absolut
G91 Programare în relativ
G92 Programarea punctului
zero absolut
G94 Avans în mm/min
G95 Avans în mm/rot
G98 Întoarcere la punctul G98
iniţial I
G99 Întoarcere în punctul R
în apropierea suprafeţei
G99 R
de prelucrat
105
Funcţii auxiliare M utilizate în SISTEMUL CNC FANUC
106
Exemplu. Program CNC pentru găurire / filetare
%
:4
N10 G00 G90 G80 G40 G94 G98 G17
N20 T01 M06
N30 G56 G43 Z100. H01 M03 S1600 F160
N35 X20. Y-30.
N40 Z2. M08
N50 G81 G98 R2. Z-21.5
N60 X80.
N70 G80 z100. M09
N80 T02 M06
N90 G56 G43 Z100. H01 M03 S0
N95 X80. Y-30. T0 M08
N100 Z4.
N110 M29 S450 F450
N120 G84 R4. Z-14.
N130 X20.
N140 G80 Z100.
N150 T0 M06
N160 G53 Y0. Z0.
N170 M30
Elaborarea unui program CNC (cod de programare ISO) pentru o piesă dată.
107
Să ne reamintim...
Programarea CNC utilizează functiile pregatitoare G şi funcţiile auxiliare M
în vederea elaborării programului cod-maşină, pentru descrierea ciclului de lucru al
maşinii în vederea prelucrării complete a unei piese pe MUCN.
Elementele de bază pentru elaborarea unui program CNC sunt instrucţiunile sau
blocurile informaţionale realizate într-un limbaj de programare codificat (codul de
programare ISO).
Sistemul de coordonate al maşinii-unelte cuprinde toate axele maşinii
existente fizic. Punctele de referinţă şi punctele de schimbare a sculei şi mesei
paletabile a maşinii (punctele fixe ale maşinii) sunt definite în sistemul de
coordonate al maşinii-unelte.
• Axa Z coincide cu axa arborelui principal. Astfel, la o maşină de găurit sau
de frezat, la un centru de prelucrare de alezat sau frezat, arborele principal
antrenează scula, în timp ce la un strung, axa Z coincide cu axa piesei. Sensul
pozitiv al axei Z corespunde deplasării prin care se măreşte distanţa dintre
piesă şi scula (sensul îndepartării sculei faţă de piesă).
Axa X reprezintă axa principală de mişcare în planul în care se realizează
poziţionarea piesei faţă de sculă (axa pe direcţia ghidalelor cu cursa cea mai
mare);
Axa Y de mişcare e perpendiculară pe axele X si Z, formând cu acestea un
sistem triortoganl drept (axa pe direcţia ghidaljelor cu cursa cea mai mică).
Pentru ca maşina sau echipamentul să funcţioneze în limitele poziţiilor
specificate, aceste date trebuie prezentate într-un sistem de referinţă corespunzător
direcţiei de mişcare a axelor. În acest scop se utilizează un sistem de coordonate cu
axele X, Y şi Z. Geometria unei piese este descrisă în sistemul de coordonate al
piesei.
XYZ – sistem de referinţă principal al translaţiilor;
ABC – sistem de referinţă principal al rotaţiilor;
U, V, W – sistem de referinţă secundar al translaţiilor;
D, E – sistem de referinţă secundar al rotaţiilor;
P, Q, R – sistem de referinţă terţiar al translaţiilor.
108
II.3.6. Rezumat
Programarea CNC reprezintă ansamblul de activităţi pe care îl desfăşoară un
programator în vederea obţinerii pe un suport adecvat a programului maşinii. În
program se precizează întreg ciclul de lucru al maşinii-unelte cu comandă numerică
şi toate funcţiile auxiliare ale acesteia. Programul descrie secvenţa de operaţii care se
efectuează pe MUCN în scopul prelucrării piesei. Programul poate fi scris off-line,
adică fără implicarea maşinii, prin programare manuală sau cu asistenţa unui
calculator, utilizând programarea asistată de calculator, printr-un sistem CAD/CAM.
109
II.3.8. Bibliografie
116