Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Esempi di programmazione
di un centro di lavoro verticale a CNC
Andrea Burnelli
Esercizio n.°1
%
O 0001 (Numero del programma)
N1 G80 G40 (Cancello richiamo cicli fissi e compensazione raggio utensile)
N10 G91 G28 Z0 (Richiamo asse Z mandrino al punto di riferimento)
N20 G91 G28 X0 Y0 (Richiamo assi x ed y tavola porta pezzo al punto di riferimento)
N30 G90 (Programmazione assoluta)
N40 G21 (Dati introdotti in millimetri)
N50 G94 (Avanzamento della tavola portapezzo in mm/min)
N60 G59 (Richiamo origine pezzo: passo dal S.C.M. al S.C.P.)
N70 T1 M6 (Richiamo utensile T1 fresa d=80mm z=4 denti per spallamenti retti)
N80 G97 S1000 M3 (Metto in rotazione il mandrino a 1000 giri/min fissi, rotazione oraria)
N90 G00 X-100 Y30 (Vado in rapido a X-100 e Y30)
N100 G00 G43 H1 Z0.5 (Vado in rapido a Z0.5 richiamando la geometria ut.in lunghezza, H1
correttore lunghezza)
N110 M8 (Apertura refrigerante)
N120 G01 X55 Y30 F700 (Vado in lavoro a X55 Y30, con avanzamento a F700 mm/min)
N130 G01 X55 Y-30 F700 (Vado in lavoro a X55 Y-30, con avanzamento a F700 mm/min)
N140 X-100 Y-30 (Vado in lavoro a X-100 Y-30, con avanzamento a F700 mm/min)
N150 G00 X-100 Y30 (Vado in rapido a X-100 e Y30)
N160 Z0 (Vado in rapido a Z0)
N170 S2500 M3 (Metto in rotazione il mandrino a 2500 giri/min fissi, rotazione oraria)
N180 G01 X100 Y30 F600 (Vado in lavoro a X100 Y30, avanzamento di F600 mm/min)
N190 G00 Y-30 (Vado in rapido a X100 e Y-30)
N200 G01 X-100 Y-30 F600 (Vado in lavoro a X-100 Y-30, avanzamento di F600 mm/min)
N210 M9 (Chiusura refrigerante)
N220 G00 Z20 (Vado in rapido a Z20)
N230 G91 G28 Z0 (Richiamo asse Z mandrino al punto di riferimento)
N240 M5 (Arresto la rotazione del mandrino)
N250 G91 G28 X0 Y0 (Richiamo assi X ed Y tavola portapezzo al punto di riferimento)
N260 M30 (Fine programma, riavvolgi la memoria)
%
Note:
Esercizio n.°2
%
O 1002 (Numero del programma)
N1 G80 G40 (Cancello richiamo cicli fissi e compensazione raggio utensile)
N10 G91 G28 Z0 (Richiamo asse Z mandrino al punto di riferimento)
N20 G91 G28 X0 Y0 (Richiamo assi X ed Y tavola porta pezzo al punto di riferimento)
N30 G90 (Programmazione assoluta)
N40 G21 (Dati introdotti in millimetri)
N50 G94 (Avanzamento della tavola portapezzo in mm/min)
N60 G17 (Piano di lavoro XY)
N70 G54 (Richiamo origine pezzo: passo dal S.C.M. al S.C.P.)
N80 T1 M06 (Richiamo utensile T1 (fresa d=80mm z=4 denti per spallamenti retti)
N90 G97 S3500 M3 (Metto in rotazione il mandrino a 1000 giri/min fissi, rotazione oraria)
N100 G00 X-95 Y85 M08 (Vado in rapido a X-95 e Y85, inserzione refrigerante)
N110 G00 G43 H1 Z5 (Vado in rapido a Z5 richiamando la geometria utensile in lunghezza)
N120 G01 Z-4 F300 (Vado in lavoro a Z-4, con avanzamento a F300 mm/min)
N130 X85 F700 (Vado in lavoro a Z-4, con avanzamento a F300 mm/min)
N140 Y-85 (Vado in lavoro a Z-4, con avanzamento a F300 mm/min)
N150 X-85 (Vado in lavoro a Z-4, con avanzamento a F300 mm/min)
N160 Y95 (Vado in lavoro a Z-4, con avanzamento a F300 mm/min)
N170 Z5 M09 (Vado in lavoro a Z-4, con avanzamento a F300 mm/min)
N180 G91 G28 Z0 (Richiamo asse Z mandrino al punto di riferimento)
N185 G91 G28 X0 Y0 M05 (Richiamo assi X ed Y al punto di riferimento, arresto mandrino)
N190 M30 (Fine programma, riavvolgi la memoria)
%
Note:
……………………………………………………………………..…………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
Esercizio n.°3
- Ciclo di lavoro: contornatura quadrato lato 90mm senza compensazione raggio utensile
- Grezzo: blocco alluminio 100x100x50mm
- Macchina utensile: centro di lavoro a 3 assi Leadwell MCV- OP
- Controllo numerico: Fanuc 0M
%
O1003
N1 G80 G40 (Cancello richiamo cicli fissi e compensazione raggio utensile)
N10 G91 G28 Z0
N20 G91 G28 X0 Y0
N30 G90
N40 G21
N50 G94
N60 G17
N70 G54
N80 T1 M06
N90 G97 S3500 M3
N100 G00 X-95 Y85 M08 (vado in rapido a X-95 Y85 tangente al profilo del pezzo finito)
N110 G00 G43 H1 Z-10
N120 G01 X15 Y85 F700 (vado in movimento lineare a X15 Y85 con av. 700mm/min)
N130 G02 X85 Y15 R70 (vado in interpolazione circolare oraria a X85 Y15 con R70)
N140 G01 X85 Y-35 (vado in movimento lineare a X85 Y-35 con av. 700mm/min)
N150 G02 X35 Y-85 R50 (vado in interpolazione circolare oraria a X35 Y-85 con R50)
N160 G01 X-85 (vado in movimento lineare a X-85)
N170 Y95 (vado in movimento lineare a Y95)
N180 Z5 M09
N190 G91 G28 Z0
N200 G91 G28 X0 Y0 M05
N210 M30
%
Note:
……………………………………………………………………..…………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
Esercizio n.°4
%
O1004
N1 G80 G40 (Cancello richiamo cicli fissi e compensazione raggio utensile)
N10 G91 G28 Z0
N20 G91 G28 X0 Y0
N30 G90
N40 G21
N50 G94
N60 G17
N70 G54
N80 T1 M06
N90 G97S3500M3
N100 G00 X-100 Y0 M08
N110 G00 G43 H1 Z-5
N120 G01 X-65 Y0 F1000
N130 G02 X-65 Y0 I65 J0 (Interpolazione circolare oraria, cerchio completo)
N140 G01 X-100 Y0
N150 Z5 M09
N160 G91 G28 Z0
N170 G91 G28 X0 Y0 M05
N180 M30
%
Note:
……………………………………………………………………..…………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
Esercizio n.°5
- Ciclo di lavoro: esecuzione canale interno della camma, contornatura profilo esterno con
compensazione raggio utensile
- Grezzo: Semilavorato di tornitura Ø100
- Macchina utensile: centro di lavoro a 3 assi Leadwell MCV- OP
- Controllo numerico: Fanuc 0M
%
O1009 (camma con due giri)
N1 G80 G40 (Cancello richiamo cicli fissi e compensazione raggio utensile)
N10 G91 G28 Z0 (asse Z a zero macchina)
N20 G91 G28 X0 Y0 (asse X e Y a zero macchina)
N30 G90 (programmaz. assoluta)
N40 G21 (dati in mm)
N50 G94 (av tavola in mm/min)
N60 G17 (piano lavoro XY)
N70 G54 (origine pezzo)
N80 T1 M06 (fresa d80mm spianare)
N90 G97 S3500 M3 (3500 giri/min rot oraria)
N100 G00 X-100 Y35 M08 (posizionamento a X-100 Y35 refrigerante)
N110 G00 G43 H1 Z5 (vado a Z5 tenendo conto lunghezza utensile)
N120 G01 Z0 F300 (vado a Z0)
N130 (INIZIO SPIANATURA)
N140 G01 X55 Y35 F800
N150 G01 X55 Y-35
N160 G01 X-100
N170 (FINE SPIANATURA)
N180 Z5 M09 (mi alzo sopra a Z5)
N190 G91 G28 Z0 (asse Z a zero macchina)
N200 G91 G28 X0 Y0 M05 (asse X e Y a zero macchina e arresto mandrino)
N210 T3 M6 (fresa a candela d12mm)
N220 G90 G54 (programmazione assoluta e origine pezzo)
N230 G97 S2000 M03 (metto in moto la fresa)
N240 G00 X-1.752 Y-32.453 (punto 9 canale interno camma)
N250 G00 G43 H3 Z10 (vado in rapido a Z10)
N260 G01 Z4 F250 (vado in lavoro a Z4)
N270 G02 X-32.5 Y0 Z-4 R32.5 (entro nel pezzo punto 1 in elicoidale)
N280 (INIZIO PROFILO CAMMA)
N290 G02 X-8.963 Y31.24 R32.5 F350 (sono nel punto 2)
N300 G02 X2.865 Y28.796 R13 (sono nel punto 3)
N310 G03 X21.648 Y19.204 R49.5 (sono nel punto 4)
N320 G02 X30.562 Y11.054 R13 (sono nel punto 5)
N330 G02 X31.831 Y-6.562 R32.5 (sono nel punto 6)
N340 G02 X25.364 Y-15.327 R13 (sono nel punto 7)
N350 G03 X8.37 Y-28.429 R70 (sono nel punto 8)
N360 G02 X-1.752 Y-32.453 R13 (sono nel punto 9)
N370 G02 X-32.5 Y0 R32.5 (sono nel punto 1)
N380 G02 X-8.963 Y31.24 Z4 R32.5 F350 (uscita elicoidale punto 2)
N390 G00 X-1.752 Y-32.453
N400 G01 Z1 F250 (vado in lavoro a Z4)
N410 G02 X-32.5 Y0 Z-8 R32.5 (entro nel pezzo punto 1in elicoidale)
N420 (INIZIO PROFILO CAMMA)
N430 G02 X-8.963 Y31.24 R32.5 F350 (sono nel punto 2)
N440 G02 X2.865 Y28.796 R13 (sono nel punto 3)
Note:
……………………………………………………………………..…………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
Esercizio n.°6
%
O1022
N1 G80 G40 (Cancello richiamo cicli fissi e compensazione raggio utensile)
N10 G91 G28 Z0
N20 G91 G28 X0 Y0
N30 G90 G21G94 G17
N40 G54
N50 T1 M06
N60 G97 S3000 M13
N70 G00 X-100 Y35
N80 G00 G43 H1 Z5
N90 G01 Z0 F300
N100 G01 X100 Y35 F700
N110 G00 X100 Y-35
N120 G01 X-100 Y-35 F700
N130 G01 Z5 M09
N140 G91 G28 Z0
N150 G91 G28 X0 Y0 M05
N160 G90 G54
N170 T16 M06 (CENTRATORE D16)
N180 G97 S2000 M13
N190 G00 X30 Y30
N200 G00 G43 H16 Z20
N210 G01 Z15 F300
N220 G81 X30 Y30 Z-4 R2 F120 G99
N230 X-30 Y-30
N240 X30 Y0
N250 X-30 Y0
N260 X30 Y-30
N270 X-30 Y30 G98
N280 G80
N290 G91 G28 Z0
N300 G91 G28 X0 Y0 M05
N310 G90 G54
N320 T2 M06 (PUNTA D8.5MM)
N330 G97 S2000 M13
N340 G00 G43 H2 Z30 X30 Y30
N350 G01 Z25 F300
N360 G83 X30 Y30 Z-15 R2 Q6 F120 G99
N370 X-30 Y-30
N380 X30 Y0
N390 X-30 Y0
N400 X30 Y-30
N410 X-30 Y30 G98
N420 G80
N430 G91 G28 Z0
N440 G91 G28 X0 Y0 M05
N450 M30%
Esercizio n.°7
Esercizio proposto:
……………………………………………………………………..…………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
Esercizio n.°7
%
O7777 (MASCHIATURA DESTRA)
(APPLICAZIONE CICLO FISSO DI FILETTATURA)
N10 G40 G80
N20 G91 G28 Z0
N30 G91 G28 X0 Y0
N40 G90 G21 G94 G17
N50 G55
N60 T16 M06 (MASCHIO M10 DX)
(PASSO 1.5 MM)
N70 G97 S100 M03 (300 GIRI/MIN)
(FILETTO DESTRO METTERE M03)
N80 G00 X30 Y30
N90 G00 G43 H16 Z40
N100 G01 Z35 F150 (AVANZAMENTO = GIRI X PASSO FILETTO)
N110 G84 X5 Y15 R35 Z10 G98 (CICLO MASCHIATURA DX)
N120 G80
N130 G00 Z100
N140 G91 G28 Z0
N150 G91 G28 X0 Y0 M05
N160 M30
Appendice:
ASSI CONTROLLATI:
La definizione dell’origine del pezzo varia in funzione della quotatura, dell’esigenza del
programmatore, dell’individuazione del punto più importante e caratteristico del pezzo.
La scelta ponderata dello zero pezzo può semplificare il calcolo dei punti da programmare.
Lo zero pezzo è l’origine delle coordinate degli assi X, Y, Z, riferito a un punto preso sul pezzo
(finito) rispetto al quale devono essere quotati tutti i punti da lavorare.
Note:
……………………………………………………………………..…………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
Accanto al sistema di coordinate dipendenti dal pezzo, definite mediante lo zero pezzo, coesiste il
sistema di riferimento fisso della macchina utensile, definito zero macchina.
Questo punto si trova normalmente verso le estremità della corsa positiva degli assi.
Detto in maniera semplicistica, da questo punto inizia a contare il sistema di misura della macchina
utensile, è da considerare come un’origine fissa.
Note:
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
CICLO DI LAVORAZIONE:
Prima di passare alla programmazione vera e propria è opportuno progettare e strutturare i singoli
passi di lavorazione. Quanto più approfondito è il lavoro preliminare di suddivisione e
pianificazione, tanto più semplice e rapida sarà la programmazione.
• Stabilire la forma del grezzo e i valori dei sovrametalli, le zone di presa del pezzo.
• Definire lo zero pezzo
• Calcolare le eventuali coordinate mancanti
Una volta studiato il ciclo di lavoro (operazioni e fasi, utensili, parametri di taglio) si procede alla
stesura del programma relativo a ciascuna delle fasi stabilite.
La stesura del programma consiste nello scindere in operazioni elementari la fase di lavorazione
del pezzo con una sequenza logica e in forma codificata a seconda dell’unità di governo e della
macchina utensile.
Esistono indicativamente tre sistemi diversi per eseguire la stesura del programma:
- programmazione manuale
- programmazione automatica con ausilio di programmi CAD- CAM
- programmazione dialogata con videate interattive.
In questa dispensa viene affrontata mediante esempi la prima tipologia, nella quale è il
programmatore che esegue manualmente la stesura del programma, codificando tutte le
operazioni secondo il linguaggio prescritto.
Una breve parentesi. Lo standard ISO 6983, rappresenta solo una raccomandazione di utilizzo di
determinate funzioni e sintassi, tali da rendere comune ed uniforme la programmazione del
maggior numero di CNC al fine di semplificare la gestione da parte di utenti che altresì dovrebbero
imparare funzioni e modalità operative diverse.
La realtà è poi assai diversa in quanto i costruttori di CNC hanno adottato il linguaggio ISO per le
principali funzioni di movimento, velocità e avanzamento, hanno altresì implementato e sviluppato
vari linguaggi (dialetti) che hanno permesso di ottenere vantaggi in termini di semplicità e velocità
di programmazione.
Come già detto, iI linguaggio che consente di “comunicare” con il CNC è l’ISO, un codice
alfanumerico a otto bit.
Tale codice può essere rappresentato visivamente mediante un nastro perforato, facendo
corrispondere il valore “1” logico al foro ed il valore “0” logico al non foro.
I canali sono individuati con numeri da uno a otto. Il canale n° 5 serve per l’autoverifica, il canale n°
8 serve al carattere” ritorno carrello”.
Il codice ISO utilizza un numero pari di fori per ogni carattere invece che dispari e contempla l’uso
di caratteri “( )” per scrivere informazioni all’interno del programma.
• MODALI: quelli il cui effetto permane sino a che non venga annullato (o cambiato) da un’altra
istruzione.
• AUTOCANCELLANTI: quelli il cui effetto dura solo nell’operazione (o blocco di istruzione) in
cui sono scritte.
% Inizio programma
LF Fine blocco
: Suddivisione di programma
/ Salto di blocco a predisposizione
( Inizio dei dati da ignorare
) Fine dei dati da ignorare
+ Segno matematico di somma
- Segno matematico di sottrazione
. Punto decimale
A Coordinata angolare attorno l’asse X
B Coordinata angolare attorno l’asse Y
C Coordinata angolare attorno l’asse Z
D Coordinata angolare attorno a un asse speciale, o terza velocità di avanzamento, o
funzione utensile per l’indicazione della correzione utensile.
E Coordinata angolare attorno ad un asse speciale, o seconda velocità di avanzamento
F Velocità di avanzamento
G Funzione preparatoria
H Indirizzo a disposizione
I Parametro di interpolazione o passo di filettatura secondo X
J Parametro di interpolazione o passo di filettatura secondo Y
K Parametro di interpolazione o passo di filettatura secondo Z
L Indirizzo a disposizione
M Funzione ausiliaria (o miscellanea )
N Numero di blocco
O Indirizzo a disposizione
P Movimento terziario parallelo all’asse X, o primo fattore di correzione raggio utensile
Q Movimento terziario parallelo attorno l’asse Y, o secondo fattore di correzione raggio
utensile
R Quota rapido sull’asse Z, o movimento terziario parallelo all’asse Z, o terzo fattore di
correzione raggio utensile
S Velocità di rotazione del mandrino
T Definizione di utensile
U Movimento secondario parallelo all’asse X
V Movimento secondario parallelo all’asse Y
W Movimento secondario parallelo all’asse Z
X Movimento principale dell’asse X
Y Movimento principale dell’asse Y
Z Movimento principale dell’asse Z
Quando le lettere D, E, P, Q, R, U, V, W, non sono utilizzate nel modo indicato,
devono intendersi a disposizioni.
G = FUNZIONI PREPARATORIE
1. I codici G contrassegnati dal pallino • sono attivi all’accensione. Per G20 e G21, è attivo
quello che lo era al momento dello spegnimento. Tramite parametro possono essere scelti
G00 o G01 e G90 o G91.
2. I codici G del gruppo 00 sono non modali (autocancellanti) e sono attivi solo per il blocco
nel quale sono specificati.
3. Se viene specificato un codice G non compreso nella tabella si ha un allarme.
4. Un blocco può contenere fino a 4 codici G non appartenenti allo stesso gruppo.