Controllo numerico e G-code
La Olivetti Auctor 25 muItiplex, uscita nel 1965, è una macchina a controllo numerico dotata di 12 utensili a cambio automatico, gestiti da un sistema a controllo numerico punto a punto su tre assi per forare, maschiare, alesare e fresare.
Codice G (RS-274-D) è il linguaggio più diffuso e storicamente importante per la programmazione CNC. Si basa su comandi alfanumerici per specificare movimenti utensile, velocità, avanzamenti, cambi utensile, e altre funzioni della macchina. Anche se "vecchio", è ancora ampiamente utilizzato oggi, spesso con estensioni specifiche del produttore.
Prendiamo ad esempio questa riga di codice:
G01 X1 Y1 F20 T01 M03 S500
In questa singola riga, stiamo dando alla macchina una serie di istruzioni:
G01 – Esegue un avanzamento lineare
X1/Y1 – Si sposta su queste coordinate X e Y
F20 – Spostamento con avanzamento 20
T01 – Utilizzo dell’utensile 1 per portare a termine il lavoro
M03 – Aziona il mandrino
S500 – Imposta una velocità del mandrino pari a 500
Simulatore CNC Drill Drilling ⚙️
Stato
Posizione: X:0 Y:0 Z:0
Comando: -
Principali Comandi G-code
Movimento
Codice |
Descrizione |
Esempio |
G00 |
Spostamento rapido per posizionarsi nelle coordinate specificate (non lavorativo) |
G00 X10 Y20 |
G01 |
Interpolazione lineare: muove l'utensile in linea retta alla velocità di avanzamento (F) specificata. È il comando principale per tagliare, fresare o estrudere |
G01 X10 Y20 F100 |
G02 |
Interpolazione circolare oraria |
G02 X10 Y20 I5 J5 |
G03 |
Interpolazione circolare antioraria |
G03 X10 Y20 I5 J5 |
G28 |
Riporta l'utensile alla posizione di partenza (zero macchina) su uno o più assi |
G28 X0 Y0 |
G04 |
Mette in pausa l'esecuzione del programma per un tempo specificato (in secondi S o millisecondi P) |
G04 P500 |
Comandi di Impostazione
Codice |
Descrizione |
Esempio |
G90 |
Posizionamento assoluto: Tutte le coordinate (X, Y, Z) sono interpretate come posizioni assolute rispetto all'origine del pezzo (0,0,0) |
G90 |
G91 |
Posizionamento incrementale (o relativo): Tutte le coordinate sono interpretate come distanze da percorrere a partire dalla posizione corrente |
G91 |
Piani di lavoro
Codice |
Descrizione |
Esempio |
G17 |
Seleziona piano XY |
G17 |
G18 |
Seleziona piano XZ |
G18 |
G19 |
Seleziona piano YZ |
G19 |
Unita di misura
Codice |
Descrizione |
Esempio |
G20 |
Imposta unità in pollici |
G20 |
G21 |
Imposta unità in millimetri |
G21 |
Compensazione utensile
Codice |
Descrizione |
Esempio |
G40 |
Annulla compensazione raggio utensile |
G40 |
G41 |
Compensazione raggio utensile a sinistra |
G41 D1 |
G42 |
Compensazione raggio utensile a destra |
G42 D1 |
G43 |
Compensazione lunghezza utensile positiva |
G43 H1 |
G44 |
Compensazione lunghezza utensile negativa |
G44 H1 |
G49 |
Annulla compensazione lunghezza utensile |
G49 |
Cicli fissi
Codice |
Descrizione |
Esempio |
G73 |
Ciclo di foratura con sgroppamento |
G73 X10 Y20 Z-10 R2 Q2 F50 |
G81 |
Ciclo di foratura semplice |
G81 X10 Y20 Z-10 R2 F50 |
G82 |
Ciclo di foratura con sosta |
G82 X10 Y20 Z-10 R2 P1000 F50 |
G83 |
Ciclo di foratura con ritiro |
G83 X10 Y20 Z-10 R2 Q2 F50 |
G84 |
Ciclo di maschiatura |
G84 X10 Y20 Z-10 R2 F1.25 |
Comandi M (ausiliari)
Codice |
Descrizione |
Esempio |
M00 |
Stop programma |
M00 |
M03 |
Attiva mandrino orario |
M03 S1000 |
M04 |
Attiva mandrino antiorario |
M04 S1000 |
M05 |
Arresta mandrino |
M05 |
M06 |
Esegue la procedura di cambio utensile, specificato dal parametro T |
M06 T1 |
M08 |
Attiva refrigerante |
M08 |
M09 |
Disattiva refrigerante |
M09 |
M30 |
Fine programma |
M30 |
Altri comandi importanti
Codice |
Descrizione |
Esempio |
F |
Velocità di avanzamento |
F100 |
S |
Velocità mandrino (RPM) |
S2000 |
T |
Seleziona utensile specifico dalla torretta portautensili |
T1 |
D |
Offset diametro utensile |
D1 |
H |
Offset lunghezza utensile |
H1 |
I, J, K |
Definiscono il centro di un arco per i comandi G02 e G03 |
I5 J10 |