![Come lavorare gli ingranaggi elicoidali con il CNC a 4 assi](https://www.machinemfg.com/wp-content/uploads/2022/06/How-To-Machine-Helical-Gears-With-4-axis-CNC.png)
In questo post del blog, un ingegnere meccanico esperto condivide suggerimenti e tecniche privilegiate per padroneggiare i comandi del tornio CNC Fanuc. Scoprite come ottimizzare le vostre capacità di programmazione CNC, aumentare la produttività e portare i vostri progetti di lavorazione al livello successivo.
G00▲: Posizionamento rapido del punto
G00 X__Z__
G01: Interpolazione lineare
G01 X__Z__F__
G01: Comando smusso o filetto
G01 X(U) Z(W) C
G01 X(U) Z(W) R
I valori di X (U) e Z (W) rappresentano le coordinate dell'ipotetico punto di intersezione tra le linee adiacenti AD e DE all'interno del sistema di coordinate del pezzo, dove X e Z sono valori di coordinate assolute e U e W sono valori di coordinate incrementali. Il valore C indica la distanza relativa al punto di partenza dello smusso. Il valore R indica il raggio dell'arco di raccordo.
G02: Interpolazione ad arco in senso orario
G02X__Z__R__F__
G02X__Z__ I__K__ F__
R rappresenta il raggio dell'arco. Quando l'angolo centrale dell'arco è compreso tra 0° e 180°, R assume un valore positivo; per un angolo centrale compreso tra 180° e 360°, R assume un valore negativo. I e K indicano le coordinate incrementali del centro dell'arco rispetto agli assi X e Z dal punto di partenza dell'arco, cioè le coordinate del centro sottraggono le coordinate del punto di partenza (I è rappresentato dal valore del raggio). Quando I e K sono pari a zero, possono essere omessi.
G03: Interpolazione dell'arco in senso antiorario
G03 X__Z__R__F__
G03X__Z__ I__K__ F__
Identico a G02.
G04: Pausa
G04 X1,5; o G04 P1500; P senza punto decimale.
G07.1 (G107): Interpolazione cilindrica
G07.1IPr (effettivo); G07.1IP0 (cancellazione);
G10▲: Ingresso dati programmabile
G10 P __X__ Z__R__ Q__
G11: Cancellazione dell'ingresso dati programmabile
G12.1 (G112): Istruzione sulle coordinate polari
G13.1▲: Annullamento delle coordinate polari
G17: Selezione del piano XY
G18▲: Selezione del piano XZ
G19: Selezione del piano YZ
G20: Ingresso in pollici
G21: Ingresso millimetrico
G22: Abilita il rilevamento della corsa memorizzata
G23: Disabilitare il rilevamento della corsa memorizzata
G27: Controllo del ritorno del punto di riferimento
G27 X(U) Z(W)
Il ritorno dell'utensile alle coordinate X e Z specificate nel programma viene controllato con il comando G00. Se il ritorno è accurato, la spia si accende. Tuttavia, le discrepanze provocano allarmi di sistema sulla macchina utensile.
G28: Ritorno automatico al punto di riferimento
G28 X(U) Z(W); X e Z sono i punti passati durante il processo di ritorno.
G29: Ritorno al punto di riferimento
G29 X(U) Z(W)
Dal punto di riferimento, passando per il punto centrale fino alle posizioni X e Z specificate, il punto centrale è il punto designato da G28; pertanto, questo comando può comparire solo dopo G28.
G30: Ritorno al set point
G30 P2/P3/P4 X Z
P2, P3, P4 rappresentano rispettivamente il 2°, 3° e 4° punto di riferimento, mentre X e Z sono i punti intermedi.
Significato: L'utensile passa attraverso i punti intermedi per raggiungere le posizioni del 2°, 3° e 4° punto di riferimento.
G31: Funzione di salto
G32: Filettatura a passo uguale
G32X(U)_Z(W)_F_Q_
G32 Z(W) F; (filettatura cilindrica)
G32 X(U) F; (filettatura di testa)
G32 X(U) Z(W) F; (filettatura conica)
Nota:
1. Durante la programmazione, i segmenti di taglio e di uscita devono essere incorporati nel programma di tornitura del filo.
2. Per la lavorazione di filetti conici, quando l'angolo α è inferiore o uguale a 45 gradi, l'avanzamento del filetto è specificato nella direzione dell'asse Z; quando l'angolo α è superiore a 45 gradi e inferiore o uguale a 90 gradi, l'avanzamento del filetto è specificato nella direzione dell'asse X.
3. Q rappresenta l'angolo iniziale del filo, senza punto decimale, e l'unità di misura è 0,001°.
G34: Filettatura a passo variabile
G34 X(U) Z(W) F K ; (filettatura conica)
K rappresenta l'incremento (valore positivo) o il decremento (valore negativo) del passo per giro; il resto è uguale a G32.
G36: Automatico Compensazione degli strumenti X
G36 X
G37: Compensazione automatica dell'utensile Z
G37 Z
G40: Cancellazione della compensazione del raggio di punta
G41: offset a sinistra per il raggio della punta dell'utensile
G41(G42)G01(G00) X Z F
G40 G01(G00) X Z F
Per il portautensili anteriore, il cerchio esterno è G42 con numero di posizione 3, mentre il foro di alesaggio è G41 con numero di posizione 2. La figura seguente mostra il numero di posizione per il portautensili anteriore, con le posizioni 2 e 3 e 1 e 4 invertite sul portautensili posteriore, mentre il resto rimane invariato.
G42: offset destro per il raggio della punta dell'utensile
G50: Impostazione del sistema di coordinate o limite massimo di velocità
G50 X Z o G50 S
G50.3: Preimpostazione del sistema di coordinate del pezzo
G50.2: Annullamento della rotazione dei poligoni
G51: Tornitura di poligoni
G52: Sistema di coordinate locali
G52 X20 Z20: i valori X\Z rappresentano la posizione dell'origine del sistema di coordinate locali all'interno del sistema di coordinate del pezzo originale.
Se G52 X0 Z0: annulla il sistema di coordinate locali, ripristinando l'origine del sistema di coordinate originale.
G53: Selezione del sistema di coordinate della macchina utensile
Deselezionare il sistema di coordinate del pezzo e scegliere il sistema di coordinate della macchina utensile.
(G90) G53 X_ Y_ Z_: è valido nel comando assoluto (G90), ma non è valido nel comando incrementale (G91).
Nota:
(1) L'offset del diametro utensile, l'offset della lunghezza utensile e l'offset della posizione utensile devono essere annullati prima di assegnare il comando G53. In caso contrario, la macchina utensile si sposterà in base ai valori di offset assegnati.
(2) Prima di eseguire il comando G53, manualmente o tramite il comando G28, riportare la macchina utensile all'origine. Questo perché il sistema di coordinate della macchina utensile deve essere impostato prima di emettere il comando G53.
G54▲: Selezione del sistema di coordinate del pezzo 1
G54; accensione predefinita.
G55-59: Selezione dei sistemi di coordinate del pezzo 2-6
G65: Chiamata non modale di un programma macro
La Classe A utilizza il sistema FANUC 0TD, mentre la Classe B utilizza il sistema FANUC 0I.
Le variabili locali sono #1-#33, le variabili condivise sono #100-#149, #500-#549 e le variabili di sistema sono #1000 e oltre.
I programmi macro terminano con M99 e possono essere richiamati con M98 o "G65 P(numero programma)L(conteggio)".
Il formato dei programmi di Classe A è: G65 H(a)P(b)Q(c)R(d), dove a è il codice H, b è la variabile risultato e c, d sono due variabili di operazione.
Comando di funzionamento del programma macro di classe B.
Assegnazione | #i=#j | Funzione pavimento | #i=FUP[#j] |
Aggiunta | #i=#j+#k | Logaritmo naturale | #i=LN[#j] |
Sottrazione | #i=#j-#k | Funzione esponenziale | #i=EXP[#j] |
Moltiplicazione | #i=#j*#k | Oppure | #iOR#j |
Divisione | #i=#j/#k | Esclusivo o | #iXOR#j |
Seno | #i=SIN[#j] | E | #iE#j |
Seno inverso | #i=ASIN[#j] | Conversione da BCD a BIN | #i=BIN[#j] |
Coseno | #i=CON[#j] | Conversione da BIN a BCD | #i=BCD[#j] |
Coseno inverso | #i=ACON[#j] | Pari | EQ |
Tangente | #i=TAN[#j] | Non uguale a | NE |
Tangente inversa | #i=ATAN[#j]/[#k] | Maggiore di | GT |
Radice quadrata | #i=SQRT[#j] | Maggiore o uguale a | GE |
Valore assoluto | #i=ABS[#j] | Meno di | LT |
Arrotondamento | #i=ROUND[#j] | Inferiore o uguale a | LE |
Soffitto | #i=FIX[#j] |
Comando di controllo: GOTO n - Salto incondizionato
IF [espressione di condizione] GOTO n - Istruzione di salto condizionale
WHILE [espressione di condizione] DO m (m=1, 2, 3...) - Comando ad anello
...
FINE m;
G66: Invocazione modale di un programma macro
G67: Annullamento dell'invocazione modale del programma macro
G70: Mescola per tornitura fine cilindrica interna ed esterna Ciclo fisso
Formato di programmazione: G70 P(ns) Q(nf)
Dove:
Note:
(1) Il comando G70 non può essere utilizzato in modo indipendente; deve essere combinato con i comandi G71, G72, G73 per completare il ciclo fisso di lavorazione di precisione, ovvero, dopo aver sgrossato il pezzo con i comandi G71, G72, G73, si utilizza G70 per specificare il ciclo fisso di tornitura di precisione, eliminando il margine lasciato dalla sgrossatura.
(2) In questo caso, i comandi F, S, T dei segmenti di programma G71, G72, G73 non sono validi; sono efficaci solo i comandi F, S, T dei segmenti di programma ns~nf. Quando i comandi F, S, T non sono specificati nei segmenti di programma ns~nf, sono validi i comandi F, S, T del ciclo di tornitura grezzo.
G71: Mescola per tornitura fine cilindrica interna ed esterna Ciclo fisso
Formato di programmazione: G71U (△d) R(e);
G71 P(ns) Q(nf) U (△u) W(△w) F S T ;
Dove:
(1) Quando l'istruzione di cui sopra viene utilizzata per la lavorazione del contorno interno del pezzo, △u deve essere un valore negativo.
(2) Quando si utilizza G71 per la sgrossatura, sono efficaci solo le funzioni F, S, T incluse nel segmento di programma G71. Le funzioni F, S, T incluse nel segmento di programma ns~nf non sono efficaci per il ciclo di sgrossatura, anche se sono specificate. È possibile eseguire la compensazione dell'utensile e programmare la compensazione del raggio della punta dell'utensile prima di G70, solitamente incorporata nel movimento di avvicinamento al punto di partenza. Ad esempio: G42G00X55Z2; G70P10Q20; G40G00X100Z50;
(3) Questa istruzione è applicabile quando si verifica un aumento o una diminuzione monotona della coordinata Z e anche la coordinata X cambia monotonamente. Il segmento di programma Ns deve avanzare lungo l'asse X e i valori Z non devono comparire.
G72: Tornitura grezza di testa in composito a ciclo fisso
Formato di programmazione: G72W (△d) R(e);
G72 P(ns) Q(nf) U (△u) W(△w) F S T ;
2. d: Quantità di taglio posteriore in direzione Z, senza segno; gli altri parametri sono gli stessi di G71. Il segmento di programma Ns deve avanzare in direzione Z e non può contenere un valore X. Quando il comando di cui sopra viene utilizzato per la lavorazione del contorno interno del pezzo, △u deve essere un valore negativo.
Esempio: Come mostrato nella figura, l'elenco dei programmi è:
G73: Ciclo di duplicazione dei contorni
Formato di programmazione: G73 U(△i) W(△k) R (d);
G73 P(ns) Q(nf) U (△u) W(△w) F S T ;
d: Rappresenta il numero di cicli di sgrossatura (numero di strati);
△i: Durante la tornitura di sgrossatura, l'indennità totale da rimuovere nella direzione dell'asse X (quantità di ritiro dell'utensile) e nella direzione, valore del raggio. Ovvero: la dimensione grezza meno la dimensione del pezzo più piccolo divisa per 2. Il foro è un valore negativo.
△k: Durante la sgrossatura, l'indennità totale da rimuovere nella direzione dell'asse Z (quantità di ritiro dell'utensile) e nella direzione; △k è generalmente pari a zero. Il resto è uguale al comando G71.
G74: Ciclo di scanalatura di testa / Perforazione Ciclo
G75: Radiale Scanalatura Ciclo
Formato di programmazione: G75R (e);
G75 X (U) Z(W) P(Δi) Q(Δk) R (d)F;
Nota:
1. La profondità finale e l'offset finale della direzione Z sono calcolati dal sistema stesso.
2. Δi, Δk sono le unità di programmazione minime, ad esempio P1500 significa una profondità di taglio di 1,5 mm.
G76: Ciclo della mescola di taglio della filettatura
G76 P(m)(r) (α) Q(△d min) R(d)
G76 X(U) Z(W) R(i) P(k) Q(△d) F(L)
G90: Superficie cilindrica/conica Ciclo singolo fisso
G90 X(U) Z(W) R F;
R indica la metà della differenza tra la coordinata X nel punto iniziale e la coordinata X nel punto finale del taglio della superficie conica. Può essere negativo, dove negativo indica un cono regolare e positivo indica un cono rovesciato. Senza R, si tratta di taglio cilindrico. Velocità di taglio: G00 - G01 - G01 - G00.
G92: Ciclo di taglio della filettatura
G92 X(U) Z(W) F R;
R = (X punto iniziale - X punto finale) / 2. R non è modale e deve essere incluso in ogni frase.
G94: Ciclo di taglio della faccia finale
Formato del comando: G94 X(U) Z(W) F;
Formato del comando di taglio delle facce coniche: G94 X(U) Z(W) K F
Dove X e Z rappresentano il valore assoluto delle coordinate del punto finale del segmento di taglio;
U, W rappresentano il valore di incremento delle coordinate del punto finale del segmento di taglio rispetto al punto di inizio del ciclo; F rappresenta la velocità di avanzamento. K rappresenta la differenza dei valori delle coordinate Z tra i punti iniziali e finali del segmento di taglio (di solito un valore negativo), ossia K=punto iniziale Z - punto finale Z.
G96: Esecuzione a velocità lineare costante
M3S300; Velocità iniziale
G50S1000; limite massimo di velocità 1000
G96S100; velocità del mandrino 100m/min
…
G97▲: Annullamento della velocità lineare costante, terminazione della velocità.
G97 S300; annullamento della velocità lineare costante, velocità di 300 giri/min.
G98: Alimentazione al minuto
Unità: mm/min Esempio: G98 G01 X20 F200
G99▲: Avanzamento per giro
Unità: mm/giro Esempio: G99 G01 X20 F0,2;
M00: Tutte le azioni si fermano.
M01: Arresto selezione programma
Deve essere premuto: Selezionare il tasto di arresto perché sia efficace, equivalente a M00;
M02: Terminazione del programma
Il cursore non ritorna.
M03/M04: Mandrino avanti (in senso orario) / indietro (in senso antiorario)
M03 S300;
M05: arresto del mandrino
M08/09: accensione/spegnimento del refrigerante
M30: Terminazione del programma
Il cursore torna all'inizio del programma.
M98: Invocazione di subroutine
Formato di programmazione: M98 PxxxxL ;
o M98 Pxxxxxxxx ;
M99: Ritorno al programma principale
In questo caso, le quattro cifre che seguono l'indirizzo P dopo la chiamata rappresentano il numero della subroutine, mentre la chiamata che segue l'indirizzo L rappresenta il tempo di chiamata. Quando il tempo di chiamata è 1, può essere omesso, e il numero di chiamate ripetute consentito è fino a 999. Quando le otto cifre seguono l'indirizzo P, le prime quattro rappresentano i tempi di chiamata e le ultime quattro il numero della subroutine. Quando il tempo di chiamata è 1, può essere omesso.
Se M99 P100; rappresenta il ritorno al segmento di programma principale N100, se la subroutine esegue M99 L2, significa che la subroutine è costretta a eseguire due volte, indipendentemente dal numero di richieste del programma principale.
T××××: Comando dello strumento
In T0101, le prime due cifre rappresentano il numero dell'utensile, mentre le ultime due cifre indicano il numero di compensazione dell'utensile.