PROGRAMMAZIONE EIA/ISO Macchine Utensili CNC A cura di Massimo Reboldi Versione 2.0 7/1/14
La programmazione EIA/ISO! Introduzione! Assi e Riferimenti! Linguaggio di programmazione! Grammatica;! Lessico;! Funzioni N, G, M, T; 2
Introduzione! Le MU a CNC sono programmabili;! Il programma contiene tutte le informazioni necessarie alla lavorazione:! Geometriche (il percorso dell utensile, il percorso della tavola, la localizzazione dei fori, );! Tecnologiche (avanzamenti, velocità rotazione mandrino, senso di rotazione );! Il programma è letto, interpretato ed eseguito dall Unità di Governo (dal PC) 3
Introduzione! Il linguaggio di programmazione costituisce lo standard internazionale per la programmazione di ogni CNC;! La struttura è rimasta inalterata col passare degli anni;! Tale linguaggio è definito EIA/ISO:! EIA Electronic Industries Association! ISO International Standardiziation Organization 4
Introduzione! Il linguaggio EIA/ISO consente la gestione di tutte le funzioni della MU e il calcolo delle traiettorie elementari;! Ogni costruttore di controlli numerici ha poi sviluppato parallelamente un linguaggio dedicato, ma su ogni MU CNC è possibile la programmazione EIA/ISO;! Queste informazione vengono poi trasferite al PLC, che le tramuta in comandi per i servomotori della macchina; 5
Assi e riferimenti 6
Assi e riferimenti! Sistemi di coordinate! Assi di traslazione e di rotazione;! Riferimenti:! Zero macchina;! Zero di riferimento;! Zero pezzo;! Zero utensile;! Zero innesto 7
Sistemi di coordinate fresatrice tornio 8
Assi di rotazione 9
Assi di traslazione 10
Zeri nella fresatrice 11
Zeri nel tornio 12
Zeri nel tornio 13
Punto di Riferimento! Punto fisso su una macchina utensile al quale si può facilmente muovere l utensile tramite la funzione di ritorno a tale punto. Solitamente in questo punto si esegue il cambio utensile 14
Zero Macchina M E scelta dal costruttore e non è modificabile; 15
Zero Pezzo W! È un punto scelto dal programmatore;! Stabilisce l origine da cui far muovere l utensile;! È in funzione della quotatura del disegno;! Permette di programmare in maniera semplice; 16
Zero Pezzo W 17
Zero Macchina e Zero Pezzo! Il programmatore fornisce la distanza relativa tra i due zeri (zero pezzo rispetto zero macchina);! La programmazione è riferita allo zero pezzo; 18
Zero Utensile E 19
Simboli 20
Linguaggio di programmazione Grammatica Lessico 21
Grammatica! La GRAMMATICA è l insieme delle regole che permettono di rendere eseguibile una lavorazione elementare;! La programmazione EIA/ISO è di tipo alfanumerico (numeri e lettere);! Il programma di lavorazione composto da più operazioni sequenziali;! Ogni operazione viene scritta su una riga, chiamata blocco;! Il blocco è come una frase; 22
Grammatica! Ogni operazione è composta da più blocchi definiti dalla lettera N, a loro volta costituiti da insiemi di parole. Un blocco definisce in modo completo un ordine che la macchina utensile deve eseguire prima di passare al blocco successivo; 23
Grammatica! Ogni parola è un istruzione;! Ogni parola di un blocco è formata da un carattere alfabetico detto indirizzo e da un numero che indica un valore o un codice di funzione N3 G2 X10 Y45 Z-2 I15 K20 F200 S500 24
Grammatica Esempio di Blocco: N10 G1 X25 Y50 Z-5 F350 S2000 T19 M06 Numero di blocco Informazioni geometriche Informazioni tecnologiche 25
Lessico! Insieme dei vocaboli del linguaggio che comandano e controllano attraverso il CNC, la macchina utensile.! A seconda degli indirizzi, si divide in:! Movimento A, B, C, U, V, W, X, Y, Z! Funzioni macchina F, G, M, N, S, T 26
Lessico! A seconda delle modalità di attivazione si dividono in:! Modali rimangono attive finché non vengono sostituite da un altra funzione corrispondente;! Temporanee rimangono attive solo nel rispettivo blocco 27
FUNZIONI N-G-T-M 28
Funzione N! Identifica un blocco;! È in ordine crescente;! È in ordine progressivo; N15 G1 X10 Y10 Z-3 N20 G1 X30 N35 N40 N45! È consigliabile non incrementare di una sola unità in quanto renderebbe complicato inserire nuovi blocchi; 29
Funzioni G! Sono funzioni preparatorie perché dispongono il modo di esecuzione (della lavorazione) delle istruzioni successive;! Definiscono gli 0 pezzo W ;! Definiscono le tipologie di movimento degli utensili;! Definiscono le macro;! ; 30
G54 O pezzo W! G54 valori da inserire per cambiare le origini di lavorazione! X( );! Y ( );! Z ( ); 31
G90 e G91 Coordinate assolute e incrementali! G90 coordinate assolute Il posizionamento è eseguita facendo riferimento ogni volta al punto di origine assoluta individuato dall operatore (Zero Pezzo W) 32
G90 e G91 Coordinate assolute e incrementali! G91 coordinate relative Il posizionamento è eseguito facendo riferimento alla coordinata precedente. 33
G90 e G91 Coordinate assolute e incrementali! In tornitura:! Quote assolute DIAMTERALI! Quote incrementali RADIALI 34
G0 posizionamento in rapido! Il posizionamento in rapido è il movimento che l utensile deve compiere dalla posizione in cui si trova a quella opportuna per iniziare la lavorazione;! Il moto avviene in rapido (velocemente senza tener conto degli avanzamenti e velocità impostate dall operatore);! Occorre indicare le coordinate del punto finale; 35
G0 - posizionamento Esempio: N50 G0 X30 Z3 36
G1 interpolazione lineare! Il moto avviene in velocità di lavorazione, impostata dall operatore;! Occorre indicare: A. DOPO IL CAMBIO UTENSILE: Velocità rotazione mandrino S - Velocità di avanzamento F Senso rotazione del mandrino M3; B. DOPO L AVVICINAMENTO: Coordinate punto finale; 37
G1 interpolazione lineare! Esempio:! N05 G54;! N10 T3 G43 H3 M6;! N15 S1100 F90 M3;! G0 X Y Z ;! G1 X Y Z ;! ; 38
G1 interpolazione lineare 39
G2/G3 interpolazione circolare 40
G2/G3 interpolazione circolare! Una conferenza è descritta secondo 3 modalità: 1. Punto iniziale; 2. Coordinate del centro (assolute o relative) o raggio; 3. Punto finale o estensione angolare 41
G2/G3 interpolazione circolare! Esempio 1: G2 X40 Y34 I0 J18! I valori di X ed Y rappresentano le coordinate finali del punto da raggiungere (2);! I e J rappresentano le coordinate, rispettivamente X (I) e Y (J) del centro dell arco relative al punto di partenza dell arco (1) quando si lavora nel piano x,y (G17). 42
G2/G3 interpolazione circolare! Esempio 2: G2 X40 Y33.31 R18! X e Y rappresentano le coordinate del punto finale;! R18 la misura del raggio; 43
Tool point! Sia in tornitura che in fresatura il percorso che dovrà compiere l utensile è programmato rispetto ad un punto di riferimento, ma esso non sempre coincide con la quota da realizzare 44
Tool point! In alcune operazioni il tool point coincide con il profilo da realizzare:! Tornitura longitudinale;! Intestatura;! Spianatura;! 45
Compensazione Raggio Utensile! In altre operazioni occorre distinguere tra:! Traiettoria dell utensile;! Quota del disegno; 46
Compensazione Raggio Utensile 47
Compensazione RU in tornitura! Il programmatore dovrà prevedere:! I punti reali del profilo come da disegno;! Il raggio di punta dell utensile (pagina OFFSET);! Il tipo di azzeramento utilizzato dall utensile;! La posizione in cui si troverà a lavorare l utensile sul profilo, definita dalle funzioni G41 G42; 48
Compensazione RU in fresatura! G41 LAVORAZIONE IN CONCORDANZA l utensile si trova a sinistra del pezzo considerando l utensile in moto di avanzamento e la tavola ferma! G42 LAVORAZIONE IN DISCORDANZA l utensile si trova a destra del pezzo considerando l utensile in moto di avanzamento e la tavola ferma 49
Compensazione RU in fresatura! G41 o G42 sono da inserire nel blocco di avvicinamento rapido prima dell inizio della lavorazione;! G40 invece disabilita la compensazione raggio; 50
Compensazione RU in fresatura 51
Compensazione RU in fresatura! Nel FANUC Correzione N45 G42H12 Richiama una casella del presetting dove vi sarà un valore di correzione Richiama il valore inserito come correzione raggio 52
Istruzioni tecnologiche! Specificano le modalità di applicazione dell istruzione G che caratterizza il blocco stesso:! S velocità rotazione mandrino! G96 Velocità di taglio Vt [m/min];! G97 Numero di giri N [giri/min]! F Avanzamento! G94 [mm/min];! G95 [mm/giro]; 53
Istruzioni tecnologiche 54
Istruzioni tecnologiche! In alcune circostanze la velocità di taglio deve essere mantenuta costante in quanto il Diametro non è costante:! sfacciatura/intestatura;! tornitura conica;! Si indica il valore V = velocità di taglio desiderata, oppure G96;! La velocità di rotazione del mandrino deve essere continuamente attualizzata dal CNC al diametro di tornitura corrente; 55
Istruzioni tecnologiche! Se è attivo G96 dunque, e il diametro varia, il CNC provvede automaticamente ad aumentare o diminuire il numero di giri N a seconda della formula:! Conviene tuttavia prestabilire un Nmax e Nmin rispetto alle caratteristiche del motore; 56
Istruzione T! Istruzioni per la selezione dell utensile;! L istruzione contiene:! Il numero di posizione dell utensile;! Il numero di correzione: fa riferimento al blocco di dati che contiene le dimensioni di set-up (presetting); 57
Istruzione T fresatura! Nel FANUC Correzione Comando per il cambio utensile N35 T2G43H2 M6 Posizione utensile nel magazzino Richiama una casella del presetting dove vi sarà un valore di correzione Richiama il valore inserito come correzione lunghezza utensile 58
Istruzione T tornitura! Nel FANUC N35 T0202 Posizione utensile nel magazzino Correzione Richiama il valore inserito come correzione raggio 59
Istruzione T fresatura! In fase di contornatura dovrò poi ricordarmi di inserire G41/G42 (a seconda del percorso) aggiunto al valore del raggio utensile;! Tale valore dovrò preventivamente inserirlo nella casella H11 (se utensili T1), H12 (se utensile T2) 60
Setup utensile Il CNC tiene conto della misura sul naso mandrino, nel punto 0 utensile. Negli offset presetting va inserito la quota H e R Es. Utensile = T5; Scriverò in offset presetting l altezza H in posizione 005, raggio R in posizione 015 NO Valore 1 2 5 Valore H. 15 Valore R 61
Istruzioni M! Sono funzioni ausiliarie e servono ad impartire comandi al controllo e alla macchina utensile:! M00 stop programma;! M03 rotazione oraria mandrino;! M04 rotazione antioraria mandrino;! M05 arresto mandrino;! M06 cambio utensile;! M08 attiva lubrorefrigerante;! M09 esclude lubrorefrigerante; 62
Istruzioni M! M72 blocca contropunta;! M10 blocca pezzo;! M11 sblocca pezzo;! M30 fine programma; NB le istruzioni M sono definite dal costruttore e modificabili dal PLC 63
Istruzioni M! Possono formare un blocco a sé stante o in unione con le istruzioni tipo G e tipo T;! Se le funzioni M vengono programmate in un blocco contenente movimenti degli assi, esse sono attive prima del movimento;! Posso essere contenute in un blocco fino a un massimo di tre istruzioni M; 64
Note conclusive 65
Sequenza in foratura! N05 G54; (RICHIAMO W)! N10 T1 G43 H1 M6; (CAMBIO UTENSILE)! N20 S F M3; (VELOCITA )! N15 G0 X Y Z10; (AVVICINAMENTO)! N25 G1 Z- ; (LAVORO FORATURA)! N30 G0 Z5; (USCITA DAL FORO)! N35 X Y ; (ALLONTANAMENTO) 66
Sequenza in fresatura! N05 G54 (RICHIAMO W);! N10 T1 G43 H1 M6; (CAMBIO UTENSILE)! N15 S F M3; (DEFINIZIONE VELOCITA )! N20 G0 X Y Z10; (AVVICINAMENTO X, Y fuori dal pezzo)! N25 G1 Z- ; (ATTACCO in G1, in Z, fuori dal pezzo)! N30 X Y ; (ATTACCO in G1, in X e Y)! N40 X Y ; (LAVORO in G1 contornatura del pezzo)! N45 X Y ; (STACCO in G1 esco di qualche mm dal pezzo)! N50 G0 X... Y Z100; (ALLONTANAMENTO fuori dal pezzo) 67
Bibliografia! Tecnologia Meccanica B Università degli Studi di Brescia Facoltà di Ingegneria Ing. Aldo Attanasio;! Dipartimento di Meccanica e Aeronautica, Università La Sapienza, Roma;! Dispense Prof. Ing. Giovanni Bottaini; 68