CNC Path Analyzer

Avanzamento rapido G00 e taglio lineare G01: perché sono diversi anche se entrambi sembrano linee rette

Spiega la differenza tra G00 e G01 in termini di velocità, forma del percorso, comportamento modale e altezza di sicurezza, e mostra come leggere la sequenza di avvicinamento, penetrazione, taglio e retrazione di un esempio di fresatura insieme al relativo disegno del percorso.

In una frase

G00 significa «raggiungere quella coordinata il più rapidamente possibile», mentre G01 significa «raggiungerla lungo una linea retta precisa con l'avanzamento F specificato». Entrambi indicano soltanto le coordinate del punto finale, ma differiscono completamente per quanto riguarda la possibilità che l'utensile tocchi il pezzo.

Differenze di velocità tra G00 e G01

G00 ignora il valore F del programma e si muove alla velocità di avanzamento rapido impostata per ciascun asse nei parametri macchina. Su un centro di lavoro questa raggiunge spesso decine di metri al minuto. La velocità può essere ridotta soltanto mediante l'override del rapido sul pannello operatore (in genere F0, 25%, 50% e 100%).

G01 richiede sempre una velocità di avanzamento. Usa il valore F indicato nello stesso blocco o in uno precedente, e l'unità dipende dall'attivazione di G94 (avanzamento al minuto, mm/min) o G95 (avanzamento per giro, mm/rev). Molti controlli per tornio usano G98/G99 allo stesso scopo. Se si raggiunge G01 prima che sia stato specificato un valore F, la maggior parte dei controlli genera un allarme.

Forma del percorso: G00 potrebbe non essere una linea retta

Sullo schermo, G00 viene spesso rappresentato come una linea che unisce il punto iniziale e quello finale, ma la macchina reale può comportarsi diversamente. Questo accade perché, per impostazione predefinita, molti controlli avviano contemporaneamente tutti gli assi, ciascuno alla propria velocità massima. Per esempio, se un movimento G00 percorre 100 mm in X e 20 mm in Y, Y arriva per primo e nel tratto restante si muove soltanto X, perciò il percorso diventa una linea spezzata (dogleg).

La famiglia FANUC consente di selezionare mediante un parametro il posizionamento rapido con interpolazione lineare, ma l'impostazione varia da macchina a macchina. Per questo i programmatori esperti separano gli assi quando un movimento G00 passa vicino a staffaggi o a una morsa, per esempio sollevando prima Z e muovendo poi XY. Il comando G00 X-10. Y5. Z50. dell'esempio è sicuro soltanto supponendo che l'utensile si trovi già molto in alto.

Avvicinamento, penetrazione, taglio e retrazione in un esempio

Un percorso di fresatura che si avvicina da un'altezza di sicurezza e segue una scanalatura a U profonda 2 mm

O2001
T1 M6
G21 G90 G17 G40 G49 G80 G94
G54
S3000 M03
G00 X-10. Y5. Z50.
Z3.
G01 Z-2. F80
X60. F300
Y25.
X-10.
G00 Z50.
M30
Un percorso di fresatura che si avvicina da un'altezza di sicurezza e segue una scanalatura a U profonda 2 mm — XY percorsoXY
Il tratteggio azzurro indica il rapido G00; la linea arancione indica il movimento di taglio. Gli archi sono curve statiche calcolate.

La figura sopra è il risultato dell’analisi di questo programma con CNC Path Analyzer (rapido 3 segmenti, taglio lineare 4 segmenti).

Lettura del codice riga per riga

  1. G21 G90 G17 G40 G49 G80 G94: millimetri, coordinate assolute, piano XY, annullamento della compensazione del raggio utensile, della compensazione della lunghezza utensile e dei cicli fissi, avanzamento al minuto. È un blocco di sicurezza che ripristina lo stato modale all'inizio del programma.
  2. G00 X-10. Y5. Z50.: avvicinamento rapido a un punto sopra e fuori dal pezzo.
  3. Z3.: è ancora un avanzamento rapido, perché G00 è modale. Scende rapidamente fino a 3 mm sopra la faccia superiore del pezzo (Z0).
  4. G01 Z-2. F80: il taglio inizia qui. È una penetrazione verticale, quindi scende lentamente a F80.
  5. X60. F300: G01 rimane attivo e viene aumentato soltanto l'avanzamento a F300 per tagliare la scanalatura lungo X.
  6. Y25., X-10.: completano il percorso a U con lo stesso G01 e F300.
  7. G00 Z50.: retrazione in rapido fino all'altezza di sicurezza.

I comandi modali restano attivi

G00 e G01 sono comandi modali dello stesso gruppo (gruppo 01). Una volta comandati, rimangono attivi finché non compare un altro codice dello stesso gruppo (G01, G02, G03, cicli fissi e così via). Per questo una riga contenente soltanto coordinate, come Y25. nell'esempio, agisce come movimento di taglio.

Gli incidenti tipici causati da questo comportamento sono «un G01 scambiato per G00» e il contrario. Se durante la modifica di un programma si elimina un blocco contenente G01 e le coordinate della riga successiva si trovano all'interno del pezzo, quella riga viene interpretata nella modalità precedente, G00, e l'utensile può entrare nel pezzo in rapido anziché con l'avanzamento di taglio. Ogni volta che si eliminano o si riordinano blocchi, verificare sempre di nuovo in quale modalità risultano le righe sopra e sotto.

Quando usare ciascun comando

SituazioneConsigliatoMotivo
Movimento vicino al pezzo dopo un cambio utensileG00L'utensile è libero in aria e risparmiare tempo è importante
Discesa fino a pochi mm sopra la faccia superioreG00Soltanto quando l'altezza del grezzo e la compensazione della lunghezza utensile sono certe
Primo movimento dentro il pezzoG01 + F bassoProtegge il tagliente e riduce l'urto d'ingresso
Taglio di contorni e scanalatureG01 / G02 / G03Velocità e percorso definiti determinano la qualità
Retrazione dopo la lavorazioneG00Allontanarsi prima verticalmente dalla superficie lavorata, quindi traslare

Comprendere i numeri: F e tempo di lavorazione

Un avanzamento al minuto di F300 significa percorrere 300 mm in un minuto. Il tratto di taglio dell'esempio è X 70 mm, Y 20 mm e X 70 mm, per un totale di 160 mm, quindi il tempo di taglio puro è 160 ÷ 300 ≈ 0.53 min, circa 32 secondi. La penetrazione verticale di 5 mm (Z3 → Z-2) a F80 aggiunge 5 ÷ 80 × 60 ≈ 3.8 secondi.

Convertire lo stesso F300 nello spessore asportato da ogni tagliente permette di stimare il carico dell'utensile. Una fresa a candela a 2 taglienti che ruota a S3000 presenta 6,000 taglienti al minuto, quindi l'avanzamento per dente è 300 ÷ 6,000 = 0.05 mm. Scegliere F confrontandolo con l'avanzamento per dente consigliato nel catalogo dell'utensile offre una durata utensile più stabile rispetto a sceglierlo a intuito.

ValoreFormulaEsempio
Tempo di taglio (min)Distanza ÷ F160 ÷ 300 = 0.53
Avanzamento per dente (mm)F ÷ (S × numero di taglienti)300 ÷ (3000 × 2) = 0.05
Avanzamento per giro (mm/rev)F ÷ S300 ÷ 3000 = 0.1

Come verificarlo in CNC Path Analyzer

Nello strumento, i tratti di avanzamento rapido e di taglio sono mostrati con colori e stili di linea diversi, e durante la riproduzione il blocco corrente viene evidenziato nel codice. Se una linea rapida attraversa l'area del pezzo o una linea di taglio inizia più in alto del previsto, controllare innanzitutto un cambio di modalità G00/G01 o i valori Z. I movimenti circolari sono trattati nell'articolo sull'interpolazione circolare G02/G03.

Domande frequenti

G0 e G00 sono lo stesso comando?
Sì. Lo zero iniziale può essere omesso, quindi G0 e G00, così come G1 e G01, hanno lo stesso significato. Adottare un'unica notazione secondo le norme interne facilita le revisioni.
Che cosa accade se si scrive F in un blocco G00?
Non influisce sul movimento G00 stesso, ma il valore F viene memorizzato in modo modale e può essere usato nei blocchi G01 successivi. Poiché può causare un avanzamento indesiderato, è più sicuro non scrivere F nei blocchi G00.

Passaggi successivi

Controlla il percorso in CNC Path Analyzer