Dunque, faccio una piccola premessa per chiarire che in questa sede non pretendo di dare lezioni di programmazione a tutti gli effetti ma solo di infarinare nel campo del Tornio CNC per chi ne vuole sapere qualcosa o di più. Il campo è troppo ampio e complesso per poter trattare tutto e nel completo di ogni caso ed esempio per cui affronteremo magari man mano gli eventuali problemi proposti da eventuali interessati. Tratteremo il linguaggio di programmazione Fanuc.
Cominciamo quindi con i comandi base. Lasciamo per ora perdere tutto quello che riguarda un piazzamento macchina, tipi di utensili, parametri di lavoro, pressione, presa del pezzo e tutto il resto altrimenti facciamo solo confusione in massa. Vediamo i comandi un po' alla volta e cerchiamo di familiarizzare con essi e poi magari faremo un passo dopo l'altro.
Ovviamente diffido chiunque dal mettere in macchina i programmi o le parti di programma che qui troverete in quanto non mi assumo assolutamente la responsabilità di ciò che potrete fare con essi, per cui siete avvisati.
G0 comando del movimento in rapido degli assi G1 comando del movimento in lavoro degli assi che significa? semplicemente che quando dovremo spostare velocemente uno o più assi che non stanno fisicamente lavorando sul pezzo lo faremo programmando in G0 mentre se stiamo lavorando e producendo truciolo useremo il G1. Questi comandi sono modali ossia rimangono attivi dopo essere stati programmati finchè non verranno sostituiti da un altro modale. Nella sostanza se programmiamo G0 X100 muoviamo l'asse X alla posizione 100 e se poi scriviamo X200 muoveremo l'asse X alla posizione 200 sempre in G0 perchè sempre attivo. Stesso vale quindi per G1. Altri due comandi base sono G2 e G3. Questi due comandi permettono di creare un raccordo in senso orario nel caso di G2 e in senso antiorario nel caso di G3. Negli esempi vedremo meglio come si usano. Ora in linea di massima siamo a conoscenza dei comandi teoricamente sufficienti per programmare la tornitura di un pezzo meccanico, ovviamente ci sono molte altre sigle, ma le vedremo più avanti.
Nell'esempio possiamo vedere un particolare molto semplice. Supponiamo di partire da un grezzo le cui dimensioni siano diametro 105mm pieno; ossia un tondo di diametro 105mm.
Facciamo chiaramente una premessa per i profani ...
Qui nell'esempio riportato immaginiamo di avere una macchina a 2 assi ossia l'asse X che ci permetterà di muovere la torretta porta utensili dall'alto verso il basso e l'asse Z che ci permette di muovere la torretta da destra a sinistra. Ovviamente ci sarà il mandrino che terrà ben stretto tra i suoi morsetti il pezzo da lavorare e lui si occuperà di ruotare e per il momento non ne teniamo conto.
La parte che riguarda il movimento degli assi sarà così strutturata:
Come potete vedere il programma in se non funziona di certo in quanto manca di ogni informazione per la macchina, ma a noi per il momento interessa solo vedere e capire come ci si deve muovere per la tornitura semplice. Cercate di osservare il disegno e di immaginare la macchina mentre esegue gli spostamenti sia in lavoro che in rapido e provate a ragionare sul quando usare il G0 e quando il G1 e cercate anche di capire l'uso del G2 e del G3. Se fin qui è tutto chiaro allora proseguite con la lettura, altrimenti potete contattarmi per ogni chiarimento e io cercherò di trovare il tempo per rispondere a tutti.
Bene, per completare ulteriormente il programma appena visto, abbiamo bisogno di conoscere altre funzioni ... T .... con questo comando diciamo alla macchina quale utensile dovrà andare in posizione e quindi in lavoro. La torretta dispone di un certo numero di utensili che vengono numerati in sequenza dall'1 all'8 (se dispone di 8 porta utensili). Per cui scriveremo T0102 (nel linguaggio Fanuc) e la torretta ruoterà nella posizione 1 chiamando il correttore 2 per gli spostamenti. Un momento ... chi è questo correttore? Dunque dovete sapere che sulla torretta è possibile montare svariati utensili di forma e lunghezza diversa, per cui in qualche modo dovremo dire alla macchina quali sono gli ingombri di questo particolare utensile per farlo Fanuc ci mette a disposizione una tabella di correttori numerati da 1 a .... n° che permette di salvare ad ogni posizione dei valori di ingombro dell'asse X e dell'asse Z e anche altri numeri che vedremo più avanti. Bene, se io voglio che l'utensile montato nella posizione 1 della torretta, abbia i suoi valori memorizzati nel correttore 2, allora quando lo chiamerò in programma, dovrò chiamarlo con T0102. Chiaramente sarà molto più logico e conveniente usare T0101, T0202, T0303, ecc ecc...
Passiamo ai comandi che fanno ruotare il mandrino?
M3 senso di rotazione antioraria M4 senso di rotazione oraria M5 stop del mandrino (mandrino fermo)
Basterà questo comando a far girare il mandrino? No. Dobbiamo introdurre altri comandi ... vediamoli.
G97 rotazione del mandrino a giri fissi G96 rotazione del mandrino a metri fissi G92 limitazione ai giri
Cerchiamo di fare un po' di luce.
Quando si vuole lavorare a giri fissi ossia fare in modo che il mandrino mantenga costante la velocità di rotazione come nella foratura o nella filettatura o nella fresatura o ancora la maschiatura, si adotta il comando G97 e si farà seguire poi la sigla S che indica il numero di giri che vorremmo ottenere per esempio: G97 S200. Se invece vorremmo lavorare in modo da mantenere i metri di lavoro fissi, allora imposteremo il comando G96 a cui seguirà la S e per fare un esempio: G96 S300. Con G96 avremo la possibilità di avere l'inserto a contatto con il pezzo con una velocità di lavoro costante qualsiasi sia il diametro di lavoro, così se il diametro varierà (durante l'intestatura o durante le varie passate), sarà il controllo a variare i giri mandrino in modo che la velocità di lavoro sia costante secondo la nota formula: S=(Vt*1000)/(3.14*diametro). Con il diametro intenderemo il diametro del pezzo durante la passata che stiamo facendo, oppure il diametro dell'utensile in caso per esempio di maschiatura o fresatura. Abbiamo però un problema di non poco conto da tener presente, ossia che la macchina è impostata per un massimo di numero di giri da raggiungere che potrebbe essere anche 5000 giri o più e questo numero potrebbe essere molto pericoloso per la sicurezza del pezzo, della macchina e di noi stessi nel momento in cui forza centrifuga dovuta alla rotazione del peso del pezzo nel mandrino, suo eventuale sbilanciamento se non è un finito e le forze impresse sul pezzo dall'utensile durante il lavoro dovessero superare la forza di serraggio dei morsetti. Per cui dobbiamo limitare ad un numero massimo che dipenderà da ciò che stiamo facendo e da molti altri fattori. Questo lo facciamo con G92 S, per esempio : G92 S2000, la macchina potrà accelerare il mandrino fino ai 2000 giri e poi manterrà questi giri costanti senza aumentarli ulteriormente (potrà solo calarli con l'aumentare del diametro di lavoro sempre seguendo la formula indicata sopra). Arrivati a questo punto, possiamo modificare il nostro programma di prima in questo modo: (riporto solo l'inizio in quanto è l'unica parte che varia per il momento)
T101 G92 S2000 G96 S300 M4 G0 X110 Z100 G0 Z5 G1 X100 .... è assolutamente importante indicare prima G92 S....... rispetto al G96 S..... in quanto alla lettura di G96 S300 M4, il controllo fa partire il mandrino e se i giri massimi impostati prima fossero stati 3000 per esempio, questo potrebbe essere pericoloso se la torretta fosse ad un diametro X abbastanza piccolo da accelerare fino a quei giri e magari far saltare fuori il pezzo con una certa violenza. (Ricordate che la macchina non si ferma a causa del fatto che il pezzo vola fuori, ma solo dopo avere ricevuto un allarme di qualche tipo e potrebbero passare diversi secondi prima che ciò accada ... quindi immaginate voi).