Introduzione alla programmazione delle macchine a controllo numerico
Per far funzionare una macchina a CNC vi è la necessità di stendere un programma e inserirlo nell’unità di governo. Il programma prende il nome di PART PROGRAM ed è l’ultima fase del process planning che avviene a valle della stesura del ciclo di lavorazione.
Il part program contiene
- Informazioni geometriche
- Percorso utensile: Insieme di tutti i punti che deve percorrere (traiettoria), tipo di movimento: rettilineo/curvilineo + tutti i tipi di controllo
- Informazioni tecnologiche
- Selezione utensile
- Parametri di taglio
- Presenza fluido di taglio, ecc.
Percorso utensile
Per prima cosa è fondamentale scegliere lo “Zero Pezzo” che rappresenterà la nostra origine degli assi per poi definire successivamente tutti i punti da percorrere sulla traiettoria e riuscire a dare delle coordinate, riuscendo a definire così il percorso utensile.
Metodi di programmazione
Esistono 3 metodi di programmazione delle macchine a CNC:
- Programmazione manuale
- Programmazione automatica
- Programmazione CAD/CAM
1. Programmazione manuale
Questo tipo di programmazione è “fatta a mano”, il programmatore può accedere ad un set di istruzioni del linguaggio macchina e scrivere il part program partendo dal ciclo e dal disegno. Questo linguaggio è direttamente leggibile e interpretabile dalla macchina ed inoltre il programmatore dovrà tenere di conto di tutte le traiettorie seguite dall’utensile.
Problema: Questo tipo di programmazione presenta dei problemi se la traiettoria dell’utensile non è formata da enti geometrici semplici (archi, rette..) e quindi diventa difficile fare la programmazione senza l’aiuto di un software.
2. Programmazione automatica
La programmazione automatica è un linguaggio di alto livello dove c’è sempre una fase di programmazione manuale, però non viene effettuata tramite il codice accettato dall’unità di governo ma da un programma sorgente. Non vengono quindi calcolate le coordinate dei punti di passaggio. Il programma sorgente viene scritto su un calcolatore su cui deve essere installato il “Main Processor” che trasforma il programma sorgente nel “Carter Location File” che calcola i punti di passaggio dell’utensile tramite la metodologia scritta dal programmatore. Il CL file deve essere successivamente elaborato da un Post Processor che lo trasforma nel Part Program leggibile dall’unità di governo.
3. Programmazione CAD/CAM
La programmazione CAD/CAM genera automaticamente la traiettoria da seguire prendendo in input il modello dell’oggetto creato al software. In input avremo un file CAD che mi descrive come sarà il pezzo PRIMA e DOPO la lavorazione al fine di calcolare il volume di soprametallo da asportare. Anche in questo caso il CL file viene interpretato dal part program tramite un post processor. Questo tipo di programmazione per lavorazioni complesse sta prendendo largo sulle altre perché posso simulare la traiettoria dell’utensile e la lavorazione sul software senza fare quindi debug/prove fisiche.
Programmazione manuale
Il part program scritto in linguaggio macchina può contenere:
- Istruzioni ISO (G-Code): Funzioni standardizzate e universali leggibili e interpretabili da qualsiasi macchina (unità di governo)
- Istruzioni non ISO (specifiche dell’unità di governo): Ci sono anche istruzioni specifiche per ogni UG che variano da macchina a macchina.
Una macchina può anche contenerle entrambe. La programmazione è fatta da blocchi, all’interno dei quali ci possono essere una o più istruzioni.
Attenzione!
- Le istruzioni all’interno dello stesso blocco vengono eseguite contemporaneamente!
- Le istruzioni su blocchi diversi vengono eseguite in successione!
Funzioni ISO
- Funzione N: Funzione di numerazione, numero progressivamente i blocchi del programma, solitamente non è molto utilizzata, solo nei programmi lunghi dove c’è la necessità di una ricerca rapida.
- Funzione di posizionamento: Funzione che si riferisce agli assi, dice che posizione devono raggiungere. Esempio: Z<0 (entro nel pezzo).
- Funzione G: Funzioni preparatorie, settano impostazioni, ma non muovono la macchina, preparano i movimenti.
- G0: Controllo punto a punto in rapido, massima velocità, non ho verifiche intermedie.
- G1: Interpolazione lineare, verifico correttezza traiettoria con diversi punti intermedi.
- G2: Interpolazione circolare oraria.
- G3: Interpolazione circolare anti-oraria.
- G94: Avanzamento assi in mm/min.
- G95: Avanzamento assi in mm/giro.
- G96: Lavorazione a velocità di taglio costante.
- G97: Lavorazione a velocità di avanzamento costante.
Programmazione di traiettorie
Esempio 1
Inizialmente dovrei scegliere un sistema di riferimento:
G0 X10 Y0 G1 X10 Y20 G1 X50 Y20 G1 X50 Y-10 G1 X0 Y-10 G1 X-10 Y20
Funzioni che rimangono attive possono essere omesse (quelle sottolineate), potrei eliminare G1 dal codice, stessa cosa vale per gli assi di posizionamento, anche gli zeri volendo possono essere omessi. Il programma ristretto diventa:
G X10 Y G1 Y20 X50 Y-10 X0 X-10 Y-20
Esempio 2
G X50 Y40 G1 X100 Y100 X150 Y120 G2 X300 Y120 I225 J120
Interpolazione circolare oraria, ripeto la Y perché cambia continuamente e dico fin dove mi devo fermare, devo indicare con I→X e J→Y le coordinate del centro della circonferenza. Si può notare che P1-P2 sono Punti SPIGOLOSI, dovrei mantenere lo stesso modulo di velocità nei cambi di direzione che comporterebbe accelerazione infinita. Posso risolvere il problema in 2 modi:
- Percorro ugualmente alla stessa v, il sistema mi crea un raggio di raccordo al posto dello spigolo.
- Dico al sistema di fermarsi sul punto spigoloso, ottenendo una traiettoria più discontinua ma fedele alla progettazione.
Se nel programma non viene specificato nulla rimane di default il G27.
Funzioni di compromesso
- G27: Il sistema decelera in prossimità dei punti spigolosi.
- G28: Lavorazione a velocità costante, creazione di raccordi.
- G29: Il sistema annulla il vettore velocità nei punti di discontinuità.
Funzione M
Settano altre impostazioni, a differenza della funzione G che prepara il movimento, queste le attivano subito.
Funzione S
Esempio: G97 S1500 M3. S = Speed, velocità di rotazione, unità di rotazione viene data dalla funzione G. Tradotto significa 1500 giri/min senso orario. Seguire sempre ordine G-S-M.
Funzione F
Esempio: G97 S1500 M3 G95 F80. F = Feed, velocità di avanzamento degli assi. Si ricorda G94 = mm/min e G95 = mm/giro.
Funzione T
Con n1 viene indicata la stazione dell’utensile/codice mentre con n2 il file correttori, che deve essere presente insieme al part program. In funzione delle dimensioni dell’utensile che vado a scegliere, correggo le quote.
- Il correttore lunghezza corregge sull’asse Z.
- Il correttore diametro su X, Y.
Per convenzione con Z=0 sono sulla superficie del pezzo, con Z<0 siamo dentro al pezzo.
Importante distinzione
- Zero Macchina: Punto in cui si azzerano gli assi della macchina, dove vengono azzerati i trasduttori di posizione, settato dal Costruttore della macchina.
- Zero Pezzo: Origine degli assi di movimento, modificabile dal programmatore di volta in volta, solitamente di trova sulla superficie da lavorare.
La lunghezza dell’utensile serve per traslare dallo “0 macchina” allo “0 pezzo” infatti la macchina corregge le quote conoscendo l’utensile tramite i correttori. L’altro correttore è il diametro, corregge quote X-Y serve soprattutto nella contornatura, l’asse della fresa deve essere traslato dal profilo programmato di metà diametro, altrimenti vado a spianare invece che contornare.
Esempio
In questo caso devo effettuare una traslazione sia su X che su Y. Da P0(X0,Y0) sul programmato mi devo traslare di ΔX = D/2 cosα e ΔY = D/2 sinα, quindi il centro della fresa affinchè avvenga la spianatura dovrà percorrere le seguenti coordinate:
Xc= X0 – ΔX e Yc= Y0 - ΔY
Con la Funzione:
- G41: Si effettua una contornatura con utensile a sinistra rispetto all’avanzamento.
- G42: Contornatura a destra del profilo programmato.
- G40: Annulla correzione del profilo, da mettere alla fine della contornatura.
Programmazione di un centro di lavorazione a controllo numerico
Linguaggio utilizzato: LINGUAGGIO ISO. Per prima cosa è necessario determinare il Sistema di Riferimento.
Asse X = Rappresenta il movimento relativo dell’utensile rispetto al pezzo in direzione ortogonale all’asse del mandrino e parallelo all’asse della tavola porta pezzo della macchina.
Asse Y: Rappresenta il movimento relativo dell’utensile rispetto al pezzo in direzione...
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Gestione produzione
-
Gestione della produzione
-
Glossario Gestione della produzione
-
Domande Gestione della produzione