Programmazione CNC: guida al G-code

In sintesi: la programmazione CNC significa darle le istruzioni che eseguirà per lavorare il pezzo. Il linguaggio standard è il G-code, fatto di codici G (i movimenti) e codici M (le funzioni della macchina). Puoi programmare a mano in ISO, in modo conversational a bordo macchina, oppure lasciar generare tutto al CAM. Qui trovi le basi, un cercatore di codici G/M e le guide per ogni argomento.

La programmazione CNC è il ponte tra il disegno di un pezzo e la sua lavorazione: è l’insieme di istruzioni che dicono alla macchina dove andare, a che velocità e con quale utensile. Capire come è fatto un programma — e i codici che lo compongono — ti permette di leggere ciò che gira in macchina, correggere al volo un errore e capire davvero cosa sta succedendo, invece di “fidarti e sperare”.

Che cos’è la programmazione CNC

Programmare una macchina a controllo numerico significa scrivere una sequenza di istruzioni, dette blocchi, che il controllo legge una dopo l’altra. Ogni blocco contiene comandi e coordinate: per esempio “vai in questo punto in linea retta a questa velocità”. La macchina non “capisce” il pezzo: esegue alla lettera ciò che le dici, ed è qui che sta tutta la differenza tra un programma curato e uno sbagliato.

Il programma può essere scritto a mano, generato da un software CAD/CAM oppure costruito direttamente sul controllo della macchina. Qualunque sia la strada, alla fine il risultato è sempre lo stesso linguaggio: il G-code.

G-code e M-code: il linguaggio della macchina

Il G-code è lo standard con cui si programmano quasi tutte le CNC. Si divide in due grandi famiglie:

  • Codici G (preparatori): governano i movimenti e le modalità di lavoro — posizionamenti rapidi, interpolazioni lineari e circolari, cicli fissi, sistemi di coordinate.
  • Codici M (miscellanei): comandano le funzioni della macchina — rotazione del mandrino, refrigerante, cambio utensile, arresti.

A questi si aggiungono gli indirizzi: X, Y, Z per le coordinate, F per l’avanzamento, S per i giri mandrino, T per l’utensile. Mettendoli insieme nasce un blocco come G01 X50 Y20 F200, cioè “muoviti in linea retta fino a X50 Y20 a 200 mm/min”.

Cerca un codice G o M

Non ricordi cosa fa un codice? Scrivi il codice (per esempio G01 o M03) o una parola chiave: la tabella si filtra all’istante.

Codice Tipo Significato
G00 Movimento Posizionamento rapido (a vuoto)
G01 Movimento Interpolazione lineare (taglio in linea retta)
G02 Movimento Interpolazione circolare oraria
G03 Movimento Interpolazione circolare antioraria
G17 / G18 / G19 Piani Selezione del piano di lavoro XY / XZ / YZ
G20 / G21 Unità Misure in pollici / in millimetri
G28 Riferimento Ritorno al punto zero macchina
G40 Compensazione Annulla la compensazione raggio utensile
G41 / G42 Compensazione Compensazione raggio a sinistra / a destra
G43 Compensazione Compensazione della lunghezza utensile
G54–G59 Origini Selezione delle origini pezzo
G73 Ciclo fisso Foratura profonda con rottura truciolo
G76 Ciclo fisso Ciclo di filettatura
G80 Ciclo fisso Annulla il ciclo fisso attivo
G81 Ciclo fisso Foratura semplice
G82 Ciclo fisso Foratura con sosta sul fondo
G83 Ciclo fisso Foratura profonda a tappe (peck drilling)
G84 Ciclo fisso Maschiatura
G90 / G91 Coordinate Quote assolute / incrementali
G94 / G95 Avanzamento Avanzamento in mm/min / in mm/giro
G96 / G97 Mandrino Velocità di taglio costante / giri costanti
G98 / G99 Ciclo fisso Ritorno al piano iniziale / al piano R
M00 / M01 Arresto Arresto programma / arresto opzionale
M03 / M04 Mandrino Rotazione mandrino oraria / antioraria
M05 Mandrino Arresto del mandrino
M06 Utensile Cambio utensile
M08 / M09 Refrigerante Refrigerante acceso / spento
M30 Fine Fine programma e rewind
M98 / M99 Sottoprogrammi Richiamo sottoprogramma / ritorno

Per l’elenco completo e spiegato vai alle guide dedicate ai codici G e ai codici M.

I tre modi di programmare una CNC

Non esiste un solo modo di programmare: ce ne sono tre, adatti a situazioni diverse.

  • Manuale (ISO): scrivi tu il G-code, blocco per blocco. Massimo controllo, ideale per pezzi semplici e per imparare. Ne parliamo nella guida alla programmazione ISO.
  • Conversational: rispondi a domande sul controllo della macchina (“che foro? che diametro?”) e il controllo genera il codice. Veloce a bordo macchina.
  • CAM: disegni il pezzo e il software calcola i percorsi e genera il G-code tramite il post-processor. La scelta per geometrie complesse e produzione.

Quale conviene? Dipende dal pezzo e dal contesto: lo confrontiamo nella guida conversational, ISO o CAM.

Le guide del cluster Programmazione CNC

Codici G: lista e significato

Tutti i codici G più usati, raggruppati per funzione e spiegati con esempi.

Codici M: le funzioni macchina

Mandrino, refrigerante, cambio utensile e arresti: cosa fa ogni codice M.

Cicli fissi (canned cycles)

Foratura, foratura profonda, maschiatura e filettatura senza scrivere ogni movimento.

Programmazione ISO: struttura del programma

Blocchi, indirizzi, coordinate assolute e incrementali: come è fatto un programma.

Esempio di programma CNC commentato

Un programma reale spiegato riga per riga, dall’inizio alla fine.

Conversational, ISO o CAM

I tre metodi a confronto: pro, contro e quando scegliere ciascuno.

Anatomia di un blocco G-code

Anatomia di un blocco G-code: numero blocco, codice G, coordinate, avanzamento, giri, codice M
Come si legge un blocco G-code, pezzo per pezzo.

Un programma è una sequenza di righe e ogni riga, detta blocco, si legge da sinistra a destra. Prendiamo un esempio: N50 G01 X50.0 Y20.0 F200 S1200 M03. Ecco cosa dice, pezzo per pezzo:

  • N50 — il numero del blocco (facoltativo, serve solo a numerare le righe).
  • G01 — la modalità di movimento: interpolazione lineare.
  • X50.0 Y20.0 — le coordinate del punto di destinazione.
  • F200 — l’avanzamento, cioè 200 mm/min.
  • S1200 — i giri del mandrino, 1200 giri/min.
  • M03 — fa partire il mandrino in senso orario.

Quando sai leggere un blocco così, leggere un intero programma diventa solo questione di ripetere lo stesso ragionamento riga dopo riga. Un dettaglio utile: molti comandi sono modali, cioè restano attivi finché non li cambi, quindi non vanno ripetuti a ogni riga.

I dialetti del G-code: Fanuc, Heidenhain, Siemens

Le fondamenta del G-code sono uno standard, ma ogni costruttore di controlli ha le proprie varianti. Fanuc è il dialetto più diffuso e il riferimento di gran parte delle macchine; Heidenhain usa una programmazione conversational molto amata nelle fresatrici; Siemens (SINUMERIK) ha una sintassi potente e leggermente diversa. Ciò significa che un programma scritto per un controllo non sempre gira identico su un altro: è proprio per questo che, nel flusso CAD/CAM, il post-processor traduce i percorsi nel dialetto giusto per la tua macchina.

Da dove iniziare

Se parti da zero, il percorso più efficace è questo: prima impara a leggere un blocco e i codici principali (bastano i venti che trovi nella tabella qui sopra), poi studia la struttura di un programma e analizza un esempio commentato. Quando le basi sono solide, il passaggio al CAM sarà molto più consapevole. Per fare pratica offline, una buona idea è affiancare un manuale: trovi una selezione nella guida ai migliori libri di programmazione CNC. E per impostare giri e avanzamenti corretti, tieni a portata il calcolatore dei parametri di taglio.

Per imparare a programmare

I migliori libri di programmazione CNC →I libri su CAM e Fusion 360

Link affiliati Amazon: se acquisti da qui CalibroPro riceve una piccola commissione, senza costi in più per te.

Domande frequenti

Che cos’è il G-code?
È il linguaggio standard con cui si programmano le macchine CNC. È composto da codici G (movimenti e modalità) e codici M (funzioni macchina), più indirizzi come X, Y, Z, F e S.

Devo saper programmare a mano se uso il CAM?
Non è obbligatorio, ma conoscere le basi del G-code ti permette di leggere il programma, correggere piccoli errori e capire cosa farà la macchina. È un vantaggio enorme.

Qual è la differenza tra codici G e codici M?
I codici G sono “preparatori” e governano i movimenti e le modalità di lavoro; i codici M sono “miscellanei” e comandano funzioni come mandrino, refrigerante e cambio utensile.

Il G-code è uguale per tutte le macchine?
Le basi sono standard, ma ogni controllo (Fanuc, Heidenhain, Siemens) ha le sue varianti e codici specifici. Per questo il post-processor genera il G-code adatto alla macchina specifica.

Quanto tempo serve per imparare a programmare una CNC?
Le basi della programmazione ISO si imparano in poche settimane di pratica; la padronanza completa, cicli e ottimizzazioni comprese, richiede mesi di esperienza in officina.

Per vedere la programmazione CNC da zero, guarda questo corso introduttivo:

Il video è ospitato su YouTube. Premendo play lo carichi da YouTube (Google), che può salvare cookie e dati sul tuo dispositivo. Cookie policy

Da dove cominciare

L’ordine che funziona è questo: codici G e codici M, poi la struttura di un programma ISO, poi un esempio commentato da leggere riga per riga e infine i cicli fissi. Il cercatore qui sopra serve come promemoria quando trovi un codice che non conosci.

Potrebbe interessarti anche

Oppure apri i calcolatori o il glossario.

Guide tecniche su lavorazioni meccaniche, CNC, tolleranze ISO e strumenti di misura. Risorse pratiche per tecnici, operatori e studenti.

In qualità di Affiliato Amazon io ricevo un guadagno dai relativi acquisti idonei. «Amazon» e il logo Amazon sono marchi di Amazon.com, Inc. o delle sue affiliate.

I marchi, i loghi e i nomi commerciali eventualmente citati appartengono ai rispettivi proprietari e sono utilizzati a solo scopo descrittivo e identificativo, senza alcuna affiliazione o sponsorizzazione salvo ove diversamente indicato.

In qualità di Affiliato Amazon, CalibroPro riceve un guadagno dagli acquisti idonei.