Mostra tutti gli articoli

Utilizzo della programmazione macro per creare programmi di foratura con cicli ripetitivi

TRASA3 Blog

G-code Pubblicato: 2026-09-22 Autore: trasa3 8 visualizzazioni
Utilizzo della programmazione macro per creare programmi di foratura con cicli ripetitivi

I modelli di fori ripetitivi raramente richiedono un programma CNC lungo. Se le coordinate formano una semplice fila, spesso basta un ciclo canned G81, posizionamento incrementale G91 e un conteggio ripetizioni L. Tuttavia, una griglia rettangolare, una famiglia di dimensioni del pezzo o un passo che cambia frequentemente creano un problema diverso: modificare manualmente ogni coordinata diventa lento e soggetto a errori. La programmazione macro consente di mantenere la logica ripetuta in una sottoprogramma, passando come argomenti le dimensioni e il numero di fori.

L'esempio seguente è pensato per un controllo Haas con opzione macro. L'assegnazione delle variabili, la sintassi dei cicli e le chiamate alle sottoprogrammazioni variano tra controlli CNC e configurazioni software. È sempre necessario consultare il manuale del controllo specifico, verificare graficamente il programma e effettuare una prima prova sopra il pezzo.

Quando un ciclo canned è sufficiente

G81 elimina già la maggior parte del codice ripetuto in una foratura. Una volta attivato, il controllo esegue la foratura in ogni nuova posizione X/Y finché non viene annullato con G80. La documentazione Haas mostra come uno spostamento incrementale in X e un conteggio L possono generare una fila di fori equidistanti:

G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90

Questa soluzione è adatta a una singola fila lineare. Il primo foro viene eseguito nel punto in cui si attiva G81, mentre la riga con G91 X25. L4 aggiunge altre quattro posizioni. Perdere il conto di questa prima esecuzione può causare un foro in più o uno spostamento dell'intero schema.

Altri cicli canned coprono operazioni diverse di foratura. G82 aggiunge una pausa in fondo, G83 serve per foratura a intermittenza, e G98 o G99 controllano il livello di ritorno. Il ciclo scelto deve essere adatto all'utensile, alla profondità, al materiale e alle condizioni di evacuazione trucioli. La macro gestisce le coordinate e la ripetizione; non sostituisce il corretto processo di foratura.

Cosa aggiunge una macro parametrizzata

Una griglia rettangolare si definisce con nove valori: coordinate del primo foro, passo lungo entrambi gli assi, numero di colonne e righe, profondità di foratura, piano R e velocità di avanzamento. L'operatore modifica una sola chiamata, mentre cicli annidati calcolano ogni posizione del foro.

Nella chiamata seguente, X e Y definiscono l'origine della griglia, I e J il passo, A e B il numero di colonne e righe:

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

Su un controllo Haas, gli argomenti G65 sono associati a variabili locali nella macro. In questo esempio, X corrisponde a #24, Y a #25, I a #4, J a #5, A a #1, B a #2, Z a #26, R a #18 e F a #9. Ogni chiamata G65 fornisce un nuovo set di variabili locali, quindi la stessa macro può essere eseguita con dimensioni e parametri diversi.

Macro per una griglia rettangolare

O09010 (DRILL RECTANGULAR PATTERN)

#30 = 0 (ROW INDEX)

WHILE [#30 LT #2] DO1
  #31 = 0 (COLUMN INDEX)

  WHILE [#31 LT #1] DO2
    #32 = [#24 + #31 * #4] (CURRENT X)
    #33 = [#25 + #30 * #5] (CURRENT Y)

    G90 G00 X#32 Y#33
    G81 Z#26 R#18 F#9
    G80

    #31 = #31 + 1
  END2

  #30 = #30 + 1
END1

M99

Il ciclo esterno conta le righe, quello interno le colonne. Ogni coordinata si calcola sommando alla posizione iniziale l'indice della posizione moltiplicato per il passo. Con A4 e B3 la macro esegue dodici fori: quattro in ciascuna delle tre righe.

In questa versione didattica, G81 viene attivato e disattivato in ogni posizione. Questo aggiunge un piccolo sovraccarico di esecuzione, ma limita lo stato del ciclo canned a una singola operazione. Una macro per produzione può mantenere il ciclo attivo tra le posizioni, a patto che il programmatore controlli attentamente l'esecuzione iniziale, lo stato modale e la cancellazione finale con G80.

Programma principale e stati sicuri

La macro non deve dedurre il numero utensile, compensazione lunghezza, velocità mandrino o offset lavoro. Mantenere questi valori nel programma principale facilita la verifica della preparazione dell'operazione.

O01000
G90 G17 G40 G49 G80 G94
G54
T1 M06
S1800 M03
G00 X10. Y20.
G43 H01 Z50.
M08

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

G80
G00 Z50.
M09
M05
G53 G00 Z0.
M30

Questo programma imposta il piano G17, il posizionamento assoluto G90, il sistema di coordinate lavoro G54 e la compensazione lunghezza utensile G43 H01 prima di chiamare la macro. Le altezze di sicurezza, il rientro nel punto zero macchina e la sequenza di avvio degli ausili devono rispettare le specifiche della macchina e il modello approvato in officina.

Controlli necessari in una macro di produzione

Il codice parametrizzato riduce la modifica manuale, ma un argomento errato può alterare l'intero schema di fori. Una macro di produzione deve validare i dati in ingresso. Il numero di righe e colonne deve essere un intero positivo, il piano R deve trovarsi dalla parte sicura rispetto alla superficie del pezzo, e le posizioni X/Y calcolate devono rimanere entro i limiti del pezzo e dei movimenti della macchina.

  • Verificare la corrispondenza tra lettere degli argomenti e variabili locali per il controllo specifico.
  • Assicurarsi che ogni numero DO abbia il corrispondente END corretto nei cicli annidati.
  • Calcolare in anticipo il punto finale: X + (A − 1) × I e Y + (B − 1) × J.
  • Controllare il segno di Z, la posizione del piano R e la modalità di ritorno G98 o G99.
  • Eseguire prima la simulazione grafica, poi un blocco singolo con riduzione dell'override rapido.
  • Se sono presenti morsi o staffe, verificare non solo i punti di foratura ma anche le traiettorie di trasferimento.

È utile anche una protezione contro argomenti mancanti. Su controlli dove le variabili locali non impostate sono nulle, la macro può generare un allarme prima di qualsiasi movimento. La sintassi corretta per il controllo di variabili nulle e la generazione di allarmi deve essere presa dal manuale del controllo CNC.

Dove la macro semplifica davvero il lavoro

Per un pezzo singolo con cinque fori noti, spesso è più leggibile un semplice ciclo G81 seguito da un elenco di coordinate. La macro diventa utile quando lo schema cambia secondo regole chiare: matrici rettangolari o circolari, diverse dimensioni dello stesso pezzo, fori ripetuti con offset lavoro diversi o una famiglia di prodotti con un unico processo di foratura.

Una macro manutenibile ha un compito ben definito e un’interfaccia chiara. Ogni argomento va documentato nei commenti o nella scheda di attrezzaggio, e va conservato un esempio di chiamata valida insieme al programma. Così l’operatore può modificare dimensioni e parametri senza toccare formule o contatori.

Haas fornisce documentazione ufficiale per la mappatura degli argomenti G65 e le variabili locali e per i cicli canned di foratura. Questi riferimenti vanno usati come punto di partenza e verificati rispetto alla versione software installata sulla macchina.

Utilizzo della programmazione macro per creare programmi di foratura con cicli ripetitivi

Questo articolo è disponibile nelle seguenti lingue: