Sei sulla pagina 1di 114

D.

ELECTRON
dal 1977 Al t a Tecnol ogi a
per l a Macchi na Ut ensi l e

CNC

Z32

Guida alla programmazione (TORNIO)

Documento M335
C2 – 20.02.08

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 - Via R. Giuliani 140 - 50141 Firenze ITALY Internet: www.delectron.it


Tel ++39 - 055 - 416927 Fax ++39 - 055 - 434220 email delectron@delectron.it
CNC Z32 - Guida alla programmazione (TORNIO)

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

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


2.1 INTRODUZIONE .................................................................................................................................................... 2
2.1.1 Comportamento della macchina al reset ..................................................................................................... 2
2.1.2 Numero di riga .......................................................................................................................................... 3
2.1.3 La riga ISO standard................................................................................................................................ 3
2.1.4 Righe di commento .................................................................................................................................. 4
2.1.5 Funzioni G (modali e con arresto) .............................................................................................................. 4
1.1. PARAMETRO F (FEED) E GESTIONE DELL’AVANZAMENTO (G93 G94 G95) ......................................................... 5
2.2 PARAMETRO S E GESTIONE DELLA SPEED (G96 G97).......................................................................................... 5
2.3 FUNZIONI M......................................................................................................................................................... 6
2.4 FUNZIONI AUSILIARIE MA, MB, MC ................................................................................................................... 7
2.5 FINE PROGRAMMA E FINE SOTTOPROGRAMMA (M2 G26).................................................................................... 7
2.6 FUNZIONI DI RICHIAMO ORIGINE (SISTEMA DI COORDINATE DEL PEZZO).............................................................. 8
2.6.1 Impostazione del sistema di coordinate pezzo nel part-program. ............................................................... 8
2.7 PARAMETRO T E CAMBIO UTENSILE ................................................................................................................. 10
2.8 CORRETTORI UTENSILE (LUNGHEZZE LX E LZ) E RAGGIO UTENSILE (R)........................................................... 11
2.8.1 Posizione della punta teorica dell’utensile ................................................................................................ 11
2.9 VARIAZIONE DEI PARAMETRI UTENSILE (DLX, DLZ, DDR) ............................................................................. 13
2.10 ANNULLAMENTO E SOSPENSIONE DI ORIGINI E LUNGHEZZE (G53 G54 G45)..................................................... 14
2.11 PIANO DI CONTORNATURA ................................................................................................................................ 15
2.12 PROGRAMMAZIONE DI MOVIMENTI (G0 G1 G2 G3) .......................................................................................... 16
2.12.1 Movimenti in rapido (G0)....................................................................................................................... 17
2.12.2 Interpolazione lineare (G1) ................................................................................................................... 18
2.12.3 Interpolazione circolare (G2 – G3) ........................................................................................................... 19
2.12.4 Interpolazione elicoidale (G12 – G13)...................................................................................................... 22
2.13 PROGRAMMAZIONE IN COORDINATE INCREMENTALI (G90 G91) ....................................................................... 23
2.14 SPECULARITÀ, ROTAZIONE, TRASLAZIONE, FATTORE DI SCALA......................................................................... 24
2.14.1 Specularità sul piano di lavoro (G56 – G55) ............................................................................................ 24
2.14.2 Rotazione lavorazione (IR JR QR) ........................................................................................................... 25
2.14.3 Traslazione lavorazione (DA DB) ............................................................................................................ 26
2.14.4 Fattore di scala ....................................................................................................................................... 27
2.14.5 Ulteriori parametri correttivi..................................................................................................................... 27
2.15 ALTRE FUNZIONI................................................................................................................................................ 28
2.15.1 Sosta (G4 TT..)....................................................................................................................................... 28
2.15.2 Scambio assi (G16) ............................................................................................................................... 28
2.15.3 Gestione assi vivi (G28, G29)................................................................................................................... 29
2.15.4 Sospensione e Riattivazione del cambio utensile (G38, G39) ................................................................. 30
2.15.5 Lettura utensile sul mandrino (G104) ....................................................................................................... 30
2.15.6 Lettura quote reali (G105)..................................................................................................................... 30
2.15.7 Programmazione radiale (G106)............................................................................................................... 30
2.15.8 Programmazione diametrale (G107) ......................................................................................................... 31
2.15.9 Abilita moto assi con allarme CNxx12 (G119)......................................................................................... 31
2.15.10 Limitazione del campo di lavoro (G123) .................................................................................................. 31
3. PROGRAMMAZIONE DIRETTA DEL PROFILO ......................................................................................... 33

4. CORREZIONE RAGGIO UTENSILE ................................................................................................................ 40


4.1 COMPENSAZIONE VETTORIALE DEL RAGGIO UTENSILE ...................................................................................... 41
4.2 ATTACCO AL PROFILO (G41/G42) E DISTACCO DAL PROFILO G40..................................................................... 43
4.3 RAGGIO ZERO O NEGATIVO............................................................................................................................... 46
4.4 RAGGIO DI RACCORDO SU SPIGOLI ESTERNI (G109S, G109T) ........................................................................... 46

i
CNC Z32 - Guida alla programmazione (TORNIO)

4.5 ERRORE DI “PROFILO INCOMPATIBILE”..................................................................................................... 47


4.6 QUOTE VISUALIZZATE E CORREZIONE RAGGIO ................................................................................................... 47
4.7 ESEMPIO DI PROFILO IN CORREZIONE RAGGIO .................................................................................................... 48
4.8 GESTIONE DEL SOVRAMETALLO........................................................................................................................ 49
5. PROGRAMMAZIONE PARAMETRICA ........................................................................................................... 50
5.1 GESTIONE DEI PARAMETRI ................................................................................................................................ 50
5.1.1 Assegnazione di un valore numerico ad un parametro.............................................................................. 52
5.1.2 Assegnazione di un valore numerico ad un parametro tramite una formula ............................................. 52
5.1.3 Programmazione di movimenti assi con parametri ................................................................................... 53
5.1.4 Programmazione di parametri di sistema .................................................................................................. 53
5.1.5 Programmazione assi tramite i parametri AA, AB, AC ............................................................................ 54
5.2 PROGRAMMAZIONE CON “RIGHE EVOLUTE” ( ! ... ! ).......................................................................................... 55
5.2.1 Assegnare valori a parametri e calcolare espressioni ................................................................................ 55
5.2.2 Effettuare salti senza ritorno (!GON..!)..................................................................................................... 56
5.2.3 Effettuare salti con ritorno (!GON.. –N..!)................................................................................................ 56
5.2.4 Effettuare salti condizionati (! IF .. ; GON.. !) .......................................................................................... 57
5.2.5 Controllare più condizioni sulla stessa riga evoluta .................................................................................. 57
5.2.6 Strutturazione dei salti condizionati .......................................................................................................... 58
5.2.7 Salto a sottoprogrammi CMOS (! GOP.. !)............................................................................................... 59
5.2.8 Salto a sottoprogrammi CMOS con label (!GOP.. –N.. !)......................................................................... 60
5.2.9 Salto a sottoprogrammi CMOS con due label (!GOP.. –N.. –N.. !) .......................................................... 60
5.3 CONDIZIONAMENTO DI BLOCCHI DI PROGRAMMA (--IF) .................................................................................... 61
5.4 RIPETIZIONI DI BLOCCHI DI PROGRAMMA (--DO --LOOP) ................................................................................. 63
5.4.1 Numero di ripetizioni specificato (LOOP {N}) ........................................................................................ 63
5.4.2 Condizione di ripetizione ....................................................................................................................... 63
5.4.3 Condizione di uscita a metà del blocco --DO --LOOP (--EXIT DO)........................................................ 64
5.5 SCRITTURA DI PROGRAMMI CMOS (--DEFINE P..) .......................................................................................... 65
5.6 SCRITTURA DI SOTTOPROGRAMMI TEMPORANEI SUBTEMP (--DEFINE S..).................................................... 65
6. CICLI FISSI E MACRO DI Z32........................................................................................................................... 67
6.1 CICLI FISSI DI Z32 (G881 – G886)..................................................................................................................... 67
6.1.1 G881: Foratura semplice....................................................................................................................... 70
6.1.2 G882: Foratura profonda con rottura truciolo ........................................................................................... 70
6.1.3 G883: Foratura profonda con scarico truciolo........................................................................................... 71
6.1.4 G884: Maschiatura con compensatore ...................................................................................................... 72
6.1.5 G885: Maschiatura rigida ..................................................................................................................... 72
6.1.6 G886: Alesatura...................................................................................................................................... 72
6.2 G901: MACRO DI LAVORAZIONE DI GOLE ESTERNE / INTERNE ........................................................................... 73
6.3 G902: MACRO DI LAVORAZIONE DI GOLE FRONTALI.......................................................................................... 80
6.4 G903: MACRO DI SGROSSATURA DI AREE TRAPEZIE CON PASSATE LUNGO L’ASSE Z. ........................................ 85
6.5 G904: MACRO DI SGROSSATURA DI AREE TRAPEZIE CON PASSATE LUNGO L’ASSE X......................................... 87
6.6 FILETTATURA..................................................................................................................................................... 89
6.6.1 Funzione G33.......................................................................................................................................... 89
6.6.2 Filettatura a passo variabile (G34, G35) ................................................................................................... 91
6.6.3 G905: Macro di filettatura ...................................................................................................................... 92
6.6.4 G906: Filettature frontali ........................................................................................................................ 97
6.7 G907: MACRO DI SGROSSATURA ..................................................................................................................... 98
7. ASSI POLARI ..................................................................................................................................................... 109
7.1 LIMITAZIONI NELL’USO DEGLI ASSI POLARI ..................................................................................................... 110
7.2 ESEMPIO ......................................................................................................................................................... 110

ii
CNC Z32 - Guida alla programmazione (TORNIO)

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 tornio.

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 xxx.xx o successive.

1
CNC Z32 - Guida alla programmazione (TORNIO)

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.1.1 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 attive 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.
Tale funzione è la funzione G25.
Al reset la macchina ritorna alla configurazione definita in taratura dal costruttore.
Ad esempio in un tornio standard, il piano di lavoro è il piano Z-X.
Consultare il costruttore per maggiori dettagli.

• 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.

2
CNC Z32 - Guida alla programmazione (TORNIO)

• 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.1.2 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.

2.1.3 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 Z20

3
CNC Z32 - Guida alla programmazione (TORNIO)

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.1.4 Righe di commento


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

2.1.5 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: 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.

4
CNC Z32 - Guida alla programmazione (TORNIO)

1.1. Parametro F (Feed) e gestione dell’avanzamento (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:

F = Velocità(mm/min o pollici/min) / Spazio (mm o pollici)

2.2 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:

G96 S100 MS4000 M3


Questa programmazione impone una velocità di taglio pari a 100 m/min
Con una limitazione di massima Speed a 4000 giri/min

E’ frequente, per lavorazioni al tornio l’uso combinato della funzione G96 e della funzione G95.
Ad esempio:

G96 S100 MS4000 M3


G95 F0.3
velocità di taglio pari a 100 m/min, massima Speed a 4000 giri/min, avanzamento 0.3 mm al giro

5
CNC Z32 - Guida alla programmazione (TORNIO)

2.3 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).

M “ISO”
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.

6
CNC Z32 - Guida alla programmazione (TORNIO)

2.4 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.5 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.

7
CNC Z32 - Guida alla programmazione (TORNIO)

2.6 Funzioni di richiamo origine (sistema di coordinate del pezzo)

Per impostare il sistema di coordinate del pezzo, vengono utilizzate le origini pezzo.

Le origini pezzo sono definite dall’utente e definiscono la posizione della lavorazione all’interno del campo di
lavoro. Quando vengono attivate le origini pezzo, le quote programmate nel part-program si riferiscono
all’origine pezzo attiva.

Nota: In macchina è sempre definita l’origine base. L’origine base è il punto di riferimento definito dal costruttore e
rappresenta lo zero macchina.

Normalmente, nell’uso di un tornio, si definiscono le origini in modo tale che l’asse X sia centrato a centro mandrino
e l’asse Z sia azzerato sulla faccia del pezzo.

Nell’esempio al lato, le origini pezzo sugli assi Z e X (OZ1


e OY1) definiscono il punto di riferimento per le quote
pezzo:

A Ad esempio, nel sistema di coordinate OZ1 OX1, il punto A


ha coordinate Z=0 X=100
100

Z
OZ1 OX1

2.6.1 Impostazione del sistema di coordinate pezzo nel part-program.

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


La sintassi per richiamare un’origine è la seguente:
- programmare la lettera “O”
- nome dell'asse interessato
- numero dell'origine da richiamare (da 1 a 9).

Ad esempio:
OZ1 OX1 (Attiva sull’asse X e sull’asse Z l’origine 1)
OZ2 OX2 (Attiva sull’asse X e sull’asse Z l’origine 2)
OZ3 (Attiva sull’asse Z l’origine 3 e mantiene l’origine precedentemente attivata sugli altri assi)

Nota: E’ possibile programmare le origini da 1 (OX1 OZ1) a 9 (OX9 OZ9). Valori a due cifre, ad esempio OX10 non
sono ammessi.
La programmazione dell’origine 0, ha il significato di impostare l’origine base della macchina. Quindi l’origine 0
(OX0 OZ0) non può essere utilizzata come origine pezzo.

Nota: In casi molto particolare può essere utile avere a disposizione altre origini oltre alle 9 standard.
E’ possibile in questi casi fare uso di un singolo carattere dell’alfabeto al posto dei numeri da 1 a 9.
Ad esempio è possibile programmare ed utilizzare l’origine OXA OZA (origine A).
Si faccia attenzione al fatto che i caratteri minuscoli e maiuscoli hanno significato diverso: OXA e OXa sono
pertanto due origini diverse.

8
CNC Z32 - Guida alla programmazione (TORNIO)

E’ possibile richiamare le origini pezzo sul singolo asse.


Ad esempio, dopo aver impostato l’origine OZ1 OX1 è possibile impostare un nuovo riferimento solo per l’asse Z e
lasciare il riferimento X nella posizione precedente.

Nell’esempio al lato l’origine 1 è stata fatta sulla faccia del


X pezzo con X a centro pezzo.

Dopo la programmazione di
B OZ1 OX1
OZ2
Il punto A ha coordinate
A Z0 X80
350

80

Z L’origine 2 invece è stata fatta solo in Z sulla parete


verticale.
OZ1 OX1
Dopo la programmazione di OX1 OZ1 è possibile
impostare il nuovo riferimento solo per l’asse Z
programmando
OZ2

Dopo la programmazione di OZ2 il punto B avrà


coordinate
Z0 X350

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 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

9
CNC Z32 - Guida alla programmazione (TORNIO)

2.7 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.

Ad esempio, per impostare l’utensile numero 5, occorre programmare l’istruzione:


T5M6

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 (LX ed LZ) e raggio utensile (R), ma anche qualsiasi
altro parametro memorizzato in tabella.

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
Tabella Utensili: 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
T1#1R0.4LX-121,230LZ-74.21
T2#2LX-124,354LZ-112.345R0(TRONCATORE)

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 LX-121.23, lunghezza LZ-74.21 e raggio R0.4

10
CNC Z32 - Guida alla programmazione (TORNIO)

2.8 Correttori utensile (lunghezze LX e LZ) e raggio utensile (R)

I correttori di un utensile da tornio specificano la posizione della punta dell’utensile.


I correttori sono salvati nei parametri LX ed LZ. LX è il correttori per l’asse X, LZ è il correttore per l’asse Z.

I correttori utensile servono per specificare le dimensioni dell’utensile rispetto ad un punto standard della macchina
usato per il calcolo dei correttori.
E’ importante che il punto rispetto al quale vengono calcolati i correttori sia lo stesso per tutti gli utensili. Solo in
questo modo i correttori dei vari utensili saranno congruenti tra di loro. Ad esempio, è possibile scegliere come
punto di azzeramento degli utensili il mandrino del tornio.

LX

LZ

2.8.1 Posizione della punta teorica dell’utensile

La punta teorica dell’utensile è il punto definito dalle lunghezze LX ed LZ, ed è pertanto il punto di azzeramento
dell’utensile.
La posizione della punta utensile segue lo schema riportato qua sotto.
X X

2
3 1
9
4 8
Z Z

5 7
6

La punta teorica dell’utensile è il punto controllato dall’unità di controllo.


Per l’esecuzione di profili con pareti inclinate o con raggiature, è necessario sapere, oltre alle lunghezze LX ed LZ
anche l’orientamento della punta teorica dell’utensile e il raggio dell’inserto.

11
CNC Z32 - Guida alla programmazione (TORNIO)

Nell’esempio che segue, vengono eseguite pareti orizzontali e verticali con un utensile azzerato in posizione 1.

1 Nell’esempio al lato è possibile eseguire il profilo


desiderato, programmando i movimenti:
X X0 Z0
100 X50
Z-40
X100
50
E’ possibile programmare il movimento della punta teorica
dell’utensile esattamente sul profilo da eseguire.
Z
-40 0

Quando nel profilo contiene tratti inclinati oppure raggiature, non è più possibile trascurare la posizione della punta
teorica dell’utensile ed il suo raggio. In questi casi, per eseguire il profilo desiderato, la punta teorica dell’utensile
deve percorrere una traiettoria diversa da quella del profilo desiderato.

X
1
Nell’esempio al lato vengono mostrati il profilo desiderato e
il percorso eseguito dal centro dell’utensile.

Si noti che nei tratti inclinati e nelle raggiature, la punta


teorica dell’utensile non giace sul profilo desiderato.

Profili di questo tipo devono essere eseguiti in Correzione


Raggio. Consultare il relativo capitolo più avanti in questo
stesso manuale.
Z
Il raggio dell’utensile viene espresso col parametro R

12
CNC Z32 - Guida alla programmazione (TORNIO)

2.9 Variazione dei parametri utensile (DLX, DLZ, DDR)

E’ possibile variare i correttori utensile o il raggio utensile, senza modificare il valore del correttore stesso.

Tramite i parametri DLX e DLZ è possibile variare i correttori LX ed LZ rispettivamente.


I correttori effettivi usati dal controllo sono pertanto:
LX + DLX
LZ + DLZ

Tramite il parametro DDR è possibile variare il raggio utensile R.


Il raggio utensile effettivo usato dal controllo, ad esempio per profili in correzione raggio, è pertanto:
R + DDR

Nota: La lunghezza utensile LX è sempre espressa come valore radiale e non diametrale. Lo stesso vale per la
correzione DLX

I valori DLX, DLZ e DDR non sono incrementali. Per annullare le correzioni occorre impostare a zero tali parametri.

Ad esempio:

N10 T1M6 (utensile con LX120 e LZ145)


N20 DLX0.1 (allungo la lunghezza X del valore 0.1)
(da qui in poi la lunghezza X effettiva vale 120.1)
N30 …

N100 DLX0 (annullo la correzione di lunghezza)
(da qui in poi la lunghezza X effettiva torna ad essere 120)

13
CNC Z32 - Guida alla programmazione (TORNIO)

2.10 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, ad esempio:


OZ0 OX0

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

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 si effettua con la programmazione della G43 o della G44

14
CNC Z32 - Guida alla programmazione (TORNIO)

2.11 Piano di contornatura


La funzione che permette di definire il piano di lavoro è la funzione G25.
Ad esempio: G25ZX definisce che il piano di lavoro è costituita dagli assi Z e X nell’ordine. Questa è l’impostazione
standard per un tornio.

Il piano di contornatura definisce il piano nel quale sono possibili le interpolazioni circolari (G2 e G3).

Nota: L’ordine di programmazione degli assi del piano di lavoro definisce il senso (orario o antiorario) delle
interpolazioni circolari. In generale prendendo come ascissa il primo asse del piano di lavoro e come ordinata il
secondo asse del piano di lavoro, G2 esegue un’interpolazione oraria, G3 antioraria.

X Z

G2 G2

G3 G3
Z X
G25ZX G25XZ

Nota: All'accensione e ad ogni inizio programma è attivata il piano di lavoro di taratura definito dal costruttore della
macchina. Normalmente per un tornio viene definito il piano G25ZX.

Attenzione: E’ possibile definire un terzo asse nella programmazione della G25. Il terzo asse generalmente viene
utilizzato per macro istruzioni o per cicli fissi di sistema.
Ad esempio, per macchine dotate di programmazione con assi polari, è possibile definire come piano di
contornatura il piano nel quale devono essere fatte le interpolazioni circolari, e come terzo asse il piano di
profondità. Per maggiori informazioni, consultare il capitolo relativo alla programmazione degli assi polari.

15
CNC Z32 - Guida alla programmazione (TORNIO)

2.12 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)

G0 X150 (movimento in G0)


Z5 (movimento in G0)
X105 (movimento in G0)

G1 X100 (movimento in G1)


Z-100 (movimento in G1)
X140 (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)

G0 X150 (movimento in G0)


Z5 (movimento in G1)
X105 (movimento in G1)

G1 X10 (movimento in G1)


Z-100 (movimento in G1)
X140 (movimento in G1)

16
CNC Z32 - Guida alla programmazione (TORNIO)

2.12.1 Movimenti in rapido (G0)

200 X

G0 X200 Z10
Z

La funzione G0 specifica un movimento in rapido, ovvero alla massima velocità ammessa dalla macchina. Possono
essere effettuati movimenti in rapido solamente lineari programmando anche più di un asse alla volta.

Se viene programmato un solo asse il movimento è allineato secondo l’asse programmato.

G0 X220
200

G0 Z10
Z

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.

17
CNC Z32 - Guida alla programmazione (TORNIO)

2.12.2 Interpolazione lineare (G1)

X
T1 M6
OZ1 OX1
G96 S100 MS2000 M3
G95 F0.3
G0 X200 Z5
G1 Z0
G1 X380 Z-100
380

200

Z M2

Attenzione: con profili conici e utensili raggiati è


necessario tenere in considerazione la correzione dovuta
al raggio utensile.
100

La funzione G1 specifica un movimento lineare in lavoro. Possono essere programmati più assi alla volta.

Possono essere programmati fino a cinque assi contemporanei. La traiettoria percorsa dagli assi per raggiungere il
punto finale programmato è rettilinea: tutti gli assi programmati arrivano insieme nel punto programmato.

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


E’ possibile riprogrammare l’avanzamento dell’utensile (parametro F) anche sulla riga stessa di programmazione
del movimento in G1.

Se viene programmato un solo asse il movimento è allineato secondo l’asse programmato:


X
T1 M6
OZ1 OX1
G96 S100 MS2000 M3
G95 F0.3
200

G0 X10 Z5
G1 Z0
Z G1 X200
G1 Z-200
G0 X205
M2

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

18
CNC Z32 - Guida alla programmazione (TORNIO)

2.12.3 Interpolazione circolare (G2 – G3)

Permette di programmare un arco di circonferenza.


Il senso dell’interpolazione circolare viene impostato dalla scelta di G2 oppure G3.

In generale, avendo specificato come piano di lavoro il piano G25ZX vale la seguente regola:

G2 – Interpolazione in senso orario


G3 – Interpolazione in senso anti-orario

Per macchine con asse X positivo verso il basso i sensi sono invertiti, come mostrato nella figura sottostante:
X

G2
Nella figura sono mostrati I
sensi di percorrenza dei cerchi.
G3
G3 G2
Sono presi in considerazione
archi di cerchio effettuati con X
Z Z positive e archi di cerchio
effettuati con X negative (linea
G2 G3 tratteggiata) per il caso di
G3 G2 torrette posteriori.

X
La specifica del movimento in G2/G3 ha la seguente sintassi:
G2 I… J… Z… X… F…
Oppure
G3 I… J… Z… X… F…

I rappresenta le quote del centro dell’arco di cerchio secondo l’asse Z espresse in valore assoluto non
incrementale
J rappresenta le quote del centro dell’arco di cerchio secondo l’asse X espresse in valore assoluto non
incrementale
Z è la quota finale sull’asse Z raggiunta a fine interpolazione
X è la quota finale sull’asse X raggiunta a fine interpolazione
F è l’avanzamento durante l’interpolazione. Se non viene programmato, viene lasciato attivo il valore
precedentemente impostato

Attenzione: Se il piano di contornatura è diverso dal piano ZX, ma è per esempio il piano VW, la
sintassi diventa:
G3 I.. J.. V.. W..
Dove “I” si riferisce al primo asse del piano di contornatura (V) e “J” al secondo asse (W)

19
CNC Z32 - Guida alla programmazione (TORNIO)

E’ possibile definire il cerchio anche in un secondo modo, ovvero specificando le quote del punto finale e il raggio
del cerchio.
In questo caso, la sintassi del movimento in G2/G3 diventa la seguente:
G2 Z… X… RA… F…
Oppure
G3 Z… X… RA… F…

Z è la quota finale sull’asse Z raggiunta a fine interpolazione


X è la quota finale sull’asse X raggiunta a fine interpolazione
RA è il raggio del cerchio da eseguire
F è l’avanzamento durante l’interpolazione. Se non viene programmato, viene lasciato attivo il valore
precedentemente impostato

Con il parametro aggiuntivo KA1 è possibile specificare se l’arco di cerchio è superiore a 180°.
Ad esempio:

X R100 X
R100
R100 R100

400 400

Z -700 -570 -370 -250 -70


Z
-700 -570 -370 -250 -70

T1 M6 T1 M6
OZ1 OX1 OZ1 OX1
G96 S100 MS2000 M3 G96 S100 MS2000 M3
G95 F0.3 G95 F0.3
G0 X410 Z5 G0 X410 Z5
G1 Z0 X400 G1 Z0 X400
G1 X-70 G1 X-70
G3 Z-250 X400 RA100 G3 Z-250 X400 KA1 RA100
G1 Z-370 G1 Z-370
G2 Z-570 X400 RA100 G2 Z-570 X400 KA1 RA100
G1 Z-700 G1 Z-700
M2 M2

Nota: La programmazione di archi superiori a 180° è gen eralmente rara e utile solo per casi particolari di
programmazione.

20
CNC Z32 - Guida alla programmazione (TORNIO)

L’esecuzione dei cerchi deve tenere in considerazione il raggio dell’inserto dell’utensile.


Se non viene utilizzata la funzionalità di correzione raggio utensile del controllo, per la quale si rimanda al capitolo
del presente manuale nella quale verrà trattata, occorre modificare il profilo programmato in modo tale da eseguire
sul pezzo il profilo desiderato.

Ad esempio:

Utensile azzerato
in posizione 1
Raggio inserto=0.4
T1 M6
OZ1 OX1
X G96 S100 MS2000 M3
G95 F0.3
G0 X440 Z5
X700 G1 Z0 X440
G1 Z-220.4
G2 Z-350 X699.2 RA129.6
X440 G1 X700
G1 Z-600
R130 G0 X705
M2

-600 -350 -220


Z

21
CNC Z32 - Guida alla programmazione (TORNIO)

2.12.4 Interpolazione elicoidale (G12 – G13)

La funzione G12 attiva la possibilità di eseguire interpolazioni elicoidali.


La funzione G13 disattiva tale modalità.

La quota programmata sul terzo asse è raggiunta, a fine movimento, insieme alle due quote del piano. La velocità
con G12 attiva è la F programmata.
G12 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.
G12 può rimanere attiva, in correzione raggio, anche nei tratti che vengono accorciati o eliminati.

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
prossimo movimento utile.

Poiché la G12 impone alcune limitazioni (pendenza, correzione raggio, …) è buona regola programmarla solo
quando necessario e disattivarla (G13) quando non serve più.

L’interpolazione elicoidale può essere ad esempio utile, nel caso di lavorazioni con assi polari.
Se gli assi polari sono, ad esempio, gli assi V e W, è possibile eseguire un cerchio nel piano VW e
contemporaneamente muovere l’asse di profondità Z.

Ad esempio:
G12
G3 V..W..I..J..Z..
G13

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.

22
CNC Z32 - Guida alla programmazione (TORNIO)

2.13 Programmazione in coordinate incrementali (G90 G91)

La programmazione in quote incrementali si effettua programmando la G91.

La sintassi è la seguente:

HX.. G91 Inizia la programmazione incrementale in micron

Il parametro HX definisce la scala dell’incremento in millesimi di unità visualizzata.


Per avere incrementi programmati in unità visualizzate (millimetri, pollici o gradi) occorre programmare HX1000

Nell’uso pratico è comune programmare:


HX1000 G91

La G91 è modale e si disattiva programmando G90.

Attenzione: La programmazione incrementale si riferisce solamente alle quote finali dei movimenti.
La programmazione dei centri dei cerchi resta sempre in quote assolute indipendentemente dalla
programmazione della G91.

Ad esempio:
T4 M6
OZ1 OX1
G96 S30 MS2000 M3
X G95 F1
G0 X45 Z5
G0 Z-20
G1 X35
HX1000 G91
40
35

X8
Z G0 Z-15
G1 X-8
G0 X8
G0 Z-15
G1 X-8
15 15 15 20 X8
G0 Z-15
G1 X-8
G90 G0 X45
M2

Attenzione: la programmazione del parametro HX deve essere effettuata prima della programmazione di
G91:
Corretto:
HX1000 G91
Errato:
G91 HX1000

23
CNC Z32 - Guida alla programmazione (TORNIO)

2.14 Specularità, rotazione, traslazione, 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.14.1 Specularità sul piano di lavoro (G56 – G55)

Per lavorazioni al tornio è frequente utilizzare la specularità per lavorare un pezzo con la torretta dalla parte
negativa delle X. In questi casi è normale programmare la lavorazione in X+ e impostare una specularità per
portare la lavorazione in X-.

E’ possibile impostare la specularti solamente sui due assi del piano di lavoro identificati dalla funzione G25. Su un
tornio normale il piano di lavoro è generalmente il piano ZX.

La specularità viene abilitata con la funzione G56 (modale). G55 annulla G56 e quindi annulla la specularità.

T4 M6
OZ1 OX1
G96 S30 MS2000 M3
G95 F1
G56 (attiva specularita’)
G0 X50 Z2
G1 Z0
Z X100
140

100

Z-80
X140
Z-90
80 G55 (disattiva specularita’)
G0 X-145
X M2

In generale è possibile usare la specularità per specchiare una lavorazione rispetto ad un asse qualsiasi. La
lavorazione programmata è trasformata nella figura speculare rispetto all'asse di specularità individuato dal punto
di coordinate (IS, JS) e dalla pendenza QS.

La specularità deve essere abilitata con G56 (modale) e con la


X programmazione dei parametri IS JS QS:
QS G56 IS… JS… QS…

G55 annulla G56 e quindi la specularità. E’ buona regola, dopo aver


impostato una specularità con i valori IS JS e QS, programmare a
(IS, JS) zero tali valori quando si disattiva la specularità:
JS
Z G55 IS0 JS0 QS0
IS
La definizione del punto (IS, JS) segue la regola:
IS è la coordinata rispetto al primo asse del piano di lavoro, JS è la
coordinata rispetto al secondo asse.

Attenzione: La coordinata del punto JS deve essere espressa come quota radiale, anche se è attiva la
programmazione diametrale.

Non è possibile combinare più di una specularità.


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

24
CNC Z32 - Guida alla programmazione (TORNIO)

2.14.2 Rotazione lavorazione (IR JR QR)


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

E’ possibile impostare una rotazione solamente sul piano di lavoro individuato dalla G25. Su un tornio normale il
piano di lavoro è generalmente il piano ZX.

L’attivazione della rotazione è automatica dopo la


X programmazione del parametro QR.

QR La definizione del punto (IR, JR) segue la regola:

IR è la coordinata del centro di rotazione rispetto al primo asse


del piano di lavoro, JR è la coordinata del centro di rotazione
rispetto al secondo asse.
(IR, JR)
Attenzione: La coordinata del punto JR deve essere espressa
JR come quota radiale, anche se è attiva la programmazione
Z diametrale.
IR

La sintassi per l’attivazione della rotazione è pertanto:

QR… IR… JR…

Per la sua disattivazione, anche se è sufficiente programmare a zero il solo parametro QR, è consigliabile azzerare
anche i valori IR e JR:

QR0 IR0 JR0

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.

25
CNC Z32 - Guida alla programmazione (TORNIO)

2.14.3 Traslazione lavorazione (DA DB)


Le funzioni DA e DB permettono di traslare il programma lungo gli assi del piano di lavoro.

DA effettua una traslazione lungo il primo asse


DB effettua una traslazione lungo il secondo asse

Ad esempio, in un tornio con piano di lavoro ZX:


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

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

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

Attenzione: La traslazione DB deve essere espressa come quantità radiale, anche se è attiva la programmazione
diametrale.

Ad esempio:
T4 M6
OZ1 OX1
X
G96 S30 MS2000 M3
G95 F1

G0 X5 Z1
0.5 x 45° G1 Z-1
X9
Z-1.5 X10
2.5 G0 X11
20 10
Z DA-15 DB5

G0 X5 Z1
G1 Z-1
X9
1 Z-1.5 X10
G0 X11
15 M2

26
CNC Z32 - Guida alla programmazione (TORNIO)

2.14.4 Fattore di scala


Il parametri KP definisce il fattore di scala sul piano di lavoro.
In un tornio KP applica il fattore di scala sul piano ZX.

L’attivazione dei fattori di scala è automatica dopo la


programmazione dei parametri KP e KT.
KP = 2
Al Reset KP=1 KT=1

2.14.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:
KMX 1.2 (fattore di scala di 1.2 sul solo asse X)
KDZ 10 (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

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.

27
CNC Z32 - Guida alla programmazione (TORNIO)

2.15 Altre funzioni

2.15.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.15.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 C A B
Nomi asse in taratura X Z C A B
Nell’esempio superiore occorre programmare:
G16ZX

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.

28
CNC Z32 - Guida alla programmazione (TORNIO)

2.15.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:
− una tavola girevole (o altro asse) durante il bloccaggio ha un leggero movimento che la porta
molto vicino all'errore di taratura ammesso
− 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 morto e di forzarlo vivo
direttamente da part-program.

29
CNC Z32 - Guida alla programmazione (TORNIO)

2.15.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.15.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.15.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.

2.15.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.

30
CNC Z32 - Guida alla programmazione (TORNIO)

2.15.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.15.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.15.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
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):

31
CNC Z32 - Guida alla programmazione (TORNIO)

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

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.

32
CNC Z32 - Guida alla programmazione (TORNIO)

3. PROGRAMMAZIONE DIRETTA DEL PROFILO


Con la programmazione diretta, è possibile descrivere il profilo finale del pezzo utilizzando gli elementi noti sul
disegno del pezzo meccanico. In questo modo rette inclinate, raccordi e smussi vengono automaticamente
calcolate dall’unità di controllo.

Nella programmazione diretta, oltre alle quote X e Z degli assi, vengono utilizzati anche i seguenti parametri:

• QF (Pendenza)
La definizione della pendenza di un tratto è possibile tramite la programmazione del parametro QF secondo la
seguente convezione:

X X
QF > 0 QF < 0

QF tra 0 e 90 QF tra -270 e -360


QF tra 90 e 180 QF tra -180 e -270

Z
Z
QF tra 180 e 270 QF tra 270 e 360 QF tra -90 e -180
QF tra 0 e -90

Se l’asse X è rivolto vero il basso, la convenzione è invece la seguente:

QF > 0
QF < 0

QF tra 0 e -90
QF tra 180 e 270 QF tra 270 e 360 QF tra -90 e -180
Z
Z
QF tra 90 e 180 QF tra -180 e -270
QF tra 0 e 90 QF tra -270 e -360

X X

33
CNC Z32 - Guida alla programmazione (TORNIO)

• RR (raccordi)
La programmazione di un raggio di raccordo è possibile tramite la programmazione del parametro RR.
Il parametro RR deve essere programmato con segno.
In generale la scelta del segno del raccordo segue la stessa convezione della scelta tra G2 e G3.

Se l’arco di cerchio che rappresenta il raccordo desiderato è un tratto in G2, il raccordo equivalente è negativo
Se l’arco di cerchio che rappresenta il raccordo desiderato è un tratto in G3, il raccordo equivalente è positivo

X
RR-
Nella figura vengono mostrati i sensi e il segno dei
raccordi.
RR+
Z Z Vengono presi in considerazione sia il caso con asse
X rivolto verso l’alto sia il caso con asse X rivolto verso
RR+ il basso.
RR-

Nel caso in cui si programmi un profilo dalla parte delle X negative, la convenzione sul segno dei raggi di raccordo
diventa la seguente:

RR+
Attenzione: Questa convenzione vale solo nel caso
RR- in cui si programmi il profilo direttamente in X-, non
deve essere applicata se il profilo viene programmato
Z Z in X+ e successivamente specchiato con la funzione
di specularità.
RR-
RR+

L’inserimento di un raggio di raccordo si programma aggiungendo il parametro RR seguito dal valore del raggio di
raccordo (con segno) nello stesso blocco di movimento che deve terminare con il raccordo.

34
CNC Z32 - Guida alla programmazione (TORNIO)

• RB (Smussi)

La programmazione di uno smusso è possibile tramite la programmazione del parametro RB.


Il parametro RB non deve essere programmato con segno.
Il suo significato è espresso nella seguente figura:

X X RB
RB
RB

RB

Z Z

L’inserimento di uno smusso si programma aggiungendo il parametro RB seguito dal valore dello smusso nello
stesso blocco di movimento che deve terminare con lo smusso.

35
CNC Z32 - Guida alla programmazione (TORNIO)

Esempi di programmazione:

• Retta con Z finale e pendenza note:


G1 Z… QF… X

30° G1 X50 Z0
Z-20
50 Z-40 QF150

Z
-40 -20

• Retta con X finale e pendenza note:


G1 X… QF…
X

30° 70 G1 X50 Z0
Z-20
50 X70 QF150

Z
-20

• Combinazioni con doppia pendenza:


G1 QF…
G1 Z… X… QF…
X

120

60°
G1 X50 Z0
30° Z-15
QF150
Z-50 X120 QF120
50

Z
-50 -15

36
CNC Z32 - Guida alla programmazione (TORNIO)

X
30°
70
G1 X20 Z0
QF 90
Z-25 X70 QF150
Z-50

20

Z
-50 -25

Alla fine di ogni tipo di movimento programmato è possibile inserire un raggio di raccordo oppure uno smusso
programmando sullo stesso blocco di definizione del movimento il valore del raccordo (RR) oppure dello smusso
(RB)

Esempi di programmazione di raccordi


X

30° 70
G1 X50 Z0
Z-20 RR-15
50 Z-40 QF150

R15

Z
-20

120

60° R15

30° G1 X50 Z0
R10
Z-15 RR-10
QF150 RR-15
50 Z-50 X120 QF120

Z
-50 -15

37
CNC Z32 - Guida alla programmazione (TORNIO)

30° 70

50 G1 X20 Z0
QF 90 RR10
R15
Z-25 X70 QF150 RR10
Z-50

Z
-20

Esempi di programmazione di smussi

30°

50 G1 X50 Z0
Z-20 RB5
Z-40 QF150
5

Z
-40 -20

120

60°

30° G1 X50 Z0
Z-15 RB5
5
QF150 RB5
50
Z-50 X120 QF120
5

Z
-50 -15

38
CNC Z32 - Guida alla programmazione (TORNIO)

5 X
30°
70
G1 X20 Z0
QF 90 RB5
Z-25 X70 QF150 RB5
5 Z-50

20

Z
-50 -25

39
CNC Z32 - Guida alla programmazione (TORNIO)

4. CORREZIONE RAGGIO UTENSILE


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 descritto dall’utensile sarà diverso dal profilo programmato, questo per effetto della
correzione da applicare al profilo per poterlo lavorare con un utesile raggiato.
Nell'esempio di figura è indicato il percorso del centro del settore raggiato 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

40
CNC Z32 - Guida alla programmazione (TORNIO)

4.1 Compensazione vettoriale del raggio utensile

Nel caso di profili da eseguire in correzione raggio, la punta teorica dell’utensile deve seguire un profilo diverso
rispetto al profilo teorico del pezzo.

Per affrontare la questione della compensazione del raggio utensile, occorre prima definire due punti importati, la
punta teorica dell’utensile e il centro utensile:

B
Nella figura, il punto A rappresenta il centro utensile, ovvero il centro del settore raggiato. Il punto B rappresenta la
punta teorica dell’utensile.
La punta teorica è il punto di azzeramento dell’utensile, le quote assi visualizzate a video sono riferite sempre al
punto B (punta teorica).

41
CNC Z32 - Guida alla programmazione (TORNIO)

Quando si affronta un profilo in correzione raggio, è necessario conoscere la posizione della punta teorica rispetto
al centro utensile:

X X

2
3 1
9
4 8
Z Z

5 7
6

Nel caso di asse X rivolto verso il basso:

6
5 7
9

Z Z
4 8

3 1
2
X X

La funzione G150 permette di impostare l’orientamento della punta teorica dell’utensile.


Secondo le figure precedenti, i codici di orientamento sono i seguenti:

G150KA1 = posizione 1. Punta teorica rivolta in direzione Z- e X-


G150KA2 = posizione 2. Punta teorica rivolta in direzione X-
G150KA3 = posizione 3. Punta teorica rivolta in direzione Z+ e X-
G150KA4 = posizione 4. Punta teorica rivolta in direzione Z+
G150KA5 = posizione 5. Punta teorica rivolta in direzione Z+ e X+
G150KA6 = posizione 6. Punta teorica rivolta in direzione X+
G150KA7 = posizione 7. Punta teorica rivolta in direzione Z- e X+
G150KA8 = posizione 8. Punta teorica rivolta in direzione Z-

La programmazione della G150 deve essere fatta prima di iniziare un profilo un correzione raggio.

Per disattivare la funzione G150 occorre programmare G150KA0

42
CNC Z32 - Guida alla programmazione (TORNIO)

4.2 Attacco al profilo (G41/G42) e distacco dal profilo G40

Le funzioni G41 e G42 servono per iniziare un profilo in correzione raggio.


In funzione dell’orientamento dell’asse X, le funzioni G41 e G42 determinano la posizione dell’utensile rispetto al
profilo.

Con asse X rivolto verso l’alto, si può considerare la seguente regola:


G41: guardando nella direzione del profilo, l’utensile sta alla sinistra del profilo
G42: guardando nella direzione del profilo, l’utensile sta alla destra del profilo

X X
G41 G42

G42 G41

Z Z

X X
G42 G41

G41 G42

Z Z

Con asse X rivolto verso il basso, si può considerare la seguente regola:


G41: guardando nella direzione del profilo, l’utensile sta alla destra del profilo
G42: guardando nella direzione del profilo, l’utensile sta alla sinistra del profilo

Z Z
X
G42 G41

G41 G42
X X

Z Z

G41 G42

G42 G41
X X

43
CNC Z32 - Guida alla programmazione (TORNIO)

La programmazione di un profilo in correzione raggio prevede fondamentalmente tre parti:


- attacco al profilo
- profilo
- distacco dal profilo

Il movimento di attacco è il movimento successivo alla programmazione delle funzioni G41 o G42.

Il movimento di attacco porta il settore raggiato dell’utensile tangente alla traiettoria nel primo punto che definisce il
profilo. Ovvero il centro utensile viene portato sulla normale al profilo tangente al primo punto:

Lo stesso vale per l’ultimo punto del profilo. L’ultimo tratto del profilo porta il settore raggiato dell’utensile tangente
alla traiettoria nell’ultimo punto che definisce il profilo. Ovvero il centro utensile viene portato sulla normale al profilo
tangente all’ultimo punto:

Esistono due tipologie di attacchi e distacchi dal profilo.

1) Attacco e distacco lineari

In generale la sintassi di programmazione è la seguente:

G0X..Z.. (posizionamento iniziale)


G41 (attivazione correzione raggio)
X.. Z.. (primo punto del profilo)

… (profilo)

X.. Z.. (ultimo punto del profilo)
G40 (disattivazione correzione raggio)
X.. Z.. (svincolo)

Ad esempio, un profilo semplice:


X

80
70
G0 Z5 X70
G42
50 X50 Z0
Z-50
X70
G40
X80 Z-40
Z
-50 -40 5

44
CNC Z32 - Guida alla programmazione (TORNIO)

Attenzione! La riga di part-program nella quale si specifica il primo punto da raggiungere in correzione raggio è
necessario che sia sulla riga successiva a quella nella quale si programma l’attivazione della correzione raggio.

Ovvero si deve programmare


G41 (o G42)
X.. Z..

E non
G41 X.. Z..

La programmazione delle quote X e Z sulla stessa riga di attivazione della funzione G41 (o G42) ha il significato di
considerare in correzione raggio anche il primo movimento di attacco al profilo. In questi casi, non è detto che il
primo punto del profilo sia correttamente raggiunto. Consultare il manuale di programmazione M323 per una
descrizione più dettagliata.

1) Attacco e distacco circolari

In questo caso la sintassi di programmazione è la seguente:

G0X..Z.. (posizionamento iniziale)


G41 X.. Z.. QF..(attivazione correzione raggio)

… (profilo)

X.. Z.. (ultimo punto del profilo)
G40 X.. Z.. (disattivazione correzione raggio)

Il movimento di attacco è descritto con il blocco G41 (o G42) X... Z.. QF.. X e Z sono le quote del primo punto del
profilo, QF è la pendenza finale del movimento di attacco, ovvero è la direzione del primo tratto di profilo. QF segue
la stessa convenzione già descritta per i tratti di profilo.
X

80
70
G0 Z5 X70
G42 X50 Z0 QF180
50
Z-50
X70
G40 X80 Z-40

Z
-50 -40 5

E’ possibile mescolare come si desidera attacco e distacchi lineari e circolari.

45
CNC Z32 - Guida alla programmazione (TORNIO)

4.3 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.

4.4 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

46
CNC Z32 - Guida alla programmazione (TORNIO)

4.5 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.

4.6 Quote visualizzate e correzione raggio

Durante l’esecuzione di un profilo in correzione raggio, le quote visualizzate dal CN continuano ad essere riferite
alla punta virtuale dell’utensile.
Questo significa che, nel caso di pareti inclinate, o nel caso di cerchi, le quote visualizzate, non corrispondono alle
quote del profilo teorico.
La figura seguente mostra la traiettoria del profilo teorico (in linea continua) e le quote della punta virtuale
visualizzate a video (in linea tratteggiata).

X
1

47
CNC Z32 - Guida alla programmazione (TORNIO)

4.7 Esempio di profilo in correzione raggio

X
T4 M6
120 OZ1 OX1
110 G96 S30 MS2000 M3
G95 F1
2x45°
G150KA1
G0 Z10 X60
R5 G42
30°
70 X50 Z5
Z-30 RR-5
50 X70
Z-50 QF150 RR-5
R5 X110 RB2
Z-60
X120
G40
G0 Z-50 X130
Z
-60 -50 -30 5

Nella figura precedente è stata mostrata la traiettoria del centro utensile.


Le quote visualizzate a video sarebbero invece come quelle indicate nella figura sottostante:

48
CNC Z32 - Guida alla programmazione (TORNIO)

4.8 Gestione del sovrametallo

Con la funzione G150 è possibile specificare un sovrametallo nell’esecuzione di un profilo in correzione raggio.
La sintassi di programmazione è

G150 I…

Esempio:
Sovrametallo di 2mm sul profilo:
T4 M6
OZ1 OX1
X G96 S30 MS2000 M3
120 G95 F1
110 G150KA1 I2

2x45° N10
G0 Z10 X60
G42
R5
30° X50 Z5
70 Z-30 RR-5
X70
50 Z-50 QF150 RR-5
X110 RB2
R5 Z-60
X120
G40
G0 Z-50 X130
N20
Z
G150 I0
-60 -50 -30 5 !GON10-N20!

Nella figura viene mostrato:


- Il profilo programmato in linea più spessa
- La traiettoria percorsa dal centro utensile in linea tratteggiata
- Il sovrametallo non lavorato con una fascia ombreggiata

Nell’esempio di programma, dopo l’esecuzione del profilo con sovrametallo di 2mm, viene annullata la
programmazione del sovrametallo (con l’istruzione G150 I0) e ripetuto il profilo, questa volta, senza sovrametallo.

La ripetizione del profilo viene fatta con l’istruzione di salto con ritorno !GON..-N..! Consultare il presente
manuale al capitolo relativo ai salti con ritorno (programmazione parametrica).

49
CNC Z32 - Guida alla programmazione (TORNIO)

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

50
CNC Z32 - Guida alla programmazione (TORNIO)

KM fattore moltiplicativo singolo asse


KP fattore di scala nel piano
KT fattore di scala terzo asse
L lunghezza utensile (fresa)
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,…

51
CNC Z32 - Guida alla programmazione (TORNIO)

• 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]]
Equivale a:
PAR[10+PAR[6]]
Cioè:
PAR[40]

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]1

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.

52
CNC Z32 - Guida alla programmazione (TORNIO)

All’interno dell’espressione è possibile utilizzare le parentesi tonde “(“ e “)”.

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


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 movimenti di macchina.

Un esempio molto semplice:


N10 HA 10
N20 HB 0.5
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è 0.5)
Nel blocco N60 viene effettuato un movimento in lavoro dell’asse X fino alla quota HC+100 (cioè 130) con
la Feed pari a 0.5.

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 lungo l’asse X (parametro LX):
LX100
Assegna il valore L al parametro lunghezza utensile.

Oppure
LX< LX-2 >
Accorcia l’utensile in direzione X 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

53
CNC Z32 - Guida alla programmazione (TORNIO)

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 G25ZXC, il parametro AA rappresenta l’asse Z, il parametro AB l’asse X e AC l’asse C.

Attraverso questi parametri è possibile programmare movimenti degli assi indipendentemente dai nomi degli assi
reali.

La sintassi di programmazione è esattamente uguale alla programmazione normale di movimenti asse, quindi è
possibile fare uso dei movimenti in G0, G1, G2, G3 e di tutte le funzionalità per la programmazione di profili
complessi (raggi di raccordo, smussi, etc.).

Ad esempio:
G25ZX
G0 AA5 (movimento in rapido dell’asse Z a quota 5)
G0 AB120 (movimento in rapido dell’asse X a quota 120)
HA-40 (assegno al parametro HA il valore -5)
G1 AA<HA> (movimento in lavoro dell’asse Z a quota -40)

54
CNC Z32 - Guida alla programmazione (TORNIO)

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.

55
CNC Z32 - Guida alla programmazione (TORNIO)

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

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.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.

56
CNC Z32 - Guida alla programmazione (TORNIO)

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:

!IF (HA+HB)*PAR[10] >= HC ; GON20!

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.

5.2.5 Controllare più condizioni sulla stessa riga evoluta


Su un’unica riga evoluta è possibile controllare più condizioni:

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


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

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.

57
CNC Z32 - Guida alla programmazione (TORNIO)

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.

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.

58
CNC Z32 - Guida alla programmazione (TORNIO)

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.

59
CNC Z32 - Guida alla programmazione (TORNIO)

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:
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

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.

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

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.

60
CNC Z32 - Guida alla programmazione (TORNIO)

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 1}
N10

N20
--END IF
Il programma esegue le righe da N10 ad N20 solo se la {condizione 1} è 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 è falsa e condizione 2 è falsa)
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 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 è falsa, condizione 2 è falsa e condizione 3 è vera)
--ELSE
… (eseguito se condizione 1 è falsa, condizione 2 è falsa e condizione 3 è falsa)
--END IF
N70
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.

61
CNC Z32 - Guida alla programmazione (TORNIO)

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 è vera, condizione 2 è vera e condizione 3 è vera)
N40
--END IF
--END IF
--END IF

62
CNC Z32 - Guida alla programmazione (TORNIO)

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’inero più vicino.

--DO
N10

N100
--LOOP 10
N110

5.4.2 Condizione di ripetizione


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

63
CNC Z32 - Guida alla programmazione (TORNIO)

5.4.3 Condizione di uscita a metà del blocco --DO --LOOP (--EXIT DO)
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

64
CNC Z32 - Guida alla programmazione (TORNIO)

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 X<X-0.1>
G1 Z-50
G26
--END DEFINE
G0 X100
G0 Z2
!GOP10!
G0 X99.9
G0 Z2
!GOP10!
G0X101

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.

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:

65
CNC Z32 - Guida alla programmazione (TORNIO)

--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 X<X-0.1>
G1 Z-50
G26
--END DEFINE

G0 X100
G0 Z2
!GOS20!
G0 X99.9
G0 Z2
!GOS20!
G0X101
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..!

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.

66
CNC Z32 - Guida alla programmazione (TORNIO)

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.

6.1 Cicli fissi di Z32 (G881 – G886)

Tramite le funzioni G881 - G886 è possibile programmare i cicli fissi di sistema.

Una volta attivato un ciclo fisso (con la funzione G881-G886), esso è eseguito automaticamente dopo ogni
posizionamento in G0 (RAPIDO) programmato. Eventuali movimenti in lavoro non fanno eseguire il ciclo fisso.
La programmazione delle G881-G886 è la seguente:

Passaggio di parametri:
Il passaggio di parametri è effettuabile programmando i parametri da passare sulla stesa riga di programma dove è
programmata la G881-G886. Nella riga di programma dove è presente una G881-G886 non è possibile
programmare parametri diversi da quelli accettati per la programmazione dei cicli fissi.

Ad esempio, riferendosi al ciclo G881 di foratura, è possibile impostare i parametri programmando:


G881 Z-40 J5 E5 F600
Un esempio di programmazione non corretta è la seguente:
G881 Z-40 J5 E5 F600 S1000 M3
Dato che il parametro S non è espressamente programmabile nella riga della G881 (e neanche l’istruzione M3) , la
scrittura corretta è la seguente:
S1000 M3
G881 Z-40 J5 E5 F600

Attivazione di un ciclo fisso


Per richiamare e attivare un ciclo fisso occorre programmare la funzione G881-G886 desiderata.
L’attivazione di un ciclo fisso non produce movimento degli assi.
L’esecuzione del ciclo viene effettuata al primo posizionamento in rapido successivo alla programmazione del
ciclo.
Dopo la prima esecuzione, il ciclo viene ripetuto anche su tutti i successivi posizionamenti in rapido.

Disattivazione di un ciclo fisso


La disattivazione di un ciclo fisso attivato con G881-G886 si effettua programmando
G880
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 tutti riprogrammati.

67
CNC Z32 - Guida alla programmazione (TORNIO)

Sospensione di un ciclo fisso


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

G881 Z-40 J5 E10 (attiva il ciclo fisso)
G0 X100 (esegue il ciclo fisso)
G27X G0 C180 (non esegue il ciclo fisso)
G0 X150 (esegue il ciclo fisso)
G880 (disattiva il ciclo fisso)
G0 X200 (non esegue il ciclo fisso)

Quota di ritorno dei cicli fissi


La quota di ritorno dei cicli fissi è impostata nel parametro E.
Ad esempio:

N1 G0 Z10
N2 G881 Z-10 J3 E5
N3 G0 X50

N1 – Posizionamento in rapido a quota Z10


N2 – Preparazione del ciclo fisso
N3 – Esecuzione della foratura: a fine ciclo, l’asse Z viene riportato alla quota Z5.

Modifica di parametri di richiamo di cicli fissi


E’ possibile modificare i parametri del ciclo fisso attivato, tramite la funzione G881-G886 corrispondente.
Ad esempio:


G881 Z-40 J5 E10 (attiva il ciclo fisso)
G0 X100 (esegue la prima foratura)
G881 E20 (cambia la quota di svincolo finale)
G0 X150 (esegue il ciclo fisso con nuovo svincolo finale)
G880 (disattiva il ciclo fisso)

Cambio di ciclo fisso e impostazioni parametri


E’ possibile cambiare ciclo fisso e mantenere i parametri del ciclo attivato in precedenza.
Ad esempio:


G881 Z-40 J5 E10 F1200 (attiva il ciclo fisso di foratura)
N1 G0 X100 (esegue il primo posizionamento)
X150 (secondo posizionamento)
N2 X200 (terzo posizionamento)
G886 Z-35 F400 (attiva il ciclo fisso di alesatura)
(NOTA! I parametri J ed E sono ancora quelli del ciclo precedente)
(ripete i posizionanti☺
!GON1-N2!
G880 (disattiva ciclo fisso)

Attenzione: Per una programmazione più chiara e comprensibile, e per evitare comportamenti non facilmente
comprensibili, si consiglia di azzerare tutti i parametri di chiamata dei cicli fissi con la funzione G880, ogni volta che
si cambia ciclo fisso. In questo modo è necessario riprogrammare tutti i valori necessari al ciclo. Ad esempio:

68
CNC Z32 - Guida alla programmazione (TORNIO)


G881 Z-40 J5 E10 F1200 (attiva il ciclo fisso di foratura)
N1 G0 X100 (esegue il primo posizionamento)
X150 (secondo posizionamento)
N2 X200 (terzo posizionamento)
G880 (tutti i parametri ciclo vengono azzerati)
G886 Z-35 J5 E10 F400 (attiva il ciclo fisso di alesatura)
(NOTA! Tutti i parametri DEVONO ESSERE RIPROGRAMMATI perché con la funzione
G880 sono stati tutti azzerati)
(ripete i posizionamenti:)
!GON1-N2!
G880 (disattiva ciclo fisso)

69
CNC Z32 - Guida alla programmazione (TORNIO)

6.1.1 G881: Foratura semplice

feed F
Z (o X): quota di fondo foro
G0
E
J: quota di avvicinamento. E’ la quota di partenza della
lavorazione
J
E: quota di svincolo finale.

NT: tempo di sosta a fondo foro

F: Avanzamento in lavoro
NT
Note: Nel caso nel caso di fori in direzione X, i valori X, J,
Z(X)
E vengono considerati valori diametrali oppure radiali in
funzione della modalità attiva al momento della
programmazione delle forature.

6.1.2 G882: Foratura profonda con rottura truciolo

feed F
Z (o X): quota di fondo foro.
G0 E

J: quota di avvicinamento. E’ la quota di partenza della


lavorazione
J

E: quota di svincolo finale. K

NT: tempo di sosta a fondo foro I


K
K: incremento in profondità prima della rottura truciolo

I: valore di distacco per rottura truciolo. Se viene NT

programmato un valore 0, oppure non viene Z (X)


programmato il parametro I, viene applicato di default
un valore pari ad 0.2.

F: Avanzamento in lavoro

Nota: Nel caso nel caso di fori in direzione X, i valori X, J, E, K e I vengono considerati valori
diametrali oppure radiali in funzione della modalità attiva al momento della programmazione delle
forature.

70
CNC Z32 - Guida alla programmazione (TORNIO)

6.1.3 G883: Foratura profonda con scarico truciolo

feed F E
Z (o X): quota di fondo foro. NN
NQ
G0
J: quota di avvicinamento. E’ la quota di partenza della
lavorazione J

E: quota di svincolo finale.


K
NT: tempo di sosta a fondo foro NS

K: incremento in profondità prima dello scarico truciolo

I: riduzione dell’incremento di passata NT

Z (X)
NM: minima profondità di passata

La logica di funzionamento dei parametri K, I ed NM è la seguente:


Con il parametro K viene impostata la profondità della prima passata.
Il parametro I decide la riduzione della profondità di passata.
Il parametro NM impone il limite minimo della profondità di passata.
Ad esempio, supponiamo di scegliere i parametri:
K50 I20 NM5
Questo significa che:
La prima foratura è pari al valore K (50)
La riduzione della lunghezza della foratura è pari al valore I (20)
La minima profondità di foratura oltre la quale non si scende è pari al valore NM (5)

Dunque la profondità di foratura varierà nel seguente modo:


I passata = 50
II passata: viene ridotta del valore I = 50-20 = 30
III passata: viene ridotta ancora del valore I = 30-20 = 10
IV passata: viene ridotta ancora del valore I = 10-20 = -10. Il valore risulta inferiore alla minima
profondità di passata, pertanto il valore viene impostato pari al valore NM =5.
V passata e successive: tutte con incremento costante pari a 5.

Nota: Per avere incrementi in profondità costanti, occorre programmare il valore I pari a 0.

NQ: quota di scarico truciolo

NN: sosta alla quota di scarico truciolo

NS: Distanza di sicurezza nei riposizionamenti in rapido nel foro. Se viene programmato un valore 0,
oppure non viene programmato il parametro NS, viene applicato di default un valore pari ad 1.

F: Avanzamento in lavoro

Nota: Nel caso nel caso di fori in direzione X, i valori X, J, E, K, I, NM, NQ, NS vengono considerati
valori diametrali oppure radiali in funzione della modalità attiva al momento della programmazione
delle forature.

71
CNC Z32 - Guida alla programmazione (TORNIO)

6.1.4 G884: Maschiatura con compensatore

Z (o X): quota di fondo lavorazione.

K: passo del maschio G0 K


E
J: quota di avvicinamento. E’ la quota di partenza della
lavorazione
J
E: quota di svincolo finale.

NT: tempo di sosta a fondo foro dopo l’arresto mandrino


Z (X)
NN: tempo di sosta a fondo foro dopo l’inversione
mandrino
NT NN
Nota: Nel caso nel caso di fori in direzione X, i valori X, J e
E vengono considerati valori diametrali oppure radiali in
funzione della modalità attiva al momento della programmazione delle forature.

6.1.5 G885: Maschiatura rigida

Z (o X): quota di fondo lavorazione.


G0 K
K: passo del maschio E

J: quota di avvicinamento. E’ la quota di partenza della


lavorazione J

E: quota di svincolo finale.

Nota: Nel caso nel caso di fori in direzione X, i valori X, J e


Z (X)
E vengono considerati valori diametrali oppure radiali in
funzione della modalità attiva al momento della
programmazione delle forature.
Attenzione: Per l’uso di questo ciclo consultare il costruttore per
la disponibilità della prestazione maschiatura rigida.

6.1.6 G886: Alesatura


feed F

Z (o X): quota di fondo lavorazione. G0


E
J: quota di avvicinamento. E’ la quota di partenza della
lavorazione
J

E: quota di svincolo finale.

NT: tempo di sosta a fondo foro.


Z(X)
F: Avanzamento in lavoro
NT
Nota: Nel caso nel caso di fori in direzione X, i valori X e J
vengono considerati valori diametrali oppure radiali in
funzione della modalità attiva al momento della
programmazione delle forature.

72
CNC Z32 - Guida alla programmazione (TORNIO)

6.2 G901: Macro di lavorazione di gole esterne / interne

Tramite la macro è possibile sgrossare e finire gole esterne e interne.

Parametri di programmazione:
NX diametro iniziale della prima parete
X diametro finale del fondo gola
NZ quota Z iniziale della prima parete
Z quota Z finale della seconda parete
NI angolo della prima parete eseguita (programmare valore positivo). Se non programmato, si intende parete
verticale
NL angolo della seconda parete (programmare valore positivo). Se non programmato si intende parete
verticale
NA/NE smusso (NA) o raccordo (NE) sul primo punto della prima parete.
NB/NF smusso (NB) o raccordo (NF) sul fondo gola della prima parete
NC/NG smusso (NC) o raccordo (NG) sul fondo gola della seconda parete
ND/NH smusso (ND) o raccordo (NH) sull’ultimo punto della seconda parete
NU sovrametallo in Z
NV sovrametallo in X (valore radiale in mm)
K asportazione per passata. Se non programmato viene preso il 75% del valore J (larghezza del tagliente)
J Larghezza dell’utensile (in caso di utensile sferico, occorre programmare J = 2*R)
I tipo di lavorazione
NN numero di ripetizioni della lavorazione
E passo tra una lavorazione e la successiva

Z
Z
X
X NZ Z

NA NE ND NH
NC NG X
NB NF NL NX
NI
NL NI NC NG
NB NF
ND NH NA NE
NX
Z NZ X

Gola esterna con incremento di passata in Gola interna con incremento di passata in
direzione Z- direzione Z+

73
CNC Z32 - Guida alla programmazione (TORNIO)

La gola è formata da tre tratti. La prima parete, il fondo gola e la seconda parete.

- La prima parete inizia dalle quote NZ, NX ed ha inclinazione NI (gradi) rispetto alla parete verticale.
- Il fondo gola è eseguito al dimetro programmato con il valore X
- La seconda parete termina alla quota programmato con il valore Z ed ha inclinazione NL (gradi) rispetto alla
parete verticale.

L’incremento di passata viene eseguito dal punto NZ verso il punto Z.


Le passate vengono eseguite dal diametro NX verso il diametro X:

- Per effettuare l’incremento di passata in direzione Z-, programmare NZ a con quota Z maggiore della
quota programmata con Z (come nella figura sottostante)
- Per effettuare l’incremento di passata in direzione Z+, programmare NZ a con quota Z minore della
quota programmata con Z
- La gola è una gola esterna se NX è ad un diametro maggiore della quota programmata con X.
- La gola è una gola interna se NX è ad un diametro minore della quota programmata con X.

La figura sottostante riporta la programmazione nei quattro casi fondamentali di gole esterne ed interne con
incrementi verso sinistra e verso destra.

Incremento di passata Incremento di passata


X X

Direzione di passata NX, NZ NX, NZ Direzione di passata

Seconda parete
Seconda parete Prima parete
X,Z Prima parete X,Z
NL NI NI NL

Z Z

X X

NL NI NI NL
Prima parete
X,Z X,Z
Seconda parete Prima parete
Seconda parete

NX, NZ NX, NZ

Z Z
Direzione di passata Direzione di passata

Incremento di passata Incremento di passata

74
CNC Z32 - Guida alla programmazione (TORNIO)

Gestione di smussi e raccordi.

Tramite i parametri NA, NB, NC, ND, NE, NF, NG, NH è possibile definire raccordi e smussi nel profilo della gola.
I parametri NA, NB, NC, ND sono usati per definire gli smussi
I parametri NE, NF, NG, NH sono usati per definire i raccordi

Gli smussi e i raccordi sono definiti a partire dal primo della prima parete (punto NX, NZ) in successione uno dopo
l’altro.

X X

NX, NZ NX, NZ

NF NH NB NC ND
NE NG NA
Seconda parete Seconda parete
Prima parete Prima parete
X,Z X,Z
NI NL NI NL

Z Z

Tipologia di lavorazione e passata di finitura


- I0 vengono eseguita la sgrossatura (con sovrametalli) e la finitura della gola a misura (senza
sovrametalli)
- I1 viene eseguita solo la finitura a misura (senza sovrametalli)
- I2 viene eseguita solo la sgrossatura del profilo (con sovrametalli)
- I3 viene eseguita la sgrossatura (con sovramettalli), una prima passata di finitura con sovrametalli e
una seconda passata di finitura a misura (senza sovrametalli)

La passata di finitura è composta in due fasi.


Prima viene lavorata la seconda parete della gola fino ad arrivare sul fondo gola.
Successivamente viene lavorata la prima parete della gola e tutto il fondo della gola. Sul fondo gola viene
realizzata un piccola sovrapposizione tra le due passate.

NX, NZ

1 2
Seconda parete
Prima parete

X,Z

75
CNC Z32 - Guida alla programmazione (TORNIO)

Gestione degli utensili

La macro di lavorazione delle gole può essere usata con utensili sferici o con utensili troncatori.
• Nel caso di utensili sferici, il raggio utensile deve essere programmato come di consueto con il valore R,
espresso direttamente in tabella utensile, oppure scritto come parametro nel part-program. I parametro J
va impostato pari alla larghezza complessiva dell’utensile (quindi J=2*R)
• Nel caso di utensili col fondo piatto, la larghezza utensile va specificata con il parametro J.

J J

Per la corretta esecuzione della lavorazione, è necessario conoscere qual è il punto di azzeramento dell’utensile,
ovvero, qual è l’orientamento dell’utensile.
Prima di richiamare la macro delle gole, è necessario impostare la funzione G150KA… Con il corretto orientamento
della punta utensile.

Per utensili troncatori, fare riferimento ai seguenti codici di orientamento:


X
3 2 1 5 6 7

Z Z

5 6 7 3 2 1
X

76
CNC Z32 - Guida alla programmazione (TORNIO)

Ripetizione della lavorazione

Tramite i parametri NN ed E è possibile definire quante gole effettuare e a che distanza queste devono essere
spaziate tra di loro.
Il parametro NN rappresenta il numero di ripetizioni, il parametro E rappresenta la distanza tra una lavorazione e la
successiva.
La ripetizione della lavorazione si intende lungo l’asse Z.

Esempio: X

100

R10 R10 R10 R10


50

Z
-120 -100 -80 -60 -40 -20

OZ1 OX1
T7M6
G96 S… MS… M3
G95 F…
G0 X110
Z-20
G901 Z-40 X50 NX100 NZ-20 NE10 NH10 NN3 E40
M2

77
CNC Z32 - Guida alla programmazione (TORNIO)

Esempio: Gola esterna a pareti verticali senza sovrametalli di sgrossatura


X

OZ1 OX1
100 T1M6
G96 S… MS… M3
G95 F…
G0 X110
Z-20
50
G901 Z-40 X50 NX100 NZ-20
M2

Z
-40 -20

Esempio: Gola esterna con due raccordi e sovrametalli di sgrossatura

OZ1 OX1
T1M6
G96 S… MS… M3
G95 F…
G0 X110
Z-20
G901 Z-40 X50 NX100 NZ-20 NE10 NH10 NV.1 NU0.1
M2

100

R10 R10
50

Z
-40 -20

78
CNC Z32 - Guida alla programmazione (TORNIO)

Esempio: Gola esterna con due raccordi, sovrametalli di sgrossatura, parete inclinata e lavorazione I3:

OZ1 OX1
T1M6
G96 S… MS… M3
G95 F…
G0 X110
Z-20
G901 Z-60 X50 NX100 NZ-20 NE10 NH10 NL30 NV.1 NU0.1 I3
M2

100

R10 R10
50
30°

Z
-60 -20

79
CNC Z32 - Guida alla programmazione (TORNIO)

6.3 G902: Macro di lavorazione di gole frontali

Tramite la macro è possibile sgrossare e finire gole frontali.

Parametri di programmazione:
NX diametro iniziale della prima parete
X diametro finale della seconda parete
NZ quota Z iniziale della prima parete
Z quota Z del fondo gola
NI angolo della prima parete eseguita (programmare valore positivo). Se non programmato, si intende
parete verticale
NL angolo della seconda parete (programmare valore positivo). Se non programmato si intende parete
verticale
NA/NE smusso (NA) o raccordo (NE) sul primo punto della prima parete.
NB/NF smusso (NB) o raccordo (NF) sul fondo gola della prima parete
NC/NG smusso (NC) o raccordo (NG) sul fondo gola della seconda parete
ND/NH smusso (ND) o raccordo (NH) sull’ultimo punto della seconda parete
NU sovrametallo in Z
NV sovrametallo in X (valore radiale in mm)
K asportazione per passata. Se non programmato viene preso il 75% del valore J (larghezza del
tagliente)
J Larghezza dell’utensile (in caso di utensile sferico, occorre programmare J = 2*R)
I tipo di lavorazione
NN numero di ripetizioni della lavorazione
E passo tra una lavorazione e la successiva

NA NE NX
NI

NB NF
Z
Z NZ
NC NG
X
ND NH
NL

Gola frontale con incremento di passata in


direzione X+ e passate in direzione Z-

80
CNC Z32 - Guida alla programmazione (TORNIO)

La gola è formata da tre tratti. La prima parete, il fondo gola e la seconda parete.

- La prima parete inizia dalle quote NZ, NX ed ha inclinazione NI (gradi) rispetto alla parete verticale.
- Il fondo gola è eseguito al dimetro programmato con il valore X
- La seconda parete termina alla quota programmato con il valore Z ed ha inclinazione NL (gradi) rispetto alla
parete verticale.

L’incremento di passata viene eseguito dal punto NZ verso il punto Z.


Le passate vengono eseguite dal diametro NX verso il diametro X:

- Per effettuare l’incremento di passata in direzione Z-, programmare NZ a con quota Z maggiore della
quota programmata con Z (come nella figura sottostante)
- Per effettuare l’incremento di passata in direzione Z+, programmare NZ a con quota Z minore della
quota programmata con Z
- La gola è una gola esterna se NX è ad un diametro maggiore della quota programmata con X.
- La gola è una gola interna se NX è ad un diametro minore della quota programmata con X.

La figura sottostante riporta la programmazione nei quattro casi fondamentali di gole esterne ed interne con
incrementi verso sinistra e verso destra.

X X

X,Z
NX, NZ
NL NL
Seconda parete Prima parete

Prima parete Seconda parete

Incremento di passata Direzione di passata

NI Direzione di passata NI Incremento di passata


NX, NZ X,Z
Z Z

X X
X,Z
NX, NZ
NL NI
Seconda parete Incremento di passata Seconda parete
Direzione di passata
Prima parete Prima parete

Direzione di passata Incremento di passata

NI NL
NX, NZ X,Z

Z Z

81
CNC Z32 - Guida alla programmazione (TORNIO)

Gestione di smussi e raccordi.

Tramite i parametri NA, NB, NC, ND, NE, NF, NG, NH è possibile definire raccordi e smussi nel profilo della gola.
I parametri NA, NB, NC, ND sono usati per definire gli smussi
I parametri NE, NF, NG, NH sono usati per definire i raccordi

Gli smussi e i raccordi sono definiti a partire dal primo della prima parete (punto NX, NZ) in successione uno dopo
l’altro.

X X

NA
NE NX, NZ
NX, NZ NI
NI Prima parete
Prima parete
NF
NF

NG NG
Seconda parete Seconda parete

NL NL

X,Z X,Z
NH Z
NH
Z

Tipologia di lavorazione e passata di finitura


- I0 vengono eseguita la sgrossatura (con sovrametalli) e la finitura della gola a misura (senza
sovrametalli)
- I1 viene eseguita solo la finitura a misura (senza sovrametalli)
- I2 viene eseguita la sgrossatura (con sovramettalli), una prima passata di finitura con sovrametalli e
una seconda passata di finitura a misura (senza sovrametalli)

La passata di finitura è composta in due fasi.


Prima viene lavorata la seconda parete della gola fino ad arrivare sul fondo gola.
Successivamente viene lavorata la prima parete della gola e tutto il fondo della gola.
X

X,Z
Seconda parete
1

2
Prima parete
NX, NZ
Z

82
CNC Z32 - Guida alla programmazione (TORNIO)

Gestione degli utensili

La macro di lavorazione delle gole può essere usata con utensili sferici o con utensili troncatori.
• Nel caso di utensili sferici, il raggio utensile deve essere programmato come di consueto con il valore R,
espresso direttamente in tabella utensile, oppure scritto come parametro nel part-program.
• Nel caso di utensili col fondo piatto, la larghezza utensile va specificata con il parametro J. Tale parametro
può essere salvato direttamente in tabella utensile.

R
J

J
Per la corretta esecuzione della lavorazione, è necessario conoscere qual è il punto di azzeramento dell’utensile,
ovvero, qual è l’orientamento dell’utensile.
Prima di richiamare la macro delle gole, è necessario impostare la funzione G150KA… Con il corretto orientamento
della punta utensile.

Per utensili troncatori, fare riferimento ai seguenti codici di orientamento:

3 1 5 7

Z Z
4 8 4 8

5 7 3 1
X

83
CNC Z32 - Guida alla programmazione (TORNIO)

Ripetizione della lavorazione

Tramite i parametri NN ed E è possibile definire quante gole effettuare e a che distanza queste devono essere
spaziate tra di loro.
Il parametro NN rappresenta il numero di ripetizioni, il parametro E rappresenta la distanza tra una lavorazione e la
successiva.
La ripetizione della lavorazione si intende lungo l’asse Z.

Esempio: X

R5
120

100
R5 OZ1 OX1
80 T7M6
G96 S… MS… M3
G95 F…
60 G0 X110
Z-20
R5 G902 Z-18 X40 NX20 NZ0 NE5 NH5 NN3 E40
M2
40

20

R5

-18 Z

84
CNC Z32 - Guida alla programmazione (TORNIO)

6.4 G903: Macro di sgrossatura di aree trapezie con passate lungo l’asse Z.

Tramite questa macro è possibile sgrossare aree trapezie con passate lungo l’asse Z.

NX, NZ

X,Z
NL NI
Z

Parametri:
NX diametro iniziale della prima parete
X diametro finale del fondo dell’area da sgrossare
NZ quota Z iniziale della prima parete
Z quota Z finale dell’area da sgrossare
NI lunghezza della prima parete inclinata (NI0 oppure non programmato si intende parete verticale)
NL lunghezza della seconda parete inclinata (NL0 oppure non programmato si intende parete
verticale)
K numero di passate di sgrossatura
I tipo di lavorazione:
I0 Ingresso in lavoro Uscita in lavoro
I1 Ingresso in rapido Uscita in lavoro
I2 Ingresso in lavoro Uscita in rapido
I3 Ingresso in rapido Uscita in rapido
J Abilita correzione raggio
J0 Correzione raggio non abilitata
J1 Correzione raggio abilitata
E Sovrametallo vettoriale (sia in X che in Z)

La lavorazione segue il seguente principio:


1) Ingresso o approfondimento di passata. Il
movimento è effettuato a partire dal punto NX, NZ
Il movimento è in
4 LAVORO se I = 0 oppure I = 2
RAPIDO se I = 1 oppure I = 3
3 2 1 2) Passata di sgrossatura
Il movimento è sempre in LAVORO
3) Uscita
Il movimento è in
5 LAVORO se I = 0 oppure I = 1
RAPIDO se I = 2 oppure I = 3
4) Posizionamento sul punto di approfondimento per la
nuova passata
Il movimento è sempre in RAPIDO

... Ripetizione per le K passate di sgrossatura

5) A fine lavorazione l’utensile viene riportato in


RAPIDO sul punto definito da NX, NZ

85
CNC Z32 - Guida alla programmazione (TORNIO)

A seconda di come vengono programmati i parametri NX, NZ, X e Z, la lavorazione può essere esterna, interna, da
sinistra a destra o da destra verso sinistra.
In generale:
Le passate di sgrossatura vengono eseguite nel senso dalla quota NZ alla quota Z
Gli approfondimenti di passata vengono eseguiti nel senso dalla quota NX alla quota X
Lo schema seguente rappresenta le varie possibilità:

X X

NX, NZ NX, NZ

X,Z X,Z
NL NI NI NL
Z Z

X NL NI X NL NI

X,Z
X,Z

NX, NZ NX, NZ
Z Z

Correzione raggio:
Nel caso di correzione raggio attiva (J1), l’area da sgrossare viene modificata per effetto del raggio utensile, come
mostrato nella figura seguente:

Con correzione raggio attiva, l’utensile viene sempre tenuto


all’interno dell’area trapezia definita.

Attenzione! Per poter effettuare la correzione raggio è


necessario specificare la direzione della punta utensile con
la funzione G150, prima di richiamare la macro.

86
CNC Z32 - Guida alla programmazione (TORNIO)

6.5 G904: Macro di sgrossatura di aree trapezie con passate lungo l’asse X.

Tramite questa macro è possibile sgrossare aree trapezie con passate lungo l’asse X.
X
X, Z

NL

NI
NX, NZ
Z
Parametri:
NX diametro iniziale della prima parete
X diametro finale dell’area da sgrossare
NZ quota Z iniziale della prima parete
Z quota Z finale dell’area da sgrossare
NI lunghezza della prima parete inclinata (NI0 oppure non programmato si intende parete verticale)
NL lunghezza della seconda parete inclinata (NL0 oppure non programmato si intende parete
verticale)
K numero di passate di sgrossatura
I tipo di lavorazione:
I0 Ingresso in lavoro Uscita in lavoro
I1 Ingresso in rapido Uscita in lavoro
I2 Ingresso in lavoro Uscita in rapido
I3 Ingresso in rapido Uscita in rapido
J Abilita correzione raggio
J0 Correzione raggio non abilitata
J1 Correzione raggio abilitata
E Sovrametallo vettoriale (sia in X che in Z)

La lavorazione segue il seguente principio:

1) Ingresso o approfondimento di passata. Il


movimento è effettuato a partire dal punto NX, NZ
3 Il movimento è in
LAVORO se I = 0 oppure I = 2
RAPIDO se I = 1 oppure I = 3
5
2) Passata di sgrossatura
Il movimento è sempre in LAVORO
4 3) Uscita
Il movimento è in
LAVORO se I = 0 oppure I = 1
2 RAPIDO se I = 2 oppure I = 3
4) Posizionamento sul punto di approfondimento per la
nuova passata
Il movimento è sempre in RAPIDO
... Ripetizione per le K passate di sgrossatura

5) A fine lavorazione l’utensile viene riportato in


1 RAPIDO sul punto definito da NX, NZ

87
CNC Z32 - Guida alla programmazione (TORNIO)

A seconda di come vengono programmati i parametri NX, NZ, X e Z, la lavorazione può essere esterna, interna, da
sinistra a destra o da destra verso sinistra.
In generale:
Le passate di sgrossatura vengono eseguite nel senso dalla quota NX alla quota X
Gli approfondimenti di passata vengono eseguiti nel senso dalla quota NZ alla quota Z
Lo schema seguente rappresenta le varie possibilità:

X X

X,Z NX, NZ

NL NI

NI NL X,Z
NX, NZ
Z Z

X X

X,Z NX, NZ

NL NI

NI NL
NX, NZ
Z X,Z Z

Nel caso di correzione raggio attiva (J1), l’area da sgrossare viene modificata per effetto del raggio utensile, come
mostrato nella figura seguente:

Con correzione raggio attiva, l’utensile viene sempre tenuto all’interno


dell’area trapezia definita.

Attenzione! Per poter effettuare la correzione raggio è necessario


specificare la direzione della punta utensile con la funzione G150, prima
di richiamare la macro.

88
CNC Z32 - Guida alla programmazione (TORNIO)

6.6 Filettatura

6.6.1 Funzione G33

La funzione G33 è l’istruzione fondamentale per l’esecuzione di filettature.


Una singola passata in filettatura (il moto di avanzamento viene sincronizzato con la rotazione del mandrino) è
programmabile con il blocco:

G33 X… Z… K…

G33 rappresenta il moto di filettatura a passo costante.


X… Z… Rappresentano il punto finale raggiunto dal moto di filettatura
K è il passo in mm della filettatura. Il passo è sempre calcolato come lunghezza complessiva eseguita per
giro mandrino.
K

Esempio:
Singola passata filettatura cilindrica:

X
OX1 OZ1
T2M6
G95 S400 M3
G0 X50 Z5
G33 Z-40 K1
50
G0 X60
M2

Z
-40

89
CNC Z32 - Guida alla programmazione (TORNIO)

Dopo la programmazione della funzione G33, tutti i movimenti successivi vengono eseguiti in filettatura. I
movimenti possono essere sia tratti lineari che tratti circolari. Durante l’esecuzione dei movimenti in filettatura il
passo K specifica l’avanzamento che l’utensile compie, sulla traiettoria, ad ogni giro del mandrino.
La fine dei movimenti di filettatura deve essere specificata con un movimento in rapido (G0).

La definizione del profilo da filettare può essere fatta utilizzando gli elementi geometrici descritti precedentemente,
quali elementi conici, raccordi, etc.

Esempio:
Filettatura cilindro-conica:
Attenzione: Se si desidera mantenere costante il passo lungo l’asse Z, occorre ricalcolare il passo secondo la
formula:
K = {Passo sull’asse Z} / cos(angolo conicità)
Nell’esempio il passo lungo Z è pari a 2mm, l’angolo di conicità è di 30 gradi, quindi il passo K sulla parte
conica è pari a:
K = 2/cos(30) = 2.309

OX1 OZ1
30°
T2M6
G95 S400 M3
50
G0 X50 Z5
G33 Z-20 K2
Z-40 QF150 K2.309
G0 X80
Z M2
-40 -20

Sincronizzazione del moto di filettatura:

E’ importate tenere in considerazione il fatto che all’inizio di ogni movimento di filettatura è necessario un tratto “in
aria” nel quale il moto degli assi interessati alla filettatura viene sincronizzato con il moto del mandrino.

Piniz

Il moto di filettatura deve partire in aria per con uno spazio sufficiente per permettere la corretta sincronizzazione
del moto.
Lo spazio di rincorsa in aria dipende dal tipo di lavorazione che si desidera effettuare e dalla dinamica della
macchina. Per lavorazioni di filettatura tipiche, può essere considerato come valore indicativo uno spazio di
rincorsa pari a tre volte il passo della filettatura da eseguire.

90
CNC Z32 - Guida alla programmazione (TORNIO)

6.6.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.

91
CNC Z32 - Guida alla programmazione (TORNIO)

6.6.3 G905: Macro di filettatura

Questa macro consente l’esecuzione completa di filettature. E’ possibile eseguire filettature:


- cilindriche o coniche a più passate
- frontali
- a uno o più principi
- interne od esterne

Le tipologie di filettature eseguibili sono:


- Metrica a 60° UNI 4535-64
- Whitworth UNI 2709
- Trapezia UNI 2902
- A pane quadro
- Custom (generica)

Formato di programmazione e parametri in ingresso


Il formato da programmare per filettature cilindriche o coniche comprende:

G905 X.. NZ.. K.. Z.. E.. NS.. (J..) (NF..) (I..) (NG..) (NU..)

I parametri tra parentesi possono essere omessi, ma devono comunque risultare uguali a zero al momento della
programmazione della macro M63.

Il significato dei parametri è il seguente:

X Diametro nominale della filettatura


NZ Coordinata in “aria” del primo posizionamento lungo Z
Z Coordinata del punto finale della filettatura lungo Z
NG Conicità percentuale con segno, vedi figure successive
J Distanza tra utensile e pezzo nel ritorno dalla passata (in mm radiali), se non programmato oppure
uguale a 0 viene posto di default J=2
K Passo della filettatura, SEMPRE in millimetri
NS Passate di sgrossatura
NF Passate di finitura
I Numero di principi
E Tipo del filetto (vedi più avanti)
NU Profondità della filettatura (in mm, valore radiale usato solo per tipo filetto custom)

92
CNC Z32 - Guida alla programmazione (TORNIO)

Tipo del filetto:


E =100 Vite metrica a 60° UNI 4535-64
E =200 Madrevite metrica a 60° UNI 4535-64
E =300 Vite Whitworth UNI 2709
E =400 Madrevite Whitworth UNI 2709
E =500 Vite trapezoidale UNI 2902
E =600 Madrevite trapezoidale UNI 2902
E =700 Vite a pane quadro (profondità 0.5*K/NF)
E =800 Madrevite a pane quadro (profondità 0.5*K/NF)
E =900 Vite generica (custom)
E =1000 Madrevite generica (custom)

1. Modi di taglio e tipi di filetto


La macro realizza il taglio, asportando una sezione di truciolo costante, con avanzamento sul fianco del filetto.
Con l'avanzamento sul fianco si ottiene una forma del truciolo a "piattina" che garantisce una durata più elevata del
filo tagliente.
Per la filettatura metrica ISO e la filettatura WHITWORTH viene adottato un angolo di 5 gradi inferiore alla
pendenza del fianco del filetto.
Per la filettatura TRAPEZIA viene adottato un angolo di 4 gradi inferiore alla pendenza del fianco del filetto.
Le filettature quadre e custom hanno un avanzamento solo radiale.

Filetto custom
La filettatura custom (generica) è una filettatura con incremento di passata radiala. A differenza della filettatura a
pane quadro (per la quale l’altezza del dente è pari al passo), con la filettatura custom è possibile definire la
profondità del filetto con il parametro (NU) che definisce la “sfondatura”.

2. Filettature a più principi


Il ciclo realizza le filettature a più principi spostando il punto di partenza del moto di filettatura di una quantità pari al
passo dell'elica (K) diviso per il numero dei principi (I).

3. Ciclo di filettatura
Dopo il posizionamento in “aria” a carico del programmatore, la macro di filettatura G905 esegue le seguenti
operazioni:

Calcola gli incrementi, radiale ed assiale, e posiziona l’utensile secondo la funzione preparatoria attiva prima della
M63, potrà essere eseguito:
un tratto di retta se attivo G1 o G0
un raccordo circolare se attiva G2/G3
Filetta a “scivolo”, come indicato nella figura precedente. La profondità di passata viene calcolata mantenendo
costante la sezione del truciolo.
Per evitare sollecitazioni gravose sull’utensile, la prima e la seconda passata vengono eseguite dimezzando la
profondità di passata che risulterebbe dal calcolo.
Esce dal filetto con un arco di raccordo, in lavoro, per staccarsi dell’entità definita nel parametro J (mm), dalla
superficie del pezzo.
Ritorna in rapido, parallelamente al pezzo, alla stessa quota Z del punto iniziale
Calcola e raggiunge il nuovo punto incrementato in rapido
Ripete dal punto 2 al punto 6 per eseguire le passate di sgrossatura programmate
Ripete l’ultimo movimento eseguito senza incrementi per le passate di lisciatura (finitura) programmate.

E’ importante rilevare quanto segue:


La posizione iniziale dell’utensile in “aria” deve essere tale da consentire al mandrino di raggiungere la Speed
programmata (generalmente 2-3 passi di profilo) prima dell’inizio del filetto.
Per filettature coniche il diametro nominale deve essere calcolato in funzione del parametro NZ coordinata in aria
dell’asse Z del primo posizionamento.

93
CNC Z32 - Guida alla programmazione (TORNIO)

In filettature a più principi l’utensile si allontana dal pezzo assialmente ed esegue tutti i principi prima di fare la
passata successiva.
La filettatura termina con un raccordo di raggio uguale alla distanza di ritorno tra utensile e pezzo, definita nel
parametro J. Poiché la decelerazione degli assi non è infinita tale distanza dovrà essere tale da consentirne
l’arresto.
Il punto finale programmato non viene mai superato.

X
J/2

J
X
1 2 3

Z
Z

5. Filettature cilindriche
E’ possibile eseguire filettature esterne od interne, dalla parte delle X positive o negativa. La figura mostra i modi di
programmazione possibili.

X
2 1
50
M24 x3
M40 x3

3
Z
4

100

Il tratto finale del filetto è raccordato a partire dalla distanza J programmata.


Esempi riferiti alla figura sopra:

Filetto 1
.........
G0 X45 Z5
G905 X40 NZ5 Z-103 K3 E100 J3 NS5 NF1
........
Filetto 2

94
CNC Z32 - Guida alla programmazione (TORNIO)

.........
G0 X45 Z-103
G905 X40 NZ-103 Z5 K3 E100 J3 NS5 NF1
.....
Filetto 3
......
G0 X20 Z-53
G905 X24 NZ-53 Z5 K3 E200 J2.5 NS7 NF1
......
Filetto 4
......
G0 X-20 Z5
G905 X-24 NZ5 Z-53 K3 E200 J2.5 NS7 NF1
......

6. Filettature coniche
E’ possibile eseguire filettature coniche sia esterne che interne.
Il parametro X è riferito al diametro nominale che corrisponde alla NZ in aria.
Il parametro NG si calcola con la formula:

Xfinale − Xiniziale 1
NG = ⋅ ⋅100
2 ∆Z

Dove:
Xiniziale è il diametro nominale iniziale
Xfinale è il diametro nominale finale
∆Z è la lunghezza (sempre positiva) del tratto in Z che va da Xiniziale a Xfinale

Per il segno di NG dunque vale la regola: NG positivo se durante il taglio la X cresce.

Il tratto finale è raccordato come per le filettature cilindriche.

95
CNC Z32 - Guida alla programmazione (TORNIO)

Esempi:

X
1
X80

X60

X40
X30 2
Z
-100 -50 5

1) Caso di filettatura esterna con un diametro iniziale X=60, un diametro finale X=80 e le coordinate in Z di inizio
filettatura e fine filettatura rispettivamente NZ=5 e Z= -100. Filetta partendo dal diametro minimo verso il diametro
massimo. In tale caso si avrà una conicità percentuale positiva uguale a:
80 − 60 1
NG = ⋅ ⋅100 = 9.524
2 105
Dunque la programmazione sarebbe ad esempio:
G0 X60 Z10
G905 X60 NZ5 Z-100 NG9.524 E100 J2.5 NS7 NF1 K1.25

2) Caso di filettatura interna con un diametro iniziale X=30, un diametro finale X=40 e le coordinate in Z di inizio
filettatura e fine filettatura rispettivamente NZ=-50 e Z=5. Filetta partendo dal diametro massimo verso il diametro
minimo. In tale caso si avrà una conicità percentuale positiva uguale a:
40 − 30 1
NG = ⋅ ⋅100 = 9.091
2 55
Dunque la programmazione sarebbe ad esempio:
G0 X25 Z-50
G905 X30 NZ-50 Z5 NG9.091 E200 J2.5 NS7 NF1 K1.25

96
CNC Z32 - Guida alla programmazione (TORNIO)

6.6.4 G906: Filettature frontali

Per filettature frontali:

G906 X.. Z.. NZ.. NX.. K.. E.. NS.. (J..) (NF..) (I..) (NG..) (NU..)

Il significato dei parametri varia come segue:

NX Coordinata in “aria” del primo posizionamento lungo X


X Coordinata del punto finale della filettatura lungo X
Z Coordinata della superficie esterna nominale del filetto
NZ Seleziona la direzione di lavoro
NZ=1 se utensile guarda verso Z-
NZ=-1 se l’utensile guarda verso Z+
NG Conicità percentuale: positiva se la Z cresce
J Distanza tra utensile e pezzo nel ritorno dalla passata, se non programmato oppure uguale a 0
viene posto di default J=2
K Passo della filettatura, SEMPRE in millimetri
NS Passate di sgrossatura
NF Passate di finitura
I Numero di principi
E Tipo del filetto
E =100 Vite metrica a 60° UNI 4535-64
E =300 Vite Whitworth UNI 2709
E =500 Vite trapezoidale UNI 2902
E =700 Vite a pane quadro (profondità 0.5*K/NF)
E =900 Vite generica (custom)
NU Profondità della filettatura (in mm usato solo per tipo filetto custom)

Gli altri parametri conservano lo stesso significato.

E' possibile eseguire filettature piane e coniche con la X positiva o negativa.


Il parametro NG si calcola con la formula:
1
NG = ( Zfinale − Ziniziale) ⋅ 2 ⋅ ⋅100
∆X
Dove:
Ziniziale è la coordinata asse Z di inizio filetto
Zfinale è la coordinata asse Z di fine filetto
∆X è la lunghezza (sempre positiva) del tratto in X che va da Ziniziale a Zfinale

X
3
2
1

X
Z
Z

97
CNC Z32 - Guida alla programmazione (TORNIO)

6.7 G907: Macro di sgrossatura

Questa macro esegue la sgrossatura generalizzata di un profilo chiuso.


La programmazione è diametrale.
La macro è chiamata dall'utente con la funzione G907

Il ciclo di sgrossatura della macro G907 si compone essenzialmente di:

• trasferimento iniziale sul punto di inizio della prima passata


• più passate di sgrossatura composte ognuna da:
a) passata in G1
b) distacco a 30 gradi di un entità programmabile fino ad un massimo di metà passata (se abilitato
ritorno su passata precedente I=1 non esegue distacco a 30 gradi ma scorre sul profilo fino alla
passata precedente)
c) distacco lungo in caso di scavalcamento (se abilitato ritorno su passata precedente I=1 non
esegue distacco lungo ma scorre sul profilo fino alla precedente passata che non aveva
scavalcato.
d) ritorno rapido
e) contorno sul profilo fino alla prossima passata
• incremento della passata; che può essere anche variabile da un diametro massimo ad un diametro
minimo.
• Terminate le passate di sgrossatura viene eseguito tutto il profilo. L' ultima contornitura lascia l'utensile a
fine profilo. Nel caso in cui il parametro NU sia diverso da zero non esegue contorno finale ma esce dalla
fine dell’ultima passata con direzione data dall’angolo NU.

1. Parametri in ingresso
Il formato da programmare comprende:

G907 NX.. NY.. NG.. K.. (NE..) (NL..) (NJ..) (NI..) (NS..) (NR..) (NV..) (NW..)
(NU..) (I..) (NF..)

Il significato dei parametri è il seguente:

NX NY Numero di riga iniziale e finale del profilo chiuso da sgrossare.


NG Pendenza della retta di passata (angolo di sgrossatura).
K Profondità di passata (con segno, vedere più avanti)
NE Entità dello scostamento ritorno rapido a 30 gradi senza segno, se non programmato oppure 0 esegue
scostamento a metà passata.
NL Incremento massimo della retta di passata con segno (KMAX), se non programmato oppure 0 esegue
incrementi passata uguali a K; per angoli di sgrossatura diversi da 180 e 0 gradi esegue incrementi
passata uguali a K.
NJ Diametro minimo (coordinata asse X).
Per diametri inferiori a NJ la profondità di passata vale KMAX (NL)
Per diametri superiori a NJ la profondità di passata varia da KMAX (NL) a Kmin (K).
Il diametro NJ deve essere minore in valore assoluto al diametro NI.
NI Diametro massimo (coordinata asse X)
Per diametri superiori a NI la profondità di passata vale Kmin (K)
Per diametri inferiori a NI la profondità di passata varia da Kmin (K) a KMAX (NL).
Il diametro NJ deve essere minore in valore assoluto al diametro NI.
NS Tratto della passata da fare in avanti (in millimetri). Deve essere maggiore del tratto indietro (NR). Se non
programmato oppure 0 non esegue il ciclo rompitruciolo.
NR Tratto della passata da fare indietro (in millimetri). Deve essere minore del tratto in avanti (NS). Se non
programmato oppure 0 non esegue il tratto indietro.
NV Tempo di attesa a fine tratto in avanti della passata (ciclo rompitruciolo) e tempo di attesa a fine passata (in
secondi e decimali).

98
CNC Z32 - Guida alla programmazione (TORNIO)

NW Modifica entità della prima passata del valore contenuto in NW. Può essere positivo o negativo per
aumentare o diminuire la prima passata. Se non programmato oppure 0 non modifica entità prima
passata.
NU Quando diverso da zero non esegue il contorno finale ma esce in rapido dal punto finale ultima passata
fino all’intersezione col profilo, con direzione data dall’angolo NU (angolo riferito al primo asse del piano,
asse Z).
I Se I=1 abilita ritorno su passata precedente. In questo caso non viene eseguita l’uscita a 30 gradi ma
contorna fino alla passata precedente e ritorna in rapido.
NF Contiene la FEED di avanzamento per la passata di sgrossatura. Se non impostato oppure uguale a zero è
la F programmata. I movimenti saranno eseguiti pertanto con feed NF per quanto riguarda le passate di
sgrossatura e con la feed nominale impostata nel part-program per quanto riguarda i movimento in
contornitura sul profilo.

Metodologia di programmazione

La macro di sgrossatura prevede che venga definito il profilo da sgrossare tra due label N che identificano l’inizio e
la fine del profilo da sgrossare.
Il numero N di inizio profilo viene passato alla macro con il parametro NX
Il numero N di fine profilo viene passato alla macro con il parametro NY

E’ possibile definire il profilo da sgrossare in un punto qualsiasi del part-program, anche dopo l’istruzione di fine
programma M2.

Ad esempio:


… In questo caso, il profilo da sgrossare è
G907 NX10 NY20 … … … definito dopo l’M2.
In questo caso, dopo l’esecuzione della
M2 macro di sgrossatura G907 il part-
program termina (istruzione M2)
N10

… profilo da sgrossare


N20


… In questo caso, il profilo da sgrossare è
G907 NX10 NY20 … … …
definito prima dell’M2.
T…M6 In questo caso, dopo l’esecuzione della
macro di sgrossatura G907 il part-
N10 program prosegue.

… profilo da sgrossare Nel caso a lato, dopo la sgrossatura
… viene effettuato un cambio utensile e
… l’esecuzione del profilo.
N20
M2

99
CNC Z32 - Guida alla programmazione (TORNIO)

Definizione del profilo da sgrossare

Il profilo da sgrossare deve essere definito partendo dal grezzo (con tratti in G0) e continuando con il finito. La
figura che segue mostra due esempi di profilo.

Ritorno rapido
X
Ritorno a 30 gradi
Passata di sgrossatura
A

C
F

D E Z

Profilo superiore (tornitura esterna):


- Per primo deve essere definito il grezzo (dal punto A al punto C)
- Successivamente deve essere definito il profilo (dal punto C al punto A) procedendo in senso orario
- La correzione raggio utensile è con utensile a destra del profilo (G42)
- Le passate sono orientate a 180 gradi (direzione Z-)
- La profondità di passata deve essere definita come positiva (K>0)

Profilo inferiore (tornitura interna):


- Per primo deve essere definito il grezzo (dal punto D al punto F)
- Successivamente deve essere definito il profilo (dal punto F al punto D) procedendo in senso antiorario
- La correzione raggio utensile è con utensile a sinistra del profilo (G41)
- Le passate sono orientate a 180 gradi (direzione Z-)
- La profondità di passata deve essere definita come negativa (K<0)

100
CNC Z32 - Guida alla programmazione (TORNIO)

In generale le regole di programmazione del profilo sono le seguenti:

- il profilo deve essere sempre definito a partire dal grezzo

- il profilo programmato (grezzo + finito) devono costituire un’area chiusa, ovvero il primo punto del
grezzo deve coincidere con l’ultimo punto del finito

- Il profilo va definito in senso orario oppure antiorario, in funzione della direzione di passata e
dell’incremento di passata. La profondità di passata (K) deve essere definita positiva oppure negativa in
funzione della lavorazione che si desidera eseguire.

Nella figura che segue sono schematizzati gli otto profili (4 orari e 4 antiorari) che riassumono le varie combinazioni
possibili con passate parallele agli assi:

G41 G42 G42 G41


NG0 NG180 K>0 K<0

K<0 K>0 NG-90 NG-90

K>0 K<0
NG90 NG90
NG0 NG180
K<0 K>0
G42 G41 G41 G42
X X
Z Z
Le passate possono anche essere non parallele agli assi. In questo caso il valore di NG ed il segno di K va scelto
in accordo con la seguente figura:

G41 G42
K<0 K>0 G42 G41
K>0 K<0
NG45 NG135 NG-135 NG-45 NG-135 NG-45

NG-45 NG-135

NG45 NG135

NG-45 NG-135 NG135 NG45 NG135 NG45


K<0 K>0
K>0 K<0 G42
G42 G41 G41
X X
Z Z

101
CNC Z32 - Guida alla programmazione (TORNIO)

Esempio: sgrossatura esterna

(Sgrossatura esterna : angolo passate NG180 , incremento di passate lungo l ' asse X- )
(profondita’ di passata K positivo , profilo grezzo e finito definiti in senso)
(orario , utensile a destra del profilo finito G42 )

G0 Z10X80 (posizionamento rapido fuori pezzo)


G150KA1 (orientamento utensile in posizione 1)
G907 NX1 NY2 NG180 K2.5 (chiamata macro )
G0 Z10X80 (distacco rapido fuori pezzo )
M2

N1 ( blocco inizio profilo da sgrossare)


(Il profilo grezzo deve essere costituito da soli tratti lineari in rapido)
G0 Z-55X60 (punto iniziale del profilo grezzo)
Z-35
Z-5X50
Z2X30
X20 (punto finale del grezzo)
G42 (inizio profilo finito)
G1 Z2 X20 (punto iniziale profilo finito = punto finale profilo grezzo)
G1Z-15 RR-10
Z-35 X40 RR10
Z-55 RR-5
Z-55X60 (punto finale profilo finito = punto iniziale profilo grezzo)
G40 (fine correzione raggio)
Z-55 X60 (punto finale profilo finito = punto inizio profilo grezzo)
N2 (blocco fine profilo)

102
CNC Z32 - Guida alla programmazione (TORNIO)

Ritorno su passata precedente oppure uscita a 30 gradi

Tramite la programmazione del parametro I è possibile definire il comportamento della macro a fine passata.

Programmando I0 (che equivale a non programmare il parametro I), alla fine di ogni passata viene eseguita
un’uscita a 30 gradi, come mostrato in figura:

3
2
J
1 4

1) Passata di sgrossatura (lavoro)


2) Uscita a 30 gradi (rapido)
3) Ritorno rapido ad inizio passata (rapido)
4) Incremento di passata (lavoro)
5) Nuova passata (lavoro)
6) …

La distanza tra la passata di ritorno e la passata è programmabile con il parametro J. Se programmato J0 (oppure
J non programmato), la distanza tra la passata ed il ritorno equivale a metà della profondità di passata.

Programmando I1, a fine passata viene contornato il profilo finito fino a tornare sulla passata precedente.

3
2

7 1 4
6

1) Passata di sgrossatura (lavoro)


2) Esecuzione tratto di finito fino alla passata precedente (lavoro)
3) Ritorno rapido ad inizio passata (rapido)
4) Incremento di passata (lavoro)
5) Nuova passata (lavoro)
6) Esecuzione tratto di finito fino alla passata precedente (lavoro)
7) Ritorno rapido ad inizio passata (rapido)
8) …

103
CNC Z32 - Guida alla programmazione (TORNIO)

Profondità di passata variabile (NI NJ NL):


Questa prestazione permette di ottenere un incremento di passata variabile in maniera graduale da Kmin (K) a
KMAX (NL) tra un diametro massimo (NI) a un diametro minimo (NJ).
Il parametro NL definisce l’incremento massimo di passata.
Per diametro >= NI: la profondità di passata è uguale a K
Per diametro compreso tra NI e NJ: la profondità di passata varia gradualmente da K fino a NL
Per diametro <= NJ: la profondità di passata è pari a NL
Per angoli di sgrossatura diversi da 180 e 0 gradi esegue incrementi di passata uguali a K.
Se NL=0, si disattiva la prestazione e tutte le passate hanno profondità di passata pari a K
La prestazione è intesa in modo da poter aumentare la profondità di passata all’aumentare dell’incremento in
profondità.

K
NI
K

NL
NJ
NL
Esempio: Z
OX1OZ1
T…M6 (ut. Sgrossatura)
G96 S… MS… M3
G95 F…
G150KA1

G907 NX10 NY20 NG180 K1.5 NL10 NI90 NJ40


T…M6 (ut. Finitura)
N10 G0 X100 Z-60
G0 Z1
G0 X40
G42
G1 Z0 X40
Z-20 RR-2
G3 I-35 J40 Z-35 X70
G1 Z-43 RR-1.5
X86 Z-48.5
Z-60
G40
N20 G0 Z-60 X100
M2

104
CNC Z32 - Guida alla programmazione (TORNIO)

Ciclo rompitruciolo (NS NR NT)


Per favorire la rottura del truciolo è possibile attivare la gestione della passata con ciclo rompitruciolo la quale
permette di definire, lungo la direzione della passata, l’entità di un tratto in avanti NS (incremento) e di un tratto
indietro NR (decremento), inoltre può essere definito un tempo di sosta NT (attesa) alla fine del tratto in avanti. Il
ciclo rompitruciolo consiste in:
- avanzamento lungo la direzione di passata di un’entità pari al tratto in avanti NS
- attesa a fine tratto in avanti pari al tempo impostato nel parametro NT
- arretramento lungo la direzione di passata di un’entità pari al tratto indietro NR
- ripetizione del ciclo rompitruciolo fino al raggiungimento della fine passata.
Se il parametro NR=0 (oppure NR non programmato) il tratto indietro non viene eseguito
Se il parametro NT=0 (oppure NT non programmato) il tempo di attesa a fine tratto in avanti è nullo
Se il parametro NS=0 (oppure NS non programmato) oppure non programmato si disattiva la prestazione ed il ciclo
rompitruciolo non viene eseguito.

Scavalcamento
Il ciclo di sgrossatura prevede la possibilità di sgrossare profili anche non monotoni.
Ad esempio:

OX1OZ1
T…M6 (ut. Sgrossatura)
G96 S… MS… M3
G95 F…
G150KA1

G907 NX10 NY20 NG180 K4

M2

N10
G0 X150 Z-100
Z1
X50
G41
X50Z0
X80Z-20RR10
Z-40
G3 I-60 J80 Z-80X80
G1 Z-100
G40
G0 X150 Z-100
N20

105
CNC Z32 - Guida alla programmazione (TORNIO)

Contornatura finale e parametro NU

Tramite il parametro NU è possibile non effettuare la contornitura finale che normalmente viene effettuata.
Programmando un valore diverso da zero nel parametro NU, alla fine dell’ultima passata di sgrossatura, al posto
della contornitura finale, viene effettuato un movimento in rapido con direzione data dal valore NU.

Il parametro NU rappresenta l’angolo di uscita dell’ultimo movimento, e va scelto in funzione del profilo e della
lavorazione eseguita. L’uscita viene eseguita fino a tornare sul grezzo definito.

Per capire il significato del parametro NU, è possibile fare riferimento ai due esempi sottostanti:

Esempio con uscita finale a 120 gradi. Si nota a fine lavorazione l’uscita a 120 gradi che porta l’utensile sul profilo
superiore del grezzo.

OX1OZ1
T…M6 (ut. Sgrossatura)
G96 S… MS… M3
G95 F…
G150KA1
G907 NX10 NY20 NG180 K4 NU120
M2

N10
G0 X150 Z-100
Z1
X50
G41
X50Z0
X80Z-20
G1 Z-100 X100
G40
G0 X150 Z-100
N20

Esempio con uscita finale a 0.1 gradi. A fine lavorazione non si nota nessun particolare movimento di uscita.
L’utensile già si trova infatti sul profilo che definisce il grezzo, e nella direzione richiesta, non esiste nessun altro
punto che l’utensile possa raggiungere.

OX1OZ1
T…M6 (ut. Sgrossatura)
G96 S… MS… M3
G95 F…
G150KA1
G907 NX10 NY20 NG180 K4 NU0.1
M2

N10
G0 X150 Z-100
Z1
X50
G41
X50Z0
X80Z-20
G1 Z-100 X100
G40
G0 X150 Z-100
N20

ATTENZIONE: Per effettuare un’uscita in direzione Z+ è necessario comunque programmare un valore NU diverso
da 0. In questi casi è possibile programmare un angolo molto piccolo, come nell’esempio precedente.

106
CNC Z32 - Guida alla programmazione (TORNIO)

Esempio di sgrossatura con passate lungo l’asse X

OX1OZ1
T…M6 (ut. Sgrossatura)
G96 S… MS… M3
G95 F…
G150KA1
G907 NX10 NY20 NG-90 K-3 HF3
M2

N10 G0 X40 Z0
G0 X100
G41
G1 Z0 X102
G1 Z-30
X90
G1 Z-35 X85 RR2
X70
G2 I-35 J40 Z-20 X40
G1 Z0
G40
N20 G0 Z0 X40

Notare che la prima passata inizia su un punto del profilo (G1) quindi il trasferimento sulla prima passata porta
l’utensile in rapido dal punto attuale fino al profilo e poi prosegue in lavoro, scorrendo sul profilo in senso uguale
alla definizione del profilo stesso, fino ad inizio prima passata.

107
CNC Z32 - Guida alla programmazione (TORNIO)

Sovrametallo in sgrossatura

E’ possibile fare uso della funzione G150 con specifica del sovrametallo per la definizione del profilo da
sgrossare.

Ad esempio:

OX1OZ1
T…M6 (ut. Sgrossatura)
G96 S… MS… M3
G95 F…
G150KA1 I1.5 (sovrametallo di 1.5mm)
(macro di sgrossatura, senza contornitura finale NU1)
G0X130Z10
G907 NX10 NY20 NG180 K2 NU1

G150 I0 (annullo il sovrametallo per la finitura)


N10 (inizio profilo)
G0X120Z-50
Z5
X40
G42
Z5X40
Z-30X60RR-10
Z-50X100
G40
G1X120Z-50
N20 (fine profilo)
M2

108
CNC Z32 - Guida alla programmazione (TORNIO)

7. Assi polari

Tramite questa prestazione è possibile lavorare un profilo qualsiasi programmato in un piano cartesiano, su una
macchina di tipo polare, caratterizzata da un asse lineare ed un asse rotativo.

Con questa prestazione è possibile fresare pezzi di tornitura sulla superficie di sfacciatura.

Per l’attivazione della prestazione, consultare il costruttore della macchina. Normalmente vengono previste una
funzione M di attivazione della prestazione e di una funzione M di disattivazione.

Una volta attivata la prestazione, la programmazione viene effettuata su una nuova coppia di assi, definita dal
costruttore della macchina.

Nella figura sottostante, la coppia di assi fisici è la coppia X-C (X è l’asse diametrale, C è l’asse rotativo), la
coppia di assi cartesiani è la coppia V-W.
A seconda delle implementazioni gli assi possono avere nomi diversi.

X X

V V

Z W

C C

Seguendo i nomi assi della figura precedente, una volta attivata la prestazione, è possibile programmare
movimenti nel piano V-W con una normale programmazione cartesiana. I movimenti programmati verranno
trasformati nei corrispondenti movimenti degli assi fisici X-C.

Nota: Una volta attivata la prestazione “assi polari” deve normalmente essere ridefinito il piano di contornatura.
Nella configurazione normale, una macchina tornio ha come piano di contornatura il piano Z-X. Quando vengono
attivati gli assi polari, il piano di lavoro deve essere impostato sulla superficie di sfacciatura del pezzo.
Seguendo i nomi asse mostrati nella figura precedente, dopo l’attivazione della prestazione assi polari, deve
essere impostato il piano di lavoro:

G25VWZ

In questo modo, il piano V-W è il piano dove sono permesse interpolazioni circolari. Z è invece l’asse ortogonale al
piano di lavoro.

Attenzione! In funzione della modalità di attivazione della prestazione è possibile che l’impostazione del nuovo
piano di lavoro sia direttamente eseguita con il comando di attivazione degli assi polari. Consultare il costruttore
per ulteriori dettagli.

Attenzione! Con la prestazione assi polari attiva, la programmazione della macchina diventa equivalente alla
programmazione di una macchina fresatrice a tre assi.
Per eseguire profili in correzione raggio, occorre pertanto che l’utensile venga azzerato in centro.
Per questo motivo non può essere fatto uso della programmazione della funzione G150.

109
CNC Z32 - Guida alla programmazione (TORNIO)

7.1 Limitazioni nell’uso degli assi polari

Con la prestazione assi polari attiva, il centro fresa non può trovarsi o eseguire movimenti che passino entro un
cerchio di 5mm intorno al centro di rotazione degli assi.

5mm

7.2 Esempio

OX1 OZ1
W T…M6
M… (attivazione degli assi polari)
M… (attivazione ut. Motorizzato)
R5 S… M3
G25VWZ
G0 Z5 W30 V0
F200
G1 Z-1
40 V F1500
G41 W20 V0 QF0
V20RR-5
W-20RR-5
V-20RR-5
W20RR-5
40 V0
G40 W30 V0
G0Z5
M2

110

Potrebbero piacerti anche