Programming Haas CNC Control G-Codes and M-Codes

Dic 30, 2021
admin

CNCCookbook’s G-Code Tutorial

Haas produce alcune delle più popolari macchine CNC nel mondo, quindi sapere come usare i loro unici g-code può essere un’abilità importante. La buona notizia è che Haas ha preso uno degli approcci più intelligenti che io possa pensare nel creare il loro unico dialetto g-code.

haas cnc control g-codes and m-codes

Haas: strategia intelligente quando si tratta del loro dialetto CNC G-Code…

Hanno iniziato con il dialetto più popolare al mondo, Fanuc (di cui si occupa la maggior parte di questo corso) e ci hanno costruito sopra mantenendo la compatibilità. Non hanno fatto alcun cambiamento arbitrario e hanno ampiamente aggiunto un buon valore e convenienza.

Questa è una strategia intelligente perché significa che la maggior parte del g-code Fanuc funzionerà solo su un Haas, ma hanno ancora alcuni grandi vantaggi di cui parlare a causa dei codici speciali che hanno aggiunto. Significa anche che il vasto gruppo di persone che conoscono la programmazione del g-code Fanuc è pronto per essere produttivo il primo giorno sulle macchine Haas, e possono prendere le cose che Haas ha aggiunto quando ne hanno bisogno.

Questo articolo è tutto su come prendere quelle cose oggi, quindi cominciamo.

Che cosa sono i codici G Haas per le frese?

Ecco una rapida panoramica:

  • G12/13: Tasche circolari
  • G51: Scalatura
  • G53: Sistema di coordinate macchina non modale
  • G68: Rotazione
  • G101: Immagine speculare
  • G150: Fresatura generale di tasche

Ora andiamo avanti e scomponiamo ognuno di essi per vedere come funziona.

G12 & G13 G-Codes: Tasche circolari

L’interpolazione circolare o interpolazione elicoidale è qualcosa che vediamo spesso nella programmazione CNC. Si tratta di un caso in cui una fresa è programmata per seguire un percorso circolare o elicoidale per fare un foro molto più grande del diametro della fresa.

Questi speciali codici g Haas rendono facile eseguire l’operazione. G12 taglia in senso orario mentre G13 taglia in senso antiorario. Ecco le parole che userete per creare la tasca:

D*: Raggio o diametro dell’utensile. Se usate D00, dice all’Haas di non usare la compensazione della fresa. La D-Word è modale, quindi se non ne viene specificata nessuna, verrà usato l’ultimo valore di D.

F: Velocità di avanzamento

I: Raggio del primo cerchio (o finitura se non è K). I deve essere maggiore del raggio dell’utensile ma minore di K.

K*: Raggio del cerchio finito.

L*: Numero di cicli per ripetere i tagli più profondi.

Q*: Incremento del raggio o del passo. Da usare con K.

Z: Profondità di taglio o incremento

* = La parola è opzionale e può essere lasciata fuori.

Per usare questi codici g, iniziate a posizionare lo strumento sopra il centro del cerchio. Avete una scelta: potete rimuovere tutto il materiale all’interno del cerchio, oppure potete tagliare solo il raggio del cerchio. Se volete tagliare solo il raggio, usate un valore I impostato sul raggio e non specificate un valore K o Q. Se volete rimuovere tutto il materiale, usate valori I e Q inferiori al diametro dell’utensile e un valore K uguale al raggio del cerchio.

Ecco un esempio di programma che taglia solo il raggio:

%
(SAMPLE G12)
T1 M06 (Selezionare l’utensile 1) ;
G00 G90 G40 G49 G54 (Avvio sicuro) ;
G00 X0 Y0 (Rapido alla 1a posizione) ;
S1000 M03 (Mandrino su CW) ;
G43 H01 Z0.1 (Offset utensile 1 attivo) ;
M08 (Refrigerante attivo) ;
( Tagliare il cerchio) ;
G12 I0.75 F10. Z-1.2 D01 (Finitura tasca CW) ;
G00 Z0.1 (Ritrazione) ;
G00 Z0.1 M09 (Ritrazione rapida, Coolant off) ;
G53 G49 Z0 M05 (Z home, Spindle off) ;
G53 Y0 (Y home) ;
M30 (Fine programma) ;
%

E ecco un backplot in G-Wizard Editor del percorso utensile di quel programma:

G12 impostato per il taglio a raggio…

G51 G-Code: Scaling

G51 scaling è disponibile sui controlli Fanuc, ma Haas lo fa in modo leggermente diverso. Ecco la sintassi Haas:

G51 X_ Y_ Z_ P_

X, Y e Z permettono di specificare un centro opzionale per il ridimensionamento. Se sono assenti, il centro è l’origine (parte zero). P è il fattore di scala. Se non c’è P specificato, l’impostazione 71 è il fattore di scala predefinito.

Nota che la scalatura è una caratteristica opzionale extra-costo sui controlli Haas.

La scalatura è utile per molti scopi, e il nostro capitolo sulla scalatura ha maggiori dettagli in merito.

G53 G-Code: Non-Modal Machine Coordinate System

G53 ti permette di cancellare il sistema di coordinate di lavoro per un blocco. In altre parole, non è modale. Devi usarlo con G49 se hai un valore Z perché G49 annulla l’offset dell’utensile.

Per esempio:

G53 Y0

Questo g-code sposterà la tavola allo zero macchina in Y. G53 è soprattutto una scorciatoia rispetto a G28.

Per esempio:

G28 G91 Z0

Ora devi ricordarti di aggiungere un G90. Con G53, G90 rimane in vigore.

G68 G-Code: Rotazione

Come il ridimensionamento, anche la rotazione è disponibile in Fanuc, ma è leggermente diversa su Haas. È anche un’opzione extra-costo per abilitare la rotazione.

G68 ruota i valori X, Y, Z, I, J e K successivi di un angolo specificato con un centro di rotazione. G69 annulla la rotazione G68.

Prima di usare la rotazione, assicurati che il piano di rotazione sia specificato da G17, G18, o G19.

Ecco la sintassi per G68

G68 a_ b_ R

a è la coordinata del centro di rotazione del primo asse del piano che hai specificato. Quindi, per G17, è X. b è la coordinata del centro di rotazione del secondo asse. Per G17, è Y.

R specifica l’angolo di rotazione in gradi. Potete usare valori da 360 a -360.

G101 G-Code: Mirror Image

G101 può essere usato per produrre un’immagine speculare di una sequenza di codici intorno ad un asse X, Y, Z, A o B.

Ecco la sintassi:

G101 X_ Y_ Z_ A_ B_

Devi specificare almeno un asse. Qualsiasi valore dato con la parola asse è ignorato, ma è necessario il valore per evitare un allarme.

Utilizzare G100 per annullare le immagini speculari.

G150 G-Code: General Purpose Pocket Milling

G150 è un g-code molto fantasioso e pratico. Pensatelo come l’equivalente del ciclo G71 di un tornio CNC per la fresatura. In sostanza, è un mini programma CAM in un g-code.

Quello che fa è specificare il contorno di una tasca come un piccolo programma g-code. G150 cancellerà quella tasca.

Ecco la sintassi:

G150 G41* P_ F_ D_ I_ J_ K_ Q_ R_ X_ Y_ Z_ L_ S_

E ecco cosa fanno i parametri:

  • P: Il numero del sottoprogramma che specifica il contorno della tasca. Richiesto!
  • F: Velocità di avanzamento
  • D: Selezione offset diametro utensile.
  • I: Incremento di taglio asse X. Ogni passata rimuove questo materiale. È necessario specificare I o J ma non è possibile specificare entrambi.
  • J: incremento di taglio dell’asse Y.
  • K: indennità di taglio finale per la passata finale.
  • Q: profondità di taglio incrementale dell’asse Z per passata. Deve essere uguale a 0 ed è richiesto. Q è una quantità incrementale positiva di passo.
  • R: posizione del piano R (richiesto). Questo è il piano di rientro per il movimento rapido.
  • X e Y: Posizione del foro di partenza.
  • Z: Profondità finale della tasca
  • L: Numero di ripetizioni opzionale per tasche aggiuntive.
  • S: Velocità opzionale del mandrino

La G41 cutter comp è normalmente specificata, ma potete anche usare la G42 se preferite.

La prima cosa da notare è che la G150 si aspetta che ci sia un foro per l’intera profondità della tasca che può usare per far scendere l’endmil alla profondità di taglio in ogni passata. Potete forare o interpolare quel foro, ma deve essere fatto prima di chiamare G150.

In secondo luogo, la vostra definizione della tasca, indicata dalla parola P, deve essere un sottoprogramma, non una subroutine.

In ultimo, il sottoprogramma deve avere meno di 40 movimenti. Puoi aggirare questo problema tagliando più di una tasca.

Altre cose da notare:

  • Codici diversi da G, I, R, X, e Y nel sottoprogramma sono ignorati.
  • La prima mossa nel sottoprogramma dovrebbe essere dalla buca a un punto sul bordo della tasca.
  • L’ultima mossa dovrebbe essere verso quello stesso punto di partenza sul bordo della tasca.
  • Va bene usare movimenti G91 (incrementale) o G90 (assoluto) nel sottoprogramma.
  • Non c’è una passata di finitura a profondità Z, è solo sulle pareti della tasca.
  • Se usi L per tasche ripetute, devi avere un posizionamento G91 e incrementale nella linea G150. Assicuratevi di aver praticato prima tutti i fori di entrata della tasca!

Il codice G150 è abbastanza furbo, ma alla fine della giornata, il software CAM rende il programma della tasca più facile e meno soggetto ad errori. Mantenete il G150 per tasche semplici che sono facilmente programmate e visualizzate.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.