Sei sulla pagina 1di 172

CNC

Z32

GUIDA ALLA PROGRAMMAZIONE (FRESE)

Documento M323
C2 – 01.03.15

Da leggere accuratamente prima della installazione


Contiene importanti informazioni su:
 programmazione
Questo manuale contiene informazioni destinate esclusivamente all’utente di prodotti D.Electron per
consentirgli l’uso corretto delle apparecchiature fornite. Nessuna parte di questo manuale può essere
duplicata o fornita a terzi per uso diverso da quello indicato
Le informazioni qui contenute sono state accuratamente controllate perché risultino esatte ed affidabili,
ma la D.Electron non si assume alcuna responsabilità per possibili inesattezze. La D.Electron si riserva
anche di fare tutti i cambiamenti che essa riterrà opportuni per migliorare le prestazioni o l’affidabilità
dei suoi prodotti

D.Electron srl - Via R. Giuliani 140 - 50141 Firenze - Internet: www.delectron.it


Tel: +39 055 416927 - Fax: +39 055 434220 - email: delectron@delectron.it
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

INDICE
1. INTRODUZIONE ................................................................................... 6

2. PROGRAMMAZIONE DI BASE .................................................................... 7

2.1 INTRODUZIONE ................................................................................ 7


2.2 COMPORTAMENTO DELLA MACCHINA AL RESET ................................................. 7
2.3 NUMERO DI RIGA .............................................................................. 8
2.4 LA RIGA ISO STANDARD ....................................................................... 9
2.5 RIGHE DI COMMENTO .......................................................................... 9
2.6 FUNZIONI G (MODALI E CON ARRESTO) ...................................................... 10
2.7 PARAMETRO F E GESTIONE DELLA FEED (G93 G94 G95) .................................. 10
2.8 PARAMETRO S E GESTIONE DELLA SPEED (G96 G97) ....................................... 11
2.9 FUNZIONI M ................................................................................. 12
2.10 FUNZIONI AUSILIARIE MA, MB, MC ......................................................... 13
2.11 FINE PROGRAMMA E FINE SOTTOPROGRAMMA (M2 G26) .................................... 13
2.12 FUNZIONI DI RICHIAMO ORIGINE .............................................................. 14
2.13 PARAMETRO T E CAMBIO UTENSILE .......................................................... 16
2.14 LUNGHEZZA E RAGGIO UTENSILE ............................................................. 17
2.14.1 Variazione di lunghezza e raggio utensile (DDL DDR) .................................... 17
2.15 ANNULLAMENTO E SOSPENSIONE DI ORIGINI E LUNGHEZZE (G53 G54 G45)................. 18
2.16 TERNA DI LAVORO (G25), ASSE UTENSILE (G43 - G44) E PIANO DI CONTORNATURA ....... 19
2.17 PROGRAMMAZIONE DI MOVIMENTI (G0 G1 G2 G3) .......................................... 21
2.17.1 Movimenti in rapido (G0) .................................................................... 21
2.17.2 Interpolazione lineare (G1) .................................................................. 22
2.18 INTERPOLAZIONE CIRCOLARE (G2 – G3) .................................................... 22
2.18.1 Interpolazione elicoidale (G2 – G3)......................................................... 23
2.19 PROGRAMMAZIONE IN COORDINATE INCREMENTALI (G90 G91).............................. 24
2.20 FILETTATURA E MASCHIATURA RIGIDA ....................................................... 25
2.20.1 Filettatura a passo fisso (G33) .............................................................. 25
2.20.2 Filettatura a passo variabile (G34, G35) ................................................... 26
2.20.3 Maschiatura rigida (G163) ................................................................... 27
2.21 ROTAZIONE, TRASLAZIONE, SPECULARITÀ, FATTORE DI SCALA ............................... 29
2.21.1 Rotazione lavorazione (IR JR QR) ........................................................... 29
2.21.2 Traslazione lavorazione (DA DB DC) ........................................................ 30
2.21.3 Specularità sul piano di lavoro (G56 – G55) ............................................... 31
2.21.4 Fattore di scala................................................................................ 31
2.21.5 Ulteriori parametri correttivi ............................................................... 31
2.21.6 Esempi di trasformazioni tipiche: .......................................................... 32

1
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.22 G116 LAVORAZIONI SU PIANI INCLINATI (ROTOTRASLAZIONE) ................................ 33


2.23 ALTRE FUNZIONI ............................................................................. 35
2.23.1 Sosta (G4 TT..) ................................................................................ 35
2.23.2 Scambio assi (G16) ............................................................................ 35
2.23.3 Gestione assi vivi (G28, G29) ................................................................ 36
2.23.4 Sospensione e Riattivazione del cambio utensile (G38, G39) .......................... 37
2.23.5 Lettura utensile sul mandrino (G104) ...................................................... 37
2.23.6 Lettura quote reali (G105) .................................................................. 37
2.23.7 Programmazione radiale (G106) ............................................................ 38
2.23.8 Programmazione diametrale (G107) ....................................................... 38
2.23.9 Abilita moto assi con allarme CNxx12 (G119) ............................................. 38
2.23.10 Limitazione del campo di lavoro (G123) ................................................... 38
3. CORREZIONE RAGGIO UTENSILE ............................................................. 41

3.1 ERRORE DI “PROFILO INCOMPATIBILE” ................................................ 43


3.2 ATTACCO AL PROFILO ....................................................................... 43
3.2.1 Attacco circolare: quote e pendenza finali (G41/G42 X.. Y.. QF..) ................... 44
3.2.2 Attacco rettilineo senza quote (G41/G42) ................................................ 45
3.2.3 Attacco rettilineo con quote finali (G41/G42 X..Y..) .................................... 46
3.3 DISTACCO DAL PROFILO ...................................................................... 47
3.3.1 Distacco circolare in tangenza (G40 X.. Y..) .............................................. 47
3.3.2 Distacco lineare (G40) ....................................................................... 48
3.4 GESTIONE DELLA VELOCITÀ IN CORREZIONE RAGGIO (G109V, G109U) ..................... 48
3.5 RAGGIO ZERO O NEGATIVO ................................................................... 49
3.6 RAGGIO DI RACCORDO SU SPIGOLI ESTERNI (G109S, G109T) ............................... 49
4. RTCP (ROTATING TOOL CENTRE POINT) ................................................... 50

4.1 G117 RTCP PER TESTE ROTATIVE .......................................................... 50


4.1.1 G117 Statica (G117 KA2) ..................................................................... 50
4.1.2 Lavorazione su piani inclinati (G117KA2 + G116)......................................... 51
4.1.3 G117 dinamica (G117) ........................................................................ 52
4.1.4 Uso della G117 ................................................................................ 53
4.1.5 Attivazione volantini degli assi rotativi in G117 (G124) ................................. 54
4.2 G118 RTCP PER TAVOLE GIREVOLI ......................................................... 55
4.2.1 G118 statica (G118 HR2) ..................................................................... 55
4.2.2 G118 dinamica (G118 HR1) .................................................................. 57
4.3 COMPENSAZIONE ERRORI DI MONTAGGIO PEZZO SU TAVOLE ROTATIVE (G122) ............... 59
4.4 CONTROLLO VELOCITÀ PUNTA UTENSILE CON RTCP DINAMICO (G131) ..................... 60
5. PROGRAMMAZIONE PARAMETRICA .......................................................... 61

5.1 GESTIONE DEI PARAMETRI .................................................................... 61


5.1.1 Assegnazione di un valore numerico ad un parametro .................................. 63
5.1.2 Assegnazione di un valore numerico ad un parametro tramite una formula ......... 63
5.1.3 Programmazione di movimenti assi con parametri ...................................... 64
5.1.4 Programmazione di parametri di sistema ................................................. 64
2
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.1.5 Programmazione assi tramite i parametri AA, AB, AC ................................... 65


5.2 PROGRAMMAZIONE CON “RIGHE EVOLUTE” ( ! ... ! ) ....................................... 66
5.2.1 Assegnare valori a parametri e calcolare espressioni .................................... 66
5.2.2 Effettuare salti senza ritorno (!GON..!) ................................................... 66
5.2.3 Effettuare salti con ritorno (!GON.. –N..!) ................................................ 67
5.2.4 Effettuare salti condizionati (! IF .. ; GON.. !) ........................................... 67
5.2.5 Controllare più condizioni sulla stessa riga evoluta ...................................... 68
5.2.6 Strutturazione dei salti condizionati ....................................................... 68
5.2.7 Salto a sottoprogrammi CMOS (! GOP.. !) ................................................. 69
5.2.8 Salto a sottoprogrammi CMOS con label (!GOP.. –N.. !) ................................. 69
5.2.9 Salto a sottoprogrammi CMOS con due label (!GOP.. –N.. –N.. !) ...................... 70
5.3 CONDIZIONAMENTO DI BLOCCHI DI PROGRAMMA (--IF) ....................................... 71
5.4 RIPETIZIONI DI BLOCCHI DI PROGRAMMA (--DO --LOOP) .................................... 73
5.4.1 Numero di ripetizioni specificato (--LOOP N) ............................................. 73
5.4.2 Condizione di ripetizione (--LOOP IF) ...................................................... 73
5.4.3 Condizione di uscita a metà del blocco --DO --LOOP (--EXIT DO IF) ................... 74
5.5 SCRITTURA DI PROGRAMMI CMOS (--DEFINE P..) ......................................... 75
5.6 SCRITTURA DI SOTTOPROGRAMMI TEMPORANEI SUBTEMP (--DEFINE S..) ................. 76
6. CICLI FISSI E MACRO DI Z32 .................................................................. 78

6.1 CICLI FISSI DI Z32 (G800) ................................................................. 78


6.1.1 G800K1: Foratura semplice .................................................................. 80
6.1.2 G800K2: Foratura profonda con rottura truciolo ......................................... 80
6.1.3 G800K3: Foratura profonda con scarico truciolo ......................................... 81
6.1.4 G800K4: Maschiatura ......................................................................... 81
6.1.5 G800K5: Alesatura ............................................................................ 82
6.1.6 G800K6: Barenatura .......................................................................... 82
6.1.7 G800K7: Foratura profonda mista con rottura e scarico truciolo ...................... 83
6.1.8 G800K8: Foratura di due pareti distanziate ............................................... 83
6.1.9 G800K9: Foratura di tre zone differenziate ............................................... 84
6.1.10 G800K10: Fresa-alesatura interna a spirale ............................................... 85
6.1.11 G800K11: Fresa-alesatura esterna a spirale............................................... 85
6.2 MACRO DI POSIZIONAMENTI DI Z32 (G801) ................................................. 86
6.2.1 G801K1: Linea dati punto iniziale e incrementi .......................................... 88
6.2.2 G801K2: Linea dati punto iniziale, angolo e distanza tra i punti ...................... 88
6.2.3 G801K3: Linea dati punto iniziale e punto finale ........................................ 88
6.2.4 G801K4: Reticolo dati incrementi su riga e colonna ..................................... 89
6.2.5 G801K5: Reticolo dati punto iniziale, incrementi e angoli.............................. 89
6.2.6 G801K6: Reticolo dati punti iniziali e finali di riga e colonna .......................... 89
6.2.7 G801K7: Circonferenza dati angolo iniziale e incremento totale ...................... 90
6.2.8 G801K8: Circonferenza dati angolo iniziale e distanza angolare....................... 90
6.2.9 G801K9: Circonferenza dati angolo iniziale e angolo finale ............................ 91
6.2.10 G801K10: Rettangolo dato il centro e il passo ............................................ 91
6.2.11 G801K11: Rettangolo dato il centro e i lati ............................................... 92
6.2.12 G801K12: Rettangolo dato uno spigolo e il passo ........................................ 92
6.2.13 G801K13: Rettangolo dato uno spigolo e i lati ............................................ 92
6.3 MACRO DI LAVORAZIONE DI Z32 (G802) ................................................... 93

3
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.1 G802K1: Sgrossatura di cave circolari...................................................... 95


6.3.2 G802K2: Sgrossatura di cave rettangolari noto il centro cava.......................... 96
6.3.3 G802K3: Sgrossatura di cave rettangolari noto uno spigolo ............................ 97
6.3.4 G802K4: Finitura di cave circolari .......................................................... 98
6.3.5 G802K5: Finitura di cave rettangolari noto il centro .................................... 99
6.3.6 G802K6: Finitura di cave rettangolari noto uno spigolo ................................ 100
6.3.7 G802K7: Asola rettilinea .................................................................... 101
6.3.8 G802K8: Asola circolare noto il centro asola ............................................ 102
6.3.9 G802K9: Asola circolare noto il centro di curvatura .................................... 103
6.3.10 G802K10: Filettatura di un foro con fresa monotagliente ............................. 104
6.3.11 G802K11: Filettatura di un foro con fresa a pettine .................................... 105
6.3.12 G802K12: Filettatura di un perno con fresa monotagliente ........................... 106
6.3.13 G802K13: Filettatura di un perno con fresa a pettina .................................. 107
6.3.14 G802K14: Spianatura ........................................................................ 108
6.4 CICLI FISSI DEL COSTRUTTORE (G27C..) .................................................. 109
7. PROFILI PIANI ................................................................................. 110

7.1 RETTE CHIUSE ............................................................................. 113


7.1.1 Retta con punto finale definito (G1 X.. ; G1 Y.. ; G1 X.. Y..) ......................... 113
7.1.2 Retta con coordinata finale e pendenza note (G1 X..QF.. ; G1 Y..QF..) ............ 114
7.1.3 Retta con punto finale definito da due coordinate e pendenza nota (G1 X, Y QF) 114
7.2 RETTE APERTE (G1 ; G1 QF..) ........................................................... 116
7.3 CERCHI CHIUSI ............................................................................. 118
7.3.1 Cerchio chiuso con centro e punto finale noti (G2/G3 I..J..X..Y..) .................. 118
7.3.2 Cerchio chiuso con punto finale e raggio noti (G2/G3 X..Y..RA..).................... 119
7.3.3 Cerchio chiuso con centro, raggio e pendenza finale noti (G2/G3 I..J..RA..QF..) . 120
7.3.4 Cerchio chiuso con centro e pendenza finale noti (G2/G3 I..J..QF..) ............... 120
7.3.5 Cerchio chiuso con raggio e pendenza finale noti (G2/G3 RA..QF..) ................. 121
7.3.6 Cerchio chiuso con punto finale noto (G2/G3 X..Y..) .................................. 122
7.3.7 Cerchio chiuso con centro e lunghezza arco noti (G2/G3 I..J..QA..) ................ 122
7.4 CERCHI APERTI ............................................................................ 123
7.4.1 Cerchio aperto di centro e raggio dato (G2/G3 I..J..RA..) ............................ 123
7.4.2 Cerchio aperto di centro dato (G2/G3 I..J..) ............................................ 125
7.4.3 Cerchio aperto di raggio dato (G2/G3 RA..) ............................................. 126
7.5 COMBINAZIONI RETTA-CERCHIO ............................................................ 127
7.6 RACCORDI AUTOMATICI (RR..) ............................................................ 129
7.7 SMUSSI .................................................................................... 133
8. RICHIAMO FILES SU DISCO .................................................................. 134

8.1 LAVORAZIONE DI FILES GENERATI CON SISTEMI CAD-CAM ................................. 134


8.1.1 Richiamo programmi su disco in DNC ( !:L254 … ! ) ..................................... 134
8.1.2 Specifiche per il part-program da eseguire in DNC ..................................... 135
9. IMPOSTAZIONE ALTA VELOCITA’ .......................................................... 136

9.1 FUNZIONE DI CONTROLLO DEI MOVIMENTI: G113X KA2 ................................... 136


9.1.1 Auto-taratura assi per G113X KA2 (G125 KA1) ........................................... 137

4
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.2 PARAMETRI ALTA VELOCITÀ: G114 RA..K..J..I..HY..HR.. ............................ 138


9.3 ESECUZIONE DI FILES PER PUNTI DA CAM (G113B) ....................................... 141
9.3.1 Impostazioni consigliate per il CAM ....................................................... 141
9.3.2 Lisciatura di part-program per punti (G113B) ........................................... 141
9.4 G135 I1: IMPOSTAZIONI AVANZATE DI ALTA VELOCITÀ .................................... 142
9.1 G135 J1: TOLLERANZA ADDOLCIMENTO ASSI ROTATIVI IN RTCP ......................... 144
9.2 IMPOSTAZIONE PARAMETRI ALTA VELOCITÀ (QUADRO RIASSUNTIVO) ....................... 145
9.3 ESEMPI DI USO DEI PARAMETRI DI ALTA VELOCITÀ .......................................... 146
10. ESEMPI DI PROGRAMMAZIONE ............................................................. 148

10.1 PROFILO 1 ................................................................................ 148


10.2 PROFILO 2 ................................................................................ 149
10.3 ROTAZIONE ............................................................................... 150
10.4 TRASLAZIONE ............................................................................. 151
10.5 ROTO-TRASLAZIONE 1 .................................................................... 152
10.6 ROTO-TRASLAZIONE 2 .................................................................... 153
10.7 SPECULARITÀ 1 ........................................................................... 154
10.8 SPECULARITÀ 2 ........................................................................... 155
10.9 RIBALTAMENTO RISPETTO AL TERZO ASSE .................................................. 156
10.10 RIPETIZIONE ANGOLARE DI UN PROFILO .................................................... 157
10.11 RIPETIZIONE LINEARE DI UN PROFILO ...................................................... 158
10.12 RIPETIZIONE DEL PROFILO 1 A VARIE PROFONDITÀ ......................................... 159
10.13 FINITURA DI UNA SUPERFICIE SFERICA ..................................................... 160
10.14 ELLISSE ................................................................................... 161
10.15 ROTOTRASLAZIONE NELLO SPAZIO (SUPERFICIE SFERICA) .................................. 162
10.16 SOLIDO DI RIVOLUZIONE ................................................................... 163
10.17 LAVORAZIONE PROFILO PROGRAMMATO IN X-Z ............................................ 164
10.18 FORATURA CON TESTA INCLINATA ......................................................... 165
10.19 CICLO FISSO DI FORATURA E POSIZIONAMENTI SU UNA CIRCONFERENZA .................... 166
10.20 POSIZIONAMENTI SU CIRCONFERENZA DI UNA LAVORAZIONE QUALSIASI CON ROTAZIONE .... 167
10.21 POSIZIONAMENTI SU CIRCONFERENZA DI UNA LAVORAZIONE QUALSIASI SENZA ROTAZIONE .. 168
10.22 SGROSSATURA DI UNA CAVA CIRCOLARE ................................................... 169
10.23 POSIZIONAMENTI SU CIRCONFERENZA DELLA SGROSSATURA DI UNA CAVA CIRCOLARE: ...... 170

5
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

1. INTRODUZIONE

Questo manuale descrive in modo semplificato la programmazione del controllo Z32.


Non verrà data descrizione estesa di tutte le funzionalità disponibili, ma solo delle più comuni ed utili
per la programmazione di macchine tipo fresa o centri di lavoro.

Per una descrizione più completa e dettagliata delle funzionalità messe a disposizione dal controllo
Z32, consultare il “Manuale di Programmazione” M96.

Questo manuale si riferisce a versioni di SIS T113-5 o successive.

6
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2. PROGRAMMAZIONE DI BASE

2.1 INTRODUZIONE

La programmazione di BASE del controllo numerico Z32 segue le indicazioni della normativo ISO.
Un programma pezzo (o part-program) è un file di testo ASCII costituito da una serie di istruzioni
memorizzate in maniera sequenziale.
Le righe ISO sono costituite da un numero di riga (non necessario) e da una serie di istruzioni
elementari.

2.2 COMPORTAMENTO DELLA MACCHINA AL RESET


Per comportamento al reset della macchina si intende la condizione in cui si porta la macchina quando
viene premuto il bottone di “Reset” sulla consolle. Tale comportamento è importante perché
caratterizza il funzionamento della macchina nella sua condizione base.

La condizione di reset è la condizione che si ha nelle seguenti situazioni:


- All’accensione del controllo
- All’inizio dell’esecuzione di un programma
- Dopo la pressione del bottone di “Reset”

- Comportamento delle origini al reset:


Il comportamento delle origini al reset dipende dalle tarature di macchina.
In funzione delle tarature sono previsti i seguenti:
La macchina imposta la sua origine base (quote riferite allo zero macchina)
La macchina imposta come attiva l’origine numero 1 su tutti gli assi continui
La macchina lascia attiva le ultime origini programmate
Consultare il costruttore per maggiori dettagli

- Comportamento dei parametri al reset


Tutti i parametri utilizzabili da part-program per la programmazione parametrica vengono
azzerati al reset.
Fanno eccezione i seguenti parametri:
Parametri utensile. Al reset vengono assegnati tutti i valori dei parametri presenti nella
descrizione dell’utensile attivo. Per utensile attivo si intende l’utensile attualmente sul
mandrino. Se dunque tra i parametri utensile sono presenti parametri tecnologici come
ad esempio il parametro F (feed) ed il parametro S (speed), tali valori vengono ripristinati
al reset come da tabella utensile. Parametri normali nella descrizione dell’utensile sono
la lunghezza L ed il raggio R.

- Comportamento del piano di lavoro al reset


Come descritto in seguito, esistono funzioni che permetto di impostare il piano di lavoro della
macchina e di definire la correzione dovuta alla lunghezza utensile. Tali funzioni sono la G25, la
G43 e la G44.
Il comportamento di queste funzione quando si preme il pulsante di RESET dipende dalle
impostazioni macchina, in particolare:
- Dopo un RESET la macchina imposta la sua configurazione base (generalmente G25XYZ e
G43Z)
- La macchina lascia attive le ultime G25, G43, G44 impostate
Come ulteriore opzione è possibile impostare le tre funzioni G25, G43, G44 come memorizzate in
memoria permanente e ripristinate anche a seguito di un reboot del CNC
Consultare il costruttore per maggiori dettagli.

7
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

- Comportamento degli assi al reset (assi vivi al reset)


Gli assi possono essere vivi al reset oppure no. Un asse vivo è un asse controllato in posizione dal
controllo numerico. Un asse non vivo è un asse non controllato. Esiste una taratura macchina che
definisce il comportamento al reset. In un part-program è possibile definire se un asse è vivo
oppure no con le istruzioni G28 e G29.
Se gli assi vivi sono definiti come “trasparenti al reset”, il reset non altera la mappa degli assi
vivi attuale.
Se gli assi vivi sono definiti come non trasparenti al reset, il reset ripristina la mappa di assi
vivi definita in taratura.
Consultare il costruttore per maggiori dettagli.

- Al reset inoltre vengono disattivate tutte le trasformazioni geometriche di traslazione,


specularità, rotazione, fattori di scala,…

- Al reset vengono disattivate le funzioni e le impostazioni relative all’RTCP (rotating tool centre
point)

- Al reset vengono ripristinate le impostazioni di alta velocità secondo i parametri inseriti nelle
tarature macchina. Consultare il costruttore per maggiori dettagli.

Attenzione: è importante sottolineare il fatto che all’inizio dell’esecuzione di ogni programma


viene ripristinata la condizione di reset. Questo significa che la macchina inizia l’esecuzione
partendo dallo stato di reset e che ogni modifica richiesta al suddetto stato deve essere
espressamente programmata nel part-program.

2.3 NUMERO DI RIGA


Il numero di riga è costituito dal carattere “N” seguita da un numero (anche decimale). La
programmazione del numero di riga non è necessaria. Ad esempio sono equivalenti le seguenti sintassi:

G0 Z100
e
N10 G0Z100

Formato del numero di riga: il numero di riga può essere intero o decimale, specificato col punto o
con la virgola. Tra la lettera N ed il numero è possibile inserire alcuni spazi. Ad esempio è possibile
impostare:
N100
N 100.2
N100,34
L’unica limitazione da seguire è che il numero di cifre prima e dopo la virgola o il punto deve essere
non superiore a 9.

Numero di riga come destinazione di salto: Il numero di riga può essere usato come “destinazione
di salto” nella programmazione logico-matematica. Per la descrizione di questa funzionalità
consultare il presente manuale alla sezione della programmazione logico-matematica.

8
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.4 LA RIGA ISO STANDARD


Dopo l’eventuale numero di riga N, una riga ISO è costituita da una sequenza di istruzioni elementari.
Ogni istruzione è formata da due parti:
 INDIRIZZO
 VALORE
L’indirizzo è costituito da caratteri e specifica la tipologia di operazione che si desidera.
Il valore, generalmente numerico, specifica l’operazione da eseguire.
Tra l’indirizzo ed il valore possono esserci un numero qualsiasi di spazi.
Sulla stessa riga possono esserci più coppie indirizzo-valore.

Ad esempio righe ISO valide sono le seguenti:


N10 G0 Z100
N20 G0 X 100 Y200
G0Z0X0Y0

Formato dei valori numerici:


Deve sempre essere programmato almeno un numero (lo zero si programma con una o più
cifre “0”)
La separazione tra parte intera e parte decimale può essere effettuata con “.” (punto) oppure
con “,” (virgola) indifferentemente.
Ad esempio programmazioni valide sono le seguenti:
X.1
X .1
X,1
X0,1
X 0.1
X00000,1000

I numeri devono avere un massimo di 9 cifre significative prima o dopo la virgola o il punto.
Ad esempio programmazioni valide sono le seguenti:
X123456789
X0.123456789
X0.0000123456789
X12345.6789
Programmazioni errate:
X1234567.12345
X12345.67890000
X1.00000001234

Non devono esistere spazi all’interno del numero

2.5 RIGHE DI COMMENTO


In un part program possono essere inserite delle righe di commento.
 I commenti possono essere racchiusi tra parentesi tonde.
Ad esempio:
G0 Z100 (svincolo iniziale)

Attenzione: all’interno di un commento non è possibile inserire alter parentesi tonde:


G0 Z100 (svincolo iniziale (Z alto) ) -> è un errore

 Il carattere ‘;’ (punto e virgola) all’inizio di una riga di programma rende l’intera riga un
commento
Attenzione: il carattere ‘;’ deve essere ad inizio riga
; G0 Z100 -> l’intera riga è commentata
G0 Z100 ; Z alto -> è un errore

9
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.6 FUNZIONI G (MODALI E CON ARRESTO)


Le funzioni G sono funzioni preparatorie in quanto predispongono il controllo a interpretare le
successive funzioni.

Il numero che segue G identifica la particolare funzione alla quale è predisposto lo Z32. Il valore che
segue G deve essere sempre un valore numerico (NON può essere il risultato di una espressione).

Solo alcune funzioni G (ossia solo alcuni valori numerici) sono interpretate ed eseguite dallo Z32: se
si programma una G non implementata lo Z32 dà l'apposito allarme.

Le funzioni sono quelle previste dalle norme ISO, con alcuni adattamenti. In particolare:
 Gli zeri iniziali delle G possono essere omessi (G0 equivale a G00)
 Possono essere programmate nello stesso blocco più funzioni G: in questo caso le G sono
riconosciute dal CN ed eseguite via via che vengono incontrate nella riga programmata: in
caso di programmazione di più G contrastanti resta attiva l'ultima G programmata.
 Di seguito a particolari funzioni G possono essere specificati dei dati aggiuntivi che ne
completano la definizione.
 Si chiamano MODALI le funzioni G il cui effetto si mantiene anche nei blocchi successivi a
quello in cui sono programmate: le funzioni G modali sono normalmente annullate da apposite
altre funzioni G.
 Alcune G richiedono l'ARRESTO della macchina: un eventuale il profilo deve essere
completamente definito al momento della loro esecuzione. Non deve perciò essere in corso
una contornatura con profilo aperto né una contornatura con compensazione raggio.

2.7 PARAMETRO F E GESTIONE DELLA FEED (G93 G94 G95)


Il parametro F definisce la velocità di avanzamento durante la lavorazione e viene programmata
scrivendo la lettera F seguita dal valore della feed desiderata (valore numerico con massimo 9 cifre
significative).

Programmata dopo G94 definisce la velocità F in “unità” al minuto. Ad esempio:


Se si tratta di assi rettilinei in millimetri, programmare F100 significa 100 mm/min.
Se si tratta di assi rettilinei in pollici, programmare F100 significa 100 pollici/min.
Se si tratta di assi in gradi, programmare F100 significa 100 gradi/min.

La G94 è attiva al reset e quindi è la modalità normalmente attiva se non specificato


diversamente

Programmata dopo G95 definisce la velocità di avanzamento come “unità” per giro del mandrino. Per
unità si intendono millimetri, pollici o gradi a seconda del tipo di asse.

Programmata dopo G93 definisce la velocità come inverso del tempo in minuti per eseguire il
movimento programmato. In questo caso, la F da programmare è pari alla velocità che si desidera
sulla traiettoria diviso la lunghezza della traiettoria stessa:

𝑚𝑚 𝑝𝑜𝑙𝑙𝑖𝑐𝑖 °
𝑉𝑒𝑙𝑜𝑐𝑖𝑡à (𝑚𝑖𝑛 , 𝑚𝑖𝑛 , 𝑚𝑖𝑛)
𝐹=
𝑆𝑝𝑎𝑧𝑖𝑜 (𝑚𝑚, 𝑝𝑜𝑙𝑙𝑖𝑐𝑖, °)

10
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.8 PARAMETRO S E GESTIONE DELLA SPEED (G96 G97)


Il parametro S definisce la velocità di rotazione del mandrino e viene programmata scrivendo la
lettera S seguita dal valore della speed desiderata (valore numerico con massimo 9 cifre significative).
La funzione S non attiva la rotazione del mandrino, che viene invece attivata con le funzioni ausiliarie
M3 o M4.

Programmata dopo la G97 definisce la velocità di rotazione del mandrino in giri/min.

La G97 è attiva al reset e quindi è la modalità normalmente attiva se non specificato


diversamente

Programmata dopo la G96 imposta la modalità di “Velocità di Taglio Costante”. Questa è una
funzionalità tipica dei torni: la velocità di rotazione del mandrino è calcolata in modo che la velocità
di taglio risulti pari alla S programmata (valutata in m/min) considerando la distanza dell’utensile dal
centro di rotazione del mandrino.

Nota sulla G96: Per evitare velocità eccessive quando la distanza dal centro del mandrino è
molto ridotta, con G96 si attiva il parametro MS (che può essere programmato anche in
precedenza) determinando la massima velocità mandrino (in giri/minuto) consentita. La MS
attiva è quella presente al momento dell'ultima S programmata: se viene riprogrammato il
parametro MS, la limitazione non cambia fino a che non si programma una nuova S.

L'utensile può oltrepassare il centro di rotazione: la velocità è comunque determinata dal


valore assoluto della distanza dal centro mandrino, e al passaggio attraverso lo zero è limitata
dalla MS programmata. Ad esempio si può programmare:

MS 4000
G96 S100 M3

Questa programmazione impone una velocità di taglio pari a 100 m/min


Con una limitazione di massima Speed a 4000 giri/min

11
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.9 FUNZIONI M
Le funzioni M (miscellanee) interessano più che altro il comportamento della macchina utensile e
quindi sono in massima parte definite nei loro effetti dal costruttore.
Tutte le M richiedono l'arresto.
Le norme ISO indicano le funzioni di numerose M: solo alcune M sono decodificate e gestite
direttamente dallo Z32, di queste sole si darà il dettaglio.
Il valore numerico (due cifre intere) che segue la lettera 'M' indica la 'M' programmata. Gli zeri iniziali
possono essere omessi (M0 = M00).

M0 - stop
Arresta l'esecuzione del programma, che può essere ripreso premendo il pulsante di
start. Richiede anche stop mandrino e stop refrigeranti.
M1 - stop condizionato
Come M0, solo che l'efficacia di M1 è condizionata da un apposito ingresso di logica
programmabile: consultare il costruttore della macchina utensile per ulteriori
dettagli. Richiede anche stop mandrino e stop refrigeranti.
M2 - fine programma
Fa uscire il controllo dal modo “ESECUZIONE” e chiude le operazioni in automatico.
M3 - mandrino orario
Richiede moto mandrino orario alla velocità S precedentemente programmata.
M4 - mandrino antiorario
Richiede moto mandrino antiorario alla velocità S precedentemente programmata.
M5 - stop mandrino
Richiede l'arresto del mandrino. Arresta anche i refrigeranti.
M6 - cambio utensile
Chiede che l'utensile (programmato come T nello stesso blocco o in blocchi
precedenti) sia montato sul mandrino. Arresta anche il mandrino e i refrigeranti. Dopo
la esecuzione di una M6 il CN prende atto della descrizione dell'utensile montato sul
mandrino e quindi aggiorna i parametri in conseguenza.
M7 - eroga refrigerante n.1
Richiede l’erogazione del refrigerante n. 1
M8 - eroga refrigerante n.2
Richiede l’erogazione del refrigerante n. 2
M9 - stop refrigeranti
Chiede che venga cessata l'erogazione dei refrigeranti.
M19 - orientamento mandrino
Richiede l’orientamento del mandrino.
Richiede anche stop mandrino e stop refrigeranti.

Il costruttore della macchina può definire altre funzioni M per usi e scopi particolari della macchina.
Consultare il costruttore della macchina per ulteriori dettagli.

M “speciali”
Esiste una categoria di funzioni M definite come M “speciali”. A differenza delle funzioni M
normali, che vengono gestite esclusivamente dal PLC della macchina, le M speciali sono
associate ad un part-program di servizio. Un esempio tipico di M speciale è l’M6 di cambio
utensile.
La definizione e la programmazione dei sottoprogrammi delle M speciali sono attività riservate
al costruttore della macchina.
Durante l'esecuzione del sottoprogramma associato alle M speciali è bloccato il conteggio del
numero progressivo (ossia in ricerca blocco la M speciale è un solo blocco che non può essere
ripreso in un punto intermedio.
Il sottoprogramma associato alla M speciale può essere eseguito in blocco singolo.

12
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.10 FUNZIONI AUSILIARIE MA, MB, MC


Oltre alle funzioni ausiliarie M lo Z32 mette a disposizione del costruttore della macchina utensile per
funzioni particolari di macchina altre tre funzioni ausiliarie (MA, MB, MC) che sono inviate alla logica
di macchina.
Come parametri, le funzioni MA, MB, MC possono essere programmate con 9 cifre significative prima
o dopo la virgola o punto decimale.
Le MA, MB, MC, richiedono l'arresto.
Consultare il costruttore della macchina per ulteriori dettagli.

2.11 FINE PROGRAMMA E FINE SOTTOPROGRAMMA (M2 G26)


L’istruzione di fine programma è l’istruzione M2.
Quando il controllo Z32 incontra l’istruzione M2, l’esecuzione viene terminata.

L’istruzione G26 rappresenta la fine di un sottoprogramma.


Quando il controllo Z32 incontra l’istruzione G26, l’esecuzione del programma attuale viene
abbandonata e viene ripresa l’esecuzione del programma chiamante.
Se l’istruzione G26 si trova nel programma principale (ovvero non in un sottoprogramma), l’istruzione
ha lo stesso significato di M2, ovvero l’esecuzione viene interrotta.

13
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.12 FUNZIONI DI RICHIAMO ORIGINE


In macchina sono definite due tipologie di origini:
 Le origini base: sono impostate dal costruttore e definiscono il sistema di riferimento fisso
della macchina. Queste origini normalmente non devono mai essere modificate durante l’uso
della macchina.

 Le origini supplementari: sono definite dall’utente e definiscono la posizione della


lavorazione rispetto alle origini base. Quando vengono attivate le origini supplementari, le
quote programmate nel part program si riferiscono all’origine supplementare attiva.

Y'
Y

Nell’esempio al lato, le origini supplementari


sugli assi X e Y (OX1 e OY1) definiscono il
Y40

punto di riferimento per le quote


Y25

programmate nel part-program:


X' OX1 OY1
OX1 OY1 X20 G0 X20 Y25
X55 G1 X55
Y40
X20
X Y25

OX0 OY0

La presa delle origini supplementari è generalmente un’attività da eseguire in macchina sul pezzo da
lavorare.
Nel programma si dovrà predisporre il richiamo dell’origine desiderata.

L’indirizzo “O” indica a Z32 che si sta richiamando un’origine.

Richiamo origine per un singolo asse:


In questo modo viene attivata l'origine solamente per l'asse richiamato, mentre tutti gli altri
assi mantengono la loro precedente origine

Se l'origine richiamata non esiste, viene restituito un allarme di programmazione

La sintassi per richiamare un’origine su un singolo asse è la seguente:


- programmare la lettera “O”
- nome dell'asse interessato (X, Y, Z, ...)
- numero origine (da 1 a 999)

Ad esempio:
OX1 (Attiva sull’asse X l’origine 1)
OX122 OY122 (Attiva sull’asse X e sull’asse Y l’origine 122)
OX10 OY31 (Attiva sull’asse X l’origine 10 e sull’asse Y l’origine 31)

Richiamo origine per più assi:


Una possibilità è programmare le origini singole per tutti gli assi richiesti, ad esempio:

OX1 OY1 OZ1 (Imposta l'origine 1 per gli assi X, Y e Z)

14
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

In alternativa, esiste un comando per attivare tutte le origini con lo stesso numero
per tutti gli assi che hanno quell'origine definita. Gli assi che non hanno l'origine
richiamata definita, invece, mantengono la precedente origine

La sintassi per richiamare un’origine su più assi è la seguente:


- programmare la lettera “O”
- numero origine (da 1 a 999)

Ad esempio:

O1 (Attiva l'origine 1 per tutti gli assi che hanno l'origine 1 definita)
Ad esempio, se l'origine 1 fosse definita solamente per gli assi X e Y
Viene attivata l'origine solo su X e Y, mentre Z mantiene la precedente
origine

O122 (Attiva l'origine 122 per tutti gli assi che hanno l'origine 122 definita)

Attenzione: non è possibile definire come origine supplementare l’origine “0”, in quanto
tale origine è l’origine base di macchina impostata dal costruttore

Per annullare la correzione dell’origine supplementare si può programmare l’origine 0.


Ad esempio programmare:
OX0 OY0
Significa annullare le origini supplementari degli assi X e Y. Dopo questa istruzione
tutte le quote assi sono riferite all’origine base della macchina impostata dal
costruttore.

Nota: Le origini supplementari sono memorizzate nella CMOS del CN.


In funzione del processo al quale appartengono le origini, i files sono i seguenti:

Processo: 0 1 2 3 4 5
File CMOS Origini: 126 123 120 117 114 111

Per macchine ad un solo processo, il file dove risiedono le origini è il file 126 (ovvero
quello relativo al processo 0).
La sintassi di un file origini è la seguente:

:OS
X1=123.4
Y1=-231.5

Il file inizia con l’intestazione “:OS” che specifica l’inizio della sezione di specifica
delle origini
Nelle righe successive sono memorizzati i valori delle varie origini.
Nell’esempio:
L’origine numero 1 sull’asse X determina una traslazione di 123.4 dall’origine base

15
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.13 PARAMETRO T E CAMBIO UTENSILE


Il parametro T serve per il cambio utensile insieme alla funzione ausiliaria M6. Le cifre che seguono
la T indicano il numero dell’utensile da richiamare.
Il parametro T generalmente serve per preparare la macchina al cambio utensile (ad esempio per
preparare gli assi del magazzino per il cambio), con la funzione M6 si effettua il cambio vero e proprio.
Consultare il costruttore della macchina per ulteriori dettagli.

Attenzione: Al momento del cambio utensile vengono richiamati ed assegnati tutti i parametri
presenti in tabella utensili relativi all’utensile richiamato.
Ad esempio vengono assegnati i valori di lunghezza (L) e raggio utensile (R), ma anche qualsiasi
altro parametro memorizzato in tabella. E’ possibile ad esempio salvare in tabella anche i valori
“S” ed “F” (Speed e Feed) relativi all’utensile in questione. In questo modo al momento del
cambio utensile vengono assegnati anche tali valori.

Nota: La tabella utensili è memorizzata nella CMOS del CN.


In funzione del processo al quale appartengono le tabelle utensile, i files sono i seguenti:

Processo: 0 1 2 3 4 5
File CMOS Tabella Utensile: 127 124 121 118 115 112

Per macchine ad un solo processo, il file dove risiedono le descrizioni degli utensili è il file
127 (ovvero quello relativo al processo 0).
La sintassi di un file origini è la seguente:

T1P127
:TL
T0#0R0L,000
T1#1L10,000R2(CENTRINO)

Il file inizia con l’utensile attualmente sul mandrino. Nell’esempio è l’utensile numero 1
contento nel file numero 127.
La label “:TL” specifica l’inizio della sezione di descrizione degli utensili
Nelle righe successive sono memorizzate le descrizioni dei vari utensili:
- Il parametro “T” indica il numero dell’utensile
- Il parametro “#” indica il posto dell’utensile nel magazzino utensili
- I vari parametri che descrivono l’utensile vengono descritti sulla riga tramite il nome
del parametro ed il suo valore numerico.
- Sulla riga è possibile inserire un commento inserito tra parentesi tonde.

Nell’esempio:
L’utensile T1 è collocato ad posto #1, ha lunghezza L10 e raggio R2

16
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.14 LUNGHEZZA E RAGGIO UTENSILE

La lunghezza utensile è il valore del parametro L.


L’impostazione della lunghezza può essere fatta inserendo in tabella
utensili il valore della lunghezza dell’utensile (in questo caso la
lunghezza viene aggiornata al momento del cambio utensile), oppure
programmando espressamente il parametro “L” in una riga di
programma:
N10 L10.23 (lunghezza utensile 10.23)

La lunghezza utensile L può avere segno positivo o negativo.


La correzione della lunghezza utensile è automaticamente
eseguita dal controllo in funzione della lunghezza L sull’asse
definito come asse utensile senza bisogno di modificare le quote
L del part-program.

Il raggio utensile è il valore del parametro R.


L’impostazione del raggio può essere fatta inserendo in tabella
utensili il valore del raggio dell’utensile (in questo caso il raggio viene
R aggiornata al momento del cambio utensile), oppure programmando
espressamente il parametro “R” in una riga di programma:
N10 R3 (raggio utensile 3)
Il valore del raggio utensile viene utilizzato dal controllo in caso di
contornatura di profili piani in correzione raggio, tramite le funzioni
G40, G41 e G42.

2.14.1 Variazione di lunghezza e raggio utensile (DDL DDR)

Tramite i parametri DDL e DDR è possibile variare la lunghezza e il raggio dell’utensile attualmente
attivo.
Per effettuare il calcolo della correzione dovuta alla lunghezza utensile, il controllo numerico Z32
considera la somma del parametro L e del parametro DDL.
La correzione della lunghezza utensile impostata tramite il parametro DDL non è incrementale, per
annullare il suo effetto occorre programmare DDL0.
Ad esempio:
N10 T1M6
N20 L100 (impone un lunghezza utensile di 100)
N30 DDL1 (la correzione utensile vale L + DDL, cioè 101)
N40 DDL0 (annulla DDL, la correzione utensile vale 100)

La correzione del raggio utensile si effettua tramite il parametro DDR.


La correzione del raggio utensile impostata tramite il parametro DDR non è incrementale, per
annullare il suo effetto occorre programmare DDR0.
Ad esempio:
N10 T1M6
N20 R5 (impone un raggio utensile di 5)
N30 DDR0.1 (il raggio utensile vale R + DDR, cioè 5.1)
N40 DDR0 (annulla DDR, il raggio utensile vale 5)

17
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.15 ANNULLAMENTO E SOSPENSIONE DI ORIGINI E LUNGHEZZE (G53 G54 G45)

Tali funzioni sono riservate a programmatori esperti.

Per annullare un origine occorre programmare l’origine base per tutti gli assi interessati, ad esempio:
OX0 OY0 OZ0

Per annullare le correzioni dovute alla lunghezza utensile occorre programmare una lunghezza
nulla:
L0

 Per sospendere le correzioni dovute alle origini supplementari e alla lunghezza utensile è
possibile programmare la G53. Programmando la G53 vengono sospese anche eventuali
rototraslazioni, specularità e fattori di scala per poter riferire i movimenti all’origine base. Dopo
la programmazione di G53 i movimenti si riferiscono all’origina base (origine “0”)

La riattivazione delle correzioni dovute alle origini supplementari e alla lunghezza utensile si
effettua programmando G54. Dopo la programmazione della G54 viene ripristinata la situazione
di origini, lunghezze, rototraslazioni, specularità e fattori di scala precedenti alla
programmazione dalla G53

 Per sospendere solamente la correzione dovuta alla lunghezza utensile è possibile utilizzare la
funzione G45. Dopo la programmazione della G45 i movimenti dell’asse utensile non tengono più
conto della lunghezza dell’utensile.

La riattivazione della correzione lunghezza utensile si effettua con la programmazione della G43
o della G44

18
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.16 TERNA DI LAVORO (G25), ASSE UTENSILE (G43 - G44) E PIANO DI


CONTORNATURA

La funzione che permette di definire la terna di lavoro della macchina ed il piano di contornatura è
la funzione G25.
Dopo G25 devono essere programmati di seguito tre caratteri con tre nomi di assi definiti come
continui sulla macchina.
Per esempio: G25XYZ definisce che la terna di lavoro è costituita dai tre assi X, Y, Z.

I primi due assi della terna di lavoro costituiscono il piano di contornatura (in cui sono possibili le
interpolazioni circolari). Il terzo asse è un asse aggiuntivo coordinato ai primi due (può essere usato
per i cicli fissi e per altre funzioni di macchina).
All'accensione e ad ogni inizio programma è attivata la terna di lavoro di taratura definita dal
costruttore della macchina.

L'asse su cui agisce la lunghezza utensile è definito da G43 (correzione positiva) o G44 (correzione
negativa) come chiarisce la figura:

Z Z L Z L

G43Z G43X G44X

X X X
Situazioni tipiche di lavorazione per macchine a 3 assi sono le seguenti:
1. Piano di lavoro XY e correzione utensile positiva sull’asse Z
Questa configurazione è programmabile con:
Y
Z

G25 XYZ
G43Z
X

2. Piano di lavoro ZX e correzione utensile positiva sull’asse Y.


Questa configurazione è programmabile con:
Y
Z

G25 ZXY
G43Y
X

3. Piano di lavoro YZ e correzione utensile positiva sull’asse X


Questa configurazione è programmabile con:
Y
Z

G25 YZX
G43X
X

19
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

E’ normalmente cura del costruttore definire in taratura la terna di default della macchina e l’asse
sul quale correggere la lunghezza utensile.

Il comportamento di queste funzione quando si preme il pulsante di RESET dipende dalle


impostazioni macchina, in particolare:
- Dopo un RESET la macchina imposta la sua configurazione base (generalmente G25XYZ e
G43Z)
- La macchina lascia attive le ultime G25, G43, G44 impostate
Come ulteriore opzione è possibile impostare le tre funzioni G25, G43, G44 come memorizzate in
memoria permanente e ripristinate anche a seguito di un reboot del CNC

20
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.17 PROGRAMMAZIONE DI MOVIMENTI (G0 G1 G2 G3)


La programmazione dei movimenti di macchina si effettua con le funzioni:
G0: movimento rapido
G1: interpolazione lineare
G2: interpolazione circolare oraria
G3: interpolazione circolare antioraria

La normativa ISO standard prevede che le funzioni G di movimento siano MODALI. Questo significa,
ad esempio, che dopo aver programmato un movimento in G0, tutti i posizionamenti successivi
saranno in G0 a meno che non venga dichiarato un movimento di diverso tipo.
Ad esempio:

(comportamento con G di movimento MODALI)


F1000
G0 Z100 (movimento in G0)
X100 (movimento in G0)
Y100 (movimento in G0)

G1 X0 (movimento in G1)
Y0 (movimento in G1)
X10 (movimento in G1)

Esiste comunque la possibilità di definire in taratura un diverso comportamento della macchina e di


definire le funzioni di movimento come non modali.
In questa modalità, tutti i movimenti senza indicazione della funzione G vengono intesi come
programmati in G1.

(comportamento con G di movimento NON MODALI)


F1000
G0 Z100 (movimento in G0)
X100 (movimento in G1)
Y100 (movimento in G1)

G1 X0 (movimento in G1)
Y0 (movimento in G1)
X10 (movimento in G1)

2.17.1 Movimenti in rapido (G0)

G0 X..Y..Z..

Z Y La funzione G0 specifica un movimento in rapido. Possono essere


effettuati movimenti in rapido solo lineari programmando anche più
di un asse alla volta. Possono essere programmati fino a dieci assi
contemporanei.
X Ad esempio:
G0 Z100
G0 X0 Y0

La velocità in G0 è definita in taratura.


La funzione G0 può o meno essere modale in funzione delle tarature macchina.
Se è modale, dopo il primo posizionamento in G0, tutti gli altri movimenti senza specificare G0
vengono effettuati in G0.
Se non è modale, tutti i movimenti senza specificato alcuna funzione di moto vengono effettuati in
G1.

21
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.17.2 Interpolazione lineare (G1)

Y
Z

Possono essere programmati fino a dieci assi contemporanei. La


G1 X..Y..Z.. traiettoria percorsa dagli assi per raggiungere il punto finale
programmato è rettilinea: tutti gli assi programmati arrivano
insieme nel punto programmato.
X

La velocità in G1 è impostata dalla feed (indirizzo F) programmata.

Attenzione: la programmazione di G1 da solo (senza quote) su una riga è lecita, ma ha un


significato particolare (moto rettilineo APERTO, vedere capitolo dedicato alla programmazione
dei profili) e non ha il significato di predisporre un moto in G1.

Per esempio:
...
N10 G1
N11 X0 Y0
...
non è ammessa: al blocco 11 dà errore CN3414

2.18 INTERPOLAZIONE CIRCOLARE (G2 – G3)

Y X,Y Y
G2
Le funzioni G2 e G3 specificano interpolazione
I,J I,J
circolare oraria (G2) e antioraria (G3).
G3
Il movimento deve avvenire sui primi due assi del
X,Y piano di contornatura definito con la G25.
L’interpolazione circolare deve esser preceduta da
X X
un posizionamento sul punto iniziale del cerchio.
La velocità del movimento è la F (feed)
programmata.

L’interpolazione circolare si specifica programmando:

 G2 o G3 che definisce il senso dell’interpolazione


 Le coordinate del punto finale dell’arco di cerchio
 Le coordinate del centro del cerchio con indirizzo I per il primo asse del piano di contornatura
e J per il secondo asse.

Ad esempio:
G2 X..Y..I..J..

Attenzione: Se il piano di contornatura è diverso dal piano XY, ma è per esempio il piano ZX, la
sintassi diventa:
G3 Z.. X.. I.. J..

Dove “I” si riferisce al primo asse del piano di contornatura (Z) e “J” al secondo asse (X)

22
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.18.1 Interpolazione elicoidale (G2 – G3)


Nelle funzioni G2 e G3 la quota programmata sul terzo asse è raggiunta, a fine movimento, insieme
alle due quote del piano. La velocità del movimento risultante è la F programmata.

La programmazione elicoidale può essere attiva anche in correzione raggio (G41 o G42 attive):
permette quindi il moto del terzo asse, sempre come coordinato agli altri due assi.

Attenzione: Se un tratto che viene accorciato od eliminato per effetto della correzione raggio,
contiene un movimento del terzo asse, questo movimento viene eseguito completamente al
successivo movimento utile.

Ad esempio:
G3 X..Y..I..J..Z..

In un solo blocco non è possibile programmare un tratto di elica maggiore di una spira completa. Per
programmare più spire occorre utilizzare un ciclo ripetitivo, per esempio:

--DO
G3 X..Y..I..J..Z<Z-1.2>
--LOOP 5

Totale di 4 spire, con incremento Z di 1.2 a spira

23
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.19 PROGRAMMAZIONE IN COORDINATE INCREMENTALI (G90 G91)


Attenzione:
A partire dalla versione T113-2 di software Z32 è disponibile una nuova modalità di utilizzo della
funzione G91.
Nota: la precedente modalità (ancora disponibile per compatibilità con precedenti part-
program) prevedeva la necessità della programmazione del parametro HX con la definizione
di un fattore di scala da applicare all’incremento espresso in millesimi di unità visualizzate).
Ad esempio, nella precedente modalità, la programmazione incrementale era attivata
generalmente con la programmazione di HX1000 G91.
La nuova modalità non ha necessità delle programmazione del parametro HX.
La configurazione della modalità G91 (nuova o precedente gestione) è effettuata dal
costruttore macchina.

Viene qui descritta la modalità della nuova tipologia di G91

La sintassi è la seguente:

G91 Inizia la programmazione incrementale

La G91 è modale e si disattiva programmando G90.


Y
Ad esempio:
80

F1000
15 G0 X10 Y10
(attiva programmazione incrementale:)
G91
35 G1 X20
Y35
X30
10 Y15
X
0
(disattiva programmazione incrementale:)
20 30 G90
X80 Y80

0 10 80

24
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.20 FILETTATURA E MASCHIATURA RIGIDA

2.20.1 Filettatura a passo fisso (G33)

Modale in esecuzione automatica, attiva solo nel blocco in semiautomatico.


Funzione tipica dei torni, ma usabile anche per frese.
Dopo la programmazione della G33 viene automaticamente attivato G1.
La funzione G33 sincronizza la velocità dei movimenti degli assi con la velocità di rotazione del
mandrino.
I movimenti di filettatura devono essere programmati dopo l’impostazione della G33 e possono essere
movimenti rettilinei e circolari.
La fine dei movimenti in G33 si ottiene programmando G0, G93, G94, G95, G96.

La sintassi è la seguente:
G33 K..

K determina il passo lungo la direzione di filettatura.


La filettatura può avvenire per tratti circolari o rettilinei nel piano, comunque orientati.
Più movimenti di filettatura possono essere eseguiti in sequenza: il passo del filetto è mantenuto
costante, salvo che siano richieste accelerazioni o velocità superiori a quelle di taratura.

Attenzione:
 Se il primo tratto di filettatura è circolare occorre programmare G33G2 oppure G33G3. Notare
che G33 deve precedere nella riga G2/G3: se G2 o G3 sono programmati prima di G33 (es.
G2G33) sono annullati da G33 che forza G1.

 Durante i movimenti in G33 è vietata la programmazione di funzioni che richiedono l’arresto


del CN e la programmazione di assi non vivi.

 Con G33 attiva non viene incrementato il numero progressivo di operazione: in ricerca blocco
con numero progressivo è perciò possibile solo ricercare il primo blocco in G33.

 Durante la G33 non sono attivi:


override assi
override mandrino
blocco singolo

 Se la filettatura è conica, il passo lungo l'asse longitudinale risulta più corto per la presenza
dell'inclinazione, dato che il parametro K è valutato lungo la direzione di filettatura.

Esempio:

G25 XZY
M3 S500
G0 X30 Z100
G33 Z5 K1.25 (primo movimento filettatura:)
G3 I35 J5 X35 Z0
G0 Z100 (fine filettatura)

È possibile eseguire una filettatura in più passate con profondità diverse in quanto la partenza del
movimento è sincronizzata al passaggio per lo zero del mandrino.

25
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.20.2 Filettatura a passo variabile (G34, G35)

Il termine “filettatura a passo variabile” indica una filettatura il cui passo non è costante ma varia
con continuità secondo una prestabilita entità di variazione.
La filettatura a passo variabile viene programmata mediante due diverse funzioni G:
G34 K.. I.. filettatura a passo crescente
G35 K.. I.. filettatura a passo decrescente
Tutto quanto è riportato nel manuale riguardo alla filettatura a passo fisso (G33) resta valido anche
per la filettatura a passo variabile (G34 e G35).

K = passo (mm o pollici) iniziale della filettatura.


Parametro che può essere impostato nel blocco di G34/G35 oppure in blocchi precedenti.
Attenzione: se il parametro K viene riprogrammato nei blocchi successivi, con G34/G35
sempre attiva, si ha una brusca variazione di passo.

I = incremento del passo espresso in mm/giro o pollici/giro.


Parametro che si può programmare solo nella riga del blocco G34/G35.
Questo parametro è sempre positivo e se viene programmato negativo viene comunque preso
come valore assoluto.
Con G34 esprime il numero di mm/giro o pollici/giro di cui il passo K aumenta
Con G35 il numero di mm/giro o pollici/giro di cui il passo K diminuisce.
Attenzione: se in conseguenza al decremento di K si arriva ad un passo <=0 viene dato
l’allarme (in tempo reale) CN1F13.

Movimenti di filettatura con passo fisso o variabile possono essere eseguiti in sequenza: il passo di
filettatura varierà con continuità o rimarrà costante o avrà una discontinuità a seconda della funzione
di filettatura programmata e dei parametri programmati.

26
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.20.3 Maschiatura rigida (G163)

Con G163 si ordina un movimento di maschiatura composto da:


 avanzamento con passo K fino alla quota programmata ed eventuale rottura truciolo
 inversione del mandrino
 ritorno indietro fino alla quota di partenza.
 ripristino rotazione mandrino

Il movimento degli assi programmati (normalmente un solo asse: lo Z) è rigidamente legato a quello
del mandrino per tutta la durata del ciclo di maschiatura e ritorno

Il controllo calcola automaticamente la rampa di inversione mandrino in modo tale da garantire la


massima precisione sulle coordinate finali del movimento di maschiatura. A causa però di
comportamenti non preventivabili del motore mandrino e della sua trasmissione meccanica, è
possibile un errore sulle quote finali di maschiatura da 0.01mm fino anche a più di 0.2mm.
Si consiglia pertanto di lasciare un opportuno margine a fondo foro.

Sintassi della G163:


G163 XYZ… K… [I…] [J…] [HX…]

 XYZ = coordinata finale del movimento di maschiatura rigida

 K = passo della maschiatura


esempio:
G0 X0 Y0 Z10 S300 M3
G163 K1.25 Z-50
-> movimento di maschiatura rigida da Z10 a Z-50 con S300 e passo 1.25 (F375)
-> movimento di ritorno da Z-50 a Z10 con S300 e passo 1.25 (F375)

 I =parametro opzionale: fattore moltiplicativo della Speed mandrino per il movimento di


ritorno
Il parametro deve essere limitato tra 0.5 e 4
Esempio:
G0Z1
S200 M3
G163 Z-20 K1.2 I3
-> movimento di maschiatura rigida da Z1 a Z-20 con S200 e passo 1.2 (F240)
-> movimento di ritorno da Z-20 a Z1 con S600 e passo 1.2 (F720)

 J =parametro opzionale: rottura truciolo


J rappresenta la lunghezza di un singolo tratto in avanti di macshiatura
Il movimento all’indietro di default ha una lunghezza pari a J x 1.5

 HX =parametro opzionale: fattore moltiplicativo su J per determinare la lunghezza


del tratto indietro nel caso di rottura truciolo
Esempio:
G0 Z1 S400 M3
G163 Z-100 K1.5 I2 J10 HX2
-> movimento di maschiatura rigida da Z1 a Z-100 con S400 e passo 1.5 (F600)
-> rottura truciolo composta da:
movimento in avanti di lunghezza = 10 (J10)
movimento indietro di lunghezza = 20 (J x HX)
Nel movimento indietro la speed mandrino è moltiplicata per il fattore I,
nell’esempio risulta S800 con passo 1.5 (F1200)
-> movimento di ritorno finale da Z-100 a Z1 con S800 e passo 1.5 (F1200)

27
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

È possibile "ripassare" un filetto già eseguito (ma solo se il maschio nel mandrino non è stato ruotato!)
in quanto la partenza del movimento è sincronizzata al passaggio per lo zero del mandrino.

Durante la G163 non sono attivi:


override assi
override mandrino
feed-hold

Per poter utilizzare la funzione di maschiatura rigida occorre che la macchina sia fornita di rilevatore
sul mandrino.

Nota: come opzione è possibile attivare una gestione speciale del pulsante di STOP durante
l’esecuzione di una maschiatura rigida: il mandrino e gli assi non saranno arrestati immediatamente
alla pressione del pulsante, ma:
- Viene comandata un’inversione immediate del moto mandrino
- Viene effettuato un movimento di uscita in maschiatura rigida
- Gli assi macchina sono riportati alle quote da cui è iniziata la maschiatura rigida
- Al termine del movimento di estrazione, la macchina (mandrino e assi) è arrestata

28
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.21 ROTAZIONE, TRASLAZIONE, SPECULARITÀ, FATTORE DI SCALA


Con queste funzioni è possibile traslare, ruotare, specchiare e scalare una lavorazione
Si noti che tali trasformazioni vengono effettuate sulle quote programmate e non su quelle rilevate.

2.21.1 Rotazione lavorazione (IR JR QR)


Tramite le funzioni di rotazione è possibile ruotare la lavorazione dell’angolo QR intorno al punto di
coordinate (IR JR).

Y
L’attivazione della rotazione è automatica dopo la
programmazione del parametro QR.
QR
E’ possibile effettuare rotazioni solo sul piano di
lavoro attualmente attivo impostato dalla G25. La
definizione del punto (IR, JR) segue la regola:
IR è la coordinata del centro di rotazione rispetto al
(IR, JR) primo asse del piano di lavoro, JR è la coordinata del
JR
centro di rotazione rispetto al secondo asse.
X Ad esempio in G25XYZ: IR è la coordinata X e JR è la
IR coordinata Y del centro di rotazione.

Al Reset IR=0 JR=0 QR=0, le rotazioni vengono annullate

Attenzione: il centro di rotazione (IR JR) è definito rispetto all’origine attiva senza considerare
eventuali traslazioni (DA DB DC), specularità (G56) o fattori di scala.

29
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.21.2 Traslazione lavorazione (DA DB DC)


Le funzioni DA, DB e DC permettono di traslare il programma lungo gli assi definiti dalla funzione
G25.
DA effettua una traslazione lungo il primo asse
DB effettua una traslazione lungo il secondo asse
DC effettua una traslazione lungo il terzo asse

Ad esempio, se siamo nella configurazione G25XYZ:


DA trasla la lavorazione lungo X
DB trasla la lavorazione lungo Y
DC trasla la lavorazione lungo Z

L’attivazione della traslazione è automatica dopo la programmazione dei parametri DA DB DC.

Al Reset DA=0 DB=0 DC=0, le traslazioni vengono annullate

Ad esempio per effettuare una traslazione di 10 lungo il primo asse e di 14 lungo il secondo asse:

DA10 DB14

14

10

Per effettuare una rototraslazione occorre combinare traslazioni e rotazioni:

DA100 DB50
IR0 JR0 QR45
QR
DB

DA

30
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.21.3 Specularità sul piano di lavoro (G56 – G55)


La figura programmata è trasformata nella figura speculare rispetto all'asse di specularità individuato
dal punto di coordinate (IS, JS) e dalla pendenza QS.

QS La specularità deve essere abilitata con G56


(modale). G55 annulla G56 e quindi la specularità.

La specularità è possibile solo sui primi due assi del


(IS, JS)
piano di contornatura definito dalla G25. La
definizione del punto (IS, JS) segue la regola:
JS
IS è la coordinata rispetto al primo asse del piano di
X
lavoro, JS è la coordinata rispetto al secondo asse.
IS Ad esempio in G25XYZ: IS è la coordinata X e JS è la
coordinata Y del centro di rotazione.

Non è possibile combinare più di una specularità.

Al reset è IS = JS = QS = 0 ed è attivo G55 (specularità non attiva)

2.21.4 Fattore di scala


I parametri KP e KT definiscono i fattori di scala sul piano di lavoro (KP)e sul terzo asse (KT) definiti
dalla G25.
Ad esempio nella configurazione G25XYZ, KP applica il fattore di scala sul piano XY, KT applica il
fattore di scala sulle quote dell’asse Z.

L’attivazione dei fattori di scala è automatica dopo la


KP = 2 programmazione dei parametri KP e KT.

Al Reset KP=1 KT=1

2.21.5 Ulteriori parametri correttivi


Esiste la possibilità di definire ulteriori parametri additivi e moltiplicativi delle quote programmate:

 fattore moltiplicativo su un singolo asse: KM {+nome asse}


 fattore additivo su un singolo asse: KD {+nome asse}

Ad esempio:
KMX1.2 (fattore moltiplicativo di 1.2 sul solo asse X)
KDZ10 (fattore additivo di 10 sul solo asse Z)

L’attivazione dei fattori moltiplicativi e additivi è automatica dopo la programmazione dei parametri
KM.. e KD...

Al Reset gli effetti di questi parametri vengono annullati

31
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Attenzione: A differenza di tutti gli altri fattori di traslazione, rotazione, specularità e scala, i
parametri moltiplicativi e additivi sui singoli assi possono essere usati solo in programmi senza
interpolazioni circolari.

2.21.6 Esempi di trasformazioni tipiche:

Traslazione sul piano di lavoro (piano XY in G25XYZ).


Occorre programmare in DA la traslazione sul primo asse del piano e in DB la traslazione sul
secondo asse del piano. Es:
DA100 DB50 (attiva traslazione XY)

DA0 DB0 (annulla traslazione)

Traslazione sul terzo asse definito dalla G25 (asse Z in G25XYZ)


E’ utile, ad esempio, per mantenere un offset dalla superficie del pezzo in fase di prova part-
program.
Occorre programmare in DC la traslazione sul terzo asse della terna di lavoro. Es:
DC1 (attiva traslazione Z)

DC0 (annulla traslazione Z)

Specularità lungo il primo asse del piano di lavoro (asse X in G25XYZ)


IS0 JS0 QS0 G56 (specchia coordinate Y)

G55 (annulla specularità)

Specularità lungo il secondo asse del piano di lavoro (asse Y in G25XYZ)


IS0 JS0 QS90 G56 (specchia coordinate X)

G55 (annulla specularità)

Specularità rispetto al terzo asse del piano di lavoro (asse Z in G25XYZ)


Occorre utilizzare il parametro di scala KT delle quote sul terzo asse:
KT-1 G56 (specchia coordinate Z)

G55 (annulla specularità)

Specularità combinata sia rispetto al primo che al secondo asse del piano di lavoro (assi X e Y in
G25XYZ)
Occorre utilizzare una rotazione di 180 gradi rispetto al punto 0:
IR0 JR0 QR180 (attiva specularità XY)

QR0 (annulla specularità)

32
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.22 G116 LAVORAZIONI SU PIANI INCLINATI (ROTOTRASLAZIONE)

La G116 permette di rototraslare una lavorazione.


È possibile programmare la G116 (rototraslazione del piano di lavoro) su tre assi.
La G116 agisce su tutti i movimenti programmati, rapido o lavoro, lineari o circolari.
La quota visualizzata è sempre riferita al sistema di coordinate rototraslate da G116.

La sintassi della G116 è:

G116 KA... X... Y... Z... I... J... K...


NB: uno solo tra I J K può essere programmato nella stessa riga

 KA parametro di scelta del funzionamento:


KA0 disattiva la G116
KA1 attivata la G116
KA2 senza parametri supplementari, genera automaticamente gli angoli necessari per
orientare il piano di lavoro in modo ortogonale al mandrino. Questa prestazione è possibile
solo in presenza di G117 “generalizzata”, diversamente si ha errore CN2C14 “PARAMETRI
INCOMPATIBILI”.
KA non programmato e programmati uno tra X Y Z I J K equivale a KA1

 X Y Z I J K determinano la rototraslazione da effettuare.


X Y Z individuano l’origine del nuovo sistema di assi.
I (o J o K), che possono essere programmati uno alla volta, individuano la rotazione del nuovo
sistema di assi, intorno all'asse X (o Y o Z) nel sistema di assi in vigore, che può essere ruotato
da precedenti G116 rispetto alla configurazione di partenza.
In altre parole, la G116 introduce una traslazione della lavorazione impostata tramite i
parametri X, Y e Z e una rotazione di angolo I (o J o K).
I J K devono essere espressi in gradi.

Il fatto che sia possibile programmare un solo asse di rotazione alla volta è una limitazione
necessaria per ottenere la massima chiarezza relativamente all'ordine in cui devono essere
fatte le eventuali rotazioni multiple: non porta infatti lo stesso risultato programmare per
esempio prima una rotazione intorno a X e poi intorno a Y, oppure prima intorno a Y e poi
intorno a X.
Rotazioni intorno a più assi possono essere ottenute programmando in cascata (su righe
successive) le varie rotazioni nell'ordine desiderato.

Nota: se viene programmata la G116 senza alcun parametro aggiuntivo:


G116
viene attivata la G116 con gli stessi parametri dell'ultima G116 programmata in precedenza
anche se si è avuto uno spegnimento del controllo.
È quindi possibile, nel caso che avvenga un arresto macchina con G116 attiva e una punta in
un foro inclinato, riaccendere la macchina, in semiautomatico programmare una G116 senza
parametri, passare in Jog ed estrarre l'utensile comandando i movimenti di jog dai pulsanti.

Attenzione:
Per evitare errati spostamenti il primo movimento dopo la programmazione di G116, che ha una
traslazione del sistema di riferimento, deve contenere le quote di tutti e tre gli assi con numero
logico 0, 1, 2 (normalmente X, Y, Z).

Attenzione: La funzione G116 funziona solamente sui primi tre assi continui definiti in macchina,
ovvero sugli assi con numero logico 0, 1 e 2. Negli esempi fatti, perché la G116 possa funzionare,
l'asse X deve avere il numero logico 0, Y il numero logico 1 e Z il numero logico 2. Consultare il
costruttore per ulteriori dettagli.
33
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Esempio:
Uso della G116 per lavorare le facce di un parallelepipedo con composizione associativa delle
rotazioni.

30 2
3 40 30

Z
40 Y X
Y

30
Y X
Z Z

30
30

X
Y
Y X

Z Z
X

5
4 40
30

30 40

1) Testa verticale:
Configurazione standard
G116KA0
2) Faccia laterale destra:
G116 X40 Z-30 K90
G116 I90
3) Faccia posteriore:
G116 Y30 Z-30 I-90
G116 K180
4) Faccia laterale sinistra:
G116 X-40 Z-30 K-90
G116 I90
5) Faccia anteriore:
G116 Y-30 Z-30 I90

34
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.23 ALTRE FUNZIONI

2.23.1 Sosta (G4 TT..)

Il valore della sosta, espresso in secondi, è pari al parametro “TT”, che può essere programmato sulla
stessa riga della funzione G4 oppure in una riga precedente.

Esempio:
G4 TT2.5 (sosta di 2.5 secondi)

La funzione è con arresto:


Anche se viene programmata con un tempo di sosta nullo, l’arresto viene comunque eseguito.

2.23.2 Scambio assi (G16)

Tramite la funzione G16 è possibile eseguire lo scambio degli assi di macchina.


Lo scambio dei nomi degli assi viene effettuato a partire dalla definizione degli assi nelle tarature
macchina secondo lo schema seguente:

G16 ... Nomi asse desiderati


...
0 1 2 3 ... Numero logico degli assi

La programmazione della G16 deve seguire le seguenti regole:


 I nomi degli assi desiderati devono essere singoli caratteri dell’alfabeto maiuscolo esclusi
FGIJKLMNORST.
 I nomi assegnati agli assi devono seguire la G16 senza spazi intermedi.
 Se i caratteri che seguono la G16 sono in numero minore degli assi della macchina, i
restanti restano invariati.

Ad esempio:
Numero logico degli assi 0 1 2 3 4
Nomi assi desiderati Z X Y A B
Nomi asse in taratura X Y Z A B

Nell’esempio superiore occorre programmare:


G16ZXY

Attenzione:
 Lo scambio assi viene sospeso dalla G53
 Lo scambio degli assi è valido anche per le funzioni G25, G28, G29, G43, G44, KM, KD
 Lo scambio assi è valido per tutte le quote programmate, ma non cambia il piano di
contornatura individuato dalla G25. Per scambiare anche il piano di contornatura è
necessario programmare anche la G25 opportuna.

35
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.23.3 Gestione assi vivi (G28, G29)

Un asse è vivo quando la sua posizione è controllata dal controllo numerico, anche in assenza di
movimento.

 La funzione G28 (modale, con arresto) chiede al CN di tenere sotto controllo l'asse anche
quando l'asse non è interessato al movimento in corso (asse vivo).
Dopo G28 deve essere specificato il nome (per esempio X) dell'asse che si vuol tenere vivo,
per esempio:
G28X
Deve essere specificato un solo asse, tra quelli definiti come continui dalle tarature di
macchina.
Se si vogliono attivare più assi si può programmare G28 più volte nella stessa riga o in righe
successive. Per esempio:
G28Z G28A
chiede di tenere sempre sotto controllo gli assi Z e A.
Alcuni assi (definiti nelle tarature di macchina) possono essere definiti come vivi fin
dall'accensione: ad ogni inizio programma (o dopo ogni reset) è ripristinata la situazione di
assi vivi/non vivi definita in taratura.

Nota: In funzione delle tarature di macchina è possibile definire gli assi come “Vivi al reset”.
Con questa taratura, gli assi resi vivi (con la funzione G28) o abbandonati (con la funzione
G29) mantengono il proprio stato di assi vivi o non vivi anche dopo un reset o alla successiva
accensione.

È lecita, e non ha effetto, la richiesta di attivare un asse già vivo.

 La funzione G29 (modale, con arresto) chiede al CN di abbandonare l'asse specificato.


Dopo G29 deve essere specificato il nome (p. es. X) dell'asse che si vuole abbandonare, per
esempio
G29 X
Deve essere specificato un solo asse, tra quelli definiti come continui dalle tarature di
macchina.
Se si vogliono disattivare più assi, si può programmare G29 più volte nella stessa riga o in
righe diverse. Per esempio:
G29X G29A
chiede al CN di abbandonare l'asse X e l'asse A.

È lecita, e non ha effetto, la richiesta di disattivare un asse già non attivo.

Nota sulla gestione della programmazione degli assi non vivi


 Se da part-program si programma il movimento di un asse non vivo, l'asse viene
automaticamente attivato, mosso e successivamente abbandonato, ma solo se la posizione
fisica dell'asse non coincide con quella programmata.

La posizione fisica dell'asse è considerata coincidente con quella programmata se l'errore è


inferiore all'errore di posizionamento di taratura (normalmente dell'ordine di qualche
centesimo).

Può nascere qualche problema se l'errore è molto vicino a quello tollerato. Se la quota rilevata
dell'asse non vivo (che non dovrebbe muoversi) ha dei piccoli cambiamenti tali che l'errore
passi da sotto a sopra la soglia di taratura può verificarsi un allarme CN1513.

La quota rilevata può oscillare di qualche passo rilevatore, pur rimanendo entro la soglia di
posizionamento, quindi il sorpasso della soglia si può verificare se la posizione è già al limite
della tolleranza, il che accade per esempio quando:
o una tavola girevole (o altro asse) durante il bloccaggio ha un leggero movimento che
la porta molto vicino all'errore di taratura ammesso
36
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

o viene programmato un movimento di un asse bloccato di entità di poco inferiore alla


soglia di posizionamento

In questi casi si consiglia di non utilizzare l'attivazione automatica dell'asse non vivo e di
forzarlo vivo direttamente da part-program.

2.23.4 Sospensione e Riattivazione del cambio utensile (G38, G39)

Programmando G39 è possibile sospendere l’esecuzione automatica del cambio utensile.


Con G39 attiva la M6 (cambio utensile) non viene più eseguita in automatico, ma provoca uno STOP
della macchina per consentire all'operatore di fare il cambio utensile manuale. Quando l'operatore,
dopo fatto il cambio, preme il pulsante START, il programma viene ripreso dal punto di interruzione
e il cambio utensile è considerato fatto.
Quindi l'utensile programmato è considerato a tutti gli effetti montato sul mandrino, con acquisizione
della descrizione utensile ecc.
Esempio:

N10 G39
N12 T10 M6 (CAMBIARE A MANO CON FRESA R=10)
N13 G38

La funzione G39 è modale e disattivata dalla G38, che riattiva l'esecuzione in automatico del cambio
utensile.
La funzione G38 viene attivata al reset.

2.23.5 Lettura utensile sul mandrino (G104)

Trasferisce nel parametro HX il valore di T dell'utensile che è montato sul mandrino.


Attiva solo nel blocco.
Esempio:

N10 T101 M6
N11 G104

Dopo l’esecuzione della riga N11, HX contiene il valore 101, se l'utensile montato sul mandrino è il
T101. Se è installata la gestione dell'utensile sostitutivo dell'utensile usurato e l'utensile montato è
un sostituto di T101 il parametro HX conterrà il T… dell’utensile effettivamente montato.

2.23.6 Lettura quote reali (G105)

La G105 Trasferisce nei parametri quote assi le quote fisiche attuali di tutti gli assi della macchina.
Attiva solo nel blocco, con arresto.

Con la G105 le quote rilevate (riferite all'origine e correzioni attive al momento) sono trasferite nei
parametri quote assi. Il trasferimento delle quote avviene per tutti e soli gli assi continui, inclusi gli
assi non vivi.

Attenzione:
La quota trasferita è quella reale misurata, e non quella comandata. Queste due quote
possono essere diverse per errori di posizionamento (che comunque devono essere molto
piccoli per rientrare sotto la soglia di posizionamento).
Per esempio, se si comanda X10 e l'asse si porta alla quota 9,998 la G105 acquisisce la quota
9,998 e non la quota 10.

37
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

2.23.7 Programmazione radiale (G106)

Modale, sempre attiva al reset per frese, annulla ed è annullata da G107.


Questa funzione è usata sui torni, quando si vuole forzare la programmazione radiale. Sulle frese non
è usata in quanto è automaticamente attiva al reset. Dopo G106 la programmazione dell'asse X e del
parametro J sono sul raggio. Per l'esempio vedere G107.

2.23.8 Programmazione diametrale (G107)

Funzione specifica per torni.


Modale, attiva al reset nel caso di torni, annulla ed è annullata da G106.
Dopo G107 la quota X e il parametro J ad essa associato sono considerati come diametrali (ossia
provocano uno spostamento fisico della metà). Esempio (valido nel caso di tornio):

N1 G107
N2 G0 X10 (l'asse X va alla quota 5, diametro 10)
N3 G106 (programmazione radiale)
N4 X10 (l'asse X va alla quota 10, diametro 20)
N5 G107 X10 (l'asse X va alla quota 5, diametro 10)

2.23.9 Abilita moto assi con allarme CNxx12 (G119)

Per consentire il movimento degli assi in semiautomatico o in jog con rilevatori in allarme (tipo
CNxx12) è stata introdotta la G119, che ha queste caratteristiche:
 Ha effetto solo se programmata da una riga di semiauto (MDI)
 E’ modale, trasparente al reset
 Se G119 attiva sono ignorati gli allarmi rilevatori tipo 12
 E’ automaticamente resettata se si lancia un programma automatico o se si tenta di eseguire
un qualsiasi sottoprogramma (anche di M speciale) da semiautomatico

Per muovere gli assi in jog o semiauto con allarmi 12 occorre:


 Entrare in semiautomatico
 Comandare G119, premere Enter e poi START
 Dare RESET (scompaiono gli allarmi rilevatori)
 Operare normalmente in semiauto o jog

Attenzione:
Con G119 attiva i fine corsa software sono disabilitati su tutti gli assi, perché i rilevatori
possono essere a quote non significative e quindi possono impedire il movimento. Spetta
all'operatore mettere in atto la massima cautela per evitare collisioni e danni.
In ogni caso, per cautela, Z32 attiva automaticamente la condizione di TEST (riduzione
del rapido a 1/5) quando G119 è attiva.

2.23.10 Limitazione del campo di lavoro (G123)

Con la G123 è possibile limitare il campo di lavoro per le quote programmate degli assi continui
(numero logico da 0 a 12).

Attenzione:

38
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

La G123 agisce solo sulle quote finali programmate di movimenti lineari. Non è prevista
l'intersezione del movimento con la quota limite, ma solo la sostituzione (o il test a seconda
della modalità) della quota finale programmata.

Per ogni asse continuo è definibile un campo di lavoro, definito da un estremo superiore ed un estremo
inferiore (detti anche limite positivo e limite negativo), che limita la quota programmata dopo che
ha subito tutte le trasformazioni attive (G121, fattori di scala ecc.).

All'accensione della macchina e al reset, le limitazioni dovute alla G123 vengono annullate.

Impostazione dei limiti:


Le funzioni G123 KA1 e G123 KA-1 permettono di impostare i limiti positivi (KA1) e negativi (KA-1):
G123 KA1 [X...] [Y...]
Imposta i limiti positivi sugli assi continui X.., Y.. e attiva limitazione positiva.
G123 KA-1 [X...] [Y...]
Imposta i limiti negativi sugli assi X.., Y.. e attiva limitazione negativa.

 La limitazione viene programmata tramite il nome dell’asse continuo al quale si applica


la limitazione.
 Le limitazioni programmate sono sempre riferite all'origine attiva.
 Se programmando G123KA1 o G123KA-1 mancano alcune quote di assi continui, le
corrispondenti limitazioni vengono lasciate invariate.
 Al reset tutte le limitazioni vengono annullate.
 Possono essere attive singolarmente la limitazione positiva o quella negativa oppure
possono essere attive contemporaneamente.
 Per ciascun asse deve essere (limite positivo) > (limite negativo)
 Se al momento della programmazione di G123KA1 o di G123KA-1 gli assi sono già oltre i
limiti viene allarme CN5514

Modalità di funzionamento
G123 KA3
Attiva modalità di allarme: se una delle quote programmate è fuori campo viene
l’allarme CN5614
G123 KA4
Ripristina modalità normale, le quote vengono limitate al campo di lavoro. Questa
è la modalità di default, cioè quella normalmente attiva se non programmato
diversamente. Se viene programmato un movimento fuori dei limiti, il movimento
viene arrestato quando viene raggiunto il limite impostato senza generare allarmi.
G123 KA5
Abilita modalità di arresto: se una o più quote programmate sono fuori campo arresta
tutti i movimenti e li riprende solo quando tutte le quote programmate sono rientrate
nel campo di lavoro. Nel momento in cui le quote programmate rientrano tutte nel
campo di lavoro sono considerati programmati tutti gli assi che siano stati bloccati
nella fase precedente.

Attenzione: se durante la fase di arresto si muovono più di 5 assi, alla ripresa dei
movimenti sono considerati programmati più di 5 assi e quindi viene allarme
CN2C14 PARAMETRI INCOMPATIBILI.

Regole e vincoli per G123


 La G123 deve essere programmata in una riga a sè stante, altrimenti viene allarme CN2C14
PARAMETRI INCOMPATIBILI
 Se viene programmato un cerchio (G2 o G3) con G123 attiva viene dato allarme CN5714
CERCHIO+G123
 Se è programmata G53 con G123 attiva o viceversa, G123 con G53 attiva, viene l’allarme
CN5A14 G123+G53
 Se è programmata G105 con G123 attiva viene l’allarme CN5914 G123+G105
39
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Disattivazione
Programmando G123KA0 si eliminano sia la limitazione positiva che quella negativa, ma rimangono
attive tutte le predisposizioni (limiti, KA3 o KA4) programmati.
Per ripristinare la limitazione positiva precedente basterà programmare G123KA1 senza nessuna quota
e per ripristinare quella negativa G123KA-1 senza nessuna quota.

40
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

3. CORREZIONE RAGGIO UTENSILE

Quando si programma un profilo da contornare col controllo numerico, non si conosce in genere il
raggio dell'utensile col quale il profilo verrà eseguito: l'utensile infatti può variare per molte ragioni
(disponibilità, affilatura, differente utensile in sgrossatura e in finitura ...).
Lo Z32 permette di programmare il profilo del pezzo ed esegue automaticamente le modifiche al
profilo in funzione del raggio effettivamente disponibile.
È chiaro che il percorso del centro fresa (ossia i moti degli assi della macchina) è diverso da quello
che sarebbe necessario per descrivere con un utensile puntiforme (R=0) il profilo programmato.
Nell'esempio di figura è indicato il percorso del centro fresa (A...G) corrispondente al profilo
programmato (1...6).

Si noti che:
 gli spigoli interni possono non essere lavorati a causa del raggio utensile (zone 'X')
 sono inseriti alcuni tratti di raccordo (non programmati nel profilo originale) attorno agli
spigoli esterni (B e D)
 alcuni tratti programmati sono eliminati perché non sono lavorabili con il raggio utensile
programmato (tratto 5)

In generale, se in un programma è attivata (con G41/G42) la correzione raggio, lo Z32 esegue, su ogni
tratto del profilo programmato, una serie di operazioni per trasformarlo nel percorso di centro fresa.

Tali operazioni possono portare all’eliminazione di alcuni tratti di profilo perché non lavorabili con il
raggio impostato. L’eliminazione di alcuni tratti di profilo impone al controllo di “esplorare” la
traiettoria in avanti in cerca di eventuali tratti non lavorabili.

La funzione G109 permette di impostare quanti tratti vengono esplorati in avanti per cercare i tratti
non lavorabili:

G109A tre tratti (attiva al reset)


G109B quattro tratti
G109C cinque tratti
G109D sei tratti
G109E sette tratti

41
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

OX1 OY1 OZ1 …


T1M6 G3 I0 J0 RA85 KA1
S3000 M3 F1000 G1 X-80 Y60 QF180
G109E Y50
R6 G1 QF0 KA1
G0X0 Y40 G3 I0 J0 RA85
G41 X10 Y40 QF90 G1 X-45 Y40 QF0
G2 I25 J40 Y30
G1 X60 Y45 QF0 X-55
Y60 Y20
X40 X-45
Y80 Y5
X5 Y90 G1 G2 I-30 J0 RA5 QF-135
Y95 G1
X10 X-20 Y-15 QF0
Y100 Y20 RR-5
X-10 G1 QF0 KA1
Y95 G3 I0 J15 RA6 KA1
X-5 G1 X25 Y20 QF0
Y90 G1 QF90
X-10 G2 I25 J40 X10 Y40
Y89 G40 X0 Y40
G1 KA1 M2

Nella figura viene mostrato un esempio di profilo eseguito con un utensile di raggio 2 (sulla sinistra)
e con un utensile di raggio 6 (sulla destra). Si può notare come nella lavorazione di destra, in seguito
alla programmazione della G109E, molte parti del profilo non vengano lavorate.

42
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

3.1 ERRORE DI “PROFILO INCOMPATIBILE”

Quando un profilo non è eseguibile in correzione raggio, può essere segnalato un errore di PROFILO
INCOMPATIBILE. In questi casi, al fine di visualizzare il tratto che genera il problema, è possibile
programmare la funzione G109R ,che forza l'inserimento di un raccordo anche intorno allo spigolo
interno (facendo una specie di fiocco) e quindi elimina l'errore PROFILO INCOMPATIBILE.

La G109R viene annullata dalla G109N


Si faccia attenzione che, con G109R attiva, l'utensile può entrare nel profilo programmato e possono
rimanere raccordi lunghi sugli spigoli interni in caso di profilo complesso.

Attenzione: normalmente la programmazione della G109R serve solamente per capire quali sono
le situazioni che generano l’errore di PROFILO INCOMPATIBILE in correzione raggio. Non è una
funzione da utilizzare nella programmazione normale.

3.2 ATTACCO AL PROFILO


Per far entrare lo Z32 nel modo “CORREZIONE RAGGIO” occorre programmare G41 (pezzo a destra) o
G42 (pezzo a sinistra).
Dopo le funzioni G41/G42, le quote programmate non dovranno più essere interpretate come quote
a cui si deve portare il centro fresa, ma come quote del profilo del pezzo.

43
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

3.2.1 Attacco circolare: quote e pendenza finali (G41/G42 X.. Y.. QF..)

Insieme alla funzione preparatoria G41 (inizio correzione raggio con pezzo a destra) o G42 (inizio
correzione raggio con pezzo a sinistra) sono programmate:
 le due quote finali del movimento di attacco (primo punto del profilo)
 la pendenza finale del tratto di raccordo
La pendenza finale è programmata come descritto al capitolo della Geometria.

Il raccordo al profilo è fatto con un arco di cerchio che porta la fresa a sfiorare il punto programmato,
pronta per eseguire un tratto che parta dal punto programmato con pendenza QF.
La lunghezza e la curvatura dell'arco di cerchio sono calcolate automaticamente dal CN e dipendono
dal punto di partenza del raccordo.
Negli esempi che seguono è illustrato il movimento dell'utensile per diversi attacchi al profilo in
tangenza
...
Y G0 X-20 Y30
... G41 X0 Y20 QF0
Y G0 X0 Y40 G1 X50
G41 X0 Y20 QF0 ...
30
40 G1 X50
...
20

20

0
X
0
X

... -20 0

G0 X-45 Y-15
...
G41 X-30 Y0 QF90 G0 X-50 Y0
G2 I0 J0 X0 Y30 G41 X-30 Y0 QF90
Y G1 X50 G2 I0 J0 X0 Y30
... Y
G1 X50
...

0
X
X

-15
R30
R30

-45 0 -50 0

In alcuni casi può essere necessario calcolare la pendenza finale del movimento di attacco:
Y
Y

20
30°
30°
R40

X
X

R40
-20 0

... ...
G0 X<-20*CS30> Y<20*SN30> G0 X-20 Y0
G42 X<-40*CS30> Y<40*SN30> QF60 G42 X<-40*CS30> Y<40*SN30> QF60
G2 I0 J0 X40 Y0 G2 I0 J0 X40 Y0
G1 Y-20 G1 Y-20
... ...

44
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

I pregi di questo modo di attacco al profilo sono che, se la pendenza è programmata correttamente,
l'utensile entra sul profilo lungo la tangente e quindi 'segna’ il profilo in modo minimo.
D'altra parte si ha l’inconveniente che il calcolo di QF può non essere semplicissimo

3.2.2 Attacco rettilineo senza quote (G41/G42)


Si può programmare per esempio una sequenza di questo tipo:
...
N20 G41 (senza nessuna quota)
N21 G1 X10 Y4 (G1 può essere omesso, sono obbligatorie entrambe le
quote)
N22 ...

Il blocco N21 specifica il primo punto del profilo da raggiungere in correzione raggio.
Il blocco N22 contiene il primo movimento in correzione raggio, che può essere uno qualsiasi
di quelli ammessi dalla geometria di Z32 a partire dal punto N21.
Il movimento di attacco al profilo porterà l'utensile tangente al profilo nel punto programmato
in N21 (il centro dell'utensile sarà sulla verticale del profilo nel punto N21, a una distanza
pari al raggio).

Dopo la programmazione di G41/G42 senza quote normalmente viene programmato un tratto di


profilo in G1, G2 o G3.

...
...
G0 X... Y...
G0 X... Y...
G41 G41
G1 X-40 Y10 G1 X<-40*CS30> Y<40*SN30>
X0 Y30 G2 I0 J0 X0 Y40
Y
X50 G1 X50
... ...
Y

40
30

R40
10

0 30°
X
0
X

-40 0

45
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

3.2.3 Attacco rettilineo con quote finali (G41/G42 X..Y..)


Sono programmate solo le quote del punto iniziale del profilo.
Il movimento iniziale di raccordo è un segmento di retta, che viene trattato a tutti gli effetti come
un elemento del profilo e quindi può venire accorciato se interferisce con altri tratti del profilo.

Tale tipologia di attacco è diversa da quella senza quote, come chiarisce l’esempio :

... ...
G0 X0 Y40 G0 X0 Y40
Y
Y G41 G41 X0 Y20
G1 X0 Y0 X50
40
40
X50 ...
...

20 20

0 0
X X

0 0

G41/G42 senza quote G41/G42 con quote finali

Come si nota, nel caso di attacco G41/G42 con quote finali, il tratto di avvicinamento viene
considerato a tutti gli effetti come un tratto di profilo. Si noti anche che, a differenza dell’attacco
senza quote, con questa tipologia di attacco possono essere lasciate zone non lavorate del profilo.

46
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

3.3 DISTACCO DAL PROFILO


Situazione analoga all'attacco al profilo è quella del distacco dal profilo: anche in questo caso il CN
cambia il significato assegnato alle quote programmate, ma in senso contrario, ossia passa
dall'interpretazione delle quote come quote del profilo a quote del centro fresa.
La funzione “G” da usare è la G40.
Nel primo blocco di movimento dopo G40 si deve programmare il tipo di movimento (G0, G1, G2 o
G3).

3.3.1 Distacco circolare in tangenza (G40 X.. Y..)

Con G40 X Y il CN esegue un tratto circolare tangente all'ultimo tratto del profilo eseguito e porta il
centro fresa sul punto finale indicato.

G41 ...
...
G41 ... ...
... G1 X0 Y20
Y
... G40 X20 Y30
Y
G1 X0 Y20 ...
40 G40 X0 Y40
... 30

20
20

0
0 X
X

0 20

G41 ...
... G41 ...
... ...
G2 I0 J0 X30 Y0 ...
Y
Y G2 I0 J0 X30 Y0
G40 X60 Y0
G40 X50 Y-15
...
...

0
X
X
R30
R30 -15

0 50
0 60

47
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

3.3.2 Distacco lineare (G40)


Se non si programmano le quote finali del raccordo viene cessata la correzione raggio direttamente
nel punto finale del profilo programmato: il blocco successivo avrà le coordinate del centro fresa
come punto di partenza.

G41 ...
... G41 ...
... ...
G1 X0 Y30
...
X40 Y10
G2 I0 J0 X30 Y0
G40
X... Y... G40
Y
... X... Y...
Y
...

30

10 R30

0
X
X

0 40

Il movimento successivo alla programmazione della G40 senza quote può essere un qualsiasi
movimento in G0, G1 G2 o G3.

Se si programma alla chiusura di una correzione raggio G40 accompagnato da G0 e una quota, per
esempio:
N30 G40 G0 Z20
Viene allarme di programmazione CN 1D14.

3.4 GESTIONE DELLA VELOCITÀ IN CORREZIONE RAGGIO (G109V, G109U)


La FEED programmata è in generale la velocità con la quale il programmatore vuole che il profilo sia
contornato dall'utensile. Normalmente il CN mantiene (compatibilmente con i limiti dinamici delle
accelerazioni consentite) costante e pari alla F programmata la velocità del centro fresa.

In correzione raggio, normalmente il programmatore desidera mantenere costante la velocità di


contornatura del profilo, che è quella della periferia della fresa, piuttosto che del centro.

Per tratti rettilinei la velocità del centro e della periferia dell'utensile sono uguali, mentre ci sono
differenze per tratti circolari.
Si ha un incremento della velocità di traslazione della periferia rispetto al centro negli archi interni,
e una diminuzione negli archi esterni.

Normalmente, durante la correzione raggio, lo Z32 mantiene il più possibile costante la velocità di
traslazione della periferia piuttosto che del centro fresa: in ogni caso sono però ESCLUSI aumenti di
velocità del centro fresa rispetto alla velocità programmata.

Se si desidera invece mantenere la velocità del centro fresa pari a quella programmata e disattivare
il controllo sulla velocità periferica dell’utensile, occorre programmare G109U.

La funzione G109V riattiva il controllo sulla velocità periferica dell’utensile in correzione raggio. La
modalità G109V è attiva al reset, ed è quindi l’impostazione di default.

48
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

3.5 RAGGIO ZERO O NEGATIVO


È consentito che il raggio utensile sia zero o negativo: nel caso di raggio zero si avrà l'esecuzione del
profilo programmato, mentre con raggio negativo si ha l'equivalente di uno scambio tra G41 e G42.
Il raggio negativo può avere senso nel caso che il profilo sia già stato calcolato (per esempio da un
sistema di programmazione automatica) per il raggio fresa tipico, e che la correzione raggio sia fatta
dall'operatore direttamente in macchina per correggere l'eventuale usura o differenza dell'utensile
impiegato.
Si faccia ATTENZIONE che in questo caso, essendo il raggio comunicato allo Z32 fittizio e non reale,
si perde l'adattamento della velocità del centro fresa e la costanza della velocità di traslazione
periferica: nei blocchi dove questo adattamento occorre, dovrà essere riprogrammata la FEED.

Attenzione: nel caso di raggi utensile molto piccoli (inferiori a circa 3 micron) si possono avere
errori sul profilo interpolato di un massimo di circa 2 micron, che dovrebbero essere tollerati
senza difficoltà in qualsiasi applicazione, in quanto inferiori agli altri errori che influiscono sul
risultato finale (errori di inseguimento, di temperatura, di geometria utensile ecc.). Se però non
sono tollerati errori di questa entità, si raccomanda di non programmare raggi utensili molto
piccoli (ossia si deve programmare il raggio utensile fisico e non la correzione rispetto al raggio
teorico.

3.6 RAGGIO DI RACCORDO SU SPIGOLI ESTERNI (G109S, G109T)


Nel normale funzionamento della correzione raggio, sugli spigoli esterni viene inserito un raggio di
raccordo.
Con G109S è possibile forzare il sistema di correzione raggio di Z32 a non introdurre l’arco di raccordo
ma a proseguire il segmento fino alla bisettrice dello spigolo

La G109S ha efficacia solo su spigoli generati da due segmenti rettilinei. Se uno dei due tratti è un
arco di cerchio (che impedirebbe comunque l’arrotondamento) si ha la normale introduzione dell’arco
di raccordo.

G109S (modale, non attiva al reset) forza la correzione sulla bisettrice, mentre con G109T (modale,
attiva al reset) si ripristina il normale funzionamento di Z32 con l’introduzione dell’arco di raccordo.

G109T G109S

Attenzione: Per evitare grossi allungamenti dei tratti programmati, la modalità G109S elimina
solamente i raccordi esterni inferiori a 91 gradi.

G109S

49
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

4. RTCP (ROTATING TOOL CENTRE POINT)

4.1 G117 RTCP PER TESTE ROTATIVE

La G117 gestisce teste mandrino montate su assi rotativi. La testa può ruotare intorno ad un solo asse
(testa monorotativa) oppure intorno a due assi in cascata, il trainante ed il trainato (testa birotativa).

La G117 calcola la traslazione XYZ generata dalle rotazioni della testa.

4.1.1 G117 Statica (G117 KA2)

La G117 statica genera degli offset (interpretabili come traslazioni delle origini XYZ) che vengono
sommati alle quote video degli assi lineari (XYZ).
La G117 statica non induce nessun movimento di trascinamento degli assi lineari (XYZ) in funzione del
movimento degli assi rotativi, effettua solamente una traslazione origini.

La G117 statica viene usata ad esempio per lavorazioni a tre assi con testa ad inclinazione fissa.
Quando si attiva la G117 statica (con G117KA2), gli assi lineari rimangono fisicamente immobili, ma
le loro quote a video cambiano in funzione della posizione degli assi rotativi.

Attenzione: Con G117 statica attiva, un movimento di assi testa rotativi non provoca alcuno
spostamento degli assi lineari XYZ né un cambiamento delle quote a video.
Dopo aver mosso gli assi rotativi testa, se si vuole riaggiornare la correzione origini dovuta
all’inclinazione della testa, si deve nuovamente programmare la G117 statica con G117KA2.

La sintassi della G117 statica è la seguente:

G117 KA2 [RA..] [I.. J.. K..]

G117KA0 annulla la programmazione di G117 KA2

 RA: non programmato o RA0 vengono attivati i parametri del mandrino tipo 0 (nelle tarature
di macchina possono essere inseriti fino a tre set di parametri relativi a teste mandrino
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1 vengono attivati i parametri del mandrino tipo 1
RA2 vengono attivati i parametri del mandrino tipo 2
 I, J, K spostano il punto intorno al quale viene fatta la rotazione. Tali valori vengono sommati
alla distanza fra il naso mandrino e la punta dell’utensile lungo i tre assi lineari (XYZ). Per il
loro calcolo si deve pensare la macchina nella configurazione con assi rotativi al loro punto
di zero. Vedere più avanti per una descrizione dei parametri I J K

Esempio di programmazione, per G117KA2 con testa monorotativa (asse rotativo B, attorno a Y).
Gli assi lineari su cui agiscono le correzioni G117 sono X e Z:

G0X0Y0Z0
G0B30 (inclina la testa di 30 gradi)
G117KA2 (calcola offset X e Z e li somma alle quote video)

lavorazione X…Y…Z… con testa inclinata a 30 gradi.

G117KA0 disattivazione della G117 statica
50
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

La G117 KA2 non ruota il sistema di coordinate XYZ.


Per attivare la rotazione degli assi XYZ in funzione dell’orientamento testa è necessario combinare
l’uso della G117 e della G116.

4.1.2 Lavorazione su piani inclinati (G117KA2 + G116)

E’ possibile combinare le funzioni G116 e G117 per lavorare piani comunque inclinati con testa
rotativa inclinata. E’ molto utile a questo scopo la programmazione della G116 KA2 che determina
la rotazione da assegnare agli assi XYZ, in funzione della rotazione testa, in modo tale da allineare
l’asse Z del sistema ruotato con l’asse utensile.

Attenzione: La G116 KA2 è disponibile solo se la G117 è definita come generalizzata in taratura.
Consultare il costruttore per ulteriori dettagli.

Nell’esempio che segue, supponiamo di avere una testa birotativa con assi B (trainato) e C (trainante).

30 2
3 40 30

Z
40 Y X
Y

30
Y X
Z Z

30
30

X
Y
Y X

Z Z
X

5
4 40
30

30 40
1) Testa verticale:
G0 B0 C0
G117KA0
G116KA0 Z
2) Faccia laterale destra: C+
G0 B90 C0
G117 KA2
G116 X40 Z-30 KA2
3) Faccia posteriore:
G0 B90 C90
G117 KA2
G116 Y30 Z-30 KA2 Y Z
4) Faccia laterale sinistra: B+ X
G0 B90 C180
G117 KA2
G116 X-40 Z-30 KA2 Y
5) Faccia anteriore:
G0 B90 C270
G117 KA2
G116 Y-30 Z-30 KA2

51
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

4.1.3 G117 dinamica (G117)

La G117 o G117KA1, che sono equivalenti, mantiene il punto di contatto tra utensile e pezzo quando
viene ruotato un asse di un testa rotativa.
A differenza della G117 statica, una rotazione della testa, con G117KA1 attiva, induce dei movimenti
trascinati sugli assi lineari (XYZ).

La G117 dinamica viene per esempio usata per lavorazioni a 4 o 5 assi generati da sistemi CAM.

Con G117KA1 attiva, le quote mostrate a video degli assi lineari (XYZ) sono corrette in funzione
orientamento della testa.

Con G117 dinamica attiva, programmando lo spostamento di un asse rotativo, vengono mossi anche
gli assi lineari per mantenere fermo il punto di contatto col pezzo.
Sono possibili movimenti di assi rotativi e lineari insieme.

Sintassi di programmazione della G117 dinamica:

G117 [KA1] [RA..] [I.. J.. K..]

G117KA0 annulla la programmazione di G117

Attenzione: Se il parametro KA non viene programmato, viene preso come default


l’attivazione della G117 dinamica, ovvero:
G117 equivale a G117KA1

 RA: non programmato o RA0 vengono attivati i parametri del mandrino tipo 0 (nelle tarature
di macchina possono essere inseriti tre set di parametri relativi a teste mandrino
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1 vengono attivati i parametri del mandrino tipo 1
RA2 vengono attivati i parametri del mandrino tipo 2

 I, J, K spostano il punto intorno al quale viene fatta la rotazione. Tali valori vengono sommati
alla distanza fra il naso mandrino e la punta dell’utensile lungo i tre assi lineari (XYZ). Per il
loro calcolo si deve pensare la macchina nella configurazione con assi rotativi al loro punto
di zero.

Esempio di programmazione di G117KA1 (assi testa rotativa A e B).

G0X0Y0Z0
G117 (attivazione RTCP testa dinamico)

X…Y…Z…A…B…
X…Y…Z…A…B…
Lavorazione 5 assi in continuo …

G117KA0 disattivazione G117

52
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

4.1.4 Uso della G117

Disattivazione della G117


La G117 (statica o dinamica) si disattiva tramite:
G117 KA0

Parametri I,J e K in G117


Il sistema di RTCP-testa, attivato con G117, consente la rotazione della testa mantenendo
ferma la punta virtuale dell’utensile.
Per utensili sferici, il più delle volte ciò che si desidera non è che rimanga ferma la punta
utensile, ma piuttosto il centro dell’utensile, che è spostato del raggio utensile R.
È possibile programmare, al momento dell’attivazione della G117, una modifica alle
lunghezze dei bracci di rotazione con i tre parametri I J K, che agiscono rispettivamente sugli
assi X Y e Z.

I valori dei parametri I J e K, sono riferiti alla condizione di assi rotativi nella posizione zero
Per esempio, per una testa monorotativa verticale (l’utensile è lungo Z quando l’asse rotativo
è zero), la programmazione di G117 K10 equivale ad un accorciamento dell’utensile di 10 mm.
La programmazione di I J K è opzionale: se uno o più di questi parametri non sono
programmati, non viene modificata la lunghezza del braccio di rotazione lungo l’asse relativo.

G117 K10

Ad esempio: attivazione della G117 dinamica con


Z accorciamento utensile:

X K

Attenzione:
 Il reset annulla sia G117 dinamica che statica
 La G117 statica è incompatibile con la G117 dinamica. Se si programma G117 mentre è attiva
G117KA2, oppure G117KA2 mentre è attiva G117, si ha allarme CN2C14 (parametri
incompatibili)
 Non si può cambiare origine sugli assi rotativi trainato/trainante con G117 dinamica attiva.
Le origini possono solo essere modificate quando G117 non è attiva.
 G105 non funziona se G117, sia statica che dinamica, è attiva
 La G117 non è compatibile con le formule permanenti né con i movimenti di copiatura (G111).
 G117 dinamica è incompatibile con G43/G44/G45, diversamente si genera allarme CN5B14.
 G53 annulla la G117KA2
 Se si programma G117KA2 o G117 con G53 attiva si ha allarme CN3914 (formule + G53/G54)
 La G54, che elimina la G53, non ripristina l’eventuale G117 statica attiva in precedenza alla
G53: G117KA2 deve essere programmata nuovamente per riattivarla.

NOTA IMPORTANTE SU RTCP:


Al momento dell’attivazione delle funzioni RTCP (G116 G117 G118 G122) è necessario
che i tre assi lineari (generalmente X Y Z) sui quali agiscono le trasformazioni dell’RTCP
siano tutti vivi, altrimenti viene emesso un allarme CN7D14 (RTCP + Asse non vivo). Lo
stesso allarme viene emesso se si richiede di abbandonare (G29) uno degli assi lineari che
interessa l’RTCP mentre una funzione RTCP è attiva.

Per evitare tali allarmi gli assi lineari interessati all’RTCP devono essere tutti assi vivi.
53
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

4.1.5 Attivazione volantini degli assi rotativi in G117 (G124)

La G124 permette di attivare i volantini degli assi rotativi legati a G117 mentre la stessa G117 è
attiva.
Lo scopo è di poter muovere a mano la testa della macchina durante la lavorazione del pezzo in
automatico e semiautomatico.
Mentre è attiva G124 non si possono programmare le quote degli assi rotativi legati a G117 (asse
rotativo per testa monorotativa, assi trainante/trainato per testa birotativa).

Programmazione di G124
Sintassi:
G124 KA1 attiva i volantini collegati agli assi rotativi legati a G117; KA1 non è necessario
G124 KA0 disattiva la G124

Regole e vincoli per G124


 All'accensione ed al reset la G124 è disabilitata.
 La programmazione di G124 ha effetto solo se G117 è attiva.
 Se viene programmata G124 con G117 non attiva l'effetto è nullo, anche se non viene dato
nessun allarme.
 Le due attivazioni: G124 oppure G124KA1 sono equivalenti
 Se mentre è attiva G124 viene disattivata G117 si ha l'immediata disattivazione anche di
G124.
 Se mentre è attiva G124 viene programmato uno degli assi rotativi legati a G117 si ha il
messaggio di allarme CN5814 G124+ASSE ROTATIVO DI G117
 Ne consegue quindi che l'unico modo di muovere gli assi rotativi legati a G117 con la G124
attiva è quello di usare i volantini ad essi collegati.

Disattivazione
Programmando G124KA0 si ha la disattivazione dei volantini legati agli assi rotativi di G117 e
tali assi possono essere da ora in avanti di nuovo programmati.

54
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

4.2 G118 RTCP PER TAVOLE GIREVOLI

La G118 gestisce tavole girevoli. La tavola girevole può ruotare intorno ad un solo asse (tavola
monorotativa) oppure intorno a due assi in cascata, il trainante ed il trainato (tavola tilting).

La G118 calcola lo spostamento sugli assi lineari generato dalle rotazioni della tavola.
Esistono due modalità di utilizzo della G118

4.2.1 G118 statica (G118 HR2)


Gestisce la rotazione della tavola girevole impostando una traslazione dell’origine pezzo senza
ruotare il sistema di riferimento.
Questo modo di gestire la tavola è utile quando la tavola serve per orientare il pezzo da lavorare e
non vengono effettuate lavorazioni con tavola in movimento continuo.

Quando viene mosso un asse tavola, gli assi lineari NON vengono mossi insieme alla tavola,
programmare G118 HR2 imposta solamente una traslazione dell’origine pezzo in funzione
dell’orientamento degli assi rotativi tavola al momento della programmazione della G118 HR2.

La sintassi della G118 HR2 è la seguente:

G118N HR2 [KA..] [RA..] [X..Y..Z..]


oppure
G118{nome asse} HR2 [KA..] [RA..] [X..Y..Z..]

G118E annulla la programmazione di G118 HR2

 KA (opzionale) parametro di selezione


KA1: attiva la gestione del parametro KD (costante additiva) sugli assi rotativi legati
a G118.
La G118 KA1 permette, alla sua attivazione, di eliminare dalla quota iniziale dell’asse
rotativo (o degli assi rotativi se caso birotativo) collegato a G118 il valore
eventualmente espresso tramite il parametro KD, costante additiva per singolo asse
(ad esempio KDC è il parametro per un asse C)

KA2: prestazione speciale: permette di attivare la G118 su un differente asse rotativo


(tavola) che non è quello associato alla G118 nelle tarature (solo caso monorotativo).

 RA (opzionale): non programmato o RA0 vengono attivati i parametri del tavola tipo 0 (nelle
tarature di macchina possono essere inseriti tre set di parametri relativi a tavole
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1: vengono attivati i parametri della tavola tipo 1
RA2: vengono attivati i parametri della tavola tipo 2

 Programmando “G118N” l’RTCP tavola viene attivato considerando tutti gli assi rotativi
definiti in taratura. Nel caso di tavola birotativa, entrambi gli assi sono considerati.

 Programmando “G118{nome asse}” l’RTCP tavola viene attivato considerando solo l’asse
specificato. Questa programmazione può essere utile per tavole birotative, per poter attivare
l’RTCP solamente su uno dei due assi rotativi.

Ad esempio: supponendo di avere una tavola tilting con asse B come bascula
(trainante) e asse C come tavola girevole (trainato), per attivare l’RTCP solamente
sulla tavola girevole si potrà programmare:
G118C

55
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

 I parametri X, Y e Z modificano le coordinate del centro tavola. Possono essere utilizzati per
correggere la posizione del centro tavola.

La funzione G118 HR2 attiva una traslazione del sistema di riferimento in funzione della posizione
degli assi rotativi legati alla tavola, ad esempio, nel caso di tavola rotativa C.

In altre parole, la nuova origine pezzo è calcolata come se l’origine, solidale col pezzo, venisse
trascinata insieme alla tavola.

Attenzione: il calcolo dello spostamento dell’origine è sempre fatto considerando la posizione


degli assi tavola a zero gradi come posizione iniziale del calcolo.
Ovvero, la nuova origine è calcolata considerando che la tavola è stata ruotata dalla posizione a
zero gradi fino alla posizione attuale.
E’ possibile modificare la posizione iniziale utilizzata per il calcolo della traslazione origine in
due modi:
 Attivando un’origine supplementare sugli assi tavola, quindi ridefinendo la posizione di
zero della tavola
 Utilizzando la G118 HR2 KA1 e i parametri addizionali KD relativi agli assi tavola

Un esempio con tavola girevole (asse C) che ruota attorno all’asse Z:

G0 C0 X0 Y0 F1000
Y G1 X100 (1)
X200 (2)
Y50 (3)
X100 (4)
Y0 (5)
X0 (6)
G118C HR2 G0 C120
G118C HR2
11 G0 X0 Y0 (7)
G1 X100 (8)
12 10 X200 (9)
Y50 (10)
8 9 X100 (11)
Y0 (12)
G118E
X
7

6 5 3

1 2

56
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Attenzione: Con G118 HR2 attiva, un movimento di assi tavola non provoca alcuno spostamento
degli assi lineari XYZ né un cambiamento delle quote a video, né un ricalcolo delle origini.
Dopo aver mosso gli assi rotativi tavola, se si vuole riaggiornare la correzione origini dovuta
all’orientamento tavola, si deve nuovamente programmare la G118 statica con G118HR2.

4.2.2 G118 dinamica (G118 HR1)


La funzione G118 HR1 permette di effettuare movimenti coordinati di assi rotativi e assi lineari.

La sintassi della G118 HR1 è la seguente:

G118N HR1 [KA..] [RA..] [X..Y..Z..]


oppure
G118{nome asse} HR1 [KA..] [RA..] [X..Y..Z..]

G118E annulla la programmazione di G118 HR1

 KA (opzionale) parametro di selezione


KA1: attiva la gestione del parametro KD (costante additiva) sugli assi rotativi legati
a G118
La G118 KA1 permette, alla sua attivazione, di eliminare dalla quota iniziale dell’asse
rotativo (o degli assi rotativi se caso birotativo) collegato a G118 il valore
eventualmente espresso tramite il parametro KD, costante additiva per singolo asse
(ad esempio KDC è il parametro per un asse C)

KA2: prestazione speciale: permette di attivare la G118 su un differente asse rotativo


(tavola) che non è quello associato alla G118 nelle tarature (solo caso monorotativo).

 RA (opzionale): non programmato o RA0 vengono attivati i parametri del tavola tipo 0 (nelle
tarature di macchina possono essere inseriti tre set di parametri relativi a tavole
mono/birotative, il parametro RA serve per la selezione di uno dei tre set di tarature)
RA1: vengono attivati i parametri della tavola tipo 1
RA2: vengono attivati i parametri della tavola tipo 2

 Programmando “G118N” l’RTCP tavola viene attivato considerando tutti gli assi rotativi
definiti in taratura. Nel caso di tavola birotativa, entrambi gli assi sono considerati.

 Programmando “G118{nome asse}” l’RTCP tavola viene attivato considerando solo l’asse
specificato. Questa programmazione può essere utile per tavole birotative, per poter attivare
l’RTCP solamente su uno dei due assi rotativi.

 I parametri X, Y e Z modificano le coordinate del centro tavola. Possono essere utilizzati per
correggere la posizione del centro tavola.

 G118E annulla la programmazione di G118HR1

Con la G118 HR1, una rotazione degli assi rotativi tavola comporta una rotazione del sistema di
riferimento rispetto al quale vengono riferite le quote programmate nel part-program. In altre parole,
il sistema di riferimento ruota insieme con la tavola.

L’esempio successivo spiega il comportamento: supponiamo che l’asse rotativo sia l’asse C e che
l’utensile sia allineato con l’asse Z:

57
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Y
Y'

G0 X100 Y0 C0
G118C HR1
G118C HR1 C30 (1)
X' G1 X200 Y0 (2)
4 3 Y50 (3)
X100 (4)
Y0 (5)
G118E
5 2
1
X

In altre parole:
Con G118 HR1, il sistema di riferimento ruota insieme alla tavola, pertanto è come se la terna XYZ
fosse fissata sul pezzo da lavorare e venisse ruotata insieme ai movimenti tavola.
Con G118 HR1 attiva pertanto
 i movimenti programmati X Y Z identificano la traiettoria che si desidera ottenere sul pezzo
stesso, perché sono riferiti ad un sistema di riferimento che resta solidale al pezzo.
 I movimenti programmati degli assi rotativi della tavola impostano invece l’inclinazione
relativa tra pezzo e utensile

58
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

4.3 COMPENSAZIONE ERRORI DI MONTAGGIO PEZZO SU TAVOLE ROTATIVE (G122)

Con la G122 si può compensare errori di montaggio pezzo su una tavola tilting.
La procedura da usare è la seguente:
 Si misurano e si calcolano (tipicamente in automatico con opportune sequenze di misura in
G61) gli errori di montaggio del pezzo
 Si muovono gli assi rotativi in modo da portare il pezzo in squadra (facce da lavorare allineate
con gli assi lineari)
 Eventualmente si attivano anche origini degli assi lineari in modo da compensare, in questa
posizione allineata, gli errori di montaggio
 Si attiva la G122, dando come parametri I J K gli errori di montaggio sui tre assi lineari
principali

Per esempio:
 Gli assi rotativi della tavola sono stati ruotati e posizionati in modo tale da allineare
correttamente le facce del pezzo da lavorare.
 In questa posizione, si misura un errore di centraggio del pezzo rispetto al centro tavola, ad
esempio pari a:
+1,5mm in X (ossia il pezzo è montato spostato verso la X positiva di 1,5mm)
+0.4mm in Y
-0.1mm in Z
 La correzione da inserire con la G122 è:
G122 I1.5 J0.4 K-0.1

Attivazione della G122


La sintassi di attivazione della G122 è la seguente:

G122 I… J… K…
dove:
I, J, K sono le componenti dell’errore di montaggio rispettivamente lungo gli assi X, Y, e Z.

Ci sono alcune annotazioni da fare:


 Non è ammessa la programmazione di origini con G122 attiva
 La G122 viene disattivata al reset
 I parametri IJK devono essere programmati tutti e tre, altrimenti viene allarme CN 2C14
PARAMETRI INCOMPATIBILI (vedere più sotto il caso di nessun parametro programmato per
attivare i parametri memorizzati in memoria permanente)
 La G122 è incompatibile con G43/G44/G45, diversamente genera allarme CN5B14.
 La G122 è trasparente al jog. È lecito attivare la G122 in semiauto e passare al jog senza
premere reset. Se per esempio in jog si muove un asse rotativo gli assi lineari si spostano
automaticamente come impostato nella G122. Se però si rientra in semiauto da jog con G122
attiva viene un reset che elimina la G122.
 Per consentire una buona flessibilità di uso della G122 i parametri programmati IJK sono
memorizzati in memoria permanente.
 Se si programma G122 senza parametri:
G122
vengono automaticamente ripristinati gli ultimi parametri programmati, che rimangono anche
dopo uno spegnimento macchina. Questa prestazione può essere di fondamentale importanza
in fase di ripresa della lavorazione dopo un’interruzione.

Disattivazione G122
Per disattivare la correzione di G122 si deve programmare:
G122 KA0

59
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

4.4 CONTROLLO VELOCITÀ PUNTA UTENSILE CON RTCP DINAMICO (G131)

La funzione G131 permette di mantenere costante la velocità relativa tra utensile e pezzo con moti
in RTCP dinamico.

La funzione G131 è modale.

Quando l’RTCP dinamico (testa o tavole) è attivo, questa funzione fa sì che il moto relativo tra pezzo
e utensile venga effettuato alla velocità F programmata anche quando si ha l'RTCP dinamico attivo.

Il formato generale per l’attivazione di G131 è:


G131 I…

 Il parametro “I” programmato sulla riga della G131, individua la massima velocità che possono
avere gli assi rotativi coinvolti nel movimento.
Se tale parametro non viene specificato la velocità massima sarà saturata al rapido.

Con G131 attiva, il CN mantiene la velocità relativa tra utensile e pezzo al valore della F
programmata, con le seguenti limitazioni:

 Nessun asse lineare coinvolto nel movimento può superare la sua velocità massima.
 Nel caso che, o per effetto della F programmata, o per effetto dei moti di trascinamento
indotti dall’RTCP, uno o più assi dovessero muoversi ad una feed maggiore del proprio rapido,
il movimento verrà eseguito a velocità più bassa per rispettare le limitazioni di tutti gli assi
coinvolti.
 Nessun asse rotativo legato all’RTCP può superare la velocità del suo rapido, oppure la
velocità espressa nel parametro “I”. Ad esempio, in blocchi con lunghezza del movimento
degli assi lineari nullo i rotativi andranno al loro massimo consentito (parametro “I” o rapido).

G131 non influenza G0

Quando si programma G131 vengono eliminate G93 o G94 o G95.

Per disattivare la G131 occorre programmare una delle funzioni G93, G94 o G95 a seconda della
tipologia di programmazione della feed richiesta.

60
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5. PROGRAMMAZIONE PARAMETRICA

5.1 GESTIONE DEI PARAMETRI

Un parametro definisce un valore numerico richiamato per mezzo di un identificatore.


Il CNC Z32 prevede a disposizione dell’utente tre tipi di parametri:

 Parametri letterali:
Sono costituiti da combinazioni di uno o due caratteri.
Nei nomi dei parametri letterali non possono essere utilizzati:
- lo SPAZIO (BLANK)
- i NUMERI
- i caratteri ! $ % ( ) * + , - . / ; < = >
- il primo carattere non può essere nessuno dei seguenti: “G”, “N”, “O”
I caratteri minuscoli sono utilizzabili.

PARAMETRI DI SISTEMA:
Esistono alcuni parametri che hanno un significato ben preciso nella programmazione dello
Z32 e che non sono utilizzabili per scopi diversi da quelli ai quali sono destinati. Tali parametri
sono definiti parametri di sistema e sono:

AA primo asse della terna impostata con G25


AB secondo asse della terna impostata con G25
AC terzo asse della terna impostata con G25
AE comunicazione da logica
AM misura primo asse
AN correzione tastatore primo asse negativo
AP correzione tastatore primo asse positivo
AU comunicazione a logica
BM misura secondo asse
BN correzione tastatore secondo asse negativo
BP correzione tastatore secondo asse positivo
CM misura terzo asse
DA traslazione primo asse
DB traslazione secondo asse
DC traslazione terzo asse
DM distanza di misura
F feed
HR appoggio coordinata polare raggio e G110
HT appoggio coordinata polare angolo e G110
HX appoggio coordinata cartesiana X e G speciali
HY appoggio coordinata cartesiana Y e G110
I coordinata centro primo asse
IR coordinata centro rotazione primo asse
IS coordinata centro specularità primo asse
J coordinata centro secondo asse
JR coordinata centro rotazione secondo asse
JS coordinata centro specularità secondo asse
K passo di filettatura e G110
KA parametro di selezione
KD fattore additivo singolo asse
KG codice GEPI-2 e sottoprogrammi permanenti
KM fattore moltiplicativo singolo asse
KP fattore di scala nel piano
KT fattore di scala terzo asse
L lunghezza utensile (fresa)
61
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

LX lunghezza utensile (tornio)


LZ lunghezza utensile (tornio)
M funzione ausiliaria
MA funzione ausiliaria
MB funzione ausiliaria
MC funzione ausiliaria
MS massima Speed in G96
P ordine della nurbs
QA pendenza ausiliaria
QF pendenza finale
QR angolo di rotazione
QS pendenza asse di specularità
R raggio utensile
RA raggio cerchio
RB smusso
RR raggio di raccordo
S speed
T utensile programmato
TA posto dell'utensile sul mandrino
TB posto dell'utensile programmato
TT tempo della sosta
# sincronizzatore part-program e logica ML
#A - #Q sincronizzatore part-program e logica ML

La D.ELECTRON potrà definire in seguito altri parametri per ampliare le prestazioni di


software dello Z32.

NOMI ASSI:
I nomi degli assi sono sempre definiti con una sola lettera a scelta tra le seguenti:
A B C D H P Q U V W X Y Z
Devono essere definiti nelle tarature di macchina.

PARAMETRI UTENTE
L’utente può definire in un programma un massimo di 60 “parametri letterali” per la
programmazione parametrica.
Sono vietate le seguenti combinazioni:

RQ SN CS AT radice quadrata, seno, coseno, arco-tangente


PI costante pi greco
PC CP conversione polari/cartesiane e inversa
IF condizionamento
EB interruzione riga evoluta

E’ normale utilizzare come parametri utente per la programmazione parametrica i


parametri costituiti dalla lettera H seguita da una seconda lettera, ad esempio HA,
HB, HC,…

 Parametri PAR[…]
E’ un vettore di 513 parametri. Da PAR[0] a PAR[512].
Il numero del parametro può essere il risultato di un’espressione, ad esempio:

HA10 HB5
PAR[6]30
PAR[HA + PAR[HB + 1]]100
Equivale a:
PAR[10+PAR[6]]100
Cioè:
PAR[40]100
62
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

L’uso dei parametri PAR[…] può sostituire l’uso dei parametri utente letterali in tutte le
situazioni. Tali parametri inoltre non sono soggetti ad alcuna limitazione nel massimo numero
di parametri utilizzabili.

 Parametri PAL[…]
Le modalità di uso sono le stesse del vettore PAR[…]
E’ un vettore di 513 parametri. Da PAL[0] a PAL[512].
Questi parametri sono solo INTERI e normalmente riservati allo scambio di informazioni tra il
PLC ed il part-program.
I valori da PAL[256] a PAL[512] sono di sola lettura.
I valori da PAL[0] a PAL[255] sono assegnabili da part-program. Quando ad un parametro
PAL[…] viene assegnato un numero non intero, tale numero viene arrotondato all’intero più
vicino.

5.1.1 Assegnazione di un valore numerico ad un parametro

L’assegnazione di un valore numerico ad un parametro si effettua con una programmazione del tutto
simile alla programmazione del movimento di un asse.

Ad esempio per assegnare al parametro HA il valore 100 è possibile scrivere:


HA100

Oppure per assegnare al parametro PAR[10] il valore 1 è possibile scrivere:


PAR[10]100

5.1.2 Assegnazione di un valore numerico ad un parametro tramite una


formula

E’ possibile programmare espressioni matematiche il cui risultato è funzione di valori numerici o di


altri parametri.

Operatori matematici ad un solo operando:


SN(seno di un angolo in gradi)
CS (coseno di un angolo in gradi)
TAN (tangente di un angolo in gradi)
AT (arcotangente in gradi)
RQ (radice quadrata)
ABS (valore assoluto)
INT (valore intero troncato)
NEI (valore intero arrotondato)
- (cambiamento di segno)

Operatori matematici con due operandi:


+ addizione
- sottrazione
* moltiplicazione
/ divisione

Per assegnare un parametro con il risultato di un’espressione, si utilizzano le parentesi acute “<” e
“>” (ovvero simbolo di minore e maggiore) per indicare l’inizio e la fine dell’espressione.
All’interno dell’espressione è possibile utilizzare le parentesi tonde “(“ e “)”.

Ad esempio per assegnare al parametro HA il valore di HB+1 è possibile scrivere:


63
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

HA< HB + 1 >

Oppure per assegnare al parametro PAR[10] il valore della radice quadrata del parametro HC:
PAR[10]< RQ(HC) >

Tramite l’uso delle parentesi tonde è possibile programmare espressioni anche molto complesse:
HA< HB + (HC+HD/2)/(SN(HE) >

5.1.3 Programmazione di movimenti assi con parametri


Tramite la programmazione parametrica è possibile effettuare anche movimenti di macchina.

Un esempio molto semplice:


N10 HA 10
N20 HB 1000
N30 HC 30

N40 G0 X<HA>
N50 F<HB>
N60 G1 X<HC+100>

Nelle righe da N10 ad N30 vengono assegnati i valori ai parametri.


Nel blocco N40 viene effettuato un movimento in rapido dell’asse X fino alla quota contenuta
nel parametro HA (cioè 10)
Nel blocco N50 viene impostata la Feed col valore contenuto nel parametro HB (cioè 1000)
Nel blocco N60 viene effettuato un movimento in lavoro dell’asse X fino alla quota HC+100
(cioè 130) con la Feed pari a 1000.

La programmazione di movimenti asse tramite un’espressione parametrica può essere anche molto
complessa e segue le stesse regole dalla programmazione dei parametri.

5.1.4 Programmazione di parametri di sistema


Tramite la programmazione parametrica è possibile assegnare valori numerici ai parametri di sistema
descritti in precedenza.

Ad esempio, è possibile impostare o modificare la lunghezza utensile (parametro L):


L100
Assegna il valore L al parametro lunghezza utensile.

Oppure
L< L-2 >
Accorcia l’utensile di 2

Allo stesso modo è possibile assegnare un valore, anche tramite un’espressione, a tutti i parametri di
sistema.

Attenzione: la programmazione dei parametri di sistema è del tutto equivalente alla programmazione
dei parametri utente. L’uso dei parametri di sistema deve essere però riservato per lo scopo previsto
per il parametro steso e non per calcoli parametrici generici

64
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.1.5 Programmazione assi tramite i parametri AA, AB, AC


I parametri di sistema AA, AB e AC sono molto utili per la programmazione di programmi parametrici
(come macro o cicli fissi).
Tali parametri rappresentano rispettivamente il primo (AA), il secondo (AB) e il terzo (AC) asse
specificato con la G25. Ad esempio, con G25XYZ, il parametro AA rappresenta l’asse X, il parametro
AB l’asse Y e AC l’asse Z.

Attraverso questi parametri è possibile programmare movimenti degli assi indipendentemente dai
nomi degli assi reali.
Programmando la G25 viene specificato quale asse è relativo ad AA, quale ad AB e quale ad AC,
secondo lo schema seguente:

Ad esempio:
OX1 OY1 OZ1
OX1 OY1 OZ1 T1M6
T1M6 F1000
F1000 S3000 M3
S3000 M3
G25ZXY G43Y
G25XYZ G43Z G0 AA0 AB0 AC2
G0 AA0 AB0 AC2 G1 AC0
G1 AC0 AA5
AA5 AB2
AB2 AA0
AA0 AB0
AB0 AC-0.5
AC-0.5 AA5
AA5 AB2
AB2 AA0
AA0 AB0
AB0 M2
M2

65
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.2 PROGRAMMAZIONE CON “RIGHE EVOLUTE” ( ! ... ! )


Con il controllo numerico Z32 è possibile programmare righe di programma chiamate “righe evolute”.
Tali righe servono in generale per gestire la maggior parte dei casi di programmazione logico-
parametrica permettendo condizionamenti e salti con e senza ritorno.
Una riga evoluta è una riga che inizia con il carattere “!” e termina con lo stesso carattere. Tale riga
può essere preceduta dal numero N seguito da un numero.
All’interno di una riga evoluta possono essere contenute più istruzioni, ciascuna delle quali è separata
dal carattere “;” oppure dal carattere “!” come descritto in seguito.

Nota: Attraverso le righe evolute NON è possibile programmare movimenti macchina.

5.2.1 Assegnare valori a parametri e calcolare espressioni


L’assegnazione si effettua con il carattere “ = ”.
Più assegnazioni sono possibili utilizzando il separatore “;”.
Ad esempio:

N10 !HA=16 ; HB=RQ(HA)+5 ; HC=0!

Nota: Il calcolo di espressioni o l’assegnazione di un valore ad un parametro è possibile sia in riga


evoluta che in riga non evoluta, ad esempio le seguenti istruzioni sono equivalenti:
!HA=10!
oppure
HA10
Come equivalenti sono le istruzioni:
!HA=PAR[3]!
e
HA<PAR[3]>

Attenzione: come già detto, con una riga evoluta non è possibile programmare il moto di un asse.
Ad esempio, la programmazione di
!X=100!

Non produce alcun movimento della macchina, ma ha solo il significato di impostare il valore
del parametro X al valore 100.

Per programmare uno spostamento della macchina è necessario NON fare uso delle righe evolute.

5.2.2 Effettuare salti senza ritorno (!GON..!)


La funzione che permette di saltare ad una label all’interno di un programma è la funzione:
!GON..!

La destinazione del salto è il numero N seguito dal numero identificativo (anche decimale)

Ad esempio:
Il programma arriva ad N10 e salta alla label N20:


N10 !GON20!

N20

66
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.2.3 Effettuare salti con ritorno (!GON.. –N..!)


La funzione
!GON..-N..!

Permette di eseguire la parte di programma compresa tra le due label N specificate e tornare alla
riga chiamante.
Ad esempio:



N20 !GON40-N50!
N30

N40

N50

Il programma arriva ad N20, salta ad N40, esegue le istruzioni tra N40 e N50 e poi torna ad eseguire
N30.
I salti con ritorno possono essere fatti all’interno di altri salti con ritorno fino ad una profondità di 10
livelli.

Attenzione: Per poter utilizzare i numeri N.. come destinazione di un salto è necessario che il
carattere N sia il primo carattere presente nella riga senza spazi davanti:

Programmazione giusta:

N10 !GON20!

N20

Programmazione sbagliata:
N10 !GON20!

N20

5.2.4 Effettuare salti condizionati (! IF .. ; GON.. !)


L’istruzione che permette di eseguire salti condizionati all’interno di un programma è l’istruzione:
!IF condizione ; GON..!

La condizione può essere un’espressione parametrica qualsiasi nella quale possono venire controllate
le seguenti condizioni tra due espressioni parametriche:
> maggiore
< minore
= uguale
<> diverso
>= maggiore o uguale
<= minore o uguale

Ad esempio:
!IF HA > 10 ; GON20!
Salta ad N20 se HA è maggiore di 10.

La condizione può essere un’espressione, ad esempio:


!IF (HA+HB)*PAR[10] >= HC ; GON20!
67
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.2.5 Controllare più condizioni sulla stessa riga evoluta


Su un’unica riga evoluta è possibile controllare più condizioni, separate dal punto e virgola:

!IF HA > 10 ; IF HB < 5 ; GON30!


Salta ad N30 se HA è maggiore di 10 e HB è minore di 5

5.2.6 Strutturazione dei salti condizionati


In generale sulla stessa riga evoluta, i vari comandi da eseguire sono separati dal carattere “;”.
Quando viene scritta una condizione IF, se la condizione è verificata, i comandi successivi vengono
eseguiti, altrimenti si salta al primo successivo carattere “!” presente sulla riga.

Ad esempio
!IF HA > 10 ; GON20 ! IF HA >5 ; GON30 ! GON40!

Nell’esempio superiore se la condizione HA > 10 è verificata, il programma salta ad N20.


Se HA >10 non è verificata, viene eseguita l’istruzione dopo il seguente carattere “!”, quindi
viene controllato se HA è maggiore di 5.

Con questa logica la riga di esempio segue il seguente comportamento:


Se HA è maggiore di 10 salta a N20.
Se HA è compreso tra 5 e 10 salta a N30
In tutti gli altri casi salta a N40

Attenzione: il carattere “!” non interrompe l’esecuzione di una riga evoluta. Per interrompere
l’esecuzione di una riga evoluta è necessario un comando di salto !GON..! oppure l’istruzione EB
di fine blocco.
Ad esempio, nella seguente riga:
!IF HA>=0 ; HA=HA+1 ; EB ! HA=HA-1!
L’istruzione EB è necessaria per terminare l’esecuzione della riga.
La riga ha il seguente comportamento:
Se HA è maggiore o uguale a zero, viene aumentato di 1, altrimenti viene
decrementato di uno.

Se avessimo scritto:
!IF HA>=0 ; HA=HA+1 ! HA=HA-1!
L’istruzione non sarebbe stata corretta perché:
Se HA è maggiore o uguale a zero, HA viene prima incrementato e poi decrementato
di uno, dato che, come detto, il carattere “!” non interrompe l’esecuzione di una
riga.

Un altro caso dell’uso del terminatore EB è il seguente:


!IF HA > 0 ; EB ! GON10!
Ovvero: se HA è maggiore di zero, termina la riga evoluta e continua l’esecuzione
dalla riga successiva, altrimenti salta a N10.

68
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.2.7 Salto a sottoprogrammi CMOS (! GOP.. !)


Con l’istruzione
!GOP..!

E’ possibile abbandonare l’esecuzione del programma in corso e saltare all’esecuzione di un


sottoprogramma.
L’istruzione !GOP..! funziona con i programmi memorizzati nella memoria CMOS (memoria interna)
del controllo numerico e viene utilizzata passando il numero del programma al quale si desidera
saltare.

Ad esempio:

N10

N50 !GOP10!

Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione salta al programma
CMOS numero 10.

Il sottoprogramma deve terminare con l’istruzione G26 di fine sottoprogramma. Ad esempio:

N10

N50 !GOP10!
N60

Sottoprogramma CMOS 10:

N10


N100 G26

Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione passa al sottoprogramma
10, che viene eseguito dalla riga N10 fino alla riga N100. L’istruzione G26 indica la fine del
sottoprogramma, quindi dal programma CMOS 10 si ritorna ad eseguire il programma chiamante dalla
riga N60

Attenzione: l’istruzione di fine sottoprogramma è la funzione G26. Se all’interno del


sottoprogramma richiamato è presente l’istruzione di fine programma “M2”, l’esecuzione si
arresta senza tornare al programma chiamante.

5.2.8 Salto a sottoprogrammi CMOS con label (!GOP.. –N.. !)


E’ possibile saltare ad un programma CMOS eseguendolo a partire da una certa label.
Ad esempio:

69
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

N10

N50 !GOP10-N30!
N60

Sottoprogramma CMOS 10:


N10

N30


N100 G26

Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione passa al
sottoprogramma 10, che viene eseguito dalla riga N30 fino alla riga N100. L’istruzione G26
indica la fine del sottoprogramma, quindi dal programma CMOS 10 si ritorna ad eseguire il
programma chiamante dalla riga N60

5.2.9 Salto a sottoprogrammi CMOS con due label (!GOP.. –N.. –N.. !)
E’ possibile saltare ad un programma CMOS eseguendolo a partire da una certa label.
Ad esempio:

N10

N50 !GOP10-N30-N70!
N60

Sottoprogramma CMOS 10:


N10

N30

N70

N100 G26

Il programma principale viene eseguito fino alla riga N50, poi l’esecuzione passa al sottoprogramma
10, che viene eseguito dalla riga N30 fino alla riga N70. Dopo l’esecuzione della riga N70, si ritorna
ad eseguire il programma chiamante dalla riga N60

70
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.3 CONDIZIONAMENTO DI BLOCCHI DI PROGRAMMA (--IF)


L’istruzione strutturata --IF è utile quando si desidera condizionare interi blocchi di programma.

Ad esempio:
--IF condizione
N10

N20
--END IF

Il programma esegue le righe da N10 ad N20 solo se la condizione è verificata.


La condizione può essere un’espressione parametrica qualsiasi nella quale possono venire controllate
le seguenti condizioni:
> maggiore
< minore
= uguale
<> diverso
>= maggiore o uguale
<= minore o uguale

La sintassi completa è la seguente:


--IF condizione 1 ;commento
N10
… (eseguito se condizione 1 è vera)
N20
--ELSE IF condizione 2 ;commento
N30
… (eseguito se condizione 1 è falsa e condizione 2 è vera)
N40
--ELSE ;commento
N50
… (eseguito se condizione 1 e condizione 2 sono false)
N60
--END IF ;commento
N70

L’istruzione --IF indica la prima condizione che viene controllata. Se {condizione 1} è verificata,
vengono eseguite i blocchi da N10 ad N20 e poi l’esecuzione passa ad N70.
Se {condizione 1} non è verificata, viene controllata la condizione --ELSE IF. Se {condizione 2} è
verificata, vengono eseguiti i blocchi da N30 ad N40 e poi l’esecuzione passa ad N70.
Se non sono verificate né la condizione 1 né la condizione 2, l’esecuzione passa al blocco --ELSE e
vengono eseguiti i blocchi da N50 ad N60, poi l’esecuzione passa ad N70.
Sulle righe --IF, --ELSE IF, --ELSE e --END IF è possibile inserire un commento dopo il carattere “;”

In sintesi:

L’istruzione --IF è la prima condizione controllata.


I blocchi --ELSE IF sono le condizioni che vengono controllate se le condizioni precedenti non sono
vere. E’ possibile avere più di un blocco ELSE IF. In questo caso le condizioni vengono controllate in
sequenza.
--IF condizione 1
… (eseguito se condizione 1 è vera)
--ELSE IF condizione 2
… (eseguito se condizione 1 è falsa e condizione 2 è vera)
--ELSE IF condizione 3
… (eseguito se condizione 1 e condizione 2 sono false, e condizione 3 è vera)
--ELSE
… (eseguito se condizione 1, condizione 2 e condizione 3 sono false)

71
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

--END IF

L’istruzione --ELSE identifica le istruzioni che vengono eseguite se tutte le altre condizioni
non sono vere.
L’istruzione --END IF indica la fine di un blocco --IF.

E’ possibile “annidare” istruzioni --IF una dentro l’altra fino a 31 livelli.


Ad esempio:
--IF condizione 1
--IF condizione 2
--IF condizione 3
N30
… (eseguito se condizione 1, condizione 2 e condizione 3 sono vere)
N40
--END IF
--END IF
--END IF

72
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.4 RIPETIZIONI DI BLOCCHI DI PROGRAMMA (--DO --LOOP)


I blocchi compresi tra l’istruzione --DO e --LOOP vengono ripetuti fino a quando viene soddisfatta la
condizione di uscita.

Ad esempio:

--DO
N10

N100
--LOOP

I blocchi da N10 ad N100 vengono ripetuti all’infinito

5.4.1 Numero di ripetizioni specificato (--LOOP N)


Si può specificare il numero di ripetizioni impostando il numero di ripetizioni sulla stessa riga
dell’istruzione LOOP:
--LOOP N

Nell’esempio che segue, i blocchi da N10 ad N100 vengono ripetuti 10 volte, dopo di che si passa
all’esecuzione del blocco N110. Significa che in totale i blocchi da N10 ad N100 vengono eseguiti 11
volte, perché il numero specificato è il numero di ripetizioni. Tale specifica può essere passata con
un parametro tra parentesi acute: ---LOOP <HA>. In questo caso il parametro viene arrotondato
all’intero più vicino.

--DO
N10

N100
--LOOP 10
N110

5.4.2 Condizione di ripetizione (--LOOP IF)


Si può specificare la condizione da verificare per eseguire le ripetizioni specificando tale condizione
sulla stessa riga dell’istruzione LOOP:
--LOOP IF condizione

Nell’esempio che segue, i blocchi da N10 ad N100 vengono ripetuti se si verifica la condizione
specificata, dopo di che si passa all’esecuzione del blocco N110. Ovvero, se HA è minore di 10,
vengono eseguite le ripetizioni, se HA è maggiore o uguale a 10 vengono cessate le ripetizioni.

--DO
N10

N100
--LOOP IF HA < 10
N110

73
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.4.3 Condizione di uscita a metà del blocco --DO --LOOP (--EXIT DO IF)
Si può specificare il blocco e la condizione di uscita tramite l’istruzione:
--EXIT DO IF condizione

L’istruzione --EXIT DO permette di uscire dalla struttura --DO --LOOP quando la condizione è vera.
Nell’esempio che segue, i blocchi da N10 ad N100 vengono ripetuti fino a che non si verifica la
condizione di uscita. Quando la condizione di uscita è verificata, l’uscita viene effettuata al blocco
N50, quindi le istruzioni comprese tra N50 e N100 non vengono eseguite e si passa all’esecuzione del
blocco N110.

--DO
N10

N50 --EXIT DO IF HA > 10

N100
--LOOP
N110

Attenzione: E’ possibile utilizzare l’istruzione --EXIT DO anche senza la condizione --IF


scritta sulla stessa riga di programma, ad esempio è possibile scrivere:
--DO

--IF HA>100
--EXIT DO
--END IF

--LOOP

74
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.5 SCRITTURA DI PROGRAMMI CMOS (--DEFINE P..)


Tramite l’istruzione --DEFINE P.. è possibile scrivere un file CMOS del controllo.
Con questa istruzione è possibile scrivere un file CMOS del controllo senza avere la necessità di
editarlo direttamente.
L’istruzione --DEFINE P.. è utilizzabile solamente per i file CMOS utente, ovvero per i file dal numero
1 al numero 109 della CMOS.
L’istruzione ha la seguente sintassi:
--DEFINE P.. ; commento

{Listato del programma}

--END DEFINE ; commento

Sulle righe --DEFINE, --END DEFINE è possibile inserire un commento dopo il carattere “;”
Il programma da scrivere può essere solo un programma CMOS e va specificato con il suo numero.
Nell’esempio che segue viene scritto il programma numero 10:

--DEFINE P10

{Listato del programma}

--END DEFINE

La definizione di un programma CMOS non produce movimenti macchina.


Per eseguire il programma scritto, è necessario richiamarlo con l’istruzione di salto a sottoprogramma
CMOS !GOP..!
Ad esempio:

T1M6
F5000

--DEFINE P10
G1 X100
G1Y100
G1X0
G1Y0
G26
--END DEFINE

G0 Z100
G0 X0Y0
G0 Z1
G1 Z1
!GOP10!
M2

Nell’esempio, le istruzioni di definizione del programma 10 non generano movimento, il


programma CMOS numero 10 viene eseguito solo dopo il suo richiamo con la funzione !GOP10!

Attenzione: Nella definizione di un sottoprogramma CMOS con la funzione --DEFINE P.. è


necessario inserire l’istruzione di fine sottoprogramma G26.

Attenzione: L’istruzione --DEFINE P.. deve essere eseguita prima di richiamare (con l’istruzione
!GOP..!) il programma definito .

Attenzione: La definizione di un programma CMOS con l’istruzione --DEFINE P.. non è


temporanea. Tale programma rimane utilizzabile anche dopo lo spegnimento e successiva
accensione del controllo.

75
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

5.6 SCRITTURA DI SOTTOPROGRAMMI TEMPORANEI SUBTEMP (--DEFINE S..)


Tramite l’istruzione --DEFINE S.. è possibile scrivere un sottoprogramma temporaneo.
L’istruzione ha la seguente sintassi:
--DEFINE S.. ; commento

{Listato del programma}

--END DEFINE ; commento

Il sottoprogramma da scrivere deve essere specificato con il numero della subtemp da scrivere.
Nell’esempio che segue viene scritta la subtemp numero 20:
--DEFINE S20

{Listato del programma}

--END DEFINE

La definizione di una subtemp non produce movimenti macchina.


Per eseguire la subtemp scritta, è necessario richiamarla con l’istruzione di salto a sottoprogramma
subtemp !GOS..!
Tale istruzione è uguale all’istruzione di salto a sottoprogramma !GOP..!, l’unica differenza è che al
posto del carattere “P” deve essere utilizzato il carattere “S” per specificare il numero della
subtemp.
Ad esempio:
T1M6
F5000

--DEFINE S20
G1 X100
G1Y100
G1X0
G1Y0
G26
--END DEFINE

G0 Z100
G0 X0Y0
G0 Z1
G1 Z1
!GOS20!
M2

 E’ possibile utilizzare fino a 64 subtemp contemporanee per processo.


 Una singola subtemp non può contenere un programma superiore a 240 KB.
 Il contenuto di tutte le subtemp definite non può superare lo spazio di 1MB.
 Per richiamare una subtemp è possibile usare le istruzioni:
!GOS..!, !GOS..–N..! e !GOS..–N..–N..!
Tali istruzioni sono equivalenti alle corrispondenti istruzioni !GOP.. ! valide per i
programmai CMOS.
 E’ possibile utilizzare un subtemp come ciclo fisso con l’istruzione G27S.. Per la
programmazione di una subtemp come ciclo fisso, consultare la sezione relativa ai cicli
fissi.

Attenzione: Nella definizione di una subtemp con la funzione --DEFINE S.. è necessario inserire
l’istruzione di fine sottoprogramma G26.

Attenzione: L’istruzione --DEFINE S.. deve essere eseguita prima di richiamare la subtemp
definita con l’istruzione !GOS..!

76
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Attenzione: La definizione di una subemp con l’istruzione --DEFINE S.. è temporanea. Tale
subtemp rimane utilizzabile solo all’interno dell’esecuzione in corso. Al termine dell’esecuzione
la subtemp viene cancellata.

77
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6. CICLI FISSI E MACRO DI Z32

In questo capitolo vengono descritte le macro ed i cicli fissi standard di Z32. I cicli e le lavorazioni
qui descritte si riferiscono a versioni di SIS T109-8B o successive.
I cicli e le lavorazioni vengono richiamati tramite le funzioni:
G800 CICLI FISSI
G801 MACRO DI POSIZIONAMENTO
G802 MACRO DI LAVORAZIONE

6.1 CICLI FISSI DI Z32 (G800)

Tramite la funzione G800 è possibile programmare i cicli fissi di sistema.


I cicli fissi di sistema sono sottoprogrammi di sistema non modificabili e sono attivabili programmando:
G800 K..

Dove la lettera K deve essere seguita dal numero che identifica il ciclo da attivare.
Una volta attivato un ciclo fisso, esso è eseguito automaticamente alla fine di ogni posizionamento in
G0 (RAPIDO) programmato. Eventuali movimenti in lavoro non fanno eseguire il ciclo fisso.
La programmazione della G800 è la seguente:

Passaggio di parametri:
Il passaggio di parametri è effettuabile programmando i parametri da passare sulla stesa riga
di programma dove è programmata la G800. Nella riga di programma dove è presente una
G800 non è possibile programmare parametri diversi da quelli accettati per la
programmazione dei cicli fissi.
Ad esempio, riferendosi al ciclo G800K1, è possibile impostare i parametri programmando:
G800 MHA0 MHB-20 MHC10

Un esempio di programmazione non corretta è la seguente:


G800 MHA0 MHB-20 MHC10 S1000

Si può programmare il parametro F nella riga della G800:


G800 MHA0 MHB-20 MHC10 F1000

Attivazione di un ciclo fisso


Per richiamare e attivare un ciclo fisso occorre programmare sulla riga della G800 anche il
parametro K di scelta ciclo:
G800K1 MHA0 MHB-20 MHC10
La programmazione dei parametri e l’attivazione del ciclo fisso è possibile sulla stessa riga o
su righe diverse.
Ad esempio sono equivalenti le seguenti istruzioni
G800K1 MHA0 MHB-20 MHC10 (programmazione parametri e attivazione ciclo)
e
G800 MHA0 MHB-20 MHC10 (programmazione parametri)
G800K1 (attivazione ciclo)

Disattivazione di un ciclo fisso


La disattivazione di un ciclo fisso attivato con G800 si effettua programmando
G800K0
Dopo la disattivazione del ciclo fisso, i parametri del ciclo vengono azzerati, pertanto se si
desidera richiamare un nuovo ciclo fisso, i parametri devono essere riprogrammati.

78
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Sospensione di un ciclo fisso


La funzione G27X sospende il ciclo fisso attivo. G27X è valida solo nel blocco nel quale
è programmata.
Ad esempio

G800 MHA0 MHB-20 MHC10 K1 (attiva il ciclo fisso)
G0 X100 Y100 (esegue il ciclo fisso)
G27X G0 X200 (non esegue il ciclo fisso)
G0 X200 Y200 (esegue il ciclo fisso)
G27C0 (disattiva il ciclo fisso)

Gestione dei parametri opzionali


Nella definizione dei cicli fissi sono presenti alcuni parametri definiti come opzionali.
Se si desidera non utilizzare alcuni parametri opzionali è possibile non programmare
tali parametri.

79
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.1.1 G800K1: Foratura semplice feed MHF

Parametri obbligatori: feed F


MHC
MHA: quota di inizio foro
G0
MHB: quota di fine foro MHA
MHC: quota di uscita lunga

Parametri opzionali per la gestione dell’imbocco: MHD


(MHD): quota di fine imbocco
(MHF): velocità di lavoro nel tratto di imbocco per centratura
Il tratto da MHA a MHD viene percorso alla feed MHF
MHB
Se MHF = 0 tutto il foro viene eseguito alla F programmata
MHT

Parametri opzionali per la gestione della sosta a fondo foro:


(MHT): tempo di sosta a fondo foro
Se MHT = 0 la sosta non viene eseguita

6.1.2 G800K2: Foratura profonda con rottura truciolo


Parametri obbligatori:
MHA: quota di inizio foro
feed MHF
MHB: quota di fine foro MHC
feed F
MHC: quota di uscita lunga
G0
MHI: incremento in profondità prima dell’arresto per rottura truciolo
MHA

Tipo di gestione della rottura truciolo: MHD


MHI MHT
MHR: valore di distacco per rottura truciolo
se MHR > 0 si esegue il distacco e MHT viene ignorato
MHT: tempo di sosta per rottura truciolo MHR
MHI
Deve essere programmato o MHR o MHT in funzione della tipologia
di rottura truciolo che si desidera.

Parametri opzionali per la gestione dell’imbocco: MHB

(MHD): quota di fine imbocco


(MHF): velocità di lavoro nel tratto di imbocco per centratura
Il tratto da MHA a MHD viene percorso alla feed MHF
Se MHF = 0 il tratto di imbocco non viene eseguito

80
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.1.3 G800K3: Foratura profonda con scarico truciolo


Parametri obbligatori:
feed MHF
MHA: quota di inizio foro MHC
feed F
MHB: quota di fine foro MHT
G0
MHC: quota di uscita lunga MHA
MHZ
MHI: incremento in profondità prima del ritorno per scarico truciolo.
Tale incremento viene ridotto in percentuale del 10% ad ogni MHD
movimento fino al raggiungimento del 50% del valore MHI iniziale, MHI
dopo di che si hanno incrementi costanti.
MHZ: quota di scarico truciolo
MHS

Parametri opzionali per la gestione dell’imbocco:


(MHD): quota di fine imbocco
(MHF): velocità di lavoro nel tratto di imbocco per centratura MHB

Il tratto da MHA a MHD viene percorso alla feed MHF


Se MHF = 0 il tratto di imbocco non viene eseguito

Parametri opzionali per la gestione del riposizionamento:


(MHS): distanza di sicurezza nei riposizionamenti nel foro.
Se MHS = 0, viene considerata di default una distanza di 0.5

Parametri opzionali per la gestione della sosta alla quota di scarico:


(MHT): eventuale sosta alla quota di scarico truciolo MHZ

6.1.4 G800K4: Maschiatura


Parametri obbligatori:
MHA: quota di inizio foro MHP
MHB: quota di fine foro G0 MHC

MHC: quota di uscita lunga


MHP: passo del maschio in millimetri MHA

MHM: tipo di maschiatura, rigida o con compensatore


MHM = 0: maschiatura rigida
ATTENZIONE: Consultare il costruttore per la disponibilità della
funzionalità di maschiatura rigida
MHB
MHM = 1: maschiatura con compensatore

MHT MHW
Parametri opzionali per gestione soste con compensatore (MHM=1)
(MHT): tempo di sosta prima comando inversione mandrino
(MHW): tempo di sosta dopo comando inversione mandrino
MHT e MHW sono da utilizzarsi solo per maschiatura con compensatore

Parametro opzionale per la gestione della velocità di uscita


(MHR): fattore moltiplicativo della speed mandrino durante l'uscita dal foro.
Nel caso di maschiatura rigida i valori ammessi sono: 0.5 <= MHR <= 4. Valori diversi sono
ignorati.

81
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

feed F

G0 MHC

6.1.5 G800K5: Alesatura MHA

Parametri obbligatori:
MHA: quota di inizio foro
MHB: quota di fine foro
MHC: quota di uscita lunga MHB

MHT
Parametri opzionali per la gestione della sosta a fondo foro:
(MHT): tempo di sosta a fondo foro
Se MHT = 0 la sosta non viene eseguita

6.1.6 G800K6: Barenatura


Parametri obbligatori:
MHA: quota di inizio foro feed F
MHB: quota di fine foro MHC
MHC: quota di uscita lunga G0

MHA

Parametri opzionali per la gestione dell’orientamento mandrino:


ATTENZIONE: Consultare il costruttore per la disponibilità MHB
dell’istruzione M19 Stop

(MHQ): valore grossolano dell'angolo su cui sta il tagliente del bareno


rispetto allo zero del trasduttore.
S
Per conoscere questo valore, orientare il mandrino con M19 e MH
guardare dove si trova il tagliente. MHG
Il valore dell'angolo deve essere positivo e compreso fra 0 e 360
gradi.
(MHS): valore distacco dalla parete del foro lungo l'angolo MHQ.
Se MHS=0, significa che la macchina non dispone dell’orientamento mandrino, pertanto il
ritorno viene effettuato a centro foro senza distacco dalla parete
Se MHS > 0 la macchina deve disporre dell'orientamento mandrino M19

Parametri opzionali per la gestione delle soste:


(MHT): tempo di sosta a fondo foro prima dell'arresto o dell'orientamento mandrino
(MHW): tempo di sosta dopo arresto mandrino

82
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.1.7 G800K7: Foratura profonda mista con rottura e scarico truciolo


Parametri obbligatori:
MHA: quota inizio foro
feed MHF
MHB: quota fine foro MHC
MHC: quota uscita lunga feed F
MHW
MHI: incremento dopo il quale fermarsi per rompere il truciolo G0
MHZ
MHA

Tipo di gestione della rottura truciolo: MHD


MHR: valore di distacco per rottura truciolo
se MHR > 0 si esegue il distacco e MHT viene ignorato MHI
MHT: tempo di sosta per rottura truciolo se MHR = 0 MHU
Deve essere programmato o MHR o MHT in funzione della tipologia
di rottura truciolo che si desidera. MHL
MHU: quota fine zona rottura truciolo - inizio zona scarico truciolo
MHS
MHL: incremento in profondità prima del ritorno per scarico truciolo MHB
L'incremento viene ogni volta ridotto del 10% fino a raggiungere il
50% del valore iniziale dopo di che s hanno incrementi costanti
MHZ: quota di scarico truciolo

Parametri opzionali per la gestione dell’imbocco:


(MHD): quota di fine imbocco
(MHF): velocità di lavoro nel tratto di imbocco per centratura
Il tratto da MHA a MHD viene percorso alla feed MHF
Se MHF = 0 il tratto di imbocco non viene eseguito

Parametri opzionali per la gestione del riposizionamento:


(MHS): distanza di sicurezza nei riposizionamenti nel foro.
Se MHS = 0, viene considerata di default una distanza di 0.5

Parametri opzionali per la gestione delle soste:


(MHW): tempo di sosta alla quota di scarico truciolo HZ

6.1.8 G800K8: Foratura di due pareti distanziate


Parametri obbligatori:
MHA: quota inizio foro
feed MHF
MHB. quota fine foro MHC
MHC: quota uscita lunga feed F

MHU: quota fine prima parete G0


MHA
MHV: quota inizio seconda parete
MHD

Parametri opzionali per la gestione dell’imbocco: MHI


(MHD): quota di fine imbocco MHU

(MHF): velocità di lavoro nel tratto di imbocco per centratura


Il tratto da MHA a MHD viene percorso alla feed MHF MHV
Se MHF=0 il tratto di imbocco non viene eseguito MHI

Parametri opzionali per la gestione della rottura truciolo: MHB


(MHI): incremento in profondità prima dell’arresto per rottura truciolo
MHI0 non si effettua rottura truciolo

Tipo di rottura truciolo:


(MHR): valore di distacco per rottura truciolo
se MHR > 0 si esegue il distacco e MHT viene ignorato
(MHT): tempo di sosta per rottura truciolo se MHR = 0
Deve essere programmato o MHR o MHT in funzione della rottura truciolo che si desidera.

83
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.1.9 G800K9: Foratura di tre zone differenziate


Parametri obbligatori:
feed MHF feed MHJ
MHA: quota inizio foro MHC
MHB: quota fine foro feed F
feed MHK

MHC: quota uscita lunga G0


MHA

Zona intermedia: MHD

MHU: quota fine zona alta - inizio zona intermedia MHI


(MHJ): velocità di lavoro nella zona intermedia. MHU

Se MHJ=0, Feed zona intermedia = Feed zona alta MHI


(MHG): Speed nella zona intermedia. MHV
Se MHG=0, Speed zona intermedia = Speed della zona alta
MHI

Parametri opzionali per la gestione della zona bassa: MHB


(MHV): quota fine zona intermedia - inizio zona bassa
Se MHV = 0 non esiste zona bassa. La zona intermedia termina a MHB
(MHK): velocità di lavoro nella zona bassa
(MHH): Speed nella zona bassa.
Se MHH=0, la Speed della zona bassa è uguale alla Speed della zona intermedia

Parametri opzionali per la gestione dell’imbocco:


(MHD): quota di fine imbocco
(MHF): velocità di lavoro nel tratto di imbocco per centratura
Il tratto da MHA a MHD viene percorso alla feed MHF
Se MHF = 0 il tratto di imbocco non viene eseguito

Parametri opzionali per la gestione della rottura truciolo:


(MHI): incremento in profondità prima dell’arresto per rottura truciolo
Se MHI = 0 non si effettua rottura truciolo
(MHR): valore di distacco per rottura truciolo
Se MHR > 0 si esegue il distacco e MHT viene ignorato
(MHT): tempo di sosta per rottura truciolo se MHR = 0
Deve essere programmato o MHR o MHT in funzione della rottura truciolo che si desidera.

Parametri opzionali per la gestione del cambio di speed:


(MHS): valore di distacco per cambio speed
(MHW): tempo di sosta dopo distacco MHS per andata a regime mandrino

84
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.1.10 G800K10: Fresa-alesatura interna a spirale


Parametri obbligatori:
MHB: quota fine foro
MHD > 0
MHC: quota uscita lunga
MHD: diametro del foro
MHD > 0: lavorazione in senso antiorario (G3)
MHD MHD < 0
MHD < 0: lavorazione in senso orario (G2)

Parametri opzionali per la gestione di più passate: MHC


(MHA): quota di inizio lavorazione MHA
(MHK): incremento a giro
MHK

MHB

6.1.11 G800K11: Fresa-alesatura esterna a spirale


Parametri obbligatori:
MHB: quota fine perno MHD > 0
MHC: quota uscita lunga
MHS
MHD: diametro del perno
MHD > 0: lavorazione in senso antiorario (G3)
MHD
MHD < 0: lavorazione in senso orario (G2) MHD < 0

Parametri opzionali per la gestione di più passate: MHC

(MHA): quota di inizio lavorazione MHA

(MHK): incremento a giro


MHK

Parametri opzionali per la gestione dell’attacco: MHB

(MHS): distanza del posizionamento iniziale dal punto di attacco


Se MHS = 0, viene perso un default pari ad 1.

85
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.2 MACRO DI POSIZIONAMENTI DI Z32 (G801)

Tramite la funzione G801 è possibile programmare macro di posizionamento.


Le macro di posizionamento sono sottoprogrammi di sistema non modificabili e sono attivabili
programmando
G801 K..
Dove la lettera K deve essere seguita dal numero che identifica il ciclo da attivare.
La programmazione di una macro di posizionamento provoca l’esecuzione dei posizionamenti
richiesti.
Generalmente tali macro sono usate in combinazione con cicli fissi o con macro-lavorazioni (G802)
usate come ciclo fisso.
La programmazione della G801 è la seguente:

Passaggio di parametri:
Il passaggio di parametri è effettuabile programmando i parametri da passare sulla stesa riga
di programma dove è programmata la G801. Nella riga di programma dove è presente una
G801 non è possibile programmare parametri diversi da quelli accettati per la
programmazione dei cicli fissi.
Ad esempio, riferendosi al ciclo G801K1, è possibile impostare i parametri programmando:
G801 MPX0 MPY0 MPJ10 MPK5 MPN5

Un esempio di programmazione non corretta è la seguente:


G801 MPX0 MPY0 MPJ10 MPK5 MPN5 S1000

Il parametro F è programmabile nella riga della G801:


G801 MPX0 MPY0 MPJ10 MPK5 MPN5 F1000

Attivazione di una macro di posizionamento


Per richiamare e attivare una macro di posizionamento occorre programmare sulla riga della
G801 anche il parametro K di scelta macro:
G801K1 MPX0 MPY0 MPJ10 MPK5 MPN5

La programmazione dei parametri e l’attivazione della macro è possibile sulla stessa riga o su
righe diverse.
Ad esempio sono equivalenti le seguenti istruzioni
(programmazione parametri e attivazione macro:)
G801K1 MPX0 MPY0 MPJ10 MPK5 MPN5
e
G801 MPX0 MPY0 MPJ10 MPK5 MPN5 (programmazione parametri)
G801K1 (attivazione macro)

Al termine della lavorazione i parametri del ciclo vengono azzerati, pertanto se si desidera
richiamare una nuova lavorazione, i parametri devono essere riprogrammati.

86
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Gestione dei parametri opzionali


Nella definizione delle macro di posizionamento sono presenti alcuni parametri definiti come
opzionali.
Se si desidera non utilizzare alcuni parametri opzionali è possibile non programmare tali
parametri.
Le macro di posizionamento disponibili possono essere utilizzate in due modalità:

 Come posizionamento su cui eseguire un ciclo fisso


Nel caso che nei punti si desideri effettuare un ciclo fisso, occorrerà prima attivare il
ciclo fisso, e poi richiamare la macro di posizionamento. Il ciclo fisso andrà disattivato
(G27 C0) dopo la chiamata alla macro di posizionamento, o comunque dopo i
posizionamenti sui quali si vuole attivare il ciclo fisso.

 Come posizionamento su cui eseguire una lavorazione qualunque


Nel caso in cui si desideri eseguire una lavorazione qualunque, la lavorazione dovrà essere
memorizzata in un file CMOS (dal file 1 al file 109). La memorizzazione può essere fatta
editando direttamente il file 90, oppure può essere fatta usando la funzione “--DEFINE P”
all’interno dello stesso part-program.

Nel caso in cui si utilizzi la macro di posizionamento per posizionare una lavorazione
contenuta in un file CMOS, è possibile abilitare la rotazione del il part-program durante i
posizionamenti (vedere l’esempio alla fine della descrizione delle macro di
posizionamento).
E’ possibile inoltre non eseguire il posizionamento su un certo numero di punti a scelta
del programmatore:
il parametro FN determina quanti sono i punti che si desidera saltare. I valori inseriti nei
parametri PAR (da PAR[1] fino a PAR[FN]) determinano quali posizionamenti non
effettuare.
La numerazione dei punti da saltare segue l’ordine con cui verranno eseguiti i
posizionamenti.

Nota: Se si utilizza una macro di posizionamento per ripetere una lavorazione contenuta
all’interno di un file CMOS, il controllo farà uso dei parametri DA, DB e QR per traslare e
ruotare la lavorazione sui vari punti di posizionamento. Dovrà essere cura di chi struttura
il programma di non fare uso di tali funzionalità in modo da non entrare in contrasto con
la macro di posizionamento.

87
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.2.1 G801K1: Linea dati punto iniziale e incrementi


Parametri obbligatori:
MPX, MPY: coordinate del punto iniziale
MPJ, MPK: incrementi sul primo e sul secondo asse del piano
MPN: numero di punti MPK

Parametri opzionali per la gestione del posizionamento di una


lavorazione
MPX 0
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso
MPF <> 0 : sui punti si posiziona una figura programmata nel MPJ

programma CMOS numero MPF


(MPR): MPR = 0 : non ruota la figura MPY
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
di posizionamento
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare.
I numeri dei punti da saltare vanno memorizzati nel vettore PAR da PAR[1] a PAR[MPS]

6.2.2 G801K2: Linea dati punto iniziale, angolo e distanza tra i punti
Parametri obbligatori:
MPX, MPY: coordinate del punto iniziale
MPG: angolo di inclinazione della retta
MPP: distanza tra i punti
P
MPN: numero di punti MP

Parametri opzionali per la gestione del posizionamento di una MPG


MPX 0
lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso
MPF <> 0 : sui punti si posiziona una figura programmata in nel
programma CMOS numero MPF MPY
(MPR): MPR = 0 : non ruota la figura
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare.
I numeri dei punti da saltare vanno memorizzati nel vettore PAR da PAR[1] a PAR[MPS]

6.2.3 G801K3: Linea dati punto iniziale e punto finale


Parametri obbligatori:
MPX, MPY: coordinate del punto iniziale
MPA, MPB: coordinate del punto finale
MPN: numero di punti
Parametri opzionali per la gestione del posizionamento di una MPB
lavorazione
MPX 0
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso MPA
MPF <> 0 : sui punti si posiziona una figura programmata in nel
programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura MPY
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare.
I numeri dei punti da saltare vanno memorizzati nel vettore PAR
da PAR[1] a PAR[MPS]

88
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.2.4 G801K4: Reticolo dati incrementi su riga e colonna


Parametri obbligatori:
MPX, MPY: coordinate del punto iniziale
MPJ, MPK: incrementi sulla riga MPV

MPV, MPW: incrementi sulla colonna MPJ


MPK
MPN: numero di punti sulla riga MPW
MPM: numero di punti sulla colonna
Parametri opzionali per la gestione del posizionamento di una

MP M
lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso
MPF <> 0 : sui punti si posiziona una figura programmata in nel
programma CMOS numero MPF MPY

(MPR): MPR = 0 : non ruota la figura MPN

MPR = 1 : ruota la figura dell’angolo di inclinazione della retta MPX


0
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare.
I numeri dei punti da saltare vanno memorizzati nel vettore PAR da PAR[1] a PAR[MPS]

6.2.5 G801K5: Reticolo dati punto iniziale, incrementi e angoli


Parametri obbligatori:
MPX, MPY: coordinate del punto iniziale
MPP: distanza tra i punti sulla riga MPT

MPG: angolo delle righe rispetto al primo asse del piano MPP

MPQ: distanza tra i punti sulla colonna


MPQ
MPT: angolo delle colonne rispetto al primo asse del piano
MPN: numero di punti sulla riga
MPM: numero di punti sulla colonna

MP M
Parametri opzionali per la gestione del posizionamento di una
lavorazione MPG

(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso MPY


MPF <> 0 : sui punti si posiziona una figura programmata in nel MPN
programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura 0 MPX

MPR = 1 : ruota la figura dell’angolo di inclinazione della retta


Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare.
I numeri dei punti da saltare vanno memorizzati nel vettore PAR da PAR[1] a PAR[MPS]

6.2.6 G801K6: Reticolo dati punti iniziali e finali di riga e colonna


Parametri obbligatori:
MPX, MPY: coordinate del punto iniziale della prima riga
MPA, MPB: coordinate del punto finale della prima riga, punto iniziale
dell’ultima colonna
MPC, MPD: coordinate del punto finale dell’ultima colonna
MPD
MPN: numero di punti sulla riga
MPM: numero di punti sulla colonna
Parametri opzionali per la gestione del posizionamento di una
MP M

lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso MPB

MPF <> 0 : sui punti si posiziona una figura programmata in nel


MPY

MPN
programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura
0 MPX MPA MPC
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare.
I numeri dei punti da saltare vanno memorizzati nel vettore PAR da PAR[1] a PAR[MPS]

89
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.2.7 G801K7: Circonferenza dati angolo iniziale e incremento totale


Parametri obbligatori:
MPX, MPY: coordinate del centro della circonferenza
MPC: raggio della circonferenza (valore positivo o negativo)
Se MPC è positivo, i posizionamenti avvengono in
senso antiorario MPL

Se MPC è negativo, i posizionamenti avvengono in


senso orario MPA

MPA: angolo iniziale MPY

MPN: numero di punti


Parametri opzionali per la gestione della lunghezza MPC

dell’arco da coprire
(MPL): incremento totale (valore positivo)
Se MPL = 0 oppure MPL = 360 i punti vengono
suddivisi sull’intera circonferenza 0 MPX
Parametri opzionali per la gestione del posizionamento di
una lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso
MPF <> 0 : sui punti si posiziona una figura programmata in nel programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare. I numeri dei punti da saltare vanno memorizzati nel vettore PAR
da PAR[1] a PAR[MPS]
Parametri opzionali per la gestione del tipo di posizionamento
(MPW): gestione spostamento fra un punto e l'altro
MPW = 0 : spostamento rettilineo
MPW = 1: spostamento circolare

6.2.8 G801K8: Circonferenza dati angolo iniziale e distanza angolare


Parametri obbligatori:
MPX, MPY: coordinate del centro della circonferenza MPP

MPC: raggio della circonferenza (valore positivo o negativo)


Se MPC è positivo i posizionamenti vengono fatti in
senso antiorario MPA
Se MPC è negativo i posizionamenti vengono fatti in
senso orario MPY

MPA: angolo iniziale MPC


MPN: numero di punti
Parametri opzionali per la gestione della lunghezza
dell’arco da coprire
(MPP): distanza angolare tra i punti (valore positivo)
Se MPP = 0, i punti vengono suddivisi sull’intera 0 MPX

circonferenza a partire dall’angolo iniziale.


Parametri opzionali per la gestione del posizionamento di una lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso
MPF <> 0 : sui punti si posiziona una figura programmata in nel programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta
Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare. I numeri dei punti da saltare vanno memorizzati nel vettore PAR
da PAR[1] a PAR[MPS]
Parametri opzionali per la gestione del tipo di posizionamento
(MPW): gestione spostamento fra un punto e l'altro
MPW = 0 : spostamento rettilineo
MPW = 1: spostamento circolare

90
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.2.9 G801K9: Circonferenza dati angolo iniziale e angolo finale


Parametri obbligatori:
MPX, MPY: coordinate del centro della circonferenza
MPC: raggio della circonferenza (valore positivo o negativo)
Se MPC è positivo i posizionamenti vengono fatti in senso M
PB
antiorario
Se MPC è negativo i posizionamenti vengono fatti in senso orario
MPA: angolo iniziale

MPA
MPB: angolo finale
Se MPA = MPB, i punti vengono suddivisi sull’interna circonferenza MPY

a partire dall’angolo iniziale. MPC


MPN: numero di punti

Parametri opzionali per la gestione del posizionamento di una


lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso 0 MPX

MPF <> 0 : sui punti si posiziona una figura programmata in nel


programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura

MPR = 1 : ruota la figura dell’angolo di inclinazione della retta


Parametri opzionali per la gestione del salto di alcuni posizionamenti
(MPS): numero di punti da saltare. I numeri dei punti da saltare vanno memorizzati nel vettore PAR
da PAR[1] a PAR[MPS]

Parametri opzionali per la gestione del tipo di posizionamento


(MPW): gestione spostamento fra un punto e l'altro
MPW = 0 : spostamento rettilineo
MPW = 1: spostamento circolare

6.2.10 G801K10: Rettangolo dato il centro e il passo


Parametri obbligatori:
MPX, MPY: coordinate del centro del rettangolo
MPG: angolo rotazione rettangolo
MPN: numero di punti sulla base del rettangolo MPP
MPQ
MPP: distanza fra i punti sulla base
MPM: numero di punti sull'altezza del rettangolo
MPQ: distanza fra i punti sull'altezza MPG

MPY

Parametri opzionali per la gestione del posizionamento di una


lavorazione
MP
M

(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso


MP N
MPF <> 0 : sui punti si posiziona una figura programmata in nel
programma CMOS numero MPF 0
MPX

(MPR): MPR = 0 : non ruota la figura


MPR = 1 : ruota la figura dell’angolo di inclinazione della retta

91
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.2.11 G801K11: Rettangolo dato il centro e i lati

Parametri obbligatori:
MPX, MPY: coordinate del centro del rettangolo
MPG: angolo rotazione rettangolo
L
MP

MPN: numero di punti sulla base del rettangolo

MP
H
MPL: base del rettangolo MP
G

MPM: numero di punti sull'altezza del rettangolo MPY

MPH: altezza del rettangolo

MP
M
Parametri opzionali per la gestione del posizionamento di una
MP N
lavorazione
(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso 0
MPX

MPF <> 0 : sui punti si posiziona una figura programmata in nel


programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta

6.2.12 G801K12: Rettangolo dato uno spigolo e il passo

Parametri obbligatori: MP
P

MP
MPX, MPY: coordinate dello spigolo in basso a sinistra

Q
MPG: angolo rotazione rettangolo
MPN: numero di punti sulla base del rettangolo

MPG
MPP: distanza tra i punti sulla base
MPM: numero di punti sull'altezza del rettangolo
MPQ: distanza tra i punti sull’altezza
MP
M

N
MP
Parametri opzionali per la gestione del posizionamento di una MPY

lavorazione 0 MPX

(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso


MPF <> 0 : sui punti si posiziona una figura programmata in nel
programma CMOS numero MPF
(MPR): MPR = 0 : non ruota la figura
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta

6.2.13 G801K13: Rettangolo dato uno spigolo e i lati


Parametri obbligatori:
MPX, MPY: coordinate dello spigolo in basso a sinistra
MPG: angolo rotazione rettangolo
MPN: numero di punti sulla base del rettangolo MP
L

MPL: base del rettangolo


MP

MPM: numero di punti sull'altezza del rettangolo


H

G
MP
MPH: altezza del rettangolo

Parametri opzionali per la gestione del posizionamento di una


MP

lavorazione
M

(MPF): MPF = 0 : sui punti si posiziona un ciclo fisso MPY MP N

MPF <> 0 : sui punti si posiziona una figura programmata in nel 0


MPX

programma CMOS numero MPF


(MPR): MPR = 0 : non ruota la figura
MPR = 1 : ruota la figura dell’angolo di inclinazione della retta

92
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3 MACRO DI LAVORAZIONE DI Z32 (G802)

Tramite la funzione G802 è possibile programmare macro di lavorazione.


Le macro di lavorazione sono sottoprogrammi di sistema non modificabili e sono attivabili
programmando
G802 K..
Dove la lettera K deve essere seguita dal numero che identifica il ciclo da attivare.
La programmazione della G802 è la seguente:

Passaggio di parametri:
Il passaggio di parametri è effettuabile programmando i parametri da passare sulla stesa riga
di programma dove è programmata la G802. Nella riga di programma dove è presente una
G802 non è possibile programmare parametri diversi da quelli accettati per la
programmazione dei cicli fissi.
Rispetto alle G800 e G801, nella programmazione della G802 è possibile programmare le quote
degli assi continui per definire il punto di riferimento della macro (ad esempio il centro di
una cava)
Ad esempio, riferendosi al ciclo G802K1, è possibile impostare i parametri programmando:
G802 X10 Y10 MMA0 MMB-20 MMC10

Un esempio di programmazione non corretta è la seguente:


G802 X10 Y10 MMA0 MMB-20 MMC10 F1000

Il parametro F non è programmabile nella riga della G802:


G802 X10 Y10 MMA0 MMB-20 MMC10 F1000

Attivazione di una macro di lavorazione


Per richiamare e attivare un ciclo fisso occorre programmare sulla riga della G802 anche il
parametro K di scelta ciclo:
G802K1 X10 Y10 MMA0 MMB-20 MMC10

La programmazione dei parametri e l’attivazione del ciclo fisso è possibile sulla stessa riga o
su righe diverse.
Ad esempio sono equivalenti le seguenti istruzioni
G802K1 X10 Y10 MMA0 MMB-20 MMC10 (programmazione parametri e
attivazione ciclo)
e
G802 X10 Y10 MMA0 MMB-20 MMC10 (programmazione parametri)
G802K1 (attivazione ciclo)
Al termine della lavorazione i parametri del ciclo vengono azzerati, pertanto se si desidera
richiamare una nuova lavorazione, i parametri devono essere riprogrammati.

Gestione dei parametri opzionali


Nella definizione dei cicli fissi sono presenti alcuni parametri definiti come opzionali.
Se si desidera non utilizzare alcuni parametri opzionali è possibile non programmare tali
parametri.

93
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Uso di una macro di lavorazione come un ciclo fisso


Programmando il parametro HX1 sulla riga della G802 K.. è possibile usare una macro di
lavorazione come un ciclo fisso in modo da poter replicare tale macro su più punti.
Ad esempio è possibile abbinare una macro di lavorazione usata come ciclo fisso con una
macro di posizionamento.
Nel caso in cui una macro di lavorazione sia utilizzata come ciclo fisso, il punto di riferimento
della macro programmato con le quote assi (ad esempio il centro di una cava) non sarà più
impostato sulla riga della G802, dato che il punto su cui posizionare la macro viene deciso dai
posizionamenti successivi.

Ad esempio:
G802 MMA0 MMB-30 MMC10 MMD60
G802K1 HX1 MMK1 MME2 MMW1 MMQ4
Si può notare che non sono programmate le quote del centro cava

La disattivazione del ciclo fisso si effettua con la funzione


G802K0
Dopo la disattivazione del ciclo fisso, i parametri del ciclo vengono azzerati, pertanto se si
desidera richiamare un nuovo ciclo fisso, i parametri devono essere riprogrammati.

La sospensione del ciclo fisso si opera con la funzione G27X (vedi introduzione ai cicli fissi G800).

Usando una macro di lavorazione in congiunzione con una macro di posizionamento è possibile
utilizzare la rotazione della lavorazione (parametro MHR).

94
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.1 G802K1: Sgrossatura di cave circolari

Parametri obbligatori:
coordinate del centro cava (programmate con le quote degli
MMP MMJ=0
assi)
MMD: diametro della cava
MMA: quota di inizio cava AA, AB
MMB: quota di fine cava MMJ=1
MMC: quota di ritorno alto MMD
MMK: profondità di passata MMC
R
MME: distanza di sicurezza MMS MME
MMA

Parametri opzionali per la gestione della conicità: MMK


(MMN): conicità (angolo di sformatura).
Deve essere compreso tra 0 e 80 gradi. MMB
MMU MMN

Parametri opzionali per la gestione della feed di affondamento:


(MMF): feed per i movimenti di affondamento.
Se non programmata, o programmata uguale a 0, viene considerata una feed di
affondamento pari ad F

Parametri opzionali per la gestione della discesa in rampa:


(MMW): discesa in rampa:
MMW=0: discesa in profondità effettuata in centro cava dentro ad un preforo
MMW=1: discesa in profondità effettuata con un movimento a spirale con pendenza
massima MMQ
(MMQ): massima pendenza della rampa di discesa.
Se MMQ=0, la discesa avviene con un unico movimento.

Parametri opzionali per la gestione del ricoprimento:


(MMP): ricoprimento minimo tra le passate.
Compreso tra 0.2 e 1.9 volte il raggio fresa. Se MMP=0, viene assunto MMP=0.2 volte
il raggio fresa

Parametri opzionali per la gestione del senso di percorrenza:


(MMJ): senso di percorrenza:
MMJ=0 senso antiorario (concordanza)
MMJ=1 senso orario (discordanza)

Parametri opzionali per la gestione del sovrametallo:


(MMS): sovrametallo da lasciare a fine sgrossatura.
(MMV): gestione del sovrametallo a fine passata:
MMV=0 lascia il sovrametallo
MMV=1 toglie il sovrametallo con una passata finale a misura MMD

Parametri opzionali per la gestione di utensili non cilindrici:


(MMU): raggio dell’inserto per utensili torici
Il parametro R rappresenta il raggio utensile, il parametro MMU il raggio dell’inserto:
MMU=0, la fresa è cilindrica
MMU<R, la fresa è torica
MMU=R, la fresa è sferica

95
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.2 G802K2: Sgrossatura di cave rettangolari noto il centro cava


Parametri obbligatori:
coordinate del centro cava (programmate con le quote degli
assi) MMP
MML: base della cava MMG
MMR
MMH: altezza della cava
AA, AB
MMR: raggio del raccordo
MMA: quota di inizio cava MMH
MMB: quota di fine cava MML
MMC
MMC: quota di ritorno alto MMS MME
R MMA
MME: distanza di sicurezza
MMK: profondità di passata
MMK

Parametri opzionali per la gestione della rotazione della cava: MMB


(MMG): angolo di rotazione della cava. MMU MMN

Parametri opzionali per la gestione della conicità:


(MMN): conicità (angolo di sformatura). Deve essere compreso tra 0 e 80 gradi.
(MMX): gestione dei raccordi in caso di cava conica:
MMX=0 raccordi variabili
MMX=1 raccordi costanti

Parametri opzionali per la gestione della feed di affondamento:


(MMF): feed per i movimenti di affondamento.
Se non programmata, o programmata uguale a 0, viene considerata una feed di
affondamento pari ad F

Parametri opzionali per la gestione della discesa in rampa:


(MMW): discesa in rampa:
MMW=0: iscesa in profondità effettuata in centro cava dentro ad un preforo
MMW=1: discesa in profondità effettuata con un movimento a spirale con pendenza
massima MMQ
(MMQ): massima pendenza della rampa di discesa.
Se MMQ=0, la discesa avviene con un unico movimento.

Parametri opzionali per la gestione del ricoprimento:


(MMP): ricoprimento minimo tra le passate.
Compreso tra 0.2 e 1.9 volte il raggio fresa. Se MMP=0, viene assunto MMP=0.2 volte
il raggio fresa

Parametri opzionali per la gestione del senso di percorrenza:


(MMJ): senso di percorrenza:
MMJ=0 senso antiorario (concordanza)
MMJ=1 senso orario (discordanza)

Parametri opzionali per la gestione del sovrametallo:


(MMS): sovrametallo da lasciare a fine sgrossatura.
(MMV): gestione del sovrametallo a fine passata:
MMV=0 lascia il sovrametallo
MMV=1 toglie il sovrametallo con una passata finale a misura MMD

Parametri opzionali per la gestione di utensili non cilindrici:


(MMU): raggio dell’inserto per utensili torici
Il parametro R rappresenta il raggio utensile, il parametro MMU il raggio dell’inserto:
MMU=0, la fresa è cilindrica
MMU<R, la fresa è torica
MMU=R, la fresa è sferica

96
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.3 G802K3: Sgrossatura di cave rettangolari noto uno spigolo

Il ciclo di lavorazione di questa macro è del tutto uguale alla macro di sgrossatura di cave rettangolari
dato il centro cava. L’unica differenza sta nel fatto che, al posto delle coordinate del centro cava,
vengono date le coordinate di uno spigolo della cava.

In questo caso i parametri AA e AB rappresentano uno spigolo della cava, MML e MMH sono i due lati
della cava. Il segno di MML e di MMH deve essere dato in accordo alla figura sottostante:

MML>0

MMH>0 MMH<0

MML>0
MML<0

MMH>0 MMH<0

MML<0

MMP
MMG
MMR

MMH
MML
MMC
MMS MME
R MMA

MMK

MMB
MMU MMN

97
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.4 G802K4: Finitura di cave circolari

Parametri obbligatori:
coordinate del centro cava (programmate con le quote degli
assi)
MMJ=0
MMD: diametro della cava AA, AB
MMA: quota di inizio cava
MMB: quota di fine cava
MMD MMJ=1
MMC: quota di ritorno alto MMQ
MME: distanza di sicurezza
MMK: profondità di passata R MMC
MMS MME
MMA
Parametri opzionali per la gestione della rotazione della parete di
attacco: MMK
(MMV): definizione della parete sulla quale vengono effettuati MMB
MMU
gli attacchi e i distacchi dal profilo: MMN
MMV=0: parete di destra
MMV=1: parete di sinistra

Parametri opzionali per la gestione della rotazione della distanza di attacco:


(MMQ): distanza di attacco e di distacco dal profilo.
Se non programmata, o programmata uguale a 0, viene considerata un valore pari a
2.

Parametri opzionali per la gestione della conicità:


(MMN): conicità (angolo di sformatura). Deve essere compreso tra 0 e 80 gradi.

Parametri opzionali per la gestione della feed di affondamento:


(MMF): feed per i movimenti di affondamento.
Se non programmata, o programmata uguale a 0, viene considerata una feed di
affondamento pari ad F

Parametri opzionali per la gestione della fresatura a spirale:


(MMW): fresatura a spirale
MMW=0 finitura con passate a profondità costante
MMW=1 finitura a spirale

Parametri opzionali per la gestione del senso di percorrenza:


(MMJ): senso di percorrenza:
MMJ=0 senso antiorario (concordanza)
MMJ=1 senso orario (discordanza)

Parametri opzionali per la gestione del sovrametallo:


(MMS): sovrametallo da lasciare a fine lavorazione

Parametri opzionali per la gestione di utensili non cilindrici:


(MMU): raggio dell’inserto per utensili torici
Il parametro R rappresenta il raggio utensile, il parametro MMU il raggio dell’inserto:
MMU=0, la fresa è cilindrica
MMU<R, la fresa è torica
MMU=R, la fresa è sferica

98
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.5 G802K5: Finitura di cave rettangolari noto il centro


Parametri obbligatori:
coordinate del centro cava (programmate con le quote degli
assi)
MML: base della cava MMQ
MMH: altezza della cava MMG
MMR
MMR: raggio del raccordo
AA, AB
MMA: quota di inizio cava
MMB: quota di fine cava MMH
MMC: quota di ritorno alto MML
MMC
MME: distanza di sicurezza R MMS MME
MMK: profondità di passata MMA

MMK
Parametri opzionali per la gestione della rotazione della parete di
attacco: MMB
MMU MMN
(MMV): definizione della parete sulla quale vengono effettuati
gli attacchi e i distacchi dal profilo:
MMV=0: parete di destra
MMV=1: parete di sinistra

Parametri opzionali per la gestione della rotazione della distanza di attacco:


(MMQ): distanza di attacco e di distacco dal profilo.
Se non programmata, o programmata uguale a 0, viene considerata un valore pari a
2.

Parametri opzionali per la gestione della rotazione della cava:


(MMG): angolo di rotazione della cava.

Parametri opzionali per la gestione della conicità:


(MMN): conicità (angolo di sformatura). Deve essere compreso tra 0 e 80 gradi.
(MMX): gestione dei raccordi in caso di cava conica:
MMX=0 raccordi variabili
MMX=1 raccordi costanti

Parametri opzionali per la gestione della feed di affondamento:


(MMF): feed per i movimenti di affondamento.
Se non programmata, o programmata uguale a 0, viene considerata una feed di
affondamento pari ad F

Parametri opzionali per la gestione della fresatura a spirale:


(MMW): fresatura a spirale
MMW=0 finitura con passate a profondità costante
MMW=1 finitura a spirale (solo per cave cilindriche, MMN=0)

Parametri opzionali per la gestione del senso di percorrenza:


(MMJ): senso di percorrenza:
MMJ=0 senso antiorario (concordanza)
MMJ=1 senso orario (discordanza)

Parametri opzionali per la gestione del sovrametallo:


(MMS): sovrametallo da lasciare a fine lavorazione

Parametri opzionali per la gestione di utensili non cilindrici:


(MMU): raggio dell’inserto per utensili torici

Il parametro R rappresenta il raggio utensile, il parametro MMU il raggio dell’inserto:


MMU=0, la fresa è cilindrica
MMU<R, la fresa è torica
99
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

MMU=R, la fresa è sferica

6.3.6 G802K6: Finitura di cave rettangolari noto uno spigolo

Il ciclo di lavorazione di questa macro è del tutto uguale alla macro di finitura di cave rettangolari
dato il centro cava. L’unica differenza sta nel fatto che, al posto delle coordinate del centro cava,
vengono date le coordinate di uno spigolo della cava.

In questo caso i parametri AA e AB rappresentano uno spigolo della cava, MML e MMH sono i due lati
della cava. Il segno di MML e di MMH deve essere dato in accordo alla figura sottostante:

MML>0

MMH>0 MMH<0

MML>0
MML<0

MMH>0 MMH<0

MML<0

MMQ
MMG
MMR

MMH
MML
MMC
R MMS MME
MMA

MMK

MMB
MMU MMN

100
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.7 G802K7: Asola rettilinea


Parametri obbligatori:
coordinate del centro asola (programmate con le quote degli
assi) MMG
MML: lunghezza dell’asola B A
MMD
MMD: larghezza dell’asola AA, AB
MMA: quota di inizio asola
MMB: quota di fine asola MML
MMC: quota di ritorno alto
MME: distanza di sicurezza MMC
MMS MME
MMA
Gestione tipologia di lavorazione: MMK, MMH
MMV: tipo di lavorazione
MMV = 0: sgrossatura e finitura con lo stesso utensile MMB
MMV = 1: solo sgrossatura
MMV = 2: solo finitura
MMK: profondità di passata in sgrossatura
MMH: profondità di passata in finitura

Parametri opzionali par la gestione della rotazione:


(MMG): angolo di rotazione rispetto al primo asse del piano
La rotazione viene effettuata intorno al centro asola

Parametri opzionali par la gestione del sovrametallo:


(MMS): sovrametallo da lasciare in sgrossatura

Parametri opzionali par la gestione dell’affondamento:


(MMW): modalità di penetrazione
MMW = 0: affondamenti in un preforo sul punto A o sul punto B a seconda del segno
di MML:
MML>0 affondamenti sul punto A
MML<0 affondamenti sul punto B
MMW > 0: affondamenti in rampa con MMW pendolamenti tra il punto A e il punto B
(MMF): feed di affondamento

Parametri opzionali par la gestione del senso della lavorazione:


(MMJ): senso della lavorazione:
MMJ = 0: senso antiorario
MMJ = 1: senso orario

101
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.8 G802K8: Asola circolare noto il centro asola

Parametri obbligatori:
coordinate del centro asola (programmate con le quote degli
assi)
MML: lunghezza dell’asola
MMR A
MMD: larghezza dell’asola
MMR: raggio di curvatura dell’asola
MMA: quota di inizio asola MMC
MMB: quota di fine asola MMS MME
MMA
MMC: quota di ritorno alto AA, AB MMG
MME: distanza di sicurezza MMK
MMH
MMB
MMD
MML
Gestione tipologia di lavorazione:
MMV: tipo di lavorazione B
MMV = 0: sgrossatura e finitura con lo stesso utensile
MMV = 1: solo sgrossatura
MMV = 2: solo finitura
MMK: profondità di passata in sgrossatura
MMH: profondità di passata in finitura

Parametri opzionali par la gestione della rotazione:


(MMG): angolo di rotazione rispetto al primo asse del piano
La rotazione viene effettuata intorno al centro asola

Parametri opzionali par la gestione del sovrametallo:


(MMS): sovrametallo da lasciare in sgrossatura

Parametri opzionali par la gestione dell’affondamento:


(MMW): modalità di penetrazione
MMW = 0: affondamenti in un preforo sul punto A o sul punto B a seconda del segno
di MML
MML>0 affondamenti sul punto A
MML<0 affondamenti sul punto B
MMW > 0: affondamenti in rampa con MMW pendolamenti tra il punto A e il punto B
(MMF): feed di affondamento

Parametri opzionali par la gestione del senso della lavorazione:


(MMJ): senso della lavorazione:
MMJ = 0: senso antiorario
MMJ = 1: senso orario

102
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.9 G802K9: Asola circolare noto il centro di curvatura

Parametri obbligatori:
coordinate del centro di curvatura dell’asola (programmate
con le quote degli assi)
MML: lunghezza dell’asola
MMD: larghezza dell’asola A
MMR: raggio di curvatura dell’asola MMR
MMA: quota di inizio asola
MMB: quota di fine asola

MML
MMC: quota di ritorno alto AA, AB MMG
MME: distanza di sicurezza
MMC MMD
MMS MME
MMA
Gestione tipologia di lavorazione:
MMV: tipo di lavorazione MMK
B
MMH
MMV = 0: sgrossatura e finitura con lo stesso utensile MMB
MMV = 1: solo sgrossatura
MMV = 2: solo finitura
MMK: profondità di passata in sgrossatura
MMH: profondità di passata in finitura

Parametri opzionali par la gestione della rotazione:


(MMG): angolo di rotazione rispetto al primo asse del piano
La rotazione viene effettuata intorno al centro asola

Parametri opzionali par la gestione del sovrametallo:


(MMS): sovrametallo da lasciare in sgrossatura

Parametri opzionali par la gestione dell’affondamento:


(MMW): modalità di penetrazione
MMW = 0: affondamenti in un preforo sul punto A o sul punto B a seconda del segno
di MML
MML>0 affondamenti sul punto A
MML<0 affondamenti sul punto B
MMW > 0: affondamenti in rampa con MMW pendolamenti tra il punto A e il punto B
(MMF): feed di affondamento

Parametri opzionali par la gestione del senso della lavorazione:


(MMJ): senso della lavorazione:
MMJ = 0: senso antiorario
MMJ = 1: senso orario

103
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.10 G802K10: Filettatura di un foro con fresa monotagliente

Parametri obbligatori:
coordinate del centro del foro (programmate con le quote degli MMD
MMA
assi)
MMD: diametro fondo filetto
MMQ: diametro foro MMP
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione MMQ
MMC: quota di ritorno alto
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto MMB
(MMD). Su questo diametro vengono eseguite le
(eventuali) MMN passate di lisciatura.

Parametri opzionali per la gestione della distanza di sicurezza


(MME): distanza di sicurezza sull’inizio e sulla fine del filetto.
L’attacco al filetto (ed il distacco dal filetto) viene eseguito con un quarto di filetto,
il parametro MME determina il diametro dal quale inizia il quarto di filetto di attacco
alla lavorazione. Se, ad esempio, il diametro interno è 50, il raggio fresa è 10 e MME
è 2, il punto di attacco è a X0 Y13. Se MME=0 viene presa di default una distanza di
sicurezza pari a 2.

Parametri opzionali per la gestione delle passate di lisciatura


(MMN): numero passate di lisciatura.

Parametri opzionali per la gestione dell’ultima passata di sgrossatura


(MMW): profondità dell'ultima passata di sgrossatura.
Se MMW=0, le passate di sgrossatura hanno tutte il medesimo incremento di passata,
minore o uguale a MMK. Se MMW>0, l’ultima passata di sgrossatura è profonda MMW.

Parametri opzionali per la gestione del senso del filetto


(MMJ): senso del filetto
MMJ = 0 : filetto destro
MMJ = 1 : filetto sinistro

104
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.11 G802K11: Filettatura di un foro con fresa a pettine

Parametri obbligatori:
coordinate del centro del foro (programmate con le quote MMD
degli assi) MMA
MMD: diametro fondo filetto
MMQ: diametro foro
MMP
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione
MMC: quota di ritorno alto MMQ
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto MMH
(MMD). Su questo diametro vengono eseguite le MMB
(eventuali) MMN passate di lisciatura.
MMH: altezza del pettine (mm o pollici per macchine in pollici)
MMS: sovrapposizione filetti (in numero di filetti).
Se la zona da filettare è più bassa dell’altezza del pettine, la filettatura può essere
eseguita in un solo giro (più il quarto di giro di attacco e il quarto di giro di distacco),
se la zona da filettare è più alta dell’altezza del pettine, la filettatura viene eseguita
in più giri. Dopo ogni giro, il pettine viene traslato di una quantità pari all’altezza del
pettine meno la sovrapposizione programmata.

Parametri opzionali per la gestione della distanza di sicurezza


(MME): distanza di sicurezza sull’inizio e sulla fine del filetto.
L’attacco al filetto (ed il distacco dal filetto) viene eseguito con un quarto di filetto,
il parametro MME determina il diametro dal quale inizia il quarto di filetto di attacco
alla lavorazione. Se, ad esempio, il diametro interno è 50, il raggio fresa è 10 e MME
è 2, il punto di attacco è a X0 Y13. Se MME=0 viene presa di default una distanza di
sicurezza pari a 2.

Parametri opzionali per la gestione delle passate di lisciatura


(MMN): numero passate di lisciatura.

Parametri opzionali per la gestione dell’ultima passata di sgrossatura


(MMW): profondità dell'ultima passata di sgrossatura.
Se MMW=0, le passate di sgrossatura hanno tutte il medesimo incremento di passata,
minore o uguale a MMK. Se MMW>0, l’ultima passata di sgrossatura è profonda MMW.

Parametri opzionali per la gestione del senso del filetto


(MMJ): senso del filetto
MMJ = 0 : filetto destro
MMJ = 1 : filetto sinistro

105
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.12 G802K12: Filettatura di un perno con fresa monotagliente

Parametri obbligatori:
coordinate del centro perno (programmate con le quote degli MMD
assi) MMA
MMD: diametro esterno
MMQ: diametro fondo filetto
MMP
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione
MMC: quota di ritorno alto MMQ
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto
MMB
(MMD). Su questo diametro vengono eseguite le
(eventuali) MMN passate di lisciatura.

Parametri opzionali per la gestione della distanza di sicurezza


(MME): distanza di sicurezza sull’inizio e sulla fine del filetto.
L’attacco al filetto (ed il distacco dal filetto) viene eseguito con un quarto di filetto,
il parametro MME determina il diametro dal quale inizia il quarto di filetto di attacco
alla lavorazione. Se, ad esempio, il diametro interno è 50, il raggio fresa è 10 e MME
è 2, il punto di attacco è a X0 Y37. Se MME=0 viene presa di default una distanza di
sicurezza pari a 2.

Parametri opzionali per la gestione delle passate di lisciatura


(MMN): numero passate di lisciatura.

Parametri opzionali per la gestione dell’ultima passata di sgrossatura


(MMW): profondità dell'ultima passata di sgrossatura.
Se MMW=0, le passate di sgrossatura hanno tutte il medesimo incremento di passata,
minore o uguale a MMK. Se MMW>0, l’ultima passata di sgrossatura è profonda MMW.
Parametri opzionali per la gestione del senso del filetto
(MMJ): senso del filetto
MMJ = 0 : filetto destro
MMJ = 1 : filetto sinistro

106
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.13 G802K13: Filettatura di un perno con fresa a pettina

Parametri obbligatori:
coordinate del centro perno (programmate con le quote degli MMD
MMA
assi)
MMD: diametro esterno
MMQ: diametro fondo filetto MMP

MMH
MMA: quota di inizio lavorazione
MMB: quota di fine lavorazione MMQ
MMC: quota di ritorno alto
MMP: passo filetto
MMK: profondità di passate per la sgrossatura del filetto.
La lavorazione di sgrossatura termina sul fondo filetto MMB
(MMD). Su questo diametro vengono eseguite le
(eventuali) MMN passate di lisciatura.
MMH: altezza del pettine (mm o pollici per macchine in pollici)
MMS: sovrapposizione filetti (in numero di filetti).
Se la zona da filettare è più bassa dell’altezza del pettine, la filettatura può essere
eseguita in un solo giro (più il quarto di giro di attacco e il quarto di giro di distacco),
se la zona da filettare è più alta dell’altezza del pettine, la filettatura viene eseguita
in più giri. Dopo ogni giro, il pettine viene traslato di una quantità pari all’altezza del
pettine meno la sovrapposizione programmata.

Parametri opzionali per la gestione della distanza di sicurezza


(MME): distanza di sicurezza sull’inizio e sulla fine del filetto.
L’attacco al filetto (ed il distacco dal filetto) viene eseguito con un quarto di filetto,
il parametro MME determina il diametro dal quale inizia il quarto di filetto di attacco
alla lavorazione. Se, ad esempio, il diametro interno è 50, il raggio fresa è 10 e MME
è 2, il punto di attacco è a X0 Y37. Se MME=0 viene presa di default una distanza di
sicurezza pari a 2.

Parametri opzionali per la gestione delle passate di lisciatura


(MMN): numero passate di lisciatura.

Parametri opzionali per la gestione dell’ultima passata di sgrossatura


(MMW): profondità dell'ultima passata di sgrossatura.
Se MMW=0, le passate di sgrossatura hanno tutte il medesimo incremento di passata,
minore o uguale a MMK. Se MMW>0, l’ultima passata di sgrossatura è profonda MMW.

Parametri opzionali per la gestione del senso del filetto


(MMJ): senso del filetto
MMJ = 0 : filetto destro
MMJ = 1 : filetto sinistro

107
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.3.14 G802K14: Spianatura

Parametri obbligatori:
coordinate del primo vertice dell’area rettangolare AA, AB
MMV=1
(programmate con le quote degli assi)
MMX: coordinata sul primo asse del piano di lavoro del secondo
vertice dell’area rettangolare MMV=0 MMP
MMY: coordinata sul secondo asse del piano di lavoro del
secondo vertice dell’area rettangolare
MMA: quota di avvicinamento in rapido
MMB: quota di spianatura
MMC: quota di ritorno alto MMX, MMY
MMC
Parametri opzionali per la gestione del ricoprimento:
(MMP): ricoprimento minimo tra le passate.
MMA MMB
Compreso tra 0.2 e 1.9 volte il raggio fresa. Se MMP=0,
viene assunto MMP=0.2 volte il raggio fresa

Parametri opzionali per la gestione della feed di affondamento:


(MMF): feed di affondamento.
Se non programmata, o programmata uguale a 0, viene considerata una feed di
affondamento pari ad F

Parametri opzionali per la gestione dell’incremento di passata


(MMV): Tipo di incremento di passata
MMV = 0 : l’incremento di passata viene effettuato in G1 all’interno del rettangolo di
lavoro
MMV = 1 : l’incremento di passata viene effettuato in G0 all’esterno del rettangolo di
lavoro di 2mm

108
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

6.4 CICLI FISSI DEL COSTRUTTORE (G27C..)

Tramite l’istruzione G27C... è possibile attivare un set di cicli fissi generalmente forniti dal
costruttore della macchina
La sintassi e l’uso dell’istruzione G27C.. è la stessa dell’istruzione G800K..:

 G27C.. deve essere seguita dal numero del ciclo da attivare (Es. G27C1)
 Una volta attivato il ciclo fisso, la sua esecuzione verrà effettuata su tutti i successivi
posizionamenti in rapido
 La sospensione del ciclo fisso si effettua tramite l‘istruzione G27X (come descritto
relativamente alla funzione G800)
 La disattivazione del ciclo fisso si effettua tramite l’istruzione G27C0

109
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7. PROFILI PIANI

Lo Z32 dispone di un set di istruzioni per risolvere i problemi di calcolo di un profilo geometrico
complesso.
E’ possibile utilizzare le istruzioni geometriche per la programmazione di profili complessi solo sul
piano di lavoro definito dalla G25.
Nel seguito supporremo di essere nella condizione di piano di lavoro X-Y. Per programmare profili in
piani diversi accorre impostare la G25 opportuna e programmare al posto degli assi X e Y, gli assi
interessati al movimento.

Un profilo geometrico è costituito dai seguenti elementi:

 punti
 segmenti rettilinei
 archi di cerchio
 smussi
 raccordi

Attenzione: Con funzione G12 (interpolazione elicoidale) attiva è possibile coordinare ad un


qualsiasi elemento di profilo anche un movimento lungo la direzione del terzo asse impostato
tramite la funzione G25.

Alcune precisazioni preliminari:

 Un punto definito è un qualsiasi punto del piano programmato o calcolato dallo Z32. Un punto
definito può essere un punto iniziale o un punto finale di un tratto.
 Un tratto è un segmento di retta o un arco di cerchio, può essere aperto o chiuso.
 Una retta o un cerchio si dicono tratti chiusi quando è noto il loro punto finale
 Una retta o un cerchio si dicono tratti aperti quando il punto finale non è definito, ma dovrà
essere calcolato come intersezione col tratto successivo.
 Ogni tratto può terminare con uno smusso (solo tra tratti rettilinei) o con un raccordo.

Come dettagliato in seguito, i parametri utilizzati per la definizione di tratti geometrici sono i
seguenti:

 Punto finale del tratto. Programmato con il nome dell’asse e le quote, ad esempio X e Y.
 Coordinate del centro di un arco. Programmate con i parametri “I” e “J” dove “I” è la
coordinata rispetto al primo asse del piano di lavoro e “J” è la coordinata rispetto al secondo
asse del piano di lavoro
 Raggio di un arco. Programmato con il parametro “RA” positivo.
 Pendenza finale di un tratto. Programmata con parametro “QF” espresso in gradi secondo

QF > 0 QF < 0

0 < QF < 90 -270 > QF > -360

90 < QF < 180 -180 > QF > -270


QF

270 < QF < 360 0 > QF > -90


180 < QF < 270 -90 > QF > -180

lo schema:

 Raggio di raccordo. Programmato col parametro segnato “RR”.


110
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

RR>0 raccordo antiorario (G3)


RR<0 raccordo orario (G2)
 Parametro di scelta raccordo. Programmato con il parametro “KA”:
KA0 raccordo corto
KA1 raccordo lungo
 Smusso. Programmato con i parametri “RB” e “QA”
 Lunghezza in gradi di un arco o pendenza ausiliaria. Programmata col parametro “QA”
espresso in gradi come il parametro QF. Viene utilizzato in due casi:
Per definire la lunghezza in gradi di un arco di cerchio.
Per definire la pendenza della retta nelle combinazioni retta-cerchio “G1 G2/G3”
 Scelta intersezione. Programmata con il parametro “KA”:
Il punto finale di un tratto aperto può essere ricavato dall’intersezione con il tratto
successivo.
Se almeno uno di questi enti è un cerchio si possono avere due soluzioni.
Se si osserva il movimento con riferimento al primo ente programmato, una delle soluzioni fa
una svolta a destra e l'altra una svolta a sinistra.

La scelta della soluzione viene fatta col parametro KA:

KA0 KA1

KA0 (gira a sinistra)


KA1 (gira a destra)

KA0 KA1

Se KA è programmato in un blocco in cui non è previsto non provoca allarmi: semplicemente non ha
effetto; KA0 può essere omesso.

Dato che il segno di un eventuale raggio di raccordo determina quale intersezione viene scelta, nella
maggior parte dei casi, la programmazione di un raggio di raccordo evita di dover programmare la
scelta dell’intersezione:

111
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

RR>0 RR<0

RR>0 raccordo antiorario (G3)


RR<0 raccordo orario (G2)

RR>0 RR<0

112
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.1 RETTE CHIUSE


Una retta si dice chiusa quando è definito il suo punto finale.

7.1.1 Retta con punto finale definito (G1 X.. ; G1 Y.. ; G1 X.. Y..)
Il punto finale può essere definito con una o due coordinate:

G1 X..
G1 Y..
G1 X.. Y..

Se il punto finale è definito con una sola coordinata si hanno rette parallele agli assi.
Se il punto finale è definito con due coordinate, si ha una retta inclinata.

La retta può provenire da un altro punto definito.


La retta può provenire da un cerchio aperto, in tal caso viene forzata la condizione di tangenza al
cerchio. In questo caso il punto finale deve essere definito con entrambe le coordinate e deve essere
esterno al cerchio, altrimenti si ha l’errore CN3314.
La retta non può provenire da una retta aperta.

R10

G0 X40 Y0
G1 X20 Y20
30 X10
Y30
20 G3 I0 J30
G1 X-20 Y20
X-40
Y0
0
X

-40 -20 0 10 20 40

113
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.1.2 Retta con coordinata finale e pendenza note (G1 X..QF.. ; G1


Y..QF..)

G1 X.. QF..
G1 Y.. QF..

La retta deve provenire da un punto definito. Partendo dal punto iniziale noto, viene raggiunta la
coordinata programmata con un tratto avente inclinazione QF.

40
45°
30°
G0 X40 Y0
30
G1 Y10
30°
30° Y30 QF120
X15
X0 QF210
10
Y40 QF135
0
X-40
X X-50 QF-120
Y0

-50 -40 0 15 40

7.1.3 Retta con punto finale definito da due coordinate e pendenza nota
(G1 X, Y QF)

G1 X.. Y.. QF..

Viene raggiunto il punto finale programmato con un tratto avente pendenza programmata in QF.
Il tratto precedente deve essere un cerchio aperto oppure una retta aperta.
Se il tratto precedente è chiuso viene segnalato un errore.
Il punto iniziale della retta viene calcolato intersecando la retta con l’ente precedente.
Se l’ente precedente è un cerchio aperto, le intersezioni possibili sono due. Per scegliere tra le due
intersezioni è possibile utilizzare il parametro di scelta KA oppure inserire un raccordo segnato di
valore molto piccolo.
Y G0 X50 Y0
G3 I35 J0 KA1 (oppure RR-0.0001)
G1 X0 Y30 QF150
40 X-10
G2 I-25 J30 KA1 (oppure RR-0.0001)
30 G1 X-40 Y40 QF100
30°
R15

10°
R15

0
X

-40 -25 -10 0 35 50

114
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Tutte le rette chiuse possono terminare ed essere precedute da un raccordo RR o da uno smusso RB
se l’ente che precede o che segue è una retta.

40
R5 R10
G0 X50 Y0
30
R10 G3 I35 J0 RR-5
G1 X0 Y30 QF150 RR10
30° X-10 RR5
R15
G2 I-25 J30 RR-10
G1 X-40 Y40 QF100
10°
R15 R5
0
X

-40 -25 -10 0 35 50

115
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.2 RETTE APERTE (G1 ; G1 QF..)


Le rette aperte sono definite solamente in direzione e devono pertanto provenire da un punto
definito, che può essere un posizionamento in rapido, il punto finale di una retta chiusa oppure il
punto finale di un cerchio chiuso.

Il punto finale della retta viene calcolato intersecando la retta con l’ente successivo. L’ente
successivo deve essere un ente aperto, retta oppure cerchio. Non può essere un ente chiuso.

Se l’ente successivo è un cerchio, le intersezioni possibili sono due.


Per scegliere l’intersezione desiderata si deve utilizzare il parametro KA:
KA0 : gira a sinistra (è l’impostazione di default se KA non viene programmato)
KA1 : gira a destra.

L’intersezione voluta può essere scelta anche inserendo un raggio di raccordo segnato molto piccolo
(ad esempio RR0.0001 oppure RR-0.0001)

La sintassi per una retta aperta è la seguente:


G1 QF.. (retta di pendenza nota)
G1 (retta di prosecuzione)

La retta di prosecuzione conserva la pendenza dell’ente precedente.


Programmata dopo una definizione di retta chiusa con coordinate finali ed angolo, definisce una retta
di angolo noto di cui non si conosce il punto iniziale o il punto finale, ma un punto intermedio.
Ad esempio:

Y
10° 10°
15

0 X

G0 X-80 Y15
R15 R15
G1 QF-10 KA1
-80 -30 0 30 80 G3 I-30 J0 RA15 KA1
G1 X0 Y5 QF0
G1 KA1
G3 I30 J0 RA15 KA1
G1 X80 Y15 QF10

Y
10° 10°
15

10°
5

0 X

R15 R15
G0 X-80 Y15
G1 QF-10 RR-0.0001
-80 -30 0 30 80 G3 I-30 J0 RA15 RR-0.0001
G1 X0 Y5 QF10
G1 RR-0.0001
G3 I30 J0 RA15 RR-0.0001
G1 X80 Y15 QF10

116
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Programmata dopo un cerchio chiuso con coordinate centro, raggio e pendenza finale, definisce una
retta tangente al cerchio precedente inclinata di QF gradi:

30

45°
G0 X-55 Y30
20 G1 X-45 Y20
G1 RR-2
R2 R12
R2 R2
G3 I-25 J0 RA15 RR-2
5 G1 X0 Y5 QF0
0 X G1 RR-2
45° G3 I25 J0 RA15 QF45
G1 RR12
G1 X55 Y30 QF90
R15 R15

-55 -45 -25 0 25 55

117
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.3 CERCHI CHIUSI


I cerchi chiusi sono archi di cerchio che terminano su un punto di coordinate note.

7.3.1 Cerchio chiuso con centro e punto finale noti (G2/G3 I..J..X..Y..)

G2 I.. J.. X.. Y..


G3 I.. J.. X.. Y..

Il cerchio è definito con le coordinate del punto finale (XY) e le coordinate del centro del cerchio (IJ)

Il cerchio può provenire da un punto definito programmato prima del cerchio, da una retta aperta o
da un cerchio aperto.
Se il punto di inizio non sta sul cerchio viene un errore CN3214.
Se il cerchio proviene da una retta aperta o da un cerchio aperto, il parametro KA deve essere
utilizzato per la scelta dell’intersezione voluta.

KA0 : gira a sinistra (è l’impostazione di default se KA non viene programmato)


KA1 : gira a destra.

Altrimenti si può scegliere l’intersezione programmando un raggio di raccordo segnato molto piccolo.

15
R15 G0 X30 Y0
G3 X15 Y15 I15 J0
0 R15 R15 G2 X-15 Y15 I0 J20
X G3 X-30 Y0 I-15 J0

-30 -15 0 15 30

Y
30

10 10°

0
X

-50 0 30 50

G0 X-50 Y10
G1 QF10
G3 X50 Y30 I30 J30 KA1 (oppure RR-0.0001)

118
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.3.2 Cerchio chiuso con punto finale e raggio noti (G2/G3 X..Y..RA..)
Cerchio definito con le coordinate del punto finale e con il raggio.

G2 I.. J.. RA..


G3 I.. J.. RA..

Se il cerchio proviene da un punto definito, risolve il problema del cerchio passante per due punti di
raggio dato.
Se il cerchio proviene da una retta aperta, viene impostata la condizione di tangenza ed il verso di
percorrenza viene scelto in modo da uscire tangente alla retta, indipendentemente dal senso G2/G3
programmato.
Se l’ente precedente è un cerchio aperto, viene segnalato un errore.

Y
30
R50

R4 R4 R5
G0 X40 Y0
G42 X30 Y0 QF90
0
X
Y30 RR4
G2 X-30 Y30 RA50 RR4
R50 G2 X-30 Y-30 RA50 RR4
G2 X30 Y-30 RA50 RR4
R4 R4 G1 Y0
G40 X40 Y0
-30 R50

-30 0 30

Se il cerchio proviene da una retta aperta, viene impostata la condizione di tangenza ed il verso di
percorrenza viene scelto in modo da uscire tangente alla retta, indipendentemente dal senso G2/G3
programmato.

30
R15

G0 X50 Y0
G1 Y5
30° G1 QF150
5 G2 X20 Y30 RA15 (oppure G3)
G1 X0
0
X

0 20 50

119
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.3.3 Cerchio chiuso con centro, raggio e pendenza finale noti (G2/G3
I..J..RA..QF..)
Cerchio definito con coordinate del centro, raggio e pendenza finale.

G2 I.. J.. RA.. QF..


G3 I.. J.. RA.. QF..

L’ente precedente deve essere una retta aperta o un cerchio aperto, se è un ente chiuso viene
segnalato un errore.

Questa definizione geometrica è utile per definire nel blocco successivo rette aperte tangenti al
cerchio ed inclinate della stessa pendenza.

Y
R15

30
45° G0 X-10 Y0
G1 QF90 RR5
G2 I0 J30 RA15 QF-45
R5 G1 RR-5
R5
X40 Y0 QF-90
0
X

-10 0 40

7.3.4 Cerchio chiuso con centro e pendenza finale noti (G2/G3 I..J..QF..)
Cerchio definito con coordinate del centro e pendenza finale note.

G2 I.. J.. QF..


G3 I.. J.. QF..

Il cerchio deve provenire da un punto definito oppure da una retta aperta.


Se il tratto precedente è un cerchio aperto viene segnalato un errore.
Se il tratto precedente è una retta aperta risolve il problema del cerchio con centro in un punto e
tangente ad una retta. In questo caso viene impostata la condizione di tangenza ed il verso di
percorrenza viene deciso in modo da uscire tangente alla retta, indipendentemente dal senso G2/G3
programmato.
Y

45°
G0 X0 Y0
20 G1 QF45
G3 I40 J20 QF-45
45°
R5 G1 RR-5
X65 Y0 QF-90
0
X

0 40 65

120
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Se il tratto precedente è un tratto chiuso, si ha un cerchio con centro in un punto, passante per un
punto noto.
Y

10

R3 G0 X30 Y10
0 G1 X10 RR3
X
G2 I0 J0 QF90
G1 Y10

0 10 30

7.3.5 Cerchio chiuso con raggio e pendenza finale noti (G2/G3 RA..QF..)
Cerchio di raggio e pendenza finale noti.

G2 RA.. QF..
G3 RA.. QF..

Deve provenire da un punto definito, di cui conserva la pendenza, dunque è un cerchio raccordato al
movimento precedente.
Cerchio di raggio dato tangente ad una retta in un punto:

Y
R10

30

G0 X0 Y0
G1 X30 Y30
G2 RA10 QF-90
G1 Y0
0
X

0 30

121
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Cerchio di raggio noto tangente ad un cerchio in un punto :


Y

R10
R5
R15 45°
20 G0 X-30 Y0
G1 X-15 RR3
G2 I0 J0 QF-45
R3
G3 RA10 QF45
0
X
G1 RR-5
X50 Y20 QF0
45°

-30 -15 0 50

7.3.6 Cerchio chiuso con punto finale noto (G2/G3 X..Y..)


Cerchio con coordinate del punto finale note, tangente al punto precedente ed al punto successivo.
Viene forzato il senso di percorrenza opportuno indipendentemente dalla programmazione di G2/G3.

G2 X.. Y..
G3 X.. Y..

Se dopo tale cerchio si programma G1, si ha un movimento tangente al cerchio.


Y

30

20
G0 X-50 Y30
G1 X-30
G2 X-10 Y20
G3 X10 Y20
0
X
G1 RR-1
X50 Y30 QF0

-50 -30 -10 0 10 50

30

G0 X-50 Y30
G1 X-30
10
G2 X-10 Y10
G3 X10 Y10
0 G2 X30 Y30
X
G1 X50

-50 -30 -10 0 10 30 50

7.3.7 Cerchio chiuso con centro e lunghezza arco noti (G2/G3 I..J..QA..)
Cerchio proveniente da un punto definito o da una retta aperta, di centro dato, tangente al tratto
precedente e lunghezza arco di QA gradi.

G2 I.. J.. QA..


G3 I.. J.. QA..

122
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Se proviene da una retta aperta, viene impostata la condizione di tangenza ed il verso di percorrenza
viene impostato in modo da uscire tangente alla retta, indipendentemente dal senso G2/G3
programmato.
Y
90°
30

G0 X-50 Y30
20 G1 QF0
G2 I-20 J20 QA90
G3 I0 J20 QA135
135° G1
0
X X50 Y30 QF0

-50 -20 0 50

7.4 CERCHI APERTI

I cerchi aperti sono archi di cerchio il cui punto finale viene calcolato facendo l’intersezione col tratto
successivo.

7.4.1 Cerchio aperto di centro e raggio dato (G2/G3 I..J..RA..)


Il tratto precedente, retta o cerchio, deve essere aperto.

G2 I.. J.. RA..


G3 I.. J.. RA..

Le intersezioni fra una retta ed il cerchio o fra due cerchi sono in generale due. Per effettuare la
scelta dell’intersezione occorre programmare il parametro di scelta KA:

KA0 : gira a sinistra (è l’impostazione di default se KA non viene programmato)


KA1 : gira a destra.

L’intersezione voluta può essere scelta anche inserendo un raggio di raccordo segnato molto piccolo
(ad esempio RR0.0001 oppure RR-0.0001)

Il tratto successivo può essere un punto esterno al cerchio (nel qual caso viene forzata la condizione
di tangenza), un altro cerchio aperto o chiuso oppure una retta chiusa.

Anche tra il cerchio ed il tratto successivo, vale il criterio di scelta intersezione con il parametro KA
oppure con un raccordo segnato.

123
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

40

20°
30 G0 X-50 Y0
R20
G1 Y20
20 G1 QF0 RR-0.0001
G3 I-10 J30 RA20 RR-0.0001
G1 X50 Y40 QF20
0
X

-50 -10 0 50

40

R20 30

R20
20 G0 X-50 Y0
G1 Y20
G1 QF0 RR-0.0001
G3 I-10 J30 RA20 RR-0.0001
0
X
G3 I15 J40 RA20
G1 X50 Y40

-50 -10 0 15 50

124
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.4.2 Cerchio aperto di centro dato (G2/G3 I..J..)


G2 I.. J..
G3 I.. J..

Il tratto precedente può essere un punto oppure una retta aperta.

G0 X50 Y0
G1 Y10
Y G1 QF150
G2 I15 J15 KA1 (oppure RR-0.0001)
40
G1 X-20 Y20 QF180
G2 I-33 J28
28 G1 X-60 Y40

20
30° 15
10

0 0 X
0

-60 -33 -20 15 50

G0 X60 Y-10
G1 X40 Y10
G2 I30 J20 RR0.0001 (oppure KA0)
Y
G3 I0 J0 RA30 QF225
G2 I-55 J20 RR-0.0001 (oppure KA1)
G1 X-60 Y-10 QF180

20 45° 20

10
R30

0 0
X

-10 -10

-55 -20 0 30 40 60
-60

125
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.4.3 Cerchio aperto di raggio dato (G2/G3 RA..)

G2 RA..
G3 RA..

Deve provenire da un punto definito, che può essere il punto finale della retta o del cerchio
precedente. Il cerchio conserva la pendenza con il tratto precedente.
Y

30 R1
R15
25
G0 X-50 Y0
20
R1 G1 X-20 Y30
R10
R10 G2 RA10 RR1
30° 5 G1 X0 Y20 QF0
0 0 X G1 RR1
G2 I20 J20 RA15 QF-120
G3 RA10
G1 X60 Y5
-50 -20 0 20 60

126
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.5 COMBINAZIONI RETTA-CERCHIO


Si tratta di un’istruzione che genera un movimento lineare ed uno circolare tra loro tangenti.

G1 G2/G3 I..J..X..Y..
Retta tangente ad un cerchio definito da centro e punto finale

G1 G2/G3 I..J..RA..
Retta tangente ad un cerchio definito da centro e raggio

G1 G2/G3 I..J..RA..QF..
Retta tangente ad un cerchio definito da centro, raggio e pendenza finale

I tre casi devono provenire da un punto definito o da un cerchio aperto. In questo ultimo caso viene
forzata la condizione di tangenza.
La retta risulta tangente al cerchio aperto precedente.

G0 X-50 Y0
Y
G1 G2 I-1 J20 RA10
G1 G3 I30 J0 RA10 QF45
G1 RR-4
G1 X80 Y10 QF0
20
R4
45°
R10 R10 10

0 0 X

-50 -20 0 30 80

R30

50
G0 X0 Y-10
G41 X0 Y-20 QF0
G3 I0 J0
G1 G3 I0 J50 RA30
G1 G3 I0 J0 RA20 QF0
G40 X0 Y-10

0
X
R20 -10

127
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

G1 G2/G3 I..J..X..Y..QA..
Retta di pendenza QA tangente ad un cerchio definito da centro e punto finale

G1 G2/G3 I..J..RA..QA..
Retta di pendenza QA tangente ad un cerchio definito da centro e raggio

G1 G2/G3 I..J..RA..QF..QA..
Retta di pendenza QA tangente ad un cerchio definito da centro, raggio e pendenza finale

I tre casi devono provenire da una retta aperta o da un cerchio aperto.

Y
G0 X-60 Y0
G41 X-70 Y0 QF-90
G3 I-40 J0 RR-5
R5
30° 45° G1 G3 I40 J0 RA30 QF225 QA-30
R30 R30 G1 RR-5
G1 G3 I-40 J0 RA30 QF-90 QA150
X G40 X-60 Y0

R5 30°

-60 -40 0 40

128
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.6 RACCORDI AUTOMATICI (RR..)


I raccordi vengono inseriti con il parametro RR che rappresenta il raggio del raccordo.
Per inserire un raccordo è necessario osservare che, tra una retta e un cerchio, oppure tra due cerchi
non orientati, possono esistere fino ad 8 raccordi.

L’ordine di definizione dei due enti da raccordare ed il segno del raggio di raccordo permettono la
scelta della soluzione voluta tra quelle geometricamente possibili. Il CN Z32 sceglie la soluzione che
garantisce la concordanza dei sensi di percorrenza degli enti da raccordare e del raccordo stesso.

La selezione tra le varie soluzioni viene effettuata utilizzando:

Segno di RR:
RR>0 : raccordo antiorario (G3)
RR<0 : raccordo orario (G2)

Parametro di selezione KA:


KA0 : raccordo corto (è l’impostazione di default)
KA1 : raccordo lungo

E’ possibile inserire un raccordo tra due definizioni geometriche qualsiasi eccetto i casi dove la
definizione stessa dei tratti impedisce la programmazione di un raccordo ad esempio è impossibile
inserire un raccordo tra tratti che sono già tangenti per definizione.

E’ possibile pertanto inserire un raccordo tra:


- due tratti rettilinei chiusi o aperti
- un tratto rettilineo ed un tratto circolare
- due tratti circolari che si intersecano
- due tratti circolari interni
- due tratti circolari esterni

129
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Raccordi tra rette:

20

G0 X0 Y0
G1 X20 Y20 RR-10
R10 G1 X40 Y0
0
X

20 40
0

Raccordo tra rette e cerchi

20

G0 X40 Y0
G1 X20 Y0 RR10
R10
G1 X0 Y0
0
X

20 40
0

20
R10

R6 R6
G0 X0 Y20
G1 X20 RR-6
0 G3 I30 J20 X40 Y20 RR-6
X
G1 X60

30 60
0

130
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Raccordi tra cerchi

15 R5 G0 X-15 Y15
G1 X0 RR-5
R15 R15 G3 I15 J15 RR-5
R5 R5
G3 I45 J15 RA15 RR-5
0
X G1 X75 Y15 QF0

-15 0 15 45 75

Y
R10
R15
R15

G0 X-35 Y0
X
G2 I-20 J0 RR10
G2 I20 J0 RA15 RR-70
R70
G2 I-20 J0 X-35 Y0

-20 0 20

131
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Parametro di scelta KA
Il parametro di scelta KA definisce se il raccordo impostato è il raccordo lungo o il raccordo corto:
KA0 (raccordo corto)
KA1 (raccordo lungo)
Normalmente la scelta del raccordo corto è la scelta giusta ed è per questo la scelta di default di
Z32.
In alcuni casi può essere necessario impostare il raccordo lungo, ad esempio nel raccordo di due tratti
circolari esterni:

R40
Y

(Raccordo corto)
G0 X0 Y-15
G1 QF180
X G2 I-20 J0 RA15 RR-40 (KA0)
G2 I20 J0 RA15 QF180
R15 R15
G1 X0 Y-15

-20 0 20

(Raccordo lungo)
G0 X0 Y-15
R40
G1 QF180
G2 I-20 J0 RA15 RR-40 KA1
G2 I20 J0 RA15 QF180
G1 X0 Y-15

R15 R15

-20 0 20

132
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

7.7 SMUSSI
Gli smussi sono inseriti a fine tratto con il parametro RB, che rappresenta la lunghezza dello smusso
sul tratto di retta su cui RB è programmato.

Se si programma solo RB si intende uno smusso simmetrico, se si programma insieme al parametro QA


si intende che si programmano smussi non simmetrici secondo la regola:

Lunghezza secondo lato / RB = tangente di QA

E’ possibile programmare uno smusso solamente tra due tratti rettilinei.

Y 10
Y 5.77
30 10
30

10

0 0
X X

30 0 30 60
0

G0 X30 Y0 G0 X0 Y0
G1 Y30 RB10 G1 X30 Y30 RB10 QA30
G1 X0 G1 X60 Y30

Y 5.77
Y
30
10 10
30
10

30°
0 0
X X

0 30 60
0 30

G0 X30 Y0 G0 X0 Y0
G1 Y30 RB10 QA30 G1 X30 Y30 RB10
G1 X0 G1 X60 Y0

133
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

8. RICHIAMO FILES SU DISCO

8.1 LAVORAZIONE DI FILES GENERATI CON SISTEMI CAD-CAM

E’ buona norma, nel caso in cui si desideri lavorare un file generato da sistemi CAD-CAM, creare un
file di richiamo del part-program che si desidera eseguire nel quale vengono specificati i parametri
tecnologici relativi alla lavorazione.

Questo significa che nel file generato dal sistema CAM, sono presenti solo i movimenti della macchina,
mentre nel file di richiamo sono presenti tutte le impostazioni dei parametri tecnologici di
lavorazione: richiamo delle origini, richiamo degli utensili, impostazione di feed e speed, etc…

Ad esempio, supponiamo che il file generato dal sistema CAM sia il file di nome PROVA.ISO e che
venga salvato nella cartella sul disco fisso C:\Z32\PPG\CAM.

Il file lanciatore può essere a sua volta salvato sull’hard disk nella stessa cartella del file PROVA.ISO.

8.1.1 Richiamo programmi su disco in DNC ( !:L254 … ! )

Tramite l’istruzione in riga evoluta !:L254…! È possibile eseguire un programma di qualsiasi


dimensione salvato su hard disk.

La sintassi è la seguente:

!:L254 – nome programma!

Il nome del programma può essere in generale completo di path.


Ad esempio, per richiamare il file PROVA.ISO salvato nella cartella C:\Z32\PPG\CAM, è possibile
scrivere l’istruzione:
!:L254-C:\Z32\PPG\CAM\PROVA.ISO!

Si può evitare di specificare il path completo se il file lanciatore viene salvato nella stessa cartella
del file da richiamare.
Se, ad esempio, nella cartella C:\Z32\PPG\CAM vengono salvati sia il file PROVA.ISO che il suo
programma di richiamo LANCIAPROVA, l’istruzione di richiamo può essere la seguente:
!:L254-PROVA.ISO!

Attenzione: i file richiamati in DNC devono terminare con l’istruzione di fine sottoprogramma
G26. Se il programma termina con l’istruzione M2 l’esecuzione si arresta senza tornare al
programma di richiamo.

134
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

E’ possibile strutturare la propria lavorazione richiamando più files DNC alla volta.
Ad esempio, supponiamo che nella cartella C:\Z32\PPG\CAM siano presenti i due files “part1.iso” e
“part2.iso”. E’ possibile creare un file di richiamo di entrambe le lavorazioni ad esempio con il file di
richiamo seguente:

OX1 OY1 OZ1 (origine 1 valida per part1.iso)


T5 M6 (utensile per part1.iso)
F1500 S5000 M3 (feed e speed per part1)
G0 Z100 (svincolo iniziale)
!:L254-part1.iso!

OX2 OY2 OZ2 (origine 2 valida per part2.iso)


T8 M6 (utensile per part2.iso)
F3000 S4000 M3 (feed e speed per part2)
G0 Z100 (svincolo iniziale)
!:L254-part2.iso!

G0 Z100 (svincolo finale)


M2

Attenzione:
 Un programma richiamato col comando !:L254…! non può richiamare a sua volta un
programma con l’istruzione !:L254…!
 Un programma richiamato col comando !:L254…! può richiamare sottoprogrammi CMOS
oppure subtemp con i comandi !GOP...! oppure !GOS...!
 All’interno di un programma richiamato con l’istruzione !:L254…! Possono essere
utilizzate le istruzioni di salto !GON..! e ripetizione --DO --LOOP e di condizionamento
!IF..! e --IF.

8.1.2 Specifiche per il part-program da eseguire in DNC

carattere % iniziale non consentito


il part-program non deve avere in testa il carattere "%" (quindi il commento iniziale, se c'è,
deve essere racchiuso entro parentesi tonde).

terminare con G26


deve terminare con l'istruzione G26 (ritorno da sottoprogramma).

Salti GON and GON-N ammessi


I salti eseguiti con istruzioni GON o GON-N sono consentiti anche in DNC.
La destinazione di salto è sempre la prima N dall’inizio del file
Ad esempio:
!GON1!
La destinazione è la label prima N1 trovata analizzando il file dall’inizio

Attenzione: se vengono saltate grosse parti di un file DNC, è possibile che il tempo di ricerca
della label sia non trascutabile.

Attenzione: per poter utilizzare una label N come destinazione di salto, è necessario che
il carattere N sia il primo carattere della linea, senza spazi davanti.

135
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9. IMPOSTAZIONE ALTA VELOCITA’

Attenzione: in questa trattazione supporremo che sia a disposizione la funzione di controllo del
moto G113X KA2 (o la precedente G113X KA1).

Le funzioni da impostare sono:


G114
G113X KA2 (o la precedente G113X KA1)
G113B
G135

9.1 FUNZIONE DI CONTROLLO DEI MOVIMENTI: G113X KA2


Il CNC Z32 ha molti metodi di controllo del movimento, la maggior parte dei quali sono da considerare
obsolete e disponibili solamente per compatibilità con vecchie istallazioni.

Il metodo di controllo del movimento è impostabile nelle tarature macchina, oppure con funzioni G:
G98: modalità molto vecchia, da evitare
G113P: modalità errore proporzionale, produce alti errori di inseguimento
G113F: modalità feed-forward, errori inferiori, ma movimenti bruschi
G113X: prima implementazione di algoritmo di alta velocità
G113X KA1: evoluzione della G113X, più efficiente di ogni metodo precedente

L’ultima evoluzione e la più avanzata implementazione di controllo del movimento è la G113X KA2.

La macchina deve essere correttamente configurata per poter utilizzare la funzione G113X KA2
Consultare il costruttore della macchina per informazioni sulla configurazione macchina.

Se la configurazione è corretta, l’attivazione della G113X KA2 può essere fatta programmando
G114 {parametri G114} (vedere la descrizione della G114 più avanti)
G113X KA2

Suggerimento:
Programmare G113X KA2 su una singola riga di part-program, senza altre istruzioni

Attenzione:
in funzione delle tarature della macchina, la macchina può essere predisposta per avere
le funzioni G114 e G113X KA1 attive al reset, ovvero sempre attive senza necessità di
programmazione di funzioni G.
In questo caso, non è necessario programmare alcun codice G per attivare l’alta velocità,
ma può essere comunque programmata la funzione G114 per modificare le impostazioni
dell’alta velocità.

Attenzione:
per poter utilizzare la funzione G113X KA2 (o la precedente G113X KA1) è necessario aver
eseguito almeno una volta l’autotaratura G125KA1 su tutti gli assi macchina

Attenzione:
I capitoli successivi assumono che la funzione G113X KA2 (o la precedente G113X KA1) sia
attiva e disponibile in macchina.

136
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.1.1 Auto-taratura assi per G113X KA2 (G125 KA1)


Per poter utilizzare la funzione G113X KA2 (o la precedente G113X KA1) è necessario effettuare l’auto-
taratura assi su tutti gli assi macchina tramite la funzioneG125 KA1.

La funzione G125 KA1:


 Vale sia per G113X KA2 che per G113X KA1
 Esegue una taratura degli assi in modo semplice ed automatico ogni volta che si desideri
tarare al meglio il comportamento della macchina in una certa configurazione di lavoro.

Per le modalità di programmazione della taratura automatica tramite G125 KA1 consultare il
costruttore della macchina oppure il manuale dell’alta velocità.

137
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.2 PARAMETRI ALTA VELOCITÀ: G114 RA..K..J..I..HY..HR..


Sintassi generale della G114:
G114 RA.. K.. J.. I.. HY.. HR..

Per la funzione G114 esistono dei valori standard definiti nelle tarature macchina.
Per applicare i valori di default definiti nelle tarature macchina della G114 occorre
programmare:
G114 KA0

Per disattivare le impostazioni dell’alta velocità attivate dalla G114 occorre programmare
G115
Nota: normalmente non dovrebbe esserci mai necessità di disattivare il sistema di
alta velocità, pertanto la programmazione di G115 è da riservare a casi particolari.

 RA: tolleranza arrotondamento spigoli


Rappresenta la tolleranza in mm o pollici con la quale viene “arrotondata” la traiettoria.
Programmabile da 0.0000625 mm (1/16 di micron o 0,0000025 pollici) a 2 mm (0.08 pollici).

Per descrivere l'effetto di RA, si può dire che Z32 sotto G113X KA2 (o KA1) agisce come un
pilota di auto da corsa, usando la tolleranza specificata con RA come larghezza utile della
pista.
Quando la pista è diritta il pilota mantiene l'auto al centro, ma quando la pista curva o,
peggio, contiene uno spigolo, devia dal centro e usa la tolleranza, ossia la larghezza della
pista, per addolcire e quindi velocizzare la percorrenza.

Suggerimento:
RA0.015 (RA0.0006 pollici) per casi “normali”
RA0.005 (RA0.0002 pollici) o meno, se è richiesta alta precisione
RA0.05 (RA0.002 pollici) o più per sgrossatura in cui non sia richiesta precisione

 K: massima accelerazione di traiettoria


Rappresenta la massima accelerazione di traiettoria ammessa in mm/s2.
Tale valore può essere uguale o inferiore all’accelerazione definita nelle tarature di
macchina.

Suggerimento:
Programmare K solo per scopi speciali, in particolar modo, programmare K inferiore
alla taratura per ottenere una finitura migliore (ma il tempo di lavorazione
aumenterà)

Attenzione:
- Il “K” della G114 non agisce sui movimenti in rapido, per i quali restano attive le
tarature di macchina.
- K è in mm/sec2 anche se la macchina è in pollici.
- Non ha effetto se K richiede accelerazioni superiori a quanto definito dal costruttore
nelle tarature di macchina, mentre sono consentite accelerazioni inferiori, allo scopo
di ottenere movimenti ancora più morbidi e quindi un miglior grado di finitura.
- Se K non è programmato è attiva la limitazione di accelerazione di taratura

 J: indice di morbidezza dinamica


Rappresenta il fattore di morbidezza dinamica della macchina: per la sua attuazione, viene
effettuato un controllo del jerk.
Programmabile come valore intero compreso tra J0 e J6
Può essere programmato fino ad una volta inferiore al valore definito nelle tarature di
macchina
Ad esempio:
138
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

se in taratura la macchina è definita come J3, al massimo, tramite la G114, sarà


impostabile J2. Programmare valori inferiori (J1 o J0) è ammesso, ma non ha effetto,
in quanto tali valori saranno limitati a J2.

Suggerimento:
Programmare J solo per necessità speciali
- Programmare J minore delle tarature macchina per accorciare il tempo di
lavorazione (ma la qualità superficiale sarà peggiore)
- Programmare J maggiore delle tarature macchina per ottenere una migliore
superficie (ma il tempo di lavorazione aumenterà)

Attenzione:
 Il “J” della G114 non agisce sui movimenti in rapido, per i quali restano attive le
tarature di macchina.
 Se J non è programmato è attivo il valore di taratura

 I: minima velocità
Rappresenta la minima velocità sotto la quale il CN non scende.

Suggerimento:
I30 (I1.2 in pollici) è normalmente un valore soddisfacente

 HY e HR: “lisciatura” di curve per punti generate da CAM (da usare con G113B)
I parametri HR e HY sono legati all’algoritmo di lisciatura delle curve per punti attivato da
G113B. Senza la programmazione di G113B, non hanno alcuna efficacia.
In tale lisciatura, il controllo ricostruisce una traiettoria il più possibile continua e raccordata
a partire dai punti generati dal CAM.

HY è la lunghezza massima di segmento gestibile dall’algoritmo di lisciatura della


traiettoria per punti. Tratti di lunghezza superiore sono interpretati come segmenti
isolati.

HR “informa” l’algoritmo di lisciatura di curve per punti, dell’errore cordale che il


CAM ha utilizzato per generare i punti.
Per consentire una buona efficienza dell’algoritmo di lisciatura di curve per punti è
opportuno programmare in HR un valore maggiore dell’errore cordale impostato nel
CAM.

Che cosa accade se HR è minore dell'errore cordale del CAM?


Alcuni dei segmenti in G1 non saranno arrotondati, la traiettoria risultante
potrà essere non uniforme e contenere spigoli, quindi risulteranno tempi di
lavorazione più alti e peggiore finitura della superficie

Che cosa accade se HR è molto maggiore dell'errore cordale del CAM?


Poiché HR è un “limite massimo” c'è la possibilità che l'algoritmo di
arrotondamento (G113B) possa calcolare un arrotondamento eccessivo, con
conseguenti errori di lavorazione.
E’ da notare però che la G113B ha efficienti controlli interni e la possibilità
di errori di questa natura è piuttosto bassa.

Suggerimento:
HY20 (HY0.8 in caso di pollici) è normalmente il valore giusto da programmare
HR = (errore cordale del CAM ) *1.2
139
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Ad esempio, se l’errore cordale del CAM è impostato a 0.01mm è opportuno


impostare HR0.012

Attenzione: Alcuni CAM possono riferire le loro impostazioni (massimo errore cordale e/o
massima lunghezza cordale) alla superficie da lavorare anziché alle traiettorie trasmesse
al CNC, ovvero alla punta utensile.

 Se esiste nel CAM un'impostazione specifica, è bene forzare il CAM ad


applicare l'errore cordale alla traiettoria trasmessa al CNC invece che alla
superficie del pezzo.

 Altrimenti, se non è possibile, e il CAM applica l’errore cordale alla superficie,


si consiglia di diminuire l'errore cordale del CAM e aumentare HR di G114 fino
a 3 volte l'errore del CAM.

140
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.3 ESECUZIONE DI FILES PER PUNTI DA CAM (G113B)


In questo paragrafo ci occupiamo di traiettorie programmate per punti (solo con segmenti) e, in
particolar modo, di files generati da sistemi CAM.

9.3.1 Impostazioni consigliate per il CAM


Un buon CAM e una sua corretta parametrizzazione è un requisito fondamentale per ottenere una
buona finitura.

Nel caso di part-program generati per punti (piccoli tratti in G1), si consiglia di controllare le seguenti
impostazioni:

Errore cordale del CAM


Impostare un errore cordale basso implica:
- Un maggior numero di punti (file più lungo)
- Una traiettoria definita con più precisione
Mantenere basso l’errore cordale è corretto, ma finché la quantità di punti generati dal CAM
non diventa eccessiva.

Suggerimento:
come errore cordale massimo impostare un valore non superiore a 0.01mm o
0.0005 pollici
Se è disponibile nel CAM, impostare la lunghezza massima di un singolo segmento
ad un valore inferiore a 15mm o 0.5 pollici (10mm o 0.4 pollici ad esempio)

Numero di decimali
Suggerimento:
 Assi lineari in mm:
4 decimali: impostazione consigliata
3 decimali: minimo accettabile

 Assi lineari in pollici:


5 decimali: impostazione consigliata
4 decimali: minimo accettabile

 Assi rotativi in gradi:


5 decimali: impostazione consigliata
3 decimali: minimo accettabile

9.3.2 Lisciatura di part-program per punti (G113B)


La funzione G113B segue una lisciatura di part-program definiti con piccoli segmenti in G1: il controllo
ricostruisce una traiettoria il più possibile continua e raccordata a partire dai punti generati dal CAM.

La G113B è un’evoluzione della G113A, che è da considerarsi obsoleta.

La funzione G113B può essere programmata senza problema anche in part-program che non sono
generati da CAM o che non sono definiti da una sequenza di piccoli segmenti: semplicemente non avrà
effetto.

Suggerimento:
Programmare G113B su una singola riga di part-program, senza altre istruzioni

Attenzione:
le funzioni G113X KA2 e G113B sono due funzioni diverse, pertanto, se sono necessarie
entrambe, è possibile programmarle in ordine, una dopo l’altra:
G113X KA2
G113B
141
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.4 G135 I1: IMPOSTAZIONI AVANZATE DI ALTA VELOCITÀ

La funzione G135 I1 permette di impostare parametri avanzati per la gestione dell’alta velocità.

Sintassi generale:
G135 I1 HX.. HR..

G135 I0 (disattiva le impostazioni fatte con G135 I1)

 HX: gestione del jerk di curvatura


Se non programmato, è impostato di default come HX0 (nessuna modifica richiesta)

Il parametro permette una impostazione più fine del controllo del jerk dinamico:

Il parametro J impostabile con G114 permette di limitare il massimo jerk accettabile

Con il parametro HX della G135 è possibile un’ulteriore distinzione tra jerk in


traiettoria e jerk di curvatura.
Il parametro HX agisce sul jerk di curvatura, lasciando non modificato il jerk di
traiettoria.

Il valore HX deve essere compreso tra -4 e 4


HX = 0:
G135 I1 HX0 non introduce alcuna modifica al comportamento standard,
pertanto equivale a non programmare la G135 o a disattivarla

HX > 0 (HX1 … HX4):


Pro:
Tempo di lavorazione inferiore
La velocità relativa utensile-pezzo sarà più costante (riduzione dei
rallentamenti)
Contro:
Maggiori sollecitazioni meccaniche sulla struttura della macchina,
dovute alla maggiore dinamica del moto

HX < 0 (HX-1 … HX-4):


Pro:
Minori sollecitazioni meccaniche sulla struttura della macchina,
dovute alla maggior morbidezza dinamica del moto
Contro:
Tempo di lavorazione superiore
La velocità relativa utensile-pezzo può variare maggiormente

Quando è utile programmare G135 I1 HX..?


La risposta non è univoca e dipende dalla macchina, dalla lavorazione specifica e dal risultato
che si desidera ottenere.

Suggerimento:
Una procedura per definire se è consigliabile o meno l’uso della G135 I1 HX.. può essere:
1) Partire modificando le impostazioni della funzione G114, fino a trovare il miglior
risultato
2) Se il risultato ottenuto è soddisfacente, non occorre impostare la G135 I1
3) Altrimenti possono presentarsi due scenari:
 Durante la lavorazione si notano eccessivi rallentamenti in concomitanza di
variazioni di curvatura

142
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

In questo caso è possibile programmare HX > 0 (la lavorazione verrà effettuata a


velocità più uniforme, ma ci saranno sollecitazioni dinamiche superiori):
G135 I1 HX2 (ad esempio)

Attenzione: non è possibile stabilire a priori se il risultato migliora oppure no:


con valori positivi di HX le sollecitazioni dinamiche saranno maggiori,
pertanto, le sollecitazioni meccaniche conseguenti potrebbero ridurre la
qualità della finitura.

 Si notano dei difetti di finitura in concomitanza di variazioni di curvatura.


Ci sono due possibilità:
o I difetti sono visibili prima del cambio di curvatura:
Aumentare il parametro J della G114 di una unità e riprovare

o I difetti sono visibili dopo il cambio di curvatura:


In questo caso è possibile programmare HX < 0 con la G135 I1 (la
lavorazione verrò eseguita a velocità inferiore, ma la sollecitazione
dinamica sulla struttura della macchina sarà inferiore):
G135 I1 HX-2 (ad esempio)

 HR: accuratezza sul diametro dei cerchi


Se HR non è programmato, il comportamento di default è lasciato invariato.

Comportamento di default è HR1, impostato automaticamente dal CNC se nessuna


differente istruzione è impostata.

HR1: Applica interamente la tolleranza RA, definita con la G114, ai cerchi


Il raggio dei cerchi verrò ridotto del valore RA
Il risultato è un movimento più veloce è più dolce, ma l’accuratezza di profilo è
inferiore

HR0: Applica tolleranza RA/4 ai cerchi


Il raggio dei cerchi verrò ridotto del valore RA/4
Il risultato è un movimento meno veloce, ma l’accuratezza di profilo è superiore

Suggerimento:
In casi normali non programmare il parametro HR
Programmare HR0 solamente in caso di specifici requisiti molto stringenti sulla
precisione del profilo.

143
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.5 G135 J1: TOLLERANZA ADDOLCIMENTO ASSI ROTATIVI IN RTCP


Il parametro G135 J1 HY… rimpiazza G114 RA… per gli assi rotativi coinvolti in RTCP.

E’ consigliata è attivato un RTCP dinamico (lavorazione 5 assi in continuo)

In altri termini:
Quando una G117 o una G118 è attiva, il parametro G135 J1 HY… rappresenta la “tolleranza
di arrotondamento” applicate al posto del parametro G114 RA… agli assi rotativi coinvolti
nella G117 o nella G118

HY è sempre espresso in gradi

Se HY o la G135 J1 non è programmata, viene preso come default:


 Programmazione in mm: HY = RA della G114
G114 RA0.01 -> gli assi rotativi sono arrotondati con tolleranza di 0.01o

 Programmazione in pollici: HY = RA*25.4


G114 RA0.0005 -> gli assi rotativi sono arrotondati con tolleranza di 0.013 o

Nota:
Il parametro G114 RA.. influisce sempre direttamente sull’accuratezza della superficie
lavorata, perché è una tolleranza sulle coordinate X Y Z.

Il parametro G113 J1 HY.. dipende:


 In caso di utensile sferico, non influisce sull’accuratezza della superficie, dati
che un arrotondamento del movimento degli assi rotativi implica solamente
un differente orientamento dello stesso.
 Nel caso di forme diverse (cilindrico, torico o altro) la tolleranza può avere
effetto sull’accuratezza della superficie perché un errore sull’orientamento
utensile produce una differente condizione di taglio

La G135 J1 HY… può essere molto utile perché spesso le coordinate degli assi rotativi in un file
generato da CAM presentano discontinuità, pertanto, senza un addolcimento, possono generare
movimenti poco fluidi.

Attenzione:
Più è grande HY e maggiore è la deviazione degli assi rotativi dall’orientamento
programmato.
Anche se l’accuratezza della superficie risultante è tollerabile, devono essere
attentamente valutate eventuali collisioni.
Si fa notare che, in caso di movimenti a spigolo vivo che coinvolgono assi rotativi, la
tolleranza sull’arrotondamento degli assi rotativi può essere aumentata automaticamente
fino a 4 volte il valore HY programmato.
G135 J1 HY0.5 può provocare, nel caso peggiore, una deviazione fino a 2o sulla
posizione degli assi rotativi

Valori di HY fino a 0.5 sono generalmente tollerabili, ma è compito dell’operatore verificare che i
margini di sicurezza del CAM siano compatibili.

Suggerimento:
impostare il CAM in modo che sia tollerata una deviazione degli assi rotativi fino a 4 volte
il valore HY desiderato
Un buon valore di partenza per HY può essere:
G135 J1 HY0.1

144
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.6 IMPOSTAZIONE PARAMETRI ALTA VELOCITÀ (QUADRO RIASSUNTIVO)

K: Massima accelerazione (mm/s2)


HR: Impostare l’errore Programmare solo se si desidera
Attivazione sistema di cordale del CAM x 1.2 ridurre le accelerazioni di taratura
alta velocità di Z32 Valore utilizzato dalla per una migliore finitura
G113B

N10 G114 RA0.01 HR0.02 HY20 K4000 J2 I30


I: Velocità minima
RA: Tolleranza massima HY: Massima Consiglio: I30
ammessa per lunghezza del tratto
l’arrotondamento arrotondabile
RA0.015 – default Usato solo con G113B
RA0.05 – sgrossatura Consiglio: HY20 J: Fattore di morbidezza dei movimenti.
RA0.005 - finitura Valore intero: MIN=0 MAX=6
Programmare solo se si desidera
ridurre il jerk di taratura per una
migliore finitura
Attiva algoritmo di lisciatura delle
curve per punti
N20 G113B

Attiva algoritmo di
N30 G113X KA2 controllo del moto
Evoluto.

Gestione del Jerk di curvatura


N40 G135 I1 HX2 HX: valore intero tra -4 e 4
HX1 … HX4: aumento del jerk, velocizza la lavorazione
HX-1 … HX-4: diminuzione del jerk, ammorbidisce i movimenti
I0 = disattivato
I1 = attivo

Tolleranza per arrotondamento assi rotativi in RTCP


N50 G135 J1 HY0.1 HY: valore in gradi

J0 = disattivato
J1 = attivo

145
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

9.7 ESEMPI DI USO DEI PARAMETRI DI ALTA VELOCITÀ

Esempio 1: part program 3 assi standard

T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200

(parametri alta velocità)


G114 RA0.01 I30 HY20 HR0.02
G113X KA2
G113B

(lancio DNC)
!:L254-prog1.iso!
M2

Esempio 2: part program 3 assi con programmazione di G114 K.. J..

T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200

(parametri alta velocità)


G114 RA0.01 I30 HY20 HR0.02 K1000 J3
G113X KA2
G113B

(lancio DNC)
!:L254-prog1.iso!
M2

Esempio 3: part program 3 assi con programmazione di G135 per aumentare la mordbidezza dinamica:

T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200

(parametri alta velocità)


G114 RA0.01 I30 HY20 HR0.02
G113X KA2
G113B
G135 I1 HX-2

(lancio DNC)
!:L254-prog1.iso!
M2

146
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

Esempio 4: part-program 5 assi con programmazione di G135 J..

T1M6
OX1 OY1 OZ1
F1000 S4000 M3
G0 Z200

(parametri alta velocità)


G114 RA0.01 I30 HY20 HR0.02 (tolleranza 0.01 per assi lineari)
G113X KA2
G113B
G135 J1 HY0.1 (tolleranza 0.1 per assi rotativi)

G0 A0 B90
G117 (attiva RTCP)
(lancio DNC)
!:L254-prog1.iso!
M2

147
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10. ESEMPI DI PROGRAMMAZIONE

10.1 PROFILO 1

70 R20

65°
R10
R20

30
R20
20

R15

0
X

0 25 100

OX1 OY1 OZ1 (utilizza origine 1)


T1 M6 (utilizza utensile 1)
F1000 (lavorazione a 1000 mm/min)
S2000 M3 (mette in rotazione il mandrino a 2000 giri/min)
R5 (impostazione raggio fresa)
G0 Z10 (svincolo iniziale)
G0 X0 Y100
G0 Z2 (avvicinamento)
G1 Z-5 (discesa nel pezzo)
G41 X0 Y90 QF0 (attacco al profilo)
G2 RA20
G1 X25 Y30 RR10
G1 QF-5 RR20
G2 I100 J20 RA20 QF180
G1 QF180 RR-15
G1 G2 I0 J70 RA20 QA65 QF0
G40 X0 Y100 (distacco dal profilo)
G0 Z10 (distacco in Z)
M5 (arresto mandrino)
M2 (fine programma)

148
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.2 PROFILO 2

R15

65° 45
R18
40
R8

75°
R7
10

R20 X
60°
-20
R18

-40

-35 -20 0 40 50

OX1 OY1 OZ1 (utilizza origine 1)


T1 M6 (utilizza utensile 1)
F1000 (lavorazione a 1000 mm/min)
S2000 M3 (mette in rotazione il mandrino a 2000 giri/min)
R3 (impostazione raggio fresa)
G0 Z10 (svincolo iniziale)
G0 X0 Y-20
G0 Z2 (avvicinamento)
G1 Z-5 (discesa nel pezzo)
G42 X0 Y-40 QF180 (attacco al profilo)
G1 QF180 RR-18
G1 X-35 Y10 QF75
G1 RR7
G2 I-20 J40 RA18 RR15
G1 X50 Y45 QF0 RR-8
G1 QF-90 RR-8
G3 I50 J0 RA20 QF-60
G1
G1 X40 Y-40 QF-90
G1 X0
G40 X0 Y-20
G0 Z10 (distacco in Z)
M5 (arresto mandrino)
M2 (fine programma)

149
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.3 ROTAZIONE

Y
50

B C
45°

45°
0
X

Profilo A:
OX1 OY1 OZ1 (origine 1) 0 20
T1 M6 S2000 M3
G0 Z10 (svincolo iniziale)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2
Profilo B:
OX1 OY1 OZ1 (origine 1)
T1 M6 S2000 M3
G0 Z10 (svincolo iniziale)
QR45 (rotazione)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2
Profilo C:
OX1 OY1 OZ1 (origine 1)
T1 M6 S2000 M3G0
Z10 (svincolo iniziale)
IR20 JR50 QR45 (rotazione)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2

150
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.4 TRASLAZIONE

Y
50

0
X
DB-25

0 20

DA50

Profilo A:
OX1 OY1 OZ1 (origine 1)
T3 M6 S5000 M3
G0 Z10 (svincolo iniziale)
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2

Profilo B :
OX1 OY1 OZ1 (origine 1)
T3 M6 S5000 M3
G0 Z10 (svincolo iniziale)
DA50 DB-25
G0 X0 Y0 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 Y50
X20
Y0
X0
G0 Z10 (svincolo)
M2

151
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.5 ROTO-TRASLAZIONE 1

40
Y' 20
Y
X'
0 0
R10
R20
30°
50

R10 R20

20

0 X

-20
Y''

R10 R20

-50
30°
R20
R10
0
0 X''
-20
40

0 30 50 100

OX2 OY2 OZ2 (origine 2)


T6 M6 S1500 M3
G0 Z10 (svincolo iniziale)
G0 X0 Y20 (posizionamento iniziale)
G1 Z-1 F100(accostamento)
F1000 (lavorazione a 1000 mm/min)
G1 X30 RR20
G1 QF90 RR-20
DA50 DB50 QR30 (sistema X’ Y’)
G1 X40 Y20 QF0 RR-10
G1 QF-90 RR-20
DA0 DB0 QR0 (sistema X Y)
G1 X100 Y0 QF-90
G1 RR-20
DA50 DB-50 QR-30 (sistema X’’ Y’’)
G1 X40 Y-20 QF-90 RR-10
G1 QF180 RR-20
DA0 DB0 QR0 (sistema X Y)
G1 X30 Y-20 QF90 RR10
G1 X0 Y-20
G0 Z10 (svincolo)
M2

152
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.6 ROTO-TRASLAZIONE 2

B
X X
Y
C
Y

A
X

Y
E
X D X

OX1 OY1 OZ1 (origine 1)


T21 M6 S5000 M3
G0 Z10 (svincolo iniziale)

(Profilo A:)
N1
G0 X40 Y0 (posizionamento iniziale)
G1 Z-2 F50(accostamento)
F2000 (lavorazione a 2000 mm/min)
G0 X40 Y0
G1 G3 I0 J0 X-10 Y0
G3 I0 J0
G1 X40 Y0
G0 Z5 (svincolo)
N2

(profilo B:)
DA80 DB80 QR45
!GON1-N2!

(profilo C:)
DA-80 DB80 QR135
!GON1-N2!

(profilo D:)
DA-80 DB-80 QR-135
!GON1-N2!

(profilo E)
DA80 DB-80 QR-45
!GON1-N2!

M2

153
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.7 SPECULARITÀ 1

0 30 60

20
B A 10
R10
0
X

D C

OX3 OY3 OZ3 (origine 3)


T12 M6 S3000 M3
G0 Z10 (svincolo iniziale)

(profilo A)
N1
G0 X60 Y10 (posizionamento iniziale)
G1 Z-3 F100 (accostamento)
F2000 (lavorazione a 2000 mm/min)
G1 G2 I30 J20 X40 Y20
G0 Z5 (svincolo)
N2

(profilo B)
QS90 (imposta retta di specularita’ Y)
G56 (attiva specularita’ quote X)
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita’)

(profilo C)
QS0 (imposta retta di specularita’ X)
G56 (attiva specularita’ quote Y)
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita’)

(profilo D)
QR180 (attiva rotazione di 180 gradi)
(richiamo profilo A)
!GON1-N2!
QR0 (disattiva rotazione di 180 gradi)

M2

154
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.8 SPECULARITÀ 2

60

20
10
0
30 A
0

B 45°
R10

OX2 OY2 OZ2 (origine 2)


T4 M6 S3000 M3
G0 Z10 (svincolo iniziale)

(profilo A)
N1
QR45 (rotazione di 45 gradi)
G0 X60 Y10 (posizionamento iniziale)
G1 Z-3 F200 (accostamento)
F2000 (lavorazione a 2000 mm/min)
G1 G2 I30 J20 X40 Y20
G0 Z10 (svincolo)
N2

(profilo B)
QS45 (imposta retta di specularita' a 45 gradi)
G56 (attiva specularita')
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita')

(profilo C)
QS135 (imposta retta di specularita' a 135 gradi)
G56 (attiva specularita')
(richiamo profilo A)
!GON1-N2!
G55 (disattiva specularita')

M2

155
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.9 RIBALTAMENTO RISPETTO AL TERZO ASSE

OX1 OY1 OZ1 (utilizza origine 1) OX1 OY1 OZ1 (utilizza origine 1)
T1 M6 (utilizza utensile 1) T1 M6 (utilizza utensile 1)
F1000 (lavorazione a 1000 mm/min) F1000 (lavorazione a 1000 mm/min)
S2000 M3 (speed 2000 giri/min) S2000 M3 (speed 2000 giri/min)
R5 (impostazione raggio fresa) R5 (impostazione raggio fresa)
G0 Z10 (svincolo iniziale) KT-1
G0 X0 Y0 G0 Z10 (svincolo iniziale)
G1Z0 G0 X0 Y0
--DO G1Z0
Y<Y+1> --DO
G1 X10 Z10 Y<Y+1>
X30 Z0 G1 X10 Z10
X40 X30 Z0
Y<Y+1> X40
X30 Y<Y+1>
X10 Z10 X30
X0 Z0 X10 Z10
--LOOP 9 X0 Z0
G0 Z10 (distacco in Z) --LOOP 9
M5 (arresto mandrino) G0 Z10 (distacco in Z)
M2 (fine programma) M5 (arresto mandrino)
M2 (fine programma)

156
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.10 RIPETIZIONE ANGOLARE DI UN PROFILO

45°

OX1 OY1 OZ1 (origine 1)


T2 M6 S3000 M3
G0 Z10 (svincolo iniziale)
R3

--DO ; inizio ripetizioni


G0 X35 Y0
G1 Z-1 F100 (accostamento)
F2000 (lavorazione a 2000 mm/min)
G41 X40 Y0 QF90
G1 Y10 RR5
G1 QF-165 RR5
G1 X20 Y0 QF-90
G1 RR5
G1 X40 Y-10 QF-15 RR5
G1 X40 Y0
G40 X35 Y0
G0 Z10 (svincolo)
QR<QR+45> (incrementa rotazione di 45 gradi)
--LOOP 7 ; ripete 7 volte

M2

157
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.11 RIPETIZIONE LINEARE DI UN PROFILO

OX1 OY1 OZ1 (origine 1)


T8 M6 S3000 M3
G0 Z10 (svincolo iniziale)

--DO ; inizio ripetizioni


G0 X35 Y0
G1 Z-2 F300 (accostamento)
F3000 (lavorazione a 3000 mm/min)
G41 X40 Y0 QF90
G1 Y10 RR5
G1 QF-165 RR5
G1 X20 Y0 QF-90
G1 RR5
G1 X40 Y-10 QF-15 RR5
G1 X40 Y0
G40 X35 Y0
G0 Z5 (svincolo)
DA<DA+30> (incrementa traslazione di 30)
--LOOP 2 ; ripete 2 volte

M2

158
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.12 RIPETIZIONE DEL PROFILO 1 A VARIE PROFONDITÀ

OX1 OY1 OZ1 (utilizza origine 1)


T1 M6 (utilizza utensile 1)
F1000 (lavorazione a 1000 mm/min)
S2000 M3 (mette in rotazione il mandrino a 2000 giri/min)
R5 (impostazione raggio fresa)
G0 Z10 (svincolo iniziale)
G0 X0 Y100
G0 Z2 (avvicinamento)
G1 Z-2 (discesa nel pezzo)

--DO ; inizia ripetizioni


G41 X0 Y90 QF0 (attacco al profilo)
G2 RA20
G1 X25 Y30 RR10
G1 QF-5 RR20
G2 I100 J20 RA20 QF180
G1 QF180 RR-15
G1 G2 I0 J70 RA20 QA65 QF0
G40 X0 Y100 (distacco dal profilo)
G1 Z<Z-5> (decrementa Z di 5 ad ogni ripetizione)
--LOOP 10; esegue 10 ripetizioni

G0 Z10 (distacco in Z)
M5 (arresto mandrino)
M2 (fine programma)

159
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.13 FINITURA DI UNA SUPERFICIE SFERICA

OX1 OY1 OZ1 (origine 1)


T3 M6 S3000 M3
G0 Z10 (svincolo iniziale)
F10000
G0X-1000 Y-1000
G0 Z-1

(HA: raggio della sfera)


(HB: angolo iniziale)
(HC: angolo finale)
(HD: incremento angolare)
HA100 HB0 HC60 HD4
G0 X0Y0Z0
N1
HE<HA*CSHB>
HF<HA*SNHB>
G1 X<HE> Y0 Z<-HF>
G3 I0 J0 X<X> Y0
HB<HB+HD>
!IF HC>HB;GON1!
G0 Z100

M2

160
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.14 ELLISSE

OX1 OY1 OZ1 (origine 1)


T3 M6 S3000 M3
G0 Z10 (svincolo iniziale)
F4000

(HA: semiasse maggiore dell’ellisse)


(HB: semiasse minore dell’ellisse)
(HC: angolo iniziale)
(HD: angolo finale)
(HE: incremento angolare per punto)
HA200 HB150 HC45 HD360 HE1
G0 X0 Y0
G1 Z-1
G41
N10
HF<HA*CSHC>
HG<HB*SNHC>
G1 X<HF> Y<HG>
HC<HC+HE>
!IF HD>=HC;GON10!
G40
M2

161
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.15 ROTOTRASLAZIONE NELLO SPAZIO (SUPERFICIE SFERICA)

OX2 OY2 OZ2


T1 M6
F1000 S3000 M3
G0 Z10
G0 X30Y0
G1 Z0
-- DO
G1 X30 Y0Z0
G2 X0 Z-30 I0 J0
G116K5
G3X30 Z0 I0J0
G116K5
--LOOP 36
M2

162
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.16 SOLIDO DI RIVOLUZIONE

T1M6
S2000 M3 F1000
G0 Z50

-- DO
X0 Y0 Z0
G1 Y10 RR-6
X20 RR10
X40 Y20 RR-20
X120 RR-10
Y0

G116 I-5

Y20 RR10
X40 RR20
X20 Y10 RR-10
X0RR6
Y0

G116 I-5

-- LOOP 18

G116 KA0
G0 Z50
M2

163
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.17 LAVORAZIONE PROFILO PROGRAMMATO IN X-Z

G25 XZY
OX1 OY1 OZ1
T1 M6
F5000 M3 S3000
R3
X-75 Y-20 Z10 G0
!PAR[1]=0!
-- DO
DC<PAR[1]>
Y-15

G25XZY (impostazione piano di lavoro XZ)


G41 X-75Z0QF0
G1 X-45RR8
G1 Z25
G1 X-12 Z40
G2 I0 J20 X12 Z40
G1 X45 Z25
Z0 RR8
X75
G40 X75 Z10

Y-13.5
G41 X75Z0QF180
G1 X45RR-8
G1 Z25
G1 X12 Z40
G3 I0 J20 X-12 Z40
G1 X-45 Z25
Z0 RR-8
X-75
G40 X-75 Z10

!PAR[1]=PAR[1]+3!
-- LOOP 10
Z100 G0
G25 XYZ
M2

164
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.18 FORATURA CON TESTA INCLINATA

Z'
Z
B-20
20 X'
X

OX1 OZ1

5 60

OX1 OY1
T2 M6
S1000 M3
F500
Z10

G117 B-20 (rotazione della testa)


G116 X-60 KA2 (sistema di riferimento X’ Z’)
G0 X-20 Y0 Z5
G1 Z-10
Z5

M2

165
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.19 CICLO FISSO DI FORATURA E POSIZIONAMENTI SU UNA CIRCONFERENZA

S2000 F1200 M3
G0 Z50
(Parametri e richiamo ciclo fisso)
G800K1 MHA2 MHB-10 MHC2
(richiamo macro di posizionamento:)
(definizione del posizionamento da non effettuare:)
PAR[1]3
(MPX=10, MPY=20: il cerchio di posizionamento è centrato nel punto 10,20)
(MPC=100: il cerchio di posizionamento ha diametro 100)
(MPA=0, MPL=0, MPN=8: esegue 8 posizionamenti su tutta la circonferenza)
(MPS=1: salta il posizionamento definito in PAR[1])
(MPW=1: tra un posizionamento ed il successivo si muove con moto circolare)
G801K7 MPX10 MPY20 MPC100 MPA0 MPL0 MPN8 MPS1 MPW1
G27C0 (disattivazione del ciclo fisso:)
G0 Z50
M2

166
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.20 POSIZIONAMENTI SU CIRCONFERENZA DI UNA LAVORAZIONE QUALSIASI CON


ROTAZIONE

S2000 M3 F800
(definisco nel programma P40 la figura da spostare sui punti del cerchio)

--DEFINE P40
G0X0Y0
Z2
G1Z0
Z-1
G1X10
Y5
X-10
Y-5
X10
Y0
G0X0Y0
Z2G0
G26
--END DEFINE

PAR[1]3
(Chiamo G801K7 per posizionare sui punti la figura memorizzata nel programma CMOS
numero 40 )
(MPF=40: posiziona il programma 40)
(MPR=1: ruota figure)
(richiamo macro di posizionamento)
G801K7 MPX10 MPY20 MPC100 MPA0 MPL0 MPN8 MPS1 MPW1 MPF40 MPR1
G0 Z50
G0 Z50
M2

167
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.21 POSIZIONAMENTI SU CIRCONFERENZA DI UNA LAVORAZIONE QUALSIASI SENZA


ROTAZIONE

S2000 M3 F800

(definisco nel programma P40 la figura da spostare sui punti del cerchio)
--DEFINE P40
G0X0Y0
Z2
G1Z0
Z-1
G1X10
Y5
X-10
Y-5
X10
Y0
G0X0Y0
Z2G0
G26
--END DEFINE

(definizione del posizionamento da non effettuare:)


PAR[1]3
(MPX=10, MPY=20: il cerchio di posizionamento è centrato nel punto 10,20)
(MPC=100: il cerchio di posizionamento ha diametro 100)
(MPA=0, MPL=0, MPN=8: esegue 8 posizionamenti su tutta la circonferenza)
(MPS=1: salta il posizionamento definito in PAR[1])
(MPF=40: posiziona il programma 40)
(richiamo macro di posizionamento)
G801K7 MPX10 MPY20 MPC100 MPA0 MPL0 MPN8 MPS1 MPF40
G0 Z50
G0 Z50
M2

L’unica differenza rispetto all’esempio precedente è che in questo secondo part-program abbiamo
scelto di effettuare i posizionamenti con movimenti lineari (MPW=0) e di non ruotare la lavorazione
contenuta nel file 90 (MPR=0)

168
CNC Z32 – M323 C2 - Guida alla programmazione (Frese)

10.22 SGROSSATURA DI UNA CAVA CIRCOLARE

S2000 F1200 M3
G0 Z50
R5
(Parametri e richiamo ciclo fisso)
(MMA=0: quota superiore cava)
(MMB=-20: quota di fondo della cava)
(MMC=10: quota di uscita a fine lavorazione)
(MMD=60: diametro della cava)
(X,Y: centro cava)
(MMK=3: profondità di passata)
(MME=2: distanza di sicurezza)
G802 MMA0 MMB-20 MMC10 MMD80
G802K1 X10 Y10 MMK3 MME2
M2

169
RR- RA50
30
RR4
0.0001)
G1 Y0CNC
X-40
Z32 – M323 C2 - Guida alla programmazione (Frese)
G40 QF100
Y40 X40
Y0
10.23 POSIZIONAMENTI SU CIRCONFERENZA DELLA SGROSSATURA DI UNA CAVA
CIRCOLARE:

S2000 F1200 M3
G0 Z50
R5
(Parametri e richiamo ciclo fisso)
(MMA=0: quota superiore cava)
(MMB=-10: quota di fondo della cava)
(MMC=10: quota di uscita a fine lavorazione)
(MMD=30: diametro della cava)
(X,Y: centro cava)
(HX=1: usa come ciclo fisso)
(MMK=3: profondità di passata)
(MME=2: distanza di sicurezza)
(MMW=1: discesa in rampa)
(MMQ=4:massima pendenza della discesa in rampa)

G802 MMA0 MMB-10 MMC10 MMD30


G802K1 HX1 MMK3 MME2 MMW1 MMQ4
(richiamo macro di posizionamento:)
(MPX=10, MPY=20:)
(il cerchio di posizionamento è centrato nel punto 10,20)
(MPC=60: il cerchio di posizionamento ha diametro 60)
(MPA=0, MPL=0, MPN=8:)
(esegue 8 posizionamenti su tutta la circonferenza)
(MPS=1: salta il posizionamento definito in PAR[1])
(MPW=1:)
(tra un posizionamento ed il successivo si muove con moto circolare)

(definizione del posizionamento da non effettuare:)


PAR[1]3

G801K7 MPX10 MPY20 MPC60 MPA0 MPL0 MPN8 MPS1 MPW1


G27C0 (disattivazione del ciclo fisso:)
G0 Z50
M2

170

Potrebbero piacerti anche