PROGRAMMAZIONE EIA/ISO – Macchine Utensili CNC A cura di Massimo Reboldi
Versione 2.0 – 7/1/14
a cura di Massimo Reboldi
La programmazione EIA/ISO
! Introduzione
! Assi e Riferimenti
! Linguaggio di programmazione ! Grammatica;
! Lessico; ! Funzioni N, G, M, T;
a cura di Massimo Reboldi
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)
a cura di Massimo Reboldi
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
a cura di Massimo Reboldi
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;
a cura di Massimo Reboldi
5
Assi e riferimenti
! Sistemi di coordinate
! Assi di traslazione e di rotazione;
! Riferimenti: ! Zero macchina;
! Zero di riferimento;
! Zero pezzo;
! Zero utensile;
! Zero innesto
a cura di Massimo Reboldi
7
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
a cura di Massimo Reboldi
14
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;
a cura di Massimo Reboldi
16
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;
a cura di Massimo Reboldi
18
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;
a cura di Massimo Reboldi
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;
a cura di Massimo Reboldi
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
a cura di Massimo Reboldi
24
N3 G2 X10 Y45 Z-2 I15 K20 F200 S500
Grammatica
Esempio di Blocco:
a cura di Massimo Reboldi
25
N10 G1 X25 Y50 Z-5 F350 S2000 T19 M06
Numero di blocco
Informazioni geometriche
Informazioni tecnologiche
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
a cura di Massimo Reboldi
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
a cura di Massimo Reboldi
27
Funzione N
! Identifica un blocco;
! È in ordine crescente;
! È in ordine progressivo;
! È consigliabile non incrementare di una sola unità in quanto renderebbe complicato inserire nuovi blocchi;
a cura di Massimo Reboldi
29
N15 G1 X10 Y10 Z-3 N20 G1 X30 N35 … N40 … N45 …
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;
! …;
a cura di Massimo Reboldi
30
G54 – O pezzo W
! G54 – valori da inserire per cambiare le origini di lavorazione ! X(…); ! Y (…); ! Z (…);
a cura di Massimo Reboldi
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)
a cura di Massimo Reboldi
32
G90 e G91 – Coordinate assolute e incrementali
! G91 – coordinate relative Il posizionamento è eseguito facendo riferimento alla
coordinata precedente.
a cura di Massimo Reboldi
33
G90 e G91 – Coordinate assolute e incrementali
! In tornitura:
! Quote
assolute
DIAMTERALI
! Quote
incrementali
RADIALI
a cura di Massimo Reboldi
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;
a cura di Massimo Reboldi
35
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;
a cura di Massimo Reboldi
37
G1 – interpolazione lineare
! Esempio:
! N05 G54; ! N10 T3 G43 H3 M6; ! N15 S1100 F90 M3; ! G0 X… Y… Z…; ! G1 X… Y… Z…; ! …;
a cura di Massimo Reboldi
38
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
a cura di Massimo Reboldi
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).
a cura di Massimo Reboldi
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;
a cura di Massimo Reboldi
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
a cura di Massimo Reboldi
44
Tool point
! In alcune operazioni il tool point coincide con il profilo da realizzare: ! Tornitura longitudinale;
! Intestatura;
! Spianatura;
! …
a cura di Massimo Reboldi
45
Compensazione Raggio Utensile
! In altre operazioni occorre distinguere tra: ! Traiettoria dell’utensile;
! Quota del disegno;
a cura di Massimo Reboldi
46
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;
a cura di Massimo Reboldi
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
a cura di Massimo Reboldi
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;
a cura di Massimo Reboldi
50
Compensazione RU in fresatura
! Nel FANUC
a cura di Massimo Reboldi
52
N45 … G42H12
Richiama una casella del presetting dove vi sarà un valore di correzione
Richiama il valore inserito come correzione raggio
Correzione
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];
a cura di Massimo Reboldi
53
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;
a cura di Massimo Reboldi
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;
a cura di Massimo Reboldi
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);
a cura di Massimo Reboldi
57
Istruzione T – fresatura
! Nel FANUC
a cura di Massimo Reboldi
58
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
Correzione Comando per il cambio utensile
Istruzione T – tornitura
! Nel FANUC
a cura di Massimo Reboldi
59
N35 … T0202
Posizione utensile nel magazzino Correzione
Richiama il valore inserito come correzione raggio
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) …
a cura di Massimo Reboldi
60
Setup utensile
a cura di Massimo Reboldi
61
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
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;
a cura di Massimo Reboldi
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
a cura di Massimo Reboldi
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;
a cura di Massimo Reboldi
64
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)
a cura di Massimo Reboldi
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)
a cura di Massimo Reboldi
67