In sintesi: la programmazione ISO è la scrittura manuale del G-code secondo lo standard internazionale. Un programma è una sequenza di blocchi, ognuno fatto di indirizzi (N, G, X, Y, Z, F, S, T, M) che dicono cosa fare e dove. Capire blocchi, struttura e coordinate assolute/incrementali è la base per leggere e scrivere qualsiasi programma CNC.
La programmazione ISO è il modo “classico” di programmare una CNC: scrivere il G-code a mano, riga per riga, seguendo lo standard internazionale (la norma ISO 6983). Può sembrare ostica all’inizio, ma ha una struttura logica molto regolare: una volta capita, leggere un programma diventa naturale. In questa guida vediamo com’è fatto un programma e quali regole lo governano. Per le basi dei comandi parti dai codici G e dai codici M.
Cos’è la programmazione ISO
“ISO” indica lo standard che definisce la sintassi del G-code. Programmare in ISO significa scrivere direttamente i blocchi di codice, senza l’aiuto di un CAM o delle interfacce guidate. È la strada più trasparente: hai il controllo totale su ogni movimento, ed è il modo migliore per capire davvero cosa fa la macchina. Resta ideale per pezzi semplici, modifiche al volo e per imparare; per geometrie complesse, invece, conviene il CAD/CAM.
Il blocco e gli indirizzi
L’unità base del programma è il blocco: una riga di istruzioni. Ogni blocco è composto da indirizzi, cioè lettere seguite da un valore. I principali sono:
- N — numero di blocco (facoltativo).
- G — codice preparatorio (movimento e modalità).
- X, Y, Z — coordinate degli assi.
- I, J, K / R — parametri degli archi.
- F — avanzamento.
- S — giri del mandrino.
- T — numero utensile.
- M — funzione macchina.
Mettendoli insieme nasce un blocco come N20 G01 X30.0 Y15.0 F180: “blocco 20, movimento lineare fino a X30 Y15 a 180 mm/min”.
La struttura di un programma
Quasi tutti i programmi ISO seguono lo stesso schema in tre parti:
- Intestazione: impostazioni di sicurezza e di partenza — unità (G21), coordinate assolute (G90), piano (G17), selezione origine (G54), cambio utensile (T e M06), avvio mandrino (S e M03), refrigerante (M08).
- Corpo: i movimenti veri e propri, con i codici G e gli eventuali cicli fissi.
- Chiusura: spegnimento di refrigerante (M09) e mandrino (M05), ritorno in posizione sicura e fine programma (M30).
Coordinate assolute e incrementali
È il concetto da padroneggiare assolutamente. In modalità assoluta (G90) ogni coordinata è riferita all’origine pezzo: X30 significa “trenta millimetri dall’origine”. In modalità incrementale (G91) ogni coordinata è riferita alla posizione attuale: X30 significa “spostati di trenta millimetri da dove sei”. La maggior parte dei programmi lavora in assoluto, ma alcune operazioni ripetitive sono più comode in incrementale. Sbagliare modalità è una delle cause più frequenti di errori e collisioni.
Origini e sistemi di riferimento
La macchina ha un suo zero macchina (fisso), ma il programma ragiona rispetto allo zero pezzo, che scegli tu e memorizzi in una delle origini G54–G59. Impostare bene lo zero pezzo è fondamentale: è il punto a cui tutte le quote del programma fanno riferimento.
Codici modali e commenti
Molti codici sono modali: restano attivi finché non li cambi, quindi non vanno ripetuti a ogni riga. Per documentare il programma puoi inserire commenti, di solito tra parentesi: (FORATURA 4 FORI). I commenti non vengono eseguiti, ma rendono il programma leggibile a te e a chi lo userà dopo.
Esempio di struttura
| Blocco | Cosa fa |
|---|---|
G21 G90 G17 G54 | mm, assoluto, piano XY, origine G54 |
T01 M06 | Monta l’utensile 1 |
S2000 M03 | Mandrino orario a 2000 giri |
G00 X0 Y0 ; M08 | Rapido all’inizio, refrigerante on |
| … corpo … | Movimenti e cicli |
M09 ; M05 | Refrigerante e mandrino off |
G28 ; M30 | Ritorno allo zero macchina, fine |
Per un programma completo e commentato riga per riga vai all’esempio di programma CNC.
Consigli per un programma ISO pulito
Un programma ordinato è un programma sicuro. Qualche abitudine che fa la differenza:
- Apri sempre con un blocco di sicurezza (per esempio G21 G90 G17 G54): così parti da uno stato noto, qualunque cosa avesse lasciato il programma precedente.
- Commenta i passaggi chiave tra parentesi: a distanza di mesi ti ringrazierai da solo.
- Raggruppa le operazioni per utensile, per ridurre i cambi e i tempi morti.
- Chiudi con ordine: refrigerante off, mandrino off, ritorno in sicurezza, M30.
- Simula o prova a vuoto prima della prima esecuzione: il flusso completo è spiegato nella guida dal CAD al CNC.
Errori tipici di chi inizia
- Modalità di coordinate sbagliata: lavorare in G91 credendo di essere in G90 è l’errore numero uno. Controlla sempre.
- Zero pezzo non impostato o sbagliato: il programma perfetto su uno zero errato produce uno scarto.
- Dimenticare di avviare il mandrino o il refrigerante prima di tagliare.
- Unità non dichiarate: senza G20/G21 la macchina potrebbe interpretare le quote nell’unità sbagliata.
- Avanzamento F non impostato prima di un G01: alcuni controlli si fermano in allarme, altri usano un valore residuo imprevisto.
ISO, conversational o CAM?
La programmazione ISO è una delle tre strade possibili. È perfetta per imparare e per pezzi semplici; per i pezzi complessi o la produzione, conviene il CAM. Le mettiamo a confronto nella guida conversational, ISO o CAM.
Domande frequenti
Cosa significa programmazione ISO?
È la scrittura manuale del G-code secondo lo standard internazionale ISO. Si programmano direttamente i blocchi di codice, senza l’aiuto di un CAM.
Che cos’è un blocco?
È una riga del programma, composta da indirizzi (lettere come G, X, Y, Z, F, S, M con un valore) che la macchina esegue come una singola istruzione.
Qual è la differenza tra coordinate assolute e incrementali?
In assoluto (G90) le quote sono riferite all’origine pezzo; in incrementale (G91) sono riferite alla posizione attuale. È fondamentale sapere quale modalità è attiva.
Devo numerare i blocchi con N?
No, il numero di blocco è facoltativo. Serve a numerare le righe e a richiamarle (per esempio nei salti), ma il programma funziona anche senza.
Come si scrive un commento in un programma?
Di solito si mette tra parentesi, per esempio (CAMBIO UTENSILE). Il commento non viene eseguito e serve a rendere il programma leggibile.
Per vedere la struttura di un programma ISO, guarda questo tutorial completo:
Conclusioni
La programmazione ISO ha fama di essere difficile, ma in realtà è solo questione di conoscere pochi elementi — blocchi, indirizzi, struttura e modalità di coordinate — e applicarli con ordine. Padroneggiarla ti rende autonomo: sai leggere ciò che gira in macchina, correggerlo e scriverlo da zero. Prosegui con i cicli fissi e con l’esempio commentato per consolidare.
