Sei sulla pagina 1di 1228

FANUC Series 0+-MODEL D

FANUC Series 0+ Mate-MODEL D

Comune alla Serie T ed alla Serie M

MANUALE DELL'OPERATORE

B-64304IT/02
• Nessuna parte di questo manuale può essere riprodotta in qualsiasi forma.
• Tutte le specifiche e le prestazioni sono soggette a variazione senza preavviso.

I prodotti descritti in questo manuale sono regolamentati dalla “Foreign Exchange and
Foreign Trade Law” giapponese. L'esportazione dal Giappone può essere soggetta ad
un’apposita licenza rilasciata dal governo giapponese.
La riesportazione in un paese terzo potrebbe essere soggetta ad una licenza rilasciata dal
governo del paese dal quale il prodotto viene riesportato. La riesportazione del prodotto
potrebbe essere ulteriormente regolamentata da specifiche norme del governo degli Stati
Uniti.
Nel caso si debbano esportare o riesportare questi prodotti, si suggerisce di contattare
FANUC per una consulenza.

In questo manuale abbiamo cercato, nel limite del possibile, di toccare tutti gli argomenti.
Tuttavia, a causa del grande numero di possibilità, non è possibile descrivere tutto ciò che
non deve o non può essere fatto.
Pertanto, tutto ciò che questo manuale non dà specificamente come possibile deve essere
considerato come ”impossibile”.

Questo manuale contiene i nomi di programmi e di unità di altre società, alcuni dei quali
sono marchi registrati dei rispettivi proprietari. Tuttavia, questi nomi non sono seguiti da ®
o da ™.
B-64304IT/02 NORME DI SICUREZZA

NORME DI SICUREZZA
Questa sezione descrive le norme di sicurezza per l'uso delle unità CNC.
E' essenziale che queste norme siano osservate dall'utilizzatore per assicurare la sicurezza del
funzionamento delle macchine equipaggiate con unità CNC (tutte le descrizioni fornite in questa sezione
assumono questa configurazione). Alcune norme si riferiscono a specifiche funzioni e pertanto possono non
essere applicabili a certe unità CNC.
Gli utilizzatori devono anche osservare le norme di sicurezza relative alla macchina, così come sono
descritte nel corrispondente manuale predisposto dal costruttore della macchina utensile. Prima di far
funzionare la macchina o di creare un programma che ne controlli il funzionamento, l'operatore deve avere
piena familiarità con il contenuto di questo manuale e del corrispondente manuale fornito dal costruttore
della macchina utensile.

INDICE

DEFINIZIONE DI PERICOLO, AVVERTENZA E NOTA ..................................................................... s-1


DIFFIDE E AVVERTENZE DI CARATTERE GENERALE .................................................................. s-1
DIFFIDE E AVVERTENZE RELATIVE ALLA PROGRAMMAZIONE ............................................. s-3
DIFFIDE E AVVERTENZE RELATIVE ALLE OPERAZIONI ............................................................. s-4
DIFFIDE RELATIVE ALLA MANUTENZIONE ORDINARIA ............................................................ s-6

DEFINIZIONE DI PERICOLO, AVVERTENZA E NOTA


Questo manuale include le norme di sicurezza che devono essere osservate per proteggere l'utilizzatore e
per evitare di danneggiare la macchina. Le norme sono suddivise in indicazioni di PERICOLO (Diffide)
e Avvertenze in base al loro peso in termini di sicurezza. Le informazioni supplementari sono classificate
come Note. Leggere attentamente le Diffide, le Avvertenze, e le Note prima di tentare di usare la
macchina.

PERICOLO
Questa indicazione viene data quando esiste il pericolo di lesioni dell'operatore o
di danneggiamenti della macchina se non viene seguita la procedura indicata.

AVVERTENZA
Questa indicazione viene data quando il mancato rispetto della procedura
indicata può danneggiare la macchina.

NOTA
Le note sono usate per fornire informazioni supplementari, diverse dalle diffide e
dalle avvertenze.

• Leggere attentamente questo manuale e deporlo in un posto sicuro.

s-1
NORME DI SICUREZZA B-64304IT/02

DIFFIDE E AVVERTENZE DI CARATTERE GENERALE


PERICOLO
1 Non tentare mai di lavorare un pezzo senza aver prima verificato il
funzionamento della macchina. Prima di iniziare una produzione, assicurarsi che
la macchina operi correttamente attraverso una lavorazione di prova usando, per
esempio, le funzioni blocco a blocco, regolazione della velocità di avanzamento o
blocco macchina, o facendo lavorare la macchina senza aver montato né il pezzo
né l'utensile. La mancata verifica del corretto funzionamento della macchina può
dare luogo a comportamenti inattesi della macchina stessa, con la possibilità di
danneggiare il pezzo o la macchina e di ferire l'operatore.
2 Prima di avviare la macchina controllare attentamente i dati specificati.
Il funzionamento della macchina sulla base di dati non corretti può dare luogo a
comportamenti inattesi della macchina stessa, con la possibilità di danneggiare il
pezzo o la macchina e di ferire l'operatore.
3 Assicurarsi che gli avanzamenti specificati siano appropriati all'operazione da
eseguire. Generalmente per ogni macchina esiste una specifica velocità
massima di avanzamento.
La velocità di avanzamento appropriata dipende dall'operazione che si intende
eseguire. Consultare il manuale fornito insieme alla macchina per determinare la
velocità massima di avanzamento ammessa.
Se la macchina opera con una velocità di avanzamento non appropriata, essa
può comportarsi in modo inatteso, con la possibilità di danneggiare il pezzo o la
macchina e di ferire l'operatore.
4 Se si usa una funzione di compensazione utensile, controllare attentamente
l'entità e la direzione della compensazione.
Il funzionamento della macchina sulla base di dati non corretti può dare luogo a
comportamenti inattesi della macchina stessa, con la possibilità di danneggiare il
pezzo o la macchina e di ferire l'operatore.
5 I parametri del CNC e del PMC sono impostati in fabbrica. Normalmente non è
necessario cambiarli. Quando, tuttavia, non esistono alternative alla modifica di
un parametro, assicurarsi di averne compreso perfettamente la funzione prima di
procedere a qualsiasi variazione.
L'errata impostazione di un parametro può dare luogo a comportamenti inattesi
della macchina, con la possibilità di danneggiare il pezzo o la macchina e di ferire
l'operatore.
6 Immediatamente dopo l'accensione, non toccare nessuno dei tasti del pannello
MDI finché non compaiono la schermata posizione o la schermata allarmi.
Alcuni tasti del pannello MDI sono dedicati alla manutenzione o ad altre
operazioni speciali. Premere uno di questi tasti può mettere il CNC in uno stato
diverso da quello normale. Avviare la macchina in questo stato può dar luogo ad
un comportamento inatteso della medesima.

s-2
B-64304IT/02 NORME DI SICUREZZA

PERICOLO
7 Il manuale dell'operatore e il manuale di programmazione forniti insieme al CNC
forniscono una descrizione generale delle funzioni della macchina, incluse le
funzioni opzionali. Notare che le funzioni opzionali variano da una macchina
all'altra. Di conseguenza, alcune delle funzioni descritte nei manuali del CNC
possono non essere disponibili su uno specifico modello. In caso di dubbio,
controllare le specifiche della macchina.
8 Alcune funzioni possono essere state implementate su richiesta del costruttore
della macchina utensile. Prima di usare una di queste funzioni, consultare il
manuale predisposto dal costruttore della macchina utensile per i dettagli e le
eventuali avvertenze relativi a tale funzione.

AVVERTENZA
Il display a cristalli liquidi è realizzato con una tecnologia di fabbricazione ad
altissima precisione. Tuttavia, alcuni pixel potrebbero non accendersi o restare
accesi. Questo fenomeno è una caratteristica comune degli LCD e non è un
difetto.

NOTA
I programmi, i parametri, e le variabili macro sono registrati nella memoria non
volatile del CNC. Normalmente questi dati non vengono persi allo spegnimento
del CNC stesso.
Tuttavia, essi possono essere cancellati inavvertitamente o può rendersi
necessario cancellarli dalla memoria non volatile nell'ambito di una procedura di
ripristino dopo un errore.
Per proteggersi da tale situazione e garantire un rapido ripristino dei dati così
cancellati, eseguire una copia di sicurezza di tutti i dati vitali e conservarla in un
luogo sicuro.

s-3
NORME DI SICUREZZA B-64304IT/02

DIFFIDE E AVVERTENZE RELATIVE ALLA PROGRAMMAZIONE


Questa sezione fornisce le principali norme di sicurezza relative alla programmazione. Prima di iniziare a
scrivere un programma leggere attentamente il manuale dell'operatore fornito insieme al CNC.
E' necessario avere piena familiarità con il contenuto di questo manuale.

PERICOLO
1 Impostazione del sistema di coordinate
Se il sistema di coordinate non è impostato correttamente la può comportarsi in
modo inaspettato nell'esecuzione di un programma peraltro corretto. Questo
inatteso comportamento può danneggiare l'utensile, la macchina o il pezzo e può
causare lesioni all'operatore.
2 Posizionamento con interpolazione non lineare
Quando si usa il posizionamento con interpolazione non lineare (posizionamento
con movimento non lineare fra il punto iniziale e il punto finale), è necessario
controllare attentamente il percorso utensile. Il posizionamento comporta
movimenti rapidi. Se l'utensile entra in collisione con il pezzo, possono derivarne
danni all'utensile, alla macchina o al pezzo e lesioni all'operatore.
3 Funzioni che coinvolgono un asse rotativo
Quando si usano l'interpolazione in coordinate polari (Serie T) o il controllo della
direzione normale (perpendicolare) (Serie M), fare molta attenzione alla velocità
dell'asse rotativo. Una programmazione non corretta può dar luogo ad una
velocità di rotazione dell'asse troppo alta, in grado di provocare il distacco dal
mandrino del pezzo o dell'utensile, se questi non sono sufficientemente bloccati.
Un incidente di questo genere può facilmente danneggiare il pezzo, l'utensile o la
macchina e ferire l'operatore.
4 Conversione pollici/millimetri
La commutazione pollici/millimetri non cambia le unità di misura dei dati come lo
spostamento dell'origine del pezzo, i parametri e la posizione corrente. Prima di
avviare la macchina, quindi, è necessario determinare il tipo delle unità di misura
utilizzate. Il tentativo di eseguire un'operazione qualsiasi con dati non validi può
danneggiare il pezzo, l'utensile o la macchina e ferire l'operatore.
5 Controllo della velocità di taglio costante
Quando un asse soggetto al controllo della velocità di taglio costante si avvicina
all'origine del sistema di coordinate del pezzo, la velocità del mandrino può
aumentare eccessivamente. Quindi, è necessario specificare la velocità massima
ammessa. Una specifica non corretta di questa velocità massima può
danneggiare il pezzo, l'utensile o la macchina e ferire l'operatore.
6 Controllo della corsa
Dopo l'accensione, eseguire un ritorno manuale al punto di riferimento come
richiesto. Prima del ritorno manuale al punto di riferimento, il controllo della corsa
è disabilitato. Se il controllo della corsa è disabilitato, non vengono segnalati
allarmi nel caso in cui venga superato un fine corsa. Questo può danneggiare il
pezzo, l'utensile o la macchina e ferire l'operatore.

s-4
B-64304IT/02 NORME DI SICUREZZA

PERICOLO
7 Controllo di interferenza per ciascun canale (Serie T)
Il controllo di interferenza per ciascun canale (Serie T) viene eseguito durante il
funzionamento automatico, sulla base dei dati utensile specificati. Se questi dati
non corrispondono all'utensile effettivamente utilizzato, il controllo di interferenza
non può essere eseguito correttamente. Questo può danneggiare il pezzo,
l'utensile o la macchina e ferire l'operatore. Dopo l'accensione, o dopo aver
selezionato manualmente una torretta, avviare sempre il funzionamento
automatico e specificare il numero dell'utensile da utilizzare.
8 Modo assoluto/incrementale
Se un programma creato usando valori assoluti viene eseguito nel modo
incrementale o viceversa, La macchina può comportarsi in modo inatteso.
9 Selezione del piano
Se per l'interpolazione circolare, l'interpolazione elicoidale o un ciclo fisso la
specifica del piano non è corretta, la macchina può comportarsi in modo inatteso.
Per i dettagli, fare riferimento alla descrizione delle varie funzioni.
10 Salto al limite di coppia
Prima di specificare un salto al limite di coppia, applicare il limite di coppia. Se
viene specificato un salto al limite di coppia senza che sia stato effettivamente
applicato il limite di coppia, una comando di movimento verrà eseguito senza
eseguire il salto.
11 Immagine speculare programmabile (Serie M)
Notare che quando viene abilitata l'immagine speculare programmabile (Serie M)
le operazioni programmate cambiano considerevolmente.
12 Funzione di compensazione
Se nel modo compensazione vengono specificati un comando basato sul sistema
di coordinate della macchina o un comando di ritorno al punto di riferimento, la
compensazione viene temporaneamente cancellata. Questo può provocare un
comportamento inatteso della macchina.
Prima di specificare uno di questi comandi, quindi, cancellare sempre il modo
compensazione.

s-5
NORME DI SICUREZZA B-64304IT/02

DIFFIDE E AVVERTENZE RELATIVE ALLE OPERAZIONI


Questa sezione presenta le norme di sicurezza relativa alle operazioni della macchina. Prima di operare
sulla macchina, leggere attentamente il manuale dell'operatore fornito insieme al CNC. E' necessario avere
piena familiarità con il contenuto di questo manuale.

PERICOLO
1 Funzionamento manuale
Quando si eseguono operazioni manuali, determinare la posizione corrente
dell'utensile e del pezzo e assicurarsi che l'entità, la direzione e la velocità di
avanzamento dei movimenti siano state specificate correttamente.
Un'operazione non corretta può danneggiare il pezzo, l'utensile o la macchina e
ferire l'operatore.
2 Ritorno manuale al punto di riferimento
Dopo l'accensione, eseguire il ritorno manuale al punto di riferimento come
richiesto.
Se la macchina viene fatta funzionare senza aver prima eseguito il ritorno
manuale al punto di riferimento, essa può comportarsi in modo inatteso. Prima
del ritorno manuale al punto di riferimento, il controllo della corsa è disabilitato.
Un'operazione inattesa può danneggiare il pezzo, l'utensile o la macchina e ferire
l'operatore.
3 Avanzamento manuale con volantino
Nell'avanzamento manuale con volantino, la rotazione del volantino quando il
fattore di scala applicato è grande, ad esempio 100, provoca un movimento
rapido dell'utensile o della tavola. La mancanza di attenzione nell'eseguire
questa operazione può causare danni al pezzo, all'utensile o alla macchina e può
causare ferite all'operatore.
4 Disabilitazione della regolazione
Se durante la filettatura, la maschiatura o la maschiatura rigida la regolazione
della velocità è disabilitata (in base al contenuto di una variabile macro), la
velocità non può essere prevista, con possibili danni al pezzo, all'utensile o alla
macchina e con possibili lesioni dell'operatore.
5 Operazioni di preset/origine
In linea di principio, non tentare mai un'operazione di preset/origine quando la
macchina sta funzionando sotto il controllo di un programma. Altrimenti la
macchina può comportarsi in modo inatteso, con possibili danni al pezzo,
all'utensile o alla macchina e con possibili lesioni dell'operatore.
6 Spostamento del sistema di coordinate del pezzo
Gli interventi manuali, il funzionamento nello stato di blocco macchina o
l'applicazione dell'immagine speculare possono spostare il sistema di coordinate
del pezzo. Prima di eseguire un programma pezzo, controllare attentamente il
sistema di coordinate.
Se il funzionamento automatico viene avviato senza tener conto di un eventuale
spostamento del sistema di coordinate del pezzo, la macchina può comportarsi in
modo inatteso, con possibili danni al pezzo, all'utensile o alla macchina e con
possibili lesioni dell'operatore.

s-6
B-64304IT/02 NORME DI SICUREZZA

PERICOLO
7 Pannello operatore software
Se si usano il pannello operatore software combinato con il pannello MDI è
possibile specificare operazioni non supportate dal pannello operatore, quali la
commutazione del modo, la variazione delle regolazioni e l’ avanzamento in jog.
Operando inavvertitamente sui tasti del pannello MDI è possibile causare un
comportamento inatteso della macchina, con possibili danni a pezzo, utensile o
macchina e con possibili lesioni dell'operatore.
8 Tasto RESET
La pressione del tasto RESET ferma l'esecuzione del programma e il
conseguente arresto degli assi. Tuttavia, il tasto RESET potrebbe non funzionare
per diverse ragioni, ad es.:un problema sul pannello MDI. Quindi, se è necessario
bloccare i motori, utilizzare, per sicurezza, il pulsante di arresto in emergenza
invece del tasto RESET.
9 Intervento manuale
Se durante il funzionamento della macchina sotto il controllo del programma
viene eseguito un intervento manuale, alla ripartenza della macchina il percorso
utensile può variare. Prima di riavviare la macchina dopo un intervento manuale,
quindi, controllare la posizione del commutatore assoluto in manuale,
l'impostazione dei parametri e lo stato del modo di comando
assoluto/incrementale.
10 Feed hold, regolazione della velocità di avanzamento e blocco singolo
Le funzioni feed hold, regolazione della velocità di avanzamento e blocco singolo
possono essere disabilitate tramite le variabili macro di sistema #3003 e #3004.
Quando la macchina opera in queste condizioni fare molta attenzione.
11 Prova a vuoto
Normalmente, la prova a vuoto si usa per verificare il funzionamento della
macchina sotto il controllo di un programma. Durante una prova a vuoto, la
macchina lavora alla velocità di avanzamento per la prova a vuoto, che è diversa
dall'avanzamento programmato. La velocità di avanzamento per la prova a vuoto
può essere maggiore di quella programmata.
12 Compensazione raggio utensile nel modo MDI
Mettere una particolare attenzione nella specifica del percorso utensile di un
movimento comandato in MDI, perché in questo caso la compensazione raggio
utensile non è applicata. Nell’introdurre un comando in MDI interrompendo il
funzionamento automatico nel modo compensazione raggio utensile, fare molta
attenzione al percorso dell'utensile alla ripresa del funzionamento automatico.
Per i dettagli riferirsi alle corrispondenti sezioni del manuale.
13 Editazione del programma pezzo
Se la macchina viene fermata e viene editato (modifica, inserimento o
cancellazione di parole o blocchi) il programma pezzo in esecuzione, quando
viene ripresa la lavorazione sotto il controllo del programma la macchina può
comportarsi in modo inaspettato. In linea di principio, non modificare, inserire o
cancellare i comandi contenuti nel programma in esecuzione.

s-7
NORME DI SICUREZZA B-64304IT/02

DIFFIDE RELATIVE ALLA MANUTENZIONE ORDINARIA


PERICOLO
1 Sostituzione della batteria della memoria
Per la sostituzione della batteria della memoria, il CNC deve essere acceso e la
macchina deve essere nella condizione di arresto in emergenza. Dato che questa
operazione si effettua con l'alimentazione collegata e l'armadio elettrico aperto,
essa deve essere eseguita esclusivamente da personale che abbia ricevuto un
addestramento sui temi della sicurezza e della manutenzione ufficialmente
accettato.
Durante la sostituzione della batteria fare attenzione a non toccare i circuiti ad
alta tensione (contrassegnati con il simbolo e protetti da un coperchio
isolante).
Toccare un circuito ad alta tensione scoperto comporta un rischio di scossa
elettrica estremamente grave.

NOTA
Il CNC usa la batteria per preservare il contenuto della sua memoria, programmi,
correzioni, parametri, ecc., anche quando l'alimentazione esterna non è
applicata.
In caso di caduta della tensione della batteria sul pannello dell'operatore o sul
video del CNC compare un allarme di bassa tensione della batteria.
Se compare questo allarme, sostituire la batteria entro una settimana, o il
contenuto della memoria del CNC verrà perso.
Per la descrizione dettagliata della procedura per la sostituzione della batteria
fare riferimento alla sezione “Metodo di sostituzione della batteria” del manuale
dell'operatore (comune per le serie T e M).

PERICOLO
2 Sostituzione della batteria dell'encoder assoluto
Per la sostituzione della batteria della memoria, il CNC deve essere acceso e la
macchina deve essere nella condizione di arresto in emergenza. Dato che questa
operazione si effettua con l'alimentazione collegata e l'armadio elettrico aperto,
essa deve essere eseguita esclusivamente da personale che abbia ricevuto un
addestramento sui temi della sicurezza e della manutenzione ufficialmente
accettato.
Durante la sostituzione della batteria fare attenzione a non toccare i circuiti ad
alta tensione (contrassegnati con il simbolo e protetti da un coperchio
isolante).
Toccare un circuito ad alta tensione scoperto comporta un rischio di scossa
elettrica estremamente grave.

s-8
B-64304IT/02 NORME DI SICUREZZA

NOTA
L'encoder assoluto usa la batteria per preservare la posizione assoluta
memorizzata.
In caso di caduta della tensione della batteria sul pannello dell'operatore o sul
video del CNC compare un allarme di bassa tensione della batteria.
Se compare questo allarme, sostituire la batteria entro una settimana, o la
posizione assoluta memorizzata dall'encoder verrà persa.
Per la descrizione dettagliata della procedura per la sostituzione della batteria
fare riferimento alla sezione “Metodo di sostituzione della batteria” del manuale
dell'operatore (comune per le serie T e M).

PERICOLO
3 Sostituzione dei fusibili
Prima di procedere alla sostituzione di un fusibile è necessario individuare e
rimuovere la causa che ne ha provocato la bruciatura.
Per questo motivo, questa operazione può essere eseguita esclusivamente da
personale che abbia ricevuto un addestramento ufficialmente accettato sui temi
della sicurezza e della manutenzione.
Quando si sostituisce un fusibile con l'armadio elettrico aperto fare attenzione a
non toccare i circuiti ad alta tensione (contrassegnati con il simbolo e protetti
da un coperchio isolante).
Toccare un circuito ad alta tensione scoperto comporta un rischio di scossa
elettrica estremamente grave.

s-9
B-64304IT/02 INDICE GENERALE

INDICE GENERALE
NORME DI SICUREZZA.............................................................................. s-1
DEFINIZIONE DI PERICOLO, AVVERTENZA E NOTA.......................................... s-1
DIFFIDE E AVVERTENZE DI CARATTERE GENERALE ....................................... s-2
DIFFIDE E AVVERTENZE RELATIVE ALLA PROGRAMMAZIONE....................... s-4
DIFFIDE E AVVERTENZE RELATIVE ALLE OPERAZIONI ................................... s-6
DIFFIDE RELATIVE ALLA MANUTENZIONE ORDINARIA .................................... s-8

I. INTRODUZIONE
1 INTRODUZIONE ..................................................................................... 3
1.1 AVVERTENZE RELATIVE ALLA LETTURA DEL MANUALE ....................... 6
1.2 AVVERTENZA RELATIVA A VARI TIPI DI DATI........................................... 6

II. PROGRAMMAZIONE
1 INTRODUZIONE ..................................................................................... 9
1.1 MOVIMENTO DELL'UTENSILE LUNGO IL PROFILO DEL PEZZO -
INTERPOLAZIONE ....................................................................................... 9
1.2 AVANZAMENTO - FUNZIONE AVANZAMENTO ........................................ 11
1.3 DISEGNO DEL PEZZO E MOVIMENTO DELL'UTENSILE ......................... 12
1.3.1 Punto di riferimento (una posizione fissa sulla macchina) ..................................... 12
1.3.2 Sistema di coordinate del disegno del pezzo e sistema di coordinate
specificato dal CNC - Sistema di coordinate .......................................................... 13
1.3.3 Programmazione dei movimenti dell'utensile
(comandi assoluti e incrementali) ........................................................................... 17
1.4 VELOCITA' DI TAGLIO - FUNZIONE VELOCITA' DEL MANDRINO .......... 20
1.5 SELEZIONE DELL'UTENSILE DA USARE NELLE VARIE
LAVORAZIONI - FUNZIONE UTENSILE ..................................................... 21
1.6 COMANDI PER LE FUNZIONI DELLA MACCHINA -
FUNZIONI AUSILIARIE ............................................................................... 22
1.7 CONFIGURAZIONE DEL PROGRAMMA ................................................... 23
1.8 AMPIEZZA DEL MOVIMENTO DELL'UTENSILE -
ZONA DI SICUREZZA ................................................................................. 25
2 ASSI CONTROLLATI ............................................................................ 26
2.1 NUMERO DI ASSI CONTROLLATI ............................................................. 26
2.2 NOMENCLATURA DEGLI ASSI .................................................................. 27
2.3 SISTEMA DI INCREMENTI ......................................................................... 27
2.4 CORSA MASSIMA ...................................................................................... 28
3 FUNZIONI PREPARATORIE (CODICI G) ............................................. 29
3.1 CODICI G DELLA SERIE M ........................................................................ 30
3.2 CODICI G DELLA SERIE T ......................................................................... 32

c-1
INDICE GENERALE B-64304IT/02

4 FUNZIONI DI INTERPOLAZIONE......................................................... 35
4.1 POSIZIONAMENTO (G00) .......................................................................... 35
4.2 INTERPOLAZIONE LINEARE (G01) ........................................................... 36
4.3 INTERPOLAZIONE CIRCOLARE (G02, G03) ............................................. 38
4.4 INTERPOLAZIONE ELICOIDALE (G02, G03) ............................................ 44
4.5 INTERPOLAZIONE CILINDRICA (G07.1) ................................................... 46
4.6 FUNZIONE DI SALTO (G31) ....................................................................... 50
4.7 SALTO MULTIPASSO (G31) ....................................................................... 52
4.8 SEGNALE DI SALTO AD ALTA VELOCITA' (G31) ..................................... 53
4.9 SALTO AL LIMITE DI COPPIA .................................................................... 53
5 FUNZIONI DI AVANZAMENTO ............................................................ 56
5.1 INTRODUZIONE ......................................................................................... 57
5.2 POSIZIONAMENTO RAPIDO...................................................................... 59
5.3 AVANZAMENTO IN LAVORO ..................................................................... 59
5.4 CONTROLLO DELLA VELOCITA' DI AVANZAMENTO .............................. 65
5.4.1 Arresto esatto (G09, G61), Modo taglio (G64), Modo maschiatura (G63) ........... 66
5.4.2 Regolazione automatica della velocità sugli spigoli (Serie M) .............................. 66
5.4.2.1 Regolazione automatica della velocità sugli spigoli interni (G62) ................. 67
5.4.2.2 Riduzione della velocità di avanzamento nell'interpolazione
circolare all'interno ......................................................................................... 69
5.5 COMANDO DI VELOCITA' SU UN CERCHIO VIRTUALE PER UN
ASSE ROTATIVO ........................................................................................ 70
5.6 SOSTA ........................................................................................................ 74
6 PUNTO DI RIFERIMENTO .................................................................... 75
6.1 RITORNO AL PUNTO DI RIFERIMENTO ................................................... 75
7 SISTEMA DI COORDINATE ................................................................. 81
7.1 SISTEMA DI COORDINATE DELLA MACCHINA ....................................... 82
7.2 SISTEMA DI COORDINATE DEL PEZZO ................................................... 84
7.2.1 Impostazione del sistema di coordinate del pezzo.................................................. 84
7.2.2 Selezione del sistema di coordinate del pezzo........................................................ 86
7.2.3 Cambiamento del sistema di coordinate del pezzo ................................................. 87
7.2.4 Preset del sistema di coordinate del pezzo (G92.1) ................................................ 91
7.2.5 Sistemi di coordinate del pezzo addizionali (G54.1 o G54) (Serie M) .................. 93
7.2.6 Impostazione automatica del sistema di coordinate ............................................... 94
7.2.7 Spostamento del sistema di coordinate del pezzo (Serie T) ................................... 95
7.3 SISTEMA DI COORDINATE LOCALI .......................................................... 96
7.4 SELEZIONE DEL PIANO ............................................................................ 98
8 VALORI DELLE COORDINATE E DIMENSIONI .................................. 99
8.1 PROGRAMMAZIONE ASSOLUTA E INCREMENTALE ............................. 99
8.2 CONVERSIONE POLLICI/MILLIMETRI (G20, G21).................................. 101
8.3 PROGRAMMAZIONE DEL PUNTO DECIMALE ....................................... 104
8.4 PROGRAMMAZIONE DIAMETRALE E PROGRAMMAZIONE
RADIALE ................................................................................................... 106

c-2
B-64304IT/02 INDICE GENERALE

9 FUNZIONE VELOCITA' MANDRINO (FUNZIONE S) ......................... 107


9.1 SPECIFICA DELLA VELOCITA' DEL MANDRINO CON UN CODICE ...... 107
9.2 SPECIFICA DIRETTA DELLA VELOCITA' DEL MANDRINO
(COMANDO S-5 CIFRE) ........................................................................... 107
9.3 CONTROLLO DELLA VELOCITA' DI TAGLIO COSTANTE
(G96, G97) ................................................................................................. 108
9.4 FUNZIONE DI POSIZIONAMENTO DEL MANDRINO .............................. 112
9.4.1 Orientamento del mandrino .................................................................................. 113
9.4.2 Posizionamento del mandrino (Serie T) ............................................................... 114
9.4.3 Cancellazione del posizionamento del mandrino (Serie T) .................................. 115
9.5 RILEVAZIONE DEGLI ERRORI DI VELOCITA' DEL MANDRINO
(SERIE T) .................................................................................................. 117
9.6 CONTROLLO MANDRINO CON UN MOTORE ASSE .............................. 121
9.6.1 Controllo mandrino con un motore asse ............................................................... 122
9.6.2 Funzione di indexaggio mandrino ........................................................................ 127
9.6.3 Maschiatura rigida con un motore asse ................................................................ 131
9.6.4 Avanzamento al giro ............................................................................................ 133
9.6.5 Controllo uscita mandrino da PMC ...................................................................... 134

10 FUNZIONE UTENSILE (FUNZIONE T) ............................................... 135


10.1 FUNZIONE DI SELEZIONE UTENSILE .................................................... 135
10.2 GESTIONE VITA UTENSILI ...................................................................... 136
10.2.1 Dati della gestione vita utensili ............................................................................ 137
10.2.2 Registrazione, modifica e cancellazione dei dati della gestione vita utensili ....... 138
10.2.3 Comandi della gestione vita utensili in un programma pezzo .............................. 141
10.2.4 Conteggio vita utensile e selezione utensile ......................................................... 147
10.2.5 Codice M per la ripartenza del conteggio vita utensili ......................................... 150
10.2.6 Disabilitazione del conteggio vita ........................................................................ 152

11 FUNZIONI AUSILIARIE ...................................................................... 153


11.1 FUNZIONE AUSILIARIA (FUNZIONE M) .................................................. 153
11.2 PIU' CODICI M IN UN BLOCCO ................................................................ 154
11.3 SECONDA FUNZIONE AUSILIARIA (CODICI B) ...................................... 155
12 GESTIONE DEI PROGRAMMI............................................................ 157
12.1 ATTRIBUTI DEI PROGRAMMI .................................................................. 157
12.2 PARAMETRI .............................................................................................. 157
12.3 CAPACITA' DELLA MEMORIA PROGRAMMI /
NUMERO DEI PROGRAMMI REGISTRABILI ........................................... 158
13 CONFIGURAZIONE DEL PROGRAMMA ........................................... 159
13.1 COMPONENTI DEL PROGRAMMA DIVERSE DALLA SEZIONE
PROGRAMMA ........................................................................................... 161
13.2 CONFIGURAZIONE DELLA SEZIONE PROGRAMMA ............................ 163
13.3 SOTTOPROGRAMMI (M98, M99)............................................................. 169

c-3
INDICE GENERALE B-64304IT/02

14 MACROISTRUZIONI ........................................................................... 173


14.1 VARIABILI ................................................................................................. 173
14.2 VARIABILI DI SISTEMA ............................................................................ 178
14.3 OPERAZIONI ARITMETICHE E LOGICHE ............................................... 211
14.4 LETTURA DEI PARAMETRI...................................................................... 217
14.5 FRASI MACRO E FRASI NC ..................................................................... 218
14.6 SALTI E RIPETIZIONI ............................................................................... 219
14.6.1 Salto incondizionato (frase GOTO)...................................................................... 219
14.6.2 Frase GOTO con numeri di sequenza memorizzati .............................................. 219
14.6.3 Salto condizionato (Frase IF) ............................................................................... 221
14.6.4 Ripetizione (FRASE WHILE) .............................................................................. 222
14.7 RICHIAMO DELLE MACRO ...................................................................... 224
14.7.1 Richiamo semplice (G65) ..................................................................................... 224
14.7.2 Richiamo modale: Richiamo dopo l'esecuzione di un
comando di movimento (G66).............................................................................. 232
14.7.3 Richiamo macro mediante un codice G ................................................................ 236
14.7.4 Richiamo macro mediante un codice G
(con specifica del numero di codici G utilizzabili)............................................... 237
14.7.5 Richiamo macro mediante codici M ..................................................................... 238
14.7.6 Richiamo macro mediante un codice M
(con specifica del numero di codici M utilizzabili) .............................................. 239
14.7.7 Richiamo sottoprogrammi mediante codici M ..................................................... 240
14.7.8 Richiamo sottoprogramma mediante un codice M
(con specifica del numero di codici M utilizzabili) .............................................. 241
14.7.9 Richiamo sottoprogramma mediante codice T ..................................................... 242
14.7.10 Richiamo sottoprogramma con uno specifico indirizzo ....................................... 243
14.8 ELABORAZIONE DELLE FRASI MACRO ................................................. 246
14.9 REGISTRAZIONE DEI PROGRAMMI MACRO ......................................... 247
14.10 CODICI E PAROLE RISERVATE UTILIZZATI NELLE MACRO ................ 248
14.11 COMANDI DI EMISSIONE DEI DATI ........................................................ 249
14.12 LIMITAZIONI ............................................................................................. 252
14.13 INTERRUPT DELLE MACROISTRUZIONI ............................................... 253
14.13.1 Metodo di specifica .............................................................................................. 254
14.13.2 Descrizione della funzione di interrupt ................................................................ 255

15 INTRODUZIONE PARAMETRI DA PROGRAMMA (G10).................. 262


16 FUNZIONI PER LA LAVORAZIONE AD ALTA VELOCITA' .............. 265
16.1 CONTROLLO AVANZATO CON PRELETTURA DEI BLOCCHI
(SERIE T) / CONTROLLO AVANZATO AI CON PRELETTURA
DEI BLOCCHI (SERIE M) / CONTROLLO CONTORNATURA AI (II)
(SERIE M) ................................................................................................. 265
16.2 FUNZIONE DI SELEZIONE DELLE CONDIZIONI DI LAVORAZIONE ..... 284
16.3 REGOLAZIONE DEL LIVELLO DI QUALITA' DELLA
LAVORAZIONE (Serie M) ......................................................................... 284
16.4 CONTROLLO DEL JERK (Serie M)........................................................... 285
16.4.1 Controllo della velocità in base alla variazione dell'accelerazione
di ciascun asse ...................................................................................................... 285
16.4.2 Accelerazione/decelerazione a campana prima dell'interpolazione
con prelettura dei blocchi smorzata ...................................................................... 288

c-4
B-64304IT/02 INDICE GENERALE

17 FUNZIONI DI CONTROLLO ASSI ...................................................... 290


17.1 CONTROLLO SINCRONO DEGLI ASSI ................................................... 290
17.1.1 Configurazione degli assi per il controllo sincrono .............................................. 291
17.1.2 Instaurazione della sincronizzazione .................................................................... 293
17.1.3 Impostazione automatica per la corrispondenza delle posizioni di griglia ........... 295
17.1.4 Controllo dell'errore di sincronizzazione.............................................................. 296
17.1.5 Metodi di ripristino dopo un allarme generato dal controllo dell'errore di
sincronizzazione ................................................................................................... 297
17.1.6 Allarme del controllo della coppia durante il funzionamento sincrono ............... 298
17.2 ROLL-OVER DELL'ASSE ROTATIVO....................................................... 301
17.3 CONTROLLO DELL'ASSE INCLINATO ARBITRARIO ............................. 302
17.4 CONTROLLO TANDEM ............................................................................ 312
18 INTRODUZIONE DEI DATI DEGLI SCHEMI DI LAVORAZIONE ....... 313
18.1 INTRODUZIONE ....................................................................................... 313
18.2 SPIEGAZIONE .......................................................................................... 313
18.3 PROCEDURE ............................................................................................ 315
18.4 DEFINIZIONE DELLA SCHERMATA ........................................................ 317
18.4.1 Definizione del menu degli schemi di lavorazione .............................................. 318
18.4.2 Definizione della schermata della macro.............................................................. 320
18.4.3 Impostazione dei codici dei caratteri .................................................................... 322

III. OPERAZIONI
1 INTRODUZIONE ................................................................................. 331
1.1 OPERAZIONI MANUALI ............................................................................ 331
1.2 MOVIMENTO DELL'UTENSILE DA PROGRAMMA -
FUNZIONAMENTO AUTOMATICO........................................................... 333
1.3 FUNZIONAMENTO AUTOMATICO........................................................... 334
1.4 PROVA DEI PROGRAMMI ........................................................................ 335
1.4.1 Controllo con movimento della macchina ............................................................ 335
1.4.2 Visualizzazione della posizione a macchina ferma .............................................. 336
1.5 EDITAZIONE DEL PROGRAMMA PEZZO ............................................... 336
1.6 VISUALIZZAZIONE E IMPOSTAZIONE DEI DATI .................................... 337
1.7 VISUALIZZAZIONE ................................................................................... 340
1.7.1 Visualizzazione programmi .................................................................................. 340
1.7.2 Visualizzazione della posizione corrente ............................................................. 341
1.7.3 Visualizzazione allarmi ........................................................................................ 342
1.7.4 Visualizzazione numero pezzi e ore di funzionamento ........................................ 342

2 UNITA' OPERATIVE ........................................................................... 343


2.1 UNITA' DI IMPOSTAZIONE E VISUALIZZAZIONE ................................... 343
2.1.1 LCD/MDI da 8.4”................................................................................................. 344
2.1.2 LCD da 10.4” ....................................................................................................... 345
2.1.3 Unità MDI standard (Tastiera ONG) .................................................................... 346
2.1.4 Unità MDI compatta (Tastiera ONG) ................................................................... 347
2.2 UNITA' OPERATIVE .................................................................................. 349
2.3 TASTI FUNZIONE E TASTI SOFTWARE ................................................. 351
2.3.1 Sommario delle operazioni eseguite sulle varie schermate .................................. 351
2.3.2 Tasti funzione ....................................................................................................... 353
2.3.3 Tasti software ....................................................................................................... 354
c-5
INDICE GENERALE B-64304IT/02

2.3.4 Tastiera e buffer della tastiera .............................................................................. 363


2.3.5 Messaggi di avvertimento..................................................................................... 364
2.4 UNITA' ESTERNE DI IMMISSIONE/EMISSIONE ..................................... 364
2.5 ACCENSIONE/SPEGNIMENTO................................................................ 366
2.5.1 Accensione ........................................................................................................... 366
2.5.2 Spegnimento ......................................................................................................... 366

3 OPERAZIONI MANUALI ..................................................................... 367


3.1 RITORNO MANUALE AL PUNTO DI RIFERIMENTO ............................... 368
3.2 AVANZAMENTO IN JOG .......................................................................... 370
3.3 AVANZAMENTO INCREMENTALE .......................................................... 372
3.4 AVANZAMENTO MANUALE CON VOLANTINO....................................... 373
3.5 ASSOLUTO IN MANUALE ON E OFF ...................................................... 376
3.6 INTERFACCIA PER RIGA CODIFICATA .................................................. 380
3.6.1 Procedura per la determinazione del punto di riferimento ................................... 381
3.6.2 Ritorno al punto di riferimento ............................................................................. 382
3.6.3 Encoder codificato ................................................................................................ 382
3.6.4 Controllo sincrono degli assi ................................................................................ 383
3.6.5 Controllo assi da PMC ......................................................................................... 384
3.6.6 Controllo dell'asse inclinato ................................................................................. 384
3.6.7 Note ...................................................................................................................... 384
3.7 RIGA CODIFICATA CON MARCHE DI RIFERIMENTO (SERIALE) ......... 386
3.8 RITRACCIATURA CON VOLANTINO ....................................................... 390
4 FUNZIONAMENTO AUTOMATICO .................................................... 402
4.1 FUNZIONAMENTO DA MEMORIA ........................................................... 403
4.2 FUNZIONAMENTO IN MDI ....................................................................... 405
4.3 FUNZIONAMENTO IN DNC ...................................................................... 408
4.4 FUNZIONAMENTO PIANIFICATO ............................................................ 411
4.5 RICHIAMO SOTTOPROGRAMMA DA UN'UNITA' ESTERNA (M198) ..... 416
4.6 INTERRUZIONE DEL VOLANTINO .......................................................... 418
4.7 INTERVENTO MANUALE E RITORNO .................................................... 424
4.8 IMMAGINE SPECULARE .......................................................................... 426
4.9 RIPARTENZA DEL PROGRAMMA ........................................................... 428
5 OPERAZIONI DI TEST ........................................................................ 439
5.1 BLOCCO MACCHINA E BLOCCO DELLE FUNZIONI AUSILIARIE ......... 439
5.2 REGOLAZIONE DELLA VELOCITA' DI AVANZAMENTO ........................ 441
5.3 REGOLAZIONE DELLA VELOCITA' IN RAPIDO ...................................... 442
5.4 PROVA A VUOTO ..................................................................................... 442
5.5 BLOCCO SINGOLO .................................................................................. 443
6 FUNZIONI DI SICUREZZA .................................................................. 445
6.1 ARRESTO IN EMERGENZA ..................................................................... 445
6.2 SOVRACORSA ......................................................................................... 446
6.3 CONTROLLO DELLE ZONE DI SICUREZZA ........................................... 447
6.4 CONTROLLO DELLE ZONE DI SICUREZZA PRIMA
DELL'ESECUZIONE DEL MOVIMENTO ................................................... 451

c-6
B-64304IT/02 INDICE GENERALE

6.5 FUNZIONI DI PREVENZIONE DEGLI ERRORI OPERATIVI .................... 453


6.5.1 Funzioni utilizzate durante l'impostazione dei dati .............................................. 453
6.5.1.1 Controllo del campo di validità dei dati introdotti ........................................ 454
6.5.1.2 Conferma dell'introduzione di valori incrementali ....................................... 455
6.5.1.3 Inibizione dell'introduzione di valori assoluti mediante tasti software ......... 456
6.5.1.4 Conferma della cancellazione di un programma ........................................... 456
6.5.1.5 Conferma della cancellazione di tutti i dati................................................... 457
6.5.1.6 Conferma dell'aggiornamento dei dati durante le impostazioni .................... 457
6.5.2 Funzioni utilizzate al momento dell'esecuzione di un programma ....................... 458
6.5.2.1 Evidenziazione dei dati modali cambiati ...................................................... 458
6.5.2.2 Segnale di controllo dell'avvio ...................................................................... 459
6.5.2.3 Visualizzazione dello stato degli assi............................................................ 459
6.5.2.4 Conferma dell'avvio da un blocco intermedio .............................................. 460
6.5.2.5 Controllo dei dati .......................................................................................... 461
6.5.2.6 Controllo del valore incrementale massimo .................................................. 461
6.5.2.7 Avviso in caso di reset durante l'esecuzione di un programma .................... 462
6.5.3 Schermata di impostazione ................................................................................... 463
6.5.3.1 Schermata di impostazione dei controlli operativi ........................................ 463
6.5.3.2 Schermata di impostazione del campo di validità delle
correzioni utensili ......................................................................................... 465
6.5.3.3 Schermata di impostazione del campo di validità degli offset
dello zero pezzo ............................................................................................ 468
6.5.3.4 Schermata di impostazione del campo di validità delle correzioni
utensile lungo l'asse Y................................................................................... 469
6.5.3.5 Schermata di impostazione dei campi di validità della
traslazione origine ......................................................................................... 471

7 ALLARMI E FUNZIONI DI AUTODIAGNOSI ...................................... 473


7.1 VISUALIZZAZIONE DEGLI ALLARMI ....................................................... 473
7.1.1 Procedure .............................................................................................................. 474
7.1.2 Visualizzazione allarmi per un sistema a 2 canali ................................................ 475
7.2 VISUALIZZAZIONE DELLA STORIA DEGLI ALLARMI ............................. 477
7.3 CONTROLLO MEDIANTE LA SCHERMATA AUTODIAGNOSTICA ......... 478
7.4 RITORNO DALLA SCHERMATA DEGLI ALLARMI .................................. 479
7.4.1 RITORNO DALLA SCHERMATA ALLARMI ................................................. 479
7.4.2 Relazione con altre funzioni (sistemi a 2 canali) .................................................. 480

8 IMMISSIONE/EMISSIONE DEI DATI .................................................. 482


8.1 SOVRASCRITTURA DEI FILE SU MEMORY CARD ................................ 483
8.2 IMMISSIONE/EMISSIONE DA CIASCUNA SCHERMATA........................ 485
8.2.1 Immissione ed emissione di un programma ......................................................... 485
8.2.1.1 Immissione di un programma ....................................................................... 485
8.2.1.2 Emissione di un programma ......................................................................... 486
8.2.2 Immissione/emissione dei parametri .................................................................... 487
8.2.2.1 Immissione dei parametri .............................................................................. 487
8.2.2.2 Emissione dei parametri ................................................................................ 488
8.2.3 Immissione/emissione delle correzioni ................................................................ 489
8.2.3.1 Immissione delle correzioni .......................................................................... 489
8.2.3.2 Emissione delle correzioni ............................................................................ 489
8.2.4 Immissione/emissione dei dati della compensazione passo vite ......................... 492
8.2.4.1 Immissione dei dati della compensazione passo vite .................................... 492
8.2.4.2 Emissione dei dati della compensazione passo vite ...................................... 493
8.2.4.3 Formato di immissione/emissione dei dati della compensazione
passo vite....................................................................................................... 493

c-7
INDICE GENERALE B-64304IT/02

8.2.5 Immissione/emissione delle variabili comuni delle macroistruzioni .................... 494


8.2.5.1 Immissione delle variabili comuni delle macroistruzioni ............................. 494
8.2.5.2 Emissione delle variabili comuni delle macroistruzioni ............................... 495
8.2.6 Immissione/emissione dei dati del sistema di coordinate del pezzo .................... 496
8.2.6.1 Immissione dei dati del sistema di coordinate del pezzo .............................. 496
8.2.6.2 Emissione dei dati del sistema di coordinate del pezzo ................................ 496
8.2.7 Emissione dei dati della storia operativa .............................................................. 497
8.2.7.1 Emissione dei dati della storia operativa ....................................................... 497
8.3 IMMISSIONE/EMISSIONE DATI SULLA SCHERMATA
TUTTO IN UNA.......................................................................................... 498
8.3.1 Immissione/emissione di un programma .............................................................. 498
8.3.2 Immissione/emissione dei parametri .................................................................... 500
8.3.3 Immissione/emissione delle correzioni ................................................................ 501
8.3.4 Immissione/emissione dei dati della compensazione passo vite ......................... 502
8.3.5 Immissione/emissione delle variabili comuni delle macroistruzioni .................... 503
8.3.6 Immissione/emissione dei dati del sistema di coordinate del pezzo ..................... 504
8.3.7 Formato dei file .................................................................................................... 505
8.4 SCHERMATA DELLA MEMORY CARD .................................................... 506
8.4.1 Visualizzazione della schermata della memory card ............................................ 506
8.4.2 Tasti software e operazioni ................................................................................... 507
8.4.3 Immissione/emissione di un file ........................................................................... 508
8.5 FUNZIONE ETHERNET INTEGRATA ....................................................... 510
8.5.1 Funzione di trasferimento file FTP....................................................................... 510
8.6 SCHERMATA DELLA CASSETTA FLOPPY ............................................. 515
8.6.1 Visualizzazione schermata della cassetta floppy .................................................. 515
8.6.2 Tasti software e operazioni ................................................................................... 516
8.6.3 Immissione/emissione di un file ........................................................................... 516
8.7 COPIA DELLO SCHERMO ....................................................................... 518
9 PROGRAMMAZIONE ......................................................................... 519
9.1 PROGRAMMAZIONE MEDIANTE IL PANNELLO MDI ............................. 520
9.2 INSERIMENTO AUTOMATICO DEI NUMERI DI SEQUENZA .................. 521
9.3 PROGRAMMAZIONE IN AUTOAPPRENDIMENTO (PLAYBACK) ........... 522
9.4 PROGRAMMAZIONE CONVERSAZIONALE CON
FUNZIONE GRAFICA ............................................................................... 525
10 EDITAZIONE DEI PROGRAMMI PEZZO ........................................... 529
10.1 ATTRIBUTO DI DISABILITAZIONE DELL'EDITAZIONE........................... 530
10.2 INSERIMENTO, MODIFICA E CANCELLAZIONE PAROLE ..................... 531
10.2.1 Ricerca parole ....................................................................................................... 532
10.2.2 Ritorno del cursore all'inizio del programma ....................................................... 534
10.2.3 Inserimento di una parola ..................................................................................... 535
10.2.4 Modifica di una parola ......................................................................................... 535
10.2.5 Cancellazione di una parola.................................................................................. 536
10.3 CANCELLAZIONE BLOCCHI .................................................................... 537
10.3.1 Cancellazione di un blocco................................................................................... 537
10.3.2 Cancellazione di più blocchi ................................................................................ 538
10.4 RICERCA DI UN PROGRAMMA ............................................................... 538
10.5 RICERCA DEL NUMERO DI SEQUENZA................................................. 540
10.6 CANCELLAZIONE DI PROGRAMMI ......................................................... 541
10.6.1 Cancellazione di un programma ........................................................................... 541
10.6.2 Cancellazione di tutti i programmi ....................................................................... 541
c-8
B-64304IT/02 INDICE GENERALE

10.7 COPIA/SPOSTAMENTO DI PROGRAMMI ............................................... 542


10.7.1 Copia di parte di un programma ........................................................................... 542
10.7.2 Spostamento di parte di un programma ................................................................ 545
10.7.3 Copia di un intero programma .............................................................................. 548
10.7.4 Spostamento di un intero programma................................................................... 550
10.7.5 Copia con specifica del numero del programma .................................................. 552
10.7.6 Copia/spostamento nel buffer della tastiera.......................................................... 553
10.8 SOSTITUZIONE ........................................................................................ 554
10.9 EDITAZIONE DELLE MACROISTRUZIONI .............................................. 555
10.10 FUNZIONE PASSWORD .......................................................................... 556
10.11 EDITAZIONE SIMULTANEA DI PROGRAMMI DI 2 CANALI .................... 557
10.12 UTILIZZO DELLA TASTIERA MDI COMPATTA........................................ 560
11 GESTIONE DEI PROGRAMMI............................................................ 562
11.1 SELEZIONE DELL'UNITA'......................................................................... 563
11.1.1 Selezione di una memory card con program storage file come unità ................... 563
11.2 CANCELLAZIONE DI UN PROGRAMMA ................................................. 567
11.3 MODIFICA DEGLI ATTRIBUTI DI UN PROGRAMMA .............................. 568
11.4 SELEZIONE DEL PROGRAMMA PRINCIPALE........................................ 569
11.5 COMPATTAZIONE DI UN PROGRAMMA ................................................ 569
12 IMPOSTAZIONE E VISUALIZZAZIONE DEI DATI ............................. 570
12.1 SCHERMATE VISUALIZZATE DAL TASTO FUNZIONE .................... 584
12.1.1 Visualizzazione della posizione nel sistema di coordinate del pezzo.................. 585
12.1.2 Visualizzazione della posizione nel sistema di coordinate relative ...................... 586
12.1.3 Visualizzazione della posizione in tutti i sistemi di coordinate............................ 588
12.1.4 Preset del sistema di coordinate del pezzo ........................................................... 589
12.1.5 Visualizzazione della velocità di avanzamento effettiva ...................................... 590
12.1.6 Visualizzazione del tempo di funzionamento e del numero di pezzi ................... 592
12.1.7 Visualizzazione del monitor operativo ................................................................. 594
12.1.8 Visualizzazione simultanea degli assi di due canali ............................................. 596
12.2 SCHERMATE VISUALIZZATE DAL TASTO FUNZIONE .................... 600
12.2.1 Visualizzazione del contenuto del programma ..................................................... 601
12.2.2 Editazione di un programma pezzo ...................................................................... 602
12.2.3 Schermata programma per il funzionamento in MDI ........................................... 604
12.2.4 Schermata della lista dei programmi .................................................................... 605
12.2.5 Visualizzazione del blocco successivo ................................................................. 606
12.2.6 Schermata di controllo del programma ................................................................ 607
12.2.7 Schermata del blocco attuale (solo per l'unità di visualizzazione
da 8.4 pollici)........................................................................................................ 611
12.2.8 Schermata della programmazione conversazionale grafica .................................. 611
12.2.9 Editazione in background ..................................................................................... 613
12.3 SCHERMATE VISUALIZZATE DAL TASTO FUNZIONE .................... 618
12.3.1 Visualizzazione ed introduzione dei dati di impostazione ................................... 618
12.3.2 Arresto al numero di sequenza specificato ........................................................... 621
12.3.3 Visualizzazione e impostazione del tempo di funzionamento,
del numero pezzi e dell'ora ................................................................................... 622
12.3.4 Impostazione e visualizzazione degli offset dello zero pezzo .............................. 625
12.3.5 Introduzione diretta dell'offset dello zero pezzo misurato.................................... 626
12.3.6 Visualizzazione e impostazione delle variabili comuni delle macroistruzioni ..... 627
12.3.7 Visualizzazione e impostazione del pannello operatore software ........................ 629
12.3.8 Visualizzazione e cambiamento della lingua........................................................ 632
c-9
INDICE GENERALE B-64304IT/02

12.3.9 Protezione dati ad otto livelli................................................................................ 634


12.3.9.1 Impostazione dei livelli operativi .................................................................. 634
12.3.9.2 Modifica della password ............................................................................... 635
12.3.9.3 Impostazione del livello di protezione .......................................................... 637
12.3.10 Selezione del livello di precisione ........................................................................ 639
12.3.11 Visualizzazione e impostazione dei dati della gestione vita utensili .................... 641
12.3.11.1 Gestione vita utensili (visualizzazione lista) ................................................. 642
12.3.11.2 Gestione vita utensili (schermata di editazione gruppo) ............................... 645
12.3.12 Visualizzazione e impostazione dati degli schemi di lavorazione........................ 651
12.4 SCHERMATE VISUALIZZATE DAL TASTO FUNZIONE .................... 653
12.4.1 Visualizzazione e impostazione dei parametri ..................................................... 654
12.4.2 Visualizzazione e impostazione dei dati della compensazione passo vite............ 656
12.4.3 Impostazione degli assi......................................................................................... 659
12.4.4 Messa a punto degli assi ....................................................................................... 663
12.4.5 Impostazione del mandrino .................................................................................. 664
12.4.6 Messa a punto del mandrino ................................................................................. 668
12.4.7 Monitoraggio del mandrino .................................................................................. 669
12.4.8 Schermata di impostazione dei colori................................................................... 670
12.4.9 Messa a punto dei parametri di lavorazione ......................................................... 672
12.4.9.1 Messa a punto dei parametri di lavorazione (contornatura AI)..................... 672
12.4.9.2 Messa a punto dei parametri di lavorazione
(interpolazione nanometrica raccordata) (Serie M) ...................................... 679
12.4.10 Schermata di supporto all'impostazione dei parametri ......................................... 681
12.4.10.1 Visualizzazione del menu e selezione di una schermata di impostazione..... 681
12.4.10.2 Visualizzazione della schermata di impostazione degli assi ......................... 684
12.4.10.3 Visualizzazione della schermata di impostazione degli azionamenti
su FSSB ........................................................................................................ 686
12.4.10.4 Visualizzazione della schermata di impostazione degli assi su FSSB .......... 687
12.4.10.5 Visualizzazione della schermata di impostazione del servosistema.............. 687
12.4.10.6 Visualizzazione della schermata di impostazione degli assi ......................... 688
12.4.10.7 Visualizzazione della schermata per la regolazione del guadagno
dell'anello di controllo .................................................................................. 689
12.4.10.8 Impostazione dei parametri relativi all'alta precisione .................................. 700
12.4.10.9 Visualizzazione della schermata di impostazione del mandrino ................... 702
12.4.10.10 Visualizzazione della schermata delle impostazioni miscellanee ................ 703
12.4.10.11 Visualizzazione della schermata di messa a punto degli assi ........................ 703
12.4.10.12 Visualizzazione della schermata di messa a punto dei mandrini .................. 704
12.4.10.13 Visualizzazione della schermata di messa a punto dei parametri
di lavorazione ................................................................................................ 705
12.4.11 Schermata della manutenzione periodica ............................................................. 708
12.4.12 Schermata della configurazione del sistema ......................................................... 715
12.4.13 Sommario della funzione storica .......................................................................... 718
12.4.13.1 Storia degli allarmi ........................................................................................ 719
12.4.13.2 Storia dei messaggi esterni per l'operatore .................................................... 721
12.4.13.3 Storia operativa ............................................................................................. 723
12.4.13.4 Selezione dei segnali per la storia operativa ................................................. 731
12.4.13.5 Emissione di tutti i dati storici ...................................................................... 735
12.5 SCHERMATE VISUALIZZATE DAL TASTO FUNZIONE .................... 739
12.6 VISUALIZZAZIONE DEL NUMERO DEL PROGRAMMA, DEL NUMERO
DI SEQUENZA, DELLO STATO E DEI MESSAGGI DI AVVERTIMENTO
PER LE OPERAZIONI DI IMPOSTAZIONE DEI DATI O DI
IMMISSIONE/EMISSIONE ........................................................................ 739
12.6.1 Visualizzazione del numero del programma e del numero di sequenza ............... 739
12.6.2 Visualizzazione dello stato e dei messaggi di avvertimento ................................ 740

c-10
B-64304IT/02 INDICE GENERALE

12.7 FUNZIONE DI CANCELLAZIONE DELLO SCHERMO E FUNZIONE


DI CANCELLAZIONE AUTOMATICA DELLO SCHERMO ........................ 743
12.8 SCHERMATA DELL'INDICATORE DI CARICO ........................................ 744
12.8.1 Per l'unità di visualizzazione da 8.4 pollici .......................................................... 744
12.8.2 Per l'unità di visualizzazione da 10.4 pollici ........................................................ 746

13 FUNZIONE GRAFICA ......................................................................... 749


13.1 VISUALIZZAZIONE GRAFICA .................................................................. 749
13.1.1 Schermata dei parametri grafici ............................................................................ 749
13.1.2 Schermata GRAFIC CORSA ............................................................................... 762
13.2 VISUALIZZAZIONE GRAFICA DINAMICA (SERIE M) .............................. 768
13.2.1 Disegno del percorso utensile............................................................................... 768
13.2.1.1 Schermata PATH GRAPHIC (SETTING) ................................................... 769
13.2.1.2 Schermata PATH GRAPHIC (EXECUTION) ............................................. 774
13.2.1.3 Schermata PATH GRAPHIC (POSITION) .................................................. 783
13.2.2 Animazione .......................................................................................................... 785
13.2.2.1 Schermata ANIME GRAPHIC (SETTING) ................................................. 786
13.2.2.2 Schermata ANIMATION GRAPHIC (EXECUTION) ................................. 790
13.2.2.3 Schermata ANIMATION GRAPHIC (3-PLANE) ....................................... 796
13.2.2.4 Impostazione da programma (G10) dei parametri per il disegno
del grezzo ...................................................................................................... 801
13.2.2.5 Impostazione da programma (G10) dei parametri per il disegno
dell'utensile ................................................................................................... 803
13.2.3 Messaggi di avvertimento..................................................................................... 804
13.2.4 Note ...................................................................................................................... 804
13.2.5 Limitazioni ...........................................................................................................805
13.3 VISUALIZZAZIONE GRAFICA DINAMICA (SERIE T) ............................... 808
13.3.1 Schermata dei parametri grafici ............................................................................ 808
13.3.2 Disegno del percorso utensile............................................................................... 808
13.3.3 Limitazioni ...........................................................................................................810

14 FUNZIONE TASTIERA MDI VIRTUALE ............................................. 811


14.1 TASTIERA MDI VIRTUALE ....................................................................... 811
14.1.1 Limitazioni ........................................................................................................... 814

IV. MANUTENZIONE
1 MANUTENZIONE ORDINARIA........................................................... 817
1.1 AZIONI DA INTRAPRENDERE QUANDO SI VERIFICA
UN PROBLEMA......................................................................................... 817
1.2 SALVATAGGIO (BACKUP) DI VARI TIPI DI DATI .................................... 818
1.3 METODO DI SOSTITUZIONE DELLE BATTERIE .................................... 820
1.3.1 Sostituzione della batteria del CNC ..................................................................... 820
1.3.2 Batteria degli encoder assoluti.............................................................................. 824

c-11
INDICE GENERALE B-64304IT/02

APPENDICI
A PARAMETRI ....................................................................................... 829
A.1 DESCRIZIONE DEI PARAMETRI ............................................................. 830
A.2 TIPI DI DATI ............................................................................................ 1018
A.3 IMPOSTAZIONI STANDARD DEI PARAMETRI...................................... 1019
B CODICI DEI CARATTERI.................................................................. 1021
C ELENCO DELLE FUNZIONI E DEI FORMATI DI
PROGRAMMAZIONE ....................................................................... 1023
D INTERVALLO DEI VALORI DEI COMANDI ..................................... 1031
E NOMOGRAMMI ................................................................................. 1033
E.1 LUNGHEZZA FILETTATURA NON CORRETTA .................................... 1033
E.2 CALCOLO SEMPLIFICATO DELLA LUNGHEZZA
DELLA FILETTATURA ERRATA ............................................................. 1035
E.3 PERCORSO DELL'UTENSILE SUGLI SPIGOLI ..................................... 1037
E.4 ERRORE NELLA DIREZIONE DEL RAGGIO DURANTE
L'INTERPOLAZIONE CIRCOLARE ......................................................... 1040
F STATO ALL’ACCENSIONE, CON CLEAR E CON RESET ............. 1041
G TABELLA DI CORRISPONDENZA CARATTERI-CODICI ............... 1043
G.1 TABELLA DI CORRISPONDENZA CARATTERI-CODICI ....................... 1043
G.2 TABELLA DEI CODICI FANUC DEI CARATTERI DI DUE BYTE ............ 1044
H ALLARMI........................................................................................... 1050
I PC TOOL PER L'UTILIZZO DEL MEMORY CARD PROGRAM ...... 1096
I.1 PC TOOL PER L'UTILIZZO DEL MEMORY CARD PROGRAM ............. 1096
I.1.1 Note operative .................................................................................................... 1096
I.1.2 Funzioni del PC tool ........................................................................................... 1097
I.1.3 Spiegazione delle operazioni .............................................................................. 1097
I.2 REGOLE PER LA SPECIFICA DEI NOMI ............................................... 1106
I.2.1 Regole per la denominazione dei file di programma .......................................... 1106
I.2.2 Regole per la denominazione delle cartelle ........................................................ 1107
I.3 REGOLE PER L'UTILIZZO DEI CARATTERI NEI FILE
DI PROGRAMMA .................................................................................... 1108
I.3.1 Caratteri utilizzabili nei file di programma ........................................................ 1108
I.4 MESSAGGI DI ERRORE E NOTE .......................................................... 1110
I.4.1 Elenco dei messaggi di errore............................................................................. 1110
I.4.2 Note .................................................................................................................... 1110

J STRUMENTO PER LA CONVERSIONE ISO/ASCII ......................... 1111

c-12
B-64304IT/02 INDICE GENERALE

K DIFFERENZE RISPETTO ALLA SERIE 0i-C ................................... 1114


K.1 UNITA' DI IMPOSTAZIONE..................................................................... 1115
K.1.1 Differenze nelle specifiche ................................................................................. 1115
K.1.2 Differenze nella visualizzazione diagnostica ..................................................... 1115
K.2 MISURA AUTOMATICA LUNGHEZZA UTENSILE
(SERIE M)/DETERMINAZIONE AUTOMATICA CORREZIONI
UTENSILE (SERIE T) .............................................................................. 1116
K.2.1 Misura automatica della lunghezza utensile (Serie M)....................................... 1116
K.2.1.1 Differenze nelle specifiche ......................................................................... 1116
K.2.1.2 Differenze nella visualizzazione diagnostica .............................................. 1117
K.2.2 Determinazione automatica correzione utensile (Serie T).................................. 1117
K.2.2.1 Differenze nelle specifiche ......................................................................... 1117
K.2.2.2 Differenze nella visualizzazione diagnostica .............................................. 1118
K.3 INTERPOLAZIONE CIRCOLARE............................................................ 1118
K.3.1 Differenze nelle specifiche ................................................................................. 1118
K.3.2 Differenze nella visualizzazione diagnostica ..................................................... 1118
K.4 INTERPOLAZIONE ELICOIDALE ........................................................... 1119
K.4.1 Differenze nelle specifiche ................................................................................. 1119
K.4.2 Differenze nella visualizzazione diagnostica ..................................................... 1119
K.5 FUNZIONE DI SALTO ............................................................................. 1120
K.5.1 Differenze nelle specifiche ................................................................................. 1120
K.5.2 Differenze nella visualizzazione diagnostica ..................................................... 1121
K.6 RITORNO MANUALE AL PUNTO DI RIFERIMENTO ............................. 1122
K.6.1 Differenze nelle specifiche ................................................................................. 1122
K.6.2 Differenze nella visualizzazione diagnostica ..................................................... 1124
K.7 SISTEMA DI COORDINATE DEL PEZZO ............................................... 1124
K.7.1 Differenze nelle specifiche ................................................................................. 1124
K.7.2 Differenze nella visualizzazione diagnostica ..................................................... 1124
K.8 SISTEMA DI COORDINATE LOCALI ...................................................... 1125
K.8.1 Differenze nelle specifiche ................................................................................. 1125
K.8.2 Differenze nella visualizzazione diagnostica ..................................................... 1126
K.9 CONTROLLO CONTORNATURA Cs ...................................................... 1126
K.9.1 Differenze nelle specifiche ................................................................................. 1126
K.9.2 Differenze nella visualizzazione diagnostica ..................................................... 1126
K.10 CONTROLLO PLURIMANDRINO ........................................................... 1127
K.10.1 Differenze nelle specifiche ................................................................................. 1127
K.10.2 Differenze nella visualizzazione diagnostica ..................................................... 1127
K.11 CONTROLLO MANDRINO SERIALE/ANALOGICO................................ 1127
K.11.1 Differenze nelle specifiche ................................................................................. 1127
K.11.2 Differenze nella visualizzazione diagnostica ..................................................... 1127
K.12 CONTROLLO DELLA VELOCITA' DI TAGLIO COSTANTE.................... 1128
K.12.1 Differenze nelle specifiche ................................................................................. 1128
K.12.2 Differenze nella visualizzazione diagnostica ..................................................... 1128
K.13 POSIZIONAMENTO DEL MANDRINO (SERIE T)................................... 1129
K.13.1 Differenze nelle specifiche ................................................................................. 1129
K.13.2 Differenze nella visualizzazione diagnostica ..................................................... 1130
K.14 FUNZIONI RELATIVE AGLI UTENSILI ................................................... 1130
K.14.1 Differenze nelle specifiche ................................................................................. 1130
K.14.2 Differenze nella visualizzazione diagnostica ..................................................... 1131

c-13
INDICE GENERALE B-64304IT/02

K.15 MEMORIA DELLE CORREZIONI UTENSILE ......................................... 1132


K.15.1 Differenze nelle specifiche ................................................................................. 1132
K.15.2 Differenze nella visualizzazione diagnostica ..................................................... 1133
K.16 INTRODUZIONE DIRETTA B DELLE CORREZIONI
UTENSILE MISURATE (SERIE T) .......................................................... 1133
K.16.1 Differenze nelle specifiche ................................................................................. 1133
K.16.2 Differenze nella visualizzazione diagnostica ..................................................... 1133
K.17 MACROISTRUZIONI ............................................................................... 1134
K.17.1 Differenze nelle specifiche ................................................................................. 1134
K.17.2 Differenze nella visualizzazione diagnostica ..................................................... 1136
K.17.3 Miscellanea ......................................................................................................... 1136
K.18 INTERRUPT DELLE MACROISTRUZIONI ............................................. 1136
K.18.1 Differenze nelle specifiche ................................................................................. 1136
K.18.2 Differenze nella visualizzazione diagnostica ..................................................... 1136
K.19 INTRODUZIONE PARAMETRI DA PROGRAMMA (G10) ....................... 1136
K.19.1 Differenze nelle specifiche ................................................................................. 1136
K.19.2 Differenze nella visualizzazione diagnostica ..................................................... 1136
K.20 CONTROLLO AVANZATO CON PRELETTURA DEI BLOCCHI
(SERIE T) / CONTROLLO AVANZATO AI CON PRELETTURA
DEI BLOCCHI (SERIE M) / CONTROLLO CONTORNATURA AI
(SERIE M) ............................................................................................... 1137
K.20.1 Differenze nelle specifiche ................................................................................. 1137
K.20.2 Differenze nella visualizzazione diagnostica ..................................................... 1139
K.21 FUNZIONE DI SELEZIONE DELLE CONDIZIONI DI LAVORAZIONE ... 1140
K.21.1 Differenze nelle specifiche ................................................................................. 1140
K.21.2 Differenze nella visualizzazione diagnostica ..................................................... 1140
K.22 CONTROLLO SINCRONO DEGLI ASSI ................................................. 1141
K.22.1 Differenze nelle specifiche ................................................................................. 1141
K.22.2 Differenze nella visualizzazione diagnostica ..................................................... 1145
K.23 CONTROLLO DELL'ASSE INCLINATO ARBITRARIO ........................... 1146
K.23.1 Differenze nelle specifiche ................................................................................. 1146
K.23.2 Differenze nella visualizzazione diagnostica ..................................................... 1146
K.24 VISUALIZZAZIONE DEL TEMPO DI FUNZIONAMENTO E
DEL NUMERO DI PEZZI ......................................................................... 1147
K.24.1 Differenze nelle specifiche ................................................................................. 1147
K.24.2 Differenze nella visualizzazione diagnostica ..................................................... 1147
K.25 AVANZAMENTO MANUALE CON VOLANTINO..................................... 1148
K.25.1 Differenze nelle specifiche ................................................................................. 1148
K.25.2 Differenze nella visualizzazione diagnostica ..................................................... 1148
K.26 CONTROLLO ASSI DA PMC .................................................................. 1149
K.26.1 Differenze nelle specifiche ................................................................................. 1149
K.26.2 Differenze nella visualizzazione diagnostica ..................................................... 1153
K.27 RICHIAMO SOTTOPROGRAMMA DA UN'UNITA' ESTERNA
(M198) ..................................................................................................... 1154
K.27.1 Differenze nelle specifiche ................................................................................. 1154
K.27.2 Differenze nella visualizzazione diagnostica ..................................................... 1154
K.28 RICERCA DEL NUMERO DI SEQUENZA............................................... 1155
K.28.1 Differenze nelle specifiche ................................................................................. 1155
K.28.2 Differenze nella visualizzazione diagnostica ..................................................... 1155

c-14
B-64304IT/02 INDICE GENERALE

K.29 CONTROLLO DELLE ZONE DI SICUREZZA ......................................... 1155


K.29.1 Differenze nelle specifiche ................................................................................. 1155
K.29.2 Differenze nella visualizzazione diagnostica ..................................................... 1156
K.30 COMPENSAZIONE MEMORIZZATA PASSO VITE ................................ 1157
K.30.1 Differenze nelle specifiche ................................................................................. 1157
K.30.2 Differenze nella visualizzazione diagnostica ..................................................... 1157
K.31 FUNZIONE DI CANCELLAZIONE DELLO SCHERMO E FUNZIONE
DI CANCELLAZIONE AUTOMATICA DELLO SCHERMO ...................... 1158
K.31.1 Differenze nelle specifiche ................................................................................. 1158
K.31.2 Differenze nella visualizzazione diagnostica ..................................................... 1158
K.32 RESET & REWIND .................................................................................. 1159
K.32.1 Differenze nelle specifiche ................................................................................. 1159
K.32.2 Differenze nella visualizzazione diagnostica ..................................................... 1159
K.33 ASSOLUTO IN MANUALE ON E OFF .................................................... 1160
K.33.1 Differenze nelle specifiche ................................................................................. 1160
K.33.2 Differenze nella visualizzazione diagnostica ..................................................... 1160
K.34 SEGNALE DI PROTEZIONE DELLA MEMORIA PER I
PARAMETRI CNC ................................................................................... 1161
K.34.1 Differenze nelle specifiche ................................................................................. 1161
K.34.2 Differenze nella visualizzazione diagnostica ..................................................... 1161
K.35 INTRODUZIONE DATI DALL'ESTERNO ................................................ 1161
K.35.1 Differenze nelle specifiche ................................................................................. 1161
K.35.2 Differenze nella visualizzazione diagnostica ..................................................... 1162
K.36 FUNZIONE DATA SERVER .................................................................... 1163
K.36.1 Differenze nelle specifiche ................................................................................. 1163
K.36.2 Differenze nella visualizzazione diagnostica ..................................................... 1163
K.37 POWER MATE CNC MANAGER ............................................................ 1163
K.37.1 Differenze nelle specifiche ................................................................................. 1163
K.37.2 Differenze nella visualizzazione diagnostica ..................................................... 1163
K.38 PROTEZIONE AUTOCENTRANTE/CONTROPUNTA (SERIE T) .......... 1164
K.38.1 Differenze nelle specifiche ................................................................................. 1164
K.38.2 Differenze nella visualizzazione diagnostica ..................................................... 1164
K.39 RITIRO DAL CICLO DI FILETTATURA (CICLO FISSO/
CICLO MULTIPLO RIPETITIVO) (SERIE T) ........................................... 1165
K.39.1 Differenze nelle specifiche ................................................................................. 1165
K.39.2 Differenze nella visualizzazione diagnostica ..................................................... 1165
K.40 INTERPOLAZIONE IN COORDINATE POLARI (SERIE T) ..................... 1165
K.40.1 Differenze nelle specifiche ................................................................................. 1165
K.40.2 Differenze nella visualizzazione diagnostica ..................................................... 1166
K.41 CONTROLLO DI INTERFERENZA FRA I CANALI
(SERIE T, 2 CANALI) .............................................................................. 1167
K.41.1 Differenze nelle specifiche ................................................................................. 1167
K.41.2 Differenze nella visualizzazione diagnostica ..................................................... 1167
K.42 CONTROLLO SINCRONO E CONTROLLO COMPOSTO
(SERIE T, 2 CANALI)) ............................................................................. 1167
K.42.1 Differenze nelle specifiche ................................................................................. 1167
K.42.2 Differenze nella visualizzazione diagnostica ..................................................... 1171
K.43 CONTROLLO SOVRAPPOSTO (SERIE T, 2 CANALI) ........................... 1172
K.43.1 Differenze nelle specifiche ................................................................................. 1172
K.43.2 Differenze nella visualizzazione diagnostica ..................................................... 1173

c-15
INDICE GENERALE B-64304IT/02

K.44 CORREZIONE ASSE Y (SERIE T).......................................................... 1173


K.44.1 Differenze nelle specifiche ................................................................................. 1173
K.44.2 Differenze nella visualizzazione diagnostica ..................................................... 1173
K.45 COMPENSAZIONE RAGGIO UTENSILE ............................................... 1174
K.45.1 Differenze nelle specifiche ................................................................................. 1174
K.45.2 Differenze nella visualizzazione diagnostica ..................................................... 1179
K.46 CICLI FISSI DI FORATURA .................................................................... 1180
K.46.1 Differenze nelle specifiche ................................................................................. 1180
K.46.2 Differenze nella visualizzazione diagnostica ..................................................... 1181
K.47 CICLI FISSI (SERIE T)/CICLI MULTIPLI RIPETITIVI (SERIE T) ............ 1182
K.47.1 Differenze nelle specifiche ................................................................................. 1182
K.47.2 Differenze nella visualizzazione diagnostica ..................................................... 1182
K.48 CICLI FISSI DI RETTIFICA ..................................................................... 1183
K.48.1 Differenze nelle specifiche ................................................................................. 1183
K.48.2 Differenze nella visualizzazione diagnostica ..................................................... 1183
K.49 CICLI MULTIPLI RIPETITIVI DI TORNITURA (SERIE T) ........................ 1184
K.49.1 Differenze nelle specifiche ................................................................................. 1184
K.49.2 Differenze nella visualizzazione diagnostica ..................................................... 1187
K.50 SMUSSI E RACCORDI (SERIE T) .......................................................... 1188
K.50.1 Differenze nelle specifiche ................................................................................. 1188
K.50.2 Differenze nella visualizzazione diagnostica ..................................................... 1188
K.51 PROGRAMMAZIONE DIRETTA DELLE QUOTE DEL
DISEGNO (SERIE T) ............................................................................... 1188
K.51.1 Differenze nelle specifiche ................................................................................. 1188
K.51.2 Differenze nella visualizzazione diagnostica ..................................................... 1188
K.52 POSIZIONAMENTO UNIDIREZIONALE (SERIE M) .............................. 1189
K.52.1 Differenze nelle specifiche ................................................................................. 1189
K.52.2 Differenze nella visualizzazione diagnostica ..................................................... 1189
K.53 SMUSSI E RACCORDI OPZIONALI (SERIE M) .................................... 1189
K.53.1 Differenze nelle specifiche ................................................................................. 1189
K.53.2 Differenze nella visualizzazione diagnostica ..................................................... 1189

c-16
I. INTRODUZIONE
B-64304IT/02 INTRODUZIONE 1.INTRODUZIONE

1 INTRODUZIONE
Questo manuale è costituito dalle seguenti parti:

Struttura del manuale


I. INTRODUZIONE
Descrive l'organizzazione in capitoli del manuale, i modelli per i quali esso è applicabile e i manuali
correlati. Inoltre, l'introduzione fornisce alcune indicazioni per la lettura del manuale.
II. PROGRAMMAZIONE
Descrive le funzioni del CNC: formati di programmazione nel linguaggio CNC, caratteristiche e
limiti.
III. OPERAZIONI
Descrive il funzionamento del sistema in manuale e in automatico, le procedure di
immissione/emissione dei dati e le procedure di programmazione.
IV. MANUTENZIONE
Descrive le procedure per la manutenzione giornaliera e per la sostituzione delle batterie.
APPENDICI
Fornisce l'elenco dei parametri, gli intervalli di validità dei dati e l'elenco degli allarmi.

NOTA
1 Questo manuale descrive le funzioni comuni ai sistemi per torni ed ai sistemi per
centri di lavoro. Le funzioni specifiche di ciascun tipo di sistema si trovano nei
rispettivi manuali dell'operatore: B-64304IT-1 (Sistemi per torni) e B-64304IT-2
(Sistemi per centri di lavoro).
2 Alcune funzioni qui descritte possono non essere valide per alcuni prodotti.
Per i dettagli fare riferimento al manuale DESCRIZIONI (B-64302EN).
3 I parametri non menzionati nel testo non sono descritti in dettaglio.
Tutti i parametri sono descritti nel manuale dei parametri (B-64310EN).
I parametri si utilizzano per impostare le funzioni e le condizioni operative della
macchina, oltre che per impostare preventivamente molti valori di uso frequente.
Normalmente, il costruttore della macchina utensile imposta in fabbrica i
parametri allo scopo di facilitare l'utilizzo della macchina.
4 Questo manuale descrive anche le funzioni opzionali. Rilevare dal manuale del
costruttore della macchina utensile le opzioni incorporate nel sistema utilizzato.

Modelli applicabili
Questo manuale descrive i seguenti modelli che sono 'Nano CNC'.
Utilizzando questi modelli insieme ad azionamenti e motori ad alta velocità, alta precisione è possibile
realizzare sistemi 'Nano CNC' per l'esecuzione di lavorazioni ad alta precisione.
Nel testo possono essere utilizzate le abbreviazioni indicate qui sotto.

Nome del modello Abbreviazione


FANUC Series 0i -TD 0i -TD
Series 0i -D 0i -D
FANUC Series 0i -MD 0i -MD
FANUC Series 0i Mate -TD 0i Mate -TD
Series 0i Mate -D 0i Mate -D
FANUC Series 0i Mate -MD 0i Mate -MD

-3-
1.INTRODUZIONE INTRODUZIONE B-64304IT/02

NOTA
1 Nelle spiegazioni fornite in questo manuale, questi modelli possono essere
classificati come segue:
- Serie T: 0i -TD / 0i Mate -TD
- Serie M: 0i -MD / 0i Mate -MD
2 Alcune funzioni qui descritte possono non essere valide per alcuni prodotti.
Per i dettagli fare riferimento al manuale DESCRIZIONI (B-64302EN).
3 Per i CNC 0i-D / 0i Mate-D, alcune funzioni di base si abilitano/disabilitano
mediante parametri.
Riguardo a questi parametri, vedi la sezione 4.51, " PARAMETRI RELATIVI
ALLE FUNZIONI BASE DEI CNC 0i-D / 0i Mate-D" del manuale dei parametri
(B-64310EN).

Simboli speciali
Questo manuale usa i seguenti simboli:

- M
Indica una descrizione valida solo per la Serie M.
Nella descrizione generica di un metodo di lavorazione, il funzionamento della Serie M è identificato da
frasi come "per la fresatura".

- T
Indica una descrizione valida solo per la Serie T.
Nella descrizione generica di un metodo di lavorazione, il funzionamento della Serie T è identificato da
frasi come "per la tornitura".

-
Indica la fine di una descrizione relativa ad un solo tipo di controllo.
Quando una descrizione specifica di un controllo non è seguita da questo simbolo, si deve assumere che
quella descrizione continui fino all'inizio dell'argomento successivo. In questo caso, l'argomento
successivo è comune ai due tipi di sistemi.

- IP
Indica una combinazione di assi come X_ Y_ Z_
La parte sottolineata dopo ciascun indirizzo indica la posizione di un valore numerico corrispondente alla
coordinata lungo l'asse corrispondente (utilizzato nella Parte II, PROGRAMMAZIONE).

- ;
Indica la fine di un blocco. Corrisponde al codice ISO LF o al codice EIA CR.

Manuali relativi ai CNC Serie 0i -D,Serie 0i Mate -D


La tabella che segue elenca i manuali relativi ai CNC Serie 0i -D e Serie 0i Mate -D. Questo manuale è
indicato da un asterisco (*).

Tabella 1 Manuali relativi ai CNC


Titolo del manuale Numero di specifica
DESCRIPTIONS B-64302EN
CONNECTION MANUAL (HARDWARE) B-64303EN
CONNECTION MANUAL (FUNCTION) B-64303EN-1
MANUALE DELL'OPERATORE (Comune alla Serie T ed alla Serie M) B-64304IT *
MANUALE DELL'OPERATORE (Sistemi per torni) B-64304IT-1

-4-
B-64304IT/02 INTRODUZIONE 1.INTRODUZIONE

Titolo del manuale Numero di specifica


MANUALE DELL'OPERATORE (Sistemi per centri di lavoro) B-64304IT-2
MAINTENANCE MANUAL B-64305EN
PARAMETER MANUAL B-64310EN
START-UP MANUAL B-64304EN-3
Programmazione
Macro Compiler / Macro Executor B-64303EN-2
PROGRAMMING MANUAL
Macro Compiler OPERATOR’S MANUAL B-64304EN-5
C Language Executor PROGRAMMING MANUAL B-64303EN-3
PMC
PMC PROGRAMMING MANUAL B-64393EN
Rete
PROFIBUS-DP Board CONNECTION MANUAL B-64403EN
Fast Ethernet / Fast Data Server OPERATOR’S MANUAL B-64414EN
DeviceNet Board CONNECTION MANUAL B-64443EN
FL-net Board CONNECTION MANUAL B-64453EN
Doppio controllo di sicurezza
Dual Check Safety CONNECTION MANUAL B-64303EN-4
Funzione di guida operativa
MANUALE DELL'OPERATORE MANUAL GUIDE i B-63874IT
MANUAL GUIDE i (For Machining Center System) OPERATOR’S MANUAL B-63874EN-2
MANUAL GUIDE i (Set-up Guidance Functions) B-63874EN-1
OPERATOR’S MANUAL
MANUAL GUIDE 0i OPERATOR’S MANUAL B-64434EN
TURN MATE i OPERATOR’S MANUAL B-64254EN

Manuali relativi ai MOTORI ASSE Serie αi/βi


La sottostante tabella elenca i manuali relativi ai MOTORI ASSE Serie αi/βi

Tabella 2 Manuali relativi ai MOTORI


Titolo del manuale Numero di specifica
FANUC AC SERVO MOTOR αi series
B-65262EN
DESCRIPTIONS
FANUC AC SPINDLE MOTOR αi series
B-65272EN
DESCRIPTIONS
FANUC AC SERVO MOTOR βi series
B-65302EN
DESCRIPTIONS
FANUC AC SPINDLE MOTOR βi series
B-65312EN
DESCRIPTIONS
FANUC SERVO AMPLIFIER αi series
B-65282EN
DESCRIPTIONS
FANUC SERVO AMPLIFIER βi series
B-65322EN
DESCRIPTIONS
FANUC SERVO MOTOR αis series
FANUC SERVO MOTOR αi series
FANUC AC SPINDLE MOTOR αi series B-65285EN
FANUC SERVO AMPLIFIER αi series
MAINTENANCE MANUAL
FANUC SERVO MOTOR βis series
FANUC AC SPINDLE MOTOR βi series
B-65325EN
FANUC SERVO AMPLIFIER βi series
MAINTENANCE MANUAL

-5-
1.INTRODUZIONE INTRODUZIONE B-64304IT/02

Titolo del manuale Numero di specifica


FANUC AC SERVO MOTOR αi series
FANUC AC SERVO MOTOR βi series
FANUC LINEAR MOTOR LiS series B-65270EN
FANUC SYNCHRONOUS BUILT-IN SERVO MOTOR DiS series
PARAMETER MANUAL
FANUC AC SPINDLE MOTOR αi/βi series,
BUILT-IN SPINDLE MOTOR Bi series B-65280EN
PARAMETER MANUAL

Questo manuale considera che siano utilizzati i MOTORI ASSE FANUC Serie αi. Per le informazioni
relative ai motori asse e mandrino effettivamente utilizzati, riferirsi ai manuali corrispondenti.

1.1 AVVERTENZE RELATIVE ALLA LETTURA DEL MANUALE


AVVERTENZA
1 Il funzionamento di una macchina utensile a controllo numerico non dipende
soltanto dal CNC, ma dalla combinazione della macchina, del suo armadio
elettrico, del servo sistema, del CNC, del pannello operatore, ecc. Descrivere il
funzionamento e la programmazione di tutte le possibili combinazioni è
praticamente impossibile. Questo manuale si occupa genericamente del
funzionamento e della programmazione dal punto di vista del CNC. Per i dettagli
relativi ad una specifica macchina utensile, riferirsi al manuale del costruttore, che
ha la precedenza.
2 Per facilitare l'accesso del lettore alle informazioni che gli sono necessarie, sul
margine sinistro delle pagine sono riportati i titoli degli argomenti trattati.
Utilizzando questi titoli, il lettore può trovare più facilmente l'argomento che gli
interessa in una particolare circostanza.
3 In questo manuale, abbiamo cercato di descrivere tutte le varie funzioni di questi
sistemi. Però, non possiamo descrivere tutto ciò che non deve essere fatto, né tutto
ciò che non può essere fatto, dato l'elevatissimo numero di possibilità.
Pertanto, le funzioni e le combinazioni di operazioni che non sono date
specificamente come possibili in questo manuale devono essere considerate
"impossibili" e non devono essere tentate.

1.2 AVVERTENZA RELATIVA A VARI TIPI DI DATI


AVVERTENZA
I programmi pezzo, i parametri, le correzioni, ecc. sono registrati nella memoria
non volatile del CNC. Normalmente questi dati non vengono persi quando il
sistema viene spento. E' però possibile che essi vengano cancellati in seguito a
errori operativi o di funzionamento. Si raccomanda di eseguirne una copia di
sicurezza, per poterli ripristinare rapidamente in caso di necessità.

-6-
II. PROGRAMMAZIONE
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

1 INTRODUZIONE
Il Capitolo 1, "INTRODUZIONE", è costituito dalle seguenti sezioni:

1.1 MOVIMENTO DELL'UTENSILE LUNGO IL PROFILO DEL PEZZO - INTERPOLAZIONE ...... 9


1.2 AVANZAMENTO - FUNZIONE AVANZAMENTO ...................................................................... 11
1.3 DISEGNO DEL PEZZO E MOVIMENTO DELL'UTENSILE ......................................................... 12
1.4 VELOCITA' DI TAGLIO - FUNZIONE VELOCITA' DEL MANDRINO ...................................... 20
1.5 SELEZIONE DELL'UTENSILE DA USARE NELLE VARIE LAVORAZIONI -
FUNZIONE UTENSILE ..................................................................................................................... 21
1.6 COMANDI PER LE FUNZIONI DELLA MACCHINA - FUNZIONI AUSILIARIE ..................... 22
1.7 CONFIGURAZIONE DEL PROGRAMMA...................................................................................... 23
1.8 AMPIEZZA DEL MOVIMENTO DELL'UTENSILE - ZONA DI SICUREZZA ............................ 25

1.1 MOVIMENTO DELL'UTENSILE LUNGO IL PROFILO DEL


PEZZO - INTERPOLAZIONE
L'utensile si muove sui tratti in linea retta e sugli archi che costituiscono il profilo del pezzo
(Capitolo II-4).

Spiegazioni
Il movimento dell'utensile in linea retta o lungo un arco si dice interpolazione.

- Movimento rettilineo dell'utensile


• Fresatura

Utensile Programma
G01X_Y_ ;
X_ ;

Pezzo

• Tornitura
X
Utensile Programma
G01Z_ ;
G01X_Z_ ;

Pezzo
Z

Fig. 1.1 (a) Movimento rettilineo dell'utensile

-9-
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

- Movimento dell'utensile lungo un arco


• Fresatura

Programma
G03 X_ Y_ R_ ;

Utensile
Pezzo

• Tornitura

X
Programma
G02 X_ Z_ R_ ;
oppure
G03 X_ Z_ R_ ;

Pezzo
Z

Fig. 1.1 (b) Movimento dell'utensile lungo un arco


Il termine interpolazione si riferisce ad un'operazione in cui l'utensile si muove lungo una linea retta o
lungo un arco, come descritto sopra.
I simboli dei comandi programmati, G01, G02, ..., si dicono funzioni preparatorie e specificano il tipo di
interpolazione eseguito nell'unità di controllo.
(a) Movimento rettilineo (b) Movimento lungo un arco
G01 Y_ ; G03X_ Y_ R_ ;
X_ Y_ ;
CNC

Asse X
Movimento
Interpolazione
dell'utensile
Asse Y
a) Movimento
rettilineo

b) Movimento
lungo un arco

Fig. 1.1 (c) Funzione di interpolazione

NOTA
Benché in certe macchine possa essere il pezzo a muoversi, questo manuale
assume che sia sempre l'utensile a muoversi rispetto al pezzo.

- 10 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

1.2 AVANZAMENTO - FUNZIONE AVANZAMENTO


Il movimento dell'utensile ad una specifica velocità per la lavorazione del pezzo si dice avanzamento.

• Fresatura

mm/min
Utensile
F

Pezzo

Tavola

• Tornitura

mm/min
Utensile
F

Pezzo

Autocentrante

Fig. 1.2 (a) Funzione avanzamento

La velocità di avanzamento può essere specificata con un valore numerico. Ad esempio, per fare avanzare
l'utensile alla velocità di 150mm/min, specificare:
F150.0
La funzione che decide la velocità di avanzamento è la funzione avanzamento (Capitolo II-5).

- 11 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

1.3 DISEGNO DEL PEZZO E MOVIMENTO DELL'UTENSILE

1.3.1 Punto di riferimento (una posizione fissa sulla macchina)


Su una macchina a controllo numerico esiste una posizione fissa. Normalmente, il cambio dell'utensile e
la programmazione dello zero assoluto, descritti più avanti, vengono eseguiti in questa posizione.
Questa posizione si dice punto di riferimento.

• Fresatura

Punto di riferimento

Utensile

Pezzo

Tavola

• Tornitura
Torretta

Autocentrante
Punto di
riferimento

Fig. 1.3.1 (a) Punto di riferimento

Spiegazioni
L'utensile può essere portato al punto di riferimento in due modi:
1. Ritorno manuale al punto di riferimento (Sezione III-3.1).
Il ritorno al punto di riferimento viene comandato da un pulsante.
2. Ritorno automatico al punto di riferimento (Capitolo II-6)
In genere, il ritorno manuale al punto di riferimento viene eseguito subito dopo l'accensione della
macchina. Successivamente, per portare l'utensile sul punto di riferimento allo scopo di cambiare
l'utensile, viene utilizzata la funzione automatica.

- 12 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

1.3.2 Sistema di coordinate del disegno del pezzo e sistema di


coordinate specificato dal CNC - Sistema di coordinate
• Fresatura

Z
Z
Programma
Y Y

X X
Sistema di coordinate
Disegno del pezzo CNC
Utensile Comando

Utensile
Z
Y

Pezzo
X

Macchina utensile

• Tornitura

X X

Programma

Z
Sistema di coordinate
Disegno del pezzo CNC

Comando

Pezzo

Macchina utensile

Fig. 1.3.2 (a) Sistemi di coordinate

- 13 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

Spiegazioni
- Sistema di coordinate
Esistono due tipi di sistemi di coordinate: (Capitolo II-7).
1 Sistema di coordinate del disegno del pezzo
Il sistema di coordinate è scritto sul disegno del pezzo. Il programma viene scritto usando queste
coordinate.
2. Sistema di coordinate specificato dal CNC
Il sistema di coordinate viene generato sulla macchina utensile. Questo si ottiene programmando la
distanza tra la posizione attuale dell'utensile e l'origine del sistema di coordinate da impostare.
Y

230 Posizione attuale dell'utensile

300 Distanza dall'origine del sistema di


coordinate da impostare
Zero programma
X
Fig. 1.3.2 (b) Sistema di coordinate specificato dal CNC

Il capitolo II-7 "SISTEMA DI COORDINATE" descrive vari metodi per l'impostazione del sistema di
coordinate specificato dal CNC.
Quando il pezzo è montato sulla tavola, i due sistemi di coordinate giacciono come segue:

• Fresatura
Sistema di coordinate del disegno
stabilito sul pezzo
Sistema di coordinate
specificato dal CNC
stabilito sulla tavola
Y Y

Pezzo
X

Tavola

• Tornitura
Sistema di coordinate specificato dal Sistema di coordinate del disegno
CNC stabilito sull'autocentrante stabilito sul pezzo

X X

Pezzo
Z Z

Autocentrante
Fig. 1.3.2 (c) Sistema di coordinate specificato dal CNC e sistema di coordinate del disegno

- 14 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE
L'utensile si muove nel sistema di coordinate specificato dal CNC in accordo con i comandi del
programma generati facendo riferimento al sistema di coordinate del disegno del pezzo, e lavora
quest'ultimo secondo la forma voluta dal disegno.
Pertanto, per lavorare correttamente il pezzo secondo il disegno, i due sistemi di coordinate devono essere
fatti coincidere.

- Metodi per l'impostazione dei due sistemi di coordinate nella stessa posizione
M
Questo si ottiene tenendo conto della forma e del numero dei pezzi da lavorare, con i metodi descritti qui
sotto.

(1) Usando un piano e un punto standard del pezzo.


Y
Punto standard del
Distanza fissa pezzo

Distanza fissa
Zero
programma
X
Portare il centro dell'utensile sul punto standard
e impostare il sistema di coordinate specificato dal CNC in questa posizione.

(2) Montando il pezzo direttamente contro la maschera

Zero programma

Maschera

Portare il centro dell'utensile sul punto di riferimento e impostare il sistema di


coordinate specificato dal CNC in questa posizione. (La maschera deve essere
montata in una posizione predeterminata rispetto al punto di riferimento.)

(3) Montando un pallet portapezzo contro la maschera

Pallet

Maschera

Pezzo

Comportarsi come nel precedente punto 2.

- 15 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

T
Su un tornio, le coordinate vengono, di solito, fissate come segue.

1 Quando lo zero è sul mandrino


- Coordinate e quote sul X
disegno

Pezzo
Z
60 40

40

150

- Sistema di coordinate sul


tornio specificato dal CNC
X
Autocentrante

Pezzo

Zero programma Z

Quando il sistema di coordinate del disegno del pezzo e il sistema di coordinate specificato dal CNC
coincidono, l'origine del programma può essere stabilita sul mandrino.

2. Quando lo zero è sulla facciata del pezzo.


- Coordinate e quote sul X
disegno

60 Pezzo 30
Z

30

80

100

- Sistema di coordinate sul


tornio specificato dal CNC
Autocentrante X

Pezzo
Z
Zero programma

Quando il sistema di coordinate del disegno del pezzo e il sistema di coordinate specificato dal CNC
coincidono, l'origine del programma può essere stabilita sulla facciata del pezzo.

- 16 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

1.3.3 Programmazione dei movimenti dell'utensile


(comandi assoluti e incrementali)
Spiegazioni
I valori delle coordinate per i comandi di movimento dell'utensile possono essere specificati in modo
assoluto o incrementale (Sezione II-8.1).

- Comando assoluto
L'utensile si porta sul punto che giace alla distanza specificata rispetto all'origine del sistema di
coordinate, cioè, nella posizione indicata dal valore delle coordinate.

• Fresatura

Z Utensile

X
B(10.0,30.0,5.0)

Comando di movimento dal punto A al G90 X10.0 Y30.0 Z5.0 ;


punto B
Coordinate del punto B

• Tornitura

Utensile

X A

B
Pezzo

Z
φ30

70

110
Comando di movimento dal punto A al punto B

X30.0Z70.0;

Coordinate del punto B

- 17 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

- Comando incrementale
Specificare la distanza tra la nuova posizione dell'utensile e la posizione corrente.

• Fresatura
Z

Utensile

X=40.0
Y
Z=-10.0

X B Y-30.0

Comando di movimento dal punto A al G91 X40.0 Y-30.0 Z-10.0 ;


punto B

Distanza e direzione del movimento


lungo ciascun asse

• Tornitura

Utensile

A
X
-30.0 (valore del
diametro)
B
Pezzo
φ60 Z

φ30

-40.0

Comando di movimento dal punto A al punto B

U-30.0 W-40.0
Distanza e direzione del movimento lungo ciascun asse

- 18 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

- Programmazione diametrale/programmazione radiale


La quota X può essere data come diametro o come raggio. la programmazione diametrale o la
programmazione radiale si utilizzano indipendentemente su ciascuna macchina.

1. Programmazione diametrale
Nella programmazione diametrale, specificare come quota dell'asse X il diametro indicato sul
disegno.
X

B
A
Pezzo
Z
φ40 φ30

60

80
Coordinate dei punti A e B A(30.0, 80.0), B(40.0, 60.0)

2. Programmazione radiale
Nella programmazione radiale, specificare come quota dell'asse X la distanza dal centro del pezzo
(il raggio).
X

B
A
Pezzo 20
15

60

80
Coordinate dei punti A e B A(15.0, 80.0), B(20.0, 60.0)

- 19 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

1.4 VELOCITA' DI TAGLIO - FUNZIONE VELOCITA' DEL


MANDRINO
La velocità dell'utensile rispetto al pezzo durante la lavorazione si dice velocità di taglio.
Nel CNC, la velocità di taglio può essere espressa con la velocità del mandrino in giri/min.

• Fresatura
Utensile
Diametro utensile
Velocità mandrino
φD mm
min-1
V: Velocità di taglio
m/min

Pezzo

<Supponiamo di dover lavorare un pezzo con una velocità di taglio di 80m/min usando un utensile con un
diametro di 100mm.>
La velocità del mandrino è approssimativamente 250 giri/min, che si ottiene da N=1000v/πD.
Pertanto, nel programma pezzo deve essere specificato:
S250;
I comandi relativi alla velocità del mandrino costituiscono la funzione velocità mandrino (Capitolo II-9).

• Tornitura
Utensile

Velocità di taglio
v m/min
La velocità del mandrino

Pezzo N min-1
φD

<Supponiamo di dover lavorare con una velocità di taglio di 300 m/min un pezzo il cui diametro è 200
mm.>
La velocità del mandrino, ottenuta da N=1000v/πD, è approssimativamente di 478 giri/min. Pertanto, nel
programma pezzo deve essere specificato:
S478 ;
I comandi relativi alla velocità del mandrino costituiscono la funzione velocità mandrino (Capitolo II-9).
La velocità di taglio v (m/min) può anche essere specificata direttamente con il valore della velocità.
Anche nella lavorazione di conicità, quando il diametro del pezzo cambia costantemente, il CNC regola la
velocità del mandrino in modo che la velocità di taglio rimanga costante.
Questa funzione si dice funzione di controllo della velocità di taglio costante (Sezione II-9.3).

- 20 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

1.5 SELEZIONE DELL'UTENSILE DA USARE NELLE VARIE


LAVORAZIONI - FUNZIONE UTENSILE
Introduzione
Per l'esecuzione di forature, maschiature, alesature, fresature, sgrossature, semi-finiture, finiture,
filettature, gole, ecc. è necessario selezionare l'utensile appropriato. Questo si ottiene assegnando a
ciascun utensile un numero e specificando tale numero nel programma. Questo si ottiene assegnando a
ciascun utensile un numero e specificando tale numero nel programma.

Esempi
M

Numero utensile

01
02 Magazzino ATC

Fig. 1.5 (a) Utensili usati per varie lavorazioni

<Supponiamo di aver assegnato ad una punta il numero 01>


Se l'utensile viene caricato nella posizione 01 del magazzino utensili, l'utensile può essere selezionato
specificando T01. Questa è la funzione utensile (Capitolo II-10).

Numero utensile
01 06

02 05 Torretta

03 04

Fig. 1.5 (b) Utensili usati per varie lavorazioni

<Supponiamo di aver assegnato ad uno sgrossatore il numero 01>


Se l'utensile viene caricato nella posizione 01 della torretta, l'utensile può essere selezionato specificando
T0101. Questa è la funzione utensile (Capitolo II-10).

- 21 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

1.6 COMANDI PER LE FUNZIONI DELLA MACCHINA -


FUNZIONI AUSILIARIE
Durante la lavorazione, è necessario far ruotare il mandrino, aprire e chiudere l'autocentrante, attivare il
refrigerante, ecc. A questo scopo, devono essere controllate le operazioni di avvio e arresto del motore del
mandrino, di apertura e chiusura dell'autocentrante e della valvola del refrigerante, ecc.

• Fresatura

Utensile
Rotazione mandrino

Attivazione/disattivazione
refrigerante
Pezzo

• Tornitura

Attivazione/disattivazione refrigerante

Apertura/chiusura autocentrante

Rotazione mandrino
Pezzo

Fig. 1.6 (a) Funzioni ausiliarie

La funzione che specifica le operazioni di attivazione/disattivazione dei dispositivi della macchina si dice
funzione ausiliaria. In generale, questa funzione si specifica con un codice M (Capitolo II-11).
Ad esempio, quando viene specificato M03, inizia la rotazione in senso orario del mandrino, alla velocità
programmata.

- 22 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

1.7 CONFIGURAZIONE DEL PROGRAMMA


L'insieme dei comandi forniti al CNC per il controllo della macchina si dice programma. Specificando i
comandi opportuni, si ottiene il movimento dell'utensile lungo linee rette o archi, si attiva e si disattiva il
motore del mandrino, ecc.
I comandi devono essere specificati nella sequenza in cui devono aver luogo le varie operazioni.

Blocco

Blocco
Sequenza delle
operazioni
Blocco

Programma Blocco

:
:
:
:

Blocco

Fig. 1.7 (a) Configurazione del programma

Il gruppo di comandi di ciascun passo si dice blocco. Il programma consiste in un gruppo di blocchi per
l'esecuzione di una serie di operazioni. Il numero che permette di distinguere ciascun blocco è il numero
di sequenza; il numero che permette di distinguere ciascun programma è il numero programma
(Capitolo II-13).

Spiegazioni
Il blocco e il programma hanno la seguente configurazione.

- Blocco
Un blocco

Nxxxx Gxx Xxxx.x Yxxx.x Mxx Sxx Txx ;

Numero di Funzioni Parole dimensionali Funzioni Funzioni Funzioni


sequenza preparatorie ausiliarie mandrino utensile

Fine blocco

Fig. 1.7 (b) Configurazione del blocco

I blocchi iniziano con un numero di sequenza che specifica la sequenza delle operazioni e terminano con
un codice di fine blocco.
Questo manuale indica il codice di fine blocco con il carattere ; (LF in codice ISO e CR in codice EIA).
Il significato delle parole dimensionali dipende dalle funzioni preparatorie. In questo manuale l'insieme
delle parole dimensionali di un blocco viene rappresentato con IP_.

- 23 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02

- Programma

;
Oxxxx ; Numero programma

Blocco
Blocco
Blocco

: :

: :

: :

M30 ; Fine programma

Fig. 1.7 (c) Configurazione del programma

Normalmente, all'inizio del programma, dopo il codice di fine blocco (;), è specificato il numero del
programma, e alla fine del programma si trova un codice di fine del programma (M02, M30).

- Programma principale e sottoprogrammi


Quando la stessa lavorazione compare in vari punti di un programma, può venire predisposto un
programma specifico per tale lavorazione, che si dice sottoprogramma. Il programma originale, per contro,
si dice programma principale. Quando, durante l'esecuzione del programma principale, viene incontrato
un comando di esecuzione di un sottoprogramma, vengono eseguiti i comandi contenuti nel
sottoprogramma. Terminata l'esecuzione del sottoprogramma, il controllo ritorna al programma principale.
Programma principale

: Sottoprogramma #1
:
M98P1001 O1001
:
:
:

M99
M98P1002
:
:
Sottoprogramma #2

M98P1001 O1002
:
:
:

M99

Fig. 1.7 (d) Esecuzione di un sottoprogramma

- 24 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE

1.8 AMPIEZZA DEL MOVIMENTO DELL'UTENSILE - ZONA DI


SICUREZZA
Alle estremità di ciascun asse della macchina sono installati dei micro di fine corsa che impediscono
all'utensile di uscire dalla zona prestabilita. La zona in cui l'utensile può muoversi è la sua corsa.

Motore

Micro di fine corsa

Zona di sicurezza

Oltre alla corsa stabilita per ciascun asse tramite gli interruttori di fine corsa, l'operatore può definire
un'area nella quale l'utensile non può entrare. Questa funzione è detta controllo della zona di sicurezza
(Sezione III-6.3).

Motore

Micro di fine corsa

Zero macchina

Specificare queste
distanze.

Gli utensili non possono entrare in quest'area. L'area è specificata da


dati registrati in memoria o inclusi nel programma pezzo.

- 25 -
2.ASSI CONTROLLATI PROGRAMMAZIONE B-64304IT/02

2 ASSI CONTROLLATI
Il Capitolo 2, "ASSI CONTROLLATI", è costituito dalle seguenti sezioni:

2.1 NUMERO DI ASSI CONTROLLATI................................................................................................ 26


2.2 NOMENCLATURA DEGLI ASSI..................................................................................................... 27
2.3 SISTEMA DI INCREMENTI ............................................................................................................. 27
2.4 CORSA MASSIMA ............................................................................................................................ 28

2.1 NUMERO DI ASSI CONTROLLATI


Spiegazioni
Il numero degli assi controllati dal CNC dipende dal tipo e dal modello, come è indicato nella sottostante
tabella.

Serie 0i -D
Voce Serie M Serie T
Canali controllati 1 canale 1 canale 2 canali
Numero di assi controllati
Max. 11 assi
(assi di avanzamento + assi Max. 8 assi Max. 8 assi
(In totale)
mandrino)
Numero di assi di avanzamento Max. 9 assi
Max. 7 assi Max. 7 assi
(In totale)
Assi di avanzamento
Max. 7 assi Max. 7 assi Max. 7 assi
(per ciascun canale)
Assi controllati simultaneamente
Max. 4 assi Max. 4 assi Max. 4 assi
(per ciascun canale)
Max. 4 assi simultanei Max. 4 assi simultanei Max. 4 assi simultanei
Controllo assi da PMC
(Non disponibile sull’asse Cs) (Non disponibile sull’asse Cs) (Non disponibile sull’asse Cs)
Designazione di assi mandrino
2 assi Max. 3 assi Max. 3 assi/4 assi
(per canale/totale)
Controllo contornatura Cs
2 assi Max. 3 assi Max. 3 assi/4 assi
(per canale/totale)

Serie 0i Mate -D
Voce Serie M Serie T
Canali controllati 1 canale 1 canale
Numero di assi controllati
Max. 5 assi Max. 5 assi
(assi di avanzamento + assi mandrino)
Numero di assi di avanzamento Max. 4 assi Max. 3 assi
Assi di avanzamento (per ciascun canale) Max. 4 assi Max. 3 assi
Assi controllati simultaneamente Max. 3 assi Max. 3 assi
Max. 3 assi simultanei
Controllo assi da PMC Max. 4 assi simultanei
(Non disponibile sull’asse Cs)
Designazione di assi mandrino 1 asse Max. 2 assi
Controllo contornatura Cs - Max. 1 asse

- 26 -
B-64304IT/02 PROGRAMMAZIONE 2.ASSI CONTROLLATI

NOTA
1 Il numero massimo degli assi controllati utilizzabili dipende dalla configurazione
delle opzioni. Vedere i dettagli sul manuale del costruttore della macchina utensile.
2 Il numero degli assi controllabili simultaneamente in manuale (avanzamento
manuale, ritorno manuale al punto di riferimento, o movimento rapido in manuale)
è 1 o 3, (1 quando il bit 0 (JAX) parametro N. 1002 è 0, 3 quando lo stesso bit è 1).

2.2 NOMENCLATURA DEGLI ASSI


Spiegazioni
A ciascun asse di avanzamento di una macchina utensile viene assegnato un nome. A questi nomi ci si
riferisce frequentemente come indirizzi asse. I nomi degli assi dipendono dalla macchina utensile.
La nomenclatura degli assi è definita da standard, quali gli standard ISO.

NOTA
I nomi asse sono predeterminati in base alla macchina. Consultare il manuale
fornito dal costruttore della macchina utensile.

2.3 SISTEMA DI INCREMENTI


Spiegazioni
Il sistema di incrementi è costituito dall'incremento minimo di immissione e dall'incremento minimo di
comando. L'incremento minimo di immissione è la più piccola unità di movimento che può essere
programmata. L'incremento minimo di comando è l'unità minima del movimento dell'utensile. Ambedue
gli incrementi si esprimono in millimetri, in pollici o in gradi.
Sono disponibili tre diversi sistemi di incremento, come indicato nella Tabella 2.3 (a). Il sistema di
incrementi può essere impostato per ciascun asse, mediante i bit 0 e 1 (ISA o ISC) del parametro N. 1013.

Tabella 2.3 (a) Sistemi di incremento


Sistema di incrementi Incremento minimo di immissione Incremento minimo di comando
0.01 mm 0.01 mm
IS-A 0.001 pollici 0.001 pollici
0.01 gradi 0.01 gradi
0.001 mm 0.001 mm
IS-B 0.0001 pollici 0.0001 pollici
0.001 gradi 0.001 gradi
0.0001 mm 0.0001 mm
IS-C 0.00001 pollici 0.00001 pollici
0.0001 gradi 0.0001 gradi

L'incremento minimo di comando può essere metrico o in pollici a seconda della macchina utensile.
Specificare il sistema metrico o il sistema in pollici con il parametro INM (No.0100#0).
La selezione fra programmazione in millimetri e programmazione in pollici si esegue tramite codici G
(G20 o G21) o tramite un dato di impostazione.
Non è consentito l'uso combinato dei sistemi metrico e in pollici. Esistono funzioni che non possono
essere usate tra assi con differenti unità di misura (interpolazione circolare, compensazione raggio
utensile, ecc.). Per il sistema di incrementi adottato, consultare il manuale del costruttore della macchina
utensile.

- 27 -
2.ASSI CONTROLLATI PROGRAMMAZIONE B-64304IT/02

NOTA
I valori (in millimetri o in pollici) indicati in tabella sono diametrali quando è
specificata la programmazione diametrale (bit 3 (DIA) del parametro N. 1006 = 1)
o radiali quando è specificata la programmazione radiale (bit 3 (DIA) del
parametro N. 1006 = 0).

2.4 CORSA MASSIMA


Spiegazioni
La tabella sottostante mostra la corsa massima controllata da questo CNC:
Corsa massima = Incremento minimo di comando ×999999999
(99999999 per IS-A)
Non possono essere specificati comandi che eccedano la corsa massima.

Tabella 2.4 (a) Corsa massima


Sistema di incrementi Incremento minimo di immissione Corsa massima
0.01 mm ±999999.99 mm
IS-A 0.001 pollici ±99999.999 pollici
0.01 gradi ±999999.99 gradi
0.001 mm ±999999.999 mm
IS-B 0.0001 pollici ±99999.9999 pollici
0.001 gradi ±999999.999 gradi
0.0001 mm ±99999.9999 mm
IS-C 0.00001 pollici ±9999.99999 pollici
0.0001 gradi ±99999.9999 gradi

NOTA
1 L'effettiva corsa massima dipende dalla macchina utensile.
2 I valori (in millimetri o in pollici) indicati in tabella sono diametrali quando è
specificata la programmazione diametrale (bit 3 (DIA) del parametro N. 1006 = 1)
o radiali quando è specificata la programmazione radiale (bit 3 (DIA) del
parametro N. 1006 = 0).

- 28 -
B-64304IT/02 PROGRAMMAZIONE 3.FUNZIONI PREPARATORIE (CODICI G)

3 FUNZIONI PREPARATORIE (CODICI G)


Il significato del comando di un blocco è determinato dal codice G specificato per quel blocco.
I codici G si dividono nei seguenti due tipi.

Tipo Significato
Codici G autocancellanti Il codice G è attivo per il solo blocco in cui è stato programmato.
Il codice G è attivo finché non viene programmato un altro codice G dello
Codici G modali
stesso gruppo.

(Esempio)
G01 e G00 sono codici G modali del gruppo 01.
G01 X_ ;
Z _; G01 è attivo in questo intervallo.
X_ ;
G00 Z_ ; G00 è attivo in questo intervallo.
X_ ;
G01 X_ ;
:

T
La Serie T ha tre sistemi di codici G: A, B, e C (Tabella 3.2(a)). Il sistema di codici G si seleziona con i
bit 6 (GSB) e 7 (GSC) del parametro N. 3401. In questo manuale, la programmazione viene normalmente
descritta utilizzando il sistema A di codici G, salvo quando la funzione descritta richiede l'uso dei sistemi
B o C, nel quale caso vengono utilizzati i codici G dei sistemi B o C.

Spiegazioni
1. Se all'accensione o in caso di reset il CNC entra nello stato di clear (bit 6 (CLR) del parametro
N. 3402), i codici G modali cambiano come segue.
(1) Sono attivi i codici G contrassegnati da nella tabella.
(2) Per G20 e G21, è attivo il codice che lo era prima dello spegnimento o del reset.
(3) Il bit 7 (G23) del parametro N. 3402 permette di specificare se all'accensione è attivo G22 o
G23. Il reset del CNC nello stato di clear, non influenza la selezione di G22 o G23.
(4) E' possibile selezionare G00 o G01 mediante il parametro G01 (No. 3402#0).
(5) E' possibile selezionare G90 o G91 mediante il parametro G91 (No. 3402#3).
Per la Serie T, quando si usano i sistemi B o C, il codice attivo fra G90 e G91 è determinato
dallo stato del bit 3 (G91) del parametro N. 3402.
(6) Per la Serie M, è possibile selezionare G17, G18, o G19 mediante i bit 1 (G18) e 2 (G19) del
parametro N. 3401
2. I codici G del gruppo 00, eccetto G10 e G11, sono autocancellanti.
3. Se viene specificato un codice G non incluso nell'elenco dei codici G, o un codice G opzionale in
assenza dell'opzione relativa, si verifica l'allarme PS0010.
4. Un blocco può contenere più codici G appartenenti a gruppi diversi. Se nel blocco sono specificati
più codici G dello stesso gruppo, è valido quello specificato per ultimo.
5. Se in un ciclo fisso di foratura viene specificato un codice G del gruppo 01, il ciclo fisso viene
cancellato, come per G80. I codici G del gruppo 01 non sono influenzati dalla programmazione di un
ciclo fisso di foratura.
6. I codici G sono elencati per gruppo.

- 29 -
3. FUNZIONI PREPARATORIE (CODICI G) PROGRAMMAZIONE B-64304IT/02

M
7. Il gruppo cui appartiene G60 (Serie M) dipende dall'impostazione del bit 0 (MDL) del parametro
N. 5431. (Quando il bit MDL è 0, è selezionato il gruppo 00. Quando il bit MDL è 1, è selezionato il
gruppo 01.)

T
8. Nella Serie T, con il sistema A di codici G la programmazione assoluta/incrementale non si specifica
con i codici G (G90/G91), ma con gli indirizzi asse (X/U, Z/W, C/H, Y/V). Per i cicli fissi di
foratura è disponibile solo il ritorno al livello iniziale.

3.1 CODICI G DELLA SERIE M


M
Tabella 3.1 (a) Elenco dei codici G
Codice G Gruppo Funzione
G00 Posizionamento (rapido)
G01 Interpolazione lineare (avanzamento in lavoro)
01
G02 Interpolazione circolare o elicoidale in senso orario
G03 Interpolazione circolare o elicoidale in senso antiorario
G04 Sosta, Arresto esatto
G05.1 Controllo avanzato AI con prelettura / Contornatura AI
G05.4 HRV3 on/off
G07.1 (G107) 00 Interpolazione cilindrica
G09 Arresto esatto
G10 Introduzione dati da programma
G11 Cancella il modo introduzione dati da programma
G15 Cancella i comandi in coordinate polari
17
G16 Comandi in coordinate polari
G17 Selezione piano XpYp Xp: Asse X o suo asse parallelo
G18 02 Selezione piano ZpXp Yp: Asse Y o suo asse parallelo
G19 Selezione piano YpZp Zp: Asse Z o suo asse parallelo
G20 Programmazione in pollici
06
G21 Programmazione in millimetri
G22 Attiva il controllo delle zone di sicurezza
04
G23 Disattiva il controllo delle zone di sicurezza
G27 Controllo del ritorno al punto di riferimento
G28 Ritorno al punto di riferimento
G29 00 Movimento dal punto di riferimento
G30 Ritorno al secondo, terzo o quarto punto di riferimento
G31 Funzione di salto della lavorazione
G33 01 Filettatura
G37 Misura automatica lunghezza utensile
00
G39 Compensazione raggio utensile : interpolazione circolare sugli spigoli
G40 Compensazione raggio utensile : cancellazione
G41 07 Compensazione raggio utensile : sinistra
G42 Compensazione raggio utensile : destra
G40.1 Controllo della direzione normale cancellato
G41.1 19 Controllo della direzione normale attivo : sinistra
G42.1 Controllo della direzione normale attivo : destra
G43 Compensazione lunghezza utensile, direzione +
08
G44 Compensazione lunghezza utensile, direzione -

- 30 -
B-64304IT/02 PROGRAMMAZIONE 3.FUNZIONI PREPARATORIE (CODICI G)

Tabella 3.1 (a) Elenco dei codici G


Codice G Gruppo Funzione
G45 Correzione utensile : incremento
G46 Correzione utensile : decremento
00
G47 Correzione utensile : doppio incremento
G48 Correzione utensile : doppio decremento
G49 08 Cancella la compensazione lunghezza utensile
G50 Cancella la scala
11
G51 Attiva la scala
G50.1 Cancella l'immagine speculare programmabile
22
G51.1 Attiva l'immagine speculare programmabile
G52 Impostazione del sistema di coordinate locali
00
G53 Selezione del sistema di coordinate della macchina
G54 Selezione del sistema di coordinate del pezzo 1
G54.1 Selezione di un sistema di coordinate del pezzo addizionale
G55 Selezione del sistema di coordinate del pezzo 2
G56 14 Selezione del sistema di coordinate del pezzo 3
G57 Selezione del sistema di coordinate del pezzo 4
G58 Selezione del sistema di coordinate del pezzo 5
G59 Selezione del sistema di coordinate del pezzo 6
G60 00 Posizionamento unidirezionale
G61 Modo arresto esatto
G62 Regolazione automatica velocità sugli spigoli
15
G63 Modo maschiatura
G64 Modo taglio
G65 00 Richiamo macro
G66 Richiamo macro modale
12
G67 Richiamo macro modale cancellato
G68 Modo rotazione del sistema di coordinate ON
16
G69 Modo rotazione del sistema di coordinate OFF
G73 Ciclo di foratura a tratti
09
G74 Ciclo di maschiatura sinistrorsa
G75 01 Ciclo di rettifica a tuffo (per rettificatrici)
G76 09 Barenatura fine
G77 Ciclo di rettifica a tuffo con misuratore (per rettificatrici)
G78 01 Ciclo di rettifica piana con avanzamento costante (per rettificatrici)
G79 Ciclo di rettifica piana con avanzamento intermittente (per rettificatrici)
G80 Cancella il ciclo fisso
09
Accoppiamento elettronico: fine sincronizzazione
G80.4 Accoppiamento elettronico: fine sincronizzazione
34
G81.4 Accoppiamento elettronico: inizio sincronizzazione
Ciclo di foratura / centratura
G81
Accoppiamento elettronico: inizio sincronizzazione
G82 Ciclo di foratura / svasatura
G83 Ciclo di foratura a tratti
G84 Ciclo di maschiatura
G84.2 Ciclo di maschiatura rigida (formato FS10/11)
09
G84.3 Ciclo di maschiatura rigida sinistrorsa (Formato FS10/11)
G85 Ciclo di barenatura
G86 Ciclo di barenatura
G87 Ciclo di barenatura posteriore
G88 Ciclo di barenatura
G89 Ciclo di barenatura
G90 Programmazione assoluta
03
G91 Programmazione incrementale
- 31 -
3. FUNZIONI PREPARATORIE (CODICI G) PROGRAMMAZIONE B-64304IT/02

Tabella 3.1 (a) Elenco dei codici G


Codice G Gruppo Funzione
G91.1 Controllo del valore incrementale massimo specificabile
G92 00 Impostazione del sistema di coordinate del pezzo o limitazione della velocità del mandrino
G92.1 Preset del sistema di coordinate del pezzo
G93 Avanzamento con l'inverso del tempo
G94 05 Avanzamento al minuto
G95 Avanzamento al giro
G96 Controllo della velocità di taglio costante
13
G97 Cancella la velocità di taglio costante
G98 Ciclo fisso : ritorno al livello iniziale
10
G99 Ciclo fisso : ritorno al livello del punto R
G160 Cancella il controllo dell'avanzamento (per rettificatrici)
20
G161 Controllo dell'avanzamento (per rettificatrici)

3.2 CODICI G DELLA SERIE T


T
Tabella 3.2 (a) Elenco dei codici G
Sistema di codici G
Gruppo Funzione
A B C
G00 G00 G00 Posizionamento (rapido)
G01 G01 G01 Interpolazione lineare (avanzamento in lavoro)
01
G02 G02 G02 Interpolazione circolare o elicoidale in senso orario
G03 G03 G03 Interpolazione circolare o elicoidale in senso antiorario
G04 G04 G04 Sosta
G05.4 G05.4 G05.4 HRV3 on/off
G07.1 G07.1 G07.1
Interpolazione cilindrica
(G107) (G107) (G107)
00
G08 G08 G08 Controllo avanzato con prelettura dei blocchi
G09 G09 G09 Arresto esatto
G10 G10 G10 Introduzione dati da programma
G11 G11 G11 Cancella il modo introduzione dati da programma
G12.1 G12.1 G12.1
Modo interpolazione in coordinate polari
(G112) (G112) (G112)
21
G13.1 G13.1 G13.1
Cancella il modo interpolazione in coordinate polari
(G113) (G113) (G113)
G17 G17 G17 Selezione piano XpYp
G18 G18 G18 16 Selezione piano ZpXp
G19 G19 G19 Selezione piano YpZp
G20 G20 G70 Programmazione in pollici
06
G21 G21 G71 Programmazione in millimetri
G22 G22 G22 Attiva il controllo delle zone di sicurezza
09
G23 G23 G23 Disattiva il controllo delle zone di sicurezza
G25 G25 G25 Rilevazione fluttuazioni velocità mandrino off
08
G26 G26 G26 Rilevazione fluttuazioni velocità mandrino on
G27 G27 G27 Controllo del ritorno al punto di riferimento
G28 G28 G28 Ritorno al punto di riferimento
00
G30 G30 G30 Ritorno al secondo, terzo o quarto punto di riferimento
G31 G31 G31 Funzione di salto della lavorazione

- 32 -
B-64304IT/02 PROGRAMMAZIONE 3.FUNZIONI PREPARATORIE (CODICI G)

Tabella 3.2 (a) Elenco dei codici G


Sistema di codici G
Gruppo Funzione
A B C
G32 G33 G33 Filettatura
G34 G34 G34 Filettatura a passo variabile
G36 G36 G36 Determinazione automatica correzione utensile (Asse X)
01
G37 G37 G37 Determinazione automatica correzione utensile (Asse Z)
Compensazione raggio utensile: interpolazione circolare sugli
G39 G39 G39
spigoli
G40 G40 G40 Compensazione raggio utensile: cancellazione
G41 G41 G41 07 Compensazione raggio utensile: sinistra
G42 G42 G42 Compensazione raggio utensile: destra
Impostazione del sistema di coordinate o limitazione della
G50 G92 G92
00 velocità del mandrino
G50.3 G92.1 G92.1 Preset del sistema di coordinate del pezzo
G50.2 G50.2 G50.2
Cancella la tornitura poligonale
(G250) (G250) (G250)
20
G51.2 G51.2 G51.2
Tornitura poligonale
(G251) (G251) (G251)
G50.4 G50.4 G50.4 Cancella il controllo sincrono
G50.5 G50.5 G50.5 Cancella il controllo composto
G50.6 G50.6 G50.6 Cancella il controllo sovrapposto
G51.4 G51.4 G51.4 Inizia il controllo sincrono
00
G51.5 G51.5 G51.5 Inizia il controllo composto
G51.6 G51.6 G51.6 Inizia il controllo sovrapposto
G52 G52 G52 Impostazione del sistema di coordinate locali
G53 G53 G53 Selezione del sistema di coordinate della macchina
G54 G54 G54 Selezione del sistema di coordinate del pezzo 1
G55 G55 G55 Selezione del sistema di coordinate del pezzo 2
G56 G56 G56 Selezione del sistema di coordinate del pezzo 3
14
G57 G57 G57 Selezione del sistema di coordinate del pezzo 4
G58 G58 G58 Selezione del sistema di coordinate del pezzo 5
G59 G59 G59 Selezione del sistema di coordinate del pezzo 6
G61 G61 G61 Modo arresto esatto
G63 G63 G63 15 Modo maschiatura
G64 G64 G64 Modo taglio
G65 G65 G65 00 Richiamo macro
G66 G66 G66 Richiamo macro modale
12
G67 G67 G67 Richiamo macro modale cancellato
Immagine speculare per doppia torretta o modo lavorazione
G68 G68 G68
bilanciata
04
Cancella la rotazione del sistema di coordinate o la
G69 G69 G69
conversione tridimensionale del sistema di coordinate
G70 G70 G72 Ciclo di finitura
G71 G71 G73 Asportazione di materiale in tornitura
G72 G72 G74 Asportazione di materiale in sfacciatura
G73 G73 G75 00 Ripetizione del profilo
G74 G74 G76 Foratura frontale a tratti
G75 G75 G77 Ciclo di foratura sul diametro esterno/interno
G76 G76 G78 Ciclo di filettatura in più passate
G71 G71 G72 Ciclo di pendolazione senza misuratore (per rettificatrici)
G72 G72 G73 Ciclo di pendolazione con misuratore (per rettificatrici)
01
G73 G73 G74 Ciclo multituffo senza misuratore (per rettificatrici)
G74 G74 G75 Ciclo multituffo con misuratore (per rettificatrici)

- 33 -
3. FUNZIONI PREPARATORIE (CODICI G) PROGRAMMAZIONE B-64304IT/02

Tabella 3.2 (a) Elenco dei codici G


Sistema di codici G
Gruppo Funzione
A B C
G80 G80 Cancella il ciclo fisso di foratura
G80
Accoppiamento elettronico: fine sincronizzazione
Centratura (Formato FS10/11-T)
G81 G81 G81
Accoppiamento elettronico: inizio sincronizzazione
G82 G82 G82 10 Svasatura (Formato FS10/11-T)
G83 G83 G83 Ciclo di foratura frontale
G83.1 G83.1 G83.1 Ciclo di foratura a tratti ad alta velocità (Formato FS10/11-T)
G84 G84 G84 Ciclo di maschiatura frontale
G84.2 G84.2 G84.2 Ciclo di maschiatura rigida (Formato FS10/11-T)
G85 G85 G85 Ciclo di barenatura frontale
G87 G87 G87 Ciclo di foratura laterale
10
G88 G88 G88 Ciclo di maschiatura laterale
G89 G89 G89 Ciclo di barenatura laterale
G90 G77 G20 Ciclo di tornitura sul diametro esterno/interno
G92 G78 G21 01 Ciclo di filettatura
G94 G79 G24 Ciclo di sfacciatura
G91.1 G91.1 G91.1 00 Controllo del valore incrementale massimo specificabile
G96 G96 G96 Controllo della velocità di taglio costante
02
G97 G97 G97 Cancella la velocità di taglio costante
G96.1 G96.1 G96.1 Indexaggio mandrino (con attesa del completamento)
G96.2 G96.2 G96.2 Indexaggio mandrino (senza attesa del completamento)
00
G96.3 G96.3 G96.3 Controllo completamento indexaggio mandrino
G96.4 G96.4 G96.4 Modo controllo velocità SV ON
G98 G94 G94 Avanzamento al minuto
05
G99 G95 G95 Avanzamento al giro
- G90 G90 Programmazione assoluta
03
- G91 G91 Programmazione incrementale
- G98 G98 Ciclo fisso : ritorno al livello iniziale
11
- G99 G99 Ciclo fisso : ritorno al livello del punto R

- 34 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

4 FUNZIONI DI INTERPOLAZIONE
Le funzioni di interpolazione determinano il tipo di movimento degli assi (in altre parole, il movimento
dell'utensile rispetto al pezzo o alla tavola).

Il Capitolo 4, "FUNZIONI DI INTERPOLAZIONE", è costituito dalle seguenti sezioni:

4.1 POSIZIONAMENTO (G00) ............................................................................................................... 35


4.2 INTERPOLAZIONE LINEARE (G01) .............................................................................................. 36
4.3 INTERPOLAZIONE CIRCOLARE (G02, G03)................................................................................ 38
4.4 INTERPOLAZIONE ELICOIDALE (G02, G03) .............................................................................. 44
4.5 INTERPOLAZIONE CILINDRICA (G07.1) ..................................................................................... 46
4.6 FUNZIONE DI SALTO (G31) ........................................................................................................... 50
4.7 SALTO MULTIPASSO (G31) ........................................................................................................... 52
4.8 SEGNALE DI SALTO AD ALTA VELOCITA' (G31) ..................................................................... 53
4.9 SALTO AL LIMITE DI COPPIA....................................................................................................... 53

4.1 POSIZIONAMENTO (G00)


Il comando G00 muove l'utensile in rapido, nel sistema di coordinate del pezzo, portandolo sulla posizione
specificata con un comando assoluto o con un comando incrementale.
In programmazione assoluta si specificano le coordinate del punto finale.
In programmazione incrementale si specifica la distanza percorsa dall'utensile.

Formato
G00 IP_ ;
IP_ : In programmazione assoluta, le coordinate del punto finale; in programmazione
incrementale, la distanza percorsa dall'utensile.

Spiegazioni
Il tipo di percorso dell'utensile può essere scelto tra i seguenti, tramite il bit 1 (LRP) del parametro N. 1401.
• Posizionamento senza interpolazione lineare
Il posizionamento viene effettuato per ogni asse separatamente. Il percorso dell'utensile generalmente
non è una linea retta.
• Posizionamento con interpolazione lineare
Il posizionamento viene effettuato ad una velocità che permette il tempo minimo di posizionamento
senza superare la velocità in rapido di ciascun asse.
Tuttavia, il percorso utensile non è identico a quello dell'interpolazione lineare (G01).
Posizionamento con interpolazione lineare Punto iniziale

Punto finale Posizionamento senza interpolazione lineare

- 35 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

La velocità in rapido viene impostata indipendentemente per ciascun asse dal costruttore della macchina
(parametro N. 1420). Nel posizionamento G00, l'utensile accelera fino alla velocità predeterminata
all'inizio del blocco e decelera alla fine del blocco. Poi l'esecuzione procede con il blocco successivo, dopo
aver confermato la condizione di in-posizione.
"In-posizione" significa che la posizione programmata è stata effettivamente raggiunta,
entro una certa tolleranza specificata dal costruttore della macchina (parametro N. 1826).

Limitazioni
La velocità in rapido non può essere specificata programmando un codice F.
Anche se è specificato il posizionamento con interpolazione lineare, nei seguenti casi il posizionamento
avviene senza interpolazione lineare. Di conseguenza, fare attenzione che l'utensile non urti il pezzo.
• G28 che specifica il posizionamento fra il punto di riferimento e il punto intermedio
• G53

4.2 INTERPOLAZIONE LINEARE (G01)


L'utensile si muove in linea retta.

Formato
G01 IP_ F_ ;
IP_ : In programmazione assoluta, le coordinate del punto finale; in programmazione
incrementale, la distanza percorsa dall'utensile.
F_ : Velocità dell'utensile (velocità di avanzamento)

Spiegazioni
L'utensile va sulla posizione specificata con un movimento rettilineo eseguito alla velocità di avanzamento
specificata con il codice F
Il codice F è modale e rimane valido finché non viene programmato un altro codice F. Pertanto non è
necessario programmare la velocità di avanzamento in tutti i blocchi.
La velocità di avanzamento specificata dal codice F è misurata lungo il percorso dell'utensile. Se non è mai
stato specificato un codice F, la velocità è zero.
La velocità di avanzamento su ciascun asse è la seguente:
G01 αα ββ γγ ζζ Ff ;
α
Velocità avanzamento asse α : Fα = ×f
L
β
Velocità avanzamento asse β : Fβ = ×f
L
γ
Velocità avanzamento asse γ : Fγ = ×f
L
Velocità avanzamento asse ζ : ζ
Fζ = ×f
L
L = α 2 + β 2 +γ 2 +ζ 2

La velocità di avanzamento di un asse rotativo si programma in gradi al minuto (le unità corrispondono alla
posizione del punto decimale).
Quando vengono interpolati linearmente l'asse lineare α (ad es.: X, Y, o Z) e l'asse rotativo β (ad es.: A, B,
o C), la velocità di avanzamento è tale per cui la velocità di avanzamento tangenziale nel sistema di
coordinate cartesiane α-β è la velocità comandata da F (gradi per A, B, o C; millimetri o pollici per X, Y,
o Z).

- 36 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

Per calcolare la velocità di avanzamento dell'asse β, viene prima determinato il tempo necessario per la
distribuzione usando la suddetta formula e poi le unità della velocità di avanzamento dell'asse β vengono
cambiate in gradi/min.
Qui di seguito viene dato un esempio di calcolo.
G91 G01 X20.0B40.0 F300.0 ;
Se la programmazione è in millimetri, il comando di movimento di 40.0 gradi
dell'asse C viene considerato come 40 mm e il tempo richiesto dalla distribuzione
si calcola come segue:
20 2 + 40 2
0.14907 (min)
300
La velocità di avanzamento dell'asse C è:
40
268.3 deg/ min
0.14907

Nel controllo simultaneo di 3 assi, la velocità di avanzamento viene calcolata come nel controllo di 2 assi.

Esempio
- Interpolazione lineare
• Fresatura
(G91) G01X200.0Y100.0F200.0;
Asse Y

100.0 (Punto finale)

Asse X
0 (Punto iniziale) 200.0

• Tornitura
(Programmazione diametrale)
G01X40.0Z20.1F20; (Programmazione assoluta)
oppure
G01U20.0W-25.9F20; (Programmazione incrementale)
X
46.0

20.1

Punto finale
φ20.0

Punto iniziale
Z
φ40.0

- 37 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

- Velocità di avanzamento dell'asse rotativo


G91G01C-90.0 F300.0 ;Velocità di avanzamento: 300 gradi/min

(Punto iniziale)
90°

(Punto finale) Velocità di avanzamento = 300 gradi/min

4.3 INTERPOLAZIONE CIRCOLARE (G02, G03)


L'utensile si muove lungo un arco di cerchio.

Formato
Arco nel piano XpYp
G02 I_ J_
G17 Xp_Yp_ F_ ;
G03 R_
Arco nel piano ZpXp
I _ K
G02
G18 Zp_Xp_ _ F_ ;
G03 R_
Arco nel piano YpZp
G02 J_ K_
G19 Yp_Zp_ F_ ;
G03 R_

Comando Descrizione
G17 Specifica di un arco nel piano XpYp
G18 Specifica di un arco nel piano ZpXp
G19 Specifica di un arco nel piano YpZp
G02 Interpolazione circolare : in senso orario (CW)
G03 Interpolazione circolare : in senso antiorario (CCW)
Xp_ Comando di movimento dell'asse X o di un suo asse parallelo (parametro N. 1022)
Yp_ Comando di movimento dell'asse Y o di un suo asse parallelo (parametro N. 1022)
Zp_ Comando di movimento dell'asse Z o di un suo asse parallelo (parametro N. 1022)
I_ Distanza con il segno dal punto iniziale al centro dell'arco lungo l'asse Xp
J_ Distanza con il segno dal punto iniziale al centro dell'arco lungo l'asse Yp
K_ Distanza con il segno dal punto iniziale al centro dell'arco lungo l'asse Zp
R_ Raggio dell'arco con il segno (valore radiale per la tornitura)
F_ Velocità di avanzamento lungo l'arco

T
NOTA
Gli assi U, V e W possono essere utilizzati solo con i sistemi B e C di codici G.

- 38 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

Spiegazioni
- Senso dell'interpolazione circolare
Il senso orario (G02) e il senso antiorario (G03) dell'interpolazione circolare nel piano XpYp (piano ZpXp
o piano YpZp) è definito guardando il piano XpYp nella direzione da positivo a negativo dell'asse Zp
(asse Yp o asse Xp), nel sistema di coordinate cartesiane (figura sottostante).
Y X Z

G03 G03 G03

G02 G02 G02


Xp Z Yp
G17 G18 G19

- Comando di movimento
Il punto finale dell'arco si specifica con gli indirizzi Xp, Yp o Zp e si esprime in valori assoluti o
incrementali, a seconda dello stato G90/G91. Per i valori incrementali, si specificano le coordinate del
punto finale visto dal punto iniziale.

- Specifica del centro dell'arco


Il centro dell'arco si specifica con gli indirizzi I, J e K, rispettivamente per gli assi Xp, Yp e Zp. I valori che
seguono I, J o K sono le componenti di un vettore in cui il centro dell'arco è visto dal punto iniziale, e sono
sempre specificati come valori incrementali, indipendentemente da G90/G91 (vedi sotto).
Il segno di I, J e K determina la direzione.

Punto finale (x, y) Punto finale (Z, X) Punto finale (y, z)

y x z
x z y
i Punto iniziale k J Punto
Punto iniziale
iniziale
J i k
Centro Centro Centro

I0, J0 e K0 possono essere omessi.


Se la differenza fra il raggio al punto iniziale e il raggio al punto finale dell'interpolazione circolare supera
il valore del parametro N. 3410 si verifica l'allarme PS0020.

- Programmazione di un cerchio completo


Se Xp, Yp e Zp sono tutti omessi (il punto finale coincide con il punto iniziale) e il centro è specificato con
I, J e K, viene assunto un arco di 360 gradi (un cerchio completo).
G02 I_ ; Programmazione di un cerchio completo

- Raggio dell'arco
Invece di specificare il centro dell'arco con I, J o K, può essere specificato, con l'indirizzo R, il raggio del
cerchio cui l'arco appartiene.
In questo caso, si considerano due tipi di archi: minori di 180 gradi e maggiori di 180 gradi.

- 39 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

M
Per gli archi maggiori di 180 gradi, il raggio deve essere specificato come valore negativo.

T
Non è possibile specificare un arco maggiore di 180° (non è possibile utilizzare un valore negativo per il
raggio). Altrimenti, si verifica l'allarme PS0023.

Se Xp, Yp e Zp sono tutti omessi (il punto finale coincide con il punto iniziale) e si usa R,
risulta programmato un arco di 0 gradi.
G02R_ ; (L'utensile non si muove.)

Per l'arco <1> (minore di 180°)


G91 G02 X60.0 Y55.0 R50.0 F300.0 ;
Per l'arco <2> (maggiore di 180°)
G91 G02 X60.0 Y55.0 R-50.0 F300.0 ;

<2>
r=50mm
Punto
finale
<1>

Punto iniziale
r=50mm
Y

- Velocità di avanzamento
La velocità di avanzamento nell'interpolazione circolare è quella specificata dal codice F e la velocità lungo
l'arco (la velocità tangenziale dell'arco) viene controllata in modo da mantenerla uguale alla velocità di
avanzamento specificata.
L'errore tra la velocità programmata e l'effettiva velocità di avanzamento è entro ±2%. La velocità di
avanzamento viene misurata lungo l'arco dopo aver applicato la compensazione raggio utensile.

- 40 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

Limitazioni
- Programmazione simultanea di I, J, K e R
Se I, J, K e R vengono specificati contemporaneamente, l'arco specificato con R ha la precedenza e I, J e K
sono ignorati.

- Specifica di un asse non appartenente al piano selezionato


Se viene comandato un asse diverso da quelli che formano il piano specificato, viene visualizzato l'allarme
PS0028.
Ad esempio,
Fresatura:
Se l'asse U è specificato come parallelo all'asse X quando viene selezionato il piano XY
Tornitura:
Se l'asse U è specificato come parallelo all'asse X quando viene selezionato il piano ZX con i sistemi B e C
di codici G

- Specifica di un semicerchio con R


Se un arco il cui angolo al centro è vicino a 180° viene programmato con R, il calcolo delle coordinate del
centro può generare un errore. In questo caso, specificare il centro dell'arco con I, J e K.

- Differenza fra il raggio al punto iniziale e il raggio al punto finale


Se la differenza fra il raggio al punto iniziale e il raggio al punto finale dell'arco supera il valore specificato
con il parametro N. 3410, si ha l'allarme PS0020.
Se il punto finale non giace sull'arco, il risultato è una spirale, come si vede qui sotto.
Punto finale

γe
γ(t) ( γ e − γ s) θ (t )
γ (t) = γ s +
θ θ
Punto θ(t)
iniziale
γs Centro
Raggio

Punto iniziale
γs

γe Punto finale

Centro θ
θ

Il raggio dell'arco cambia linearmente con l'angolo al centro θ(t). L'interpolazione a spirale si esegue
utilizzando un comando circolare che specifica un raggio per il punto iniziale ed un raggio diverso per il
punto finale. Per utilizzare l'interpolazione a spirale, assegnare un valore elevato al parametro N. 3410
(limite dell'errore del raggio di un arco).

- 41 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

Esempio
M
Asse Y

100
50

60
60
40

Asse X
0
90 120 140 200
Il percorso utensile della figura qui sopra si programma come segue:
(1) In programmazione assoluta
G92 X200.0 Y40.0 Z0 ;
G90 G03 X140.0 Y100.0 R60.0 F300. ;
G02 X120.0 Y60.0 R50.0 ;
oppure
G92 X200.0 Y40.0 Z0 ;
G90 G03 X140.0 Y100.0 I-60.0 F300. ;
G02 X120.0 Y60.0 I-50.0 ;
(2) In programmazione incrementale
G91 G03 X-60.0 Y60.0 R60.0 F300. ;
G02 X-20.0 Y-40.0 R50.0 ;
oppure
G91 G03 X-60.0 Y60.0 I-60.0 F300. ;
G02 X-20.0 Y-40.0 I-50.0 ;

- 42 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

T
- Programmazione dell'interpolazione circolare (X, Z)

G02X_Z_I_K_F_; G03X_Z_I_K_F_; G02X_Z_R_F_;

Centro
Centro dell'arco Punto finale dell'arco
Punto finale Punto finale
Asse X Asse X Asse X
I R
(Programmazione (Programmazione (Programmazione
diametrale) diametrale) diametrale)
Punto iniziale Punto iniziale
X X X
Z Punto iniziale
K I Z
Asse Z Asse Z Asse Z
Z
K

(Programmazione assoluta) (Programmazione assoluta) (Programmazione assoluta)

R25.0 (Programmazione diametrale)


15.0

G02X50.0Z30.0I25.0F0.3; oppure
G02U20.0W-20.0I25.0F0.3; oppure
G02X50.0Z30.0R25.0F0.3 or
G02U20.0W-20.0R25.F0.3;
10.0
φ50.0

Z
30.0
50.0

- 43 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

4.4 INTERPOLAZIONE ELICOIDALE (G02, G03)


L'interpolazione elicoidale si programma specificando fino a due altri assi che si muovo in sincronia con gli
assi dell'interpolazione circolare.

Formato
Arco nel piano XpYp
G02 I_ J_
G17 Xp_Yp_ α_(β_)F_;
G03 R_
Arco nel piano ZpXp
G02 K_ I_
G18 Zp_Xp_ α_(β_)F_;
G03 R_
Arco nel piano YpZp
G02 J_ K_
G19 Yp_Zp_ α_(β_)F_;
G03 R_
α, β: Assi non appartenenti al piano dell'interpolazione circolare.
Possono essere specificati fino a due altri assi

Spiegazioni
Come velocità di avanzamento possono essere specificate la velocità lungo l'arco specificato nel piano
oppure la velocità lungo il percorso utensile, tenendo in considerazione anche l'asse lineare, a seconda
dell'impostazione del bit 5 (HTG) del parametro N.1403.
Quando HTG è 0, il comando F specifica la velocità di avanzamento lungo l'arco. Quindi, la velocità di
avanzamento dell'asse lineare si calcola con la seguente formula:
Lunghezza dell'asse
F× lineare
Lunghezza dell'arco

Determinare la velocità di avanzamento in modo che la velocità dell'asse lineare non superi nessuno dei vari
limiti.
Z

Percorso utensile

X Y

La velocità tangenziale all'arco determinato dai due assi dell'interpolazione circolare


è la velocità di avanzamento specificata.

- 44 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE
Se HTG è 1, il comando F specifica la velocità di avanzamento lungo il percorso utensile, tenendo in
considerazione anche l'asse lineare. Quindi, la velocità tangenziale lungo l'arco viene calcolata come segue:
Lunghezza dell'arco

(Lunghezza dell'arco)2 + (Lunghezza dell'asse lineare)2
La velocità lungo l'asse lineare viene calcolata come segue:
Lunghezza dell'asse lineare

(Lunghezza dell'arco)2 + (Lunghezza dell'asse lineare)2

Percorso utensile

X Y

E' specificata la velocità di avanzamento lungo il percorso utensile.

Limitazioni
• La compensazione raggio utensile viene applicata soltanto all'arco.
• La correzione utensile e la compensazione lunghezza utensile (Serie M) non possono essere usate in
un blocco nel quale è comandata l'interpolazione elicoidale.

- 45 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

4.5 INTERPOLAZIONE CILINDRICA (G07.1)


Nel modo interpolazione cilindrica, il CNC converte l'entità del movimento comandato in gradi per l'asse
rotativo in una distanza lineare lungo una circonferenza. Dopo questa conversione, possono essere eseguite
l'interpolazione lineare e l'interpolazione circolare con l'altro asse.
La funzione di interpolazione cilindrica consente di programmare considerando lo sviluppo nel piano della
superficie laterale di un cilindro; pertanto, essa risulta particolarmente utile per programmare la scanalatura
di camme cilindriche, ecc.

Formato
G07.1 IP r; Stabilisce il modo interpolazione cilindrica
(abilita l'interpolazione cilindrica).
:
:
:
G07.1 IP 0; Cancella il modo interpolazione cilindrica
IP : Indirizzo dell'asse rotativo
r : Raggio del pezzo
Specificare G07.1 IPr ; e G07.1 IP0; in blocchi indipendenti.
Invece di G07.1 può essere usato G107.

Spiegazioni
- Selezione del piano (G17, G18, G19)
Per specificare un codice G per la selezione del piano, impostare l'asse rotativo nel parametro N 1022 come
asse lineare coincidente o parallelo a uno dei tre assi base. Ad esempio, se l'asse rotativo C è assunto
parallelo all'asse X, specificando G17 con indirizzi assi C e Y, viene selezionato il piano formato dagli assi
C e Y (piano Xp-Yp).

T
NOTA
Gli assi U, V e W possono essere utilizzati solo con i sistemi B e C di codici G.

- Velocità di avanzamento
Nel modo interpolazione cilindrica, si specifica la velocità di avanzamento lungo la circonferenza.

- Interpolazione circolare (G02, G03)


Nel modo interpolazione cilindrica è possibile comandare l'interpolazione circolare fra un asse rotativo e un
asse lineare. Nei comandi, il raggio R si usa come descritto.
Il raggio deve essere specificato in mm (per la programmazione in millimetri) o in pollici
(per la programmazione in pollici) e non in gradi.

<Esempio: Interpolazione circolare tra l'asse Z e l'asse C>


Designare l'asse C come parallelo all'asse X assegnando "5" al parametro 1022 per l'asse C.
In questo caso, il comando dell'interpolazione circolare sarà come segue:
G18 Z_C_;
G02 (G03) Z_C_R_;
Il valore assegnato al parametro 1022 dell'asse C può essere "6" (asse parallelo all'asse Y).
In questo caso, il comando dell'interpolazione circolare diventa il seguente:
G19 C_Z_;
G02 (G03) Z_C_R_;

- 46 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

- Compensazione raggio utensile


Per eseguire la compensazione raggio utensile nel modo interpolazione cilindrica, cancellare il modo
compensazione prima di entrare nel modo interpolazione cilindrica. Poi attivare e cancellare la
compensazione raggio utensile all'interno del modo interpolazione cilindrica.

- Precisione dell'interpolazione cilindrica


Nel modo interpolazione cilindrica, l'entità del movimento dell'asse rotativo, specificata in gradi, viene
convertita internamente nella distanza lineare lungo la superficie esterna in modo da poter eseguire
l'interpolazione lineare o circolare con l'altro asse. Dopo l'interpolazione, l'entità del movimento dell'asse
rotativo viene riconvertita in gradi. Nella conversione, l'entità del movimento viene arrotondata
all'incremento minimo di immissione.
Quindi, se il raggio del cilindro è piccolo, l'entità effettiva del movimento può essere diversa da quella
comandata. In questo caso, però, l'errore non si accumula.
Nello stato di assoluto in manuale attivato, se un'operazione manuale viene eseguita quando è attivo il modo
interpolazione cilindrica, può verificarsi un errore dovuto a quanto detto sopra.
⎡ MOVIM GIRO ⎡ 2 × 2πR ⎤⎤
Entità del movimento = ⎢ × ⎢ Valore specificat o ×
⎣ 2 × 2πR ⎣ MOVIM GIRO ⎥⎦ ⎥⎦
MOVIM GIRO : Entità del movimento per giro dell'asse rotativo (360°)
R : Raggio del pezzo
[] : Arrotondato all'incremento minimo di immissione

Limitazioni
- Programmazione del raggio dell'arco
Nel modo interpolazione cilindrica, non è possibile specificare il centro dell'arco con I, J o K. Specificare il
raggio dell'arco con l'indirizzo R.

- Posizionamento
Nel modo interpolazione cilindrica non possono essere eseguiti posizionamenti (inclusi i movimenti in
rapido eseguiti per comandi come G28, G53, G73, G74, G76, G80-G89). Dovendo eseguire un
posizionamento, cancellare prima l'interpolazione cilindrica. L'interpolazione cilindrica (G07.1) non può
essere comandata nel modo posizionamento (G00).

- Attivazione del modo interpolazione cilindrica


Nel modo interpolazione cilindrica, non è possibile comandare nuovamente lo stesso modo. Prima di
comandare di nuovo il modo interpolazione cilindrica, cancellare il modo interpolazione cilindrica attivo.

- Asse rotativo
E' possibile selezionare un solo asse rotativo per l'interpolazione cilindrica. Di conseguenza, non è possibile
specificare più di un asse rotativo nel comando G07.1.

- Roll-over dell'asse rotativo


Se viene specificato un asse rotativo per il quale, all'attivazione dell'interpolazione cilindrica, è abilitata la
funzione di roll-over, questa viene automaticamente disabilitata nel modo interpolazione cilindrica. Dopo
la cancellazione del modo interpolazione cilindrica, la funzione di roll-over viene ristabilita
automaticamente.

- Compensazione raggio utensile


Se il modo interpolazione cilindrica viene stabilito mentre è applicata la compensazione raggio utensile,
l'interpolazione circolare non è eseguita correttamente. Specificare la compensazione nel modo
interpolazione cilindrica.

- 47 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

- Cicli fissi di foratura


Nel modo interpolazione cilindrica non è possibile specificare i cicli fissi di foratura (G73, G74, e da G81 a
G89 per la Serie M / da G80 a G89 per la Serie T).

- Correzioni utensile
Le correzioni utensile devono essere specificate prima di stabilire il modo interpolazione cilindrica.
Nel modo interpolazione cilindrica le correzioni non possono essere cambiate.

M
- Impostazione dei sistemi di coordinate
Nel modo interpolazione cilindrica, non può essere specificato il sistema di coordinate del pezzo
(G92 e da G54 a G59) o il sistema di coordinate locali (G52).

- Funzione di indexaggio della tavola rotante


L'interpolazione cilindrica non può essere utilizzata quando è in uso la funzione di indexaggio della tavola
rotante.

T
- Impostazione dei sistemi di coordinate
Nel modo interpolazione cilindrica, non possono essere specificati né il sistema di coordinate del pezzo
(G50 e G54 - G59) né il sistema di coordinate locali (G52).

- Immagine speculare per doppia torretta


Nel modo interpolazione cilindrica non è possibile specificare l'immagine speculare per doppia torretta
(G68, G69).

- 48 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

Esempio
Esempio di interpolazione cilindrica C
O0001 (INTERPOLAZIONE CILINDRICA);
N01 G00 G90 Z100.0 C0 ;
N02 G01 G91 G18 Z0 C0 ;
N03 G07.1 C57299 ;*
N04 G90 G01 G42 Z120.0 D01 F250. ; Z R
N05 C30.0 ;
N06 G03 Z90.0 C60.0 R30.0 ;
N07 G01 Z70.0 ;
N08 G02 Z60.0 C70.0 R10.0 ;
N09 G01 C150.0 ;
N10 G02 Z70.0 C190.0 R75.0 ;
N11 G01 Z110.0 C230.0 ;
N12 G03 Z120.0 C270.0 R75.0 ;
N13 G01 C360.0 ;
N14 G40 Z100.0 ;
N15 G07.1 C0 ;
N16 M30 ;

(* E' anche possibile usare un comando con punto decimale.)


Z

mm
N05 N12 N13
120
110 N06
N11
90
N07
70
N08 N09 N10
60

C
0 30 60 70 150 190 230 270 360 gradi

- 49 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

4.6 FUNZIONE DI SALTO (G31)


G31 comanda l'interpolazione lineare come G01. L'immissione di un segnale esterno di salto durante
l'esecuzione di questo comando interrompe il resto del blocco e fa eseguire il blocco successivo.
La funzione di salto si usa quando il punto finale non è noto a priori, ma è specificato da un segnale della
macchina, come, per esempio, nella rettifica. Questa funzione si usa anche per misurare le dimensioni del
pezzo.

Formato
G31 IP ;
G31 : Codice G autocancellante (valido solo per il blocco che lo contiene)

Spiegazioni
Le macroistruzioni possono usare i valori delle coordinate del punto cui è pervenuto il segnale di salto in
quanto essi vengono memorizzati come segue nelle variabili di sistema #5061 - #5065 delle
macroistruzioni.
#5061 : Coordinata del primo asse
#5062 : Coordinata del secondo asse
#5063 : Coordinata del terzo asse
#5064 : Coordinata del quarto asse
#5065 : Coordinata del quinto asse

AVVERTENZA
Per migliorare la precisione della posizione dell'utensile quando perviene il
segnale di salto, la regolazione della velocità di avanzamento, la prova a vuoto e
l'accelerazione/decelerazione automatica sono disabilitate per la funzione di salto
programmata nel modo avanzamento al minuto. Queste funzioni possono essere
abilitate mettendo a 1 il bit 7 (SKF) del parametro N. 6200. Nel modo
avanzamento al giro, queste funzioni sono abilitate

NOTA
Se G31 viene specificato quando è attiva la compensazione raggio utensile,
viene generato l'allarme PS0035. Prima di specificare il comando G31,
cancellare la compensazione raggio utensile con G40.

- 50 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

Esempio
- Il blocco successivo a G31 contiene un comando incrementale

G31 G91 X100.0 F100;


Y50.0;

Segnale di salto ricevuto qui 50.0

Y
100.0
Movimento effettivo
X Movimento senza segnale di salto

Fig. 4.6 (a) Il blocco successivo è in programmazione incrementale

- Il blocco successivo a G31 contiene un comando assoluto di un solo asse


G31 G90 X200.0 F100; Y100.0
Y100.0;

Segnale di salto ricevuto qui

X200.0

Movimento effettivo
Movimento senza segnale di salto

Fig. 4.6 (b) Il blocco successivo è un comando assoluto per un asse

- Il blocco successivo a G31 contiene un comando assoluto di due assi


G31 G90 X200.0 F100;
X300.0 Y100.0;
Y

Segnale di salto ricevuto qui


100
(300,100)

Movimento effettivo
Movimento senza segnale
di salto

X
100 200 300
Fig. 4.6 (c) Il blocco successivo è un comando assoluto per due assi

- 51 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

4.7 SALTO MULTIPASSO (G31)


In un blocco contenente P1, P2, P3 o P4 dopo G31, la funzione di salto multipasso memorizza nelle
variabili delle macroistruzioni le coordinate della posizione in cui si alza un segnale di salto (4 punti o 8
punti; 8 punti se si usa il segnale di salto ad alta velocità). Se un blocco di sosta (G04) contiene Q1, Q2, Q3
o Q4, la funzione di salto multipasso può interrompere la sosta quando si alza un segnale di salto (4 punti o
8 punti; 8 punti se si usa il segnale di salto ad alta velocità).
Con la funzione di salto è possibile utilizzare il segnale emesso da un dispositivo di misura per saltare la
lavorazione comandata dal programma.
Nella rettifica a tuffo, ad esempio, è possibile eseguire automaticamente una serie di operazioni, dalla
sgrossatura alla passata di spegnifiamma, alzando un segnale di salto al completamento di ciascuna
operazione di sgrossatura, semifinitura, finitura o di spegnifiamma.

Formato
Comando di movimento
G31 IP_ F_ P_ ;
IP_ : Punto finale
F_ : Velocità di avanzamento
P_ : P1 - P4
Sosta
G04X(U,P)_ (Q_ );
X(U,P)_ : Tempo di sosta
Q_ : Q1 - Q4

Spiegazioni
Il salto multipasso si comanda programmando P1, P2, P3 o P4 in un blocco G31. Per la spiegazione di come
scegliere P1, P2, P3 o P4, consultare il manuale del costruttore della macchina utensile.
La specifica di Q1, Q2, Q3 o Q4 in un blocco G04 (comando di sosta) permette di saltare la sosta allo stesso
modo di G31. La sosta può essere saltata anche senza specificare Qn. Per la spiegazione di come scegliere
Q1, Q2, Q3 o Q4, consultare il manuale del costruttore della macchina utensile.

- Segnali di salto
I parametri da 6202 a 6205 permettono di specificare se si usa un segnale di salto a 4 punti o a 8 punti
(quando si usa il segnale di salto ad alta velocità). La specifica non è limitata alla corrispondenza uno a uno.
E' possibile specificare che un segnale di salto corrisponde a due o più Pn o Qn (n = 1..4). Inoltre è possibile
usare i bit 0 (DS1) e 7 (DS8) del parametro N. 6206 per specificare la sosta.

AVVERTENZA
Se non è specificato Qn e non sono impostati i bit 0 (DS1) e 7 (DS8) del
parametro N. 6206, la sosta non viene saltata.

- 52 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

4.8 SEGNALE DI SALTO AD ALTA VELOCITA' (G31)


La funzione di salto opera in base ad un segnale di salto ad alta velocità (collegato direttamente al CNC;
senza passare per il PMC), invece che con un segnale di salto normale. In questo caso, possono esistere fino
a 8 segnali in ingresso.
Il ritardo e l'errore dell'ingresso del segnale di salto variano da 0 a 2 msec dal lato NC (senza considerare
quelli del lato PMC).
Questa funzione mantiene il suddetto valore entro 0.1 msec, aumentando così la precisione della misura.
Per i dettagli consultare il manuale del costruttore della macchina utensile.

Formato
G31 IP_ ;
G31; Codice G autocancellante (valido solo per il blocco che lo contiene)

4.9 SALTO AL LIMITE DI COPPIA


Introduzione
Se viene limitata la coppia del motore asse*1, un comando di movimento successivo a G31 P99 (o a G31
P98) può generare lo stesso tipo di avanzamento in lavoro specificato da G01 (interpolazione lineare). Se,
durante questo movimento la coppia del motore asse raggiunge la coppia limite (coppia limite del motore
moltiplicata per il coefficiente di regolazione) a causa della pressione applicata o per qualche altra ragione,
o se perviene un segnale di salto (compreso un segnale di salto ad alta velocità), viene cancellato il
movimento residuo e viene eseguito il blocco successivo. (D'ora in poi l'operazione consistente nella
cancellazione del movimento residuo e nell'esecuzione del blocco successivo viene detta salto della
lavorazione.)
Il limite di coppia del motore può essere regolato nei seguenti due modi:
(1) Esecuzione di un comando di limitazione della coppia nella finestra del PMC

Questo comando deve essere eseguito prima del comando di salto al limite di coppia. Se non viene
impostato preventivamente il limite di coppia, si verifica l'allarme PS0035. Se il comando è fuori dai limiti,
si verifica l'allarme PS0036.
*1 : La coppia limite del motore viene impostata automaticamente a un valore conforme al tipo di motore.

Formato
G31 P98 α_ F_ ;
G31 P99 α_ F_ ;

G31 : Comando di salto (codice G autocancellante)


P98 : Esegue l'operazione di salto se la coppia del motore raggiunge il limite.
P99 : Esegue l'operazione di salto se la coppia del motore raggiunge il limite o se perviene
un segnale di salto.
α : Un indirizzo asse
F : Velocità di avanzamento

- Condizioni per l'esecuzione dell'operazione di salto


Comando
Condizione
G31P98 G31P99
Viene raggiunto il limite di coppia. Viene eseguita l'operazione di salto. Viene eseguita l'operazione di salto.
Viene ricevuto un segnale di salto. L'operazione di salto non viene eseguita. Viene eseguita l'operazione di salto.

- 53 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02

- Operazioni eseguite durante il salto al limite di coppia


(Esempio)
N1 G31 P99 Z400.0 F100.0 ;
N2 G01 X300.0 F500.0 ;

X
A : Posizione di arresto della macchina
300.0 B : Posizione del CNC quando viene
raggiunto il limite di coppia
N2 C : Posizione finale del blocco N1

200.0

Entità dell'errore
100.0
N1 A B C

100.0 200.0 300.0 400.0 Z

Nel salto al limite di coppia, l'asse specificato viene spinto contro un fermo o un altro elemento. Quando il
motore raggiunge il limite di coppia specificato, viene eseguita l'operazione di salto. Dato che l'operazione
di salto è determinata dal raggiungimento del limite di coppia del motore, A differenza della funzione di
salto normale, non è necessario utilizzare un sensore, o un altro dispositivo, per generare il segnale di salto.
(1) Al punto A la macchina entra in contatto con l'oggetto da misurare e si ferma. In questo caso, poiché
non è stato raggiunto il limite di coppia, non viene eseguita l'operazione di salto, l'esecuzione del
comando di movimento continua e la posizione attuale del CNC viene aggiornata.
(2) Poiché l'emissione degli impulsi del comando di movimento continua ma la macchina resta ferma,
emerge una differenza (entità dell'errore) fra la posizione del CNC e quella della macchina; di
conseguenza aumenta la coppia applicata al motore.
(3) Quando viene raggiunto il limite di coppia, nella posizione di arresto della macchina (punto A) viene
eseguita un'operazione di salto e viene eseguito il blocco N2. Assumendo che la posizione attuale del
CNC al raggiungimento del limite di coppia fosse il punto B, l'entità dell'errore durante il salto al
limite di coppia è uguale ad (A - B).

- Comando del limite di coppia


Se è omesso il comando del limite di copia, si verifica l'allarme PS0035.

Se manca il comando che limita la coppia, il valore della regolazione è uguale a 0% o 100%.

Il limite di coppia deve essere specificato come nel seguente esempio.

(Esempio di programmazione)
O0012 ;
:
Mxx ; (Limitazione della coppia attraverso la finestra del PMC)
:
G31 P99 X200. F100. ; (Comando di salto al limite di coppia)
:
G01 X100. F500. ; (Comando di movimento mentre il limite di coppia è ancora attivo)
:
Myy ; (Cancellazione del limite di coppia attraverso la finestra del PMC)
:
M30 ;
- 54 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE

- Limite dell'errore di posizione in presenza del comando di limitazione della


coppia
Durante l'esecuzione del comando di salto al limite di coppia, il controllo dell'errore di posizione non viene
eseguito rispetto ai limiti imposti con i parametri N. 1828 e 1829. Questo controllo viene eseguito rispetto al
limite specificato con il parametro N. 6287. Se l'errore di posizione eccede il limite, si verifica l'allarme
SV0004 ed il movimento dell'asse termina immediatamente.

- Variabili delle macro istruzioni


Quando viene eseguito il comando di salto al limite di coppia, le variabili di sistema #5061 - #5065
(posizione del segnale di salto) memorizzano le coordinate della posizione assunta alla fine del salto. In
realtà, quando viene eseguita l'operazione di salto, esiste una differenza dovuta al ritardo del servo sistema
fra la posizione della macchina e la posizione attuale del CNC. Questa differenza può essere determinata
sulla base dell'errore di posizione dell'asse. Mediante il bit 2 (TSE) del parametro N. 6201, è possibile
stabilire se la posizione del segnale di salto memorizzata nelle variabili di sistema deve o non deve essere
compensata per l'errore di posizione del servosistema.
Posizione durante l'operazione di salto
Posizione attuale del CNC

Posizione di macchina Errore

Origine delle coordinate Punto di arresto

Posizione compensata in base al ritardo

Posizione senza considerare il ritardo

NOTA
1 Con il comando di salto al limite di coppia specificare un solo asse. Se l'asse non
viene specificato o se vengono specificati più assi, si verifica l'allarme PS0369.
2 Non specificare il comando di salto al limite di coppia nei modi G41 o G42.
Altrimenti si verifica l'allarme PS0035.
3 Il segnale di limite di coppia raggiunto viene emesso indipendentemente dal
comando di salto al limite di coppia.
4 Non specificare il comando di salto al limite di coppia per un asse sincronizzato
mediante il controllo sincrono (come: controllo sincrono o accoppiamento
elettronico (Serie M))
5 Non specificare il comando di salto al limite di coppia in un blocco continuo.
6 Maggiore è la velocità del movimento, più grande sarà la differenza fra la
posizione nella quale si verifica l'arresto e la posizione nella quale viene rilevato il
salto. L'errore aumenta anche nel caso di una variazione della velocità durante il
movimento. Non cambiare la velocità mediante una regolazione o altro.

- 55 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

5 FUNZIONI DI AVANZAMENTO
Il Capitolo 5, "FUNZIONI DI AVANZAMENTO", è costituito dalle seguenti sezioni:

5.1 INTRODUZIONE ............................................................................................................................... 57


5.2 RAPIDO .............................................................................................................................................. 59
5.3 AVANZAMENTO IN LAVORO ....................................................................................................... 59
5.4 CONTROLLO DELLA VELOCITA' DI AVANZAMENTO............................................................ 65
5.5 COMANDO DI VELOCITA' SU UN CERCHIO VIRTUALE PER UN ASSE ROTATIVO........ 69
5.6 SOSTA ................................................................................................................................................ 74

- 56 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

5.1 INTRODUZIONE
Le funzioni di avanzamento controllano la velocità dell'utensile. Sono disponibili le seguenti due funzioni:

- Funzioni di avanzamento
1. Rapido
Quando viene specificato un comando di posizionamento (G00), l'utensile si muove alla velocità
rapida stabilita per il CNC (parametro N. 1420).
2. Avanzamento di lavoro
L'utensile si muove alla velocità di avanzamento programmata.

- Regolazione
La velocità dell'utensile può essere regolata, sia in rapido sia in lavoro, usando il selettore che si trova sul
pannello dell'operatore.

- Accelerazione e decelerazione automatiche


Allo scopo di ottenere partenze e arresti graduali, all'inizio e alla fine dei movimenti dell'utensile vengono
applicate automaticamente l'accelerazione e la decelerazione (Fig. 5.1(a)).

Velocità in rapido

FR FR : Velocità in rapido
TR : Costante di tempo
per l'accelerazione/
decelerazione in
rapido

0 Tempo
0
TR TR

Velocità di avanzamento

FC : Velocità di avanzamento
FC
TC : Costante di tempo per
l'accelerazione/
decelerazione in lavoro

0 Tempo

TC TC

Fig. 5.1 (a) Accelerazione e decelerazione automatiche (esempio)

- 57 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

- Percorso dell'utensile durante l'avanzamento in lavoro


Se fra due blocchi consecutivi di avanzamento in lavoro cambia la direzione del movimento, può derivarne
un arrotondamento dello spigolo dovuto alla relazione tra la costante di tempo e la velocità di avanzamento
(Fig. 5.1(b)).

Y
Percorso programmato
Percorso utensile effettivo

0
X

Fig. 5.1 (b) Esempio di percorso dell'utensile fra due blocchi

In interpolazione circolare, si verifica un errore di raggio (Fig. 5.1(c)).

Y ∆r :
Percorso programmato
Percorso utensile effettivo

0 X

Fig. 5.1 (c) Esempio di errore del raggio dell'interpolazione circolare

L'arrotondamento dello spigolo illustrato nella fig. 5.1 (b) e l'errore di raggio illustrato nella fig. 5.1 (c)
dipendono dalla velocità di avanzamento. Pertanto, se si vuole che l'utensile esegua il percorso
programmato occorre controllare la velocità di avanzamento.

- 58 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

5.2 POSIZIONAMENTO RAPIDO


Formato
G00 IP_ ;
G00 : Codice G (gruppo 01) per il posizionamento in rapido
IP_ : Coordinate del punto finale

Spiegazioni
Il posizionamento in rapido si ottiene con il comando di posizionamento (G00). In rapido, il blocco
successivo viene eseguito dopo che la velocità è scesa a 0 e la posizione programmata è stata raggiunta, con
una tolleranza stabilita dal costruttore della macchina utensile (controllo in-posizione).
Non è necessario programmare la velocità, dato che questa è impostata per ciascun asse tramite il parametro
N. 1420.
La velocità in rapido può essere regolata come segue tramite il selettore che si trova sul pannello
dell'operatore: F0, 25%, 50%, 100%
F0 è una velocità fissa impostata con il parametro N. 1421.
E' anche possibile selezionare la regolazione del rapido nell'intervallo 0 - 100% con incrementi di 1 o 0.1%.
Per i dettagli consultare il manuale del costruttore della macchina utensile.

5.3 AVANZAMENTO IN LAVORO


Introduzione
La velocità di avanzamento per l'interpolazione lineare (G01), l'interpolazione circolare (G02, G03),
ecc. si programma come valore numerico dopo il codice F.
Nell'avanzamento in lavoro, il blocco successivo è eseguito in modo da minimizzare la variazione della
velocità di avanzamento.

M
Sono disponibili quattro modalità di specifica:
1. Avanzamento al minuto (G94)
Dopo il codice F, specificare l'entità dell'avanzamento al giro del mandrino.
2. Avanzamento al giro (G95)
Dopo il codice F, specificare l'entità dell'avanzamento al giro del mandrino.
3. Inverso del tempo (G93)
Dopo il codice F, specificare l'inverso del tempo (FRN).
4. F-1 cifra
Dopo il codice F specificare il numero di 1 cifra corrispondente alla velocità memorizzata nel CNC
che si vuole comandare.
T
Sono disponibili due modalità di specifica:
1. Avanzamento al minuto (G98)
Dopo il codice F, specificare l'entità dell'avanzamento al giro del mandrino.
2. Avanzamento al giro (G99)
Dopo il codice F, specificare l'entità dell'avanzamento al giro del mandrino.

- 59 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

Formato
M
Avanzamento al minuto
G94 ; Codice G (gruppo 05) per l'avanzamento al minuto
F_ ; Velocità di avanzamento (mm/min o pollici/min)
Avanzamento al giro
G95 ; Codice G (gruppo 05) per l'avanzamento al giro
F_ ; Velocità di avanzamento (mm/giro o pollici/giro)
Inverso del tempo (G93)
G93 ; Codice G (gruppo 05) per il comando della velocità di avanzamento con
l'inverso del tempo
F_ ; Velocità di avanzamento (1/min)
F-1 cifra
Fn ;
n : Numero da 1 a 9

T
Avanzamento al minuto
G98 ; Codice G (gruppo 05) per l'avanzamento al minuto
F_ ; Velocità di avanzamento (mm/min o pollici/min)
Avanzamento al giro
G99 ; Codice G (gruppo 05) per l'avanzamento al giro
F_ ; Velocità di avanzamento (mm/giro o pollici/giro)

Spiegazioni
- Controllo della velocità tangenziale
L'avanzamento è controllato in modo che la velocità tangenziale sia sempre uguale alla velocità di
avanzamento programmata.

Y Y

Punto iniziale
Punto finale

F F

Punto iniziale
Centro Punto finale
X X
Interpolazione lineare Interpolazione circolare

Fig. 5.3 (a) Velocità tangenziale (F)

- Avanzamento al minuto
Nel modo avanzamento al minuto, la velocità di avanzamento dell'utensile al minuto viene direttamente
programmata col codice F. Il codice G per l'avanzamento al minuto è modale. Dopo essere stato specificato,
rimane valido finché non viene comandato un altro codice G dello stesso gruppo.

- 60 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

M
All'accensione è attivo il modo avanzamento al minuto.

T
Il bit 4 (FPM) del parametro N. 3402 permette di scegliere se all'accensione è attivo il modo avanzamento al
minuto o se è attivo il modo avanzamento al giro.

Alla velocità di avanzamento al minuto può essere applicata una regolazione da 0 a 254% (con incrementi
di 1%) tramite il selettore che si trova sul pannello dell'operatore. Per i dettagli consultare il manuale del
costruttore della macchina utensile.
• Fresatura

Avanzamento al minuto
(mm/min o pollici/min)

Utensile
Pezzo

Tavola

• Tornitura
Avanzamento al minuto
F
(mm/min o pollici/min)

Fig. 5.3 (b) Avanzamento al minuto

AVVERTENZA
Alcuni comandi, come la filettatura, inibiscono la regolazione della velocità di
avanzamento.

- 61 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

- Avanzamento al giro
Nel modo avanzamento al giro, la velocità di avanzamento dell'utensile al giro del mandrino viene
direttamente programmata col codice F. Il codice G per l'avanzamento al giro è modale. Dopo essere stato
specificato, rimane valido finché non viene comandato un altro codice G dello stesso gruppo.
Alla velocità di avanzamento al giro può essere applicata una regolazione da 0 a 254% (con incrementi di
1%) tramite il selettore che si trova sul pannello dell'operatore. Per i dettagli consultare il manuale del
costruttore della macchina utensile.
Se il bit 0 (NPC) del parametro N. 1402 è 1, è possibile specificare l'avanzamento al giro anche se non è
utilizzato un encoder. (Il CNC converte i comandi di avanzamento al giro in comandi di avanzamento al
minuto.)
• Fresatura

F
Avanzamento al giro
(mm/giro o pollici/giro)

• Tornitura
F Avanzamento al giro
(mm/giro o pollici/giro)

Fig. 5.3 (c) Avanzamento al giro

AVVERTENZA
Quando la velocità di rotazione del mandrino è bassa, la velocità di avanzamento
non è uniforme.
Il grado di non uniformità aumenta con il diminuire della velocità del mandrino.

M
- Inverso del tempo
Quando viene specificato G93, viene stabilito il modo programmazione della velocità di avanzamento con
l'inverso del tempo (modo G93). L'inverso del tempo (FRN) si programma con il codice F.
Come FRN può essere specificato un valore nell'intervallo 0.001..9999.999, indipendentemente dal fatto
che la programmazione sia in pollici o in millimetri e che il sistema di incrementi sia IS-B o IS-C.
Specifica del codice F FRN
F1 0.001
F1 (*1) 1.000
F1.0 1.000
F9999999 9999.999
F9999 (*1) 9999.000
F9999.999 9999.999

- 62 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

NOTA
*1 Valore specificato nel formato a punto fisso quando il bit 0 (DPI) del parametro
N. 3401 è 1

Il codice G93 è modale e appartiene al gruppo 05, che include anche il codice G per l'avanzamento al giro e
il codice G per l'avanzamento al minuto.
Se la velocità di avanzamento risultante dal valore programmato con F nel modo G93 eccede la velocità
massima di avanzamento, la velocità stessa è limitata a tale massimo.
Nel caso dell'interpolazione circolare, la velocità di avanzamento non è calcolata in base all'effettiva entità
del movimento comandato nel blocco, ma in base al raggio dell'arco. Questo significa che il tempo di
lavorazione effettiva sarà più lungo se il raggio dell'arco è più grande della distanza dell'arco e più breve se
il raggio dell'arco è più piccolo. L'inverso del tempo può anche essere usato per programmare la velocità di
avanzamento in un ciclo fisso.

NOTA
1 Nel modo G93, il codice F non è trattato come codice modale e di conseguenza
deve essere programmato in tutti i blocchi. Se non è specificato il codice F, si
verifica l'allarme PS0011 (AVANZAMENTO ZERO (COMANDO)).
2 Se viene specificato F0 nel modo avanzamento con l'inverso del tempo, si
verifica l'allarme PS0011 (AVANZAMENTO ZERO (COMANDO)).
3 L'inverso del tempo non può essere usato quando è in atto il controllo asse da
PMC.
4 Se la velocità di avanzamento calcolata è minore del limite inferiore, si verifica
l'allarme PS0011 (AVANZAMENTO ZERO (COMANDO)).

Esempio
• Per l'interpolazione lineare (G01)
1 avanzamento
FRN = =
tempo(min) distanza
Velocità: mm/min (programmazione in mm)
pollici/min (programmazione in pollici)
Distanza: mm (programmazione in mm)
pollici (programmazione in pollici)

- Per eseguire un blocco in 1 minuto


1 1
FRN = = =1
tempo(min) 1(min)
Specificare F1.0.
- Per eseguire un blocco in 10 secondi
1 1
FRN = = =6
tempo(sec) / 60 10 / 60(sec)
Specificare F6.0.
- Per trovare il tempo di movimento corrispondente a F0.5.
1 1
TEMPO(min) = = =2
FRN 0.5
Sono richiesti 2 minuti.
- Per trovare il tempo di movimento corrispondente a F10.0
1 × 60 60
TEMPO(min) = = =6
FRN 10
Sono richiesti 6 secondi.
- 63 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

• Per l'interpolazione circolare (G02, G03)


1 avanzamento
FRN = =
tempo(min) raggiodell ' arco
Velocità: mm/min (programmazione in mm)
pollici/min (programmazione in pollici)
Raggio dell'arco: mm (programmazione in mm)
pollici (programmazione in pollici)

NOTA
Nel caso dell'interpolazione circolare, la velocità di avanzamento non è calcolata
in base all'effettiva entità del movimento comandato nel blocco, ma in base al
raggio dell'arco.

M
- Codice F1 cifra della velocità di avanzamento
Programmando il codice F seguito da un numero di una cifra (da 1 a 9), è possibile comandare la velocità di
avanzamento preimpostata tramite parametri (da 1451 a 1459) per il numero specificato. F0 specifica la
velocità in rapido.
La velocità di avanzamento corrispondente al numero specificato può essere variata ruotando il generatore
manuale di impulsi dopo aver messo a ON il commutatore "variazione della velocità di avanzamento F1
cifra", che si trova sul pannello dell'operatore.
L'aumento o la riduzione, ∆F, della velocità di avanzamento per grado del generatore manuale di impulsi
sono dati da:
F max
∆F =
100 X
Fmax : Massima velocità di avanzamento per F1-F4 (Parametro N. 1460), o massima velocità di
avanzamento per F5-F9 (Parametro N. 1461)
X : Un valore compreso tra 1 e 127 (Parametro N. 1450)
La velocità di avanzamento impostata, o modificata, non viene persa spegnendo il sistema. La velocità di
avanzamento corrente viene visualizzata.

- Limitazione della velocità di avanzamento


Mediante il parametro N. 1430 è possibile specificare la massima velocità di avanzamento per ciascun asse.
Se, in seguito all'interpolazione, la velocità di avanzamento lungo un asse eccede il massimo stabilito per
quell'asse, la velocità di avanzamento è limitata a tale massimo.

Riferimento
L'intervallo dei valori specificabili per la velocità di avanzamento è fornito nell'appendice D.

- 64 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

5.4 CONTROLLO DELLA VELOCITA' DI AVANZAMENTO


La velocità di avanzamento può essere controllata come è indicato nella tabella Tabella 5.4 (a).

Tabella 5.4 (a) Controllo della velocità di avanzamento


Nome della funzione Codice G Validità del codice G Descrizione
Alla fine del blocco l'utensile decelera e viene
Questa funzione è valida solo per i
Arresto esatto G09 eseguito il controllo di in posizione. Poi viene
blocchi nei quali è specificata.
eseguito il blocco successivo.
Una volta specificata questa
Alla fine del blocco l'utensile decelera e viene
funzione rimane valida finché non
Modo arresto esatto G61 eseguito il controllo di in posizione. Poi viene
vengono specificati G62 (Serie M),
eseguito il blocco successivo.
G63 o G64.
Una volta specificata questa
funzione rimane valida finché non Alla fine del blocco, l'utensile non decelera e il
Modo taglio G64
vengono specificati G61, G62 blocco successivo viene eseguito immediatamente.
(Serie M) o G63.
Una volta specificata questa Alla fine del blocco, l'utensile non decelera e il
funzione rimane valida finché non blocco successivo viene eseguito immediatamente.
Modo maschiatura G63
vengono specificati G61, G62 La regolazione della velocità di avanzamento e feed
(Serie M) o G64. hold sono disabilitati.
Quando l'utensile si muove lungo uno spigolo
Regolazione interno nel modo compensazione raggio utensile, la
Una volta specificata rimane valida
automatica della G62 (Serie velocità di avanzamento viene regolata in modo da
finché non vengono specificati
velocità sugli spigoli M) ridurre la quantità di materiale asportato per unità di
Regolazione G61, G63 o G64.
automatica interni tempo in modo da produrre una buona finitura della
della velocità superficie.
sugli spigoli
Riduzione della
(Serie M)
velocità di Funzione valida nel modo
La velocità di avanzamento per la lavorazione
avanzamento - (Serie M) compensazione raggio utensile,
interna in interpolazione circolare viene ridotta.
nell'interpolazione indipendentemente dal codice G.
circolare interna

NOTA
1 Lo scopo del controllo di in posizione è di controllare che la posizione comandata
sia stata raggiunta, entro un certo intervallo (stabilito dal costruttore della
macchina utensile tramite un parametro).
Il controllo di in posizione non viene eseguito quando il bit 5 (NCI) del parametro
N. 1601 è 1.
2 Angolo di uno spigolo interno θ: 2° < θ ≤ α ≤ 178°
(α è un valore prestabilito)
Pezzo

θ
Utensile

- 65 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

Formato
Arresto esatto G09 IP_ ;
Modo arresto esatto G61 ;
Modo taglio G64 ;
Modo maschiatura G63 ;
Regolazione automatica della velocità sugli spigoli G62 ;

5.4.1 Arresto esatto (G09, G61), Modo taglio (G64),


Modo maschiatura (G63)
Spiegazioni
Il percorso dell'utensile all'intersezione di due blocchi è diverso a seconda del modo arresto esatto,
lavorazione normale o maschiatura (Fig. 5.4.1 (a)).
Y
(2) Controllo in posizione

Percorso utensile nel modo arresto esatto


(1)
Percorso utensile nel modo taglio e nel modo
maschiatura
0 X

Fig. 5.4.1 (a) Esempi di percorso utensile all'intersezione dei blocchi (1) e (2)

AVVERTENZA
All'accensione o in caso di clear, è stabilito il modo taglio (G64).

5.4.2 Regolazione automatica della velocità sugli spigoli (Serie M)


M
Quando è attiva la compensazione raggio utensile, il movimento dell'utensile viene automaticamente
decelerato sugli spigoli interni e nell'interpolazione circolare interna. Questo riduce il carico sull'utensile e
consente una lavorazione più precisa della superficie.

- 66 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

5.4.2.1 Regolazione automatica della velocità sugli spigoli interni


(G62)
M

Spiegazioni
- Condizioni di applicazione della regolazione
Quando viene specificato G62, se l'utensile lavora uno spigolo interno ed è applicata la compensazione
raggio utensile, la velocità di avanzamento viene automaticamente ridotta ai due lati dello spigolo.
Esistono quattro tipi di spigoli interni (Fig. 5.4.2(a)).
Uno spigolo è interno quando 2°≤θ≤θp≤178° (Fig. 5.4.2(a)). θp è un valore specificato con il parametro
N. 1711. Quando θ è approssimativamente uguale a θp, lo spigolo interno è determinato con un errore non
superiore a 0.001°.

Utensile
1. Linea retta-linea retta 2. Linea retta-arco
Percorso programmato
Percorso del centro
utensile

θ θ

3. Arco-linea retta 4. Arco-arco

θ
θ

Fig. 5.4.2(a) Spigoli interni

- Intervallo di regolazione
Quando uno spigolo è considerato interno, la velocità di avanzamento viene ridotta prima e dopo
l'intersezione dei due movimenti. Ls e Le sono distanze lineari fra il centro dell'utensile e il punto di
intersezione (Fig. 5.4.2 (b), (c) e (d)) lungo le quali viene applicata la regolazione. Ls e Le si impostano con
i parametri N. 1713 e 1714.
Percorso programmato
Le Ls
a b
Percorso centro utensile
La velocità di avanzamento viene regolata dal punto a al punto b.

Fig. 5.4.2.1 (b) Applicazione della regolazione (linea retta - linea retta)

Quando il percorso programmato è costituito da due archi, la regolazione è applicata se i punti iniziale e
finale sono nello stesso quadrante o in quadranti adiacenti (Fig. 5.4.2(c)).

- 67 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

Percorso
programmato

Percorso centro utensile


La velocità di avanzamento viene regolata dal
punto a al punto b.
Fig. 5.4.2(c) Applicazione della regolazione (arco - arco)

La velocità di avanzamento lungo l'arco (2) è regolata dal punto a al punto b e dal punto c al punto d
(Fig. 5.4.2(d)).
Percorso programmato

d a

Le Ls Le Ls
c b
(2)

Percorso centro utensile


Utensile

Fig. 5.4.2(d) Applicazione della regolazione (linea retta - arco, arco - linea retta)

- Entità della regolazione


L'entità della regolazione è stabilita dal parametro N. 1712 ed è valida anche per la prova a vuoto e per la
specifica F-1 cifra.
Nel modo avanzamento al minuto, la velocità di avanzamento effettiva è la seguente:
F = (automatic override for inner corners) × (feedrate override)

Limitazioni
- Accelerazione/decelerazione prima dell'interpolazione
Durante l'accelerazione/decelerazione prima dell'interpolazione la regolazione della velocità sugli spigoli è
disabilitata.
- Attivazione/G41, G42
Se lo spigolo è preceduto da un blocco di attivazione della compensazione raggio utensile o seguito da un
blocco contenente G41 o G42, la regolazione della velocità sugli spigoli è disabilitata.
- Correzioni utensile
Se l'entità della compensazione raggio utensile è 0, questa funzione è disabilitata.

- 68 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

5.4.2.2 Riduzione della velocità di avanzamento nell'interpolazione


circolare all'interno
M
Nella lavorazione interna in interpolazione circolare, la velocità di avanzamento specificata con F è la
velocità lungo il percorso programmato (Fig. 5.4.2(e)). Funzione valida nel modo compensazione raggio
utensile, indipendentemente dal codice G62.
Rc
F=
Rp
Rc : Percorso del centro utensile
Rp : Raggio programmato
Questa funzione è valida anche per la prova a vuoto e per la specifica F-1 cifra.
Percorso programmato

Rc Percorso centro
utensile
Rp

Fig. 5.4.2(e) Riduzione dell'avanzamento nell'interpolazione circolare interna

Se Rc è molto più piccolo di Rp, Rc/Rp 0 e l'utensile si ferma. Il parametro N. 1710 permette di fissare
una percentuale minima di riduzione della velocità (MDR). Se Rc/Rp≤MDR, la velocità di avanzamento
diventa (F×MDR).
Se il parametro N. 1710 è 0, la percentuale minima di riduzione della velocità (MDR) è pari al 100%.

AVVERTENZA
Se l'interpolazione circolare interna viene eseguita insieme alla regolazione
automatica della velocità sugli spigoli interni, la velocità di avanzamento
dell'utensile diventa:
Rc
F× × (regolazione per spigoli interni) × (regolazione)
Rp

- 69 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

5.5 COMANDO DI VELOCITA' SU UN CERCHIO VIRTUALE


PER UN ASSE ROTATIVO
Introduzione
Questa funzione determina la distanza euclidea di un comando di movimento che comprende un asse
rotativo assumendo per quest'ultimo un movimento pari all'angolo specificato lungo un cerchio di raggio
virtuale (parametro N. 1465). Quindi assume che la velocità lungo la circonferenza virtuale sia la velocità di
avanzamento dell'asse rotativo.

Spiegazioni

Velocità di avanzamento
- Metodo convenzionale
Nella determinazione dell'entità di un movimento nell'interpolazione lineare fra un asse lineare ed un asse
rotativo il movimento angolare di 1 grado dell'asse rotativo viene interpolato come 1 mm (1 pollice per la
programmazione in pollici).

Y Comando di velocità
(gradi/min) Esempio di programma
N1G91G01X10.F10.;
N2C10.F10.;
C N2
La velocità di avanzamento dell'asse
rotativo è la velocità specificata con F.

N1 X

∆X
Velocità dell'asse lineare (asse X) FX = F × ( mm / min )
L
∆C
Velocità dell'asse rotativo (asse C) FC = F × ( deg / min )
L
Entità del movimento L = ∆X 2 + ∆Y 2 + ∆Z 2 + ∆B 2 + ∆C 2 ( mm )
L
Durata del movimento T= (min )
F

- 70 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

- Comando di velocità lungo un cerchio virtuale per un asse rotativo


Questa funzione calcola la distanza euclidea di un comando di movimento che comprende un asse rotativo
assumendo per quest'ultimo un movimento pari all'angolo specificato lungo un cerchio di raggio virtuale
(parametro N. 1465).
Y Velocità specificata Esempio di programma
(mm/min) N1G91G01X10.F10.;
N2C10.;

C N2 La velocità del movimento lungo la


circonferenza virtuale il cui raggio è
specificato dal parametro viene
Raggio considerata come velocità
N1 X
del cerchio programmata.
virtuale Impostando un raggio virtuale uguale a
zero, è possibile escludere l'asse
rotativo dal calcolo della velocità.

∆X
Velocità dell'asse lineare (asse X) FX = F × ( mm / min )
L′
∆C
Velocità dell'asse rotativo (asse C) FC = F × ( deg / min )
L′
Entità del movimento
2 2
⎛ π × l B × ∆B ⎞ ⎛ π × l C × ∆C ⎞
L ′ = ∆X + ∆Y + ∆Z + ⎜
2 2 2
⎟ +⎜ ⎟ ( mm )
⎝ 180 ⎠ ⎝ 180 ⎠
L′
Durata del movimento T ′ = (min )
F

lB, lC : Raggio virtuale (parametro N. 1465)

Così, la velocità del movimento lungo la circonferenza virtuale viene considerata come la velocità
specificata.
<Vedi l'esempio 1.>

Con questa funzione, la velocità di avanzamento di un asse diventa L / L′ volte quella visualizzata sulla
schermata del CNC a causa del diverso metodo di calcolo della distanza. In particolare la velocità dell'asse
aumenta quando il valore assegnato al raggio virtuale è piccolo. Impostare il parametro del raggio virtuale
con molta cura.
La velocità di avanzamento in lavoro viene limitata in base al parametro N. 1430 (velocità massima di
avanzamento) ed alla velocità reale dell'asse (il dato antecedente la conversione). Quindi, se il raggio
virtuale (parametro N. 1465) è grande, è possibile comandare un avanzamento maggiore della velocità
massima di avanzamento impostata, mentre se il raggio virtuale è piccolo, l'avanzamento è limitato alla
velocità massima imposta.
Questa funzione è valida anche per la prova a vuoto.

Controllo avanzato con prelettura dei blocchi (Serie T) / Controllo avanzato AI


con prelettura dei blocchi (Serie M) / Controllo contornatura AI (Serie M)
Alla velocità di avanzamento lungo la circonferenza virtuale viene applicato il controllo avanzato con
prelettura dei blocchi (Serie T) / controllo avanzato AI con prelettura dei blocchi (Serie M) / controllo
contornatura AI (Serie M). Di conseguenza è possibile che il controllo della velocità di avanzamento
durante il controllo avanzato con prelettura dei blocchi (Serie T) / controllo avanzato AI con prelettura dei
blocchi (Serie M) / controllo contornatura AI (Serie M) dia un risultato diverso da quello di questa funzione.
Durante il controllo avanzato con prelettura dei blocchi (Serie T) / controllo avanzato AI con prelettura dei
blocchi (Serie M) / controllo contornatura AI (Serie M) la velocità di avanzamento è limitata dal parametro
N. 1432. Se il parametro N. 8465 è diverso da 0, la velocità di avanzamento è limitata da tale parametro.
- 71 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

Raggio virtuale di 0 mm
Se il raggio virtuale è di 0 mm, il movimento dell'asse rotativo è anch'esso di 0 mm e la distanza euclidea
viene calcolata come segue:
L ′ = ∆X 2 + ∆Y 2 + ∆Z 2

Diventa quindi possibile escludere la componente di velocità lungo l'asse rotativo e considerare la velocità
del movimento lungo l'asse lineare come la velocità specificata con F. <Vedi l'esempio 2.>
Nel caso di un comando di movimento del solo asse rotativo, questo si muoverà alla sua velocità massima di
avanzamento.

Esempi
Quando viene programmato il seguente blocco (sistema di incrementi IS-B)
G91 G01 C10. F10. ;

(1) Per un raggio virtuale (parametro 1465) di 10 mm (10.000) il calcolo è il seguente:


2
⎛ π × 10 ( mm ) × 10 ( deg ) ⎞
2
⎛ π × l C × ∆B ⎞
L′ = ⎜ ⎟ = ⎜⎜ ⎟⎟ = 1.7453292 ⋅ ⋅ ⋅ ( mm )
⎝ 180 ⎠ ⎝ 180 ⎠
10 ( deg )
FC = 10 (mm / min ) × = 57.2957795 ⋅ ⋅ ⋅( deg / min )
1.7453292 ⋅ ⋅ ⋅( mm )
L ′ 1.7453292 ⋅ ⋅ ⋅( mm )
T′ = = = 0.17453292 ⋅ ⋅ ⋅ ( min ) = 10.4719755 ⋅ ⋅ ⋅ ( sec )
F 10 ( mm / min )
Quindi la durata del movimento è di circa 10.472(sec), e la velocità di rotazione è di circa
57.296(gradi/min). La figura 5.5(a) illustra la velocità di avanzamento dell'asse rotativo
corrispondente ad un comando F di 10mm/min per un raggio virtuale di 10mm.

(2) Per un raggio virtuale (parametro 1465) di 36 mm (36.000) il calcolo è il seguente:


2
⎛ π × 36 ( mm ) × 10 ( deg ) ⎞
2
⎛ π × l C × ∆B ⎞
L′ = ⎜ ⎟ = ⎜⎜ ⎟⎟ = 6.28318530 ⋅ ⋅ ⋅ ( mm )
⎝ 180 ⎠ ⎝ 180 ⎠
10 ( deg )
FC = 10 (mm / min ) × = 15.9154943 ⋅ ⋅ ⋅( deg / min )
6.28318530 ⋅ ⋅ ⋅( mm )
L ′ 6.28318530 ⋅ ⋅ ⋅ ( mm )
T′ = = = 0.628318530 ⋅ ⋅ ⋅ ( min ) = 37.6991118 ⋅ ⋅ ⋅ ( sec )
F 10 ( mm / min )
Quindi la durata del movimento è di circa 37.700(sec), e la velocità di rotazione è di circa
15.915(gradi/min). La figura 5.5(a) illustra la velocità di avanzamento dell'asse rotativo corrispondente ad
un comando F di 10.000mm/min per un raggio virtuale di 36.000mm.

- 72 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO

Velocità di rotazione per un


raggio virtuale di 10mm Velocità
specificata
F=10mm/min
Velocità di rotazione
per un raggio virtuale
di 36mm ......... (2)

10 mm

36 mm

Fig. 5.5 (a)

Limitazioni
Questa funzione è valida solo per l'interpolazione lineare (G01).
Non è valida per le seguenti funzioni:

• Avanzamento al giro
• Interpolazione cilindrica
• Controllo assi da PMC

M
• Avanzamento con l'inverso del tempo
• Controllo della direzione normale

T
• Interpolazione in coordinate polari

NOTA
1 Questa funzione è attiva quando il bit 0 (ROTx) del parametro N. 1006 e il bit 0
(RFDx) del parametro N. 1408 sono a 1.
2 Il parametro N. 1465 (raggio virtuale utilizzato da questa funzione) può essere
modificato mediante l'introduzione dati da programma (G10).
3 Quando è attiva questa funzione, se il raggio virtuale (parametro N. 1465) è
uguale a 0 e viene programmato un movimento del solo asse rotativo, questo si
muove alla velocità massima di avanzamento.
4 Impostare con grande attenzione il bit 0 (RFDx) del parametro N. 1408 ed il
parametro N. 1465 per il raggio virtuale. In particolare, considerare che se il
raggio virtuale è piccolo, con questa funzione il movimento asse è più veloce di
quando essa non è utilizzata.
5 Quando si utilizzano il controllo sincrono degli assi e questa funzione, i valori dei
parametri N. 1408 e 1465 devono essere gli stessi per l'asse master e per l'asse
slave.

- 73 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02

5.6 SOSTA
Formato
M
G04 X_; o G04 P_;
X_: Durata della sosta in secondi o giri del mandrino (punto decimale ammesso)
P_ : Durata della sosta in secondi o giri del mandrino (punto decimale non ammesso)

T
G04 X_; o G04 U_ ; o G04 P_;
X_: Durata della sosta in secondi o giri del mandrino (punto decimale ammesso)
U_ : Durata della sosta in secondi o giri del mandrino (punto decimale ammesso)
P_ : Durata della sosta in secondi o giri del mandrino (punto decimale non ammesso)

Spiegazioni
Quando viene specificata una sosta, l'esecuzione del blocco successivo è ritardata per il tempo specificato.
(Sosta in secondi)
Se il bit 1 (DWL) del parametro N. 3405 è 1, nel modo avanzamento al giro l'esecuzione del blocco
successivo viene ritardata fino a quando il mandrino non ha compiuto il numero di giri specificato.
(Sosta in numero di giri)
Tabella 5.6 (a) Intervallo dei valori di comando del tempo di sosta (X o U)
Sistema di incrementi Intervallo dei valori dei comandi Unità del tempo di sosta
IS-A da 0.01 a 999999.99
IS-B da 0.001 a 99999.999 secondi o giri
IS-C da 0.0001 a 9999.9999

Tabella 5.6 (b) Intervallo dei valori di comando del tempo di sosta (P)
Sistema di incrementi Intervallo dei valori dei comandi Unità del tempo di sosta
IS-A da 1 a 99999999 0.01 secondi o giri
IS-B da 1 a 99999999 0.001 secondi o giri
IS-C da 1 a 99999999 0.0001 secondi o giri

Nel caso della sosta in secondi, l'unità di immissione del tempo di sosta specificato con P può essere fissata
a 0.001 secondi, mettendo a 1 il bit 7 (DWT) del parametro N. 1015.

NOTA
1 Se X, U, o P sono specificati senza punto decimale, le unità non dipendono
dall'immissione in pollici o millimetri. In relazione alla presenza dell'asse X,
è attivo il seguente sistema di incrementi:
• Se l'asse X è presente
E' attivo il sistema di incrementi dell'asse X.
• Se l'asse X non è presente
E' attivo il sistema di incrementi dell'asse di riferimento.
2 Quando viene specificato P, il bit 7 (IPR) del parametro N. 1004 diviene
ininfluente.

M
E' possibile comandare una sosta anche per eseguire un arresto esatto nel modo taglio (modo G64).
Se P e X vengono omessi, si verifica un arresto esatto.

- 74 -
B-64304IT/02 PROGRAMMAZIONE 6.PUNTO DI RIFERIMENTO

6 PUNTO DI RIFERIMENTO
Su una macchina utensile a CNC è definita una posizione speciale nella quale, generalmente, viene eseguito
il cambio utensile o viene stabilito il sistema di coordinate, come si vedrà più avanti. Questa posizione è
detta punto di riferimento.

Il Capitolo 6, "PUNTO DI RIFERIMENTO", è costituito dalle seguenti sezioni:

6.1 RITORNO AL PUNTO DI RIFERIMENTO ..................................................................................... 75

6.1 RITORNO AL PUNTO DI RIFERIMENTO


Introduzione
- Punto di riferimento
Il punto di riferimento è un punto fisso sulla macchina al quale l'utensile può essere portato facilmente con
la funzione del ritorno al punto di riferimento.
Ad esempio, il punto di riferimento è usato come posizione di cambio utensile automatico. Possono essere
definiti fino a quattro punti di riferimento, specificandone le coordinate nel sistema di coordinate della
macchina tramite parametri (da 1240 a 1243).
Y
Secondo punto di riferimento

Terzo punto di riferimento

Punto di riferimento

Quarto punto di
riferimento

Zero macchina X

Fig. 6.1 (a) Zero macchina e punti di riferimento

- Ritorno automatico al punto di riferimento (G28) e movimento dal punto di


riferimento (G29)
Programmando G28, è possibile portare automaticamente l'utensile sul punto di riferimento passando per
un punto intermedio lungo l'asse specificato. Al completamento del ritorno al punto di riferimento si
accende la spia corrispondente.

M
Programmando G29, è possibile portare automaticamente l'utensile dal punto di riferimento al punto
specificato, passando per il punto intermedio lungo l'asse specificato.

- 75 -
6.PUNTO DI RIFERIMENTO PROGRAMMAZIONE B-64304IT/02

Ritorno automatico al punto di riferimento (G28)


R (Punto di riferimento)
A→B→R
Movimento dal punto di riferimento (G29)
R→B→C

B (Punto intermedio)

A (Posizione di partenza del C (Destinazione del movimento


ritorno al punto di riferimento) dal punto di riferimento)

Fig. 6.1 (b) Ritorno al punto di riferimento e movimento dal punto di riferimento

NOTA
Il movimento dal punto di riferimento (G29) è abilitato solo per la Serie M.

- Controllo del ritorno al punto di riferimento (G27)


Il controllo del ritorno al punto di riferimento (G27) è la funzione che controlla se l'utensile è ritornato
correttamente al punto di riferimento come specificato dal programma. Se l'utensile è ritornato
correttamente al punto di riferimento lungo l'asse specificato, la spia dell'asse si accende.
Se l'utensile non ha raggiunto il punto di riferimento, si verifica l'allarme PS0092 "ERRORE NELLA
VERIFICA DEL RITORNO A ZERO (G27)".
Se il comando non specifica un movimento, viene controllato se la posizione attuale è il punto di
riferimento.

Formato
- Ritorno automatico al secondo, terzo e quarto punto di riferimento
G28 IP_; Ritorno al punto di riferimento
G30 P2 IP_; Ritorno al secondo punto di riferimento (P2 può essere omesso.)
G30 P3 IP_; Ritorno al terzo punto di riferimento
G30 P4 IP_; Ritorno al quarto punto di riferimento
IP : Specifica il punto intermedio nel sistema di coordinate assolute.
(programmazione assoluta o incrementale)
Non è necessario calcolare l'entità del movimento tra il punto intermedio e il punto di
riferimento.

M
- Movimento dal punto di riferimento
G29 IP_;
IP : Specifica la destinazione del ritorno dal punto di riferimento nel sistema di coordinate
assolute. (programmazione assoluta o incrementale)
Il punto intermedio è determinato dai comandi G28 o G30 specificati immediatamente
prima di questo comando.

- Controllo del ritorno al punto di riferimento


G27 IP_;
IP : specifica la posizione del punto di riferimento nel sistema di coordinate assolute.
(programmazione assoluta o incrementale)

- 76 -
B-64304IT/02 PROGRAMMAZIONE 6.PUNTO DI RIFERIMENTO

Spiegazioni
- Ritorno automatico al punto di riferimento (G28)
I posizionamenti sul punto intermedio e sul punto di riferimento sono eseguiti alla velocità in rapido
specificata per ciascun asse.
Quindi, per sicurezza, le funzioni di compensazione, come la compensazione raggio utensile, la
compensazione lunghezza utensile, e le correzioni utensile devono essere cancellate prima di eseguire
questo comando.
Le coordinate del punto intermedio vengono memorizzate dal CNC solo per gli assi specificati nel blocco
G28. Per gli altri assi vengono usate le coordinate precedentemente specificate.

(Esempio)
N1 G28 X40.0 ;
(L'utensile si muove verso il punto di riferimento lungo l'asse X e il punto intermedio (X40.0) viene
memorizzato.)
N2 G28 Y60.0 ;
(L'utensile si muove verso il punto di riferimento lungo l'asse Y e il punto intermedio (Y60.0) viene
memorizzato.)
N3 G29 X10.0 Y20.0 ;
(L'utensile si muove verso la posizione comandata con G29, passando per il punto intermedio
(X40.0 Y60.0), specificato in precedenza con G28, lungo l'asse X e l'asse Y.)

- Ritorno al secondo, terzo e quarto punto di riferimento (G30)


Il ritorno al secondo, terzo o quarto punto di riferimento (G30) può essere eseguito dopo aver stabilito i
punti di riferimento.
Il comando G30 si usa generalmente quando la posizione del cambio utensile automatico (ATC) è diversa
dal punto di riferimento.

M
- Movimento dal punto di riferimento (G29)
Questa funzione viene programmata dopo un ritorno al punto di riferimento eseguito con G28 o G30.
In programmazione incrementale, i valori comandati rappresentano la distanza dal punto intermedio.
L'utensile va sul punto intermedio specificato alla velocità stabilita con un parametro.
Se, dopo che l'utensile è ritornato al punto di riferimento passando per il punto intermedio in seguito ad un
comando G28, viene cambiato il sistema di coordinate del pezzo, anche il punto intermedio viene traslato
nel nuovo sistema di coordinate. Se poi viene comandato G29, l'utensile va sulla posizione comandata
passando per il punto intermedio traslato nel nuovo sistema di coordinate.
Le stesse operazioni vengono eseguite anche per il comando G30.
Se dopo l'accensione viene tentata l'esecuzione di un G29 (movimento dal punto di riferimento) senza aver
dato un comando G28 (ritorno automatico al punto di riferimento) o G30 (ritorno al secondo, terzo e quarto
punto di riferimento) si verifica l'allarme PS0305.

- Controllo del ritorno al punto di riferimento (G27)


Il comando G27 posiziona l'utensile in rapido. Se l'utensile raggiunge il punto di riferimento, si accende la
spia del ritorno al punto di riferimento.
Se l'utensile ritorna al punto di riferimento lungo un solo asse, la spia dell'asse si accende.
Se, dopo il posizionamento, l'utensile non ha raggiunto il punto di riferimento l'ungo l'asse specificato, si
verifica l'allarme PS0092 "ERRORE NELLA VERIFICA DEL RITORNO A ZERO (G27)".
Se il comando non specifica un movimento, viene controllato se la posizione attuale è il punto di
riferimento.

- 77 -
6.PUNTO DI RIFERIMENTO PROGRAMMAZIONE B-64304IT/02

- Impostazione della velocità di avanzamento per il ritorno al punto di


riferimento
Dopo l'accensione, prima del primo ritorno al punto di riferimento, che stabilisce il sistema di coordinate
della macchina, le velocità di avanzamento per il ritorno manuale e per il ritorno automatico al punto di
riferimento e la velocità in rapido corrispondono alla velocità specificata per ciascun asse con il parametro
N. 1428.
La velocità di avanzamento per il ritorno manuale al punto di riferimento è quella indicata per ciascun asse
dal parametro N. 1428 anche dopo che è stato stabilito il punto di riferimento.

NOTA
1 A questa velocità di avanzamento viene applicata la regolazione della velocità in
rapido (F0, 25%, 50%, 100%), la cui impostazione è 100%.
2 Dopo che è stato stabilito il punto di riferimento con il primo ritorno al punto di
riferimento, la velocità di avanzamento per il ritorno automatico al punto di
riferimento corrisponde alla normale velocità in rapido.
3 Se è specificato un valore nel parametro 1428, le velocità di avanzamento
corrispondono alle impostazioni dei parametri indicati qui sotto.
Quando il sistema di coordinate Dopo che è stato stabilito il
della macchina non è ancora sistema di coordinate della
stato stabilito macchina
Ritorno automatico al punto di riferimento (G28) N. 1428 N.1420
Posizionamento rapido in automatico (G00) N. 1428 N.1420
Ritorno manuale al punto di riferimento (*1) N. 1428 N.1428 (*3)
Velocità rapida in manuale N.1423 (*2) N.1424

1420 : Velocità in rapido


1423 : Velocità di avanzamento in jog
1424 : Velocità rapida in manuale
1428 : Velocità per il ritorno al punto di riferimento

Se l'impostazione del parametro N. 1428 è 0, le velocità di avanzamento


corrispondono alle impostazioni dei parametri indicati qui sotto
Quando il sistema di coordinate Dopo che è stato stabilito il
della macchina non è ancora sistema di coordinate della
stato stabilito macchina
Ritorno automatico al punto di riferimento (G28) N.1420 N.1420
Posizionamento rapido in automatico (G00) N.1420 N.1420
Ritorno manuale al punto di riferimento (*1) N.1424 No.1424 (*3)
Velocità rapida in manuale N.1423 (*2) N.1424

*1 Utilizzando JZR (bit 2 del parametro N. 1401), la velocità del ritorno manuale
al punto di riferimento può essere sempre impostata come velocità di
avanzamento in jog.
*2 Se RPD (bit 0 del parametro N. 1401) è 1, viene usata l'impostazione del
N. 1424 (velocità rapida in manuale).
Se l'impostazione del parametro N. 1424 (velocità rapida in manuale) è 0,
viene utilizzato il parametro N. 1420 (velocità in rapido).
*3 Se il ritorno al punto di riferimento senza camme viene eseguito in rapido,
o se il ritorno manuale al punto di riferimento viene effettuato in rapido
indipendentemente dalle camme di decelerazione dopo che è stato stabilito
un punto di riferimento, viene usata una velocità per ciascuna di queste
funzioni (impostazione di DLF (bit 1 del parametro N. 1404)).

- 78 -
B-64304IT/02 PROGRAMMAZIONE 6.PUNTO DI RIFERIMENTO

Limitazioni
- Quando la macchina è in stato di blocco
Quando è attivo il blocco macchina, la spia che indica il completamento del ritorno al punto di riferimento
non si accende, anche quando l'utensile è ritornato automaticamente al punto di riferimento. In questo caso,
non viene controllato se l'utensile ha raggiunto il punto di riferimento anche se è specificato il comando di
controllo del ritorno al punto di riferimento.

- Quando viene eseguito un ritorno automatico al punto di riferimento (G28)


senza aver stabilito un punto di riferimento
Quando viene eseguito il ritorno automatico al punto di riferimento (G28) senza aver stabilito un punto di
riferimento, il movimento dal punto intermedio in direzione del punto di riferimento è uguale a quello del
ritorno manuale.
(Questo movimento viene detto ritorno automatico al punto di riferimento a bassa velocità (G28).)
In questo caso, la direzione dal punto intermedio è quella impostata per il ritorno al punto di riferimento con
il parametro ZMIx (bit 5 del N.1006). Di conseguenza, il punto intermedio deve essere specificato in modo
da consentire il ritorno al punto di riferimento.

NOTA
Quando viene eseguito il ritorno automatico al punto di riferimento (G28) dopo
aver stabilito un punto di riferimento, il movimento dal punto intermedio al punto
di riferimento viene effettuato in rapido. Questo movimento viene detto ritorno
automatico al punto di riferimento ad alta velocità (G28).

- Controllo del ritorno al punto di riferimento con le correzioni attive


Se è stata specificata una correzione, alla posizione specificata dal comando G27 viene sommata l'entità
della correzione.
Di conseguenza, se la posizione ottenuta applicando la correzione non è il punto di riferimento, la spia del
ritorno al punto di riferimento non si accende e si ha l'allarme. Normalmente, prima di specificare G27
cancellare le correzioni.

- Accensione della spia quando la posizione programmata non coincide con il


punto di riferimento
Su una macchina in pollici programmata in millimetri, la spia del ritorno al punto di riferimento può
accendersi anche se la posizione programmata è spostata di un incremento minimo di programmazione
rispetto alla posizione del punto di riferimento. Questo perché l'incremento minimo di programmazione è
più piccolo dell'incremento minimo di comando.

- 79 -
6.PUNTO DI RIFERIMENTO PROGRAMMAZIONE B-64304IT/02

Esempio
G28G90X1000.0Y500.0 ; (Movimento da A a B. L'utensile va al punto di riferimento passando per il
punto intermedio B.)
T111 ;
M06 ; (Sul punto di riferimento viene eseguito il cambio utensile)
G29X1300.0Y200.0 ; (Movimento da B a C. L'utensile va dal punto di riferimento R al punto C
specificato con G29 passando per il punto intermedio B.)

Y Ritorno automatico al punto di riferimento (G28) R (Punto di riferimento)


A→B→R
Movimento dal punto di riferimento (G29)
R→B→C

B (Punto intermedio)
500

C (Destinazione del movimento


300 dal punto di riferimento)
200 A (Posizione di partenza del
ritorno al punto di riferimento)

200 1000 1300 X


Fig. 6.1 (c) Ritorno al punto di riferimento e movimento dal punto di riferimento

- 80 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

7 SISTEMA DI COORDINATE
Quando viene specificata una posizione da raggiungere, il CNC muove l'utensile, portandolo a tale
posizione. La posizione da raggiungere viene fornita tramite i valori delle coordinate, in un sistema di
coordinate. Le coordinate vengono espresse con una componente per ciascun asse.
Se il sistema dispone di tre assi programmabili (X, Y e Z), il valore delle coordinate si esprime come segue:
X_Y_Z_
Questo comando è detto parola dimensionale.
• Fresatura (Posizione dell'utensile specificata da X40.0Y50.0Z25.0 )
Z

25.0

Y
50.0

40.0

X
• Tornitura (Posizione dell'utensile specificata da X50.0 Z40.0)

40.0

50.0

Z
Punto zero

Le coordinate possono essere specificate in uno dei seguenti tre tipi di sistemi di coordinate:
(1) Sistema di coordinate della macchina
(2) Sistema di coordinate del pezzo
(3) Sistema di coordinate locali
Dato che il numero degli assi programmabili, vale a dire il numero delle componenti da specificare, varia da
macchina a macchina, in questo manuale una parola delle dimensioni è rappresentata dal simbolo IP_.

- 81 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

7.1 SISTEMA DI COORDINATE DELLA MACCHINA


Lo zero macchina è una posizione standard della macchina, che viene normalmente stabilita dal
costruttore della macchina in base alle caratteristiche della macchina stessa.
Il sistema di coordinate della macchina è un sistema di coordinate che ha l'origine sullo zero macchina.
Il sistema di coordinate della macchina viene stabilito quando, dopo l'accensione, viene eseguito il ritorno
manuale al punto di riferimento (Sezione III-3.1). Una volta stabilito, il sistema di coordinate della
macchina non cambia fino allo spegnimento del sistema.
Non sempre il punto di riferimento coincide con l'origine del sistema di coordinate della macchina.
(Vedi "Impostazione del sistema di coordinate della macchina" più avanti.)

Formato
G53 IP_ (P1) ;
IP_ : Parola dimensionale assoluta
P1 : Abilita la funzione G53 ad alta velocità.

Spiegazioni
- Selezione del sistema di coordinate della macchina (G53)
Quando la posizione viene specificata usando le coordinate di macchina, l'utensile va in rapido su tale
posizione. G53, il comando che seleziona il sistema di coordinate della macchina, è un codice G
autocancellante; è cioè valido solo per il blocco nel quale è programmato. G53 deve essere specificato nel
modo programmazione assoluta. Se è specificato nel modo incrementale, viene ignorato. Per portare
l'utensile in una posizione specifica della macchina, ad esempio nella posizione di cambio utensile,
programmare un movimento nel sistema di coordinate della macchina con G53.

- Funzione G53 ad alta velocità


Questa funzione abilita la sovrapposizione dei blocchi in rapido fra i blocchi che specificano la selezione
delle coordinate di macchina (G53) ed i blocchi di posizionamento in rapido (G00), rendendo possibile
l'esecuzione di un comando in rapido successivo (G00) al comando nel sistema di coordinate della
macchina (G53) senza arresto con decelerazione alla fine di quest'ultimo. Quindi, il posizionamento ad alta
velocità è disponibile anche quando si utilizza il comando di selezione delle coordinate di macchina (G53).
La specifica di P1 in un blocco G53 abilita la funzione G53 ad alta velocità.

Limitazioni
- Cancellazione delle compensazioni
Prima di comandare G53, cancellare tutte le funzioni di compensazione, come la compensazione raggio
utensile e la compensazione lunghezza utensile.

- G53 specificato immediatamente dopo l'accensione


Dato che per poter comandare G53 deve essere stato stabilito il sistema di coordinate della macchina, dopo
l'accensione deve essere stato eseguito almeno un ritorno manuale o automatico (G28) al punto di
riferimento. Questo non è necessario se si usa un trasduttore di posizione assoluto.

- Blocchi nei quali è utilizzabile la funzione G53 ad alta velocità


La funzione G53 ad alta velocità può essere utilizzata nelle seguenti combinazioni di comandi:
• G53 → G00
• G53 → G53
La funzione G53 ad alta velocità non può essere utilizzata nella seguente combinazione di comandi:
• G00 → G53

- Codici G nello stesso blocco

- 82 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

M
Non è possibile specificare i comandi G50/G51 (scala), G50.1/G51.1 (immagine speculare programmabile),
e G68/G69 (rotazione del sistema di coordinate) nel blocco contenente G53.

Note
NOTA
G53 è un codice G che disabilita il buffer.

Riferimento
- Impostazione del sistema di coordinate della macchina
Quando dopo l'accensione viene eseguito il ritorno manuale al punto di riferimento, il sistema di coordinate
della macchina viene stabilito in modo che il punto di riferimento sia alle coordinate α e β specificate con il
parametro N. 1240.

Sistema di coordinate della macchina

Zero macchina

Punto di riferimento

- 83 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

7.2 SISTEMA DI COORDINATE DEL PEZZO


Introduzione
Il sistema di coordinate utilizzato per la lavorazione di un pezzo si dice sistema di coordinate del pezzo.
Il sistema di coordinate del pezzo deve essere preventivamente stabilito nel CNC (impostazione del sistema
di coordinate del pezzo).
Il programma pezzo seleziona un sistema di coordinate del pezzo (selezione del sistema di coordinate del
pezzo).
Il sistema di coordinate del pezzo stabilito può essere cambiato traslandone l'origine (cambiamento del
sistema di coordinate del pezzo).

7.2.1 Impostazione del sistema di coordinate del pezzo


Il sistema di coordinate del pezzo può essere impostato in tre modi:

(1) Con il codice G di impostazione del sistema di coordinate del pezzo


Il sistema di coordinate del pezzo viene stabilito specificando i valori delle coordinate dopo il codice
G di impostazione del sistema di coordinate del pezzo.
(2) Automaticamente
Se il bit 0 (ZPR) del parametro N. 1201 è 1, il sistema di coordinate del pezzo viene impostato
automaticamente al completamento del ritorno manuale al punto di riferimento (sezione III-3.1).
Tuttavia, se è in uso l'opzione sistema di coordinate del pezzo (bit 0 (NWZ) del parametro
N. 8136 = 0), questo metodo è disabilitato.
(3) Con un codice G di selezione del sistema di coordinate del pezzo
E' possibile presettare sei sistemi di coordinate del pezzo tramite il pannello MDI. Per selezionare il
sistema di coordinate del pezzo è possibile usare i comandi da G54 a G59. (Sezione III-12.3.4.)

Se si usano comandi assoluti, stabilire il sistema si coordinate del pezzo in uno qualsiasi dei suddetti modi.

Formato
- Impostazione del sistema di coordinate del pezzo

M
G92 IP_ ;

T
G50 IP_ ;

Spiegazioni
Un certo punto dell'utensile, ad esempio la punta, diventa il punto IP del sistema di coordinate del pezzo.

M
Se l'impostazione del sistema di coordinate con G92 viene effettuata con la compensazione lunghezza
utensile attiva, viene impostato un sistema di coordinate in cui la posizione designata è la posizione
precedente all'effettuazione dell'offset. G92 cancella temporaneamente la compensazione raggio utensile.

- 84 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

T
Se IP_ è un comando incrementale, il sistema di coordinate è definito in modo che la posizione attuale
dell'utensile coincida con il risultato ottenuto sommando i valori incrementali programmati alla posizione
precedente dell'utensile. Se l'impostazione del sistema di coordinate con G50 viene effettuata con le
correzioni utensile attive, viene impostato un sistema di coordinate in cui la posizione designata è la
posizione precedente all'effettuazione dell'offset.

Esempio

(Esempio 1) (Esempio 2)
Impostazione del sistema di coordinate con G92 Impostazione del sistema di coordinate con G92 X600.0 Z1200.0;
X25.2 Z23.0; (La punta dell'utensile è sul punto di (Il punto base del portautensili è sul punto di partenza del programma)
partenza del programma) Z Punto base
Z

1200.0
L'esecuzione di un comando assoluto
porta il punto base sulla posizione
23.0
programmata. Perché la punta
dell'utensile vada sulla posizione
programmata, la distanza tra la punta
dell'utensile e il punto base viene
X compensata dalla correzione lunghezza
0 25.2
utensile.
X
0 600.0

T
(Esempio 1) (Esempio 2)
Impostazione del sistema di coordinate con Impostazione del sistema di coordinate con G50X1200.0Z700.0;
G50X128.7Z375.1; (Programmazione diametrale) (Programmazione diametrale) (Il punto base della torretta è sul
(La punta dell'utensile è sul punto iniziale del programma.) punto iniziale del programma.)
X X
700.0

Punto iniziale
(punto base)
Punto
375.1 iniziale
φ1200.0
φ128.7

Z
Z
Origine

AVVERTENZA
L'impostazione del sistema di coordinate del pezzo dipende dal tipo di
programmazione, diametrale o radiale.

- 85 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

Note
- Comando per l'impostazione del sistema di coordinate del pezzo nel modo
compensazione lunghezza utensile
M
L'esecuzione di un codice G per l'impostazione del sistema di coordinate del pezzo (G92) presettta un
sistema di coordinate nel quale la posizione specificata sarà la posizione prima della compensazione.
Però, questo codice G non può essere utilizzato in un blocco nel quale cambia il vettore della
compensazione lunghezza utensile. Altrimenti si verifica l'allarme PS5391. Ad esempio, non può essere
utilizzato nei seguenti blocchi.

ESEMPI
1 Blocco contenente G43/G44
2 Blocco eseguito nei modi G43 o G44 contenente un codice H
3 Blocco eseguito nei modi G43 o G44 contenente G49
4 Blocco eseguito nei modi G43 o G44 nel quale i vettori di compensazione
vengono cancellati da un codice G come G28 o G53 e poi ripristinati.
Quando si esegue il preset del sistema di coordinate del pezzo con l'apposito codice G, non fermare
l'esecuzione del programma per cambiare, ad esempio in MDI, la compensazione lunghezza utensile
selezionata.

7.2.2 Selezione del sistema di coordinate del pezzo


Il programmatore può scegliere il sistema di coordinate del pezzo come segue. (La descrizione dei metodi
di impostazione si trova nella sezione II-7.2.1.)

(1) Dopo che con il codice G, o con la funzione di impostazione automatica del sistema di coordinate del
pezzo, è stato stabilito un sistema di coordinate del pezzo, i comandi assoluti lavorano in tale sistema
di coordinate.
(2) Scelta fra sei sistemi di coordinate del pezzo specificati tramite il pannello MDI
Specificando uno dei codici G da G54 a G59, è possibile selezionare uno dei sistemi di coordinate del
pezzo specificati.
G54 : Selezione del sistema di coordinate N. 1
G55 : Selezione del sistema di coordinate N. 2
G56 : Selezione del sistema di coordinate N. 3
G57 : Selezione del sistema di coordinate N. 4
G58 : Selezione del sistema di coordinate N. 5
G59 : Selezione del sistema di coordinate N. 6
I sistemi di coordinate del pezzo da 1 a 6 sono stabiliti con il primo ritorno al punto di riferimento dopo
l'accensione. All'accensione è selezionato il sistema di coordinate G54.

Quando il bit 2 (G92) del parametro N. 1202 è 1, l'esecuzione di G92 per l'impostazione del sistema di
coordinate del pezzo provoca l'allarme PS0010. Questo per evitare la confusione dei sistemi di coordinate
da parte del programmatore.

AVVERTENZA
L'impostazione del sistema di coordinate del pezzo dipende dal tipo di
programmazione, diametrale o radiale

- 86 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

Esempio
G90 G55 G00 X40.0 Y100.0 ;

Sistema di coordinate del pezzo N. 2 (G55)

100.0 In questo esempio, viene eseguito un


posizionamento a (X=40.0, Y=100.0) nel
sistema di coordinate del pezzo N. 2.

X
40.0

Fig. 7.2.2 (a)

7.2.3 Cambiamento del sistema di coordinate del pezzo


I sei sistemi di coordinate del pezzo specificati con G54/G59 possono essere cambiati variando i valori
dell'offset esterno dello zero pezzo o dell'offset dello zero pezzo.
Questo può essere fatto in tre modi diversi.
(1) Tramite il pannello MDI (sezione III-12.3.4)
(2) Da programma (usando il codice G dell'introduzione dati da programma o il codice G di impostazione
del sistema di coordinate del pezzo)
(3) Tramite la funzione di immissione dati dall'esterno
Il valore dell'offset esterno dello zero pezzo può essere variato tramite un segnale esterno. Consultare
il manuale del costruttore della macchina utensile.

Sistema di Sistema di Sistema di Sistema di


coordinate del coordinate del coordinate del coordinate del
pezzo N. 1 (G54) pezzo N. 2 (G55) pezzo N. 3 (G56) pezzo N. 4 (G57)

ZOFS2 ZOFS3
ZOFS4
ZOFS1
Sistema di coordinate del
ZOFS5 pezzo N. 5 (G58)

EXOFS

Zero macchina ZOFS6 Sistema di coordinate


del pezzo N. 6 (G59)
EXOFS : Offset esterno dello zero pezzo
ZOFS1 - ZOFS6 : Offset dello zero pezzo

Fig. 7.2.3 (a) Offset esterno dello zero pezzo e offset dello zero pezzo

- 87 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

Formato
- Cambiamento con il codice G dell'introduzione dati da programma
G10 L2 Pp IP_;
p=0 : Offset esterno dello zero pezzo
p=1 - 6 : Offset dello zero pezzo corrispondente al sistema di coordinate del pezzo 1 - 6
IP_ : Per un comando assoluto, offset dello zero pezzo per ciascun asse.
Per un comando incrementale, valore da sommare all'offset dello zero pezzo
attualmente impostato per ciascun asse (il risultato della somma diventa il nuovo offset
dello zero pezzo).

- Cambiamento con il codice G di impostazione del sistema di coordinate del


pezzo

M
G92 IP_ ;

T
G50 IP_ ;

Spiegazioni
- Cambiamento con il codice G dell'introduzione dati da programma
Con questo comando è possibile cambiare individualmente ciascun sistema di coordinate del pezzo.

- Cambiamento con il codice G di impostazione del sistema di coordinate del


pezzo
Con questo comando, il sistema di coordinate del pezzo (selezionato con uno dei codici G54/G59) si sposta
per formare un nuovo sistema di coordinate in cui la posizione attuale dell'utensile diventa il punto definito
dalle coordinate IP_.
Dato che la distanza di questo spostamento viene aggiunta a tutti gli offset dello zero pezzo, tutti i sistemi
di coordinate subiscono lo stesso spostamento.

AVVERTENZA
Quando viene impostato un sistema di coordinate con G92 dopo aver specificato
un offset esterno dello zero pezzo, il sistema di coordinate non è influenzato
dall'offset esterno dello zero pezzo. Ad esempio, se viene programmato
G92X100.0Z80.0; viene stabilito un sistema di coordinate in cui la posizione del
punto di riferimento dell'utensile è X = 100.0 e Z = 80.0.

T
Se IP è un comando incrementale, il sistema di coordinate è definito in modo che la posizione attuale
dell'utensile coincida con il risultato ottenuto sommando i valori incrementali programmati alla posizione
precedente dell'utensile. (Spostamento del sistema di coordinate)

- 88 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

Esempio

M
Y Y’
Sistema di coordinate del pezzo G54

Se quando l'utensile è a (200, 160) nel sistema di coordinate


160 100 Posizione utensile G54 viene programmato G92X100Y100, viene creato il
sistema di coordinate 1 (X' - Y') traslato del vettore A.

60 A X’ Nuovo sistema di coordinate del pezzo


100

X Sistema di coordinate del pezzo originale


100 200

Sistema di coordinate del pezzo G54 Supponiamo che sia specificato il sistema di
coordinate del pezzo G54. Se la relazione fra i
Z'
sistemi di coordinate G54 e G55 è corretta,
Sistema di coordinate del pezzo G55
con il comando G92X600.0 Z1200.0; è
1200.0 possibile settare un sistema di coordinate G55
Z'
nel quale il punto di riferimento dell'utensile
(punto nero nella figura) è a (600.0, 1200.0).
Z
1200.0 G92X600.0Z1200.0;
Supponiamo ora di aver caricato due pallet in
due diverse posizioni. Se i sistemi di
Z
coordinate dei due pallet sono G54 e G55 e la
X' loro relazione è corretta, il comando G92
A 600.0
specificato per un pallet provoca la stessa
traslazione dei due sistemi di coordinate.
X Questo significa che è possibile lavorare due
600.0 X' pezzi montati su due pallet con lo stesso
B programma, specificando semplicemente G54
A
o G55.
X
C

X' - Z' ...........Nuovo sistema di coordinate del pezzo


X - Z .............Sistema di coordinate del pezzo originale
A : Offset creato da G92
B : Offset dello zero pezzo per il sistema di coordinate G54
C : Offset dello zero pezzo per il sistema di coordinate G55

- 89 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

Esempio

T
X X'
Sistema di coordinate del pezzo G54
Se quando l'utensile è a (200, 160) nel sistema di coordinate
160 100 Posizione utensile G54 viene programmato G50X100Z100, viene creato il
sistema di coordinate 1 (X' - Z') traslato del vettore A.

60 Z' Nuovo sistema di coordinate del pezzo


A 100

Z Sistema di coordinate del pezzo originale


100 200

Supponiamo che sia specificato il sistema


Sistema di coordinate del pezzo G54
di coordinate del pezzo G54. Se la
X' relazione fra i sistemi di coordinate G54 e
Sistema di coordinate del pezzo G55 G55 è corretta, con il comando
G50X600.0 Z1200.0; è possibile settare
X' un sistema di coordinate G55 nel quale il
600.0 punto di riferimento dell'utensile (punto
nero nella figura) è a (600.0, 1200.0).
X G50X600.0Z1200.0;
Supponiamo ora che i pezzi vengano
Z' 600.0
1200.0 caricati in due posizioni diverse e che a
A
X queste due posizioni corrispondano,
Z rispettivamente, i sistemi di coordinate
Z' del pezzo G54 e G55. Se la relazione fra
1200.0
i sistemi di coordinate delle due posizioni
B
A è corretta, il comando G50 specificato per
Z
una posizione provoca la stessa
C traslazione dei due sistemi di coordinate.
Questo significa che è possibile lavorare
due pezzi caricati in due posizioni con lo
stesso programma, specificando
X' - Z' ........... Nuovo sistema di coordinate del pezzo semplicemente G54 o G55.
X - Z ............ Sistema di coordinate del pezzo originale
A : Offset creato da G50
B : Offset dello zero pezzo per il sistema di coordinate G54
C : Offset dello zero pezzo per il sistema di coordinate G55

- 90 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

7.2.4 Preset del sistema di coordinate del pezzo (G92.1)


Questa funzione presetta un sistema di coordinate del pezzo traslato con un intervento manuale rispetto al
precedente sistema di coordinate. Il nuovo sistema di coordinate del pezzo è spostato rispetto allo zero
macchina da un offset dello zero pezzo.
Esistono due metodi di utilizzo della funzione di preset del sistema di coordinate del pezzo. Un metodo usa
un comando del programma. L'altro metodo usa una operazione MDI sullo schermo della posizione
assoluta, sullo schermo della posizione relativa o sullo schermo generale della posizione
(sezione III-12.1.4).

Formato
M
G92.1 IP 0 ;
IP 0 : Specifica gli indirizzi degli assi soggetti all'operazione di preset del sistema di
coordinate del pezzo. Il comando non ha effetto per gli assi non specificati.

T
G50.3 IP 0 ; (G92.1 IP 0; per i sistemi B o C di codici G)
IP 0 : Specifica gli indirizzi degli assi soggetti all'operazione di preset del sistema di
coordinate del pezzo. Il comando non ha effetto per gli assi non specificati.

Spiegazioni
Quando nello stato di reset viene eseguito il ritorno manuale al punto di riferimento, viene presettato il
sistema di coordinate del pezzo, che è spostato rispetto al sistema di coordinate della macchina dell'offset
dello zero pezzo. Ad esempio, quando il ritorno manuale al punto di riferimento viene eseguito mentre è
selezionato il sistema di coordinate del pezzo G54, viene automaticamente stabilito (presettato) il sistema
di coordinate del pezzo la cui origine è separata dall'origine del sistema di coordinate della macchina di
un'entità pari all'offset dello zero pezzo associato a G54, e la distanza tra l'origine del sistema di coordinate
del pezzo e il punto di riferimento rappresenta la posizione corrente nel sistema di coordinate del pezzo.
Sistema di coordinate del pezzo G54

Zero pezzo
Offset dello zero
pezzo G54
Punto di riferimento

Zero macchina
Ritorno manuale al punto di riferimento

Se si usa un trasduttore di posizione assoluto, all'accensione viene automaticamente impostato (presettato)


il sistema di coordinate del pezzo la cui origine è separata dallo zero macchina di una distanza pari all'offset
dello zero pezzo associato a G54. La posizione della macchina viene letta dall'encoder assoluto e il valore
ottenuto sottraendo l'offset dello zero pezzo associato a G54 dal valore letto è la posizione corrente nel
sistema di coordinate del pezzo. Il sistema di coordinate del pezzo presettato in questo modo viene spostato
dai comandi e dalle operazioni elencati di seguito.

(a) Intervento manuale con il segnale assoluto in manuale spento.


(b) Comando di movimento eseguito con la macchina in stato di blocco.
(c) Movimento da interruzione del volantino.
(d) Funzionamento con immagine speculare.
(e) Spostamento del sistema di coordinate impostando il sistema di coordinate locali o il sistema di
coordinate del pezzo

- 91 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

Prendendo il caso (a) come esempio, il sistema di coordinate del pezzo viene spostato della distanza
dell'intervento manuale.

Sistema di coordinate del Po


pezzo G54 prima
dell'intervento manuale Entità del movimento
durante l'intervento
WZo manuale
Offset dello zero pezzo
Sistema di coordinate
del pezzo G54 dopo
l'intervento
manuale
Pn
Zero macchina

WZn-

Tramite codice G (G92.1), o da MDI, è possibile ripristinare il sistema di coordinate del pezzo spostato
dalla precedente operazione.
Il bit 3 (PPD) del parametro N. 3104 specifica se oltre alle coordinate assolute sono presettate anche le
coordinate relative.

Limitazioni
- Compensazione raggio utensile, compensazione lunghezza utensile,
correzioni utensile
Prima di usare la funzione di preset del sistema di coordinate del pezzo, cancellare la Compensazione
raggio utensile, compensazione lunghezza utensile e correzioni utensile. Se questa funzione viene eseguita
senza cancellare questi modi, i vettori di compensazione vengono cancellati.

M
- Compensazione lunghezza utensile
Prima di usare la funzione di preset del sistema di coordinate del pezzo, cancellare la compensazione
lunghezza utensile. Se questa funzione viene eseguita senza cancellare questi modi, i vettori di
compensazione vengono cancellati.

- Modi proibiti
Non usare la funzione di preset del sistema di coordinate del pezzo quando sono attivi i seguenti modi: scala,
rotazione del sistema di coordinate, immagine speculare programmabile.

- Ripartenza del programma


La funzione di preset del sistema di coordinate del pezzo non è eseguita durante la ripartenza del
programma.

- 92 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

7.2.5 Sistemi di coordinate del pezzo addizionali (G54.1 o G54)


(Serie M)
M
Oltre ai 6 sistemi di coordinate del pezzo G54/G59 (sistemi di coordinate del pezzo standard), possono
essere usati altri 48 sistemi di coordinate del pezzo (sistemi di coordinate del pezzo addizionali).

Formato
- Selezione di un sistema di coordinate del pezzo addizionale
G54.1 Pn ; o G54 Pn ;
Pn : Codice del sistema di coordinate del pezzo addizionale
n : da 1 a 48

- Impostazione dell'offset dello zero pezzo nei sistemi di coordinate del pezzo
addizionali (G10)
G10 L20 Pn IP_ ;
Pn : Codice del sistema di coordinate addizionale da settare
n : da 1 a 48
IP_ : Indirizzi asse ed entità dell'offset dello zero pezzo

Spiegazioni
- Selezione di un sistema di coordinate del pezzo addizionale
Quando il codice P viene specificato con G54.1 (G54), viene selezionato il sistema di coordinate del pezzo
addizionale specificato da P (da 1 a 48).
Una volta selezionato, il sistema di coordinate resta valido finché non viene selezionato un altro sistema di
coordinate. All'accensione, è selezionato il sistema di coordinate del pezzo standard G54.
G54.1 P1 Sistema di coordinate del pezzo addizionale N. 1
G54.1 P2 Sistema di coordinate del pezzo addizionale N. 2
:
G54.1 P48 Sistema di coordinate del pezzo addizionale N. 48

Come per i sistemi di coordinate standard, relativamente all'offset dello zero pezzo dei sistemi di coordinate
addizionali possono essere eseguite le seguenti operazioni:
(1) Gli offset possono essere visualizzati e impostati mediante la schermata di impostazione del sistema di
coordinate del pezzo.
(2) Gli offset possono essere impostati da programma usando il comando G10 (sezione II-7.2.3).
(3) Gli offset possono essere gestiti come variabili di sistema nelle macro istruzioni.
(4) Gli offset possono essere immessi ed emessi come dati esterni.
(5) Gli offset possono essere letti come dati modali del programma tramite la finestra PMC.

- Impostazione dell'offset dello zero pezzo nei sistemi di coordinate del pezzo
addizionali (G10)
Nel caso di un comando assoluto, il valore specificato diventa il nuovo valore di offset. Nel caso di un
comando incrementale, il valore specificato si somma algebricamente all'offset corrente.

- 93 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

Limitazioni
- Specifica dei codici P
Dopo G54.1 (G54) deve essere specificato un codice P. G54.1 non è specificato il codice P, viene
selezionato il sistema di coordinate addizionale N. 1 (come con G54.1 P1).
Se per il codice P viene specificato un valore fuori dai limiti, si ha l'allarme PS0030.
Un blocco G54.1 (G54) non può contenere codici P che non specifichino un sistema di coordinate del pezzo
addizionale.
Esempio 1) G54.1 G04 P1000 ;
Esempio 2) G54.1 M98 P48 ;

7.2.6 Impostazione automatica del sistema di coordinate


Quando non è utilizzato il sistema di coordinate del pezzo (bit 0 (NWZ) del parametro N. 8136 = 1), se il bit
0 (ZPR) del parametro N. 1201 è 1 (impostazione automatica del sistema di coordinate), un ritorno manuale
al punto di riferimento determina automaticamente il sistema di coordinate.
Se al parametro 1250 vengono assegnati α, β, e γ , il sistema di coordinate del pezzo viene stabilito in modo
che il punto base sul portautensile o la punta dell'utensile di riferimento siano X = α, Y = β, e Z = γ al
completamento del ritorno al punto di riferimento.
Questo è come specificare il seguente comando per l'impostazione del sistema di coordinate:

M
G92 Xα Yβ Zγ ;

T
G50 Xα Zγ ;

Quando è utilizzato il sistema di coordinate del pezzo (bit 0 (NWZ) del parametro N. 8136 = 0),
indipendentemente dall'impostazione del bit 0 (ZPR) del parametro N. 1201, un ritorno manuale al punto di
riferimento stabilisce il sistema di coordinate del pezzo in base all'offset dello zero pezzo
(parametri N. 1220 - 1226).

T
Se l'entità dello spostamento del sistema di coordinate del pezzo è diversa da 0, viene impostato un sistema
di coordinate del pezzo spostato dello stesso valore.

- 94 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

7.2.7 Spostamento del sistema di coordinate del pezzo (Serie T)


T

Spiegazioni
Se il sistema di coordinate impostato con il comando G50 o il sistema di coordinate impostato
automaticamente non corrisponde al sistema di coordinate programmato, il sistema di coordinate impostato
può essere spostato (sezione III-3.1).
Registrare l'entità dello spostamento voluto nella memoria dello spostamento del sistema di coordinate del
pezzo.
X
x X-Z : Sistema di coordinate usato per la programmazione
x-z : Sistema di coordinate attuale, con spostamento 0
(sistema di coordinate che deve essere modificato
mediante lo spostamento)

O’
z
Spostamento
Z
O

Registrare l'entità dello spostamento da O' a O nella


memoria dello spostamento del sistema di coordinate
del pezzo.

Fig. 7.2.7 (a) Spostamento del sistema di coordinate del pezzo

Formato
- Cambiamento dell'entità dello spostamento del sistema di coordinate del
pezzo
G10 P0 IP_;
IP : Specifica degli indirizzi asse e delle corrispondenti entità dello spostamento del sistema
di coordinate del pezzo

AVVERTENZA
Un singolo blocco può contenere una combinazione di X, Y, Z, C, U, V, W, e H
(nel sistema A di codici G). In questo caso, se sono specificati più comandi per lo
stesso asse, è valido l'ultimo.

- 95 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

Limitazioni
- Entità dello spostamento e comando di impostazione del sistema di coordinate
del pezzo
La programmazione di un comando per l'impostazione del sistema di coordinate (G50 (sistema A di
codici G) o G92 (sistemi B/C di codici G)) disabilita lo spostamento.
Esempio)
Se viene programmato G50X100.0Z80.0; il sistema di coordinate viene impostato in modo che la
posizione corrente dell'utensile sia X = 100.0, Z = 80.0, indipendentemente dall'entità dello
spostamento.

- Entità dello spostamento e impostazione del sistema di coordinate del pezzo


Se, dopo aver specificato l'entità dello spostamento, viene eseguita l'impostazione del sistema di coordinate
tramite il ritorno manuale al punto di riferimento, il sistema di coordinate è immediatamente spostato.

- Valore radiale o diametrale dello spostamento del sistema di coordinate del


pezzo
L'entità dello spostamento del sistema di coordinate è radiale o diametrale a seconda del tipo di
programmazione, radiale o diametrale, adottato.

Esempio)
Se la posizione attuale del punto di riferimento dell'utensile rispetto all'origine del sistema di
coordinate del pezzo dovrebbe essere X = Φ120.0 (diametro) e Z = 70.0 ma è X = Φ121.0 e Z = 69.0,
impostare i seguenti valori di spostamento:
X=1.0, Z=-1.0

X
69.0

Punto iniziale =
punto base
φ121.0

7.3 SISTEMA DI COORDINATE LOCALI


Quando si programma, è talvolta conveniente disporre, all'interno del sistema di coordinate del pezzo, di un
secondo sistema di coordinate. Tale sistema di coordinate è il sistema di coordinate locali.

Formato
G52 IP_; Specifica il sistema di coordinate locali
:
G52 IP 0 ; Cancella il sistema di coordinate locali
IP_ : Origine del sistema di coordinate locali

- 96 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE

Spiegazioni
Programmando G52 IP_;, è possibile impostare un sistema di coordinate locali in tutti i sistemi di
coordinate del pezzo (G54 - G59). L'origine di ciascun sistema di coordinate locali è nella posizione IP di
ciascun sistema di coordinate pezzo.
Una volta stabilito il sistema di coordinate locali, i comandi di movimento si specificano in tale sistema di
coordinate. Il sistema di coordinate locali può essere cambiato specificando, con G52, una nuova origine
del sistema di coordinate locali nel sistema di coordinate del pezzo.
Per cancellare il sistema di coordinate locali, tornando a specificare le coordinate nel sistema di coordinate
del pezzo, far coincidere l'origine del sistema di coordinate locali con il sistema di coordinate del pezzo,
programmando G52 IP 0.

IP_ (Sistema di coordinate locali)

(G54: Sistema di coordinate del pezzo 1)

G55 IP_ (Sistema di coordinate locali)


G56
G57
G58 (G59: Sistema di coordinate
del pezzo 6)

(Sistema di coordinate della macchina)

Origine del sistema di coordinate della macchina

Punto di riferimento
Fig. 7.3 (a) Impostazione del sistema di coordinate locali

AVVERTENZA
1 Quando ZCL (bit 2 del parametro N.1201) è 1 viene eseguito il ritorno manuale al
punto di riferimento di un asse, l'origine del sistema di coordinate locali di
quell'asse coincide con lo zero del sistema di coordinate del pezzo. Lo stesso è
vero quando viene dato il seguente comando:
G52 α0 ;
α: Asse che ritorna al punto di riferimento
2 L'impostazione del sistema di coordinate locali non cambia i sistemi di coordinate
del pezzo e della macchina.
3 Il sistema di coordinate locali viene o non viene cancellato da un reset in base
all'impostazione di un parametro. Il sistema di coordinate locali viene cancellato
quando il bit 3 (RLC) del parametro N. 1202 è 1. Il sistema di coordinate locali
viene cancellato indipendentemente dall'impostazione del bit 3 (RLC) del
parametro N. 1202 quando il bit 6 (CLR) del parametro N. 3402 è 0 e il bit 7
(WZR) del parametro N. 1201 è 1 o quando il bit 6 (CLR) del parametro N. 3402 è
1 e il bit 6 (C14) del parametro N. 3407 è 0.
4 Se si imposta un sistema di coordinate del pezzo con G92 (G50 per il sistema A
di codici G, nella serie T), il sistema di coordinate locali viene cancellato. Tuttavia,
il sistema di coordinate locali di un asse non specificato nel blocco con G92
(G50 per il sistema A di codici G, nella serie T) non viene cancellato e rimane
invariato.
5 G52 cancella temporaneamente la compensazione raggio utensile.
6 Immediatamente dopo G52 specificare un comando assoluto.

- 97 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02

7.4 SELEZIONE DEL PIANO


Il piano per l'interpolazione circolare, la compensazione fresa (Serie M), la rotazione del sistema di
coordinate (Serie M) o la foratura si seleziona con un codice G.
La seguente tabella indica la relazione fra i codici G e i piani selezionati.

Spiegazioni
Tabella 7.4 (a) Selezione del piano tramite codici G
Codice G Piano selezionato Xp Yp Zp
G17 Piano XpYp
Asse X o suo asse Asse Y o suo asse Asse Z o suo asse
G18 Piano ZpXp
parallelo parallelo parallelo
G19 Piano YpZp
Xp, Yp e Zp sono determinati dagli indirizzi asse specificati nei blocchi G17, G18, G19.
Se in un blocco G17, G18 o G19 viene omesso un indirizzo asse, viene assunto l'asse base corrispondente.
Il parametro N. 1022 permette di specificare che un asse opzionale è parallelo a uno degli assi base X, Y
o Z.
Se un blocco non contiene G17, G18 o G19, il piano resta invariato.
Il comando di movimento è irrilevante rispetto alla selezione del piano.
M
All'accensione o dopo un reset del CNC è attivo G17 (piano XY), G18 (piano ZX) o G19 (piano YZ) a
seconda dell'impostazione dei bit 1 (G18) e 2 (G19) del parametro N. 3402.

T
All'accensione è attivo G18 (piano ZX).

NOTA
Gli assi U, V e W possono essere usati con i sistemi B e C di codici G.

Esempio
Selezione del piano quando gli assi X e U sono paralleli:
G17 X_ Y_ ; Piano XY
G17 U_ Y_ ; Piano UY
G18 X_ Z_ ; Piano ZX
X_ Y_ ; Il piano (piano ZX) non cambia.
G17 ; Piano XY
G18 ; Piano ZX
G17 U_ ; Piano UY
G18 Y_ ; Piano ZX, l'asse Y si muove senza alcuna relazione con la selezione del piano.

- 98 -
B-64304IT/02 PROGRAMMAZIONE 8.VALORI DELLE COORDINATE E DIMENSIONI

8 VALORI DELLE COORDINATE E


DIMENSIONI
Il Capitolo 8, "VALORI DELLE COORDINATE E DIMENSIONI", è costituito dalle seguenti sezioni:

8.1 PROGRAMMAZIONE ASSOLUTA E INCREMENTALE ............................................................. 99


8.2 CONVERSIONE POLLICI/MILLIMETRI (G20, G21) .................................................................. 101
8.3 PROGRAMMAZIONE DEL PUNTO DECIMALE ........................................................................ 104
8.4 PROGRAMMAZIONE RADIALE E PROGRAMMAZIONE DIAMETRALE ............................. 106

8.1 PROGRAMMAZIONE ASSOLUTA E INCREMENTALE


Il movimento degli assi può essere programmato con comandi assoluti o con comandi incrementali.
In programmazione assoluta si specificano le coordinate del punto finale. In programmazione incrementale
si specifica la distanza da percorrere.

M
La selezione tra programmazione assoluta e programmazione incrementale si esegue con G90 o G91,
rispettivamente.

T
La specifica della programmazione assoluta e della programmazione incrementale dipende dal sistema di
codici G utilizzato. Vedere le tabelle che seguono.
Sistema di codici G A BoC
Metodo di comando Indirizzo parola G90, G91

Formato
M
Programmazione assoluta G90 IP_ ;
Programmazione incrementale G91 IP_ ;

T
- Sistema A di codici G
Programmazione assoluta Programmazione incrementale
Comando di movimento asse X X U
Comando di movimento asse Z Z W
Comando di movimento asse Y Y V
Comando di movimento asse C C H

- Sistemi B e C di codici G
Programmazione assoluta G90 IP_ ;
Programmazione incrementale G91 IP_ ;

- 99 -
8.VALORI DELLE COORDINATE E DIMENSIONI PROGRAMMAZIONE B-64304IT/02

Esempio
M
G90 X40.0 Y70.0 ; Programmazione assoluta
G91 X-60.0 Y40.0 ; Programmazione incrementale

Punto finale
70.0 Y

30.0 Punto iniziale

X
40.0 100.0

T
Movimento dell'utensile dal punto P al punto Q (con programmazione diametrale per l'asse X)
Sistema A di codici G Sistemi B e C di codici G
Programmazione assoluta X400.0 Z50.0 ; G90 X400.0 Z50.0 ;
Programmazione incrementale U200.0 W-400.0 ; G91 X200.0 Z-400.0 ;

X Q
(400, 50)
P
(200, 450)
φ400
φ200
Z

50
450

NOTA
1 I comandi assoluti e incrementali possono essere usati insieme in un blocco.
Nell'esempio precedente, potrebbe essere specificato il seguente comando:
X400.0 W-400.0 ; (Con il sistema A di codici G)
2 Se, con il sistema A di codici G, in un blocco si utilizzano la programmazione
assoluta e la programmazione incrementale per lo stesso asse (ad esempio,
X e U, o Z e W), è valido il tipo di programmazione specificato per ultimo.
3 Con il sistema A di codici G non è possibile specificare comandi incrementali per
gli assi A e B.

- 100 -
B-64304IT/02 PROGRAMMAZIONE 8.VALORI DELLE COORDINATE E DIMENSIONI

8.2 CONVERSIONE POLLICI/MILLIMETRI (G20, G21)


La programmazione in pollici o in millimetri può essere selezionata tramite codice G.

Formato
Programmazione in pollici
Programmazione in millimetri

Questo codice G deve essere specificato in un blocco indipendente prima di impostare il sistema di
coordinate all'inizio del programma. Quando viene specificato il codice G per la conversione pollici/
millimetri, le unità dei dati programmati sono commutate nell'incremento minimo di immissione del
sistema di incrementi adottato (Sezione II-2.3). Le unità dei dati programmati in gradi non cambiano. Dopo
la conversione pollici/millimetri, cambiano le unità dei seguenti dati:
• Velocità di avanzamento comandata con il codice F
• Comandi di posizione
• Offset dello zero pezzo
• Valori delle correzioni utensili
• Unità di scala per il generatore manuale di impulsi
• Entità del movimento in avanzamento incrementale
• Alcuni parametri
All'accensione il CNC è nello stato in cui si trovava al momento del precedente spegnimento.

PERICOLO
G20 e G21 non devono essere commutati durante un programma.

NOTA
1 Quando le unità di macchina e di programmazione sono diverse, l'errore
massimo è pari alla metà dell'incremento minimo di comando. Questo errore non
si accumula
2 La commutazione pollici/millimetri può essere eseguita anche agendo sui dati di
impostazione (Sezione III-12.3.1).
3 Se non si utilizzano le funzioni selezionabili con il bit 2 (IRF) del parametro
N. 14000 o con il bit 0 (NIM) del parametro N. 11222, eseguire la conversione
pollici/millimetri su un punto con coordinate di macchina uguali a 0.

Esecuzione della conversione pollici/millimetri sul punto di riferimento


(il parametro N. 1240 non è a 0)
Normalmente, la conversione pollici/millimetri deve essere eseguita su un punto con coordinate di
macchina uguali a 0. Tuttavia, mettendo a 1 il bit 2 (IRF) del parametro N. 14000 si abilita l'esecuzione
della conversione pollici/millimetri sul punto di riferimento (parametro N. 1240).

Se si tenta di eseguire la conversione pollici/millimetri quando un asse per il quale è abilitata questa
funzione non è sul punto di riferimento, si verifica l'allarme PS5362, che annulla il tentativo.
Prima di specificare la conversione pollici/millimetri, portare l'asse che interessa sul punto d riferimento, ad
esempio, con un comando G28.
Se per un asse il bit 7 (IMAx) del parametro N. 14000 è 1, anche se la conversione pollici/millimetri viene
eseguita quando quell'asse non è sul punto di riferimento, l'allarme PS5362 non si verifica.
Quindi, è bene mettere a 1 IMAx per gli assi non coinvolti nella conversione pollici/millimetri, quali gli assi
rotativi.
Così non sarà necessario eseguire il ritorno al punto di riferimenti di tali assi prima di effettuare la
conversione pollici/millimetri.

- 101 -
8.VALORI DELLE COORDINATE E DIMENSIONI PROGRAMMAZIONE B-64304IT/02

Inoltre se, con uno dei seguenti comandi od operazioni, è stato traslato il sistema di coordinate del pezzo, il
bit 1 (CIM) del parametro N. 11222 può essere utilizzato per scegliere tra l'indicazione dell'allarme PS1298
e la cancellazione dell'offset.
• Intervento manuale eseguito con il segnale di assoluto in manuale OFF
• Comando di movimento eseguito con la macchina in stato di blocco
• Comando di movimento mediante un'interruzione con volantino
• Funzionamento in immagine speculare
• Spostamento del sistema di coordinate del pezzo causato dall'impostazione del sistema di coordinate
locali (G52) o dall'impostazione del sistema di coordinate del pezzo

Condizioni per la commutazione


Per eseguire la conversione pollici/millimetri nel punto di riferimento devono essere soddisfatte tutte le
seguenti condizioni. Se una di esse non è soddisfatta, si verifica l'allarme PS1298. Per la sincronizzazione
con accoppiamento elettronico, si verifica l'allarme PS1595.
• Posizionamento o interpolazione lineare
• Modo interpolazione in coordinate polari cancellato (Serie T)
• Comando in coordinate polari cancellato (Serie M)
• Rilevazione errore di velocità del mandrino OFF (Serie T)
• Compensazione raggio utensile cancellata
• Controllo della direzione normale cancellato (Serie M)
• Compensazione lunghezza utensile cancellata (Serie M)
• Scala cancellata (Serie M)
• Immagine speculare programmabile cancellata (Serie M)
• Tornitura poligonale cancellata (Serie T)
• Richiamo macro modale cancellato
• Modo rotazione del sistema di coordinate OFF (Serie M)
• Immagine speculare per doppia torretta o lavorazione bilanciata cancellate (Serie T)
• Ciclo fisso cancellato
• Sincronizzazione con accoppiamento elettronico cancellata (Serie M)
• Controllo velocità di taglio costante cancellato

La conversione pollici/millimetri nella posizione di riferimento necessita della seguente impostazione:


• Sistema di coordinate del pezzo (parametro NWZ(No.8136#0)=0)

Limitazioni
Le seguenti operazioni devono essere eseguite in un punto con coordinate di macchina uguali a 0.
• Conversione pollici/millimetri basata sul bit 2 (INI) del parametro di impostazione N. 0
• Conversione pollici/millimetri basata sull'introduzione dati da programma (G10)
• Conversione pollici/millimetri basata sulla variabile macro N. 3005

- 102 -
B-64304IT/02 PROGRAMMAZIONE 8.VALORI DELLE COORDINATE E DIMENSIONI

Esecuzione della conversione pollici/millimetri in posizioni diverse dal punto


di riferimento
Impostando il bit 0 (NIM) del parametro N. 11222 si abilita l'esecuzione della conversione
pollici/millimetri anche in posizioni diverse dal punto di riferimento.

Inoltre se, con uno dei seguenti comandi od operazioni, è stato traslato il sistema di coordinate del pezzo, il
bit 1 (CIM) del parametro N. 11222 può essere utilizzato per scegliere tra l'indicazione dell'allarme PS1298
e la cancellazione dell'offset.
• Intervento manuale eseguito con il segnale di assoluto in manuale OFF
• Comando di movimento eseguito con la macchina in stato di blocco
• Comando di movimento mediante un'interruzione con volantino
• Funzionamento in immagine speculare
• Spostamento del sistema di coordinate del pezzo causato dall'impostazione del sistema di coordinate
locali (G52) o dall'impostazione del sistema di coordinate del pezzo

Per un asse assoggettato ad uno dei seguenti controlli la conversione automatica del sistema di coordinate
basata su questa funzione non viene eseguita.
• Controllo assi da PMC
• Controllo sincrono (per l'asse slave quando l'asse master è un asse del PMC)
• Controllo mandrino con un motore asse

Condizioni per la commutazione


L'esecuzione della conversione pollici/millimetri in una posizione diversa dal punto di riferimento richiede
che siano soddisfatte tutte le seguenti condizioni. Se una di esse non è soddisfatta, si verifica l'allarme
PS1298. Per la sincronizzazione con accoppiamento elettronico, si verifica l'allarme PS1595.
• Posizionamento o interpolazione lineare
• Modo interpolazione in coordinate polari cancellato (Serie T)
• Comando in coordinate polari cancellato (Serie M)
• Rilevazione errore di velocità del mandrino OFF (Serie T)
• Compensazione raggio utensile cancellata
• Controllo della direzione normale cancellato (Serie M)
• Compensazione lunghezza utensile cancellata (Serie M)
• Scala cancellata (Serie M)
• Immagine speculare programmabile cancellata (Serie M)
• Tornitura poligonale cancellata (Serie T)
• Richiamo macro modale cancellato
• Modo rotazione del sistema di coordinate OFF (Serie M)
• Immagine speculare per doppia torretta o lavorazione bilanciata cancellate (Serie T)
• Ciclo fisso cancellato
• Sincronizzazione con accoppiamento elettronico cancellata (Serie M)
• Controllo velocità di taglio costante cancellato

La conversione pollici/millimetri in una posizione diversa dal punto di riferimento necessita delle seguenti
impostazioni:
• Sistema di coordinate del pezzo (parametro NWZ(No.8136#0)=0)
• Preset del sistema di coordinate del pezzo
(parametro NWC(No.8136#1)=0)

Limitazioni
Le seguenti operazioni devono essere eseguite in un punto con coordinate di macchina uguali a 0.
• Conversione pollici/millimetri basata sul bit 2 (INI) del parametro di impostazione N. 0
• Conversione pollici/millimetri basata sull'introduzione dati da programma (G10)
• Conversione pollici/millimetri basata sulla variabile macro N. 3005
- 103 -
8.VALORI DELLE COORDINATE E DIMENSIONI PROGRAMMAZIONE B-64304IT/02

8.3 PROGRAMMAZIONE DEL PUNTO DECIMALE


I valori numerici possono essere immessi con il punto decimale. Il punto decimale può essere usato nella
specifica di distanze, tempi o velocità. I seguenti indirizzi accettano il punto decimale:

M
X, Y, Z, U, V, W, A, B, C, I, J, K, Q, R, F

T
X, Y, Z, U, V, W, A, B, C, I, J, K, R, F

Spiegazioni
Esistono due tipi di notazione con punto decimale: notazione tipo calcolatrice e notazione standard.
Quando si usa l'introduzione con punto decimale tipo calcolatrice tascabile, un valore senza punto decimale
è considerato specificato in millimetri, pollici, o gradi. Se si usa la notazione standard, lo stesso valore è
considerato come specificato in incrementi minimi di immissione. La scelta tra la notazione standard e la
notazione tipo calcolatrice si esegue con il bit 0 (DPI) del parametro N. 3401. I valori possono essere
specificati con e senza il punto decimale.

Esempio
Programmazione del punto Programmazione del punto
Comando del programma
decimale tipo calcolatrice decimale standard
1mm
X1000 1000mm
Unità : Incremento minimo di immissione
Comando senza punto decimale Unità :mm
(0.001mm)
X1000.0 1000mm 1000mm
Comando con punto decimale Unità :mm Unità :mm

AVVERTENZA
In un blocco, prima dei valori numerici, deve essere specificato il codice G
appropriato.

- 104 -
B-64304IT/02 PROGRAMMAZIONE 8.VALORI DELLE COORDINATE E DIMENSIONI

NOTA
1 I valori al di sotto dell'incremento minimo di programmazione sono trattati come
segue (arrotondati verso destra):
Esempio 1)
Quando i valori sono specificati direttamente per un indirizzo (nel caso di IS-B)
X-0.0004 ; Trattato come X0.000
X0.0004 ; Trattato come X0.000
X-0.0005 ; Trattato come X0.000
X0.0005 ; Trattato come X0.001
X-0.0006 ; Trattato come X-0.001
X0.0006 ; Trattato come X0.001
Nella seguente tabella si alternano comandi incrementali positivi e negativi
con lo stesso valore assoluto. Con l'arrotondamento verso destra, i risultati
sono periodici. Con l'arrotondamento normale, invece, a causa della simmetria
rispetto a zero dell'arrotondamento, i risultati non sono periodici.
Per evitare questo problema, per i calcoli viene utilizzato l'arrotondamento
verso destra.
Arrotondamento Arrotondamento
verso destra normale
G90 G00 X0 ; X0.000 X0.000
G91 X-0.0015 ; X-0.001 X-0.002
G91 X0.0015 ; X0.000 X-0.001
G91 X-0.0015 ; X-0.001 X-0.003
G91 X0.0015 ; X0.000 X-0.002
G91 X-0.0015 ; X-0.001 X-0.004
G91 X0.0015 ; X0.000 X-0.003

Esempio 2)
Quando viene assegnato un valore ad una variabile macro (nel caso di IS-B)
Viene eseguito l'arrotondamento verso destra.
#100=1.2345 ;
X#100 ; Trattato come X1.235
#100=-1.2345 ;
X#100 ; Trattato come X-1.234

2 Se vengono specificate più di nove cifre si ha un allarme. Se viene programmato


un valore con punto decimale, il numero di cifre viene controllato dopo che il
valore immesso è stato convertito in un numero intero di incrementi minimi di
immissione.
Esempi:
X0.123456789 ;
Si ha l'allarme PS0003 perché sono specificate più di nove cifre.
X1234567.8 ;
Se l'incremento minimo di immissione è 0.001mm, il valore è convertito nel
numero intero 1234567800. Poiché l'intero ha più di nove cifre, si ha
l'allarme.

- 105 -
8.VALORI DELLE COORDINATE E DIMENSIONI PROGRAMMAZIONE B-64304IT/02

8.4 PROGRAMMAZIONE DIAMETRALE E


PROGRAMMAZIONE RADIALE
Siccome la sezione dei pezzi lavorati su un tornio è generalmente circolare, le dimensioni di un pezzo
possono essere programmate in due modi:
specificandone il diametro o specificandone il raggio.

B
R2
D1 D2 R1

Asse X
D1, D2 : Programmazione diametrale
R1, R2 : Programmazione radiale Asse Z

Se viene specificato il diametro del pezzo si parla di programmazione diametrale mentre se viene
specificato il raggio del pezzo si parla di programmazione radiale.

Spiegazioni
- Note sulla programmazione diametrale/radiale per ciascun comando
La scelta fra programmazione diametrale e programmazione radiale può essere specificata con il bit 3
(DIA) del parametro (N. 1006. Quando si usa la programmazione diametrale, considerare le condizioni
elencate nella Tabella 8.4 (a).

Tabella 8.4 (a) Note sulla programmazione diametrale


Voce Note
Comandi dell'asse X Specificati come diametri
Specificati come diametri
Comando incrementale
Nell'esempio qui sopra specificare D2 meno D1 per il movimento da B ad A.
Impostazione del sistema di coordinate Specificare le coordinate con un valore diametrale
Componenti delle correzioni utensili Il bit 1 del parametro N. 5004 determina la scelta fra diametro e raggio
Parametri dei cicli fissi (Serie T), come la
Specificare un valore radiale
profondità di taglio lungo l'asse X. (R)
Raggio dell'interpolazione circolare (R, I, K, ecc.) Specificare un valore radiale
Velocità di avanzamento Specificare la variazione del raggio/giro o la variazione del raggio/minuto
Visualizzazione della posizione Visualizzata con un valore diametrale

- 106 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

9 FUNZIONE VELOCITA' MANDRINO


(FUNZIONE S)
La velocità del mandrino può essere controllata specificando un valore numerico per l'indirizzo S.
Il capitolo 9, "FUNZIONE VELOCITA' MANDRINO (FUNZIONE S)", è costituito dalle seguenti sezioni:

9.1 SPECIFICA DELLA VELOCITA' DEL MANDRINO CON UN CODICE ................................... 107
9.2 SPECIFICA DIRETTA DELLA VELOCITA' DEL MANDRINO (COMANDO S-5 CIFRE) ...... 107
9.3 CONTROLLO DELLA VELOCITA' DI TAGLIO COSTANTE (G96, G97)................................. 108
9.4 FUNZIONE DI POSIZIONAMENTO DEL MANDRINO .............................................................. 112
9.5 RILEVAZIONE DEGLI ERRORI DI VELOCITA' DEL MANDRINO ......................................... 117
9.6 CONTROLLO MANDRINO CON UN MOTORE ASSE ............................................................... 121

9.1 SPECIFICA DELLA VELOCITA' DEL MANDRINO CON UN


CODICE
Quando viene specificato un valore dopo l'indirizzo S, il segnale del codice e il segnale strobe vengono
inviati alla macchina per il controllo della velocità di rotazione del mandrino.
In un blocco può essere programmato un solo codice S. Per le modalità di programmazione, numero di cifre
del codice S, ordine di esecuzione delle operazioni quando lo stesso blocco contiene un codice S e un
comando di movimento, ecc., consultare il manuale del costruttore della macchina utensile.

9.2 SPECIFICA DIRETTA DELLA VELOCITA' DEL MANDRINO


(COMANDO S-5 CIFRE)
La velocità del mandrino può essere specificata direttamente con l'indirizzo S seguito da un numero di 5
cifre (giri/min). Le unità in cui viene espressa la velocità del mandrino possono essere diverse a seconda
della scelta operata dal costruttore della macchina utensile. Per i dettagli consultare il manuale fornito dal
costruttore stesso.

- 107 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

9.3 CONTROLLO DELLA VELOCITA' DI TAGLIO COSTANTE


(G96, G97)
La velocità di taglio (velocità relativa fra l'utensile e il pezzo) si specifica con il codice S. La velocità di
rotazione del mandrino viene calcolata in modo che la velocità di taglio risultante venga mantenuta costante
al variare della posizione dell'utensile.

Formato
- Attivazione della velocità di taglio costante
G96 Sxxxxx ;
↑ Velocità di taglio (m/min o piedi/min)
Le unità usate per specificare la velocità di taglio possono essere diverse per una scelta del
costruttore della macchina utensile.

- Cancellazione della velocità di taglio costante


G97 Sxxxxx ;
↑ Velocità del mandrino (min-1)
Le unità usate per specificare la velocità di taglio possono essere diverse per una scelta del
costruttore della macchina utensile.

- Specifica dell'asse al quale si applica il controllo della velocità di taglio


costante.
G96 Pα ;
P0 : Asse specificato dal parametro N. 3770
P1 : Asse X, P2 : Asse Y, P3 : Asse Z, P4 : Quarto asse
P5 : Quinto asse

T
NOTA
Se è abilitato il controllo plurimandrino (selezione del mandrino con l'indirizzo P),
la specifica asse con l'indirizzo P è disabilitata. Per la specifica asse utilizzare il
parametro N. 3770.

- Velocità massima del mandrino


G92 S_ ;
Specificare la velocità massima del mandrino (giri/min) dopo il codice S.

T
G50 S_ ;
Specificare la velocità massima del mandrino (giri/min) dopo il codice S.

NOTA
G50 è utilizzabile con il sistema A di codici G.

- 108 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

Spiegazioni
- Attivazione della velocità di taglio costante (G96)
G96 (attivazione della velocità di taglio costante) è un codice G modale. Dopo un comando G96, il sistema
entra nel modo velocità di taglio costante (modo G96) e i valori di S specificati sono interpretati come
comandi della velocità di taglio. Un comando G96 deve specificare l'asse per il quale è eseguito il controllo
della velocità di taglio costante. Il comando G97 cancella il modo G96. Nel modo G96, la velocità del
mandrino (giri/min) è limitata al valore di S specificato nel blocco G92 S_; o G50 S_ ; (velocità massima
del mandrino). All'accensione, la velocità massima del mandrino non è ancora stabilita e quindi la velocità
del mandrino non è limitata. Nel modo G96, S (velocità di taglio) viene assunto come S=0 finché non viene
comandato M03 (rotazione del mandrino in senso orario) o M04 (rotazione del mandrino in senso
antiorario).
Velocità del mandrino (min-1)

La velocità del mandrino (giri/min) è quasi uguale


alla velocità di taglio (m/min) per un raggio di circa
160 mm.

La velocità di taglio S è 600 m/min.

Relazione fra il raggio del pezzo, la velocità Raggio (mm)


del mandrino e la velocità di taglio

Fig. 9.3 (a) Relazione fra il raggio del pezzo, la velocità del mandrino e la velocità di taglio

- Impostazione del sistema di coordinate del pezzo per il controllo della velocità
di taglio costante
Per eseguire il controllo della velocità di taglio costante, occorre impostare il sistema di coordinate del
pezzo in modo che il valore della coordinata al centro dell'asse di rotazione del pezzo, per esempio l'asse Z,
(asse a cui si applica il controllo della velocità di taglio costante) sia zero.
X

Fig. 9.3 (b) Esempio di sistema di coordinate del pezzo per il controllo della velocità di taglio costante

- 109 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

- Velocità di taglio specificata nel modo G96


Modo G96 Modo G97

Specificare la velocità di taglio in m/min


(o piedi/min)

Comando G97

Memorizzazione della velocità di taglio in


m/min (o piedi/min)

Specificato

Comando di Viene usata la velocità


velocità del del mandrino (giri/min)
mandrino specificata

Non specificato

La velocità di taglio (m/min o


piedi/min) viene convertita in
velocità del mandrino (giri/min)

Comandi diversi da G96

Comando G96
Specificato

Viene usata la
velocità di taglio Comando della
specificata velocità di taglio

Non specificato

Viene usata la velocità di taglio


precedentemente memorizzata piedi/min).
Se non esiste, viene assunto 0.

Limitazioni
- Velocità di taglio costante e filettatura
Il controllo della velocità di taglio costante è attivo anche per la filettatura. Quindi, per la filettatura frontale
e conica si raccomanda di cancellare il controllo della velocità di taglio costante con il comando G97,
per evitare eventuali problemi di risposta del servo sistema alle variazioni di velocità del mandrino.

- Velocità di taglio costante e movimenti in rapido (G00)


In un blocco in rapido specificato da G00, la velocità di taglio non viene calcolata in base al variare della
posizione dell'utensile, ma in base alla posizione finale del blocco, in quanto durante il rapido non c'è
lavorazione del pezzo.

- 110 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

Esempio
T

Valore radiale
Percorso programmato
X
Percorso utensile compensato
1
2 700
4 675
600
N11
N16 3 500
N15
N14 N11 400
N16 375
N15
300
N14
200

φ600 φ400 100

Z
300 400 500 600 700 800 900 1000 1100 1300 1400 1500
1200 1475
1050

N8 G00 X1000.0 Z1400.0 ;


N9 T33;
N11 X400.0 Z1050.0 ;
N12 G50 S3000 ; (Specifica della velocità massima del mandrino)
N13 G96 S200 ; (Velocità di taglio 200 m/min)
N14 G01 Z700.0 F1000 ;
N15 X600.0 Z 400.0;
N16 Z_ ;
Il CNC calcola la velocità del mandrino corrispondente alla velocità di taglio programmata in base alla
coordinata X del percorso programmato (che non corrisponde al percorso compensato quando è attiva la
compensazione). Nel soprastante esempio, la velocità del mandrino al punto finale del blocco N15
corrisponde ad una velocità di taglio di 200 m/min per un diametro di 600mm (posizione della punta
dell'utensile e non del centro della torretta). Se la coordinata dell'asse X è negativa, il CNC usa il valore
assoluto.

- 111 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

9.4 FUNZIONE DI POSIZIONAMENTO DEL MANDRINO


Introduzione
T
Nelle operazioni di tornitura, il mandrino, accoppiato al motore mandrino, viene fatto ruotare ad una data
velocità, facendo ruotare il pezzo montato sul mandrino per la lavorazione. Questo stato del mandrino è
detto modo rotazione normale
La funzione di posizionamento del mandrino muove il mandrino su un certo angolo, posizionando il pezzo
in modo appropriato. Questo stato del mandrino è detto modo posizionamento.

La funzione di posizionamento del mandrino è caratterizzata da questa sequenza operativa:


1. Selezione del modo posizionamento mandrino.
Mettere il mandrino nel modo posizionamento e stabilire un punto di riferimento specificando il
codice M definito a questo scopo mediante un parametro. (Orientamento mandrino)
2. Posizionamento del mandrino
E' possibile posizionare il mandrino con uno dei due metodi seguenti:
1) Posizionamento con un angolo qualsiasi utilizzando un indirizzo asse
2) Posizionamento con un angolo semi-fisso utilizzando uno dei codici M definiti a questo scopo
mediante parametri.
3. Selezione del modo rotazione normale
Mettere il mandrino nel modo tornitura specificando il codice M definito a questo scopo mediante un
parametro.

L'incremento minimo di comando, l'incremento minimo di immissione e il valore massimo per l'asse di
posizionamento del mandrino sono i seguenti:
• Incremento minimo di comando
360 •
=• 0.088 gradi (se il rapporto di accoppiamento fra mandrino ed encoder è 1:1)
4096
• Incremento minimo di immissione
0.001 gradi (IS-B)
• Valore massimo
±999999.999 gradi

NOTA
1 Per utilizzare la funzione di posizionamento del mandrino, mettere a 1 il bit 1
(AXC) e a 0 il bit 2 (SCS) del parametro N. 8133.
2 Il posizionamento mandrino e la contornatura Cs mediante mandrino seriale non
possono essere abilitati contemporaneamente.
Se lo sono (AXC=1 e SCS=1), diventano entrambi non validi.
Quindi se con la suddetta specifica viene assegnato un valore negativo al
parametro N. 1023, si verifica l'allarme SV1026.
3 Per utilizzare la funzione di contornatura Cs, mettere a 0 il bit 1 (AXC) e a 1 il bit 2
(SCS) del parametro N. 8133.

- 112 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

9.4.1 Orientamento del mandrino


Quando il posizionamento del mandrino viene eseguito la prima volta dopo aver usato normalmente il
motore del mandrino, o quando il posizionamento viene interrotto, è necessario eseguire l'orientamento del
mandrino.
L'orientamento permette di arrestare il mandrino a una posizione predeterminata.
L'orientamento del mandrino è comandato dal codice M specificato con il parametro N. 4960. La direzione
di orientamento può essere stabilita con un parametro.
Per il mandrino seriale si imposta con il bit 4 (RETSV) del parametro N. 4000. Con la funzione "grid shift",
è possibile spostare la posizione di orientamento nell'intervallo da 0 a 360 gradi per il mandrino seriale
(parametro N. 4073).

- Velocità di avanzamento durante l'orientamento


La velocità di orientamento per il mandrino seriale si determina mediante l'impostazione di un parametro
relativo al mandrino.
L'arresto orientato del mandrino seriale avviene dopo alcuni giri del motore mandrino.

- Omissione dell'orientamento
Il bit 2 (ISZ) del parametro N. 4950 permette di specificare l'omissione dell'orientamento quando esso non
è necessario nel momento in cui viene stabilito il modo posizionamento mandrino (ad esempio, quando
deve essere eseguito solo un movimento incrementale rispetto alla posizione corrente). Più specificamente,
il codice M che seleziona il modo posizionamento mandrino si limita ad attivarlo ed il processo viene
completato senza orientamento.

- Punto di riferimento del programma


La posizione finale dell'orientamento diventa il punto di riferimento del programma. Il punto di riferimento
del programma può essere cambiato mediante l'impostazione del sistema di coordinate (G92 o G50) o
l'impostazione automatica del sistema di coordinate (bit 0 (ZPR) del parametro N. 1201).
Quando viene omesso l'orientamento, il punto di riferimento del programma non è definito ed il risultato del
posizionamento mandrino con un comando assoluto è imprevedibile.

- 113 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

9.4.2 Posizionamento del mandrino (Serie T)


T
Il mandrino può essere posizionato ad un angolo qualsiasi o ad un angolo semi-fisso.

- Posizionamento ad un angolo semi-fisso


Il comando viene dato con un codice M. I codici M utilizzabili sono 6: da Mα a M (α+5). Il valore α deve
essere preventivamente impostato con il parametro N. 4962. Gli angoli di posizionamento corrispondenti a
Mα .. M (α+5) sono elencati nella tabella seguente. Il valore β deve essere preventivamente impostato con
il parametro N. 4963.

Codice M
Angolo di posizionamento (Es.) β = 30°
(Es.) β = α + 5
Mα β 30°
M (α + 1) 2β 60°
M(α+2) 3β 90°
M(α+3) 4β 120°
M(α+4) 5β 150°
M(α+5) 6β 180°

Il numero dei codici M utilizzabili, valore γ nella sottostante tabella, può essere modificato con il parametro
N. 4964, in questo caso, i codici M specificabili vanno da Mα a M (α + (γ - 1)) ed è possibile definire fino
a 255 codici M, da Mα a M (α + (255 - 1)).

Codice M
Angolo di posizionamento (Es.) β = 30°
(Es.) γ = 11
Mα β 30°
M (α + 1) 2β 60°
M(α+2) 3β 90°
M(α+3) 4β 120°
... ... ...
M (α + 11 - 1) 11β 330°

Il senso di rotazione può essere specificato con IDM (bit 1 del parametro N. 4950).

- Posizionamento ad un angolo qualsiasi


Programmando un indirizzo asse seguito da un valore numerico con il segno è possibile specificare il
posizionamento ad un angolo qualsiasi. L'indirizzo asse deve essere specificato nel modo G00.
(Nella spiegazione che segue, si assume che l'indirizzo asse sia C.)
(Esempio) C-45000
C180.000
Può essere programmato un valore numerico con punto decimale. Il valore deve essere specificato in gradi.
(Esempio) C36.0=C36 gradi

- Comandi assoluti e comandi incrementali


I comandi di posizionamento ad un angolo semi-fisso (mediante codice M) sono sempre incrementali.
Il senso di rotazione si specifica con il bit 1 (IDM) del parametro N. 4950.
I comandi di posizionamento ad un angolo qualsiasi possono essere assoluti o incrementali.
Quando questi comandi sono assoluti e per l'asse rotativo è abilitata la funzione di roll-over (il bit 0 (ROA)
del parametro N. 1008 è 1), è abilitato anche il posizionamento per il percorso più breve (il bit 1 (RAB) del
parametro N. 1008 è 0).

- 114 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

Punto di riferimento del programma

90°

180°

Sistema A di codici G Sistemi B e C di codici G


Comando da A a Comando da A a
Formato del comando Indirizzo Indirizzo usato e
B nella figura qui B nella figura qui
usato codice G
sopra sopra
Specificare il punto finale
con la sua distanza dal
Comando assoluto C C180. ; G90, C G90 C180. ;
punto di riferimento del
programma.
Specificare la distanza dal
Comando
punto iniziale al punto H H90. ; G91, C G91 C90. ;
incrementale
finale.

- Velocità di avanzamento durante il posizionamento


La velocità di avanzamento durante il posizionamento corrisponde alla velocità in rapido specificata dal
parametro N. 1420.
A questa velocità può essere applicata una regolazione del 100%, 50%, 25%, e FO (parametro N. 1421).

9.4.3 Cancellazione del posizionamento del mandrino (Serie T)


T
Per passare dal modo posizionamento mandrino al modo rotazione normale del mandrino, specificare il
codice M impostato col parametro N. 4961.

Il passaggio dal modo posizionamento al modo rotazione normale avviene anche nei seguenti casi:
<1> Viene eseguito un reset (compreso l'arresto in emergenza) in seguito ad un allarme asse.
<2> Viene eseguito un reset (compreso l'arresto in emergenza) in seguito ad un allarme mandrino.
<3> L'orientamento viene interrotto da un reset, da un allarme, o da qualche altro evento.
<4> Viene eseguito un reset (compreso l'arresto in emergenza) quando il bit 0 (IOR) del parametro N. 4950
è 1.

AVVERTENZA
1 Durante l'esecuzione delle sequenze relative al posizionamento del mandrino
(selezione del modo posizionamento mandrino, posizionamento del mandrino e
selezione del modo rotazione normale) il segnale di arresto del funzionamento
automatico (*SP) non è valido. Questo significa che, anche se il segnale *SP va a
0, il funzionamento automatico non si arresta fino al completamento di queste
sequenze.
2 Durante il posizionamento mandrino, la prova a vuoto ed il blocco macchina non
sono validi.
3 Per i codici M della funzione di posizionamento del mandrino il blocco delle
funzioni ausiliarie è disabilitato.
- 115 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

AVVERTENZA
4 La funzione di controllo dell'asse Cs del mandrino seriale (bit 2 (SCS) del
parametro N. 8133) e la funzione di posizionamento del mandrino (bit 1 (AXC) del
parametro N. 8133) non possono essere utilizzate simultaneamente.
Se lo sono (AXC=1 e SCS=1), diventano entrambi non validi.
Quindi se con la suddetta specifica viene assegnato un valore negativo al
parametro N. 1023, si verifica l'allarme SV1026.
Per utilizzare il posizionamento mandrino impostare AXC=1 e SCS=0.
Per utilizzare la contornatura Cs impostare AXC=0 e SCS=1.
5 L'asse di posizionamento del mandrino è trattato come un asse controllato. Di
conseguenza devono essere predisposti i segnali relativi agli assi controllati
(come i segnali di sovracorsa).
6 Se si utilizzano sia la maschiatura rigida (bit 3 (NRG) del parametro N. 8135 ) sia
il posizionamento mandrino (bit 1 (AXC) del parametro N. 8133), non specificare
mai la maschiatura rigida nel modo posizionamento mandrino o il
posizionamento mandrino nel modo maschiatura rigida.

NOTA
1 Il blocco nel quale è specificato uno dei codici M relativi al posizionamento del
mandrino non deve contenere altri comandi. (Neppure un codice M relativo al
posizionamento di un altro mandrino.)
I codici M relativi al posizionamento del mandrino devono essere specificati da
soli anche quando si utilizza la funzione "più codici M in un blocco".
2 I codici M relativi al posizionamento del mandrino devono essere specificati da
soli anche quando si utilizza la funzione "più codici M in un blocco".
3 Il blocco nel quale è specificato un comando di posizionamento del mandrino con
indirizzo asse non deve contenere altri comandi. salvo i seguenti:
G00, G90, G91, G92 (Sistemi B e C di codici G)
G00, G50 (Sistema A di codici G)
4 I codici M del posizionamento mandrino non devono essere bufferizzati.
5 Il posizionamento mandrino non può essere eseguito in manuale (jog, volantino,
o altro)
6 Il posizionamento mandrino non può essere eseguito utilizzando un asse
controllato dal PMC.
7 La ripartenza del programma non può essere eseguita per il posizionamento
mandrino. Eseguire queste operazioni in MDI.
8 Per l'asse di posizionamento del mandrino, il controllo delle zone di sicurezza è
disabilitato.
9 Per l'asse di posizionamento del mandrino, la funzione di sgancio dell'asse
controllato è disabilitata.
10 Per l'asse di posizionamento del mandrino, la compensazione passo vite è
disabilitata.
11 Se viene specificata l'omissione dell'orientamento mandrino, il segnale di
completamento del ritorno al punto di riferimento non va a 1.
12 Nell'orientamento mandrino, i segnali di interblocco su tutti gli assi e di
interblocco di uno specifico asse sono controllati solo all'inizio del blocco.
Se uno di questi segnali perviene durante l'esecuzione del blocco viene ignorato.
13 La differenza tra l'entità specificata e l'entità effettiva del movimento viene
mantenuta finché non viene cancellato il modo posizionamento mandrino.

- 116 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

9.5 RILEVAZIONE DEGLI ERRORI DI VELOCITA' DEL


MANDRINO (SERIE T)
T

Introduzione
Con questa funzione, quando la velocità del mandrino si allontana dalla velocità comandata a causa delle
condizioni di lavorazione, si ha un allarme di surriscaldamento (OH0704) e viene emesso il segnale di
allarme della velocità del mandrino SPAL.
Questa funzione è utile a prevenire grippaggi, ecc.
G26 abilita la rilevazione degli errori di velocità del mandrino.
G25 disabilita la rilevazione degli errori di velocità del mandrino.

Formato
- Rilevazione errori di velocità del mandrino on
G26 Pp Qq Rr Ii;
P : Tempo (in msec) fra l'emissione del comando di velocità del mandrino e l'inizio del
controllo volto a determinare se la velocità reale del mandrino è così alta da poter generare
un surriscaldamento.
Se il mandrino raggiunge la velocità comandata prima che sia trascorso il tempo
specificato, il controllo inizia in quel momento.
Q: Tolleranza (%) entro la quale si considera raggiunta la velocità comandata
Velocità mandrino
q = 1− × 100
Velocità specificata
Quando la velocità del mandrino è in questo intervallo si considera raggiunta la velocità
specificata, ed ha inizio questo controllo.
R :Errore della velocità del mandrino (%) al quale il sistema riconosce la possibilità di un
surriscaldamento
Velocità di surriscaldqamento
r = 1− × 100
Velocità specificata
Se la differenza tra la velocità reale del mandrino e quella specificata supera il limite
determinato da questa percentuale, la velocità del mandrino viene considerata tale da
generare la possibilità di un surriscaldamento.
I : Ampiezza dell'errore della velocità del mandrino (giri/min) oltre la quale il sistema
riconosce la possibilità di un surriscaldamento.
Se la differenza tra la velocità reale del mandrino e quella specificata è più ampia di
questo limite, la velocità del mandrino viene considerata tale da generare la possibilità di
un surriscaldamento.

G26 abilita la funzione di rilevazione errori di velocità del mandrino. I valori standard di P, Q, R ed I si
impostano con i seguenti parametri: N. 4914, N. 4911, N. 4912 e N. 4913, rispettivamente.
La corrispondenza tra gli indirizzi ed i parametri è la seguente:
Indirizzo Numero parametro
Q N.4911
R N.4912
I N.4913
P N.4914

- 117 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

Se vengono messi i comandi P, Q, R o I, questa funzione utilizza i valori assegnati ai parametri ad essi
corrispondenti (N. 4914, N. 4911, N. 4912 o N. 4913).
A questo scopo vengono utilizzati i parametri (N. 4914, N. 4911, N. 4912 e N. 4913) del mandrino sul quale
è montato l'encoder selezionato al momento.

- Rilevazione errori di velocità del mandrino off


G25;

G25 disabilita la funzione di rilevazione errori di velocità del mandrino.


G25 non cambia i valori dei parametri N. 4914, 4911, 4912 e 4913. All'accensione o dopo un reset (stato
di clear (bit 6 (CLR) del parametro N. 3402 = 1)), la funzione di rilevazione degli errori di velocità del
mandrino è disabilitata (G25). Relativamente allo stato di clear controllare anche l'impostazione del bit 0
(C08) del parametro N. 3407.

Spiegazioni
Questa funzione controlla se esiste una differenza tra la velocità reale del mandrino e quella specificata. Il
più grande fra Si e Sr viene assunto come errore accettabile (Sm). Quando la differenza tra la velocità reale
del mandrino e quella programmata (Sc) supera l'errore accettabile (Sm) viene indicato l'allarme OH0704.

|Sc – Sa| > Sm


Sc : Velocità mandrino specificata
Sa : Velocità mandrino effettiva
Si : Entità fissa, indipendente dalla velocità mandrino specificata, dell'errore accettabile
(parametro N.4913)
Sr : Entità dell'errore accettabile determinata moltiplicando Sc (velocità mandrino specificata) per r
(percentuale costante). (r = parametro N. 4912)
Parametro FLR (N. 4900#0)= 0 Parametro FLR (N. 4900#0)= 1
r r
Sr = Sc × Sr = Sc ×
100 1000
Sm: Il più grande tra Si e Sr.

- Condizioni per l'inizio della rilevazione degli errori di velocità del mandrino
Se varia la velocità mandrino specificata Sc, la rilevazione degli errori di velocità del mandrino inizia
quando è soddisfatta una delle seguenti condizioni.

<1> La velocità del mandrino è nell'intervallo da (Sc - Sq) a (Sc + Sq)


Sc : Velocità mandrino specificata
Sq : Tolleranza entro la quale si assume che il mandrino abbia raggiunto la velocità programmata.
(parametro N. 4911)
Parametro FLR= 0 Parametro FLR= 1
q q
Sq = Sc × Sq = Sc ×
100 1000
<2> Dopo la variazione della velocità specificata Sc è trascorso il tempo p specificato con il parametro
N. 4914.

- 118 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

- Esempi di rilevazione degli errori di velocità del mandrino


(Esempio 1)
Quando l'allarme OH0704 si verifica dopo che è stata raggiunta la velocità del mandrino specificata.
Velocità del mandrino

Sr
Sq Si
Velocità
Sq Si specificata

Sr

P
Velocità
VERIF. NO VERIF. VERIF. effettiva

Modo G26
Tempo
Specifica di un'altra Inizio del controllo Allarme
velocità

(Esempio 2)
Quando l'allarme OH0704 si verifica prima che venga raggiunta la velocità del mandrino specificata
Velocità del
mandrino

Sr
Sq Si
Velocità
Sq Si specificata

Sr

P
VERIF. NO VERIF. VERIF. Velocità
effettiva
Modo G26
Tempo
Specifica di un'altra Inizio del Allarme
velocità controllo

Velocità specificata : (Velocità specificata dal codice S-5 cifre) × (Regolazione della velocità del
mandrino)
Velocità effettiva : Velocità rilevata dall'encoder
p : Tempo fra l'emissione del comando di velocità del mandrino e l'inizio del controllo
Parametro N. 4914, indirizzo P
Sq : (Velocità specificata) × (Tolleranza percentuale per l'inizio del controllo (q))
Parametro 4911, indirizzo Q
Parametro FLR= 0 Parametro FLR= 1
q q
100 1000

- 119 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

Sr : (Velocità specificata) × (Errore accettabile (r))


Parametro N. 4912, indirizzo R
Parametro FLR= 0 Parametro FLR= 1
r r
100 1000
Si : Ampiezza dell'errore accettabile
Parametro N. 4913, indirizzo I
L'allarme OH0704 si ha quando la differenza fra la velocità comandata e la velocità effettiva eccede sia Sr
che Si.

- Relazione fra il controllo della velocità del mandrino e ciascun mandrino


Mandrino Mandrino seriale
Funzione Primo mandrino Secondo mandrino
Rilevazione errori di velocità del mandrino Possibile Possibile(*1)

NOTA
1 E' necessario abilitare il controllo plurimandrino (bit 3 (MSP) del parametro
N. 8133 = 1).
2 La funzione di rilevazione degli errori di velocità del mandrino è valida solo per un
mandrino per volta; non può essere eseguita per due o più mandrini.
La funzione di rilevazione degli errori di velocità del mandrino viene eseguita per
il mandrino sul quale è montato l'encoder selezionato al momento. E' possibile
selezionare un solo encoder. Non è possibile selezionare più encoder. Per le
modalità di selezione dell'encoder riferirsi alla sezione relativa al controllo
"plurimandrino"."
* Segnale di selezione encoder (PC2SLC<Gn028.7>)
3 Sono validi i parametri della funzione di rilevazione degli errori di velocità del
mandrino (N. 4911, N. 4912, N. 4913, N. 4914) per il mandrino sul quale è
montato l'encoder attualmente selezionato.

- Mandrino per il quale viene eseguita la rilevazione degli errori di velocità


Per il mandrino per il quale viene eseguita la rilevazione degli errori di velocità, fare riferimento al manuale
fornito dal costruttore della macchina utensile.

- 120 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

9.6 CONTROLLO MANDRINO CON UN MOTORE ASSE


Introduzione
La funzione per il controllo mandrino con un motore asse permette di utilizzare un motore asse per
l'esecuzione dei comandi di velocità del mandrino e per funzioni mandrino quali la maschiatura rigida.
(1) Controllo mandrino con un motore asse
Il controllo di velocità può essere eseguito utilizzando un comando di velocità (S) con un motore asse
impostato come asse di rotazione dell'utensile. La commutazione fra i comandi di rotazione e di
posizionamento non necessita del ritorno al punto di riferimento.
(2) Indexaggio del mandrino
Con questa funzione è possibile programmare una posizione di arresto di un asse rotativo. Ci sono due
tipi di indexaggio del mandrino. Il primo tipo consente l'esecuzione del blocco successivo prima del
completamento dell'indexaggio. Il primo tipo consente l'esecuzione del blocco successivo solo dopo il
completamento dell'indexaggio.
Con il primo tipo è possibile eseguire i comandi degli assi diversi da quello di indexaggio, prima del
comando successivo di tale asse. Prima della specifica del comando successivo per l'asse di
indexaggio, è possibile controllare da programma o mediante un segnale se l'indexaggio è stato
completato. L'utilizzo di questa funzione può ridurre il tempo di attesa. L'asse può essere fermato nella
posizione specificata programmando il comando di indexaggio mentre il mandrino è in rotazione.
(3) Movimento asse
Quando il bit 0 (PCE) del parametro N. 11006 è 1, è possibile eseguire il controllo di posizione
specificando un comando di movimento (G00/G01) per il mandrino con motore asse, allo stesso modo
dei normali assi controllati.
(4) Maschiatura rigida con motore asse
E' possibile eseguire la maschiatura rigida.
(5) Filettatura, avanzamento al giro, e controllo della velocità di taglio costante
Sono possibili la filettatura, l'avanzamento al giro, ed il controllo della velocità di taglio costante.
(6) Controllo dell'uscita mandrino mediante PMC
La velocità ed il senso di rotazione possono essere controllati da PMC.

- Motori mandrino e funzioni supportate


Controllo mandrino Controllo mandrino con un
Funzioni mandrino
convenzionale motore asse
Avanzamento al giro ○ ○
Filettatura ○ ○
Lavorazione poligonale ○ ×*1
Rilevazione errori di velocità del mandrino ○ ×
Controllo sincrono del mandrino ○ ×
Controllo sincrono semplice del mandrino ○ ×
Lavorazione poligonale con due mandrini ○ ×
Orientamento del mandrino
Orientamento multipunto ○ ×
Commutazione uscita mandrino
Controllo mandrino intercanali ○ ○
Controllo della velocità di taglio costante ○ ○
Controllo plurimandrino ○ ○
Maschiatura rigida ○ ○
Controllo uscita mandrino da PMC ○ ○
Uscita velocità effettiva del mandrino ○ ○
Indexaggio mandrino × ○
*1 Il motore asse può essere utilizzato per la rotazione di un utensile.
Non è possibile utilizzarlo per il mandrino porta pezzo.

- 121 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

Note
(1) Questa funzione è opzionale.
(2) Le funzioni disponibili e la composizione dell'asse mandrino sono prederminate in base alla macchina
utilizzata. Consultare il manuale fornito dal costruttore della macchina utensile.
(3) Per i dettagli, vedi "CONTROLLO MANDRINO CON UN MOTORE ASSE" in
"MANUALE CONNESSIONI (FUNZIONALITA')" (B-64303-1).

9.6.1 Controllo mandrino con un motore asse


Specifica
- Comando da programma
Questa funzione può essere utilizzata per specificare il comando S di rotazione del mandrino per un
mandrino con motore asse nel modo controllo velocità SV. Per il controllo della rotazione di un motore asse
specificare G96.4 per attivare il modo controllo velocità SV. Dopo l'attivazione del modo controllo velocità
SV, i comandi S sono validi per il motore asse finché non viene cancellato il modo controllo velocità SV.
Non specificare comandi di movimento nel modo controllo velocità SV. Altrimenti si verifica l'allarme
PS0445.
Prima di programmare un comando di movimento, cancellare il modo controllo velocità SV. Per cancellare
il modo controllo velocità SV, specificare l'indexaggio mandrino G96.1/G96.2. Per i dettagli
sull'indexaggio mandrino vedi "Funzione di indexaggio mandrino". I comandi di movimento possono
messere specificati quando il bit 0 (PCE) del parametro N. 11006 è 1. Quando il bit 0 (PCE) del parametro
N. 11006 è 0, non possono essere specificati comandi di movimento per un mandrino con motore asse.
Altrimenti, si verifica l'allarme PS0601.
I comandi S sono validi solo nel modo controllo velocità SV. Tuttavia, il valore del comando S viene
memorizzato e, quando verrà attivato il modo controllo velocità SV, inizierà la rotazione alla velocità già
specificata.

- Comando con un segnale


Il modo controllo velocità SV può anche essere attivato/disattivato mediante il segnale del modo controllo
velocità SV <Gn521>. Il modo controllo velocità SV viene attivato/disattivato sul fronte di salita/discesa
del segnale. Quindi, se il modo controllo velocità SV viene attivato con il segnale e viene successivamente
disattivato con un comando del programma, per riattivarlo occorre alzare di nuovo il segnale o
programmare G96.4.
Lo stato del modo controllo velocità SV può essere controllato mediante il segnale modo controllo velocità
SV in atto <Fn521>.
Se il segnale viene messo a 0 durante la rotazione, viene eseguito l'indexaggio mandrino e viene disattivato
il modo controllo velocità SV. L'indexaggio mandrino viene eseguito con R0 (posizione assoluta 0). Per i
dettagli vedi la sottosezione II-9.6.2, "Funzione di indexaggio mandrino".

Formato
G96.4 P_ ; Attivazione del modo controllo velocità SV
M03 (M04) S_ P_ ; Comando di rotazione
S : Velocità del mandrino [min-1] (valore numerico di cinque cifre al massimo)
P : Selezione del mandrino per il controllo plurimandrino

- 122 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

- Attivazione del modo controllo velocità SV


Quando è abilitato il controllo plurimandrino ed è specificata la selezione del mandrino con l'indirizzo P
(Bit 3 (MPP) del parametro N. 3703 = "1"), il modo controllo velocità SV può essere attivato
programmando G96.4 insieme al comando di selezione mandrino P. Per specificare l'indirizzo P, utilizzare
il parametro N. 3781 (Codice P per la selezione del mandrino). Se il mandrino viene selezionato mediante
gli appositi segnali SWS1 e SWS2 <Gn027.0 e Gn027.1>, è possibile attivare il modo controllo velocità SV
se è presente il segnale di selezione del mandrino durante l'analisi del blocco contenente il comando G96.4.
Se, quando viene eseguito il comando G96.4, non è selezionato un mandrino con motore asse, si verifica
l'allarme PS0602.
Se il controllo plurimandrino è disabilitato, è possibile attivare il modo controllo velocità SV
programmando G96.4 da solo. Se nel sistema non esiste un mandrino con motore asse, si verifica l'allarme
PS0602.

- Cancellazione del modo controllo velocità SV


Quando è abilitato il controllo plurimandrino ed è specificata la selezione del mandrino con l'indirizzo P
(Bit 3 (MPP) del parametro N. 3703 = "1"), il modo controllo velocità SV può essere cancellato
programmando un comando di indexaggio mandrino (G96.1/G96.2) insieme al comando di selezione
mandrino P. Se il mandrino viene selezionato mediante gli appositi segnali SWS1 e SWS2 <Gn027.0 e
Gn027.1>, è possibile cancellare il modo controllo velocità SV se è presente il segnale di selezione del
mandrino durante l'analisi del blocco contenente il comando di indexaggio mandrino (G96.1/G96.2). Se
non è selezionato un mandrino con motore asse, si verifica l'allarme PS0602.
Se il controllo plurimandrino è disabilitato, è possibile cancellare il modo controllo velocità SV
programmando il comando di indexaggio mandrino da solo. Se nel sistema non esiste un mandrino con
motore asse, si verifica l'allarme PS0602.
Per il formato del comando di indexaggio mandrino, vedi "Funzione di indexaggio mandrino".

- Note
“G96.4 P_ ;” deve essere specificato da solo in un blocco.
E' però possibile programmare "G96.4 P_ S_ ;".
In un sistema a 2 canali, se questo comando viene specificato per un canale al quale non appartiene il
mandrino con motore asse, si verifica l'allarme PS0602.

Spiegazioni
- Comandi
(1) Comandi di velocità del mandrino
trattare i comandi di velocità del mandrino allo stesso modo del comando normale di velocità
(comando S). Prima di programmare un comando S, attivare il modo controllo velocità SV. Per
eseguire un posizionamento, cancellare il modo controllo velocità SV, e selezionare il modo controllo
posizione.
La sequenza con i seguenti segnali in ingresso non è necessaria.
*ESPA, MRDYA e SFRA
(2) Condizioni per l'azzeramento dell'uscita della velocità del mandrino
I comandi inviati al mandrino vanno a 0 se va a “0” il segnale *SSTP o se viene eseguito un comando
(come S0) che azzera la velocità del mandrino. L'uscita del comando di velocità del mandrino va a 0
anche quando viene eseguito un comando di indexaggio (G96.1/G96.2). Inoltre, una condizione di
arresto in emergenza o un allarme mandrino fermano il mandrino.
Con M05, il CNC non mette a 0 l'uscita del comando inviato al mandrino.
(3) Arresto della rotazione mediante indexaggio mandrino
Un comando che specifica una posizione ferma il mandrino nella posizione specificata.
Per i dettagli, vedi la sottosezione, "Funzione di indexaggio mandrino."
(4) Velocità massima
Normalmente la velocità massima specificabile è di 2777 min-1.
Tuttavia, mettendo a 1 il bit 3 (IRC) del parametro N. 1408 è possibile portare questo limite fino a
27770 min-1 in base alle prestazioni del motore e dell'encoder.

- 123 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

- Controllo plurimandrino e comandi da un altro canale


Quando nello stesso canale ci sono un mandrino con motore asse ed un altro mandrino, la programmazione
di un comando di rotazione necessita della funzione controllo plurimandrino. La funzione di controllo
mandrino per canale può gestire comandi provenienti da un altro canale. La funzione di selezione mandrino
mediante indirizzo P del controllo plurimandrino può essere utilizzata per selezionare i mandrini di un altro
canale.
[Esempi di programmazione]
Esempio 1: (Selezione del mandrino mediante indirizzo P)
Bit 3 (MPP) del parametro N. 3703 = "1": Il mandrino si seleziona con l'indirizzo P.
Configurazione dei mandrino (S1 = primo mandrino e S2 = secondo mandrino)
Canale 1 Canale 2
S1 (mandrino) S3 (mandrino)
S2 (mandrino con motore asse) -

Impostazione dell'indirizzo P per la selezione del mandrino nel controllo plurimandrino


Parametro Canale 1 Canale 2
11 (S1) 21 (S3)
3781
12 (S2) -

Esempio di programma
Canale che invia il
Programma Operazione
comando
1 M03 S1000 P12 ; S2 ruota in senso normale a 1000 min-1.
1 M03 S1500 P21 ; S3 ruota in senso normale a 1500 min-1.
2 M04 S1500 P11 ; S1 ruota in senso inverso a 1500 min-1.

- Operazioni manuali
Prima di eseguire il ritorno manuale al punto di riferimento e altre operazioni manuali per un mandrino con
motore asse, cancellare il modo controllo velocità SV. Nel modo controllo velocità SV queste operazioni
non sono valide.
Se si utilizza un trasduttore di posizione assoluto, il ritorno manuale al punto di riferimento non è necessario.
Se viene eseguito un ritorno al punto di riferimento (G28) quando il controllo di posizione è disabilitato
(bit 0 (PCE) del parametro N. 11006 = 0), si verifica l'allarme PS0601.

NOTA
Se viene specificato un comando di movimento per un mandrino con motore
asse quando il controllo di posizione è disabilitato (bit 0 (PCE) del parametro
N. 11006 = 0), si verifica l'allarme PS0601.

- 124 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

- Accelerazione/decelerazione (costante di tempo)


In base alla velocità del mandrino è possibile cambiare l'accelerazione/decelerazione per un comando di
rotazione.
L'accelerazione/decelerazione può essere cambiata a due livelli di velocità, impostati con i parametri S0 e
S1 (velocità di commutazione). Inoltre sono disponibili i parametri Aa, Ab, e Ac per l'impostazione dei
corrispondenti valori di accelerazione/decelerazione.
Velocità di
rotazione Ac
(min-1) S
S1
Ab

S0

Aa

Tempo

S0 : Valore del parametro N. 11020


(l'accelerazione/decelerazione cambia alla velocità di rotazione S0 (min-1)).
S1 : Valore del parametro N. 11021
(l'accelerazione/decelerazione cambia alla velocità di rotazione S1 (min-1)).
S : Velocità di rotazione specificata (min-1).
Aa : Valore del parametro N. 11030
(accelerazione/decelerazione (min-1/s) fra le velocità di rotazione 0 e S0).
Ab : Valore del parametro N. 11031
(accelerazione/decelerazione (min-1/s) fra le velocità di rotazione S0 e S1).
Ac : Valore del parametro N. 11032
(accelerazione/decelerazione (min-1/s) fra le velocità di rotazione S1 e S).

Impostare i parametri in base alle caratteristiche di coppia del motore.

- Accelerazione/decelerazione dopo l'interpolazione


Nel modo controllo velocità SV è disponibile l'accelerazione/decelerazione dopo l'interpolazione. Il bit 1
(TCR) del parametro N. 11001 può essere utilizzato per selezionare un tipo di costante di tempo, cioè il
parametro N. 1622
(Costante di tempo per l'accelerazione/decelerazione in lavoro per ciascun asse) o il parametro N. 11016
(Costante di tempo per l'accelerazione/decelerazione nel modo controllo velocità SV per ciascun asse).

- Senso di rotazione
La polarità della tensione dell'uscita velocità mandrino può essere selezionata mediante i bit 6 (CWM) e 7
(TCM) del parametro N. 3706.
E' anche possibile invertire il senso di rotazione del mandrino mediante il segnale di inversione SV
<Gn523>.
Queste funzioni possono essere utilizzate nel modo rotazione e durante la maschiatura rigida.
La commutazione ON/OFF del segnale durante la rotazione causa la decelerazione, l'inversione
e l'accelerazione del mandrino.

- 125 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

Velocità di rotazione (min-1)


Segnale di inversione SV ON

S Ac
S1 Ab

S0
Aa

0
Aa
-S0
Ab
-S1
-S Ac
Tempo (sec)

- Visualizzazione
Il bit 3 (NDF) del parametro N. 3115 può essere utilizzato per specificare se deve essere visualizzata la
velocità effettiva. Questo, però, non è considerato nel modo controllo velocità SV indipendentemente
dall'impostazione del bit NDF. Inoltre, i bit 0 (NDP) e 1 (NDA) del parametro N. 3115 possono essere
utilizzati per specificare se devono essere visualizzate, rispettivamente, la posizione corrente e l'entità
residua del movimento.

Limitazioni
(1) Quando è abilitato il controllo plurimandrino, per impostazioni diverse dal tipo P di plurimandrino, la
specifica di G96.* P non è valida.
(2) Per l'attivazione o la cancellazione del modo controllo velocità SV durante il funzionamento
automatico, non mancare di specificare il canale dell'asse soggetto al controllo velocità SV. Se viene
specificato da un altro canale, si verifica l'allarme PS0602.
(3) I codici M per l'attivazione/disattivazione del modo controllo velocità SV devono essere definiti come
codici M che impediscono la bufferizzazione (parametri N. 3411 - 3420 e 3421 - 3432).
(4) Se il modo controllo velocità SV viene attivato o cancellato al di fuori del funzionamento automatico,
eseguire il ritorno manuale al punto di riferimento prima di avviare il funzionamento automatico.
Se il funzionamento automatico viene avviato senza aver prima eseguito il ritorno manuale al punto di
riferimento, è possibile che l'asse non vada correttamente nella posizione programmata.

Note
(1) Questa funzione è opzionale.
(2) Le funzioni disponibili e la composizione dell'asse mandrino sono prederminate in base alla macchina
utilizzata. Consultare il manuale fornito dal costruttore della macchina utensile.
(3) Per i dettagli, vedi "CONTROLLO MANDRINO CON UN MOTORE ASSE" in
"MANUALE CONNESSIONI (FUNZIONALITA')" (B-64303-1).
(4) A differenza dei motori mandrino, un motore asse utilizzato per il mandrino si ferma in caso di allarme
asse, arresto in emergenza o blocco macchina.
(5) La velocità massima si ottiene applicando il rapporto di accoppiamento alla velocità massima del
motore impostata con il parametro N. 11015.
(6) Se il bit 3 (IRC) del parametro N. 1408 è 0, la funzione di prevenzione degli errori di funzionamento
può entrare in azione quando la velocità raggiunge circa 2778 min-1. Se è necessaria una velocità di
2778 min-1 o maggiore, mettere IRC a 1. Se IRC è 1, diventa possibile specificare una velocità di circa
27770 min-1.

- 126 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

9.6.2 Funzione di indexaggio mandrino


Formato
G96.1 P_ R_ ; L'esecuzione del blocco successivo inizia dopo il completamento
dell'indexaggio mandrino.
G96.2 P_R_; L'esecuzione del blocco successivo inizia prima del completamento
dell'indexaggio mandrino.
G96.3 P_ ; L'esecuzione del blocco successivo inizia dopo la conferma del
completamento dell'indexaggio mandrino.
P : Selezione del mandrino per il controllo plurimandrino
R :Angolo di arresto [gradi] (da 0 al (parametro N. 1260))

Quando è abilitato il controllo plurimandrino, selezionare il mandrino secondo la specifica del controllo
plurimandrino insieme al comando G96.1/G96.2/ G96.3. Quando il mandrino si seleziona con l'indirizzo P,
impostare opportunamente il parametro N. 3781 (codice P per la selezione del mandrino). Se non è
selezionato un mandrino con motore asse, si verifica l'allarme PS0602.
Quando il controllo plurimandrino è disabilitato, è possibile programmare G96.4 da solo Se nel sistema non
esiste un mandrino con motore asse, si verifica l'allarme PS0602.
In un sistema a 2 canali, se questo comando viene specificato per un canale al quale non appartiene il
mandrino con motore asse, si verifica l'allarme PS0602.
Per attivare il modo controllo posizione senza eseguire l'indexaggio mandrino, farlo dopo aver cancellato il
modo controllo velocità SV programmando un comando G96.1 senza specificare R quando il motore è
fermo.
Quando il motore sta girando, la programmazione di un comando G96.1 (o G96.2) senza la specifica di R
provoca l'arresto del motore, che si comporta come per R0.

NOTA
1 Se si utilizza G96.2, programmare G96.3 prima di un altro comando di
movimento del mandrino, per essere certi che il movimento sia stato completato.
Se il comando successivo viene specificato senza aver eseguito questo controllo,
si verifica l'allarme PS0601. Se viene specificata la maschiatura rigida senza aver
eseguito questo controllo, si verifica l'allarme PS0445.
2 Un blocco contenente G96.1, G96.2 o G96.3 non deve contenere altri comandi.
Se lo stesso blocco contiene un comando asse, si ha l'allarme PS0446.

- Ritorno al punto di riferimento


Prima di eseguire il primo comando di indexaggio di un mandrino con motore asse, eseguire sempre un
ritorno manuale al punto di riferimento. Però, se si utilizza un encoder assoluto, il ritorno manuale al punto
di riferimento non è necessario. L'esecuzione di un comando di ritorno al punto di riferimento(G28)
provoca l'allarme PS0601.

Comando di indexaggio del mandrino


- Comando di movimento
(1) Comando che attende il completamento dell'indexaggio
Se viene programmato G96.1, il blocco successivo viene eseguito dopo il completamento
dell'indexaggio mandrino.
(2) Comando che non attende il completamento dell'indexaggio mandrino
Se viene programmato G96.2, il blocco successivo viene eseguito prima del completamento
dell'indexaggio mandrino.

- 127 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

- Comando per il controllo del completamento del movimento


G96.3 si utilizza per controllare se l'indexaggio mandrino è stato completato. Se l'indexaggio non è ancora
stato completato, il blocco successivo ne attende il completamento. Se l'indexaggio è stato completato, il
blocco successivo viene eseguito immediatamente.

- Cancellazione del modo controllo velocità SV


Se per eseguire l'indexaggio mandrino si utilizza G96.1, il modo controllo velocità SV viene cancellato al
completamento dell'indexaggio.
Se per eseguire l'indexaggio mandrino si utilizza G96.2, è poi possibile utilizzare G96.3 per controllare se
l'indexaggio è stato completato e, se sì, cancellare il modo controllo velocità SV. G96.2 non seguito da
G96.3 non cancella il modo controllo velocità SV neppure al completamento dell'indexaggio.
La cancellazione del modo controllo velocità SV deve essere specificata nel canale al quale appartiene
l'asse.

Esempio di specifica dell'attivazione/cancellazione del modo controllo velocità SV (quando il bit 3 (MPP) del
parametro N. 3703 è 1)
Nome Codice P di selezione mandrino
Indirizzo asse
mandrino (parametro N. 3781)
S1 P1 C

Specifica da programma (segnale del modo controllo velocità SV attivo <Fn521>)


Comandi del Attivazione/cancellazione del modo
Operazione
programma controllo velocità
Attivazione (segnale del modo controllo
G96.4 P1 ; Inizia il modo controllo velocità SV (C).
velocità SV attivo (C) = 1)
Il motore asse del mandrino (C) ruota in avanti
M03 S100 P1 ; :
a 100 [min-1].
: : :
Cancellazione (segnale del modo controllo Il motore asse del mandrino C si ferma quando
G96.1 P1 R0 ;
velocità SV attivo (C) = 0) C = 0 (indexaggio mandrino).

Commutazione del modo mediante segnale


Comandi del Attivazione/cancellazione del modo
Operazione
programma controllo velocità
Attivazione (segnale del modo controllo Il modo controllo velocità SV è attivato dal
M15 ;
velocità SV attivo (C) = 1) codice M (C).
Il motore asse del mandrino (C) ruota in avanti
M03 S100 P1 ; :
a 100 [min-1].
: : :
Cancellazione (segnale del modo controllo Il motore asse del mandrino C si ferma quando
G96.1 P1 R0 ;
velocità SV attivo (C) = 0) C = 0 (indexaggio mandrino).

- Comando di indexaggio mandrino durante la rotazione del mandrino


La programmazione di G96.1 o G96.2 specificando una posizione finale durante la rotazione del mandrino
provoca l'arresto del mandrino nella posizione specificata.
Esempio)
M03 S1000; ....................................................................... Rotazione a S1000
G96.1 P1 R180. ; ............................................................... Arresto del mandrino nella posizione di
180°

- Velocità di indexaggio del mandrino


L'indexaggio mandrino con G96.1 or G96.2 utilizza la velocità specificata a tale scopo. Questa velocità si
imposta con il parametro N. 11012.

- 128 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

- Accelerazione/decelerazione per l'indexaggio mandrino


L'accelerazione/decelerazione per i comandi G96.1/G96.2 è la seguente:

Velocità di rotazione (min-1)

S Ac
S1
Ab

S0
Aa

Si

Aa

Tempo (s)

S1 : Parametro N. 11020 (l'acc/dec cambia alla velocità S1 (min-1)).


S0 : Parametro N. 11021 (l'acc/dec cambia alla velocità S0 (min-1)).
S : Velocità di rotazione specificata (min-1).
Si : Velocità di indexaggio del mandrino (min-1) parametro N. 11012
Aa : Parametro N. 11030 (acc/dec (min-1/s) fra le velocità 0 e S0 (primo gradino)).
Ab : Parametro N. 11031 (acc/dec (min-1/s) fra le velocità S0 e S1 (secondo gradino)).
Ac : Parametro N. 11032 (acc/dec (min-1/s) fra S1 e la velocità specificata S (terzo gradino)).

- Esempio di programmazione
(1) Viene dato un comando di movimento del mandrino, utilizzando G96.2. Iniziano il movimento del
mandrino e l'esecuzione del blocco successivo.
Il movimento del mandrino continua durante l'esecuzione degli altri blocchi.
(Durante l'indexaggio mandrino, il segnale corrispondente SPP<Fn522> è "1".
(2) Prima di un altro comando del mandrino, viene programmato G96.3 per attendere la fine del
movimento del medesimo.
Se il mandrino si sta ancora muovendo (il segnale dell'indexaggio mandrino è ON), il CNC entra in
uno stato di attesa. Se il movimento del mandrino è terminato, può iniziare l'esecuzione del comando
successivo.

Esempio: Comando che non attende la fine dell'indexaggio e comando per il controllo della fine del
movimento di indexaggio (parametro N. 3781 (S1) = "1")
Comando del programma Operazione
Comando che non attende la fine dell'indexaggio.
G96.2 P1 R270.0 ;
Il primo mandrino S1 va a 270.0.
G01 X10.0 Y20.0 F1000. ; Inizia l'avanzamento di lavoro, senza attendere la fine dell'indexaggio.
G02 X50.0 Y100.0 R50.0 ; Inizia l'interpolazione circolare, senza attendere la fine dell'indexaggio.
G96.3 P1 ; Controlla se l'indexaggio mandrino è stato completato.
M29 S100 P1 ; Se il segnale dell'indexaggio mandrino è "0", inizia la maschiatura rigida.
G84 X10.0 Y 20.0 R-5.0 Z-20.0 ; Se il segnale dell'indexaggio mandrino è "1", il comando della
maschiatura rigida rimane in attesa.

- 129 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

Indexaggio sulle coordinate di macchina


Con la funzione di controllo del mandrino con un motore asse, è possibile selezionare le seguenti
operazioni:
(1) Quando va OFF il modo controllo velocità, viene eseguito l'indexaggio sulla coordinata di macchina
0.000.
(2) Quando viene eseguito l'indexaggio con codice G, il comando R specifica una coordinata di macchina.

Esecuzione dell'indexaggio mandrino


Il bit 0 (SIC) del parametro N. 11005 permette di selezionare il sistema di coordinate
(assolute o di macchina) utilizzato per l'indexaggio mandrino.

Esempio:
Se la differenza fra la coordinata di macchina e la coordinata assoluta (coordinata di macchina -
coordinata assoluta) è uguale a 100.000:
• Indexaggio mandrino mettendo a OFF (da 1 a 0) il segnale del modo controllo velocità SV
<Gn521> o programmando un codice G per l'indexaggio mandrino senza specificare R
Codice G (R non specificato)
1. Se il bit 0 (SIC) del parametro N. 11005 è 0:
L'indexaggio mandrino viene eseguito con una coordinata di macchina = 100.000 ed una
coordinata assoluta = 0.000.
2. Se il bit 0 (SIC) del parametro N. 11005 è 1:
L'indexaggio mandrino viene eseguito con una coordinata di macchina = 0.000 ed una
coordinata assoluta = 260.000.
• Indexaggio mandrino mediante codice G con specifica di R
Se viene specificato R100.000:
1. Se il bit 0 (SIC) del parametro N. 11005 è 0:
L'indexaggio mandrino viene eseguito con una coordinata di macchina = 200.000 ed una
coordinata assoluta = 100.000.
2. Se il bit 0 (SIC) del parametro N. 11005 è 1:
L'indexaggio mandrino viene eseguito con una coordinata di macchina = 100.000 ed una
coordinata assoluta = 0.000.

Note
(1) Dopo G96.2 (fine indexaggio non attesa), programmare G96.3 per controllare che l'indexaggio sia
terminato. Dopo G96.2, programmare sempre G96.3. Se viene programmato un movimento lungo
l'asse senza aver eseguito questo controllo, si verifica l'allarme PS0601. Analogamente, se viene
specificata la maschiatura rigida, si verifica l'allarme PS0445.
(2) Se dopo G96.2 il controllo non viene eseguito, ad esempio a causa di un reset, il modo controllo
velocità SV non viene cancellato.
(3) Quando la rotazione del mandrino viene fermata da un indexaggio, l'uscita del comando di velocità del
mandrino va a 0. Per riavviare la rotazione del mandrino, attivare il modo controllo velocità SV, e
programmare un comando S.
(4) L'indexaggio mandrino è abilitato solo nel modo controllo velocità SV.
(5) Se la velocità di indexaggio (parametro N. 11012) è 0, viene assunta la velocità di cambio
accelerazione/decelerazione (primo gradino) (parametro N. 11020). Se anche questa è uguale a 0,
viene assunta la velocità massima del mandrino nella gamma 1 (parametro N. 3741).
(6) Il comando G96.* P è valido solo per il controllo plurimandrino tipo P.
(7) Durante il funzionamento automatico, la commutazione del modo controllo velocità SV deve essere
specificata da un comando per il canale al quale l'asse appartiene. Se viene specificato da un altro
canale, si verifica l'allarme PS0602.

- 130 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

9.6.3 Maschiatura rigida con un motore asse


Formato
Il formato di programmazione per questo tipo di maschiatura rigida è lo stesso del tipo convenzionale di
maschiatura rigida.
Per i dettagli, riferirsi al capitolo "MASCHIATURA RIGIDA" del Manuale dell'operatore
(sistemi per torni) (B-64304-1) o del Manuale dell'operatore (sistemi per centri di lavoro) (B-64304-2).

NOTA
Prima di specificare la maschiatura rigida, deve essere cancellato il modo
controllo velocità SV per il mandrino con motore asse. Se il mandrino è in
rotazione, cancellare il modo controllo velocità SV con G96.1/G96.2. Il modo del
mandrino con motore asse può essere controllato mediante il segnale del modo
controllo velocità SV attivo (SVREV<Fn521>).
Se la maschiatura rigida viene specificata nel modo controllo velocità SV, si
verifica l'allarme PS0445.

Specifica della maschiatura rigida


- Velocità di avanzamento
Nella maschiatura rigida, la velocità di avanzamento dell'asse di foratura è quella specificata dal comando F
e la velocità del mandrino è S × entità del movimento al giro dell'asse dell'utensile motorizzato
(mandrino con motore asse) [gradi/min] (parametro N. 11011).

L'avanzamento al minuto e l'avanzamento al giro sono dettagliati più avanti.


Durante la maschiatura rigida, la velocità del mandrino è limitata dal parametro N. 1430, o N. 1432 se è
abilitata l'accelerazione/decelerazione prima dell'interpolazione, (velocità massima di avanzamento) per
l'asse utilizzato come asse dell'utensile motorizzato.
Normalmente il valore massimo del parametro relativo alla velocità massima di avanzamento (parametro
N. 1430) (parametro N. 1432 se è abilitata accelerazione/decelerazione prima dell'interpolazione) è di
999999.999 [gradi/min] (equivalente a S2778 [min-1]). Però, per un asse impostato come asse dell'utensile
motorizzato (bit 3 (IRC) del parametro N. 1408 = 1) utilizzato per la maschiatura rigida, la velocità
massima di avanzamento è limitata a 10 volte il valore del parametro della velocità massima di
avanzamento.
Esempio:
Velocità massima di avanzamento (parametro N. 1430) = 360000
Limite massimo della velocità del mandrino = 360000×10 = 3600000 [gradi/min] (S10000 [min-1])

AVVERTENZA
Il passo del filetto del maschiatore deve coincidere con quello specificato dal
programma (F, S). Altrimenti è possibile che vengano danneggiati l'utensile o il
pezzo.

- 131 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

Controllo dell'accelerazione/decelerazione
- Accelerazione/decelerazione dopo l'interpolazione
A differenza della maschiatura rigida convenzionale (con un motore mandrino), la maschiatura rigida con
un motore asse permette di utilizzare l'accelerazione/decelerazione lineare con tempo di
accelerazione/decelerazione costante o l'accelerazione/decelerazione a campana.
Se il bit 0 (SRBx) del parametro N. 11001 è "0" è possibile applicare l'accelerazione/decelerazione lineare
dopo l'interpolazione con tempo di accelerazione costante. Se lo stesso bit è "1" è possibile applicare
l'accelerazione/decelerazione a campana dopo l'interpolazione con tempo di accelerazione costante.
La costante di tempo per ciascuna gamma si specifica con i parametri N. 11060 - 11063. Se il bit 2 (TDR)
del parametro N. 5201 è "1", le costanti di tempo per l'estrazione dell'utensile si specificano con i parametri
N. 11065 - 11068. Impostare questi parametri per l'asse dell'utensile motorizzato (mandrino con motore
asse) utilizzato nella maschiatura rigida.
I tipi di accelerazione/decelerazione e le costanti di tempo utilizzati per l'asse di foratura si impostano con
gli stessi valori utilizzati per l'asse dell'utensile motorizzato (mandrino con motore asse).

NOTA
Questo tipo di maschiatura differisce dal tipo convenzionale (con un motore
mandrino) nell'impostazione delle costanti di tempo.

Esempio: L'impostazione dei parametri è: Costante di tempo (TC) = 800 msec e velocità (S) = 4000 min-1
-1
min

4000

800 800 msec

- Accelerazione/decelerazione prima dell'interpolazione


Quando è disponibile il controllo avanzato con prelettura dei blocchi, questo tipo di maschiatura rigida può
essere eseguito nel modo accelerazione/decelerazione prima dell'interpolazione con lettura anticipata dei
blocchi ed è così possibile utilizzare questa modalità di controllo dell'accelerazione/decelerazione durante
la maschiatura rigida. L'accelerazione/decelerazione prima dell'interpolazione con lettura anticipata dei
blocchi è abilitata quando viene attivato il modo controllo avanzato con prelettura dei blocchi. Per la
funzione controllo avanzato con prelettura dei blocchi, vedi "Funzioni per la lavorazione ad alta velocità ed
alta precisione (controllo avanzato con prelettura dei blocchi)".
Il parametro N. 11050 permette di specificare l'accelerazione massima accettabile per
l'accelerazione/decelerazione prima dell'interpolazione durante la maschiatura rigida. Il parametro
N. 11051 permette di specificare il tempo di variazione dell'accelerazione per l'accelerazione/decelerazione
a campana prima dell'interpolazione. Durante la maschiatura rigida, l'accelerazione massima accettabile per
l'accelerazione/decelerazione prima dell'interpolazione è di 100000 [gradi/s2].
E' possibile cambiare una velocità fino a S1000 [min-1] (equivalente a 360000 [gradi/min] in 60 [ms].
La costante di tempo (parametro N. 11052) per l'accelerazione/decelerazione dopo l'interpolazione in
avanzamento di lavoro utilizzabile nel modo "accelerazione/decelerazione prima dell'interpolazione con
lettura anticipata dei blocchi" è del tipo a tempo costante.

- 132 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)

NOTA
Specificare la stessa costante di tempo sia per l'asse di foratura sia per l'asse
dell'utensile motorizzato (mandrino con motore asse). Altrimenti, è probabile che
la macchina non funzioni correttamente.

Indexaggio mandrino
Questa funzione non permette di eseguire la funzione di orientamento mandrino all'inizio della maschiatura
rigida. Eseguire l'indexaggio mandrino nella posizione di esecuzione della maschiatura prima di specificare
la maschiatura rigida. Per i dettagli, vedi la precedente sottosezione, "Funzione di indexaggio mandrino."

Note
Se il passo è molto piccolo o l'entità del movimento lungo l'asse di foratura è grande, l'entità del movimento
lungo l'asse rotativo può diventare eccessiva e causare l'allarme PS0003.

9.6.4 Avanzamento al giro


Introduzione
La funzione controllo mandrino con un motore asse permette di specificare l'avanzamento al giro.
Per la determinazione della velocità di avanzamento al giro viene utilizzato il trasduttore separato collegato
al mandrino. Se viene utilizzato l'encoder incorporato nel motore asse, la velocità di avanzamento viene
determinata in base alla velocità del motore ed al rapporto di accoppiamento.
Il trasduttore utilizzato si specifica con il bit 1 (OPTx) del parametro N. 1815.

NOTA
Se la macchina è equipaggiata con un utensile motorizzato ed un mandrino con
motore asse, l'utilizzo dei comandi di rotazione necessita della funzione controllo
plurimandrino.
Utilizzare il cambio gamma di tipo T.
Vedi la sezione, “CONTROLLO PLURIMANDRINO” del MANUALE
CONNESSIONI (FUNZIONALITA') (B-64303-1) per le spiegazioni relative al
controllo plurimandrino.

Formato
Il formato di programmazione dell'avanzamento al giro è lo stesso del tipo normale di avanzamento al giro.

- Esempi
Il secondo mandrino (asse C) viene utilizzato per il controllo della rotazione e per il controllo di posizione
ed è un mandrino con motore asse
(Sistema A di codici G dei sistemi per torni)

Comando del programma Operazione


M*** ; Attiva il modo controllo rotazione per l'asse C.
M03 S100 P2 ; Il mandrino con motore asse (asse C) ruota a 100 min-1.
G99 G01 Z-100. F10. ; L'asse Z si muove in avanzamento al giro alla velocità di 1000 mm/min.
: :
Attiva il modo controllo posizione per l'asse C (disattiva il modo controllo
M*** ; rotazione).
Il mandrino si ferma a C = 0.000.

- 133 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02

9.6.5 Controllo uscita mandrino da PMC


Introduzione
La funzione “controllo mandrino con un motore asse” abilita il controllo da PMC dell'uscita mandrino.

Modalità di specifica
Dopo l'attivazione del modo controllo velocità SV, è possibile specificare questa funzione allo stesso modo
del controllo mandrino normale (con un motore mandrino).
Per i dettagli, vedi la sezione “CONTROLLO USCITA MANDRINO DA PMC” in questo manuale.

NOTA
Per la funzione “controllo mandrino con un motore asse”, la velocità massima del
motore è quella specificata con il parametro N. 11015.

- 134 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

10 FUNZIONE UTENSILE (FUNZIONE T)


Il capitolo 10, "FUNZIONE UTENSILE (FUNZIONE T)", è costituito dalle seguenti sezioni:

10.1 FUNZIONE DI SELEZIONE UTENSILE ....................................................................................... 135


10.2 GESTIONE VITA UTENSILI .......................................................................................................... 136

10.1 FUNZIONE DI SELEZIONE UTENSILE


Quando viene specificato un valore numerico lungo fino ad 8 cifre per l'indirizzo T, vengono inviati alla
macchina utensile un segnale del codice ed un segnale strobe. La macchina utilizza questi segnali per
selezionare l'utensile specificato.
In un blocco può essere comandato un codice T. Vedere sul manuale del costruttore della macchina il
numero di cifre specificabili per l'indirizzo T e la corrispondenza tra i codici T e le operazioni della
macchina.
Quando nello stesso blocco vengono specificati un comando di movimento e un codice T, i comandi
vengono eseguiti in uno dei due modi seguenti:
(i) Esecuzione simultanea del movimento e della funzione T.
(ii) Esecuzione della funzione T al completamento del comando di movimento.
La scelta della sequenza dipende dal costruttore della macchina utensile. Vedere i dettagli sul manuale del
costruttore.

Spiegazioni
T
Il numero che segue il codice T indica l'utensile desiderato. Una parte del numero si usa anche come
numero del correttore contenente l'entità della compensazione. In base al metodo di specifica ed
all'impostazione dei parametri, l'utensile può essere selezionato come segue.

Descrizione del codice T( Nota 1) Specifica del numero di correttore in base


LGN (N.5002#1) = 0 LGN (N.5002#1) = 1 all'impostazione del parametro( Nota 2)
T{{{{{{{ { Il numero del correttore usura utensile si specifica
T{{{{{{{ {
↑ ↑ utilizzando la cifra meno significativa del codice T.
↑ ↑
Selezione Correttore
Selezione Correttore
utensile usura
utensile geometria Quando il parametro N. 5028 è 1
Correttore
usura
geometria
T{{{{{{ {{ Il numero del correttore usura utensile si specifica
T{{{{{{ {{
↑ ↑ utilizzando le due cifre meno significative del codice T.
↑ ↑
Selezione Correttore
Selezione Correttore
utensile usura
utensile geometria Quando il parametro N. 5028 è 2
Correttore
usura
geometria
T{{{{{ {{{ Il numero del correttore usura utensile si specifica
T{{{{{ {{{
↑ ↑ utilizzando le tre cifre meno significative del codice T.
↑ ↑
Selezione Correttore
Selezione Correttore
utensile usura
utensile geometria Quando il parametro N. 5028 è 3
Correttore
usura
geometria

- 135 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

NOTA
1 Il numero massimo di cifre del codice T può essere specificato nell'intervallo da 1
a 8 con il parametro N. 3032.
2 Se il parametro N. 5028 è 0, il numero delle cifre del codice T utilizzate per
specificare il numero del correttore dipende dal numero dei correttori.
Esempio)
Quando sono disponibili i correttori da 1 a 9: La cifra meno significativa
Quando sono disponibili i correttori da 10 a 99: Le due cifre meno significative
Quando sono disponibili i correttori da 100 a 200: Le tre cifre meno significative

Per la corrispondenza tra i codici T e gli utensili e per il numero di cifre da specificare, riferirsi al manuale
del costruttore della macchina utensile.

Esempio (T2+2)
N1 G00 X1000 Z1400 ;
N2 T0313 ; (Seleziona l'utensile N. 3 ed il correttore N. 13)
N3 X400 Z1050 ;

10.2 GESTIONE VITA UTENSILI


Gli utensili vengono classificati in vari gruppi, per ciascuno dei quali viene preventivamente specificata la
vita dell'utensile (tempo o frequenza di impiego). Ogni volta che un utensile viene utilizzato, ne viene
incrementato il contatore vita. Quando viene raggiunta la vita utensile specificata, viene selezionato
automaticamente l'utensile successivo dello stesso gruppo. Con questa funzione è possibile gestire la vita
(durata utile) degli utensili senza interrompere la lavorazione. I dati della gestione vita utensili consistono
nei numeri di gruppi utensili, nei valori della vita utensile, nei numeri utensile e nei codici utilizzati per
selezionare i correttori utensile. Questi dati vengono registrati nel CNC.

Gruppo utensili n. m
Vita utensile (l)
1 Numero utensile (T) Codici per la selezione del Dati del primo utensile
correttore (H/D)
2 : : Dati del secondo utensile
: : : :
: : : :
n : : Dati dell'ennesimo utensile

Programma di lavorazione Operazioni della macchina e del CNC


: Macchina CNC
Dati della gestione
: Mette l'utensile Seleziona
vita utensili selezionato nello automaticamente un
Comando per la selezione
Gruppo utensili n. 1 stato di attesa. utensile non scaduto
del gruppo utensili m del gruppo m
:
Selezione : Monta sul mandrino Inizia a conteggiare la
: l'utensile in stato di vita dell'utensile
utensile. :
Gruppo utensili n. m attesa (cambio montato sul mandrino.
Comando di cambio utensile)
:
utensile (M06)
:
:
Gruppo utensili n. p
:

Fig. 10.2 (a) Selezione dell'utensile nel programma pezzo

M
Il gruppo si seleziona con il codice T, il conteggio della vita utensile viene avviato dal comando M06.
(ATC)
- 136 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

T
Il codice T seleziona il gruppo, specifica il numero di correttore ed avvia il conteggio della vita utensile.
(torretta)

- Numero massimo di gruppi della gestione vita utensili e sistemi a 2 canali


E' possibile utilizzare fino a 128 gruppi della gestione vita utensili per ciascun canale.
Utilizzare il parametro N. 6813 per impostare il numero massimo di gruppi per ciascun canale.
Il numero massimo di gruppi deve essere un multiplo del numero minimo di gruppi (otto). L'impostazione a
0 indica 128 gruppi.

AVVERTENZA
Se viene reimpostato il parametro N. 6813, il file dei dati della gestione vita
utensili viene cancellato all'accensione successiva. Di conseguenza devono
essere impostati i dati della gestione vita utensili per tutti i canali che utilizzano
questa funzione.

10.2.1 Dati della gestione vita utensili


I dati della gestione vita utensili consistono nei numeri di gruppi utensili, nei valori della vita utensile,
nei numeri utensile e nei codici utilizzati per selezionare i correttori utensile.

Spiegazioni
- Numero gruppo utensili
E' possibile utilizzare fino a 128 gruppi della gestione vita utensili per ciascun canale.
Utilizzare il parametro N. 6813 per impostare il numero dei gruppi utilizzabili. Se si utilizza il numero
massimo di gruppi, per ciascun gruppo è possibile registrare fino a 2 utensili. La combinazione di gruppi
utilizzabili e numero massimo di utensili per gruppo si specifica impostando il bit 0 (GS1) ed il bit 1 (GS2)
del parametro N. 6800.
Tabella 10.2.1 Numero massimo di gruppi e di utensili registrabili
GS2 GS1 Numero di
Numero di gruppi
(N. 6800#1) (N. 6800#0) utensili
0 0 da 1 a 1/8 del numero massimo di gruppi (parametro N. 6813) da 1 a 16
0 1 da 1 a 1/4 del numero massimo di gruppi (parametro N. 6813) da 1 a 8
1 0 da 1 a 1/2 del numero massimo di gruppi (parametro N. 6813) da 1 a 4
1 1 da 1 al numero massimo di gruppi (parametro N. 6813) da 1 a 2

AVVERTENZA
Quando vengono cambiati i bit 0 (GS1) e 1 (GS2) del parametro N. 6800, deve
essere ripetuta la registrazione dei dati della gestione vita utensili con il comando
G10L3 (registrazione dopo la cancellazione dei dati di tutti i gruppi).
Altrimenti, la nuova combinazione impostata non è valida.

- Numero utensile
Il numero utensile si specifica con il codice T. Può essere utilizzato un numero di al massimo otto cifre
(99999999).

NOTA
Il numero massimo di cifre del codice T si imposta con il parametro N. 3032.

- 137 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

- Codici per la specifica delle correzioni utensile

M
I codici per la specifica delle correzioni utensile comprendono il codice H (per la compensazione lunghezza
utensile) e il codice D (per la compensazione raggio utensile) Questi codici sono numeri di al massimo tre
cifre (fino a 400).

NOTA
Se non si utilizzano i codici di specifica delle correzioni utensili, la loro
registrazione può essere omessa.

T
Per la specifica delle correzioni non vengono utilizzati né il codice H né il codice D. Il codice T comprende
il numero di correttore.
- Valore della vita utensile
Il valore della vita utensile può essere registrato in termini di durata o di numero di impieghi. Il valore
massimo è definito come segue:
Fino a 4300 minuti se la vita utensile è espressa come durata e fino a 65535 volte se la vita è espressa come
numero di impieghi.

- Impostazione della vita residua


La vita residua prima della selezione di un nuovo utensile si imposta con i parametri N. 6844 e 6845.

10.2.2 Registrazione, modifica e cancellazione dei dati della


gestione vita utensili
I dati della gestione vita utensili possono essere registrati modificati e cancellati da programma.

Spiegazioni
Il formato di programmazione varia in base ai seguenti quattro tipi di operazione:

- Registrazione dopo la cancellazione di tutti i gruppi


I dati della gestione vita utensili vengono registrati dopo la cancellazione di tutti i dati della gestione vita
utensili precedenti.

- Modifica dei dati della gestione vita utensili


E' possibile registrare i dati di un gruppo per il quale non lo erano stati precedentemente ed è possibile
modificare i dati precedentemente registrati.

- Cancellazione dei dati della gestione vita utensili


I dati della gestione utensili possono essere cancellati.

- Impostazione del tipo di conteggio vita utensile


E' possibile specificare separatamente per ciascun gruppo il tipo di conteggio (durata o numero di
impieghi).

- 138 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

Formato
- Registrazione dopo la cancellazione di tutti i gruppi

M
Formato Significato
G10 L3 ; G10L3: Registrazione dopo la cancellazione dei dati di tutti i gruppi.
P-L-; P-: Numero gruppo
T-H-D-; L-: Valore vita utensile
T-H-D-; T-: Numero utensile
: H-: Codice per la selezione del correttore (codice H)
P-L-; D-: Codice per la selezione del correttore (codice D)
T-H-D-; G11 : Fine della registrazione
T-H-D-;
:
G11;
M02(M30);

T
Formato Significato
G10 L3 ; G10L3: Registrazione dopo la cancellazione dei dati di tutti i gruppi.
P-L-; P-: Numero gruppo
T- ; L-: Valore vita utensile
T- ; T-: Numero utensile e numero correttore
: G11 : Fine della registrazione
P-L-;
T- ;
T- ;
:
G11;
M02(M30);

Se per un utensile devono essere utilizzati più correttori nello stesso processo, specificare il comando come
è indicato qui sotto (assumendo che i numeri di correttore siano di due cifre).

Formato Significato
G10 L3 ;
P-L-;
T0101; Numero utensile 01, numero correttore 01
T0102; Numero utensile 01, numero correttore 02
T0103; Numero utensile 01, numero correttore 03
:
G11;
M02(M30);

- 139 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

- Modifica dei dati della gestione vita utensili


M
Formato Significato
G10 L3 P1 ; G10L3P1: Inizio della variazione dei dati
P-L-; P-: Numero gruppo
T-H-D-; L-: Valore vita utensile
T-H-D-; T-: Numero utensile
: H-: Codice per la selezione del correttore (codice H)
P-L-; D-: Codice per la selezione del correttore (codice D)
T-H-D-; G11 : Fine della variazione dei dati
T-H-D-;
:
G11;
M02(M30);

T
Formato Significato
G10 L3 P1 ; G10L3P1: Inizio della variazione dei dati
P-L-; P-: Numero gruppo
T- ; L-: Valore vita utensile
T- ; T-: Numero utensile e numero correttore
: G11 : Fine della registrazione
P-L-;
T- ;
T- ;
:
G11;
M02(M30);

- Cancellazione dei dati della gestione vita utensili


Formato Significato
G10 L3 P2 ; G10L3P2: Inizio della cancellazione dei dati
P-; P-: Numero gruppo
P-; G11 : Fine della cancellazione
P-;
P-;
:
G11;
M02(M30);

- Impostazione del tipo di conteggio vita utensile


Formato Significato
G10 L3 ;
(o G10 L3 P1) ;
P-L-Q-;
T-H-D-; Q : Tipo di conteggio vita
T-H-D-; (1: Numero di impieghi. 2: Durata.)
:
G11;
M02(M30);

- 140 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

AVVERTENZA
Se il comando Q viene omesso, il tipo di conteggio vita è determinato
dall'impostazione del bit 2 (LTM) del parametro N. 6800.

Valore della vita utensile


La vita utensile può essere espressa come numero di impieghi o come durata, a seconda dell'impostazione
del bit 2 (LTM) del parametro N. 6800 o del valore dell'indirizzo Q (specifica del tipo di conteggio). I valori
massimi sono i seguenti.
Tabella 10.2.2 (a) Tipi di conteggio e valori massimi della vita utensili
LFB LTM
Tipo di conteggio Valore massimo
(N. 6805#4) (N. 6800#2)
0 Numero di impieghi 65535 volte
0
1 Durata 4300 minuti
Se il tipo di conteggio è "durata", le unità del valore vita specificato con l'indirizzo L in un programma
possono essere minuti o decimi di secondo in base all'impostazione del bit 1 (FGL) del parametro N. 6805.

Tabella 10.2.2 (b) Unità e valore massimo vita utensile nel comando L
LFB FGL Valore massimo nel
Unità Esempio
(N. 6805#4) (N. 6805#1) comando L
L100:
0 1 minuto 4300
Vita di 100 minuti
0
L1000:
1 0.1 secondo 2580000
Vita di 100 secondi

10.2.3 Comandi della gestione vita utensili in un programma pezzo


Spiegazioni
M
- Comandi
Per la gestione vita utensili si utilizzano i seguenti comandi:
T○○○○○○○○ ;
Specifica un numero di gruppo utensili.
La gestione vita utensili seleziona, dal gruppo specificato, un utensile la cui vita non è scaduta e emette il
segnale del suo codice T.
{{{{{{{{, è il valore ottenuto sommando al numero del gruppo utensili voluto il valore del
parametro 6810 (limite dei codici T fuori dalla gestione vita utensili).
Esempio:
Se il valore del parametro N. 6810 è 100, per specificare il gruppo utensili N. 1, programmare
“T101;”.
NOTA
Se {{{{{{{{ non è maggiore del valore del parametro N. 6810, il codice T
è trattato come un normale codice T..

M06;
Termina la gestione vita per l'utensile precedentemente utilizzato ed inizia il conteggio vita per l'utensile
selezionato con il codice T.
NOTA
1 M06 viene trattato come un codice M che non comporta la bufferizzazione.
2 Se nello stesso blocco devono essere programmati più codici M, specificare per
primo M06.

- 141 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

H99;
Seleziona il codice H registrato nei dati della gestione vita utensili per l'utensile attualmente utilizzato, per
abilitare la compensazione lunghezza utensile. Il parametro N. 13265 può essere utilizzato per abilitare la
compensazione con un codice H diverso da H99.

H00;
Cancella la compensazione lunghezza utensile.

D99 ;
Seleziona il codice D registrato nei dati della gestione vita utensili per l'utensile attualmente utilizzato, per
abilitare la compensazione raggio utensile.
Il parametro N. 13266 può essere utilizzato per abilitare la compensazione con un codice D diverso da D99.

D00;
Cancella la compensazione raggio utensile.

NOTA
H99 e D99 devono essere specificati dopo il comando M06. Se dopo M06 viene
specificato un codice diverso da H99 o D99 o dai codici H e D impostati
rispettivamente con i parametri N. 13265 e 13266, non vengono selezionati i
codici H o D registrati nei dati della gestione vita utensili.

- Tipi
Per la gestione vita utensili possono essere utilizzati i quattro tipi di cambio utensile (tipi da A a D) elencati
qui sotto. Il tipo utilizzato varia da macchina a macchina. Per i dettagli consultare il manuale del costruttore
della macchina utensile.
Tabella 10.2.3 Differenze fra i tipi di cambio utensile
Tipo di cambio utensile A B C D
Parametri M6T e M6E M6T M6E M6T M6E M6T M6E M6T M6E
M6T (N. 6800#7)
0 0 1 0 1 0 1
M6E (N. 6801#7)
Numero gruppo utensili
specificato nello stesso Gruppo utensili già
Gruppo utensili da utilizzare successivamente
blocco del comando di utilizzato
cambio utensile (M06)
Il conteggio viene
eseguito per un
Il conteggio viene eseguito per un utensile appartenente al gruppo specificato a utensile appartenente
Conteggio della vita utensile
partire dal codice M06 programmato successivamente. al gruppo specificato
nello stesso blocco del
codice M06.
Normalmente, se il numero gruppo utensili
Se il comando T (ritiro gruppo
viene specificato da solo, si utilizza il tipo B.
utensili) che segue il comando M06 Se M06 viene
Tuttavia, anche se il numero gruppo utensili
non corrisponde al gruppo utensili specificato da solo, si
Note viene specificato da solo quando si usa il
attualmente utilizzato, si verifica verifica l'allarme
tipo C, non vengono generati allarmi. (Ciò
l'allarme PS0155 (se il bit 6 (IGI) del PS0153.
significa che fra i tipi B e C non ci sono
parametro N. 6800 è 0).
differenze operative.)

NOTA
Se quando viene specificato il numero gruppo utensili viene selezionato un
nuovo utensile, viene emesso il segnale di selezione nuovo utensile.

- 142 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

- Comandi

T{{{{{{99;
La gestione vita utensili termina il conteggio vita dell'utensile utilizzato finora, seleziona, nel gruppo
specificato da {{{{{{, un utensile non ancora scaduto, emette il segnale del codice T per l'utensile, ed
inizia il conteggio vita per il nuovo utensile.

Esempio:
Supponiamo che venga dato il comando T199 (numero correttore utensile specificato con le due cifre
meno significative) perché la funzione gestione vita selezioni T10001 del gruppo utensile 1. Quindi
viene emesso il codice T 100 e viene selezionato il correttore numero 1.

Se nella seconda selezione o nelle selezioni successive dello stesso gruppo dopo che il CNC è passato dalla
condizione di reset alla condizione di funzionamento automatico l'utensile rimane lo stesso e sono stati
registrati più correttori, viene selezionato il codice T successivo a quello attuale.
Alla terza selezione, ad esempio, viene selezionato il terzo correttore fra quelli registrati per lo stesso
utensile.

Esempio:
Come si vede qui sotto, supponiamo che nel gruppo 1 siano impostati due codici T (numero correttore
specificato con le due cifre meno significative) con lo stesso numero utensile è più di un numero di
correttore.
T10001 T10002
Il primo comando T199 successivo al passaggio dell'unità di controllo dalla condizione di reset a
quella di funzionamento automatico, seleziona il primo codice T, T10001. Se T199 viene di nuovo
eseguito prima di un reset dell'unità di controllo, viene selezionato il secondo correttore, T10002. Se
viene eseguito un altro T199 prima di un reset dell'unità di controllo, viene selezionato il secondo
correttore, T10002, perché non ci sono altri correttori.
Se il bit 1 (TSM) del parametro N. 6801 è1 il conteggio vita viene eseguito separatamente per ciascun
codice T, anche se per lo stesso numero utensile sono stati impostati più codici T.

T{{{{{{88;
La correzione dell'utensile per il quale la gestione vita utensili sta conteggiando la vita viene cancellata.
Il numero correttore viene posto a 0 ed il numero utensile viene emesso come segnale del codice T.

Esempio:
Supponiamo che il numero utensile attualmente utilizzato dalla gestione vita utensili sia 100. In questo
caso, l'esecuzione del comando T188 (correttore utensile specificato con le due cifre meno
significative) causa l'emissione del codice T100 e seleziona il correttore numero 0, cancellando la
correzione.
NOTA
Se il conteggio vita non è in esecuzione o l'utensile specificato non appartiene al
gruppo per il quale è in esecuzione il conteggio, si verifica l'allarme PS0155.

- 143 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

Il numero di cifre di {{{{{{ e 99/88 varia come segue:


N.5028 99 88
1 T{{{{{{{ 9 T{{{{{{{ 8
↑ ↑ ↑ ↑
Selezione del Inizio conteggio vita Selezione del Cancellazione della
gruppo gruppo correzione
2 T{{{{{{ 99 T{{{{{{ 88
↑ ↑ ↑ ↑
Selezione del Inizio conteggio vita Selezione del Cancellazione della
gruppo gruppo correzione
3 T{{{{{ 999 T{{{{{ 888
↑ ↑ ↑ ↑
Selezione del Inizio conteggio vita Selezione del Cancellazione della
gruppo gruppo correzione
Il numero massimo di cifre del codice T si imposta con il parametro N. 3032.
Il numero di cifre del numero di correttore si imposta con il parametro N. 5028. Se questo parametro è 0,
il numero di cifre dipende dal numero dei correttori.
Esempio:
Da 1 a 9 correttori: l'ultima cifra
da 10 a 99 correttori: le ultime due cifre
da 100 a 200 correttori: le ultime tre cifre

NOTA
L'attivazione e la cancellazione delle correzioni comportano l'esecuzione della
compensazione con un movimento dell'utensile o con una traslazione del sistema
di coordinate. Il bit 6 (LWM) del parametro N. 5002 permette di scegliere tra
l'esecuzione della compensazione quando viene specificato un codice T o
quando viene specificato un comando di movimento asse.
Per i dettagli, riferirsi alla sottosezione 5.1.5, “Correzioni utensile”, del manuale
dell'operatore per sistemi per torni(B-63944-1).

T{{{{{{∆∆;
Se il numero correttore in ∆∆ non è 99 né 88, il codice T viene trattato come un codice T normale.
Se è in corso un conteggio vita, questo viene terminato.

- 144 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

Esempi

M
- Cambio utensile di tipo A
Se un blocco che specifica il comando di cambio utensile (M06) specifica anche un gruppo utensili
(contiene un codice T), il codice T viene utilizzato come comando ti ritorno dell'utensile nella sua cartuccia.
Quando viene specificato un numero gruppo utensili con un codice T, il numero dell'utensile utilizzato fino
a quel momento viene emesso come segnale del codice T. Se il numero utensile specificato non è tra quelli
appartenenti al gruppo utensili al quale appartiene l'utensile in uso, si verifica l'allarme PS0155. Questo
allarme, però, può essere soppresso mettendo a 1 il bit 6 (IGI) del parametro N. 6800.
Esempio: Supponiamo che il limite dei codici T normali sia 100.
T101 ; Selezione di un utensile non scaduto del gruppo 1.
: (Ad esempio, l'utensile 10.)
M06 ; Conteggio della vita utensile per l'utensile del gruppo 1.
: (Viene contata la vita dell'utensile 10.)
T102 ; Selezione di un utensile non scaduto del gruppo 2.
: (Ad esempio, l'utensile 100.)
M06 ; Conteggio della vita utensile per l'utensile del gruppo 2.
: (Viene contata la vita dell'utensile 100.)
T101 ; Il numero dell'utensile attualmente in uso (del gruppo 1) viene emesso come segnale del codice T.
: (Viene emesso il numero utensile 010.)
T103 ; Selezione di un utensile non scaduto del gruppo 3.
: (Ad esempio, l'utensile 200.)
M06 ; Il numero dell'utensile attualmente in uso (del gruppo 3) viene emesso come segnale del codice T.
: (Viene emesso il numero utensile 200.)
T102 ; Conteggio della vita utensile per l'utensile del gruppo 2.
: (Viene contata la vita dell'utensile 100.)
G43 H99 ; Selezione del correttore lunghezza utensile associato all'utensile del gruppo 3 selezionato.
: Selezione del correttore raggio utensile associato all'utensile del gruppo 3 selezionato.
G41 D99 ; Cancellazione della compensazione raggio utensile.
:
D00; Cancellazione della compensazione lunghezza utensile.
:
H00 ;

- 145 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

- Cambio utensile di tipo B o C


Se un blocco che specifica il comando di cambio utensile (M06) specifica anche un gruppo utensili
(contiene un codice T), il codice T specifica il gruppo utensili per il quale verrà avviato il conteggio vita dal
comando successivo di cambio utensile.

Esempio: Supponiamo che il limite dei codici T normali sia 100.


T101 ; Selezione di un utensile non scaduto del gruppo 1.
: (Ad esempio, l'utensile 10.)
M06 T102 ; Conteggio della vita utensile per l'utensile del gruppo 1.
: (Viene contata la vita dell'utensile 10.)
: Selezione di un utensile non scaduto del gruppo 2.
: (Ad esempio, l'utensile 100.)
M06 T103 ; Conteggio della vita utensile per l'utensile del gruppo 2.
: (Viene contata la vita dell'utensile 100.)
: Selezione di un utensile non scaduto del gruppo 3.
: (Ad esempio, l'utensile 200.)
G43 H99 ; Selezione del correttore lunghezza utensile associato all'utensile del gruppo 2 selezionato.
: Selezione del correttore raggio utensile associato all'utensile del gruppo 2 selezionato.
G41 D99 ; Cancellazione della compensazione raggio utensile.
:
D00; Cancellazione della compensazione lunghezza utensile.
:
H00 ; Conteggio della vita utensile per l'utensile del gruppo 3.
: (Viene contata la vita dell'utensile 200.)
M06 T104 ; Selezione di un utensile non scaduto del gruppo 4.
:
:

- Cambio utensile di tipo D


Per un utensile selezionato dalla specifica di un gruppo utensili (codice T), il conteggio vita viene avviato
dal comando di cambio utensile (M06) contenuto nello stesso blocco del codice T. La specifica del codice T
da solo non causa un allarme, ma la specifica del comando M06 da solo causa l'allarme PS0153. Questo
allarme, però, può essere soppresso mettendo a 1 il bit 7 (TAD) del parametro N. 6805.

Esempio: Supponiamo che il limite dei codici T normali sia 100.


T101 M06 ; Selezione di un utensile non scaduto del gruppo 1.
: (Ad esempio, l'utensile 10.)
: Conteggio della vita utensile per l'utensile del gruppo 1.
: (Viene contata la vita dell'utensile 10.)
T102 M06 ; Selezione di un utensile non scaduto del gruppo 2.
: (Ad esempio, l'utensile 100.)
: Conteggio della vita utensile per l'utensile del gruppo 2.
: (Viene contata la vita dell'utensile 100.)
G43 H99 ; Selezione del correttore lunghezza utensile associato all'utensile del gruppo 2 selezionato.
: Selezione del correttore raggio utensile associato all'utensile del gruppo 2 selezionato.
G41 D99 ; Cancellazione della compensazione raggio utensile.
:
D00; Cancellazione della compensazione lunghezza utensile.
:
H00 ; Selezione di un utensile non scaduto del gruppo 3.
: (Ad esempio, l'utensile 200.)
T103 M06 ; Conteggio della vita utensile per l'utensile del gruppo 3.
: (Viene contata la vita dell'utensile 200.)
:
:

- 146 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

T
Esempio: Supponiamo che il numero correttore sia di due cifre.
T0199 ; Selezione di un utensile non scaduto del gruppo 1.
: (Ad esempio T1001. Il numero utensile è 10 e il numero correttore è 01.)
:
: Conteggio della vita utensile per l'utensile del gruppo 1.
: (Viene contata la vita dell'utensile 10.)
:
: Cancellazione della correzione dell'utensile del gruppo 1 selezionato.
T0188 ; (Dato che l'utensile utilizzato è T1001, il numero utensile è 10m e il numero correttore è 00.)
:
:
: Selezione di un utensile non scaduto del gruppo 2.
: (Ad esempio T2002. Il numero utensile è 20 e il numero correttore è 02.)
T0299 ; Conteggio della vita utensile per l'utensile del gruppo 2.
: (Viene contata la vita dell'utensile 20.)
:
: Se per l'utensile del gruppo 2 attualmente utilizzato sono stati impostati più correttori, viene
: selezionato il correttore successivo.
: (Supponiamo che per l'utensile 20 siano stati registrati T2002 e T2003. In questo caso, viene
T0299 ; selezionato T2003. Il numero utensile è 20 e il numero correttore è 03.)
:
:
: Il conteggio vita per l'utensile del gruppo 2 ha termine e questo comando viene trattato come un
: codice T normale.
: Il numero utensile è 03 e il numero correttore è 01.)
:
T0301 ;
:
:

10.2.4 Conteggio vita utensile e selezione utensile


La vita utensile può essere espressa come numero di impieghi o come durata, a seconda dell'impostazione
del bit 2 (LTM) del parametro N. 6800. Il conteggio vita viene eseguito separatamente per ciascun gruppo
utensili ed il contenuto dei contatori vita non viene perso quando viene spento il CNC.

Tabella 10.2.4 Tipi e intervalli di conteggio della vita utensili


Tipo di conteggio Numero di impieghi Durata
Bit 2 (LTM) del parametro N. 6800 0 1
Il contatore viene incrementato di uno per gli Bit 0 (FCO) del parametro N. 6805
utensili utilizzati da un programma. 0: Ogni secondo.
1: Ogni 0.1 secondi.
Intervallo di conteggio
Il conteggio può essere ripreso programmando il
codice M che riavvia il conteggio vita utensile E' possibile applicare una regolazione.
(parametro N. 6811).

- 147 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

Spiegazioni

M
- Numero di impieghi (LTM=0)
Quando viene specificato un gruppo utensili (codice T), viene selezionato un utensile non scaduto
appartenente al gruppo specificato. Di conseguenza, quando viene eseguito il comando di cambio utensile
(M06), il contatore vita dell'utensile selezionato viene incrementato di uno. A meno che non venga
specificato il codice M per il riavvio del conteggio vita, la selezione di un nuovo utensile e l'incremento del
contatore vengono eseguiti solo quando la specifica del numero di gruppo ed il comando di cambio utensile
vengono eseguiti per la prima volta dopo il passaggio dell'unità di controllo dalla condizione di reset a
quella di funzionamento automatico.

AVVERTENZA
Non importa per quante altre volte il programma specifica lo stesso numero di
gruppo utensili. Il contatore non viene più incrementato, né viene selezionato un
altro utensile dello stesso gruppo.

- Durata (LTM=1)
I dati della gestione vita utensili vengono registrati dopo la cancellazione di tutti i dati della gestione vita
utensili precedenti.
Quando viene specificato un gruppo utensili (codice T), viene selezionato un utensile non scaduto
appartenente al gruppo specificato. Di conseguenza, quando viene eseguito il comando di cambio utensile
(M06), inizia il conteggio della vita utensile. Il conteggio della vita utensile viene eseguito misurando a
intervalli regolari (ad ogni secondo o ad ogni decimo di secondo) il tempo durante il quale l'utensile viene
effettivamente utilizzato in lavoro. L'intervallo di conteggio si specifica con il bit 0 (FCO) del parametro
N. 6805. Il tempo di arresto in blocco singolo, feed hold, rapido, sosta, blocco macchina e interblocco non
viene conteggiato.
Se il bit 2 (LFV) del parametro N. 6801 è 1, è possibile applicare al conteggio vita la regolazione specificata
dai segnali di correzione del conteggio vita utensile. E' possibile applicare una regolazione compresa fra 0 e
99.9 volte. Con una regolazione di 0 volte, il conteggio non viene eseguito.

- Numero di impieghi (LTM=0)


Quando viene specificato un gruppo utensili (codice T○○99), viene selezionato un utensile non scaduto
appartenente al gruppo specificato, ed il contatore vita dell'utensile selezionato viene incrementato di uno.
A meno che non venga specificato il codice M per il riavvio del conteggio vita, la selezione di un nuovo
utensile e l'incremento del contatore vengono eseguiti solo quando la specifica del numero di gruppo ed il
comando di cambio utensile vengono eseguiti per la prima volta dopo il passaggio dell'unità di controllo
dalla condizione di reset a quella di funzionamento automatico.

AVVERTENZA
Non importa per quante altre volte il programma specifica lo stesso numero di
gruppo utensili. Il contatore non viene più incrementato, né viene selezionato un
altro utensile dello stesso gruppo.

- Durata (LTM=1)
Quando viene specificato un gruppo utensili (codice T○○99), viene selezionato un utensile non scaduto
appartenente al gruppo specificato, ed inizia il conteggio vita per l'utensile selezionato.
Il conteggio della vita utensile viene eseguito misurando a intervalli regolari (ad ogni secondo o ad ogni
decimo di secondo) il tempo durante il quale l'utensile viene effettivamente utilizzato in lavoro. L'intervallo
di conteggio si specifica con il bit 0 (FCO) del parametro N. 6805. Il tempo di arresto in blocco singolo,
feed hold, rapido, sosta, blocco macchina e interblocco non viene conteggiato.
- 148 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

Se il bit 2 (LFV) del parametro N. 6801 è 1, è possibile applicare al conteggio vita la regolazione specificata
dai segnali di correzione del conteggio vita utensile. E' possibile applicare una regolazione compresa fra 0 e
99.9 volte. Con una regolazione di 0 volte, il conteggio non viene eseguito.

NOTA
1 Quando deve essere selezionato un utensile, viene cercato, a partire dall'utensile
attuale per arrivare all'ultimo utensile del gruppo, un utensile non scaduto.
Quando viene raggiunto l'ultimo utensile, la ricerca riparte dal primo. Se non
viene trovato un utensile non scaduto, viene selezionato l'ultimo utensile.
Quando deve essere cambiato l'utensile attualmente utilizzato in seguito al
segnale di salto utensile, il nuovo utensile viene selezionato come segue.
2 Se il conteggio vita indica che l'ultimo utensile del gruppo è scaduto, viene
emesso il segnale di sostituzione utensili. Se viene conteggiata la durata, il
segnale viene emesso non appena ha termine la vita dell'ultimo utensile. Se
viene conteggiato il numero di impieghi, il segnale viene emesso quando il CNC
viene resettato da un comando come M02 o M30 o quando viene specificato il
codice M per la ripartenza del conteggio dopo che l'ultimo utensile del gruppo è
scaduto.
3 Quando viene specificato un comando T, vengono selezionati un gruppo ed un
utensile appartenente al gruppo, mentre il codice T viene bufferizzato. Ciò
significa che se un blocco da bufferizzare contiene un comando T che specifica
un gruppo mentre è in corso la lavorazione ed è selezionato quel gruppo, il
comando T successivo è già bufferizzato, e, anche se l'utensile scade durante la
lavorazione, non viene selezionato l'utensile successivo. Per evitare questa
situazione, se viene conteggiato il tempo di impiego e deve essere specificato in
sequenza un altro codice T che seleziona lo stesso gruppo, inserire un codice M
che sopprime la bufferizzazione immediatamente prima del codice T.
4 Durante il conteggio della vita utensile, la vita residua di un gruppo (valore vita
meno contatore vita) viene confrontata con la vita residua impostata, e lo stato
del segnale di preavviso scadenza utensile cambia in base al risultato del
confronto.

- M99
Se la vita utensili è espressa come numero di impieghi e il bit 0 (T99) del parametro N. 6802 è 1, quando
viene eseguito il comando M99, se è terminata la vita di almeno un gruppo utensili viene emesso i segnale
di sostituzione utensili TLCH<Fn064.0> e il funzionamento automatico si ferma. Quando per la vita
utensile viene conteggiata la durata, se è terminata la vita di un gruppo utensili il segnale di sostituzione
utensili viene emesso immediatamente e, quando viene specificato il comando M99, il funzionamento
automatico si ferma, ma non viene emesso un altro segnale di sostituzione utensili.

M
Se la vita utensili è espressa come numero di impieghi, dopo la specifica di M99 un codice T (gruppo di
utensili) seleziona entro il gruppo specificato un utensile non scaduto, ed il successivo comando di cambio
utensile (M06) incrementa di uno il contatore della vita utensile.

T
Se la vita utensili è espressa come numero di impieghi, quando viene specificato un codice T (gruppo di
utensili) dopo la specifica di M99, viene selezionato un utensile non scaduto appartenente al gruppo
specificato e il contatore vita viene incrementato di uno.

- 149 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

10.2.5 Codice M per la ripartenza del conteggio vita utensili


Spiegazioni

M
Quando la vita utensili è specificata come numero di impieghi, se viene comandato il codice M per la
ripartenza del conteggio della vita utensili, il segnale di sostituzione utensile viene emesso quando c'è
almeno un gruppo utensili la cui vita è scaduta. Il codice T (che comanda un gruppo della gestione vita
utensili) specificato dopo il codice M di ripartenza del conteggio seleziona un utensile non scaduto entro il
gruppo specificato e il successivo comando M06 (cambio utensile) incrementa di uno il contatore vita.
Questo permette di conteggiare la vita utensile in seguito ad un comando di cambio utensile (M06), anche
se quel comando non è il primo dopo il passaggio del CNC dalla condizione di reset alla condizione di
funzionamento automatico. Il codice M per la ripartenza del conteggio vita si specifica con il parametro
N. 6811.

Esempio:
Supponiamo che il codice M per la ripartenza del conteggio vita sia M16 e che il
limite degli utensili normali sia 100.
Supponiamo inoltre che la vita utensile sia espressa come numero di impieghi.
T101 ; Selezione di un utensile non scaduto del gruppo 1.
:
M06 ; La gestione vita utensili viene eseguita per il gruppo 1.
: (Il contatore vita utensile viene incrementato di uno.)
T102 ; Selezione di un utensile non scaduto del gruppo 2.
:
M06 ; La gestione vita utensili viene eseguita per il gruppo 2.
: (Il contatore vita utensile viene incrementato di uno.)
M16 ; Il conteggio vita viene riavviato.
T101 ; Selezione di un utensile non scaduto del gruppo 1.
:
M06 ; La gestione vita utensili viene eseguita per il gruppo 1.
: (Il contatore vita utensile viene incrementato di uno.)

- 150 -
B-64304IT/02 PROGRAMMAZIONE 10.FUNZIONE UTENSILE (FUNZIONE T)

T
Quando la vita utensili è specificata come numero di impieghi, se viene comandato il codice M per la
ripartenza del conteggio vita utensili, il segnale di sostituzione utensile viene emesso quando c'è almeno un
gruppo utensili la cui vita è scaduta. Quando viene specificato un gruppo utensili (codice T) dopo il codice
M di ripartenza del conteggio vita, viene selezionato un utensile non scaduto appartenente al gruppo
specificato, ed il contatore vita dell'utensile selezionato viene incrementato di uno. Questo permette di
conteggiare la vita utensile in seguito alla specifica di un gruppo utensili (codice T), anche se questa non è
la prima dopo il passaggio del CNC dalla condizione di reset alla condizione di funzionamento automatico.
Il codice M per la ripartenza del conteggio vita si specifica con il parametro N. 6811.
Esempio:
Supponiamo che il codice M di ripartenza del conteggio vita sia M16.
Supponiamo inoltre che la vita utensile sia espressa come numero di impieghi.
T199 ; Selezione di un utensile non scaduto del gruppo 1.
: La gestione vita utensili viene eseguita per il gruppo 1.
: (Il contatore vita utensile viene incrementato di uno.)
:
T299 ; Selezione di un utensile non scaduto del gruppo 2.
: La gestione vita utensili viene eseguita per il gruppo 2.
: (Il contatore vita utensile viene incrementato di uno.)
:
M16 ; Il conteggio vita viene riavviato.
T199 ; Selezione di un utensile non scaduto del gruppo 1.
: La gestione vita utensili viene eseguita per il gruppo 1.
: (Il contatore vita utensile viene incrementato di uno.)

NOTA
1 Il codice M di ripartenza del conteggio vita è trattato come codice M non coinvolto
nella bufferizzazione.
2 Quando la vita utensili è specificata come numero di impieghi, se viene
programmato il codice M per la ripartenza del conteggio della vita utensili, il
segnale di sostituzione utensile viene emesso quando c'è almeno un gruppo
utensili la cui vita è scaduta. Se la vita utensili è specificata come tempo, la
specifica del codice M per la ripartenza del conteggio non ha effetti.

- 151 -
10.FUNZIONE UTENSILE (FUNZIONE T) PROGRAMMAZIONE B-64304IT/02

10.2.6 Disabilitazione del conteggio vita

Spiegazioni
Se il bit 6 (LFI) del parametro N. 6804 è 1, è possibile utilizzare il segnale LFCIV che abilita/disabilita il
conteggio vita utensile.

Se il segnale LFCIV è 1, va a 1 il segnale LFCIF (conteggio vita utensile disabilitato) e il conteggio vita non
viene eseguito.
Se il segnale LFCIV è 0, va a 0 il segnale LFCIF (conteggio vita utensile disabilitato) e il conteggio vita
viene eseguito.

NOTA
Quando cambia lo stato del segnale LFCIV (disabilitazione del conteggio vita
utensile) la bufferizzazione deve essere inibita. Pertanto, per cambiare lo stato
del segnale utilizzare codici M non coinvolti nella bufferizzazione. Se il blocco che
contiene M06 (per la Serie M) o un codice T di cambio utensile (per la Serie T)
segue immediatamente un blocco contenente un codice M che cambia lo stato
del segnale LFCIV e questo codice M non disabilita la bufferizzazione, è
probabile che il comando che specifica se eseguire o non eseguire il conteggio
risulti errato.

- 152 -
B-64304IT/02 PROGRAMMAZIONE 11.FUNZIONI AUSILIARIE

11 FUNZIONI AUSILIARIE
Introduzione
Sono disponibili due tipi di funzioni ausiliarie: funzione ausiliaria (codice M), utilizzata per specificare la
rotazione del mandrino, l'arresto del mandrino, la fine del programma, e così via, e seconda funzione
ausiliaria (codice B), utilizzata per specificare il posizionamento o altre operazioni della tavola rotante.
Quando nello stesso blocco vengono specificati un comando di movimento e una funzione ausiliaria,
i comandi vengono eseguiti in uno dei due modi seguenti:
(1) Esecuzione simultanea del comando di movimento e della funzione ausiliaria.
(2) Esecuzione della funzione ausiliaria dopo il completamento del comando di movimento.
La scelta tra queste due sequenze dipende dalle specifiche del costruttore della macchina utensile.
Vedere i dettagli sul manuale del costruttore.

Il Capitolo 11, "FUNZIONI AUSILIARIE", è costituito dalle seguenti sezioni:

11.1 FUNZIONE AUSILIARIA (FUNZIONE M) ................................................................................... 153


11.2 PIU' CODICI M IN UN BLOCCO ................................................................................................... 154
11.3 SECONDA FUNZIONE AUSILIARIA (CODICI B) ...................................................................... 155

11.1 FUNZIONE AUSILIARIA (FUNZIONE M)


Quando viene specificato l'indirizzo M seguito da un numero, vengono trasmessi alla macchina segnale del
codice e un segnale strobe. La macchina usa questi segnali per attivare o disattivare le proprie funzioni.
Normalmente, in un blocco può essere specificato un solo codice M. in base all'impostazione del bit 7
(M3B) del parametro N. 3404, è possibile specificare fino a tre codici M.
La corrispondenza tra codici M e funzioni della macchina è determinata dal costruttore della macchina
stessa. Tutte le operazioni specificate con i codici M, salvo M98, M99, M198, i codici M usati per il
richiamo di sottoprogrammi (parametri da 6071 a 6079) e i codici M usati per il richiamo di macroistruzioni
(parametri da 6080 a 6089), vengono eseguite dalla macchina. Vedere i dettagli sul manuale del costruttore
della macchina utensile.

Spiegazioni
I seguenti codici M hanno un significato speciale.

- M02,M30 (Fine del programma)


Questo indica la fine del programma principale.
Il ciclo si ferma ed il CNC viene resettato. (Questo varia da costruttore a costruttore.)
Dopo l'esecuzione del blocco che specifica la fine del programma, il controllo ritorna all'inizio del
programma stesso.
E' possibile usare il bit 5 (M02) e il bit 4 (M30) del parametro N. 3404 per disabilitare la restituzione del
controllo all'inizio del programma con M02, M30.

- M00 (Arresto del programma)


Dopo un blocco contenente M00, il ciclo si arresta. Con questo arresto, tutte le informazioni modali restano
invariate. Il ciclo può essere riavviato attuando un cycle start. (Questo varia da costruttore a costruttore.)

- M01 (Arresto opzionale)


Come per M00, il ciclo si arresta dopo un blocco contenente M01. Questo codice, però, è effettivo soltanto
se è stato premuto il tasto arresto opzionale sul pannello dell'operatore.

- 153 -
11.FUNZIONI AUSILIARIE PROGRAMMAZIONE B-64304IT/02

- M98 (Richiamo sottoprogramma)


Questo codice si usa per richiamare i sottoprogrammi. Il segnale del codice ed il segnale strobe non sono
inviati alla macchina. Vedere i dettagli nella sezione II-13.3.

- M99 (Fine sottoprogramma)


Questo codice indica la fine di un sottoprogramma.
L'esecuzione di M99 restituisce il controllo al programma principale. Il segnale del codice ed il segnale
strobe non sono inviati alla macchina. Vedere i dettagli nella sezione II-13.3.

- M198 (Richiamo sottoprogramma da un'unità esterna)


Questo codice M si utilizza per richiamare un sottoprogramma contenuto in un file residente su un'unità
esterna. Per i dettagli, vedi la sezione 4.5 "RICHIAMO SOTTOPROGRAMMA DA UN'UNITA'
ESTERNA (M198)" della parte III.

NOTA
Il blocco successivo a M00, M01, M02 o M30 non viene letto in anticipo
(non viene bufferizzato). I parametri N. 3411 - 3420 e 3421 - 3432 permettono di
specificare i codici M che, allo stesso modo, non vengono bufferizzati
Per i codici M non bufferizzati, consultare il manuale del costruttore della
macchina utensile.

11.2 PIU' CODICI M IN UN BLOCCO


Normalmente, in un blocco può essere specificato un solo codice M. Però, mettendo a 1 il bit 7 (M3B) del
parametro N. 3404, diventa possibile specificare fino a 3 codici M in un solo blocco..
I codici M specificati in un blocco vengono inviati alla macchina simultaneamente, consentendo di ridurre
il tempo ciclo totale.

Spiegazioni
Il CNC permette di specificare fino a tre codici M in un blocco. Però alcuni codici M non possono essere
programmati contemporaneamente a causa di limitazioni dovute alle operazioni meccaniche. Per maggiori
informazioni sulla programmazione di più codici M per blocco, consultare il manuale del costruttore della
macchina utensile.
M00, M01, M02, M30, M98, M99 e M198 non possono essere specificati in un blocco insieme ad altri
codici M.
Alcuni altri codici M, oltre a M00, M01, M02, M30, M98, M99 e M198, non possono essere specificati
insieme ad altri codici M e devono essere specificati in un blocco indipendente.
Questi codici M sono quelli che oltre ad essere inviati alla macchina vengono anche usati internamente dal
CNC. Ad esempio, i codici M che richiamano i sottoprogrammi da 9001 a 9009 e i codici M che inibiscono
la pre-lettura del blocco successivo (esclusione del buffer). In un blocco possono essere specificati più
codici M, ma limitatamente ai codici M che il controllo invia alla macchina senza eseguire altre
elaborazioni.
Vale a dire che è possibile specificare in un blocco più codici M da inviare alla macchina, purché essi non
comportino l'esecuzione di operazioni interne al CNC. (Dato che il trattamento dei codici M dipende dalla
macchina, riferirsi al manuale del costruttore della macchina utensile.)

Esempio
Un codice M in un blocco Più codici M in un blocco
M40; M40 M50 M60 ;
M50; G28 G91 X0 Y0 Z0;
M60; :
G28 G91 X0 Y0 Z0; :
: :

- 154 -
B-64304IT/02 PROGRAMMAZIONE 11.FUNZIONI AUSILIARIE

11.3 SECONDA FUNZIONE AUSILIARIA (CODICI B)


Introduzione
Quando viene programmato l'indirizzo B seguito da un numero (massimo 8 cifre), vengono emessi il
segnale del codice ed il segnale strobe per l'esecuzione dei calcoli relativi all'asse rotativo. IL segnale del
codice è ritenuto fino alla specifica di un altro codice B.
E' possibile specificare un solo codice B per blocco. Se il numero di cifre di un codice B supera il limite
massimo specificato con il parametro N. 3033, si verifica un allarme.
Come indirizzo utilizzato per specificare la seconda funzione ausiliaria può essere scelto un carattere
diverso da B (A, C, U, V o W) mediante il parametro N. 3460.
L'indirizzo utilizzato per la seconda funzione ausiliaria non può essere utilizzato anche come indirizzo asse.
Per i dettagli consultare il manuale del costruttore della macchina utensile.

Spiegazioni
- Campo di validità del codice
da -99999999 a 99999999 (8 cifre)

- Valore in uscita
Il valore specificato dopo l'indirizzo della seconda funzione ausiliaria viene emesso con i segnali di codice
B00 - B31. Riguardo al valore in uscita notare quanto segue.

1. Quando sono disabilitati il punto decimale ed il segno meno


(Quando il bit 0 (AUP) del parametro N. 3450 è 0)

Quando è selezionata la programmazione senza punto decimale della seconda funzione ausiliaria, il
valore specificato viene emesso così com'è, indipendentemente dall'impostazione relativa all'uso del
punto decimale tipo calcolatrice tascabile (bit 0 (DPI) del parametro N.3401).
Esempio:
Valore specificato Valore in uscita
B10 10

Se il codice della seconda funzione ausiliaria viene programmato con il punto decimale si verifica
l'allarme PS0007.
Se il codice della seconda funzione ausiliaria viene programmato con il segno meno si verifica
l'allarme PS0006.

2. Quando sono abilitati il punto decimale ed il segno meno


(Quando il bit 0 (AUP) del parametro N. 3450 è 1)

Quando non è selezionata la programmazione del punto decimale tipo calcolatrice tascabile (il bit 0
(DPI) del parametro N. 3401 è 0), se la seconda funzione ausiliaria viene programmata senza punto
decimale, il valore specificato viene emesso così com'è.
Esempio:
Valore specificato Valore in uscita
B10 10

- 155 -
11.FUNZIONI AUSILIARIE PROGRAMMAZIONE B-64304IT/02

Quando è selezionata la programmazione del punto decimale tipo calcolatrice tascabile (il bit 0 (DPI)
del parametro N. 3401 è 1), se la seconda funzione ausiliaria viene programmata senza punto decimale,
viene emesso il valore specificato moltiplicato per un moltiplicatore. (I moltiplicatori sono indicati
nella tabella 11.3 (a).)
Esempio:
Valore specificato Valore in uscita
B10 10000 (Quando si utilizza la programmazione in millimetri e l'asse di
riferimento è IS-B. Il moltiplicatore è 1000.)

Se la seconda funzione ausiliaria viene programmata con il punto decimale, viene emesso il valore
specificato moltiplicato per un moltiplicatore. (I moltiplicatori sono indicati nella tabella 11.3 (a).)
Esempio:
Valore specificato Valore in uscita
B10. 10000 (Quando si utilizza la programmazione in millimetri e l'asse di
riferimento è IS-B. Il moltiplicatore è 1000.)
B0.123 1230 (Quando si utilizza la programmazione in pollici, l'asse di
riferimento è IS-B ed il parametro AUX è 1. Il moltiplicatore è
10000.)

Il moltiplicatore viene determinato come segue in base al sistema di incrementi dell'asse di riferimento
(specificato dal parametro N. 1031) e del bit 0 (AUX) del parametro N. 3405.

Tabella 11.3 (a) Moltiplicatori del valore in uscita quando la seconda funzione ausiliaria è specificata con il
punto decimale ed è selezionato l'uso del punto decimale tipo calcolatrice tascabile
Unità Parametro AUX=0 Parametro AUX=1
Asse di riferimento: IS-A 100× 100×
Programmazione in millimetri Asse di riferimento: IS-B 1000× 1000×
Asse di riferimento: IS-C 10000× 10000×
Asse di riferimento: IS-A 100× 1000×
Programmazione in pollici Asse di riferimento: IS-B 1000× 10000×
Asse di riferimento: IS-C 10000× 100000×

AVVERTENZA
Se dopo l'applicazione al valore specificato con il punto decimale del
moltiplicatore indicato nella tabella 11.3 (a), rimane una parte decimale,
questa viene troncata.
Esempio:
Valore specificato Valore in uscita
B0.12345 1234 (Quando è utilizzata la programmazione in pollici,
l'asse di riferimento è IS-B ed il parametro AUX è 1. Il
moltiplicatore è 10000.)

NOTA
Se il numero di cifre del valore specificato eccede il limite specificato con il
parametro N. 3033), si verifica l'allarme PS0003.
Quando al valore specificato viene applicato il moltiplicatore indicato nella tabella
11.3 (a), il numero di cifre considerato è quello del risultato della moltiplicazione.

Limitazioni
L'indirizzo utilizzato per la seconda funzione ausiliaria (l'indirizzo B o quello specificato con il parametro
N. 3460) non può essere utilizzato come indirizzo asse.

- 156 -
B-64304IT/02 PROGRAMMAZIONE 12.GESTIONE DEI PROGRAMMI

12 GESTIONE DEI PROGRAMMI


Il Capitolo 12, "GESTIONE DEI PROGRAMMI", è costituito dalle seguenti sezioni:

12.1 ATTRIBUTI DEI PROGRAMMI .................................................................................................... 157


12.2 PARAMETRI.................................................................................................................................... 157
12.3 CAPACITA' DELLA MEMORIA PROGRAMMI / NUMERO DEI
PROGRAMMI REGISTRABILI ...................................................................................................... 158

12.1 ATTRIBUTI DEI PROGRAMMI


Per i programmi è possibile specificare i seguenti attributi:
• Livello di protezione dalle modifiche/livello di protezione dall'emissione

- Livello di protezione dalle modifiche/livello di protezione dall'emissione


Utilizzando la funzione di protezione dei dati ad otto livelli, è possibile proteggere un, programma contro le
modifiche e contro l'emissione.
Per i dettagli, riferirsi alla descrizione della funzione “Protezione dei dati ad otto livelli”.

12.2 PARAMETRI
Nella sottostante tabella sono descritti i parametri relativi alle cartelle ed ai programmi da manipolare o da
eseguire.

N. Parametro N. Bit Descrizione


0 (NE8) Disabilita o abilita l'editazione dei programmi da O8000 a O8999.
3202
4 (NE9) Disabilita o abilita l'editazione dei programmi da O9000 a O9999.
3210/3211 - Password/keyword per la protezione dei programmi del gruppo 9000
Nel richiamo sottoprogramma con M198, l'indirizzo P specifica un file/un
3404 2 (SBP)
numero programma.
6001 5 (TCS) Il codice T richiama o non richiama una macro.
6050~6059 - Codici G per il richiamo delle macro con N. programma da 9010 a 9019
Codici M per il richiamo dei sottoprogrammi N. programma da 9001 a
6071~6079 -
9009
6080~6089 - Codici M per il richiamo delle macro con N. programma da 9020 a 9029
Codici ASCII per il richiamo dei sottoprogrammi N. programma da 9004
6090/6091 -
a 9005
Numero programma e numero di sequenza per la funzione di arresto al
8341/8343 -
numero di sequenza specificato

- 157 -
12.GESTIONE DEI PROGRAMMI PROGRAMMAZIONE B-64304IT/02

12.3 CAPACITA' DELLA MEMORIA PROGRAMMI / NUMERO


DEI PROGRAMMI REGISTRABILI
La sottostante tabella fornisce la relazione fra la capacità della memoria programmi ed il numero dei
programmi registrabili.

Capacità della memoria Numero dei 0i-D 0i Mate-D


programmi programmi registrabili M T M T
320Kbyte 400 ○2 ○2 - -
512Kbyte 400 ○1 ○1 ○ ○
1Mbyte 800 - *2 - -
2Mbyte 400 ☆ - - -
○: Standard (1/2) *2: Sistema a 2 canali ☆: Opzione

NOTA
Programma O0001 1 La capacità della memoria programmi
O0001 ; corrisponde alla dimensione massima di un
Prima pagina
N1 G01 ; programma se il programma è l'unico ad essere
(Area utilizzata) registrato.
2 Se vengono registrati due o più programmi, la
N100 … ; dimensione totale dei programmi ancora
Seconda pagina
registrabili si riduce per il seguente motivo.
(Area utilizzata) La Serie 0i-D/0i Mate-D gestisce i programmi in
unità corrispondenti alle pagine. Anche le unità
M30 ; Ultima pagina
di gestione della memoria programmi
(Area utilizzata) corrispondono alle pagine. Quando viene
(Area inutilizzata)
creato un programma, gli vengono assegnate
tante pagine quante sono necessarie a
contenerlo, ed il programma viene scritto in
Non utilizzabile per altri queste pagine. Generalmente, nell'ultima
programmi
pagina rimane un'area non utilizzata (figura a
sinistra). Quest'area inutilizzata non è
Esempio di creazione del programma O0001
disponibile per altri programmi. La gestione
programmi la tratta come area utilizzata.
La Serie 0i-C utilizza una modalità di gestione
similare, ma in essa le pagine sono diverse da
quelle della Serie 0i-D/0i Mate-D. Così, se
vengono registrati due o più programmi, la
dimensione dei programmi ancora registrabili
nei CNC Serie 0i-D/0i Mate-D è diversa da
quella dei CNC Serie 0i-C.

- 158 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA

13 CONFIGURAZIONE DEL PROGRAMMA


Introduzione
- Programma principale e sottoprogrammi
Esistono due tipi di programmi: programma principale e sottoprogramma. Normalmente, il CNC opera
sotto il controllo del programma principale, ma, quando viene incontrato un comando che richiama un
sottoprogramma, il controllo passa al sottoprogramma. Quando, poi, viene incontrato un comando di
ritorno al programma principale, il controllo viene restituito al programma principale.

Programma principale Sottoprogramma

Istruzione 1 Istruzione 1’
Istruzione 2 Istruzione 2’

Segui le istruzioni del


sottoprogramma
Istruzione n
Istruzione n+1

Ritorna al programma principale

Fig. 13 (a) Programma principale e sottoprogramma

La memoria del CNC può contenere 400 programmi principali e sottoprogrammi (800 programmi e
sottoprogrammi per la Serie T a 2 canali). Il CNC può utilizzare uno di questi programmi per governare la
macchina. Vedere le sezioni III-9 e III-10.4 per i metodi di registrazione e di selezione dei programmi.

- Componenti del programma


Un programma è composto dalle seguenti sezioni:

Tabella 13 (a) Componenti del programma


Componente Descrizione
Codice di inizio file programma Un simbolo che indica l'inizio di un file di programma
Sezione leader Usata per il titolo del file di programma, ecc.
Inizio programma Un simbolo che indica l'inizio del programma
Sezione programma I comandi di lavorazione
Sezione commenti Commenti o istruzioni per l'operatore
Codice di fine file programma Un simbolo che indica la fine del file di programma

- 159 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02

Sezione leader

Codice di inizio file % TITOL ; Inizio programma


programma
O0001 ;

Sezione programma (COMMENTO Sezione commenti

M30 ;
% Codice di fine file
programma

Fig. 13 (b) Configurazione del programma

- Configurazione della sezione programma


La sezione programma è costituita da vari blocchi, inizia con il numero programma e termina con il codice
di fine programma.

Configurazione Sezione programma

Numero di programma O0001 ;


Blocco 1 N1 G91 G00 X120.0 Y80.0 ;
Blocco 2 N2 G43 Z-32.0 H01 ;
: :
Blocco n Nn Z0 ;
Fine programma M30 ;

Un blocco contiene le informazioni necessarie per la lavorazione, come i comandi di movimento o i


comandi di attivazione/disattivazione del refrigerante. E' possibile disabilitare l'esecuzione di un blocco
specificando una barra (/) seguita da un valore numerico all'inizio del blocco stesso (vedere "Salto blocco
opzionale" nella sezione II-13.2).

- 160 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA

13.1 COMPONENTI DEL PROGRAMMA DIVERSE DALLA


SEZIONE PROGRAMMA
Questo paragrafo descrive le componenti del programma diverse dalla sezione programma.
La sezione programma è descritta nel paragrafo II-13.2.
Sezione leader

Codice di inizio file % TITOLO ; Inizio programma


programma
O0001 ;

Sezione (COMMENTO) Sezione commenti


programma

M30 ;
% Codice di fine file
programma

Fig. 13.1 (a) Configurazione del programma

Spiegazioni
- Codice di inizio file programma
Il simbolo di inizio file programma indica l'inizio di un file che contiene uno o più programmi pezzo.
Questo simbolo non è richiesto quando i programmi pezzo sono registrati con un normale personal
computer e non viene visualizzato. Però, nella emissione di file, questo simbolo viene sempre scritto
all'inizio del file.

Tabella 13.1 (a) Codice di inizio file programma


Notazione usata in questo
Nome Codice ISO Codice EIA
manuale
Codice di inizio file programma % ER %

- Sezione leader
I dati del file che precedono i programmi costituiscono la sezione leader.
All'accensione o dopo un reset eseguito per iniziare una lavorazione, il sistema è normalmente nello stato di
label skip. In questo stato del sistema, tutte le informazioni che precedono il primo codice di fine blocco
sono ignorate. Quando un file viene registrato nel CNC da una unità di I/O, le sezioni leader sono saltate
dalla funzione label skip.
Generalmente, la sezione leader contiene informazioni quali la testata del file. Quando viene saltata la
sezione leader, il controllo di parità TV non è eseguito, quindi essa può contenere qualsiasi carattere salvo
l'EOB.

- Inizio programma
Il codice di inizio programma deve comparire immediatamente dopo la sezione leader, cioè,
immediatamente prima della sezione programma.
Questo codice indica l'inizio di un programma ed è sempre necessario per disabilitare la funzione label skip.
Con un normale personal computer, questo codice può essere registrato premendo il tasto return.

Tabella 13.1 (b) Codice di inizio programma


Notazione usata in questo
Nome Codice ISO Codice EIA
manuale
Inizio programma LF CR ;

- 161 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02

NOTA
Se un file contiene più programmi, non è necessario che il codice EOB
(fine blocco) per la disabilitazione della funzione label skip compaia anche
all'inizio dei programmi successivi al primo.

- Sezione commenti
Le informazioni contenute fra i codici control-out e control-in vengono considerate come commenti.
In questa sezione possono essere inseriti un titolo, dei commenti, delle istruzioni per l'operatore e così via.

Tabella 13.1 (c) Codici di control-in e control-out


Notazione usata in
Nome Codice ISO Codice EIA Significato
questo manuale
Control-out ( 2-4-5 ( Inizio sezione commento
Control-in ) 2-4-7 ) Fine sezione commento
Quando un programma viene registrato in memoria, per essere eseguito nel modo memoria, le sezioni
commento, se esistono, non vengono ignorate, ma vengono anch'esse registrate in memoria. Però, i codici
non elencati nell'appendice A vengono ignorati.
Quando un programma registrato in memoria viene scritto su una unità esterna di immissione/emissione
(Sezione III-8), vengono scritti anche i commenti.
Quando un programma viene visualizzato sullo schermo, sono visualizzate anche le sezioni commenti.
Però, i codici ignorati durante la lettura non vengono né emessi, né visualizzati.
Durante il funzionamento da memoria o in DNC i commenti vengono ignorati.
Il controllo TV può essere abilitato per la sezione commenti con l'impostazione del bit 1 (CTV) del
parametro N. 0100.

AVVERTENZA
Se la sezione commenti è all'interno della sezione programma ed è lunga,
il movimento subisce una lunga interruzione. Quindi, la sezione commenti deve
essere messa in un punto in cui il movimento possa essere interrotto o in un
punto senza movimento.

NOTA
1 Quando il codice "control-in" non è preceduto dal codice "control out",
viene ignorato.
2 Il seguenti codici non possono essere usati nella sezione commenti:
- EOB
- % (ER in codice EIA)

- Codice di fine file programma


Alla fine di un file contenente uno o più programmi pezzo, deve essere registrato un codice di fine file.
Se i programmi sono caricati nel CNC usando un sistema di programmazione automatica, non è necessario
immettere questo carattere,
che non viene visualizzato. Al termine dell'emissione di un file, il carattere di fine file viene registrato
automaticamente.
Se alla fine del programma non ci sono M02 o M30 e si tenta di eseguire un %, si ha l'allarme PS5010.

Tabella 13.1 (d) Codice di fine file programma


Notazione usata in questo
Nome Codice ISO Codice EIA
manuale
Codice di fine file programma % ER %

- 162 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA

13.2 CONFIGURAZIONE DELLA SEZIONE PROGRAMMA


Questo paragrafo descrive gli elementi della sezione programma. Le altre componenti del programma
pezzo sono descritte nel paragrafo II-13.1.

Numero programma

% TITOLO ;

O0001 ;
N1 ... ;
Numero di sequenza

Sezione programma (COMMENTO)

M30 ;

% Fine programma

Fig. 13.2 (a) Configurazione del programma

- Numero programma
Il numero programma è costituito dall'indirizzo O seguito da un numero di quattro cifre ed ha lo scopo di
distinguere i programmi registrati in memoria. Se si usa l'opzione numero programma di 8 cifre, è possibile
specificare il numero del programma usando otto cifre.
In codice ISO è possibile utilizzare il carattere due punti ( : ) al posto di O.
Quando all'inizio del programma non viene specificato il numero del programma, viene assunto come tale il
numero di sequenza (N...) specificato all'inizio del programma.
Se il numero di sequenza è di 5 cifre, il numero di programma è costituito dalle 4 cifre meno significative.
Se queste sono tutte 0, il numero del programma è il numero del programma precedente più 1. N0 non può
essere usato come numero del programma.
Se all'inizio del programma non sono specificati né il numero del programma né il numero di sequenza, il
numero del programma deve essere specificato tramite la tastiera MDI quando il programma viene
registrato (Sezioni III-8.2 o III-9.1).

NOTA
I numeri di programma da 8000 a 9999 possono essere utilizzati dal costruttore
della macchina utensile, nel qual caso non sono a disposizione dell'utilizzatore.

- 163 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02

- Numero di sequenza e blocco


Un programma è costituito da vari comandi. Un comando è detto blocco. I blocchi sono separati l'uno
dall'altro da un codice di fine blocco.

Tabella 13.2 (a) Codice di fine blocco (EOB)


Nome Codice ISO Codice EIA Notazione usata in questo manuale
Fine blocco (EOB) LF CR ;

All'inizio di un blocco può essere specificato un numero di sequenza costituito dall'indirizzo N e da un


numero non più lungo di cinque cifre (da 1 a 99999). L'ordine dei numeri di sequenza è arbitrario e non è
necessario che i numeri siano consecutivi. Il numero di sequenza può essere specificato per tutti i blocchi o
per i soli blocchi per cui è necessario. In genere è però conveniente assegnare i numeri di sequenza in ordine
ascendente in base alla successione dei passi di lavorazione (ad esempio, quando viene eseguito un cambio
utensile o quando la lavorazione passa ad un'altra superficie con l'indexaggio della tavola).

N300 X200.0 Z300.0 ; Il numero di sequenza è sottolineato.


Fig. 13.2 (b) Numero di sequenza e blocco (esempio)

NOTA
Per compatibilità con altri sistemi CNC, il numero di sequenza N0 non deve
essere utilizzato.
Poiché il numero di programma 0 non è valido, un numero di sequenza visto
come numero di programma non deve essere 0.

- Controllo TV (controllo di parità verticale)


Sui blocchi letti viene eseguito un controllo di parità verticale. Se il blocco contiene un numero dispari di
caratteri (tra il codice immediatamente successivo ad un EOB e l'EOB successivo), viene visualizzato
l'allarme SR0002.
Il controllo TV non viene eseguito soltanto per quelle parti che vengono saltate dalla funzione label skip. Il
bit 1 (CTV) del parametro N. 0100 permette di specificare se i caratteri dei commenti racchiusi tra parentesi
vengono contati per il controllo TV. Il controllo TV può essere abilitato/disabilitato usando l'unità MDI
(Sezione III-12.3.1.).

- 164 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA

- Configurazione del blocco (Parole e indirizzi)


Gli elementi che costituiscono un blocco sono le parole. Una parola è costituita da un indirizzo e da un
numero di una o più cifre che segue l'indirizzo. (I numeri possono essere preceduti dai segni algebrici + o -.)
L'indirizzo è una lettera (da A a Z) che indica il significato del valore numerico che la segue.
Parola = Indirizzo + numero (Esempio : X-1000)
Gli indirizzi utilizzabili e il loro significato sono elencati nella tabella 13.2 (b).
E' possibile che un indirizzo abbia diversi significati in base alla funzione preparatoria attiva in quel
momento.

Tabella 13.2 (b) Funzioni principali e indirizzi


Funzione Indirizzo Significato
Numero programma O(*) Numero programma
Numero di sequenza N Numero di sequenza
Funzioni preparatorie G Tipo di moto (Lineare,circolare,ecc.)
X, Y, Z, U, V, W, A, B, C Comandi di movimento
Parole dimensionali I, J, K Coordinate del centro dell'arco
R Raggio dell'arco
Velocità di avanzamento al minuto
Funzione avanzamento F
Velocità di avanzamento al giro
Funzione velocità mandrino S Velocità del mandrino
Funzioni utensile T Numero utensile
M ON/OFF delle funzioni della macchina
Funzioni ausiliarie
B Indexaggio tavola, ecc.
Numero sottoprogramma P Numero del sottoprogramma
Ripetizioni P, L Numero di ripetizioni del sottoprogramma
Parametro P, Q Parametro del ciclo fisso

M
Numero di correttore D, H Numero di correttore
Sosta P, X Tempo di sosta

T
Sosta P, X, U Tempo di sosta

NOTA
(*) In codice ISO, come indirizzo per il numero programma è possibile utilizzare i due
punti ( : ).

N_ G_ X_ Y_ F_ S_ T_ M_ ;
Numero di Funzioni Parole Funzione Funzione velocità Funzioni utensile Funzioni ausiliarie
sequenza preparatorie dimensionali avanzamento mandrino
Fig. 13.2 (c) Un blocco (esempio)

- 165 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02

- Indirizzi principali e intervallo dei valori ammessi per i comandi


Nella tabella sottostante sono elencati gli indirizzi principali e i valori ammessi per ciascun comando.
Va però osservato che si tratta dei limiti imposti dal CNC, i limiti imposti dalla macchina possono essere
molto diversi. Ad esempio, il CNC è in grado comandare un movimento lungo l'asse X di circa 100 metri
(nel caso di programmazione in millimetri).
Tuttavia, la corsa massima della macchina per l'asse X può essere di soli due metri.
Lo stesso vale per la velocità di avanzamento; il CNC è in grado di controllare velocità di avanzamento fino
a 240 m/min, mentre il limite imposto dalla macchina può essere di soli 3 m/min. Durante la
programmazione, si raccomanda di consultare sia questo manuale sia il manuale del costruttore della
macchina utensile.

Tabella 13.2 (c) Indirizzi principali e valori ammessi per i comandi


Funzione Indirizzo Programmazione in millimetri Programmazione in pollici
(*1)
Numero programma O da 1 a 9999 da 1 a 9999
Numero di sequenza N da 1 a 99999 da 1 a 99999
Funzioni preparatorie G da 0 a 9999 da 0 a 9999
( 2)
±999999.99 mm ±99999.999 pollici *
Sistema di incrementi IS-A
±999999.99 gradi ±999999.99 gradi
X,Y,Z,U,V, ( 2)
Parole ±999999.999 mm ±99999.9999 pollici *
Sistema di incrementi IS-B W,A,B,C,I,J,
dimensionali ±999999.999 gradi ±999999.999 gradi
K,R ( 2)
±99999.9999 mm ±9999.99999 pollici *
Sistema di incrementi IS-C
±99999.9999 gradi ±99999.9999 gradi
Sistema di incrementi IS-A da 0.01 a 999000.00 mm/min da 0.001 a 96000.000pollici/min
Avanzamento
Sistema di incrementi IS-B F da 0.001 a 999000.000 mm/min da 0.0001 a 9600.0000pollici/min
al minuto
Sistema di incrementi IS-C da 0.0001 a 99999.9999 mm/min da 0.00001 a 4000.00000pollici/min
Avanzamento al giro F da 0.0001 a 500.0000mm/giro da 0.000001 a 9.999999pollici/giro
(*3)
Funzione velocità mandrino S da 0 a 99999 da 0 a 99999
(*3)
Funzioni utensile T da 0 a 99999999 da 0 a 99999999
(*3)
M da 0 a 99999999 da 0 a 99999999
Funzioni ausiliarie (*3)
B da 0 a 99999999 da 0 a 99999999
Numero correttore (solo per serie M) H, D da 0 a 400 da 0 a 400
Sistema di incrementi IS-A X, da 0 a 999999.99 sec da 0 a 999999.99 sec
Sosta Sistema di incrementi IS-B U (solo per da 0 a 99999.999 sec da 0 a 99999.999 sec
Sistema di incrementi IS-C serie T) da 0 a 9999.9999 sec da 0 a 9999.9999 sec
Sosta P da 1 a 99999999 da 1 a 99999999
Specifica di un numero di programma P da 1 a 9999 da 1 a 9999
L da 1 a 99999999 da 1 a 99999999
Numero di ripetizioni del sottoprogramma
P da 0 a 9999 da 0 a 9999

*1 In codice ISO, come indirizzo per il numero programma è possibile utilizzare i due punti ( : ).
*2 Per la programmazione in pollici di macchine in millimetri, gli intervalli dei valori delle parole
dimensionali sono i seguenti:
Sistema di incrementi Intervallo
IS-A ±39370.078 pollici
IS-B ±39370.0787 pollici
IS-C ±3937.00787 pollici

*3 Il valore massimo degli indirizzi M, T, e B è 99999999 (8 cifre). Il valore massimo dell'indirizzo S è


99999 (5 cifre). Però, non è possibile assegnare un valore che superi il numero ammissibile di cifre
specificato nei parametri dal N. 3030 al N. 3033. Il valore e l'utilizzo di alcuni codici sono limitati
dall'impostazione dei parametri. (Ad esempio, alcuni codici M non vengono bufferizzati). Per i
dettagli, riferirsi al manuale dei parametri.

- 166 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA

- Salto blocco opzionale


Quando all'inizio di un blocco viene specificata un barra seguita da un numero (/n (n = 1 .. 9)) e i segnali da
BDT1 a BDT9 di salto blocco opzionale vengono messi a 1 durante il funzionamento automatico, i dati
(da /n alla fine del blocco (EOB)) contenuti nel blocco con /n corrispondente al segnale BDTn vengono
ignorati.

Esempio 1)
/2 N123 X100.0 Y200.0 ;

Esempio 2)
//3 N123 X100.0 Y200.0 ; → Errato
/1 /3 N123 X100.0 Y200.0 ; → Corretto

Segnali in ingresso e codici dei blocchi da ignorare


Segnale in ingresso Codice del blocco da ignorare
BDT1 / o /1(NOTA)
BDT2 /2
BDT3 /3
BDT4 /4
BDT5 /5
BDT6 /6
BDT7 /7
BDT8 /8
BDT9 /9

NOTA
1 In /1, il numero 1 può essere omesso. Però, se per il blocco sono specificati più
salti blocco opzionali, il numero 1 in /1 non può essere omesso.
2 Non tutte le macchine utensili dispongono di 9 segnali di salto blocco opzionale.
A questo proposito, consultare il manuale del costruttore della macchina utensile.

Di seguito è indicata la relazione fra il momento in cui i segnali di salto blocco opzionale da BDT1 a BDT9
vengono messi a 1 e il gruppo di dati che viene ignorato.

1. Se il segnale BDTn viene messo a 1 prima che il CNC inizi a leggere un blocco contenente /n, il blocco
è ignorato.

BDTn "1"
"0"

Letto dal CNC → . . . ; /n N123 X100. Y200. ; N234 . .. .

Questo gruppo di dati viene ignorato.

2. Se il segnale BDTn viene messo a 1 mentre il CNC sta leggendo un blocco contenente /n, il blocco non
è ignorato.

BDTn "1"
"0"
Letto dal CNC → . . . ; /n N123 X100. Y200. ; N234 . .. .

Questo gruppo di dati non viene ignorato.

- 167 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02

3. Se il segnale BDTn viene messo a 0 mentre il CNC sta leggendo un blocco contenente /n, il blocco è
ignorato.

BDTn "1"
"0"

Letto dal CNC → . . . ; /n N123 X100. Y200.; N234 . .. .

Questo gruppo di dati viene ignorato.

4. E' possibile specificare due o più codici di salto blocco opzionale nello stesso blocco.
Quando il segnale corrispondente a uno di questi codici viene messo a 1, il blocco è ignorato.
BDT3 "1"
"0"

Letto dal CNC → . . . ; /1 /3 /5 N123 X100. Y200. ; N234 . .. .

Questo gruppo di dati viene ignorato.

NOTA
1 Questa funzione è ignorata durante la registrazione in memoria del programma.
I blocchi contenenti /n vengono registrati indipendentemente dallo stato dei
segnali di salto blocco opzionale. I programmi registrati in memoria possono
essere emessi indipendentemente dallo stato dei segnali di salto blocco
opzionale.
Il salto blocco opzionale è valido durante la ricerca del numero di sequenza.
2 Posizione della barra
La barra (/) deve essere specificata all'inizio del blocco. Se la barra si trova in un
altro punto del blocco, vengono ignorate le informazioni che si trovano tra di essa
e l'EOB.
3 Controlli TV e TH
Quando il segnale di salto blocco opzionale è a 1, per le porzioni saltate vengono
eseguiti i controlli TH e TV, come quando il segnale è a 0.

- Fine del programma


La fine del programma si indica inserendo i seguenti codici alla fine della sezione programma:

Tabella 13.2 (d) Codici di fine programma


Codice Uso principale
M02
Per il programma principale
M30
M99 Per il sottoprogramma

Quando viene eseguito uno dei suddetti codici di fine programma, l'esecuzione del programma ha termine e
il CNC entra nello stato di reset. Quando viene eseguito il codice di fine sottoprogramma, il controllo
ritorna al programma che ha richiamato il sottoprogramma in esecuzione.

AVVERTENZA
Un blocco con un codice di salto opzionale come /M02 ; , /M30 ; , o /M99 ; non
viene visto come fine del programma. (Vedere "Salto blocco opzionale".)

- 168 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA

13.3 SOTTOPROGRAMMI (M98, M99)


Quando esistono sequenze fisse ripetitive, queste sequenze possono essere caricate in memoria come
sottoprogrammi, semplificando la programmazione.
Un sottoprogramma può essere richiamato dal programma principale.
Un sottoprogramma richiamato può a sua volta richiamare un altro sottoprogramma.

Formato
- Configurazione del sottoprogramma
Un sottoprogramma
Oxxxx ; Numero del sottoprogramma (In codice ISO è possibile utilizzare la
: notazione " : ")
M99;
Fine programma

Come si può vedere nell'esempio qui sotto, non è necessario che M99 costituisca un
blocco separato.

Esempio) X100.0 Y100.0 M99 ;

- Richiamo del sottoprogramma


M98 Pxxxx xxxx ;

Numero del sottoprogramma


Numero di ripetizioni del sottoprogramma

oppure
M98 Pxxxx Lxxxxxxxx ;

Numero di ripetizioni del sottoprogramma


Numero del sottoprogramma

NOTA
1 Per richiamare un sottoprogramma con un numero programma più corto di 4 cifre
specificando il numero di ripetizioni (P8 cifre), è necessario aggiungere uno o più
zeri davanti al numero del sottoprogramma, in modo da portare a 4 cifre la sua
lunghezza.
Esempio)
P100100: Richiamo del sottoprogramma N. 100 per dieci ripetizioni.
P50001: Richiamo del sottoprogramma N. 1 per cinque ripetizioni.
2 Se viene omesso il numero di ripetizioni, il sottoprogramma viene eseguito una
sola volta.
In questo caso non è necessario portare a 4 cifre la lunghezza del numero del
sottoprogramma, come descritto nel punto 1.
3 Quando viene richiamato un sottoprogramma specificando il numero di ripetizioni
(P8 cifre), l'indirizzo L non deve essere specificato nello stesso blocco.

- 169 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02

Spiegazioni
Quando il programma principale richiama un sottoprogramma si ha un livello di richiamo di
sottoprogramma. I richiami di sottoprogramma possono essere annidati fino a dieci livelli, come si vede
nella sottostante figura.
Programma principale Sottoprogramma Sottoprogramma Sottoprogramma Sottoprogramma
O0001 ; O0010 ; O0020 ; O0090 ; O0100;

M98P0010 ; M98P0020 ; M98P0030 ; M98P0100 ;

M30 ; M99; M99; M99; M99;


(Livello 1) (Livello 2) (Livello 9) (Livello 10)

Il richiamo di un sottoprogramma può chiedere più ripetizioni (fino a 99999999) del sottoprogramma.
Per compatibilità con i sistemi di programmazione automatica, come numero del sottoprogramma si può
usare "Nxxxxx" (numero di sequenza del primo blocco) invece di O (o :). In questo caso, viene registrato
come numero del sottoprogramma il numero di sequenza dato dopo N.

NOTA
1 Il segnale strobe ed il segnale del codice di M98 e M99 non vengono inviati alla
macchina.
2 Se il numero del sottoprogramma specificato con l'indirizzo P non esiste, si ha
l'allarme PS0078.

Esempio
- M98 P51002 ;

Con questo comando, il sottoprogramma numero 1002 viene richiamato 5 volte


consecutivamente." M98P_ può essere programmato in un blocco contenente un
comando di movimento.

- X1000.0 M98 P1200 ;

In questo esempio, il sottoprogramma numero 1200 viene richiamato una volta,


al termine del movimento dell'asse X.

- La sequenza di esecuzione di un programma che richiama un sottoprogramma è:


Programma principale Sottoprogramma
1 2 3
N0010 . . . ; O1010 . . . ;
N0020 . . . ; N1020 . . . ;
N0030 M98 P21010 ; N1030 . . . ;
N0040 . . . ; N1040 . . . ;
N0050 M98 P1010 ; N1050 . . . ;
N0060 . . . ; N1060 . . . M99;
Un sottoprogramma può richiamare un altro sottoprogramma nello stesso modo in
cui il programma principale richiama il sottoprogramma.

- 170 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA

Specifiche speciali
- Specifica del numero di sequenza per il ritorno al programma principale
Se nell'ultimo blocco (M99) di un sottoprogramma viene specificato P seguito da un numero di sequenza, il
controllo non ritorna al blocco immediatamente successivo al blocco di richiamo, ma al blocco con il
numero di sequenza specificato con P. Se viene specificato P0, però, P è ignorato. Inoltre, se il programma
principale è eseguito in un modo diverso dal funzionamento da memoria, P viene ignorato.
Il tempo richiesto per il ritorno al blocco specificato è considerevolmente più lungo di quello del ritorno
normale.
Programma principale Sottoprogramma
N0010 . . . ; O1010 . . . ;
N0020 . . . ; N1020 . . . ;
N0030 M98 P1010 ; N1030 . . . ;
N0040 . . . ; N1040 . . . ;
N0050 . . . ; N1050 . . . ;
N0060 . . . ; N1060 . . . M99 P0060 ;

- Uso di M99 nel programma principale


Se M99 viene eseguito nel programma principale, il controllo ritorna all'inizio dello stesso programma. Ad
esempio, se in una appropriata posizione del programma viene inserito un blocco "/M99 ;" e il salto blocco
opzionale non è attivo, il comando M99 viene eseguito, il controllo ritorna all'inizio e il programma
principale viene rieseguito.
L'esecuzione viene ripetuta fino a quando il salto blocco opzionale è off.
Se il salto blocco opzionale è attivo, il comando M99 non viene eseguito e il controllo passa al blocco
successivo.
Se viene programmato /M99Pn ; il controllo non torna all'inizio del programma, ma al blocco il cui numero
di sequenza è "n". Il tempo di elaborazione richiesto per il ritorno al blocco specificato è considerevolmente
più lungo di quello del ritorno all'inizio.
N0010 . . . ;
N0020 . . . ;
N0030 . . . ;
Salto blocco N0040 . . . ;
opzionale OFF N0050 . . . ;
/ N0060 . . . M99 P0030 ; Salto blocco
N0070 . . . ; opzionale ON
N0080 M02 ;

- Esecuzione indipendente di un sottoprogramma


E' possibile comandare l'esecuzione di un sottoprogramma specificandone la ricerca dalla tastiera MDI
come si fa per i programmi principali.
(Vedere la sez. III-10.4 per informazioni sulla ricerca.)
In questo caso, M99 restituisce il controllo all'inizio del sottoprogramma e questo viene rieseguito. Se viene
eseguito M99Pn, il controllo ritorna al blocco specificato con n. In queste condizioni, se si vuole arrestare
l'esecuzione, inserire un /M02 ; o un /M30 ; nel punto appropriato. Quando viene disattivato il salto blocco
opzionale, questo comando viene eseguito, mettendo fine all'esecuzione del sottoprogramma.
N1010 . . . ;
N1020 . . . ;
N1030 . . . ;
/ N1040 . . . M02 ; Salto blocco opzionale ON
N1050 M99 P1020 ;

- 171 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02

- Richiamo di un sottoprogramma specificando il numero di sequenza


Se il bit 0 (SQC) del parametro N. 6005 è 1 è possibile specificare il numero di sequenza da eseguire nel
sottoprogramma.
Nel comando di richiamo del sottoprogramma, dopo l'indirizzo P (numero del sottoprogramma) specificare
l'indirizzo Q seguito dal numero di sequenza.
M98 Pxxxx Qxxxxx ;
Numero di sequenza
Numero programma
Con questo comando, l'esecuzione del sottoprogramma inizia dal numero di sequenza specificato. Se è
specificato il numero di ripetizioni, l'esecuzione del sottoprogramma viene ripetuta sempre a partire dal
numero di sequenza specificato.
Programma principale Sottoprogramma
N0010…; O1010…;
N0020…; N1020…;
N0030 M98 P1010 Q1030 ; N1030…;
N0040…; N1040…;
N0050…; N1050…;
N0060…; N1060…M99 ;

Questa funzione permette di richiamare un numero di sequenza contenuto nello stesso programma, come si
vede qui sotto.
Nell'utilizzare questo metodo, però, il programmatore deve fare attenzione al livello di annidamento
accettabile. Se viene superato quel livello, si verifica l'allarme PS0077 (ERRORE DI CHIAMATA
SOTTOPROGRAMMA).
O0001 ;
N0010…;
N0020 M98 (P0001) Q0050 ;
N0030…;
N0040…;
N0050…;
N0060…;
N0070…M99;

Se un blocco che richiama un numero di sequenza all'interno dello stesso programma contiene M98, è
possibile omettere la specifica di Pxxxx.

Questa funzione può essere utilizzata solo per i richiami di sottoprogramma con M98; non può essere
utilizzata con altri metodi di richiamo, come il richiamo di macro o il richiamo di sottoprogrammi esterni
con M198.

- 172 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14 MACROISTRUZIONI
I sottoprogrammi sono utili per ripetere la stessa operazione. Le macro istruzioni, invece, permettendo di
usare variabili, istruzioni aritmetiche e logiche e istruzioni di salto condizionato, consentono di sviluppare
facilmente programmi di uso generale quali operazioni di esecuzione di tasche e cicli fissi definiti
dall'utilizzatore.
Un programma pezzo può richiamare una macro con un semplice comando, simile a quelli utilizzati per
richiamare i sottoprogrammi.
Programma di lavorazione Macro

O0001 ; O9010
: #1=#18/2 ;
: G01 G42 X#1 Y#1 F300 ;
: 02 X#1 Y-#1 R#1 ;
G65 P9010 R50.0 L2 ; :
: :
: :
M30 ; M99;

14.1 VARIABILI
In un normale programma pezzo i codici G e le coordinate sono specificati direttamente con un valore
numerico; possibili esempi sono G100 e X100.0.
In una macro, i valori numerici possono essere specificati direttamente o utilizzando il numero di una
variabile, il cui valore può essere modificato dal programma o manualmente, tramite il pannello MDI.

#1=#2+100 ;
G01 X#1 F300 ;

Spiegazioni
- Rappresentazione delle variabili
Le variabili si specificano con il simbolo # seguito da un numero.
#i (i = 1, 2, 3, 4, .....)
[Esempio] #5
#109
#1005
Per specificare il numero di una variabile si può utilizzare una <espressione>. Le espressioni sono descritte
nella sezione relativa alle operazioni aritmetiche e logiche.
#[<espressione>]
[Esempio] #[#100]
#[#1001-1]
#[#6/2]
Nelle descrizioni che seguono, #i può essere sostituito da #[<espressione>].

- Tipi di variabili
Le variabili sono suddivise in variabili locali, variabili comuni e variabili di sistema, in base al loro numero.
Ciascun tipo di variabili ha impiego e caratteristiche specifici. Sono disponibili anche costanti di sistema di
sola lettura.

- 173 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Intervallo dei valori delle variabili


Le variabili locali e le variabili comuni possono avere un valore uguale a zero o un valore compreso nei
seguenti intervalli. Se il risultato di un calcolo è fuori dai limiti, si verifica l'allarme PS0111.
Quando il bit 0 (F0C) del parametro N. 6008 è 0:
Valore massimo: appross. ±10308
Valore minimo: appross. ±10-308
I valori numerici gestiti dalle macroistruzioni sono conformi allo standard IEEE e sono trattati come
numeri reali a doppia precisione. Gli errori risultanti dalle operazioni dipendono dalla precisione.
Quando il bit 0 (F0C) del parametro N. 6008 è 1:
Valore massimo: appross. ±1047
Valore minimo: appross. ±10-29

- Variabili locali (#1-#33)


Una variabile locale è una variabile utilizzata localmente in una macro. Vale a dire che la variabile locale #i
utilizzata da una macro chiamata in un certo momento è diversa da quella utilizzata da una macro chiamata
in un momento diverso, anche se le due macro sono la stessa. Quindi, ad esempio, se la macro A richiama la
macro B in una serie di richiami annidati, è impossibile che la macro B modifichi erroneamente le variabili
locali utilizzate dalla macro A, utilizzandole a sua volta.
Le variabili locali si utilizzano per passare ad una macro i suoi argomenti. Per le informazioni relative alla
corrispondenza tra gli argomenti e gli indirizzi, riferirsi alla sezione relativa ai comandi di richiamo delle
macro. Lo stato iniziale di una variabile locale per la quale non è stato passato un argomento è <nulla> e la
variabile può essere utilizzata liberamente. L'attributo di una variabile locale è READ/WRITE (lettura
(Read) e scrittura (Write) abilitate).

- Variabili comuni (#100-#199, #500-#999)


A differenza delle variabili locali, che sono utilizzate localmente, le variabili comuni sono condivise tra il
programma principale, i sottoprogrammi richiamati dal programma principale e le macro. Vale a dire che la
variabile #i utilizzata da una macro è la stessa utilizzata da tutte le altre macro. Di conseguenza, il valore di
una variabile comune ottenuto in una macro può essere utilizzato da un'altra. Normalmente l'attributo di una
variabile comune è READ/WRITE (lettura (Read) e scrittura (Write) abilitate). Tuttavia è possibile
proteggere dalla scrittura le variabili comuni mediante i parametri N. 6031 e 6032 (l'attributo delle variabili
specificare diventa READ (solo lettura)). Le variabili comuni possono essere utilizzate liberamente in
quanto il loro significato non è predefinito dal sistema. Possono essere utilizzate 600 variabili comuni
(#100 - #199 e #500 - #999). All'accensione, le variabili #100 - #199 sono nulle, mentre le variabili #500 -
#999 contengono i valori precedenti.

- Protezione dalla scrittura di una variabile locale


E' possibile proteggere dalla scrittura più variabili comuni (#500 - #999) mediante i parametri N. 6031 e
6032 (l'attributo delle variabili specificare diventa READ (solo lettura). Questa protezione è abilitata sia per
l'introduzione dei valori o la cancellazione da MDI sulla schermata delle macro sia per le operazioni di
scrittura delle variabili specificate da un programma macro. Se un programma utilizza una variabile
comune protetta dalla scrittura nel lato sinistro di un'operazione (ne specifica la scrittura) si verifica
l'allarme PS0116.

- Variabili di sistema
Il significato delle variabili di sistema non può essere cambiato. L'attributo di una variabile di sistema può
essere READ (solo lettura), WRITE (solo scrittura) o READ/WRITE (lettura e scrittura) a seconda della
natura della variabile.

- Costanti di sistema
Le costanti di sistema sono simili alle variabili di sistema, ma il loro valore è fisso. L'attributo delle costanti
di sistema è READ (solo lettura).

- 174 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Omissione del punto decimale


Quando il valore di una variabile è definito dal programma, è possibile omettere il punto decimale.
[Esempio]
Se è programmato #1 = 123; il valore della variabile #1 è 123.000.

- Uso delle variabili


Il valore di un indirizzo può essere specificato utilizzando una variabile. Programmando <indirizzo>#i o
<indirizzo>-#i, è possibile utilizzare il valore della variabile, o il suo complemento, come valore
dell'indirizzo.
[Esempio] Se #33 = 1.5, F#33 equivale a F1.5.
Se #18 = 20.0, Z-#18 equivale a Z-20.0.
Se #130 = 3.0, G#130 equivale a G3.
Non è possibile utilizzare una variabile per specificare il valore di /, :, O e N.
[Esempio] Programmare O#27, N#1, o N[#1] non è consentito.
n (n = 1 .. 9) nella specifica /n del salto blocco opzionale non può essere una variabile.
Il numero di una variabile non può essere specificato utilizzando direttamente un'altra variabile.
[Esempio] Per sostituire 5 in #5 con #30, specificare #[#30] anziché ##30. Non possono essere specificati valori
eccedenti il limite massimo ammesso da ciascun indirizzo.
[Esempio] Se #140 = 120, G#140 eccede il valore massimo accettabile.
Il valore di una variabile utilizzata come valore di un indirizzo, viene arrotondato automaticamente al
numero di cifre significative dell'indirizzo.
[Esempio] Per una macchina con un sistema di incrementi di 1/1000 mm (IS-B), se #1 = 12.3456, G00 X#1; diventa
G00 X12.346;.
Il valore di un indirizzo può essere sostituito da una <espressione> (le espressioni sono descritte più avanti).
<Indirizzo>[<espressione>] o <Indirizzo>-[<espressione>]
L'esempio riportato qui sopra indica che il valore di <espressione> o il suo complemento possono essere
utilizzati come valori di un indirizzo. Notare che una costante senza il punto decimale racchiusa tra
parentesi quadre ([ ]) viene trattata come se avesse il punto decimale alla fine.
[Esempio] X[#24+#18*COS[#1]]
Z-[#18+#26]

- Variabili non definite


Se il valore di una variabile non è definito, a tale variabile ci si riferisce come ad una variabile "nulla".
Le variabili #0 e #3100 sono sempre variabili nulle e non possono essere scritte, ma possono essere lette.

(a) Utilizzo
Quando viene utilizzata una variabile non definita, anche l'indirizzo con il quale è specificata viene
ignorato.

Comando programmato G90 X100 Y#1


Comando equivalente quando #1 è <nulla> G90 X100
Comando equivalente quando #1 = 0 G90 X100 Y0

(b) Definizione/sostituzione, addizione, moltiplicazione


Quando una variabile locale o una variabile comune vengono direttamente sostituite con <nulla>, il
risultato è <nulla>. Quando una variabile di sistema viene sostituita direttamente con <nulla> o con il
risultato di un calcolo contenente una variabile <nulla>, per la variabile viene assunto un valore uguale
a zero.

Espressione originale (variabile locale) #2=#1 #2=#1*5 #2=#1+#1


Risultato della sostituzione (se #1 = <nulla>) <nulla> 0 0
Risultato della sostituzione (se #1 = 0) 0 0 0

- 175 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Espressione originale (variabile comune) #100=#1 #100=#1*5 #100=#1+#1


Risultato della sostituzione (se #1 = <nulla>) <nulla> 0 0
Risultato della sostituzione (se #1 = 0) 0 0 0

Espressione originale (variabile di sistema) #2001=#1 #2001=#1*5 #2001=#1+#1


Risultato della sostituzione (se #1 = <nulla>) 0 0 0
Risultato della sostituzione (se #1 = 0) 0 0 0

(c) Confronto
<nulla> è diverso da 0 solo per EQ e NE.
<nulla> è uguale a 0 per GE, GT, LE e LT.
• Quando #1 è <nulla>
Espressione
#1 EQ #0 #1 NE 0 #1 GE #0 #1 GT 0 #1 LE #0 #1 LT 0
condizionale
Stabilito Stabilito Stabilito Non stabilito Stabilito Non stabilito
Risultato
(vero) (vero) (vero) (falso) (vero) (falso)

• Quando #1 = 0
Espressione
#1 EQ #0 #1 NE 0 #1 GE #0 #1 GT 0 #1 LE #0 #1 LT 0
condizionale
Non stabilito Non stabilito Stabilito Non stabilito Stabilito Non stabilito
Risultato
(falso) (falso) (vero) (falso) (vero) (falso)

- Specifica di una variabile (costante) di sistema con il suo nome


Una variabile (costante) di sistema viene specificata con il suo numero, ma può anche essere specificata
con il suo nome. Il nome di una variabile (costante) di sistema inizia con un underscore (_), seguito da un
massimo di sette lettere maiuscole, cifre o underscore. Per specificare i valori delle variabili che dipendono
dagli assi (come le coordinate) e di quelle relative a gruppi di dati dello stesso tipo (come le correzioni
utensile), è possibile utilizzare un indice [n] (n: intero). In questo caso, n può essere specificato con una
<espressione>.
Come si vede qui sotto, il formato di programmazione è [#nome-della-variabile-di-sistema].
[#_DATE]
[Esempio]
#101= [#_DATE] ; : Viene letta la variabile #3011 (anno/mese/giorno) ed il suo valore viene assegnato
alla variabile #101.
#102= [#_TIME] ; : Viene letta la variabile #3012 (ore/minuti/secondi) ed il suo valore viene assegnato
alla variabile #102.
#103=[#_ABSMT[1]] ; : Viene letta la variabile #5021 (coordinata di macchina del primo asse) ed il suo
valore viene assegnato alla variabile #103.
#104=[#_ABSKP[#500*2]] ; : Viene letta la variabile #506x (posizione di salto del [#500*2]esimo asse) ed il suo
valore viene assegnato alla variabile #104.
Se per l'indice n anziché un intero viene utilizzata una variabile, il suo valore viene arrotondato all'intero più
vicino.
[Esempio]
[#_ABSIO[1.4999999]] : Corrisponde a [#_ABSIO[1]], cioé, #5001.
[#_ABSIO[1.5000000]] : Corrisponde a [#_ABSIO[2]], cioé, #5002.

NOTA
1 Se il nome della variabile non esiste, si verifica l'allarme PS1098.
2 Se l'indice è negativo o non è valido, si verifica l'allarme PS1099.

- 176 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Costanti di sistema #0, #3100-#3102 (Attributo: R)


Le costanti di sistema possono essere utilizzate allo stesso modo delle variabili di sistema, ma il loro valore
è fisso. Le costanti di sistema disponibili sono elencate qui sotto.

Numero Nome Descrizione


#0, #3100 [#_EMPTY] Nulla
#3101 [#_PI] Costante circolare π = 3.14159265358979323846
#3102 [#_E] Base dei logaritmi naturali e =2.71828182845904523536

- Specifica di una variabile comune con il suo nome


Con il comando SETVN, descritto più avanti, è possibile assegnare ad una variabile comune un nome che
può essere utilizzato in luogo del suo numero.
Il formato del riferimento alle variabili comuni per nome è [#nome-della-variabile-comune],
come [#VAR500].
[Esempio]
X[#POS1] Y[#POS2] ; : Specifica di una posizione utilizzando il nome, anziché il numero delle variabili.
[#POS1] = #100+#101 ; : Esecuzione di una assegnazione specificando il nome della variabile
#[100+[#ABS]] = 500 ; : Come sopra (con un numero di variabile)
#500 = [1000+[#POS2]*10] ; : Lettura di una variabile utilizzandone il nome.

- Impostazione e specifica del nome di una variabile comune (SETVN)


Utilizzando il comando presentato qui sotto, è possibile assegnare un nome lungo fino ad otto caratteri alle
50 variabili comuni da #500 a #549.
SETVN n [VAR500, VAR501, VAR502,......] ;
n rappresenta il numero della prima variabile comune alla quale si riferisce il comando.
In questo esempio, VAR500 è il nome della variabile n, VAR501 è quello della variabile n+1, VAR502 è
quello della variabile n+2, e così via. I nomi sono separati da virgole (,). E' possibile utilizzare tutti i codici
utilizzabili nelle informazioni significative eccetto '(' (control out), ')' (control in), '[', ']', EOB, EOR, e ':'
(due punti nel nome programma). Il nome di una variabile deve iniziare con un carattere alfabetico. I nomi
delle variabili non vengono persi quando viene spento il CNC.
La specifica del nome di una variabile comune ne permette la lettura e la scrittura. Il formato del riferimento
alle variabili comuni per nome è [#nome-della-variabile-comune], come [#VAR500].

[Esempio] SETVN 510[TOOL_NO, WORK_NO, COUNTER1, COUNTER2];


Il comando presentato qui sopra denomina le variabili come segue.
Variabile Nome
#510 #TOOL_NO
#511 #WORK_NO
#512 #COUNTER1
#513 #COUNTER2
I nomi attribuiti alle variabili comuni con il comando SETVN possono essere utilizzati nei programmi. Ad
esempio, per assegnare 10 alla variabile comune #510, è possibile scrivere [#TOOL_NO]=10; anziché
#510=10;.

NOTA
Se più variabili comuni hanno lo stesso nome, è possibile riferirsi con il nome solo
alla variabile con il numero più piccolo.

- 177 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.2 VARIABILI DI SISTEMA


Le variabili di sistema possono essere utilizzate per leggere e scrivere dati interni del CNC come i valori
delle correzioni utensile e i dati della posizione corrente. Le variabili di sistema sono essenziali per lo
sviluppo di programmi per l'automazione e per uso generale.

Lista delle variabili e delle costanti di sistema


n rappresenta un indice.
R, W, e R/W sono gli attributi delle variabili ed indicano che sono abilitate solo la lettura, solo la scrittura,
la lettura e la scrittura, rispettivamente.

- Segnali di interfaccia
Nome della
Numero della variabile Attributo Descrizione
variabile
#1000-#1031 [#_UI[n]] R Segnali di interfaccia in ingresso (BIT), UI000-UI031
NOTA) L'indice n rappresenta la posizione di un bit (da 0 a 31).
#1032-#1035 [#_UIL[n]] R Segnali di interfaccia in ingresso (LONG), UI000-UI031/ UI100-UI131/
UI200-UI231/UI300-UI331
NOTA) Indice n (da 0 a 3): 0 = UI000-UI031, 1 = UI100-UI131,
2 = UI200-231, 3 = UI300-UI331
#1100-#1131 [#_UO[n]] R/W Segnali di interfaccia in uscita (BIT), UO000-UO031
NOTA) L'indice n rappresenta la posizione di un bit (da 0 a 31).
#1132-#1135 [#_UOL[n]] R/W Segnali di interfaccia in uscita (LONG), UO000-UO031/
UO100-UO131/UO200-UO231/UO300-UO331
NOTA) Indice n (da 0 a 3): 0 = UO000-UO031,
1 = UO100-UO131,
2 = UO200-231, 3 = UO300-UO331

- Valori delle correzioni utensili


M
Memoria A delle correzioni utensili (bit 6 (NGW) del parametro N. 8136 = 1)
Nome della
Numero della variabile Attributo Descrizione
variabile
#2001-#2200 [#_OFS[n]] R/W Correzioni utensile
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#10001-#10400 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).

Memoria C delle correzioni utensili (bit 6 (NGW) del parametro N. 8136 = 0)


Quando il bit 3 (V10) del parametro N. 6000 è 0
Numero della
Nome della variabile Attributo Descrizione
variabile
#2001-#2200 [#_OFSHW[n]] R/W Correzioni utensili (codice H, usura)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#10001-#10400 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).
#2201-#2400 [#_OFSHG[n]] R/W Correzioni utensili (codice H, geometria)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#11001-#11400 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).
#12001-#12400 [#_OFSDW[n]] R/W Correzioni utensili (codice D, usura)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).
#13001-#13400 [#_OFSDG[n]] R/W Correzioni utensile (codice D, geometria)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).

- 178 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Memoria C delle correzioni utensili (bit 6 (NGW) del parametro N. 8136 = 0)


Quando il bit 3 (V10) del parametro N. 6000 è 1
Numero della
Nome della variabile Attributo Descrizione
variabile
#2001-#2200 [#_OFSHG[n]] R/W Correzioni utensili (codice H, geometria)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#10001-#10400 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).
#2201-#2400 [#_OFSHW[n]] R/W Correzioni utensili (codice H, usura)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#11001-#11400 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).
#2401-#2600 [#_OFSDG[n]] R/W Correzioni utensile (codice D, geometria) (Nota 1)
L'indice n rappresenta un numero di correttore (da 1 a 200).
Nota 1) Abilitate quando il bit 5 (D10) del parametro N. 6004 è 1.
#12001-#12400 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).

#2601-#2800 [#_OFSDW[n]] R/W Correzioni utensile (codice D, usura) (Nota 1)


L'indice n rappresenta un numero di correttore (da 1 a 200).
Nota 1) Abilitate quando il bit 5 (D10) del parametro N. 6004 è 1.
#13001-#13400 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 400).

- Valori delle correzioni utensili


T
Senza distinzione fra correzione geometria/usura (bit 6 (NGW) del parametro N. 8136 = 1)
Numero della
Nome della variabile Attributo Descrizione
variabile
#2001-#2064 [#_OFSX[n]] R/W Correzione lungo l'asse X (*1)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#10001-#10200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#2101-#2164 [#_OFSZ[n]] R/W Correzione lungo l'asse Z (*1)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#11001-#11200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#2201-#2264 [#_OFSR[n]] R/W Compensazione raggio utensile
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#12001-#12200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#2301-#2364 [#_OFST[n]] R/W Posizione della punta immaginaria
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#13001-#13200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#2401-#2449 [#_OFSY[n]] R/W Correzione lungo l'asse Y (*1)
Nota)L'indice n rappresenta un numero di correttore (da 1 a 49)
#14001-#14200 Possono essere utilizzati anche i numeri a sx.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
(*1) Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base, Asse Y: asse Y dei tre assi base

- 179 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Con distinzione fra correzione geometria/usura (bit 6 (NGW) del parametro N. 8136 = 0)
Numero della
Nome della variabile Attributo Descrizione
variabile
( 1)
#2001-#2064 [#_OFSXW[n]] R/W Correzione asse X(usura) ※
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#10001-#10200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
( 1)
#2101-#2164 [#_OFSZW[n]] R/W Correzione asse Z(usura) ※
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#11001-#11200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#2201-#2264 [#_OFSRW[n]] R/W Compensazione raggio utensile (usura)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#12001-#12200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#2301-#2364 [#_OFST[n]] R/W Posizione della punta immaginaria
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#13001-#13200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
( 1)
#2401-#2449 [#_OFSYW[n]] R/W Correzione asse Y(usura) ※
Nota)L'indice n rappresenta un numero di correttore (da 1 a 49)
#14001-#14200 Possono essere utilizzati anche i numeri a sx.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
( 1)
#2451-#2499 [#_OFSYG[n]] R/W Correzione asse Y(geometria) ※
Nota)L'indice n rappresenta un numero di correttore (da 1 a 49)
#19001-#19200 Possono essere utilizzati anche i numeri a sx.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
( 1)
#2701-#2749 [#_OFSXG[n]] R/W Correzione asse X(geometria) ※
Nota)L'indice n rappresenta un numero di correttore (da 1 a 49)
#15001-#15200 Possono essere utilizzati anche i numeri a sx.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
( 1)
#2801-#2849 [#_OFSZG[n]] R/W Correzione asse Z(geometria) ※
Nota)L'indice n rappresenta un numero di correttore (da 1 a 49)
#16001-#16200 Possono essere utilizzati anche i numeri a sx.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
#2901-#2964 [#_OFSRG[n]] R/W Compensazione raggio utensile (geometria)
Nota) L'indice n rappresenta un numero di correttore (da 1 a 64).
#17001-#17200 Possono essere utilizzati anche i numeri di sinistra.
Nota) L'indice n rappresenta un numero di correttore (da 1 a 200).
(*1) Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base, Asse Y: asse Y dei tre assi base

- Traslazione del sistema di coordinate del pezzo


T
Numero della
Nome della variabile Attributo Descrizione
variabile
#2501 [#_WKSFTX] R/W Traslazione lungo l'asse X
#2601 [#_WKSFTZ] R/W Traslazione lungo l'asse Z
Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base

- 180 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Funzionamento automatico e simili


Numero della Nome della
Attributo Descrizione
variabile variabile
#3000 [#_ALM] W Allarme macro
#3001 [#_CLOCK1] R/W Clock 1 (ms)
#3002 [#_CLOCK2] R/W Clock 2 (ore)
#3003 [#_CNTL1] R/W Abilita o disabilita la soppressione dell'arresto in blocco singolo.
Abilita o disabilita l'attesa del segnale di completamento della funzione
ausiliaria.
#3003 bit0 [#_M_SBK] R/W Abilita o disabilita la soppressione dell'arresto in blocco singolo.
#3003 bit1 [#_M_FIN] R/W Abilita o disabilita l'attesa del segnale di completamento della funzione
ausiliaria.
#3004 [#_CNTL2] R/W Abilita o disabilita feed hold.
Abilita o disabilita la regolazione della velocità di avanzamento.
Abilita o disabilita il controllo dell'arresto esatto.
#3004 bit0 [#_M_FHD] R/W Abilita o disabilita feed hold.
#3004 bit1 [#_M_OV] R/W Abilita o disabilita la regolazione della velocità di avanzamento.
#3004 bit2 [#_M_EST] R/W Abilita o disabilita il controllo dell'arresto esatto.
#3005 [#_SETDT] R/W Lettura/scrittura dei dati di impostazione
#3006 [#_MSGSTP] W Arresto con un messaggio
#3007 [#_MRIMG] R Stato dell'immagine speculare (DI e impostazione)
#3008 [#_PRSTR] R Ripartenza/non ripartenza del programma

- Tempo
Numero della
Nome della variabile Attributo Descrizione
variabile
#3011 [#_DATE] R Anno/mese/giorno
#3012 [#_TIME] R Ore/minuti/secondi

- Numero di pezzi
Numero della
Nome della variabile Attributo Descrizione
variabile
#3901 [#_PRTSA] R/W Numero totale di pezzi
#3902 [#_PRTSN] R/W Numero richiesto di pezzi

- Memoria delle correzioni utensili


M
Numero della
Nome della variabile Attributo Descrizione
variabile
#3980 [#_OFSMEM] R Informazioni sulla memoria delle correzioni utensili

- Numero del programma principale

Numero della
Nome della variabile Attributo Descrizione
variabile
#4000 [#_MAINO] R Numero del programma principale

- 181 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Dati modali
M
Numero della Nome della
Attributo Descrizione
variabile variabile
#4001-#4030 [#_BUFG[n]] R Dati modali validi per i blocchi caricati nel buffer (codice G)
Nota) L'indice n rappresenta il numero del gruppo di codici G.
#4102 [#_BUFB] R Dati modali validi per i blocchi caricati nel buffer (codice B)
#4107 [#_BUFD] R Dati modali validi per i blocchi caricati nel buffer (codice D)
#4108 [#_BUFE] R Dati modali validi per i blocchi caricati nel buffer (codice E)
#4109 [#_BUFF] R Dati modali validi per i blocchi caricati nel buffer (codice F)
#4111 [#_BUFH] R Dati modali validi per i blocchi caricati nel buffer (codice H)
#4113 [#_BUFM] R Dati modali validi per i blocchi caricati nel buffer (codice M)
#4114 [#_BUFN] R Dati modali validi per i blocchi caricati nel buffer (numero di sequenza)
#4115 [#_BUFO] R Dati modali validi per i blocchi caricati nel buffer (numero programma)
#4119 [#_BUFS] R Dati modali validi per i blocchi caricati nel buffer (codice S)
#4120 [#_BUFT] R Dati modali validi per i blocchi caricati nel buffer (codice T)
#4130 [#_BUFWZP] R Dati modali validi per i blocchi caricati nel buffer (numero del sistema
addizionale di coordinate del pezzo)
#4201-#4230 [#_ACTG[n]] R Dati modali validi per il blocco attualmente in esecuzione (codice G)
Nota) L'indice n rappresenta il numero del gruppo di codici G.
#4302 [#_ACTB] R Dati modali validi per il blocco attualmente in esecuzione (codice B)
#4307 [#_ACTD] R Dati modali validi per il blocco attualmente in esecuzione (codice D)
#4308 [#_ACTE] R Dati modali validi per il blocco attualmente in esecuzione (codice E)
#4309 [#_ACTF] R Dati modali validi per il blocco attualmente in esecuzione (codice F)
#4311 [#_ACTH] R Dati modali validi per il blocco attualmente in esecuzione (codice H)
#4313 [#_ACTM] R Dati modali validi per il blocco attualmente in esecuzione (codice M)
#4314 [#_ACTN] R Dati modali validi per il blocco attualmente in esecuzione (numero di
sequenza)
#4315 [#_ACTO] R Dati modali validi per il blocco attualmente in esecuzione (numero
programma)
#4319 [#_ACTS] R Dati modali validi per il blocco attualmente in esecuzione (codice S)
#4320 [#_ACTT] R Dati modali validi per il blocco attualmente in esecuzione (codice T)
#4330 [#_ACTWZP] R Dati modali validi per il blocco attualmente in esecuzione (numero del
sistema addizionale di coordinate del pezzo)
#4401-#4430 [#_INTG[n]] R Dati modali validi per i blocchi interrotti (codice G)
Nota) L'indice n rappresenta il numero del gruppo di codici G.
#4502 [#_INTB] R Dati modali validi per i blocchi interrotti (codice B)
#4507 [#_INTD] R Dati modali validi per i blocchi interrotti (codice D)
#4508 [#_INTE] R Dati modali validi per i blocchi interrotti (codice E)
#4509 [#_INTF] R Dati modali validi per i blocchi interrotti (codice F)
#4511 [#_INTH] R Dati modali validi per i blocchi interrotti (codice F)
#4513 [#_INTM] R Dati modali validi per i blocchi interrotti (codice M)
#4514 [#_INTN] R Dati modali validi per i blocchi interrotti
(numero di sequenza)
#4515 [#_INTO] R Dati modali validi per i blocchi interrotti
(numero programma)
#4519 [#_INTS] R Dati modali validi per i blocchi interrotti (codice S)
#4520 [#_INTT] R Dati modali validi per i blocchi interrotti (codice T)
#4530 [#_INTWZP] R Dati modali validi per i blocchi interrotti
(numero del sistema aggiuntivo di coordinate del pezzo)

- 182 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

T
Numero della Nome della
Attributo Descrizione
variabile variabile
#4001-#4030 [#_BUFG[n]] R Dati modali validi per i blocchi caricati nel buffer (codice G)
Nota) L'indice n rappresenta il numero del gruppo di codici G.
#4108 [#_BUFE] R Dati modali validi per i blocchi caricati nel buffer (codice E)
#4109 [#_BUFF] R Dati modali validi per i blocchi caricati nel buffer
(codice F)
#4113 [#_BUFM] R Dati modali validi per i blocchi caricati nel buffer (codice M)
#4114 [#_BUFN] R Dati modali validi per i blocchi caricati nel buffer (numero di sequenza)
#4115 [#_BUFO] R Dati modali validi per i blocchi caricati nel buffer (numero programma)
#4119 [#_BUFS] R Dati modali validi per i blocchi caricati nel buffer (codice S)
#4120 [#_BUFT] R Dati modali validi per i blocchi caricati nel buffer (codice T)

#4201-#4230 [#_ACTG[n]] R Dati modali validi per il blocco attualmente in esecuzione (codice G)
Nota) L'indice n rappresenta il numero del gruppo di codici G.
#4308 [#_ACTE] R Dati modali validi per il blocco attualmente in esecuzione (codice E)
#4309 [#_ACTF] R Dati modali validi per il blocco attualmente in esecuzione (codice F)
#4313 [#_ACTM] R Dati modali validi per il blocco attualmente in esecuzione (codice M)
#4314 [#_ACTN] R Dati modali validi per il blocco attualmente in esecuzione (numero di
sequenza)
#4315 [#_ACTO] R Dati modali validi per il blocco attualmente in esecuzione (numero
programma)
#4319 [#_ACTS] R Dati modali validi per il blocco attualmente in esecuzione (codice S)
#4320 [#_ACTT] R Dati modali validi per il blocco attualmente in esecuzione (codice T)
#4401-#4430 [#_INTG[n]] R Dati modali validi per i blocchi interrotti (codice G)
Nota) L'indice n rappresenta il numero del gruppo di codici G.
#4508 [#_INTE] R Dati modali validi per i blocchi interrotti (codice E)
#4509 [#_INTF] R Dati modali validi per i blocchi interrotti (codice F)
#4513 [#_INTM] R Dati modali validi per i blocchi interrotti (codice M)
#4514 [#_INTN] R Dati modali validi per i blocchi interrotti
(numero di sequenza)
#4515 [#_INTO] R Dati modali validi per i blocchi interrotti
(numero programma)
#4519 [#_INTS] R Dati modali validi per i blocchi interrotti (codice S)
#4520 [#_INTT] R Dati modali validi per i blocchi interrotti (codice T)

- Dati relativi alla posizione


Numero della Nome della
Attributo Descrizione
variabile variabile
#5001-#5005 [#_ABSIO[n]] R Punto finale del blocco precedente (sistema di coordinate del pezzo)
Nota) L'indice n rappresenta un numero asse (da 1 a 5)
#5021-#5025 [#_ABSMT[n]] R Posizione attuale specificata (sistema di coordinate della macchina)
Nota) L'indice n rappresenta un numero asse (da 1 a 5)
#5041-#5045 [#_ABSOT[n]] R Posizione attuale specificata (sistema di coordinate del pezzo)
Nota) L'indice n rappresenta un numero asse (da 1 a 5)
#5061-#5065 [#_ABSKP[n]] R Posizione di salto (sistema di coordinate del pezzo)
Nota) L'indice n rappresenta un numero asse (da 1 a 5)

- 183 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Compensazione lunghezza utensile


M
Numero della Nome della
Attributo Descrizione
variabile variabile
#5081-#5085 [#_TOFS[n]] R Compensazione lunghezza utensile
Nota) L'indice n rappresenta un numero asse (da 1 a 5)

- Valore della correzione


T
Numero della Nome della
Attributo Descrizione
variabile variabile
#5081 [#_TOFSWX] R Correzione utensile lungo l'asse X (usura)
#5082 [#_TOFSWZ] Correzione utensile lungo l'asse Z (usura)
#5083 [#_TOFSWY] Correzione utensile lungo l'asse Y (usura)
#5084 [#_TOFS[n]] Correzione utensile (usura) per l'ennesimo asse
#5085 Nota) L'indice n rappresenta un numero asse (4 o 5)
#5121 [#_TOFSGX] R Correzione utensile lungo l'asse X (geometria)
#5122 [#_TOFSGZ] Correzione utensile lungo l'asse Y (geometria)
#5123 [#_TOFSGY] Correzione utensile lungo l'asse Z (geometria)
#5124 [#_TOFSG[n]] Correzione utensile (geometria) per l'ennesimo asse
#5125 Nota) L'indice n rappresenta un numero asse (4 o 5)
Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base, Asse Y: asse Y dei tre assi base

- Errore di posizione del servosistema


Numero della Nome della
Attributo Descrizione
variabile variabile
#5101-#5105 [#_SVERR[n]] R Errore di posizione del servosistema
Nota) L'indice n rappresenta un numero asse (da 1 a 5)

- Interruzione del volantino


Numero della Nome della
Attributo Descrizione
variabile variabile
#5121-#5125 [#_MIRTP[n]] R Interruzione del volantino
Nota) L'indice n rappresenta un numero asse (da 1 a 5)

- Distanza residua
Numero della Nome della
Attributo Descrizione
variabile variabile
#5181-#5185 [#_DIST[n]] R Distanza residua
Nota) L'indice n rappresenta un numero asse (da 1 a 5)

- 184 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Offset dello zero pezzo, offset aggiuntivi dello zero pezzo


M
Numero della Nome della
Attributo Descrizione
variabile variabile
#5201-#5205 [#_WZCMN[n]] R/W Offset esterno dello zero pezzo
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5221-#5225 [#_WZG54[n]] R/W Offset dello zero pezzo G54
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5241-#5245 [#_WZG55[n]] R/W Offset dello zero pezzo G55
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5261-#5265 [#_WZG56[n]] R/W Offset dello zero pezzo G56
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5281-#5285 [#_WZG57[n]] R/W Offset dello zero pezzo G57
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5301-#5305 [#_WZG58[n]] R/W Offset dello zero pezzo G58
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5321-#5325 [#_WZG59[n]] R/W Offset dello zero pezzo G59
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
Offset aggiuntivi dello zero pezzo
#7001-#7005 [#_WZP1[n]] R/W Offset dello zero pezzo G54.1P1
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#7021-#7025 [#_WZP2[n]] R/W Offset dello zero pezzo G54.1P2
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
: : : :
#7941-#7945 [#_WZP48[n]] R/W Offset dello zero pezzo G54.1P48
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#14001-#14005 [#_WZP1[n]] R/W Offset dello zero pezzo G54.1P1
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#14021-#14025 [#_WZP2[n]] R/W Offset dello zero pezzo G54.1P2
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
: : : :
#14941-#14945 [#_WZP48[n]] R/W Offset dello zero pezzo G54.1P48
Nota)L'indice n rappresenta un numero asse (da 1 a 5).

T
Numero della Nome della
Attributo Descrizione
variabile variabile
#5201-#5205 [#_WZCMN[n]] R/W Offset esterno dello zero pezzo
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5221-#5225 [#_WZG54[n]] R/W Offset dello zero pezzo G54
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5241-#5245 [#_WZG55[n]] R/W Offset dello zero pezzo G55
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5261-#5265 [#_WZG56[n]] R/W Offset dello zero pezzo G56
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5281-#5285 [#_WZG57[n]] R/W Offset dello zero pezzo G57
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5301-#5305 [#_WZG58[n]] R/W Offset dello zero pezzo G58
Nota)L'indice n rappresenta un numero asse (da 1 a 5).
#5321-#5325 [#_WZG59[n]] R/W Offset dello zero pezzo G59
Nota)L'indice n rappresenta un numero asse (da 1 a 5).

- 185 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Costanti di sistema
Numero della Nome della
Attributo Descrizione
costante costante
#0, #3100 [#_EMPTY] R Nulla
#3101 [#_PI] R Costante circolare π = 3.14159265358979323846
#3102 [#_E] R Base dei logaritmi naturali e =2.71828182845904523536

Spiegazioni
R, W, e R/W sono gli attributi delle variabili ed indicano che sono abilitate solo la lettura, solo la scrittura,
la lettura e la scrittura, rispettivamente.

- Segnali di interfaccia #1000-#1031, #1032, #1033-#1035 (Attributo: R)


#1100-#1115, #1132, #1133-#1135 (Attributo: R/W)
[Segnali in ingresso]
Leggendo le variabili di sistema #1000 - #1032 è possibile ottenere lo stato dei segnali di interfaccia in
ingresso.

Numero della variabile Nome della variabile Punti Segnale


#1000 [#_UI[0]] 1 UI000 (20)
#1001 [#_UI[1]] 1 UI001 (21)
#1002 [#_UI[2]] 1 UI002 (22)
#1003 [#_UI[3]] 1 UI003 (23)
#1004 [#_UI[4]] 1 UI004 (24)
#1005 [#_UI[5]] 1 UI005 (25)
#1006 [#_UI[6]] 1 UI006 (26)
#1007 [#_UI[7]] 1 UI007 (27)
#1008 [#_UI[8]] 1 UI008 (28)
#1009 [#_UI[9]] 1 UI009 (29)
#1010 [#_UI[10]] 1 UI010 (210)
#1011 [#_UI[11]] 1 UI011 (211)
#1012 [#_UI[12]] 1 UI012 (212)
#1013 [#_UI[13]] 1 UI013 (213)
#1014 [#_UI[14]] 1 UI014 (214)
#1015 [#_UI[15]] 1 UI015 (215)
#1016 [#_UI[16]] 1 UI016 (216)
#1017 [#_UI[17]] 1 UI017 (217)
#1018 [#_UI[18]] 1 UI018 (218)
#1019 [#_UI[19]] 1 UI019 (219)
#1020 [#_UI[20]] 1 UI020 (220)
#1021 [#_UI[21]] 1 UI021 (221)
#1022 [#_UI[22]] 1 UI022 (222)
#1023 [#_UI[23]] 1 UI023 (223)
#1024 [#_UI[24]] 1 UI024 (224)
#1025 [#_UI[25]] 1 UI025 (225)
#1026 [#_UI[26]] 1 UI026 (226)
#1027 [#_UI[27]] 1 UI027 (227)
#1028 [#_UI[28]] 1 UI028 (228)
#1029 [#_UI[29]] 1 UI029 (229)
#1030 [#_UI[30]] 1 UI030 (230)
#1031 [#_UI[31]] 1 UI031 (231)
#1032 [#_UIL[0]] 32 UI000-UI031
#1033 [#_UIL[1]] 32 UI100-UI131
#1034 [#_UIL[2]] 32 UI200-UI231
#1035 [#_UIL[3]] 32 UI300-UI331

- 186 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Valore della variabile Segnale in ingresso


1.0 Contatto chiuso
0.0 Contatto aperto

Dato che il valore letto è sempre 1.0 o 0.0 indipendentemente dal sistema di unità, il sistema di unità deve
essere tenuto in considerazione durante la scrittura della macro.
Mediante le variabili #1032 - #1035 è possibile leggere simultaneamente 32 punti di ingresso.

30
#1032 = ∑ # [1000 + i ] × 2 i − #1031 × 2 31
i =0

# [1032 + n ] = ∑ {2 i × Vi }− 2 31 × V31
30

i =0

Dove, se UIni = 0, Vi = 0.
Dove, se UIni = 1, Vi = 1.
n = 0-3

[Segnali in uscita]
Assegnando valori appropriati alle variabili #1100 - #1132 è possibile attivare i segnali di interfaccia in
uscita.

Numero della variabile Nome della variabile Punti Segnale


#1100 [#_UO[0]] 1 UO000 (20)
#1101 [#_UO[1]] 1 UO001 (21)
#1102 [#_UO[2]] 1 UO002 (22)
#1103 [#_UO[3]] 1 UO003 (23)
#1104 [#_UO[4]] 1 UO004 (24)
#1105 [#_UO[5]] 1 UO005 (25)
#1106 [#_UO[6]] 1 UO006 (26)
#1107 [#_UO[7]] 1 UO007 (27)
#1108 [#_UO[8]] 1 UO008 (28)
#1109 [#_UO[9]] 1 UO009 (29)
#1110 [#_UO[10]] 1 UO010 (210)
#1111 [#_UO[11]] 1 UO011 (211)
#1112 [#_UO[12]] 1 UO012 (212)
#1113 [#_UO[13]] 1 UO013 (213)
#1114 [#_UO[14]] 1 UO014 (214)
#1115 [#_UO[15]] 1 UO015 (215)
#1116 [#_UO[16]] 1 UO016 (216)
#1117 [#_UO[17]] 1 UO017 (217)
#1118 [#_UO[18]] 1 UO018 (218)
#1119 [#_UO[19]] 1 UO019 (219)
#1120 [#_UO[20]] 1 UO020 (220)
#1121 [#_UO[21]] 1 UO021 (221)
#1122 [#_UO[22]] 1 UO022 (222)
#1123 [#_UO[23]] 1 UO023 (223)
#1124 [#_UO[24]] 1 UO024 (224)
#1125 [#_UO[25]] 1 UO025 (225)
#1126 [#_UO[26]] 1 UO026 (226)
#1127 [#_UO[27]] 1 UO027 (227)
#1128 [#_UO[28]] 1 UO028 (228)
#1129 [#_UO[29]] 1 UO029 (229)
- 187 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Numero della variabile Nome della variabile Punti Segnale


#1130 [#_UO[30]] 1 UO030 (230)
#1131 [#_UO[31]] 1 UO031 (231)
#1132 [#_UOL[0]] 32 UO000-UO031
#1133 [#_UOL[1]] 32 UO100-UO131
#1134 [#_UOL[2]] 32 UO200-UO231
#1135 [#_UOL[3]] 32 UO300-UO331

Valore della variabile Segnale in ingresso


1.0 Contatto chiuso
0.0 Contatto aperto

Mediante le variabili #1132 - #1135 è possibile scrivere simultaneamente 32 punti di uscita. E' anche
possibile leggere lo stato dei segnali.

30
#1132 = ∑ # [1100 + i ] × 2 i − #1131 × 2 31
i =0

# [1132 + n ] = ∑ {2 i × Vi }− 2 31 × V31
30

i =0

Dove, se UIni = 0, Vi = 0.
Dove, se UIni = 1, Vi = 1.
n = 0-3

NOTA
1 Se alle variabili #1100 - #1131 viene assegnato un valore diverso da 1.0 e da 0.0,
avviene quanto segue:
<nulla> viene trattato come 0.
Qualsiasi valore diverso da <nulla> e da 0 viene trattato come 1.
Un valore minore di 0.00000001 è "indefinito".
2 Le variabili UI016 - UI031, UI100 - UI131, UI200 - UI231, UI300 - UI331, UO016 -
UO031, UO200 - UO231 e UO300 - UO331 possono essere utilizzate solo
quando il parametro MIF (No.6001#0) è 1.

- 188 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Esempio
Struttura degli ingressi digitali
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

Utilizzati per altri Segno 101


scopi
102 100
Struttura delle uscite digitali
28 27 26 25 24 23 22 21 20

Non utilizzati Utilizzati per altri scopi Indirizzo

<1> Commutazione di un indirizzo in un numero BCD di tre cifre con il segno

Istruzione di richiamo della macro


G65 P9100 D (Indirizzo);

Il corpo della macro è il seguente:


O9100 ;
#1132 = #1132 AND 496 OR#7 ; : Invio dell'indirizzo
G65 P9101 T60 ; : Macro di temporizzazione
#100 = BIN[#1032 AND 4095] ; : Lettura di 3 cifre BCD
IF [#1012 EQ 0] GOTO 9100 ; : Viene aggiunto il segno.
#100 = -#100
N9100 M99 ;

<2> Nella variabile #101 viene scritto un numero BCD di 6 cifre (3 interi e 3 decimali) ottenuto da otto tipi
di commutazione indirizzo.

Struttura sul lato macchina


Se DO 20 = 0: Dato con 3 posizioni decimali
Se DO 20 = 1: Dato con parte intera di 3 cifre
Se DO 23 - 21 = 000: Dato N. 1 quando #1 = 0
Se DO 23 - 21 = 001: Dato N. 2 quando #2 = 0
:
Se DO 23 - 21 = 111: Dato N. 8 quando #8 = 0

Istruzione di richiamo della macro


G65 P9101 D (numero dato);

Il corpo della macro è il seguente:


O9101 ;
G65 P9101 D[#1*2+1] ;
#101 = #100 ;
G65 P9100 D[#1*2] ;
#101 = #101 + #100 / 1000 ;
M99;

- 189 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Valori delle correzioni utensile #2001-#2800, #10001-#13400 (Attributo: R/W)

M
I valori delle correzioni utensile possono essere ottenuti leggendo le variabili di sistema #2001 - #2800 o
#10001 - #13400, che corrispondono ai correttori utensile. E' anche possibile cambiare le correzioni
assegnando a queste variabili i valori desiderati.

<1> Memoria A delle correzioni utensili (bit 6 (NGW) del parametro N. 8136 = 1)
• Quando i correttori sono 200 o meno
Numero correttore Numero della variabile Nome della variabile
1 #2001 [#_OFS[1]]
2 #2002 [#_OFS[2]]
: : :
199 #2199 [#_OFS[199]]
200 #2200 [#_OFS[200]]

• Quando i correttori sono 400 (per i correttori fino al numero 200 possono essere usate anche le
variabili #2001 - #2200).
Numero correttore Numero della variabile Nome della variabile
1 #10001 [#_OFS[1]]
2 #10002 [#_OFS[2]]
: : :
399 #10399 [#_OFS[399]]
400 #10400 [#_OFS[400]]

<2> Memoria C delle correzioni utensili (bit 6 (NGW) del parametro N. 8136 = 0)
• Quando i correttori sono 200 o meno
Quando il bit 3 (V10) del parametro N. 6000 è 0
Codice H
Geometria Usura
Numero correttore
Numero della variabile Nome della variabile Numero della variabile Nome della variabile
1 #2201 [#_OFSHG[1]] #2001 [#_OFSHW[1]]
2 #2202 [#_OFSHG[2]] #2002 [#_OFSHW[2]]
: : : : :
199 #2399 [#_OFSHG[199]] #2199 [#_OFSHW[199]]
200 #2400 [#_OFSHG[200]] #2200 [#_OFSHW[200]]

Quando il bit 3 (V10) del parametro N. 6000 è 1


Codice H
Geometria Usura
Numero correttore
Numero della variabile Nome della variabile Numero della variabile Nome della variabile
1 #2001 [#_OFSHG[1]] #2201 [#_OFSHW[1]]
2 #2002 [#_OFSHG[2]] #2202 [#_OFSHW[2]]
: : : : :
199 #2199 [#_OFSHG[199]] #2399 [#_OFSHW[199]]
200 #2200 [#_OFSHG[200]] #2400 [#_OFSHW[200]]

- 190 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Codice D
Geometria Usura
Numero correttore
Numero della variabile Nome della variabile Numero della variabile Nome della variabile
1 #2401 [#_OFSDG[1]] #2601 [#_OFSDW[1]]
2 #2402 [#_OFSDG[2]] #2602 [#_OFSDW[2]]
: : : : :
199 #2599 [#_OFSDG[199]] #2799 [#_OFSDW[199]]
200 #2600 [#_OFSDG[200]] #2800 [#_OFSDW[200]]

NOTA
1 Se #2401 - #2800 vengono utilizzate per leggere o scrivere i codici D, il bit 5
(D10) del parametro N. 6004 deve essere 1.
2 Quando il bit 5 (D10) del parametro N. 6004 è 1, le variabili di sistema #2500 -
#2806 per l'offset dello zero pezzo non possono essere utilizzate. Utilizzare le
variabili di sistema #5201 - #5324.

• Quando i correttori sono 400 (per i correttori fino al numero 200 possono essere usate anche le
variabili #2001 - #2800).
Quando il bit 3 (V10) del parametro N. 6000 è 0
Codice H
Geometria Usura
Numero correttore
Numero della variabile Nome della variabile Numero della variabile Nome della variabile
1 #11001 [#_OFSHG[1]] #10001 [#_OFSHW[1]]
2 #11002 [#_OFSHG[2]] #10002 [#_OFSHW[2]]
: : : : :
399 #11399 [#_OFSHG[399]] #10399 [#_OFSHW[399]]
400 #11400 [#_OFSHG[400]] #10400 [#_OFSHW[400]]

Codice D
Geometria Usura
Numero correttore
Numero della variabile Nome della variabile Numero della variabile Nome della variabile
1 #13001 [#_OFSDG[1]] #12001 [#_OFSDW[1]]
2 #13002 [#_OFSDG[2]] #12002 [#_OFSDW[2]]
: : : : :
399 #13399 [#_OFSDG[399]] #12399 [#_OFSDW[399]]
400 #13400 [#_OFSDG[400]] #12400 [#_OFSDW[400]]

Quando il bit 3 (V10) del parametro N. 6000 è 1


Codice H
Geometria Usura
Numero correttore
Numero della variabile Nome della variabile Numero della variabile Nome della variabile
1 #10001 [#_OFSHG[1]] #11001 [#_OFSHW[1]]
2 #10002 [#_OFSHG[2]] #11002 [#_OFSHW[2]]
: : : : :
399 #10399 [#_OFSHG[399]] #11399 [#_OFSHW[399]]
400 #10400 [#_OFSHG[400]] #11400 [#_OFSHW[400]]

- 191 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Codice D
Geometria Usura
Numero correttore
Numero della variabile Nome della variabile Numero della variabile Nome della variabile
1 #12001 [#_OFSDG[1]] #13001 [#_OFSDW[1]]
2 #12002 [#_OFSDG[2]] #13002 [#_OFSDW[2]]
: : : :
399 #12399 [#_OFSDG[399]] #13399 [#_OFSDW[399]]
400 #12400 [#_OFSDG[400]] #13400 [#_OFSDW[400]]

- Valori delle correzioni utensile #2001-#2964, #10001-#19200 (Attributo: R/W)

T
I valori delle correzioni utensile possono essere ottenuti leggendo le variabili di sistema #2001 - #2964 o
#10001 - #19200, che corrispondono ai correttori utensile. E' anche possibile cambiare le correzioni
assegnando a queste variabili i valori desiderati.

<1> Senza distinzione fra correzione geometria/usura (bit 6 (NGW) del parametro N. 8136 = 1)
• Quando i correttori sono 64 o meno
Numero correttore Numero della variabile Nome della variabile Descrizione
1 #2001 [#_OFSX[1]]
2 #2002 [#_OFSX[2]]
: : : Correzione lungo l'asse X (*1)
63 #2063 [#_OFSX[63]]
64 #2064 [#_OFSX[64]]
1 #2101 [#_OFSZ[1]]
2 #2102 [#_OFSZ[2]]
: : : Correzione lungo l'asse Z (*1)
63 #2163 [#_OFSZ[63]]
64 #2164 [#_OFSZ[64]]
1 #2201 [#_OFSR[1]]
2 #2202 [#_OFSR[2]]
: : : Compensazione raggio utensile
63 #2263 [#_OFSR[63]]
64 #2264 [#_OFSR[64]]
1 #2301 [#_OFST[1]]
2 #2302 [#_OFST[2]]
Posizione della punta immaginaria
: : :
dell'utensile
63 #2363 [#_OFST[63]]
64 #2364 [#_OFST[64]]
1 #2401 [#_OFSY[1]]
2 #2402 [#_OFSY[2]]
: : : Correzione lungo l'asse Y (*1)
48 #2448 [#_OFSY[48]]
49 #2449 [#_OFSY[49]]
(*1) Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base, Asse Y: asse Y dei tre assi base

- 192 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

• Quando i correttori sono 200 (per i correttori fino al numero 64 possono essere usate anche le
variabili #2001 - #2449).
Numero correttore Numero della variabile Nome della variabile Descrizione
1 #10001 [#_OFSX[1]]
2 #10002 [#_OFSX[2]]
: : : Correzione lungo l'asse X (*1)
199 #10199 [#_OFSX[199]]
200 #10200 [#_OFSX[200]]
1 #11001 [#_OFSZ[1]]
2 #11002 [#_OFSZ[2]]
: : : Correzione lungo l'asse Z (*1)
199 #11199 [#_OFSZ[199]]
200 #11200 [#_OFSZ[200]]
1 #12001 [#_OFSR[1]]
2 #12002 [#_OFSR[2]]
: : : Compensazione raggio utensile
199 #12199 [#_OFSR[199]]
200 #12200 [#_OFSR[200]]
1 #13001 [#_OFST[1]]
2 #13002 [#_OFST[2]]
: : : Posizione della punta immaginaria
199 #13199 [#_OFST[199]]
200 #13200 [#_OFST[200]]
1 #14001 [#_OFSY[1]]
2 #14002 [#_OFSY[2]]
: : : Correzione lungo l'asse Y (*1)
199 #14199 [#_OFSY[199]]
200 #14200 [#_OFSY[200]]
(*1) Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base, Asse Y: asse Y dei tre assi base

- 193 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

<2> Con distinzione fra correzione geometria/usura (bit 6 (NGW) del parametro N. 8136 = 0)
• Quando i correttori sono 64 o meno
Numero correttore Numero della variabile Nome della variabile Descrizione
1 #2001 [#_OFSXW[1]]
2 #2002 [#_OFSXW[2]]
: : : Correzione lungo l'asse X (usura) (*1)
63 #2063 [#_OFSXW[63]]
64 #2064 [#_OFSXW[64]]
1 #2101 [#_OFSZW[1]]
2 #2102 [#_OFSZW[2]]
: : : Correzione lungo l'asse Z (usura) (*1)
63 #2163 [#_OFSZW[63]]
64 #2164 [#_OFSZW[64]]
1 #2201 [#_OFSRW[1]]
2 #2202 [#_OFSRW [2]]
: : : Compensazione raggio utensile (usura)
63 #2263 [#_OFSRW [63]]
64 #2264 [#_OFSRW [64]]
1 #2301 [#_OFST[1]]
2 #2302 [#_OFST[2]]
: : : Posizione della punta immaginaria
63 #2363 [#_OFST[63]]
64 #2364 [#_OFST[64]]
1 #2401 [#_OFSYW[1]]
2 #2402 [#_OFSYW [2]]
: : : Correzione lungo l'asse Y (usura) (*1)
48 #2448 [#_OFSYW [48]]
49 #2449 [#_OFSYW [49]]
1 #2451 [#_OFSYG[1]]
2 #2452 [#_OFSYG [2]]
: : : Correzione lungo l'asse Y (geometria) (*1)
48 #2498 [#_OFSYG [48]]
49 #2499 [#_OFSYG [49]]
1 #2701 [#_OFSXG[1]]
2 #2702 [#_OFSXG[2]]
: : : Correzione lungo l'asse X (geometria) (*1)
48 #2748 [#_OFSXG [48]]
49 #2749 [#_OFSXG [49]]
1 #2801 [#_OFSZG[1]]
2 #2802 [#_OFSZG[2]]
: : : Correzione lungo l'asse Z (geometria) (*1)
48 #2848 [#_OFSZG[48]]
49 #2849 [#_OFSZG[49]]
1 #2901 [#_OFSRG[1]]
2 #2902 [#_OFSRG[2]]
: : : Compensazione raggio utensile (geometria)
63 #2963 [#_OFSRG[63]]
64 #2964 [#_OFSRG[64]]
(*1) Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base, Asse Y: asse Y dei tre assi base

- 194 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

• Quando i correttori sono 200 (per i correttori fino al numero 64 possono essere usate anche le
variabili #2001 - #2964).
Numero correttore Numero della variabile Nome della variabile Descrizione
1 #10001 [#_OFSXW[1]]
2 #10002 [#_OFSXW[2]]
: : : Correzione lungo l'asse X (usura) (*1)
199 #10199 [#_OFSXW[199]]
200 #10200 [#_OFSXW[200]]
1 #11001 [#_OFSZW[1]]
2 #11002 [#_OFSZW[2]]
: : : Correzione lungo l'asse Z (usura) (*1)
199 #11199 [#_OFSZW[199]]
200 #11200 [#_OFSZW[200]]
1 #12001 [#_OFSRW[1]]
2 #12002 [#_OFSRW [2]]
: : : Compensazione raggio utensile (usura)
199 #12199 [#_OFSRW [199]]
200 #12200 [#_OFSRW [200]]
1 #13001 [#_OFST[1]]
2 #13002 [#_OFST[2]]
: : : Posizione della punta immaginaria
199 #13199 [#_OFST[199]]
200 #13200 [#_OFST[200]]
1 #14001 [#_OFSYW[1]]
2 #14002 [#_OFSYW [2]]
: : : Correzione lungo l'asse Y (usura) (*1)
199 #14199 [#_OFSYW[199]]
200 #14200 [#_OFSYW[200]]
1 #15001 [#_OFSXG[1]]
2 #15002 [#_OFSXG[2]]
: : : Correzione lungo l'asse X (geometria) (*1)
199 #15199 [#_OFSXG[199]]
200 #15200 [#_OFSXG[200]]
1 #16001 [#_OFSZG[1]]
2 #16002 [#_OFSZG[2]]
: : : Correzione lungo l'asse Z (geometria) (*1)
199 #16199 [#_OFSZG[199]]
200 #16200 [#_OFSZG[200]]
1 #17001 [#_OFSRG[1]]
2 #17002 [#_OFSRG[2]]
: : : Compensazione raggio utensile (geometria)
199 #17199 [#_OFSRG[199]]
200 #17200 [#_OFSRG[200]]
1 #19001 [#_OFSYG[1]]
2 #19002 [#_OFSYG [2]]
: : : Correzione lungo l'asse Y (geometria) (*1)
199 #19199 [#_OFSYG [199]]
200 #19200 [#_OFSYG [200]]
(*1) Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base, Asse Y: asse Y dei tre assi base

- 195 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Traslazione del sistema di coordinate del pezzo #2501, #2601 (Attributo: R/W)
T
Leggendo le variabili di sistema #2501 e #2601 è possibile ottenere l'entità della traslazione del sistema di
coordinate del pezzo lungo gli assi X e Z, rispettivamente. E' anche possibile cambiare l'entità della
traslazione assegnando a queste variabili i valori desiderati.
(Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi base)
Numero della variabile Nome della variabile Descrizione
#2501 [#_WKSFTX] Traslazione lungo l'asse X
#2601 [#_WKSFTZ] Traslazione lungo l'asse Z

- Allarme #3000 (Attributo: W)


Quando una macro rileva un allarme, può assegnare un valore a questa variabile, generando uno stato di
allarme. Inoltre, dopo il valore numerico, è possibile specificare un messaggio lungo fino a 60 caratteri
alfanumerici e racchiuso tra un control-out e un control-in. Se il messaggio non è specificato, viene
utilizzato un default.

Numero della variabile Nome della variabile Descrizione


#3000 [#_ALM] Allarme macro

Quando il bit 1 (MCA) del parametro N. 6008 è 0


#3000 = n (MESSAGGIO DI ALLARME); (n: 0-200)
Sul video del CNC compare un numero di allarme ottenuto sommando a 3000 il valore della variabile
#3000, insieme al messaggio specificato.
(Esempio) #3000 = 1 (MESSAGGIO DI ALLARME);
→ Nella schermata degli allarmi comparirà "3001 MESSAGGIO DI ALLARME".
Quando il bit 1 (MCA) del parametro N. 6008 è 1
#3000 = n (MESSAGGIO DI ALLARME); (n: 0-4095)
Sul video del CNC compare un numero di allarme ottenuto anteponendo i caratteri 'MC' al valore della
variabile #3000, insieme al messaggio specificato.
(Esempio) #3000 = 1 (MESSAGGIO DI ALLARME);
→ Nella schermata degli allarmi comparirà "MC0001 MESSAGGIO DI ALLARME".

- Clock #3001, #3002 (Attributo: R/W)


Leggendo le variabili di sistema #3001 e #3002 è possibile ottenere il tempo di clock. I clock possono
essere presettati assegnando un valore a queste due variabili.

Tipo Numero della variabile Nome della variabile Unità All'accensione Condizione di conteggio
Clock 1 #3001 [#_CLOCK1] 1 ms Azzerato Sempre
Clock 2 #3002 [#_CLOCK2] 1 ora Come allo spegnimento Quando il segnale STL è on

L'accuratezza del clock è di 16 ms. Il clock 1 ritorna a 0 dopo 2147483648 ms. Il clock 2 ritorna a 0 dopo
9544.37176 ore.

[Esempio]
Temporizzatore
Comando di richiamo della macro
G65 P9101 T (tempo di attesa) ms ;
Corpo della macro
O9101;
#3001 = 0; Impostazione iniziale
WHILE [#3001 LE #20] DO1: Arresa per il tempo specificato
END1 ;
M99;

- 196 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Controllo dell'arresto in blocco singolo e attesa del segnale di completamento


della funzione ausiliaria #3003 (Attributo: R/W)
Assegnando i seguenti valori alla variabile di sistema #3003 è possibile specificare se per i blocchi successi
l'arresto in blocco singolo è o non è disabilitato e se è abilitata l'attesa del segnale di completamento (FIN)
delle funzioni ausiliarie (M, S, T o B) prima di passare al blocco successivo. Quando l'attesa del segnale di
completamento è disabilitata, non viene emesso il segnale di fine della distribuzione (DEN). Fare
attenzione a non specificare la funzione ausiliaria successiva senza attendere il segnale di completamento.

Numero e nome della variabile Valore Arresto in blocco singolo Segnale FIN
0 Abilitato Atteso
#3003 1 Disabilitato Atteso
[#_CNTL1] 2 Abilitato Non atteso
3 Disabilitato Non atteso

Inoltre, le seguenti variabili permettono di gestire in modo indipendente l'arresto in blocco singolo e l'attesa
del segnale FIN.

Nome della variabile Valore Arresto in blocco singolo Completamento funzioni ausiliarie
0 Abilitato -
[#_M_SBK]
1 Disabilitato -
0 - Atteso
[#_M_FIN]
1 - Non atteso

[Esempio]
Ciclo di foratura (per programmazione incrementale)
(Equivalente a G81)
Comando di richiamo della macro
G65 P9081 L iterazioni R punto R Z punto Z;
Il corpo della macro è il seguente:
O9081 ;
#3003 = 1 ;
Arresto in blocco singolo disabilitato
G00 Z#18 ;
#18 corrisponde a R e #26 a Z.
G01 Z#26 ;
G00 Z-[ ROUND[#18] + ROUND[#26] ] ;
#3003 =0 ;
M99;

NOTA
La variabile #3003 viene azzerata da un reset.

- 197 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Abilitazione di feed hold, regolazione della velocità di avanzamento ed arresto


esatto #3004
(Attributo: R/W)
Assegnando i seguenti valori alla variabile di sistema #3004 è possibile specificare l'abilitazione/
disabilitazione di feed hold, regolazione della velocità di avanzamento ed arresto esatto nel modo G61 o
con il comando G09.
Regolazione della
Numero e nome della variabile Valore Feed hold velocità di Arresto esatto
avanzamento
0 Abilitato Abilitata Abilitato
1 Disabilitato Abilitata Abilitato
2 Abilitato Disabilitata Abilitato
#3004 3 Disabilitato Disabilitata Abilitato
[#_CNTL2] 4 Abilitato Abilitata Disabilitato
5 Disabilitato Abilitata Disabilitato
6 Abilitato Disabilitata Disabilitato
7 Disabilitato Disabilitata Disabilitato
Inoltre è possibile utilizzare i seguenti nomi per abilitare o disabilitare queste tre funzioni
indipendentemente le une dalle altre.
Regolazione della
Numero e nome della variabile Valore Feed hold velocità di Arresto esatto
avanzamento
0 Abilitato - -
[#_M_FHD]
1 Disabilitato - -
0 - Abilitata -
[#_M_OV]
1 - Disabilitata -
0 - - Abilitato
[#_M_EST]
1 - - Disabilitato

NOTA
1 Queste variabili di sistema sono fornite per mantenere la compatibilità con i
programmi pezzo convenzionali. Per l'abilitazione/disabilitazione di feed hold,
regolazione della velocità di avanzamento ed arresto esatto, si raccomanda di
utilizzare le funzioni fornite da G63, G09, G61, ed altri codici G.
2 Quando viene premuto il pulsante feed hold durante l'esecuzione di un blocco per
quale feed hold è disabilitato:
<1> Se si tiene premuto il pulsante il ciclo si arresta dopo l'esecuzione del
blocco. Però, se non è abilitato l'arresto in blocco singolo, il ciclo non si
arresta.
<2> Se si rilascia il pulsante, la spia feed hold lampeggia, ma il ciclo non si
arresta fino alla fine del primo blocco per cui feed hold è abilitato.
3 La variabile #3004 viene azzerata da un reset.
4 Se l'arresto esatto viene disabilitato mediante la variabile #3004, la posizione
originale di arresto esatto tra i blocchi in avanzamento di lavoro ed i blocchi in
rapido non viene influenzata. La variabile #3004 può disabilitare
temporaneamente l'arresto esatto nel modo G61, o in seguito al comando G09,
tra due blocchi in avanzamento di lavoro.

- 198 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Impostazioni #3005 (Attributo: R/W)


E' possibile leggere e scrivere i dati di impostazione.
I valori binari vengono convertiti in valori decimali.

#3005

#15 #14 #13 #12 #11 #10 #9 #8


Dato FCV
#7 #6 #5 #4 #3 #2 #1 #0
Dato SEQ INI ISO TVC

#9 (FCV) : Utilizzo della conversione del formato di programmazione della Serie 15.
#5 (SEQ) : Inserimento automatico del numero di sequenza
#2 (INI) : Programmazione in millimetri o in pollici
#1 (ISO) : Emissione in codice EIA o ISO
#0 (TVC) : Esecuzione del controllo TV

- Arresto con un messaggio #3006 (Attributo: W)


Quando una macro contiene il comando "#3006=1 (MESSAGE);", il programma esegue i blocchi fino a
quello immediatamente precedente e si ferma. Se è specificato il messaggio facoltativo, lungo fino a 60
caratteri alfanumerici e specificato entro i caratteri control-out e control-in, esso viene visualizzato sulla
schermata dei messaggi esterni per l'operatore.

Numero della variabile Nome della variabile Descrizione


#3006 [#_MSGSTP] Arresto con un messaggio

- Stato dell'immagine speculare #3007 (Attributo: R)


Leggendo la variabile #3007 è possibile ottenere lo stato dell'immagine speculare (impostazione o DI) per
ciascun asse al momento.

Numero della variabile Nome della variabile Descrizione


#3007 [#_MRIMG] Stato dell'immagine speculare

I bit di questa variabile corrispondono agli assi come segue:

Bit 4 3 2 1 0
N. asse 5 4 3 2 1

Un bit a 0 indica che per l'asse corrispondente l'immagine speculare è disabilitata, un bit a 1 indica che è
abilitata.
[Esempio] Quando #3007 è 3, l'immagine speculare è abilitata per il primo e per il secondo asse.

NOTA
1 Lo stato dell'immagine speculare programmabile non si riflette su questa
variabile.
2 Dato che l'immagine speculare può essere specificata per lo stesso asse sia
mediante un dato di impostazione sia mediante un segnale, il bit di un asse
corrisponde al risultato di una OR tra il segnale ed il dato di impostazione relativi
a quell'asse.
3 I segnali di attivazione dell'immagine speculare per assi diversi da quelli
controllati non influenzano la variabile #3007.

- 199 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Ripartenza del programma #3008 (Attributo: R)


Leggendo la variabile #3008 è possibile determinare se è in corso la ripartenza del programma.

Numero della variabile Nome della variabile Descrizione


0: Ripartenza programma non in corso
#3008 [#_PRSTR]
1: Ripartenza programma in corso

- Data e ora #3011, #3012 (Attributo: R)


Leggendo le variabili #3011 e #3012 è possibile ottenere la data (anno/mese/giorno) e l'ora
(ore/minuti/secondi), rispettivamente. Le variabili sono di sola lettura. Per cambiare anno/mese/giorno e
ore/minuti/secondi, utilizzare la schermata corrispondente.

[Esempio] 20 maggio 2004, 04:17:05


#3011 = 20040520
#3012 = 161705

- Numero totale di pezzi e numero richiesto di pezzi #3901 e #3902


(Attributo: R/W)
Il numero richiesto di pezzi ed il numero di pezzi lavorati possono essere visualizzati utilizzando la
funzione di visualizzazione del tempo di funzionamento e del numero di pezzi. Quando il numero totale di
pezzi lavorati raggiunge il numero richiesto di pezzi, viene inviato alla macchina (lato PMC) un apposito
segnale.
Queste variabili possono essere utilizzate sia per leggere sia per scrivere il numero totale di pezzi ed il
numero richiesto di pezzi.

Numero della variabile Nome della variabile Descrizione


#3901 [#_PRTSA] Numero totale di pezzi
#3902 [#_PRTSN] Numero richiesto di pezzi

- Tipo di memoria delle correzioni utensili #3980 (Attributo: R)

M
La variabile di sistema #3980 può essere utilizzata per leggere il tipo di memoria delle correzioni.

Numero della variabile Nome della variabile Descrizione


Tipi di memoria delle correzioni
#3980 [#_OFSMEM] 0: Memoria A delle correzioni utensili
2: Memoria C delle correzioni utensili

- 200 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Numero del programma principale #4000 (Attributo: R)


La variabile di sistema #4000 può essere utilizzata per leggere il numero del programma principale anche
quando è in esecuzione un sottoprogramma, indipendentemente dal suo livello.

Numero della variabile Nome della variabile Descrizione


#4000 [#_MAINO] Numero del programma principale

NOTA
1 Il numero del programma principale è il numero del programma avviato per
primo.
2 Se durante l'esecuzione del programma principale viene specificato un numero O
in MDI o viene specificato un numero O in DNC, la variabile #4000 assume il
valore corrispondente al codice O specificato. Se non ci sono programmi
registrati ed in DNC non è stato specificato nessun numero O, il valore di #4000
è 0.

- Dati modali #4001-#4130, #4201-#4330, #4401-#4530 (Attributo: R)


I dati modali specificati prima dell'esecuzione della frase macro che le legge possono essere ottenuti, con
riferimento al blocco attualmente preletto, leggendo le variabili di sistema #4001 - #4130.
Leggendo le variabili di sistema #4201 - #4330 è possibile ottenere i dati modali del blocco in esecuzione al
momento.
Leggendo le variabili di sistema #4401 -o #4530 è possibile ottenere i dati modali specificati prima del
blocco interrotto da un interrupt delle macroistruzioni.
Valgono le unità utilizzate al momento della specifica.

- 201 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

M
(Categoria: <1> Blocco nel buffer, <2> Blocco in esecuzione, <3> Blocco interrotto)

Categoria Numero della variabile Nome della variabile Descrizione


<1> #4001 [#_BUFG[1]]
<2> #4201 [#_ACTG[1]] Dato modale (codice G: gruppo 1)
<3> #4401 [#_INTG[1]]
: : : :
: : : :
<1> #4030 [#_BUFG[30]]
Dato
<2> #4230 [#_ACTG[30]]
modale (codice G: gruppo 30)
<3> #4430 [#_INTG[30]]
<1> #4102 [#_BUFB]
<2> #4302 [#_ACTB] Dato modale (codice B)
<3> #4502 [#_INTB]
<1> #4107 [#_BUFD]
<2> #4307 [#_ACTD] Dato modale (codice D)
<3> #4507 [#_INTD]
<1> #4108 [#_BUFE]
<2> #4308 [#_ACTE] Dato modale (codice E)
<3> #4508 [#_INTE]
<1> #4109 [#_BUFF]
<2> #4309 [#_ACTF] Dato modale (codice F)
<3> #4509 [#_INTF]
<1> #4111 [#_BUFH]
<2> #4311 [#_ACTH] Dato modale (codice H)
<3> #4511 [#_INTH]
<1> #4113 [#_BUFM]
<2> #4313 [#_ACTM] Dato modale (codice M)
<3> #4513 [#_INTM]
<1> #4114 [#_BUFN]
Dato modale
<2> #4314 [#_ACTN]
(numero di sequenza N)
<3> #4514 [#_INTN]
<1> #4115 [#_BUFO]
Dato modale
<2> #4315 [#_ACTO]
(numero programma O)
<3> #4515 [#_INTO]
<1> #4119 [#_BUFS]
<2> #4319 [#_ACTS] Dato modale (codice S)
<3> #4519 [#_INTS]
<1> #4120 [#_BUFT]
<2> #4320 [#_ACTT] Dato modale (codice T)
<3> #4520 [#_INTT]
<1> #4130 [#_BUFWZP]
Dato modale
<2> #4330 [#_ACTWZP]
(numero del sistema addizionale di coordinate del pezzo P)
<3> #4530 [#_INTWZP]

- 202 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

T
(Categoria: <1> Blocco nel buffer, <2> Blocco in esecuzione, <3> Blocco interrotto)

Categoria Numero della variabile Nome della variabile Descrizione


<1> #4001 [#_BUFG[1]]
<2> #4201 [#_ACTG[1]] Dato modale (codice G: gruppo 1)
<3> #4401 [#_INTG[1]]
: : : :
: : : :
<1> #4030 [#_BUFG[30]]
Dato
<2> #4230 [#_ACTG[30]]
modale (codice G: gruppo 30)
<3> #4430 [#_INTG[30]]
<1> #4108 [#_BUFE]
<2> #4308 [#_ACTE] Dato modale (codice E)
<3> #4508 [#_INTE]
<1> #4109 [#_BUFF]
<2> #4309 [#_ACTF] Dato modale (codice F)
<3> #4509 [#_INTF]
<1> #4113 [#_BUFM]
<2> #4313 [#_ACTM] Dato modale (codice M)
<3> #4513 [#_INTM]
<1> #4114 [#_BUFN]
Dato modale
<2> #4314 [#_ACTN]
(numero di sequenza N)
<3> #4514 [#_INTN]
<1> #4115 [#_BUFO]
Dato modale
<2> #4315 [#_ACTO]
(numero programma O)
<3> #4515 [#_INTO]
<1> #4119 [#_BUFS]
<2> #4319 [#_ACTS] Dato modale (codice S)
<3> #4519 [#_INTS]
<1> #4120 [#_BUFT]
<2> #4320 [#_ACTT] Dato modale (codice T)
<3> #4520 [#_INTT]

NOTA
Blocchi nel buffer e blocco in esecuzione
Dato che il CNC legge in anticipo i blocchi successivi a quello in esecuzione,
normalmente il blocco acquisito dal CNC è diverso da quello in esecuzione.
Le variabili #4001 - #4130 contengono i dati modali validi per il blocco caricato
nel buffer immediatamente prima di quello che le utilizza.

[Esempio] O1234 ;
N10 G00 X200. Y200. ;
N20 G01 X1000. Y1000. F10. ;
:
:
N50 G00 X500. Y500. ;
N60 #1 = #4001 ;
Assumiamo che il CNC stia attualmente eseguendo N20. Se il CNC ha già letto e processato i blocchi fino a N60, il
blocco in esecuzione è N20 ed il blocco caricato nel buffer immediatamente prima del comando che legge le variabili è
N50. Sicché, mentre per il blocco in esecuzione il codice G del gruppo 01 è G01, per il blocco nel buffer questo codice
è G00.

- 203 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Di conseguenza, se N60 #1 = #4201, #1 = 1.


Di conseguenza, se N60 #1 = #4001, #1 = 0.

- Dati relativi alla posizione #5001-#5065 (Attributo: R)


Le variabili di sistema #5001 - #5065 forniscono la posizione finale del blocco precedente, la posizione
attuale specificata (nel sistema di coordinate della macchina e nel sistema di coordinate del pezzo) e la
posizione del segnale di salto della lavorazione.

Numero Compensazione
Nome della Sistema di Lettura durante il
della Dato di posizione posizione/lunghezza/
variabile coordinate movimento
variabile raggio utensile
#5001 [#_ABSIO[1]] Punto finale del blocco (1o asse) Sistema di
: : : coordinate del Non incluse Abilitata
#5005 [#_ABSIO[5]] Punto finale del blocco (5o asse) pezzo
#5021 [#_ABSMT[1]] Posizione attuale (1o asse) Sistema di
: : : coordinate della Incluse Disabilitata
#5025 [#_ABSMT[5]] Posizione attuale (5o asse) macchina
#5041 [#_ABSOT[1]] Posizione attuale (1o asse) Sistema di
: : : coordinate del Incluse Disabilitata
#5045 [#_ABSOT[5]] Posizione attuale (5o asse) pezzo
#5061 [#_ABSKP[1]] Posizione di salto (1o asse) Sistema di
: : : coordinate del Incluse Abilitata
#5065 [#_ABSKP[5]] Posizione di salto (5o asse) pezzo

NOTA
1 Se viene specificata una variabile che eccede il numero degli assi controllati, si
verifica l'allarme PS0115, “N. VARIABILE FUORI DAI LIMITI”.
2 La posizione finale (ABSIO) di un blocco G31 nel quale è pervenuto il segnale di
salto è quella del segnale. Se il segnale di salto non è pervenuto, la posizione
corrisponde al punto finale programmato nel blocco.
3 "La lettura durante il movimento è disabilitata" significa che non è garantita
l'accuratezza della lettura durante il movimento.

- Compensazione lunghezza utensile #5081#5085 (Attributo: R)

M
Leggendo le variabili #5081 - #5085 è possibile ottenere il valore della compensazione lunghezza utensile
lungo ciascun asse valido per il blocco in esecuzione al momento.

Numero della Lettura durante il


Nome della variabile Dato di posizione
variabile movimento
#5081 [#_TOFS[1]] Compensazione lunghezza utensile lungo il 1o asse.
: : : Disabilitata
#5085 [#_TOFS[5]] Compensazione lunghezza utensile lungo il 5o asse.

NOTA
Se viene specificata una variabile che eccede il numero degli assi controllati, si
verifica l'allarme PS0115, “N. VARIABILE FUORI DAI LIMITI”.

- 204 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Correzioni utensile #5081-#5085, #5121-#5125 (Attributo: R)

T
Leggendo le variabili #5081 - #5085 o #5121 - #5125 è possibile ottenere le correzioni utensile lungo
ciascun asse valide per il blocco in esecuzione. (Asse X: asse X dei tre assi base, Asse Z: asse Z dei tre assi
base, Asse Y: asse Y dei tre assi base)
<1> Senza distinzione fra correzione geometria/usura (bit 6 (NGW) del parametro N. 8136 = 1)
Numero della Nome della Lettura durante il
Dato di posizione
variabile variabile movimento
#5081 [#_TOFSWX] Correzione utensile lungo l'asse X
#5082 [#_TOFSWZ] Correzione utensile lungo l'asse Z
#5083 [#_TOFSWY] Correzione utensile lungo l'asse Y Disabilitata
#5084 [#_TOFS[4]] Correzione utensile lungo il 4o asse
#5085 [#_TOFS[5]] Correzione utensile lungo il 5o asse

<2> Con distinzione fra correzione geometria/usura (bit 6 (NGW) del parametro N. 8136 = 0)
Numero della Nome della Lettura durante il
Dato di posizione
variabile variabile movimento
#5081 [#_TOFSWX] Correzione utensile lungo l'asse X (usura)
#5082 [#_TOFSWZ] Correzione utensile lungo l'asse Z (usura)
#5083 [#_TOFSWY] Correzione utensile lungo l'asse Y (usura)
#5084 [#_TOFS[4]] Correzione utensile lungo il 4o asse (usura)
#5085 [#_TOFS[5]] Correzione utensile lungo il 5o asse (usura)
Disabilitata
#5121 [#_TOFSGX] Correzione utensile lungo l'asse X (geometria)
#5122 [#_TOFSGZ] Correzione utensile lungo l'asse Z (geometria)
#5123 [#_TOFSGY] Correzione utensile lungo l'asse Y (geometria)
#5124 [#_TOFSG[4]] Correzione utensile lungo il 4o asse (geometria)
#5125 [#_TOFSG[5]] Correzione utensile lungo il 5o asse (geometria)

Quando le correzioni usura e le correzioni geometria sono separate(bit 6 (NGW) del parametro N. 8136 = 0),
le variabili di sistema dipendono come segue dall'impostazione del bit 2 (LWT) del parametro N. 5002 e del
bit 4 (LGT) del parametro N. 5002:

Numero della LWT=0 LWT=1 LWT=0 LWT=1


variabile LGT=0 LGT=0 LGT=1 LGT=1
#5081
#5082
#5083 Correzione usura 0 Correzione usura Correzione usura
#5084
#5085
#5121
#5122
Correzione usura +
#5123 Correzione geometria Correzione geometria Correzione geometria
correzione geometria
#5124
#5125

NOTA
1 Il valore impostato viene letto come correzione utensile indipendentemente dal
bit 1 (ORC) del parametro N. 5004 e dal bit 0 (OWD) del parametro N. 5040.
2 Per leggere le correzioni utensile (geometria) con le variabili #5121 - #5125,
mettere a 0 il bit 2 (VHD) del parametro N. 6004.

- 205 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Errore di posizione del servosistema #5101-#5105 (Attributo: R)


Leggendo le variabili #5101 - #5105 è possibile ottenere l'errore di posizione del servosistema di ciascun
asse.

Numero della Lettura durante il


Nome della variabile Dato di posizione
variabile movimento
#5101 [#_SVERR[1]] Errore di posizione del primo asse
: : : Disabilitata
#5105 [#_SVERR[5]] Errore di posizione del quinto asse

NOTA
Se viene specificata una variabile che eccede il numero degli assi controllati, si
verifica l'allarme PS0115, “N. VARIABILE FUORI DAI LIMITI”.
- Interruzione del volantino #5121-#5125 (Attributo: R)
Leggendo le variabili #5121 - #5125 è possibile ottenere l'entità del movimento di ciascun asse generato da
un'interruzione del volantino.

Numero della Lettura durante il


Nome della variabile Dato di posizione
variabile movimento
#5121 [#_MIRTP[1]] Interruzione del volantino per il 1o asse
: : : Disabilitata
#5125 [#_MIRTP[5]] Interruzione del volantino per il 5o asse

NOTA
Se viene specificata una variabile che eccede il numero degli assi controllati, si
verifica l'allarme PS0115, “N. VARIABILE FUORI DAI LIMITI”.

T
NOTA
Le variabili #5121 - #5125 sono abilitate solo quando il bit 2 (VHD) del parametro
N. 6004 è 1.

- Distanza residua #5181-#5185 (Attributo: R)


Leggendo le variabili #5181 - #5185 è possibile ottenere la distanza residua lungo ciascun asse.

Numero della
Nome della variabile Dato di posizione Lettura durante il movimento
variabile
#5181 [#_DIST[1]] Distanza residua lungo il 1o asse
: : : Disabilitata
#5185 [#_DIST[5]] Distanza residua lungo il 5o asse

NOTA
Se viene specificata una variabile che eccede il numero degli assi controllati,
si verifica l'allarme PS0115, “N. VARIABILE FUORI DAI LIMITI”.

- Offset dello zero pezzo #5201-#5325 (Attributo: R/W)

Leggendo le variabili #5201 - #5325 è possibile ottenere l'offset dello zero pezzo lungo ciascun asse.
E' anche possibile cambiare gli offset assegnando a queste variabili i valori desiderati.

- 206 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Numero della Nome della Sistema di coordinate del


Asse controllato
variabile variabile pezzo
#5201 [#_WZCMN[1]] Offset esterno lungo il primo asse
Offset esterno applicato a tutti i
: : :
sistemi di coordinate del pezzo
#5205 [#_WZCMN[5]] Offset esterno lungo il 5o asse
#5221 [#_WZG54[1]] Offset lungo il primo asse
: : : G54
#5225 [#_WZG54[5]] Offset lungo il quinto asse
#5241 [#_WZG55[1]] Offset lungo il primo asse
: : : G55
#5245 [#_WZG55[5]] Offset lungo il quinto asse
#5261 [#_WZG56[1]] Offset lungo il primo asse
: : : G56
#5265 [#_WZG56[5]] Offset lungo il quinto asse
#5281 [#_WZG57[1]] Offset lungo il primo asse
: : : G57
#5285 [#_WZG57[5]] Offset lungo il quinto asse
#5301 [#_WZG58[1]] Offset lungo il primo asse
: : : G58
#5305 [#_WZG58[5]] Offset lungo il quinto asse
#5321 [#_WZG59[1]] Offset lungo il primo asse
: : : G59
#5325 [#_WZG59[5]] Offset lungo il quinto asse

M
Quando il bit 5 (D15) del parametro N. 6004 è 0 è possibile utilizzare anche le seguenti variabili:

Asse Funzione Numero della variabile


Primo asse Offset esterno dello zero pezzo #2500
Offset dello zero pezzo G54 #2501
Offset dello zero pezzo G55 #2502
Offset dello zero pezzo G56 #2503
Offset dello zero pezzo G57 #2504
Offset dello zero pezzo G58 #2505
Offset dello zero pezzo G59 #2506
Secondo asse Offset esterno dello zero pezzo #2600
Offset dello zero pezzo G54 #2601
Offset dello zero pezzo G55 #2602
Offset dello zero pezzo G56 #2603
Offset dello zero pezzo G57 #2604
Offset dello zero pezzo G58 #2605
Offset dello zero pezzo G59 #2606
Terzo asse Offset esterno dello zero pezzo #2700
Offset dello zero pezzo G54 #2701
Offset dello zero pezzo G55 #2702
Offset dello zero pezzo G56 #2703
Offset dello zero pezzo G57 #2704
Offset dello zero pezzo G58 #2705
Offset dello zero pezzo G59 #2706
Quarto asse Offset esterno dello zero pezzo #2800
Offset dello zero pezzo G54 #2801
Offset dello zero pezzo G55 #2802
Offset dello zero pezzo G56 #2803
Offset dello zero pezzo G57 #2804
Offset dello zero pezzo G58 #2805
Offset dello zero pezzo G59 #2806

- 207 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

T
Per mantenere la compatibilità con i modelli precedenti, è possibile utilizzare le seguenti variabili:
Numero della
Asse Funzione
variabile
Primo asse Offset esterno dello zero pezzo #2550
Offset dello zero pezzo G54 #2551
Offset dello zero pezzo G55 #2552
Offset dello zero pezzo G56 #2553
Offset dello zero pezzo G57 #2554
Offset dello zero pezzo G58 #2555
Offset dello zero pezzo G59 #2556
Secondo asse Offset esterno dello zero pezzo #2650
Offset dello zero pezzo G54 #2651
Offset dello zero pezzo G55 #2652
Offset dello zero pezzo G56 #2653
Offset dello zero pezzo G57 #2654
Offset dello zero pezzo G58 #2655
Offset dello zero pezzo G59 #2656
Terzo asse Offset esterno dello zero pezzo #2750
Offset dello zero pezzo G54 #2751
Offset dello zero pezzo G55 #2752
Offset dello zero pezzo G56 #2753
Offset dello zero pezzo G57 #2754
Offset dello zero pezzo G58 #2755
Offset dello zero pezzo G59 #2756
Quarto asse Offset esterno dello zero pezzo #2850
Offset dello zero pezzo G54 #2851
Offset dello zero pezzo G55 #2852
Offset dello zero pezzo G56 #2853
Offset dello zero pezzo G57 #2854
Offset dello zero pezzo G58 #2855
Offset dello zero pezzo G59 #2856

NOTA
1 Se viene specificata una variabile che eccede il numero degli assi controllati, si
verifica l'allarme PS0115, “N. VARIABILE FUORI DAI LIMITI”.
2 Per gli offset dello zero pezzo fino al quinto asse controllato possono essere
utilizzate anche le variabili #5201 - #5325.

M
NOTA
Per utilizzare le variabili #2500 - #2806 e #5201 - #5325, abilitare il sistema di
coordinate del pezzo (mettere a 0 il bit 0 (NWZ) del parametro N. 8136).

T
NOTA
Per utilizzare le variabili #2550 - #2856 e #5201 - #5325, abilitare il sistema di
coordinate del pezzo (mettere a 0 il bit 0 (NWZ) del parametro N. 8136).

- 208 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Offset dello zero pezzo dei sistemi aggiuntivi di coordinate del pezzo
#7001-#7945, #14001-#14945 (Attributo: R/W)

M
Leggendo le variabili #7001 - #7945, #14001 - #14945 è possibile ottenere l'offset dello zero pezzo dei
sistemi aggiuntivi di coordinate del pezzo. E' anche possibile cambiare gli offset assegnando a queste
variabili i valori desiderati.

Numero
Numero del sistema
della Nome della variabile Asse controllato
aggiuntivo di coordinate
variabile
#7001 [#_WZP1[1]] Offset lungo il primo asse
1
: : :
(G54.1 P1)
#7005 [#_WZP1[5]] Offset lungo il quinto asse
#7021 [#_WZP2[1]] Offset lungo il primo asse
2
: : :
(G54.1 P2)
#7025 [#_WZP2[5]] Offset lungo il quinto asse
: : : :
#7941 [#_WZP48[1]] Offset lungo il primo asse
48
: : :
(G54.1 P48)
#7945 [#_WZP48[5]] Offset lungo il quinto asse

Numero della variabile = 7000 + (numero del sistema di coordinate -1) × 20 + numero asse
Numero del sistema di coordinate: da 1 a 48
Numero asse: da 1 a 5

Numero
Numero del sistema
della Nome della variabile Asse controllato
aggiuntivo di coordinate
variabile
#14001 [#_WZP1[1]] Offset lungo il primo asse
1
: : :
(G54.1 P1)
#14005 [#_WZP1[5]] Offset lungo il quinto asse
#14021 [#_WZP2[1]] Offset lungo il primo asse
2
: : :
(G54.1 P2)
#14025 [#_WZP2[5]] Offset lungo il quinto asse
: : : :
#14941 [#_WZP48[1]] Offset lungo il primo asse
48
: : :
(G54.1 P48)
#14945 [#_WZP48[5]] Offset lungo il quinto asse

Numero della variabile = 14000 + (numero del sistema di coordinate -1) × 20 + numero asse
Numero del sistema di coordinate: da 1 a 48
Numero asse: da 1 a 5

NOTA
1 Se viene specificata una variabile che eccede il numero degli assi controllati, si
verifica l'allarme PS0115, “N. VARIABILE FUORI DAI LIMITI”.
2 Per utilizzare le variabili #7001 - #7945 e #14001 - #14945 (G54.1 P1 - G54.1
P48), abilitare i sistemi aggiuntivi di coordinate del pezzo (48) (mettere a 0 il bit 2
(NWN) del parametro N. 8136).

- 209 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Commutazione tra variabili P-CODE e variabili di sistema (#10000 o


successive) #8570 (Attributo: R/W)

Questa variabile di sistema abilita le operazioni di lettura/scrittura delle variabili P-CODE (da #10000 a
#89999) per la funzione macro executor. Per i dettagli relativi alle variabili P-CODE, riferirsi al manuale
"Macro Compiler / Macro Executor - Manuale di programmazione" (B-64303-2).
La variabile di sistema #8570 permette di definire le variabili da #10000 in poi come variabili P-CODE o
variabili di sistema.

Variabile #8570 Variabile specificata Variabile corrispondente


#10000 Variabile di sistema (#10000)
#8570=0 : :
#89999 Variabile di sistema (#89999)
#10000 Variabile P-CODE (#10000)
#8570=1 : :
#89999 Variabile P-CODE (#89999)

Esempio
#8570 = 0 ;
#10001 =123 ; → Scrittura della variabile di sistema #10001
(compensazione utensile)
#8570=1 ;
#10001 =456 ; → Scrittura della variabile P-CODE #10001
(compensazione utensile)

NOTA
1 La variabile #8570 può essere utilizzata solo se è abilitata la funzione macro
executor.
2 Le variabili di sistema (#10000 o successive) corrispondono sempre alle variabili
di sistema specificate con il nome, anche se #8570 è 1.
3 Se si tenta di accedere ad una variabile che non può essere utilizzata come
variabile P-CODE (#10000 o successive), si verifica l'allarme PS0115.

- 210 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.3 OPERAZIONI ARITMETICHE E LOGICHE


Sulle variabili è possibile eseguire varie operazioni. Il formato di programmazione delle operazioni
aritmetiche e logiche è lo stesso di una normale espressione aritmetica.
#i=<espressione>

<Espressione>
La parte destra di un comando aritmetico o logico può contenere costanti e/o variabili combinate da
funzioni o operatori. Negli esempi che seguono, le variabili #j e #k possono essere sostituite da una costante.
Se una costante utilizzata in un'espressione è senza punto decimale, viene trattata come se lo avesse alla
fine.

Tabella 14.3 (a) Operazioni aritmetiche e logiche


Tipo di operazione Operazione Descrizione
<1> Definizione o sostituzione #i=#j Definizione o sostituzione di una variabile
<2> Operazioni additive #i=#j+#k Addizione
#i=#j-#k Sottrazione
#i=#j OR #k OR logico (bit per bit di 32 bit)
#i=#j XOR #k OR esclusivo (bit per bit di 32 bit)
<3> Operazioni moltiplicative #i=#j*#k Moltiplicazione
#i=#j/#k Divisione
#i=#j AND #k AND logico (bit per bit di 32 bit)
#i=#j MOD #k Modulo (Il modulo viene calcolato dopo aver arrotondato #j e #k
all'intero più vicino. Se #j è negativo, anche #i sarà negativo.)
<4> Funzioni #i=SIN[#j] Seno (in gradi)
#i=COS[#j] Coseno (in gradi)
#i=TAN[#j] Tangente (in gradi)
#i=ASIN[#j] Arcoseno
#i=ACOS[#j] Arcocoseno
#i=ATAN[#j] Arcotangente (un argomento), è possibile utilizzare ATN.
#i=ATAN[#j]/[#k] Arcotangente (due argomenti), è possibile utilizzare ATN.
#i=ATAN[#j,#k] Arcotangente (due argomenti), è possibile utilizzare ATN.
#i=SQRT[#j] Radice quadrata, è possibile utilizzare SQR.
#i=ABS[#j] Valore assoluto
#i=BIN[#j] Conversione da BCD a binario
#i=BCD[#j] Conversione da binario a BCD
#i=ROUND[#j] Arrotondamento, è possibile utilizzare RND.
#i=FIX[#j] Arrotondamento all'intero per difetto
#i=FUP[#j] Arrotondamento all'intero per eccesso
#i=LN[#j] Logaritmo naturale
#i=EXP[#j] Esponente di e (2.718...)
#i=POW[#j,#k] Elevazione a potenza (#j alla #kma)
#i=ADP[#j] Aggiunta del punto decimale

- 211 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Spiegazioni
- Unità degli angoli
Le unità degli angoli usati con le funzioni SIN, COS, ASIN, ACOS, TAN e ATAN sono i gradi.
Ad esempio, 90 gradi e 30 minuti si rappresenta come 90.5 gradi.

- Arcoseno, #i = ASIN[#j];
• Il campo delle soluzioni è:
Quando il bit 0 (NAT) del parametro 6004 è 0: da 270° a 90°
Quando il bit 0 (NAT) del parametro 6004 è 1: da -90° a 90°
• Se #j è fuori dall'intervallo -1 .. 1, si verifica l'allarme PS0119.
• Invece della variabile #j è possibile usare una costante.

- Arcocoseno, #i = ACOS[#j];
• La soluzione è nell'intervallo 180° .. 0°.
• Se #j è fuori dall'intervallo -1 .. 1, si verifica l'allarme PS0119.
• Invece della variabile #j è possibile usare una costante.

- Arcotangente, #i = ATAN[#j]/[#k]; (due argomenti)


• ATAN[#j,#k] è equivalente a ATAN[#j]/[#k].
• Dato il punto (#k, #j) nel piano X-Y, questa funzione restituisce l'arcotangente dell'angolo formato dal
punto.
• Invece della variabile #j è possibile usare una costante.
• Il campo delle soluzioni è:
Quando il bit 0 (NAT) del parametro 6004 è 0: da 0° a 360°
Esempio:
Dopo #1 = ATAN[-1]/[-1]; #1 è 225.0.
Quando il bit 0 (NAT) del parametro 6004 è 1: da -180° a 180°
Esempio:
Dopo #1 = ATAN[-1]/[-1]; #1 è -135.0.

- Arcotangente, #i = ATAN[#j]; (un argomento)


• Quando è specificata con un solo argomento, la funzione ATAN restituisce il valore dell'arcotangente
(-90° ≤ ATAN[#j] ≤ 90°). In altre parole, questa funzione restituisce lo stesso valore di ATAN di una
calcolatrice tascabile.
• Per utilizzare questa funzione come dividendo di una divisione, racchiuderla tra parentesi quadre ([ ]).
Se la funzione non è messa tra parentesi quadre, viene assunta ATAN[#j]/[#k].
Esempio:
#100 = [ATAN[1]]/10 ; : Divide ATAN con un argomento per 10.
#100 = ATAN[1]/[10] ; : Esegue ATAN con due argomenti.
#100 = ATAN[1]/10 ; : Assume ATAN con due argomenti, ma si verifica l'allarme PS1131 perché la
coordinata X non è tra parentesi quadre ([ ]).

- Logaritmo naturale, #i = LN[#j];


• Se l'antilogaritmo (#j) è zero o negativo si verifica l'allarme PS0119.
• Invece della variabile #j è possibile usare una costante.

- Funzione esponenziale, #i = EXP[#j];


• Se l'esecuzione della funzione provoca un overflow si verifica l'allarme PS0119.
• Invece della variabile #j è possibile usare una costante.

- 212 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Funzione ROUND
• Quando è utilizzata in un comando aritmetico o logico, in una frase IF o in una frase WHILE, la
funzione ROUND arrotonda alla prima posizione decimale.
Esempio:
Dopo #1=ROUND[#2];, se la variabile #2 contiene 1.2345, il valore della variabile #1 è 1.0.
• Quando è utilizzata in un comando NC, la funzione ROUND arrotonda il valore specificato in base
all'incremento minimo di immissione dell'indirizzo per il quale è specificata.
Esempio:
Creazione di un programma che esegue un movimento di foratura in base ai valori delle variabili #1 e #2 e
poi ritorna al punto iniziale
Assumendo che il sistema di incrementi sia 1/1000 mm, che la variabile #1 contenga 1.2345 e che la
variabile #2 contenga 2.3456, si ha:
G00 G91 X-#1 ; Movimento di 1.235 mm in direzione negativa
G01 X-#2 F300; Movimento di 2.346 mm in direzione negativa
G00 X[#1+#2] ; Dato che 1.2345 + 2.3456 = 3.5801 il movimento in direzione positiva è di 3.580 e non
riporta l'utensile nella posizione originale.
Questa differenza dipende dal fatto che l'arrotondamento è eseguito dopo la somma.
G00X-[ROUND[#1]+ROUND[#2]] ; .

- Aggiunta del punto decimale (funzione ADP)


• In una macro, per aggiungere il punto decimale ad un argomento passato senza il punto decimale, è
possibile programmare ADP[#n] (n = 1 - 33).
Esempio:
Nel sottoprogramma richiamato con G65 P_X10;, il valore di ADP[#24] è un valore con punto decimale
(cioè 10.). Questa funzione è utile quando nella macro non si desidera tenere in considerazione il sistema di
incrementi. Quando il bit 4 (CVA) del parametro N. 6007 è 1, però, la funzione ADP non può essere utilizzata
perché gli argomenti sono convertiti in formato macro nel momento in cui vengono passati
(dopo G65 P_X10;, il valore della variabile #24 è 0.01).

NOTA
Per mantenere la compatibilità tra i programmi, si raccomanda di non utilizzare la
funzione ADP, ma di aggiungere il punto decimale alla fine degli argomenti passati
nel richiamo di una macro.

- Arrotondamento all'intero per eccesso e per difetto (Funzioni FUP e FIX)


L'arrotondamento per eccesso ha come risultato un intero maggiore, in valore assoluto, della parte intera del
numero originale. L'arrotondamento per difetto ha come risultato un intero minore, in valore assoluto, della
parte intera del numero originale. Fare particolare attenzione quando si manipolano numeri negativi.
Esempio:
Supponiamo che #1=1.2 e #2=-1.2.
Quando viene eseguito #3=FUP[#1] ; il valore di #3 è 2.0.
Quando viene eseguito #3=FIX[#1] ; il valore di #3 è 1.0.
Quando viene eseguito #3=FUP[#2] ; il valore di #3 è -2.0.
Quando viene eseguito #3=FIX[#2] ; il valore di #3 è -1.0.

- Abbreviazione dei comandi aritmetici e logici


Per specificare una funzione in un programma è possibile utilizzare solo i primi due caratteri del suo nome.

Esempio:
ROUND → RO
FIX → FI

- 213 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

NOTA
1 POW non può essere abbreviata.
2 Se per il nome di una funzione si utilizza la forma abbreviata, viene visualizzata
quest'ultima.
Ad esempio, se si scrive "RO", viene visualizzato "RO" e non "ROUND".

- Priorità delle operazioni


<1> Funzioni
<2> Operazioni moltiplicative (*, /, AND)
<3> Operazioni additive (+, -, OR, XOR)
Esempio) #1=#2+#3*SIN[#4];

<1>

<2>
<1>, <2> e <3> indicano la sequenza
<3> delle operazioni.

- Annidamento delle parentesi quadre


Per modificare la priorità di esecuzione delle operazioni, si usano le parentesi quadre. Possono essere
annidati fino a cinque livelli di parentesi quadre, comprese quelle usate nelle funzioni. Se viene superata la
profondità di cinque livelli, si ha l'allarme PS0118.
Esempio) #1=SIN [ [ [#2+#3] *#4 +#5] *#6];

<1>
<2>
<3>
<4>
<5> i numeri da <1> a <5> indicano la
sequenza delle operazioni.

Limitazioni
• Avvertenze relative alla riduzione della precisione
Quando il bit 0 (F0C) del parametro N. 6008 è 0
• Addizione e sottrazione
Quando ad un valore assoluto viene sommato o sottratto un altro valore assoluto, l'errore relativo può
diventare maggiore o uguale a 10-15.
Ad esempio, assumiamo che durante il processo di calcolo le variabili #1 e #2 vengano ad avere i
seguenti valori reali:
(Questi valori sono esempi di ciò che accade durante il processo di calcolo e non possono essere
specificati in un programma.)
#1=9876543210.987654321
#2=9876543210.987657777
L'operazione #2-#1 non può generare il risultato indicato qui sotto:
#2-#1=0.000003456
Questo perché la precisione delle variabili macro è di 15 cifre decimali. Con questa precisione, i valori
di #1 e di #2 diventano:
#1=9876543210.987650000
#2=9876543210.987660000
(In realtà, dato che vengono processati in formato binario, i valori effettivi sono leggermente diversi.)
Di conseguenza il risultato è:
#2-#1=0.000010000
con un errore relativamente grande.

- 214 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

• Espressioni logiche
E' opportuno tenere conto degli errori che possono verificarsi nell'esecuzione di espressioni
condizionali quali EQ, NE, GT, LT, GE e LE in quanto esse vengono fondamentalmente processate
allo stesso modo dell'addizione e della sottrazione. Ad esempio, se per decidere se le variabili #1 e #2
dell'esempio precedente sono uguali si utilizza la seguente espressione, è possibile che la decisione
presa non sia corretta.
IF [#1 EQ #2]
Valutare invece la differenza tra le due variabili come segue:
IF [ABS [#1-#2]LT 0.1]
assumendo che le due variabili siano uguali se la loro differenza non eccede la tolleranza accettabile.
• Funzioni trigonometriche
L'errore assoluto delle funzioni trigonometriche è garantito. Però, l'errore relativo è maggiore o uguale
a 10-15. Fare molta attenzione alle moltiplicazioni ed alle divisioni eseguite dopo una funzione
trigonometrica.
• Funzione FIX
Quando al risultato di un'operazione si applica la funzione FIX, fare molta attenzione alla precisione.
Ad esempio, alla fine della sottostante sequenza di operazioni il valore di #3 può non essere 2.
N10 #1=0.002;
N20 #2=#1*1000;
N30 #3=FIX[#2];
Questo perché il risultato di N20 può essere non
#2=2.0000000000000000
ma un valore leggermente più piccolo di 2, come:
#2=1.9999999999999997
Per evitare questo tipo di errore, specificare N30 come segue:
N30 #3=FIX[#2+0.001];
Normalmente, specificare la funzione FIX come segue:
FIX[espressione] → FIX[espressione ±ε]
(Specificare +ε quando il valore di <espressione> è positivo e specificare -ε quando è negativo; per ε
specificare 0.1, 0.01, 0.001, ... come è necessario.)

NOTA
Il risultato della funzione esponenziale #i=EXP[#j]; va in overflow quando #j è
maggiore di circa 790.

Quando il bit 0 (F0C) del parametro N. 6008 è 1


Quando viene eseguita un'operazione può aversi un errore.

Tabella 14.3 (b) Errori di esecuzione delle operazioni


Operazione Errore medio Errore massimo Tipo di errore
-10 -10
a = b*c 1.55×10 4.66×10 Errore relativo
a=b/c 4.66×10
-10
1.88×10
-9
ε
a= b 1.24×10
-9
3.73×10
-9 a

a=b+c 2.33×10
-10
5.32×10
-10 ε ε
MIN
b , c
a=b–c
-9 -8
a = SIN [ b ] 5.0×10 1.0×10 Errore assoluto
a = COS [ b ] ε gradi
-6 -6
a = ATAN [ b ] / [ c ] 1.8×10 3.6×10

- 215 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

NOTA
1 L'errore relativo dipende dal risultato dell'operazione.
2 Considerare il minore dei due.
3 L'errore assoluto è costante, indipendentemente dal risultato dell'operazione.
4 La funzione TAN esegue SIN/COS.
5 Notare che per il logaritmo naturale #i=LN[#j]; e per la funzione esponenziale
#i=EXP[#j];, è possibile avere un errore relativo maggiore o uguale a 10-8.
6 Il risultato della funzione esponenziale #i=EXP[#j]; va in overflow quando #j è
maggiore di circa 110.

• La precisione dei valori delle variabili è di circa 8 cifre decimali. Se vengono eseguite l'addizione o la
sottrazione di numeri molto grandi, può non essere ottenuto il risultato che ci si aspetta.
Esempio:
Se si assegnano alle variabili #1 e #2 i seguenti valori:
#1=9876543210123.456
#2=9876543277777.777
i valori delle variabili diventano:
#1=9876543200000.000
#2=9876543300000.000
In questo caso, calcolando #3=#2-#1, si ottiene #3=100000.000. (Il risultato effettivo è leggermente diverso
perché l'operazione è eseguita in formato binario.)
• Fare anche attenzione agli errori che possono verificarsi per le espressioni condizionali che utilizzano
EQ, NE, GE, GT, LE e LT.
Esempio:
IF[#1 EQ #2] è influenzata dall'errore di #1 e #2 e può dar luogo ad una decisione errata.
Quindi, invece di confrontare le due variabili, testarne la differenza con IF[ABS[#1-#2] LT 0.001],
assumendo che il valore delle due variabili sia lo stesso se la loro differenza è minore di un valore limite
(in questo caso, 0.001).
• Fare anche attenzione nell'arrotondare un valore per difetto.
Esempio:
Quando si calcola #2=#1*1000 e la variabile #1 contiene 0.002, il risultato non è esattamente 2, ma
è1.99999997.
In questo caso, se successivamente viene eseguito #3=FIX[#2];, il valore della variabile #3 non sarà 2.0 ma
1.0.
Eseguire l'arrotondamento per difetto dopo aver corretto l'errore in modo che il risultato sia maggiore del
numero atteso o specificarlo come segue:
#3=FIX[#2+0.001]
#3=ROUND[#2]

- Parentesi quadre
In una espressione, devono essere utilizzate le parentesi quadre([ ]).
Le parentesi tonde ( ) sono utilizzate per delimitare i commenti.

- Divisore
Se si specifica una divisione per 0, si ha l'allarme PS0112.

- 216 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.4 LETTURA DEI PARAMETRI


Introduzione
La funzione PRM permette di leggere i parametri.
Formato Note
#i = PRM[ #j, #k ] ; Per i parametri non di tipo asse
#i = PRM[ #j, #k ] / [ #l ] ; Per i parametri di tipo asse

Spiegazioni
- Lettura di un parametro
#i=PRM[#j,#k]
#i=PRM[#j,#k]/[#l]
• Per #j, introdurre il numero di un parametro. Se il parametro non può essere letto, si verifica l'allarme
PS0119, "VALORE ARGOMENTO FUORI DAI LIMITI".
• Per #k, specificare il numero (da 0 a 7) del bit che interessa nel caso di un parametro di tipo bit. Se
viene specificato #k, viene letto il bit corrispondente. Se il numero di bit non è specificato, vengono
letti tutti i bit. Per i parametri non di tipo bit, il numero di bit viene ignorato.
• Per #l, specificare il numero asse (da 1 a 5) nel caso di un parametro per asse. Se il parametro da
leggere è un parametro per asse e #l non viene specificato, si verifica l'allarme PS0119. Per i parametri
non di tipo per asse, #1 può essere omesso insieme alla '/'.

Esempio
1. Lettura del bit 0 (MIR) del parametro di tipo bit per asse N. 0012 del terzo asse
Se parametro N. 0012 (terzo asse) = 10000001
#2=12 ; Numero del parametro
#3=0 ; Numero del bit
#4=3 ; Numero dell'asse
Lettura di tutti i bit
#1=PRM[#2]/[#4] ; #1=10000001
Lettura del bit specificato
#1=PRM[#2, #3]/[#4] ; #1=1

2. Lettura del parametro di tipo per asse N. 1322 del quarto asse
#2=1322 ; Numero del parametro
#4=4 ; Numero dell'asse
#1=PRM[#2]/[#4] ;

3. Lettura del bit 2 (SBP) del parametro di tipo bit N. 3404


Se Parametro N. 3404 = 10010000
#2=3404 ; Numero del parametro
#3=2 ; Numero del bit
Lettura di tutti i bit
#1=PRM[#2] ; #1=10010000
Lettura del bit specificato
#1=PRM[#2,#3] ; #1=0

- 217 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.5 FRASI MACRO E FRASI NC


I seguenti blocchi sono frasi macro:
• Blocchi contenenti un'operazione aritmetica o logica (=)
• Blocchi contenenti una frase di controllo (come GOTO, DO, END)
• Blocchi contenenti un comando di richiamo macro (come G65, G66, G67, richiamo macro con
codice G o M))

Tutti gli altri blocchi sono frasi NC.

Spiegazioni
- Differenze fra le frasi macro e le frasi NC
• Per le frasi macro, anche se è attivo il modo blocco singolo, la macchina non si arresta. Però, se il bit
5(SBM) del parametro N. 6000 è 1, l'arresto in blocco singolo viene eseguito anche per le frasi macro.

M
• I blocchi macro non sono visti come blocchi senza movimento nel modo compensazione raggio
utensile.

- Frasi NC aventi le stesse proprietà delle frasi macro


• Se un blocco contiene il richiamo di un sottoprogramma (M98, un codice M che richiama un
sottoprogramma o un codice T che richiama un sottoprogramma) e non contiene altri indirizzi oltre a
O, N, P o L, quel blocco ha le stesse proprietà di una frase macro.
• Se un blocco contiene M99 e nessun altro indirizzo oltre a O, N, P o L, quel blocco ha le stesse
proprietà di una frase macro.

- 218 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.6 SALTI E RIPETIZIONI


Il flusso del programma può essere controllato usando frasi come GOTO e IF. Si possono usare tre tipi di
salti e ripetizioni:

Salti e GOTO (salto incondizionato)


ripetizioni IF (salto condizionato: se ..., allora...)
WHILE (ripetizione mentre ...)

14.6.1 Salto incondizionato (frase GOTO)


Può essere comandato un salto ad uno specifico numero di sequenza (n). Se il numero di sequenza
specificato è fuori dall'intervallo 1..99999, si ha l'allarme PS1128. Il numero di sequenza può essere
specificato usando un'espressione.

GOTOn ; n: Numero di sequenza (da 1 a 99999)

Esempio:
GOTO 1;
GOTO #10;

PERICOLO
Non specificare più blocchi con lo stesso numero di sequenza in un solo
programma. La specifica di tali blocchi può essere molto pericolosa perché in tal
caso la destinazione della frase GOTO è indefinita.

NOTA
1 Un salto all'indietro richiede più tempo di un salto in avanti.
2 Nella destinazione di GOTOn, cioè nel blocco che ha il numero di sequenza n, il
numero di sequenza deve essere all'inizio del blocco. Altrimenti, il salto non può
essere eseguito.

14.6.2 Frase GOTO con numeri di sequenza memorizzati


Ogni volta che in una macro viene eseguita una frase GOTO, il numero di sequenza viene cercato ad alta
velocità tra quelli memorizzati alla precedente esecuzione dei blocchi corrispondenti.
Un "numero di sequenza memorizzato durante la precedente esecuzione del blocco corrispondente" è un
numero di sequenza unico all'interno dello stesso programma o del sottoprogramma nel quale è stato
eseguito.
Il tipo di memorizzazione dipende dal valore dei seguenti parametri.
(1) Quando il bit 1 (MGO) del parametro N. 6000 è 1
• Tipo fisso: Vengono memorizzati fino a 20 numeri di sequenza dall'inizio del funzionamento.
I numeri di sequenza sono memorizzati quando vengono eseguiti i blocchi
corrispondenti.
(2) Quando il bit 4 (HGO) del parametro N. 6000 è 1
• Tipo variabile: Vengono memorizzati fino a 30 numeri di sequenza specificati prima
dell'esecuzione della frase GOTO. I numeri di sequenza sono memorizzati
quando vengono eseguiti i blocchi corrispondenti.
• Tipo storico: Vengono memorizzati fino a 10 numeri di sequenza. I numeri di sequenza sono
memorizzati durante la ricerca eseguita precedentemente in seguito ad una frase
GOTO.

- 219 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

I numeri di sequenza memorizzati vengono cancellati nei seguenti casi:


• Immediatamente dopo l'accensione
• Dopo un reset
• Esecuzione del programma dopo la registrazione o l'editazione (comprese l'editazione in background e
l'editazione in MDI)

PERICOLO
Non specificare più blocchi con lo stesso numero di sequenza in un solo
programma.
E' molto pericoloso specificare il numero di sequenza utilizzato come
destinazione del salto prima e dopo la specifica della frase GOTO: quando la
GOTO viene eseguita, la destinazione del salto varia come è indicato qui sotto.
Quando il bit 1 (MGO) o il bit 4 (HGO) del Quando il bit 1 (MGO) e il bit 4 (HGO) del
parametro N. 6000 sono 1 parametro N. 6000 sono 0
:
N10; Viene eseguito un salto al N10;
numero di sequenza N10
: Viene eseguito un salto al
che precede la GOTO.
GOTO10; GOTO10; numero di sequenza N10
: : successivo alla GOTO.
N10; N10;

Quando il bit 1 (MGO) o il bit 4 (HGO) del parametro N. 6000 sono 1 e viene
eseguita la frase GOTO, è possibile che il numero di sequenza di destinazione non
sia compreso tra quelli memorizzati precedentemente. In questo caso, viene
eseguito un salto al numero di sequenza N10 che segue la frase GOTO
(come quando ambedue i bit sono 0).

NOTA
Per i programmi esterni letti ed eseguiti in DNC la memorizzazione dei numeri di
sequenza non ha luogo.
Per i programmi residenti in memoria ed eseguiti in seguito ad un richiamo di
sottoprogrammi, ha luogo la memorizzazione dei numeri di sequenza.

AVVERTENZA
In base alle limitazioni della frase GOTO, non possono essere eseguiti salti a
numeri di sequenza contenuti in un ciclo DO-END. Se viene eseguito un
programma per il quale si verifica un salto ad un numero di sequenza interno ad
un ciclo, l'esecuzione può essere diversa a seconda che sia o non sia utilizzata la
frase GOTO con numeri di sequenza memorizzati.

- 220 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.6.3 Salto condizionato (Frase IF)


Dopo IF, specificare un'espressione condizionale.

IF[<espressione condizionale>]GOTOn
Se la condizione specificata è soddisfatta, viene eseguito un salto al numero di sequenza indicato.
Se la condizione non è soddisfatta, viene eseguito il blocco successivo.

Se il valore della variabile #1 è maggiore di 10, viene eseguito un salto al numero di sequenza N2.

Se la condizione IF [#1 GT 10] GOTO 2 ;


non è soddisfatta
Processo Se la condizione è soddisfatta

N2 G00 G91 X10.0 ;


:

IF[<espressione condizionale>]THEN
Se la condizione è soddisfatta, viene eseguita la frase macro specificata immediatamente dopo THEN.
E' possibile condizionare una sola frase macro.

Se le variabili #1 e #2 hanno lo stesso valore, alla variabile #3 viene assegnato zero.


IF[#1 EQ #2] THEN#3=0 ;

Se #1 e #2 sono uguali ed anche #3 e #4 sono uguali, alla variabile #5 viene assegnato zero.
IF[[#1 EQ #2] AND [#3 EQ #4]] THEN #5 = 0 ;

Se #1 e #2 sono uguali oppure sono uguali #3 e #4, alla variabile #5 viene assegnato zero.
IF[[#1 EQ #2] OR [#3 EQ #4]] THEN #5 = 0 ;

Spiegazioni
- <Espressioni condizionali>
Le espressioni condizionali possono essere "semplici" o "complesse". In un'espressione condizionale
semplice, tra le due variabili o tra la variabile e la costante da confrontare figura uno degli operatori
relazionali descritti nella Tabella 14.5 (a). In luogo di una variabile è possibile utilizzare una <espressione>.
In un'espressione condizionale complessa vengono eseguite una AND ( AND logico), una OR (OR logico)
o una XOR (OR esclusivo) tra i risultati di più espressioni condizionali semplici.
- Operatori relazionali
Gli operatori logici sono costituiti da due lettere e si usano per confrontare due valori allo scopo di
determinare se sono uguali o se uno è più grande o più piccolo dell'altro. Il segno uguale (=) ed i segni
maggiore/minore (>, <) non possono essere utilizzati come operatori relazionali.

Tabella 14.6 (a) Operatori relazionali


Operatore Significato
EQ Uguale a (=)
NE Non uguale a (≠)
GT Maggiore di (>)
GE Maggiore di o uguale a (≥)
LT Minore di (<)
LE Minore di o uguale a (≤)

- 221 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Esempio di programma
Il seguente esempio, trova la somma dei numeri da 1 a 10.

O9500;
#1=0 ; ............................... Valore iniziale della variabile usata per il risultato
#2=1 ; ............................... Valore iniziale della variabile usata come addendo
N1 IF[#2 GT 10] GOTO 2 ; Salto a N2 se l'addendo è maggiore di10
#1=#1+#2 ; ....................... Calcolo per trovare la somma
#2=#2+1; .......................... Addendo successivo
GOTO 1; ........................... Salto incondizionato al blocco N1
N2 M30; ............................... Fine programma

14.6.4 Ripetizione (FRASE WHILE)


Dopo WHILE, specificare un'espressione condizionale. Finché è soddisfatta la condizione specificata,
viene eseguita la porzione di programma da DO a END. Quando la condizione non è soddisfatta,
l'esecuzione del programma continua dal blocco immediatamente successivo a END.
WHILE [espressione condizionale] DO m ; (m=1,2,3)

Se la Se la
Processo
condizione condizione è
non è soddisfatta
soddisfatta
END m ;
:

Spiegazioni
Finché è soddisfatta la condizione specificata, viene eseguita la porzione di programma da DO a END.
Quando la condizione non è soddisfatta, l'esecuzione del programma continua dal blocco immediatamente
successivo a END. Si applica lo stesso formato della frase IF. Il numero che segue DO e END identifica il
ciclo. Si possono usare i numeri 1, 2 e 3. Se si usa un numero diverso da 1, 2 o 3, si ha l'allarme PS0126.

- Annidamento
I numeri di identificazione (da 1 a 3) in un ciclo DO - END possono essere usati tante volte quante sono
necessarie. Però, se un programma include dei cicli incrociati (cicli DO-END sovrapposti), si ha l'allarme
PS0124.

- 222 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

1. I numeri di identificazione (1, 2 o 3) 3. I cicli DO possono essere annidati


possono essere usati tante volte fino a tre livelli.
quanto è necessario.
WHILE [ … ] DO 1 ; WHILE [ … ] DO 1 ;
:
Processo WHILE [ … ] DO 2 ;
:
END 1 ;
WHILE [ … ] DO 3 ;
:
WHILE [ … ] DO 1 ; Processo

Processo END 3 ;
:
END 1 ;
END 2 ;
:
:
2. I cicli DO non possono END 1;
intersecarsi.
4. Il controllo può essere trasferito
WHILE [ … ] DO 1 ; all'esterno del ciclo.
Processo
WHILE [ … ] DO 1 ;
WHILE [ … ] DO 2 ;
IF [ … ] GOTO n ;
:
END 1; END 1;

Processo Nn

END 2 ;
5. Non può essere eseguito un salto
dall'esterno all'interno di un ciclo.

IF [ … ] GOTO n ;
:

WHILE [ … ] DO 1 ;
:
Nn … ;

END 1;

Limitazioni
- Cicli infiniti
Se viene specificato DO n senza specificare WHILE, si ha un ciclo DO-END infinito

- Tempo di elaborazione
Quando viene eseguita una frase GOTO, viene cercato il numero di sequenza specificato. Per questa
ragione, il salto all'indietro richiede più tempo del salto in avanti. L'uso della frase WHILE per comandare
le ripetizioni riduce il tempo di esecuzione del programma.

- Variabili non definite


Nelle espressioni condizionali che usano EQ e NE, i valori <nulla> e zero sono diversi. Nelle altre
espressioni condizionali, il valore <nulla> è visto come zero.
Esempio di programma
Il seguente esempio, trova la somma dei numeri da 1 a 10.

O0001 ;
#1=0;
#2=1;
WHILE[#2 LE 10]DO 1;
#1=#1+#2;
#2=#2+1;
END 1;
M30 ;

- 223 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.7 RICHIAMO DELLE MACRO


Un programma macro può essere richiamato usando uno dei seguenti metodi. Questi metodi possono essere
grossolanamente divisi in due tipi: richiami macro e richiami sottoprogramma
Un programma macro può anche essere richiamato durante il funzionamento in MDI utilizzando gli stessi
metodi.

Richiamo macro Richiamo semplice (G65)


Richiamo modale (G66, G67)
Richiamo macro con codice G
Richiamo macro con codice M
Richiamo sottoprogramma Richiamo sottoprogramma con codice M
Richiamo sottoprogramma con codice T
Richiamo sottoprogramma con uno specifico codice

Limitazioni
- Annidamento di richiami
I richiami macro possono essere annidati fino a cinque livelli ed i richiami sottoprogramma possono essere
annidati fino a dieci livelli; complessivamente è possibile arrivare fino a 15 livelli di annidamento.

- Differenze fra richiamo macro e richiamo sottoprogramma


Le differenze fra il richiamo macro (G65, G66, Ggg, o Mmm) ed il richiamo sottoprogramma
(M98, Mmm, o Ttt) sono le seguenti:
• Un richiamo macro può includere argomenti (dati passati alla macro), mentre un richiamo
sottoprogramma non può.
• Se un blocco contenente un richiamo macro contiene anche altri comandi NC (come G01, X100,
G65 Pp), si verifica l'allarme PS0127.
• Se un blocco contenente un richiamo sottoprogramma contiene anche altri comandi NC (come G01,
X100, M98 Pp), il sottoprogramma viene richiamato dopo l'esecuzione degli altri comandi.
• La macchina non si ferma in blocco singolo alla fine dei blocchi di richiamo macro.
Se un blocco contenente un richiamo sottoprogramma contiene anche altri comandi NC (come G01,
X100, M98 Pp), nel modo blocco singolo la macchina si ferma alla fine dell'esecuzione del blocco.
• Con un richiamo macro, il livello delle variabili locali cambia. Con un richiamo sottoprogramma, il
livello delle variabili locali non cambia. (Riferirsi a "livelli delle variabili locali" nel paragrafo
Limitazioni della sottosezione 14.6.1.)

14.7.1 Richiamo semplice (G65)


Quando viene specificato G65, viene richiamata la macro specificata con l'indirizzo P. E' possibile passare
dei dati (argomenti) alla macro.

G65 P p L l <specifica-argomenti> ; P : Numero del programma da richiamare


l : Numero di ripetizioni (1 per default)
Argomenti : dati passati alla macro

O0001 ; O9010
: #3=#1+#2 ;
G65 P9010 L2 A1.0 B2.0 ; IF [#3 GT 360] GOTO 9 ;
: G00 G91 X#3 ;
M30 ; N9 M99 ;

- 224 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Spiegazioni
- Richiamo
• Dopo G65, specificare con l'indirizzo P il numero del programma macro da richiamare.
• Se è richiesto un numero di ripetizioni, specificarlo dopo l'indirizzo L (1 .. 999999999). Se L è omesso,
viene assunto 1.
• Se sono specificati degli argomenti, i rispettivi valori sono assegnati alle corrispondenti variabili
locali.

- Specifica degli argomenti


Sono disponibili due tipi di specifica degli argomenti. La specifica di tipo I usa le lettere diverse da G, L, O,
N e P una volta ciascuna. La specifica di tipo II usa le lettere A, B e C una volta ciascuna e le lettere I, J e K
fino a 10 volte. Il tipo di specifica è riconosciuto automaticamente in base alle lettere utilizzate.

• Specifica argomenti I
Indirizzo Variabile Indirizzo Variabile Indirizzo Variabile
numero numero numero
A #1 I #4 T #20
B #2 J #5 U #21
C #3 K #6 V #22
D #7 M #13 W #23
E #8 Q #17 X #24
F #9 R #18 Y #25
H #11 S #19 Z #26

• Gli indirizzi G, L, N, O e P non possono essere utilizzati.


• Gli indirizzi non necessari possono essere omessi. Il valore delle variabili locali corrispondenti agli
indirizzi omessi è "nullo".
• Non è necessario specificare gli indirizzi in ordine alfabetico. Essi sono conformi al formato degli
indirizzi parola.
I, J e K devono, però, essere specificati in ordine alfabetico.
Se il bit 7 (IJK) del parametro N. 6008 è 1, per I, J e K viene utilizzata sempre la specifica argomenti I.

Esempio
- Se il bit 7 (IJK) del parametro N. 6008 è 0, I_J_K_ significa sempre che I = #4, J =
#5 e K = #6 mentre K_J_I_ significa K = #6, J = #8 e I= #10 perché è utilizzata la
specifica argomenti II.
- Se il bit 7 (IJK) del parametro N. 6008 è 1, K_J_I_ significa che I = #4, J = #5 e K
= #6, che è come I_J_K_, perché è utilizzata la specifica argomenti I.

• Specifica argomenti II
La specifica argomenti II usa le lettere A, B e C una volta ciascuna e usa le lettere I, J e K fino a 10
volte. La specifica argomenti II si usa per passare come argomenti valori quali le coordinate
tridimensionali.

Indirizzo Variabile Indirizzo Variabile Indirizzo Variabile


numero numero numero
A #1 IK3 #12 J7 #23
B #2 I4 #13 K7 #24
C #3 J4 #14 I8 #25
I1 #4 K4 #15 J8 #26
J1 #5 I5 #16 K8 #27
K1 #6 J5 #17 I9 #28
I2 #7 K5 #18 J9 #29
J2 #8 I6 #19 K9 #30
K2 #9 J6 #20 I10 #31
I3 #10 K6 #21 J10 #32
J3 #11 I7 #22 K10 #33

- 225 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

• Gli indici delle lettere I, J e K usati nella tabella per indicare l'ordine di specifica dell'argomento non
devono essere scritti nel programma.

NOTA
Se il bit 7 (IJK) del parametro N. 6008 è 1, non è possibile utilizzare specifica
argomenti II.

Limitazioni
- Formato
G65 deve essere specificato prima degli argomenti.

- Uso contemporaneo delle specifiche argomenti I e II


Il CNC identifica internamente la specifica argomenti I e la specifica argomenti II. Se vengono usate
entrambe contemporaneamente, il tipo di specifica usato per ultimo ha la precedenza.
[Esempio]
G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000 ;

(Variabili)
#1:1.0
#2:2.0
#3:
#4:-3.0
#5:
#6:
#7:4.0 5.0

Se, come in questo esempio, sono specificati ambedue gli argomenti I4.0 e D5.0, corrispondenti alla
variabile #7, è valido il secondo, D5.0.

- Posizione del punto decimale


Le unità degli argomenti passati senza punto decimale corrispondono all'incremento minimo di immissione
di ciascun indirizzo.

AVVERTENZA
Il valore di un argomento passato senza punto decimale può essere diverso a
seconda della configurazione del sistema. E' buona pratica usare il punto
decimale per mantenere la compatibilità dei programmi.

M
Se viene specificato un valore senza il punto decimale, il numero delle posizioni decimali viene determinato
come segue:

Indirizzo Non indirizzo asse Indirizzo asse


D, E, H, M, S, o T 0
(NOTA 2)
QoR α
(NOTA 2) (NOTA 3)
A, C, I, J, K, X, Y, o Z α β
(NOTA 1) (NOTA 3)
B, U, V , or W 0 β
Seconda funzione ausiliaria γ
(NOTA 4)

- 226 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Indirizzo Programmazione in millimetri Programmazione in pollici


F (modo G93) 3
F (modo G94) 0 2
F (modo G95) 2
(NOTA 5)
4
(NOTA 5)

NOTA
1 Quando V viene utilizzato in un richiamo con uno specifico indirizzo, il numero delle
posizioni decimali viene determinato in base all'impostazione dell'asse di riferimento.
2 α viene determinato in base al sistema di incrementi dell'asse di riferimento (l'asse
specificato con il parametro N. 1031), come è indicato nella tabella della NOTA 4.
3 β viene determinato in base al sistema di incrementi dell'indirizzo asse
corrispondente, come è indicato nella seguente tabella.
Asse lineare Asse lineare
Sistema di incrementi Asse rotativo
(programmazione in millimetri) (programmazione in pollici)
IS-A 2 3 2
IS-B 3 4 3
IS-C 4 5 4
Quando il bit 7 (IPR) del parametro N. 1004 è 1, vengono utilizzati i suddetti valori
diminuiti di 1. Però, se il sistema di incrementi di un asse è IS-A, l'impostazione del bit
7 (IPR) del parametro N. 1004 non ha effetti.
Per gli assi che usano la notazione del punto decimale tipo calcolatrice tascabile
(il bit 0 (ADX) del parametro N. 3455 è 1), il numero delle posizioni decimali è 0.
Se il bit 7 (EAP) del parametro N. 3452 è 1, però, questo tipo di notazione del punto
decimale non ha effetto ed il numero delle posizioni decimali è quello indicato nella
soprastante tabella.
4 γ viene determinato in base al sistema di incrementi dell'asse di riferimento (l'asse
specificato con il parametro N. 1031), come è indicato nella sottostante tabella. (Se il
bit 7 (BDX) del parametro N. 3450 è 1, anche γ è determinato allo stesso modo.)
AUP AUP(3450#0) = 1
Sistema di incrementi
(No.3450#0) AUX (No.3405#0) = 0 AUX (No.3405#0) = 1
dell'asse di riferimento
=0 mm pollici mm pollici
IS-A 2 2 3
IS-B 0 3 3 4
IS-C 4 4 5

5 Se il bit 1 (FR3) del parametro N. 1405 è 1, i valori indicati in tabella devono essere
aumentati di 1.
6 Se è utilizzata la notazione del punto decimale tipo calcolatrice tascabile (il bit 0 (DPI)
del parametro N. 3401 è 1), il numero delle posizioni decimali è 0.

T
Se viene specificato un valore senza il punto decimale, il numero delle posizioni decimali viene determinato
come segue:

Indirizzo Non indirizzo asse Indirizzo asse


H, M, Q, S, o T 0
(NOTA 1)
R α
(NOTA 6)
D 0/α
(NOTA 1) (NOTA 2)
A, B, C, I, J, K, U, V, W, X, Y, o Z α β
Seconda funzione ausiliaria γ
(NOTA 3)

- 227 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Indirizzo Programmazione in millimetri Programmazione in pollici


(NOTA 4) (NOTA 4)
E, F (modo G98) 0 2
E, F (modo G99) 4 6

NOTA
1 α viene determinato in base al sistema di incrementi dell'asse di riferimento (l'asse
specificato con il parametro N. 1031), come è indicato nella tabella della NOTA 2.
2 β viene determinato in base al sistema di incrementi dell'indirizzo asse
corrispondente, come è indicato nella seguente tabella.
Asse lineare Asse lineare
Sistema di incrementi Asse rotativo
(programmazione in millimetri) (programmazione in pollici)
IS-A 2 3 2
IS-B 3 4 3
IS-C 4 5 4
Quando il bit 7 (IPR) del parametro N. 1004 è 1, vengono utilizzati i suddetti valori
diminuiti di 1. Però, se il sistema di incrementi di un asse è IS-A, l'impostazione del bit
7 (IPR) del parametro N. 1004 non ha effetti.
Per gli assi che usano la notazione del punto decimale tipo calcolatrice tascabile
(il bit 0 (ADX) del parametro N. 3455 è 1), il numero delle posizioni decimali è 0.
Se il bit 7 (EAP) del parametro N. 3452 è 1, però, questo tipo di notazione del punto
decimale non ha effetto ed il numero delle posizioni decimali è quello indicato nella
soprastante tabella.
3 γ viene determinato in base al sistema di incrementi dell'asse di riferimento (l'asse
specificato con il parametro N. 1031), come è indicato nella sottostante tabella. (Se il
bit 7 (BDX) del parametro N. 3450 è 1, anche γ è determinato allo stesso modo.)
AUP(3450#0) = 1
Sistema di incrementi AUP (No.3450#0)
AUX (No.3405#0) = 0 AUX (No.3405#0) = 1
dell'asse di riferimento =0
mm pollici mm pollici
IS-A 2 2 3
IS-B 0 3 3 4
IS-C 4 4 5

4 Se il bit 2 (FM3) del parametro N. 1404 è 1, i valori indicati in tabella devono essere
aumentati di 3.
5 Se è utilizzata la notazione del punto decimale tipo calcolatrice tascabile (il bit 0 (DPI)
del parametro N. 3401 è 1), il numero delle posizioni decimali è 0.
6 Se il bit 2 (DPD) del parametro N. 6019 è 0, il numero delle posizioni decimali è 0.
Se il bit 2 (DPD) del parametro N. 6019 è 1, il numero delle posizioni decimali è α.

- Annidamento di richiami
I richiami macro possono essere annidati fino ad una profondità di cinque livelli, inclusi i richiami semplici
(G65) e i richiami modali (G66). Complessivamente, i richiami macro ed i richiami sottoprogramma
possono arrivare a 15 livelli.
Un programma macro può anche essere richiamato durante il funzionamento in MDI utilizzando gli stessi
metodi.

- 228 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Livelli di variabili locali


• Per l'annidamento sono disponibili le variabili locali per i livelli da 0 a 5.
• Il livello del programma principale è il livello 0.
• Ogni volta che viene richiamata una macro (con G65, G66, Ggg, o Mmm), il livello delle variabili
locali aumenta di 1. I valori delle variabili locali del livello precedente sono salvati nel CNC.
• Quando in una macro viene eseguito M99, il controllo ritorna al programma richiamante, il livello
delle variabili locali diminuisce di uno e i valori delle variabili locali precedentemente salvati sono
ripristinati.
Programma principale Macro Macro Macro Macro Macro
(livello 0) (livello 1) (livello 2) (livello 3) (livello 4) (livello 5)

O0001 ; O0002 ; O0003 ; O0004 ; O0005 ; O0006


: : : : : :
#1=1 ; : : : : :
G65 P2 A2 ; G65 P3 A 3; G65 P4 A4 ; G65 P5 A5 ; G65 P6 A6 ; :
: : : : : :
: : : : : :
M30 ; M99; M99; M99; M99; M99;

Variabili locali
(Livello 1) (Livello 2) (Livello 3) (Livello 4) (Livello 5)
(livello 0)
#1 1 2 3 4 #1 5 #1 6
#1 #1 #1
: : : : : : : : : : : :
: : : : : :
#33 #33 #33 #33 #33 #33
Variabili comuni

#100-, #500- Variabili che possono essere lette e scritte da macro a livelli diversi

Esempio di programma (cerchio di fori equidistanti)


M
Viene creata una macro che esegue H fori a intervalli di B gradi dopo un angolo iniziale A lungo la
circonferenza un cerchio di raggio I.
Il centro del cerchio è (X, Y). I comandi possono essere specificati in incrementale o in assoluto.
Per eseguire i fori in senso orario, specificare un valore negativo per l'indirizzo B.
H=2
H=3
H=1

H=4 B B

Centro (X,Y)
Raggio I

- 229 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Formato del richiamo


G65 P9100 Xx Yy Zz Rr Ff Ii Aa Bb Hh ;

X : Coordinata X del centro del cerchio


(specifica assoluta o incrementale) ..................................................................................... (#24)
Y : Coordinata Y del centro del cerchio
(specifica assoluta o incrementale) ..................................................................................... (#25)
Z : Profondità del foro .............................................................................................................. (#26)
R : Coordinata del punto di avvicinamento .............................................................................. (#18)
F : Velocità di avanzamento ....................................................................................................... (#9)
I : Raggio del cerchio ................................................................................................................ (#4)
A : Angolo iniziale ...................................................................................................................... (#1)
B : Angolo incrementale
(esecuzione dei fori in senso orario se è negativo) ............................................................... (#2)
H : Numero dei fori ................................................................................................................... (#11)

- Programma che richiama la macro


O0002;
G90 G92 X0 Y0 Z100.0 ;
G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500 I100.0 A0 B45.0 H5;
M30;
- Programma macro (programma richiamato)
O9100;
#3=#4003 ; ............................... Salva il codice G del gruppo 3.
G81 Z#26 R#18 F#9 K0; (Nota) .. Ciclo di foratura.
Nota: Si può usare anche L0.
IF [#3 EQ 90] GOTO 1 ; ...... Nel modo G90 salta a N1.
#24=#5001+#24 ; ..................... Calcola la coordinata X del centro.
#25=#5002+#25 ; ................... Calcola la coordinata Y del centro.
N1 WHILE[#11 GT 0]DO 1 ;..... Finché il numero dei fori residui non diventa 0
#5=#24+#4*COS[#1] ; .............. Calcola una posizione di foratura sull'asse X.
#6=#25+#4*SIN[#1] ; ............... Calcola una posizione di foratura sull'asse Y.
G90 X#5 Y#6; ........................... Esegue il posizionamento e la foratura.
#1=#1+#2 ; ............................... Aggiorna l'angolo.
#11=#11-1 ; .............................. Decrementa il numero dei fori.
END 1;
G#3 G80; .................................. Ripristina il codice G originale.
M99;

Significato delle variabili:


Memorizza il codice G del gruppo 3.
#5: Coordinata X del foro successivo
#6: Coordinata Y del foro successivo

- 230 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Esempio di programma (Ciclo di foratura)


T
Muovere l'utensile lungo gli assi X e Z per posizionarlo sul punto iniziale del ciclo. Richiamare la macro
specificando la profondità del foro con gli indirizzi Z o W, la profondità di taglio con l'indirizzo K e la
velocità di avanzamento per la foratura con l'indirizzo F.
Z W

Lavoro

Rapido

- Formato del richiamo


Zz
G65 P9100 Ww Kk Ff ;

Z : Profondità del foro (assoluto)


W : Profondità del foro (incrementale)
K : Profondità di taglio
F : Velocità di avanzamento

- Programma che richiama la macro


O0002;
G50 X100.0 Z200.0 ;
G00 X0 Z102.0 S1000 M03 ;
G65 P9100 Z50.0 K20.0 F0.3 ;
G00 X100.0 Z200.0 M05 ;
M30;

- Programma macro (programma richiamato)


O9100;
#1=0 ; ....................................... Azzera il dato relativo alla profondità del foro corrente.
#2=0 ; ....................................... Azzera il dato relativo alla profondità del foro precedente.
IF [#23 NE #0] GOTO 1 ; ......... In programmazione incrementale, salta a N1.
IF [#26 EQ #0] GOTO 8 ; ......... Se non sono specificati né Z né W, indica un errore.
#23=#5002-#26 ; ...................... Calcola la profondità totale del foro.
N1 #1=#1+#6 ; ............................... Calcola la profondità del foro corrente.
IF [#1 LE #23] GOTO 2 ; .......... Determina se il foro da eseguire è troppo profondo.
#1=#23 ; ................................... Limita la profondità a quella del foro corrente.
N2 G00 W-#2 ; ............................... Porta l'utensile al fondo del foro precedente.
G01 W- [#1-#2] F#9 ; ............... Esegue la foratura.
G00 W#1 ; ................................ Porta l'utensile al punto di inizio della foratura.
IF [#1 GE #23] GOTO 9 ; ......... Controlla se la foratura è completata.
#2=#1 ; ..................................... Memorizza la profondità del foro corrente.
GOTO 1 ;
N9 M99 ;
N8 #3000=1 (NOT Z OR W COMMAND) ; .....Indica un allarme.
- 231 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.7.2 Richiamo modale: Richiamo dopo l'esecuzione di un


comando di movimento (G66)
Dopo il comando di richiamo modale G66, la macro specificata viene richiama alla fine di tutti i blocchi che
specificano un movimento asse. Questo continua finché non viene programmato G67, che cancella il
richiamo macro modale.
G66 P p L l <specifica-argomenti> ; P : Numero del programma da richiamare
l : Numero di ripetizioni (1 per default)
Argomenti : dati passati alla macro

O0001 ; O9100 ;
: :
G66 P9100 L2 A1.0 B2.0 ; G00 Z-#1 ;
G00 G90 X100.0 ; G01 Z-#2 F300 ;
Y200.0 ; :
X150.0 Y300.0 ; :
G67 ; :
: :
M30 ; M99;

Spiegazioni
- Richiamo
• Dopo G66, specificare con l'indirizzo P il numero del programma macro da richiamare.
• Se è richiesto un numero di ripetizioni, specificarlo dopo l'indirizzo L (1 .. 999999999).
• Come nel caso del richiamo semplice (G65), i dati da passare al programma macro si specificano come
argomenti.
• Nel modo G66 è possibile richiamare una macro.

- Cancellazione
G67 cancella il richiamo macro modale. I blocchi successivi non richiamano più la macro specificata dal
precedente blocco G66.

- Annidamento di richiami
I richiami macro possono essere annidati fino ad una profondità di cinque livelli, inclusi i richiami semplici
(G65) e i richiami modali (G66). Complessivamente, i richiami macro ed i richiami sottoprogramma
possono arrivare a 15 livelli.

- 232 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Annidamento di richiami modali


Per un unico richiamo modale (quando G66 viene specificato solo una volta), la macro specificata viene
richiamata ad ogni esecuzione di un comando di movimento. Se vengono annidati più richiami macro
modali, alla fine di un comando di movimento specificato in una macro, viene eseguita la macro del livello
immediatamente superiore.
Le macro vengono richiamate nell'ordine opposto a quello di specifica. Ogni volta che viene specificato
G67, viene cancellata una macro, a partire da quella specificata per ultima.
[Esempio]
G66 P9100 ; O9100 ; O9200 ;
X10.0 ; (1-1) Z50.0 ; (2-1) X60.0 ; (3-1)
G66 P9200 ; M99 ; Y70.0 ; (3-2)
X15.0 ; (1-2) M99;
G67 ; Cancella P9200.
G67 ; Cancella P9100.
X-25.0 ; (1-3)

Sequenza di esecuzione del soprastante programma (i blocchi senza movimento sono omessi)
(1-1) (1-2) (1-3)
(2-1) (3-1) (3-2)
(2-1) (2-1)
* Dopo 1-3 non ci sono richiami macro perché il modo richiamo macro è stato precedentemente
cancellato.

Limitazioni
• I blocchi G66 e G67 devono essere programmati in coppia nello stesso programma. Se G67 viene
specificato quando il modo non è G66, si verifica l'allarme PS1100. Questo allarme può essere evitato
mettendo a 1 il bit 0 (G67) del parametro N. 6000.
• In un blocco G66 non possono essere richiamate macro. Però, vengono impostate le variabili locali
(argomenti).
• G66 deve essere specificato prima degli argomenti.
• Il richiamo macro non può essere specificato in un blocco contenente un codice come quelli delle
funzioni ausiliarie, che non comportano alcun movimento asse.
• Le variabili locali (argomenti) possono essere impostate solo nei blocchi G66. I richiami modali
successivi non reimpostano le variabili locali.

NOTA
Se un blocco per il quale viene eseguito un richiamo modale contiene M99,
questo viene eseguito dopo il richiamo.

- 233 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Esempio di programma
M
La macro di questo esempio esegue le stesse operazioni del ciclo fisso di foratura G81 e il programma
pezzo esegue un richiamo modale. Per semplificare il programma, tutti i dati di foratura sono specificati in
programmazione assoluta.
Il ciclo fisso è costituito dalle seguenti Rapido
operazioni base: Avanzamento in
lavoro
Operazione 1: Posizionamento assi X e Y
Operazione 1 Punto I
Operazione 2: Rapido fino al punto R
Operazione 2 Operazione 4
Operazione 3: Avanzamento in lavoro fino
al punto Z R Punto R

Operazione 4: Rapido fino ai punti R o I Z=0


Operazione 3

Punto Z
Z

- Formato del richiamo


G66 P9110 Zz Rr Ff Ll ;

Z : Coordinata del punto Z (solo programmazione assoluta) ................. (#26)


R : Coordinata del punto R (solo programmazione assoluta) ................ (#18)
F : Velocità di avanzamento .................................................................... (#9)
L : Numero di ripetizioni

- Programma che richiama le macro


O0001;
G28 G91 X0 Y0 Z0;
G92 X0 Y0 Z50.0 ;
G00 G90 X100.0 Y50.0 ;
G66 P9110 Z-20.0 R5.0 F500;
G90 X20.0 Y20.0 ;
X50.0 ;
Y50.0 ;
X70.0 Y80.0 ;
G67;
M30;

- Programma macro (programma richiamato)


O9110;
#1=#4001 ; ............................. Salva G00/G01.
#3=#4003 ; ............................... Salva G90/G91.
#4=#4109 ; ............................... Salva la velocità di avanzamento.
#5=#5003 ; ............................... Salva la coordinata Z all'inizio della foratura.
G00 G90 Z#18 ;........................ Posizionamento al punto R
G01 Z#26 F#9 ; ........................ Avanzamento in lavoro fino al punto Z
IF [#4010 EQ 98] GOTO 1 ; Ritorno al punto I
G00 Z#18 ; ............................... Posizionamento al punto R
GOTO 2 ;
N1 G00 Z#5 ; ..................................... Posizionamento al punto I
N2 G#1 G#3 F#4 ; ............................. Ripristino dei dati modali.
M99;

- 234 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Esempio di programma
T
Questo programma esegue una gola nella posizione specificata.

- Formato del richiamo


G66 P9110 Uu Ff ;

U : Profondità della gola (incrementale)


F : Velocità di avanzamento

- Programma che richiama le macro


O0003 ;
G50 X100.0 Z200.0 ;
S1000 M03 ;
G66 P9110 U5.0 F0.5 ;
G00 X60.0 Z80.0 ;
Z50.0 ;
Z30.0 ;
G67;
G00 X00.0 Z200.0 M05 ;
M30;

- Programma macro (programma richiamato)


O9110;
G01 U-#21 F#9 ;...... Lavora il pezzo.
G00 U#21 ; .............. Ritira l'utensile.
M99;

- 235 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.7.3 Richiamo macro mediante un codice G


Dopo avere definito mediante parametri i codici G utilizzati a questo scopo, specificando uno di questi
codici G è possibile richiamare un programma macro allo stesso modo dei richiami semplici (G65).

O0001 ; O9010
: :
G81 X10.0 Y20.0 Z-10.0 ; :
: :
M30 ; N9 M99 ;

Parametro N. 6050=81

Spiegazioni
E' possibile richiamare un programma macro (da O9010 a O9019) con un codice G (da -9999 a 9999)
assegnando il valore del codice G al parametro corrispondente (dal N. 6050 al N. 6059), allo stesso modo di
G65.

Se il codice G impostato è negativo, viene eseguito un richiamo modale equivalente a G66.


Ad esempio, impostando un parametro in modo che il codice G81 richiami il programma macro O9010, è
possibile richiamare un ciclo specifico dell'utilizzatore, anziché il ciclo G81 standard, senza modificare i
programmi pezzo.

- Corrispondenza fra i parametri ed i numeri dei programmi richiamati


Numero parametro Numero programma
6050 O9010
6051 O9011
6052 O9012
6053 O9013
6054 O9014
6055 O9015
6056 O9016
6057 O9017
6058 O9018
6059 O9019

- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.

- Specifica degli argomenti


Come nel caso dei richiami semplici, sono disponibili due tipi di specifica degli argomenti: specifica
argomenti I e specifica argomenti II. Il tipo di specifica argomenti è riconosciuto automaticamente in base
agli indirizzi utilizzati.

Limitazioni
- Annidamento dei richiami quando si utilizzano i codici G
• Normalmente, per richiamare un altro programma in un programma a sua volta richiamato con un
codice G è possibile utilizzare solo i comandi G65, M98 o G66.
• Però, se il bit 6 (GMP) del parametro N. 6008 è 1, in un programma richiamato da un codice M, da un
codice T o da un codice specifico è possibile eseguire un richiamo mediante codice G.

- 236 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.7.4 Richiamo macro mediante un codice G


(con specifica del numero di codici G utilizzabili)
Impostando il numero del primo codice G utilizzato per richiamare una macro, il numero del primo
programma macro richiamato ed il numero di definizioni, è possibile definire il numero desiderato di codici
G che richiamano una macro.

Spiegazioni
Il numero delle macro richiamabili mediante codice G, corrispondente al numero dei codici G utilizzati per
il richiamo, si specifica con il parametro N. 6040. Il valore numerico assegnato al parametro N. 6038 indica
il primo dei codici G utilizzati ed il numero programma specificato con il parametro N. 6039 indica il primo
programma richiamato. Per disabilitare questa funzione, assegnare 0 al parametro N. 6040.
Se il parametro N. 6038 contiene un codice G negativo, viene eseguito un richiamo modale equivalente a
G66.
Il numero di ripetizioni e gli argomenti si specificano come per i richiami macro mediante codici G.
[Esempio]
Assegnare 900 al parametro N. 6038, 1000 al parametro N. 6039 e 100 al parametro N. 6040.
G900 → O1000
G901 → O1001
G902 → O1002
:
G999 → O1099
Questo esempio definisce 100 richiami macro (semplici). Se il valore del parametro N. 6038 fosse invece
-900, i 100 richiami macro definiti sarebbero modali.

NOTA
1 I richiami definiti con questa impostazione diventano tutti non validi nei seguenti
casi:
<1> Uno dei valori assegnati ai suddetti parametri è fuori dal campo di validità
del parametro.
<2> (Valore del parametro N. 6039 + valore del parametro N. 6040 - 1) > 9999
2 Non è possibile mischiare richiami semplici e richiami modali.
3 Se uno dei codici G specificati con i parametri N. 6050 - 6059 rientra nel gruppo
di codici G determinato da questa impostazione, quel codice G richiama il
programma corrispondente al parametro 6050 - 6059 in cui è specificato.

- 237 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.7.5 Richiamo macro mediante codici M


Tramite parametri è possibile specificare il richiamo non modale (come G65) di specifiche macro tramite
codici M
O0001 ; O9020 ;
: :
M50 A1.0 B2.0 ; :
: :
M30 ; M99;
Parametro N. 6080=50

Spiegazioni
E' possibile richiamare un programma macro da O9020 a O9029con un codice M (da 3 a 99999999)
assegnando il valore del codice M al parametro corrispondente (dal N. 6080 al N. 6089), allo stesso modo
di G65.

- Corrispondenza fra i parametri ed i numeri dei programmi richiamati


Numero parametro Numero programma corrispondente
6080 O9020
6081 O9021
6082 O9022
6083 O9023
6084 O9024
6085 O9025
6086 O9026
6087 O9027
6088 O9028
6089 O9029

Esempio)
Se il parametro N. 6080 è 990, il comando M990 richiama il programma O9020.

- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.

- Specifica degli argomenti


Come nel caso dei richiami semplici, sono disponibili due tipi di specifica degli argomenti: specifica
argomenti I e specifica argomenti II. Il tipo di specifica argomenti è riconosciuto automaticamente in base
agli indirizzi utilizzati.

Limitazioni
• Il codice M utilizzato per richiamare un programma macro deve essere specificato all'inizio del
blocco.
• Normalmente, per richiamare un altro programma in un programma a sua volta richiamato con un
codice M è possibile utilizzare solo i comandi G65, M98 o G66.
• Però, quando il bit 6 (GMP) del parametro N. 6008 è 1, in un programma richiamato mediante codice
M è possibile eseguire un richiamo mediante codice G.

- 238 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.7.6 Richiamo macro mediante un codice M


(con specifica del numero di codici M utilizzabili)
Impostando il numero del primo codice M utilizzato per richiamare una macro, il numero del primo
programma macro richiamato ed il numero di definizioni, è possibile definire il numero desiderato di codici
M che richiamano una macro.

Spiegazioni
Il numero delle macro richiamabili mediante codice M, corrispondente al numero dei codici M utilizzati per
il richiamo, si specifica con il parametro N. 6049. Il valore numerico assegnato al parametro N. 6047 indica
il primo dei codici M utilizzati ed il numero programma specificato con il parametro N. 6048 indica il primo
programma richiamato. Per disabilitare questa funzione, assegnare 0 al parametro N. 6049.
Il numero di ripetizioni e gli argomenti si specificano come per i richiami macro mediante codici M.
[Esempio]
Assegnare 90000000 al parametro N. 6047, 4000 al parametro N. 6048 e 100 al parametro N. 6049.
M90000000 → O4000
M90000001 → O4001
M90000002 → O4002
:
M90000099 → O4099
Questo esempio definisce 100 richiami macro (semplici).

NOTA
1 I richiami definiti con questa impostazione diventano tutti non validi nei seguenti
casi:
<1> Uno dei valori assegnati ai suddetti parametri è fuori dal campo di validità del
parametro.
<2> (Valore del parametro N. 6048 + valore del parametro N. 6049 - 1) > 9999
2 Se uno dei codici M specificati con i parametri N. 6080 - 6089 rientra nel gruppo di
codici M determinato da questa impostazione, quel codice M richiama il
programma corrispondente al parametro 6080 - 6089 in cui è specificato.

- 239 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.7.7 Richiamo sottoprogrammi mediante codici M


Tramite parametri è possibile specificare il richiamo di un sottoprogramma tramite codici M.
Il sottoprogramma può essere richiamato con le stesse modalità del richiamo di sottoprogrammi con M98.

O0001 ; O9001 ;
: :
M03 ; :
: :
M30 ; M99;

Parametro N. 6071=03

Spiegazioni
E' possibile richiamare un sottoprogramma da O9001 a O9009 con un codice M (da 3 a 99999999)
assegnando il valore del codice M al parametro corrispondente (dal N. 6071 al N. 6079), allo stesso modo di
M98.

- Corrispondenza fra i parametri ed i numeri dei programmi richiamati


Numero parametro Numero programma
6071 O9001
6072 O9002
6073 O9003
6074 O9004
6075 O9005
6076 O9006
6077 O9007
6078 O9008
6079 O9009

- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.

- Specifica degli argomenti


Non è possibile specificare argomenti.

- Codici M
I codici M specificati in un programma richiamato mediante codice M sono trattati come codici M normali.

Limitazioni
• Normalmente, per richiamare un altro programma in un programma a sua volta richiamato con un
codice M è possibile utilizzare solo i comandi G65, M98 o G66.
• Però, quando il bit 6 (GMP) del parametro N. 6008 è 1, in un programma richiamato mediante codice
M è possibile eseguire un richiamo mediante codice G.

- 240 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.7.8 Richiamo sottoprogramma mediante un codice M


(con specifica del numero di codici M utilizzabili)
Impostando il numero del primo codice M utilizzato per richiamare un sottoprogramma, il numero del
primo sottoprogramma richiamato ed il numero di definizioni, è possibile definire il numero desiderato di
codici M che richiamano un sottoprogramma.

Spiegazioni
Il numero dei sottoprogrammi richiamabili mediante codice M, corrispondente al numero dei codici M
utilizzati per il richiamo, si specifica con il parametro N. 6046. Il valore numerico assegnato al parametro
N. 6044 indica il primo dei codici M utilizzati ed il numero programma specificato con il parametro
N. 6045 indica il primo programma richiamato. Per disabilitare questa funzione, assegnare 0 al parametro
N. 6046.
[Esempio]
Assegnare 80000000 al parametro N. 6044, 3000 al parametro N. 6045 e 100 al parametro N. 6046.
M80000000 → O3000
M80000001 → O3001
M80000002 → O3002
:
M80000099 → O3099
Questo esempio definisce 100 richiami di sottoprogramma con codici M.

NOTA
1 I richiami definiti con questa impostazione diventano tutti non validi nei seguenti
casi:
<1> Uno dei valori assegnati ai suddetti parametri è fuori dal campo di validità
del parametro.
<2> (Valore del parametro N. 6045 + valore del parametro N. 6046 - 1) > 9999
2 Se uno dei codici M specificati con i parametri N. 6071 - 6079 rientra nel gruppo
di codici M determinato da questa impostazione, quel codice M richiama il
sottoprogramma corrispondente al parametro 6071 - 6079 in cui è specificato.

- 241 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.7.9 Richiamo sottoprogramma mediante codice T


Tramite un parametro è possibile abilitare il richiamo di un sottoprogramma mediante codice T.
Il sottoprogramma viene richiamato ogni volta che nel programma pezzo è specificato un codice T.

O0001 ; O9000 ;
: :
T23 ; :
: :
M30 ; M99;

Bit 5 (TCS) del parametro N. 6001 = 1

Spiegazioni
- Richiamo
Se il bit 5 (TCS) del parametro N. 6001 viene messo a 1, ogni volta che il programma pezzo specifica un
codice T viene richiamato il sottoprogramma O9000. Il codice T specificato dal programma è assegnato
alla variabile comune #149.

- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.

- Specifica degli argomenti


Non è possibile specificare argomenti.

Limitazioni
• Normalmente, per richiamare un altro programma in un programma a sua volta richiamato con un
codice T è possibile utilizzare solo i comandi G65, M98 o G66.
• Però, quando il bit 6 (GMP) del parametro N. 6008 è 1, in un programma richiamato mediante codice
T è possibile eseguire un richiamo mediante codice G.

- 242 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.7.10 Richiamo sottoprogramma con uno specifico indirizzo


Tramite un parametro è possibile abilitare il richiamo di un sottoprogramma mediante uno specifico
indirizzo. Il sottoprogramma viene richiamato ogni volta che nel programma pezzo è specificato tale
indirizzo.

O0001 ; O9004 ;(#146=100.)


: :
B100. ; :
: :
M30 ; M99;

Parametro N. 6090=66 (B)

Spiegazioni
- Richiamo
Se viene assegnato il codice ASCII (in formato decimale) di uno specifico indirizzo ai parametri N. 6090 o
6091, il programma macro, O9004 o O9005, corrispondente a ciascun parametro viene richiamato ogni
volta che l'indirizzo specificato compare nel programma. Il valore numerico specificato per l'indirizzo
viene memorizzato nelle variabili comuni #146 o #147. La sottostante tabella indica gli indirizzi che
possono essere utilizzati.

M
Indirizzo Valore da assegnare al parametro
A 65
B 66
D 68
F 70
H 72
I 73
J 74
K 75
L 76
M 77
P 80
Q 81
R 82
S 83
T 84
V 86
X 88
Y 89
Z 90

NOTA
Se viene utilizzato l'indirizzo L, non è possibile specificare il numero di ripetizioni.

- 243 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

T
Indirizzo Valore da assegnare al parametro
A 65
B 66
F 70
H 72
I 73
J 74
K 75
L 76
M 77
P 80
Q 81
R 82
S 83
T 84

NOTA
Se viene utilizzato l'indirizzo L, non è possibile specificare il numero di ripetizioni.

- Corrispondenza tra i parametri, i programmi e le variabili comuni


Numero parametro Numero programma Variabile comune
6090 O9004 #146
6091 O9005 #147

- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.

- Specifica degli argomenti


Non è possibile specificare argomenti.

Limitazioni
• Normalmente, per richiamare un altro programma in un programma a sua volta richiamato con uno
specifico indirizzo è possibile utilizzare solo i comandi G65, M98 o G66.
• Però, quando il bit 6 (GMP) del parametro N. 6008 è 1, in un programma richiamato mediante tale
indirizzo è possibile eseguire un richiamo mediante codice G.

Esempio di programma
Usando la funzione di richiamo sottoprogrammi con i codici M, è possibile determinare il tempo totale di
impiego di ciascun utensile.

Condizioni
• Il tempo di impiego viene conteggiato per gli utensili da T01 a T05.
Il tempo non viene conteggiato per gli utensili il cui numero è maggiore di T05.
• Per accumulare il tempo di impiego di ciascun utensile si utilizzano le seguenti variabili:
#501 Tempo totale di impiego dell'utensile numero 1
#502 Tempo totale di impiego dell'utensile numero 2
#503 Tempo totale di impiego dell'utensile numero 3
#504 Tempo totale di impiego dell'utensile numero 4
#505 Tempo totale di impiego dell'utensile numero 5

- 244 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

• Il conteggio del tempo inizia quando viene comandato M03 e termina quando viene comandato M05.
La variabile di sistema #3002 è usata per misurare il tempo durante il quale è accesa la spia di cycle
start. Il tempo di arresto della macchina in feed hold o in blocco singolo non è conteggiato, ma il
tempo usato per cambiare gli utensili e i pallet è incluso.

Impostazioni
- Impostazione dei parametri
Assegnare 3 al parametro N. 6071 e 5 al parametro N. 6072.

- Variabili comuni
Assegnare 0 alle variabili da #501 a #505.

- Programma che richiama le macro


O0001;
T01 M06;
M03;
:
M05; ................... Cambia #501.
T02 M06;
M03;
:
M05; ................... Cambia #502.
T03 M06;
M03;
:
M05; ................... Cambia #503.
T04 M06;
M03;
:
M05; ................... Cambia #504.
T05 M06;
M03;
:
M05; ................... Cambia #505.
M30;

- Programma macro (programma richiamato)


O9001(M03) ; .......................................................... Macro per l'inizio del conteggio
M01;
IF [#4120 EQ 0] GOTO 9 ; ........................ Nessun utensile specificato
IF [#4120 GT 5] GOTO 9 ; ............................. Numero utensile fuori dai limiti
#3002=0 ; ....................................................... Azzera il temporizzatore.
N9 M03; ................................................................... Ruota il mandrino in avanti.
M99; ...............................................................

O9002(M05) ; .......................................................... Macro per la fine del conteggio


M01;
IF [#4120 EQ 0] GOTO 9 ; ........................ Nessun utensile specificato
IF [#4120 GT 5] GOTO 9 ; ............................. Numero utensile fuori dai limiti
#[500+#4120]=#3002+#[500+#4120] ; .......... Calcola il tempo cumulativo.

N9 M05; ................................................................... Ferma il mandrino.


M99;

- 245 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.8 ELABORAZIONE DELLE FRASI MACRO


Per ottenere una lavorazione regolare, il CNC legge in anticipo le frasi NC da eseguire successivamente.
Questa operazione è detta bufferizzazione. Ad esempio, nei modi controllo avanzato AI con prelettura dei
blocchi (Serie M) / controllo contornatura AI (Serie M) vengono caricati nel buffer molti blocchi.
Nel modo compensazione raggio fresa della Serie M (G41, G42), il CNC legge in anticipo almeno tre
blocchi allo scopo di trovare le intersezioni, indipendentemente dalla lettura in anticipo del controllo
contornatura AI, ecc.
Le frasi macro contenenti espressioni aritmetiche e salti incondizionati sono processate non appena
vengono lette nel buffer. Quindi l'esecuzione delle frasi macro non sempre avviene nell'ordine specificato.
Per blocchi contenenti M00, M01, M02 o M30, per i blocchi contenenti i codici M che sopprimono la
bufferizzazione (definiti con i parametri da 3411 a 3420 e da 3421 a 3432) e per i blocchi contenenti codici
G che la prevengono, come G31, il CNC smette di leggere in anticipo i blocchi successivi. Di conseguenza,
è garantito che l'esecuzione delle macroistruzioni non avviene fino al completamento dell'esecuzione di
quei codici M o G.

Spiegazioni
- Quando il blocco successivo non è bufferizzato
(codici M non bufferizzati, G31, ecc.)
> N1 G31 X100.0 ; N1
N2 #100=1 Esecuzione
: frasi NC
N2
Esecuzione frasi macro
> :Blocco in esecuzione

Buffer

AVVERTENZA
Se è necessario eseguire una macro dopo il completamento del blocco che la
precede, specificare in questo blocco un codice M o un codice G non bufferizzati.
Questo è particolarmente importante nel caso di lettura/scrittura delle variabili di
sistema relative ai segnali di controllo, alle coordinate, alle correzioni, ecc., che
possono variare con l'esecuzione dei comandi NC. Per evitare questo fenomeno,
specificare, se necessario, questi codici M o G prima della frase macro.

- Bufferizzazione del blocco successivo nei modi diversi dalla compensazione


raggio utensile (G41, G42)
> N1 X100.0 ; N1 N4
Esecuzione
frasi NC
N2 #1=100 ;
N3 #2=200 ; N2 N3
N4 Y200.0 ; Esecuzione frasi
macro

Buffer N4

> : Blocco in esecuzione


: Blocchi caricati nel buffer

Durante l'esecuzione di N1, viene letta nel buffer la frase NC successiva (N4). Le frasi macro (N2 e N3) fra
N1 e N4 sono processate durante l'esecuzione di N1.

- 246 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

- Nel modo compensazione raggio utensile (G41, G42)


M
> N1 G01 G41 X100.0 F100 Dd ;

N2 #1=100 ;
> : Blocco in esecuzione
N3 Y100.0 ;
: Blocchi caricati nel buffer
N4 #2=200 ;
N5 Y150.0 ;
N6 #3=300 ;
N7 X200.0 ;

N1 N3
Esecuzione
frasi NC

N2 N4 N6
Esecuzione frasi
macro

N3 N5 N7
Buffer

Durante l'esecuzione di N1, vengono lette nel buffer le frasi NC dei tre blocchi successivi (fino a N7).
Le frasi macro (N2, N4, N6) fra N1 e N7 sono processate durante l'esecuzione di N1.

14.9 REGISTRAZIONE DEI PROGRAMMI MACRO


I programmi macro sono simili ai sottoprogrammi e possono essere registrati ed editati nello stesso modo.
La capacità della memoria è determinata dalla lunghezza totale del nastro usato per registrare le macro e i
sottoprogrammi.

- 247 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.10 CODICI E PAROLE RISERVATE UTILIZZATI NELLE


MACRO
Oltre ai codici utilizzati nei programmai normali, nei programmi macro è possibile utilizzare quelli descritti
in questa sezione.

Spiegazioni
- Codici
(1) Quando si utilizza il codice ISO o il bit 4 (ISO) del parametro N. 6008 è 0
(I codici sono rappresentati in esadecimale.)
Significato Codice
* 0AAh
= 0BDh
# 0A3h
[ 0DBh
] 0DDh
? 03Fh
@ 0C0h
& 0A6h
_ 05Fh
O 0CFh

(2) Quando si utilizza il codice EIA o si utilizza il codice ISO ed il bit 4 (ISO) del parametro N. 6008 è 1
Significato Codice
* Codice specificato con il parametro N. 6010.
= Codice specificato con il parametro N. 6011.
# Codice specificato con il parametro N. 6012.
[ Codice specificato con il parametro N. 6013.
] Codice specificato con il parametro N. 6014.
? Codice specificato con il parametro N. 6015.
@ Codice specificato con il parametro N. 6016.
& Codice specificato con il parametro N. 6017.
_ Codice specificato con il parametro N. 6018.

Per O è utilizzato lo stesso codice dell'indirizzo O indicante il numero programma. La configurazione dei
bit utilizzata per ciascuno dei caratteri *, =, #, [, ], ?, @, &, _ in ISO o in EIA deve essere specificata con
i parametri corrispondenti (da 6010 a 6018).
Il codice 00h non può essere utilizzato. Come codice di uno di questi caratteri è possibile utilizzare il
codice di un carattere alfabetico, che però non può più essere utilizzato per indicare il carattere originale.
- Parole riservate
Le macro utilizzano le seguenti parole riservate.
AND, OR, XOR, MOD, EQ, NE, GT, LT, GE, LE, SIN, COS, TAN, ASIN, ACOS, ATAN, ATN, SQRT,
SQR, ABS, BIN, BCD, ROUND, RND, FIX, FUP, LN, EXP, POW, ADP, IF, GOTO, WHILE, DO, END,
BPRNT, DPRNT, POPEN, PCLOS, SETVN
Anche i nomi delle variabili (costanti) di sistema ed i nomi attribuiti alle variabili comuni sono trattati come
parole riservate.

- 248 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.11 COMANDI DI EMISSIONE DEI DATI


Oltre ai comandi macro standard, possono essere eseguiti i seguenti comandi, detti comandi esterni di
emissione:
• BPRNT
• DPRNT
• POPEN
• PCLOS
Questi comandi permettono l'emissione dei valori delle variabili e di caratteri attraverso l'interfaccia
lettore/perforatore.

Spiegazioni
Specificare questi comandi nel seguente ordine:

Comando di apertura: POPEN


Prima dell'esecuzione dei comandi di emissione, specificare questo comando per stabilire il
collegamento con l'unità esterna di I/O.
Comandi di emissione dei dati: BPRNT o DPRNT
Vengono emessi i dati specificati.
Comando di chiusura: PCLOS
Questo comando deve essere specificato alla fine dei comandi di emissione allo scopo di scollegare
l'unità esterna di I/O.

- Comando di apertura POPEN


Questo comando serve a collegare l'unità esterna di I/O e deve essere specificato prima dei comandi di
emissione. Il CNC trasmette il codice di controllo DC2.

- Comando di emissione dei dati BPRNT


Con BPRNT i caratteri specificati ed i valori delle variabili vengono emessi in formato binario.
BPRNT [ a #b [c] … ]

Numero di posizioni decimali significative

Variabile

Carattere

(i) I caratteri specificati sono convertiti in codici corrispondenti allo stato del dato di impostazione (ISO)
valido in quel momento.
Possono essere specificati i seguenti caratteri:
• Lettere (da A a Z)
• Numeri
• Caratteri speciali (*, /, +, -, ?, @, &, _)

NOTA
1 L'asterisco (*) viene emesso come spazio.
2 Se si utilizzano ?, @, &, e/o _, il codice di emissione deve essere il codice ISO
(dato di impostazione ISO = 1).

(ii) Dato che in memoria tutte le variabili hanno il punto decimale, la specifica della variabile deve
essere seguita dall'indicazione del numero di posizioni decimali che devono essere emesse. Il numero
di posizioni decimali deve essere specificato tra parentesi quadre. I valori delle variabili sono trattati
come numeri di 32 bit (2 parole), comprese le posizioni decimali e vengono emessi come dati binari,
cominciando dal byte di ordine più elevato.

- 249 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

(iii) Alla fine dei dati specificati, viene emesso un codice di fine blocco conforme allo stato del dato di
impostazione ISO.
(iv) Le variabili nulle sono viste come 0.

Esempio
BPRNT [ C** X#100 [3] Y#101 [3] M#10 [0] ]
I valori delle variabili
#100=0.40956
#101=-1638.4
#10=12.34
vengono emessi come segue:

C3 A0 A0 D8 00 00 01 9A 59 FF E7 00 00 4D 00 00 00 0C 0A
↓ ↓
C sp sp X0000019A YFFE70000 M0000000C LF
(**) (410) (-1638400) (12) (;)

- Comando di emissione dei dati DPRNT


DPRNT [a #b [c d] … ]

Numero di posizioni decimali significative

Numero di cifre significative della parte intera

Variabile
Carattere

Con DPRNT sia i caratteri che i valori delle variabili vengono emessi in accordo con il codice selezionato in
impostazione (ISO)

(i) Per la descrizione di DPRNT, fare riferimento ai punti (i), (iii) e (iv) relativi al comando BPRNT.
(ii) Per emettere il valore di una variabile, specificare il numero della variabile preceduto da #, poi,
specificare tra parentesi il numero di cifre prima del punto decimale e il numero di cifre dopo il punto
decimale racchiusi in parentesi quadre.
Il valore della variabile viene emesso utilizzando il numero di cifre specificato cominciando dalla cifra
più significativa, con un codice in accordo con il dato di impostazione ISO. Anche il punto decimale
viene emesso con un codice in accordo con il dato di impostazione ISO.
Il valore della variabile viene visto come un valore numerico di al massimo 9 cifre. Se le cifre più
significative sono 0, quando il bit 1 (PRT) del parametro N. 6001 è 1 non viene emesso alcun codice;
se PRT è 0, viene emesso il codice dello spazio.
Se il numero di posizioni decimali è diverso da 0, la parte decimale viene sempre emessa. Se il numero
di posizioni decimali è 0, il punto decimale non viene emesso.
Se il bit 1 (PRT) del parametro N. 6001 è 0, per indicare un numero positivo, anziché + viene emesso
il codice dello spazio; se PRT è 1, non viene emesso alcun codice.

- 250 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Esempio
DPRNT [ X#2 [53] Y#5 [53] T#30 [20] ]
I valori delle variabili
#2=128.47398
#5=-91.2
#30=123.456
vengono emessi come segue:

(1) Parametro PRT (N. 6001#1) = 0

D8 A0 A0 A0 B1 B2 B8 2E B4 B7 B4 59 2D A0 A0 A0 39 B1 2E B2 30 30 D4 A0 B2 33 0A
↓ ↓ ↓ ↓
X sp sp sp 128.474 Y- sp sp sp 91.200 T sp 023 LF

(2) Parametro PRT (N. 6001#1) = 1


D8 B1 B2 B8 2E B4 B7 B4 59 2D 39 B1 2E B2 30 30 D4 A0 B2 33 0A

X128.474 Y-91.200 T023 LF

- Comando di chiusura PCLOS


Il comando PCLOS rilascia la connessione con l'unità esterna di I/O. Specificare questo comando quando è
terminata l'emissione di tutti i dati. Il CNC trasmette il codice di controllo DC4.

- Impostazioni necessarie
Impostare il numero dell'unità di I/O da utilizzare.
Conformemente alla specifica eseguita, impostare i dati relativi all'interfaccia lettore/perforatore
(velocità di trasmissione, ecc.).
Non specificare come unità esterna la cassetta FANUC né l'unità FLOPPY.
Se si intende usare il comando DPRNT, specificare se gli zeri a sinistra devono essere emessi come spazi
oppure no (mettendo a 1 o a 0 il bit 1 (PRT) del parametro 6001).
Specificare se per il codice di fine riga in codice ISO deve essere usato solo un LF (bit 4 (CRO) del
parametro 6001, = 0) o se devono essere usati LF e CR (CRO = 1).

NOTA
1 Non è necessario specificare il comando di apertura (POPEN), i comandi di
emissione dei dati (BPRNT, DPRNT) e il comando di chiusura (PCLOS)
consecutivamente. Una volta specificato il comando di apertura all'inizio del
programma, non è più necessario specificarlo di nuovo, finché non viene
specificato il comando di chiusura.
2 In un programma, i comandi di apertura e di chiusura devono sempre essere
accoppiati. Specificare il comando di chiusura alla fine del programma. Non
specificare mai un comando di chiusura senza avere prima specificato il
comando di apertura.
3 L'operazione di reset interrompe l'esecuzione di un comando di emissione dei
dati, cancellando i dati successivi. Di conseguenza, se M30 o altri comandi di fine
programma specificano il reset, alla fine di un programma di emissione di dati
specificare il comando di chiusura in modo che M30 o gli altri comandi non
vengano eseguiti finché non sono stati emessi tutti i dati.

- 251 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.12 LIMITAZIONI
- Blocco singolo
Durante l'esecuzione di un programma macro, i blocchi possono essere fermati nel modo blocco singolo.
Un blocco contenente un comando di richiamo macro (G65, G66, Ggg, Mmm, G67) non si ferma in blocco
singolo.
L'arresto in blocco singolo dei blocchi contenenti operazioni aritmetiche e logiche dipende
dall'impostazione dei bit 5 (SBM) e 7 (SBV) del parametro N. 6000, come è indicato nella sottostante
tabella.

Bit 5 (SBM) del parametro N. 6000 :


0 1
0 L'arresto in blocco singolo non ha luogo. L'arresto in blocco singolo è possibile.
Bit 7 (SBV) del L'arresto in blocco singolo è possibile. (Non è possibile disabilitare l'arresto in blocco
parametro N. 6000 : 1 (E' possibile disabilitare l'arresto in blocco singolo con la variabile #3003. L'arresto in
singolo con la variabile #3003.) blocco singolo è sempre abilitato.)

M
Se l'arresto in blocco singolo si verifica per una frase macro nel modo compensazione raggio utensile C, la
frase viene trattata come un blocco senza movimento e in alcuni casi non è possibile ottenere una
compensazione corretta. (Strettamente parlando, la frase macro viene vista come un blocco che specifica un
movimento di entità uguale a zero.)

- Salto blocco opzionale


Una / che compare all'interno di una espressione (racchiusa fra parentesi quadre ([ ]) nel lato destro di una
espressione aritmetica) è vista come un operatore aritmetico (divisione) e non come specificatore del salto
blocco opzionale.

- Editazione
Mettendo a 1 il bit 0 (NE8) del parametro N. 3202 e il bit 4 (NE9) del parametro N. 3202, si disabilitano la
cancellazione e l'editazione dei programmi macro e dei sottoprogrammi con numero di programma da 8000
a 8999 e da 9000 a 9999, rispettivamente. Questo evita che i programmi macro registrati vengano distrutti
accidentalmente. Quando viene cancellata l'intera memoria, sono cancellati anche i programmi macro.

- Reset
Quando viene eseguito un reset, alle variabili locali e alle variabili comuni da #100 a #199 viene assegnato
un valore nullo. Però è possibile impostare il bit 6 (CCV) del parametro N. 6001 in modo da evitare che
vengano cancellate le variabili da #100 a #199.
Un reset cancella tutti gli stati di richiamo di programmi macro o di sottoprogrammi e tutti gli stati DO,
restituendo il controllo al programma principale.

- Visualizzazione della pagina della ripartenza programma


Come per M98, i codici M e i codici T usati per i richiami di sottoprogrammi non sono visualizzati.

- Feed hold
Quando viene abilitato feed hold durante l'esecuzione di una frase macro, la macchina si ferma dopo
l'esecuzione della frase macro. La macchina si ferma anche in caso di reset o allarme.

- Funzionamento in DNC
I comandi di controllo (come GOTO e WHILE-DO) non possono essere eseguiti durante il funzionamento
in DNC.

- 252 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
Questa limitazione non vale per i programmi registrati nella memoria programmi, che possono essere
richiamati anche durante il funzionamento in DNC.

- Valori delle costanti usate nelle espressioni


da +0.00000000001 a +999999999999
da -999999999999 a -0.00000000001
Il numero massimo di cifre significative è 12 (formato decimale).
Se questo limite viene superato, si ha l'allarme PS0012.

14.13 INTERRUPT DELLE MACROISTRUZIONI


Durante l'esecuzione di un programma, è possibile richiamare un altro programma immettendo un segnale
di interrupt (UINT) trasmesso dalla macchina.
Questa funzione viene detta interrupt delle macroistruzioni. Programmare i comandi di interrupt nel
seguente formato:

Formato
M96Pxxxx ; Abilita l'interrupt
M97 ; Disabilita l'interrupt

Spiegazioni
Questa funzione permette di richiamare un altro programma durante l'esecuzione di qualsiasi blocco;
pertanto, l'esecuzione del programma può adattarsi alle mutevoli condizioni operative.
(1) Le operazioni conseguenti alla rilevazione della rottura dell'utensile sono attivate da un segnale
esterno.
(2) Un nuovo programma viene inserito in una sequenza di operazioni senza fermare la macchina.
(3) Vengono periodicamente acquisite varie informazioni sullo stato della lavorazione.
Questi sono solo alcuni esempi di controllo adattativo realizzabile mediante l'interrupt delle
macroistruzioni.

M96 Pxxxx;

Segnale di interrupt
(UINT) Oxxxx ;

Segnale di
interrupt
(UINT) **

M99 (Pyyyy);
Nyyyy;

M97 ; Segnale di interrupt


(UINT) *

Fig. 14.13 (a) Interrupt delle macroistruzioni

Quando in un programma viene specificato M96Pxxxx, l'esecuzione del programma può essere interrotta
dall'immissione del segnale UINT, allo scopo di eseguire il programma specificato da Pxxxx. Se il segnale
di interrupt ((UINT)** e (UINT)* in Fig 14.13 (a)) perviene durante l'esecuzione del programma di
interrupt o dopo la specifica di M97, esso è ignorato.

- 253 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

14.13.1 Metodo di specifica


Spiegazioni
- Condizioni di interrupt
L'interrupt delle macroistruzioni può essere utilizzato solo durante l'esecuzione di un programma ed è
abilitato nelle seguenti condizioni:
• E' selezionato il modo di funzionamento da memoria, in DNC o in MDI.
• La spia dello start (STL) è accesa
• Quando non è in corso un altro interrupt
L'interrupt non può essere eseguito durante il funzionamento manuale.

- Specifiche
Generalmente, la funzione di interrupt si controlla abilitando e disabilitando il segnale di interrupt (UINT)
mediante i comandi M96 e M97.
Cioè, un segnale di interrupt (UINT) ricevuto dopo l'esecuzione di un M96, e prima dell'esecuzione di un
M97 o di un reset, provoca l'esecuzione dell'interrupt. Un segnale UINT ricevuto dopo l'esecuzione di un
M97 o dopo un reset, non provoca l'esecuzione dell'interrupt. I segnali di interrupt vengono ignorati fino
all'esecuzione di un altro M96.
M96 M97 M96

1
0
Segnale di interrupt
(UINT)

Segnale di interrupt
effettivo
Quando UINT viene
mantenuto

Il segnale di interrupt (UINT) è abilitato dopo l'esecuzione di un M96 e viene ignorato dopo l'esecuzione
di un M97. In questo caso, però, se il segnale UINT viene mantenuto fino all'esecuzione di un M96, esso
provoca il richiamo della macro immediatamente dopo l'esecuzione di M96 in caso di status trigger (viene
considerato lo stato del segnale); in caso di edge trigger (viene considerato solo il fronte di salita del
segnale), l'interrupt non viene eseguito se viene specificato un M96.

NOTA
Per il significato di status trigger e di edge trigger, riferirsi a "segnale di interrupt
(UINT)" nella sezione II-14.12.2.

- 254 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

14.13.2 Descrizione della funzione di interrupt


Spiegazioni
- Interrupt di tipo sottoprogramma e interrupt di tipo macro
Gli interrupt possono essere di due tipi: interrupt di tipo sottoprogramma e interrupt di tipo macro.
La scelta tra i due tipi si esegue con il bit 5 (MSB) del parametro N. 6003.

(a) Interrupt di tipo sottoprogramma: Quando il bit 5 (MSB) del parametro N. 6003 è 1
Il programma di interrupt viene richiamato come sottoprogramma.
Questo significa che il livello delle variabili locali non cambia.
Questo interrupt non incrementa il livello di annidamento di sottoprogrammi.
(b) Interrupt di tipo macro Quando il bit 5 (MSB) del parametro N. 6003 è 0
Il programma di interrupt viene richiamato come macro.
Questo significa che il livello delle variabili locali cambia.
Questo interrupt non incrementa il livello di annidamento di macro.
Il richiamo di una macro o di un sottoprogramma eseguito nel programma di interrupt incrementa il
rispettivo livello di annidamento.
Il programma la cui esecuzione viene interrotta non può passare parametri al programma di interrupt, anche
se l'interrupt è di tipo macro. Immediatamente dopo l'interruzione, le variabili locali sono nulle.

- Codici M per il controllo dell'interrupt


In generale, l'interrupt è controllato da M96 e M97. Tuttavia, è possibile che il costruttore della macchina
utensile utilizzi questi codici M per altri scopi (ad esempio, per specificare una funzione miscellanea o per
richiamare una macro).
In questo caso, il bit 4 (MPR) del parametro 6003 permette di sostituire i codici M che controllano
l'interrupt.
Quando MPR specifica la sostituzione dei codici M, questi vengono impostati tramite i parametri N. 6033 e
6034 come segue:
Assegnare al parametro N. 6033 il codice M che abilita l'interrupt, e al parametro N. 6034 il codice M che lo
disabilita.
Se MPR non specifica la sostituzione dei codici M, l'interrupt viene controllato da M96 e M97,
indipendentemente dal contenuto dei parametri N. 6033 e 6034.
I codici M di controllo dell'interrupt vengono processati internamente, senza emettere i corrispondenti
segnali. Per il controllo dell'interrupt è preferibile, in vista della compatibilità del programma, utilizzare i
normali codici M96 e M97.

- Interrupt e frasi NC
Sono possibili due tipi di interrupt: l'interrupt che interrompe l'esecuzione del blocco in corso e l'interrupt
eseguito al completamento di tale blocco. La scelta tra questi due modi si esegue tramite il bit 2 (MIN) del
parametro N. 6003. L'interrupt che interrompe l'esecuzione di un blocco è l'interrupt di tipo I, quello
eseguito alla fine del blocco è l'interrupt di tipo II.

- 255 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

AVVERTENZA
Dopo un interrupt di tipo I l'esecuzione del programma interrotto riprende in modo
diverso a seconda che il programma di interrupt contenga o non contenga blocchi
NC.
Quando il blocco del numero programma contiene il codice di fine blocco, EOB
(;), viene considerato come un blocco NC.
(Programma contenente un blocco NC) (Programma senza blocchi NC)
O0013; O0013#101=#5041 ;
#101=#5041 ; #102=#5042 ;
#102=#5042 ; #103=#5043 ;
#103=#5043 ; M99;
M99;

Tipo I (l'interrupt ha luogo anche durante l'esecuzione di un blocco)


(i) Il segnale di interrupt (UINT) provoca l'arresto immediato del movimento o della sosta in corso e
l'esecuzione del programma di interrupt.
(ii) Se il programma di interrupt contiene blocchi NC, il blocco interrotto sparisce e vengono eseguiti i
comandi contenuti nel programma di interrupt. Al ritorno dall'interrupt, l'esecuzione del programma
originale riprende dal blocco successivo.
(iii) Se il programma di interrupt non contiene comandi NC, al ritorno dall'interrupt, l'esecuzione del
programma originale riprende dal blocco interrotto.
Interrotta dall'interrupt

Esecuzione in corso

Programma normale
Segnale di Esecuzione dei comandi CNC
interrupt (UINT) (quando il sottoprogramma di
interrupt non contiene frasi NC)
Esecuzione in corso

Interrupt

Fig. 14.13 (b) Interrupt e comandi NC (tipo I)

Tipo II (l'interrupt viene eseguito alla fine del blocco)


(i) Se il blocco in esecuzione non è un blocco di comando di un ciclo che dà origine a più blocchi, come
un ciclo di foratura o un ritorno automatico al punto di riferimento (G28), l'interrupt è eseguito come
segue:
Quando viene ricevuto il segnale di interrupt, le frasi macro del programma di interrupt vengono
eseguite immediatamente, fino alla prima frase NC. Le frasi NC vengono eseguite solo alla fine del
blocco in esecuzione.
(ii) Se il blocco in esecuzione è un blocco di comando di un ciclo che dà origine a più blocchi, l'interrupt è
eseguito come segue:
Le frasi macro del programma di interrupt vengono eseguite, fino alla prima frase NC, quando inizia
l'ultimo movimento del ciclo. Le frasi NC vengono eseguite al termine dell'intero ciclo.

- 256 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Esecuzione in corso

Programma normale

Segnale di interrupt (UINT)

Esecuzione in corso

Interrupt Frasi NC nel programma di


interrupt

Fig. 14.13 (c) Interrupt e comandi NC (tipo II)

M
NOTA
Durante l'esecuzione delle operazioni di un ciclo, l'interrupt è sempre di tipo II,
indipendentemente dall'impostazione (0 o 1) del bit 2 (MIN) del parametro
N. 6003. Le funzioni che danno origine ad un ciclo sono le seguenti:
<1> Ritorno automatico al punto di riferimento
<2> Compensazione raggio utensile (quando genera più blocchi a partire da
quello specificato, come nel caso del movimento all'esterno di un angolo
acuto)
<3> Cicli fissi
<4> Misura automatica della lunghezza utensile
<5> Controllo della direzione normale

T
NOTA
Durante l'esecuzione delle operazioni di un ciclo, l'interrupt è sempre di tipo II,
indipendentemente dall'impostazione (0 o 1) del bit 2 (MIN) del parametro
N. 6003. Le funzioni che danno origine ad un ciclo sono le seguenti:
<1> Ritorno automatico al punto di riferimento
<2> Compensazione raggio utensile (quando genera più blocchi a partire da
quello specificato, come nel caso del movimento all'esterno di un angolo
acuto)
<3> Cicli fissi (durante l'esecuzione dei cicli multipli ripetitivi di tornitura l'interrupt
delle macroistruzioni non può essere utilizzato)
<4> Determinazione automatica delle correzioni utensile
<5> Smussi e raccordi

- Condizioni per l'abilitazione e la disabilitazione del segnale di interrupt


Il segnale di interrupt diventa efficace dopo l'inizio di un blocco M96, che abilita l'esecuzione dell'interrupt,
e diventa non efficace quando inizia l'esecuzione di un blocco contente M97, che la disabilita.
Durante l'esecuzione di un programma di interrupt, il segnale di interrupt non ha effetti. Al ritorno dal
programma di interrupt, quando inizia l'esecuzione del blocco successivo al blocco interrotto, il segnale di
interrupt torna ad essere efficace. Nel caso di interrupt del Tipo 1, se il programma di interrupt è costituito
esclusivamente da frasi macro, il segnale di interrupt torna ad essere efficace quando riprende l'esecuzione
del blocco interrotto del programma originale.

- 257 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

- Segnale di interrupt (UINT)


Esistono due metodi di accettazione del segnale di interrupt: lo status trigger e l'edge trigger. Con lo status
trigger il segnale è effettivo quando è on; con l'edge trigger, il segnale è effettivo quando passa da off a on
(fronte di salita del segnale).
La scelta tra i due metodi si esegue tramite il bit 3 (TSE) del parametro N. 6003.

Quando questo parametro specifica lo status trigger, se il segnale di interrupt è on quando viene abilitato
l'interrupt, questo viene eseguito. Quindi, se il segnale resta on, il programma di interrupt può essere
eseguito più volte.

Quando questo parametro specifica l'edge trigger, il segnale di interrupt è effettivo solo quando si alza.
Quindi il programma di interrupt viene eseguito solo in quell'istante (nei casi in cui il programma è
costituito da sole frasi macro). Il metodo edge trigger è utile quando lo status trigger non è adatto, cioè
quando il programma di interrupt deve essere eseguito una sola volta (e il segnale di interrupt resta on).

Salvo che per il caso specifico citato sopra, i due metodi hanno gli stessi effetti. Il tempo che intercorre fra
l'immissione del segnale UINT e l'esecuzione della macro di interrupt non varia fra i due metodi.

L'esempio presentato nella Fig. 14.12 (d) , mostra che con il metodo status trigger il programma di interrupt
viene eseguito quattro volte, mentre con il metodo edge trigger il programma viene eseguito una sola
volta.
1

Segnale di interrupt (UINT) Esecuzione Esecuzione Esecuzione


interrupt interrupt interrupt Esecuzione
interrupt

Tipo status-trigger

Esecuzione interrupt

Tipo edge trigger

Fig. 14.13 (d) Segnale di interrupt

- Ritorno al programma originale dopo un interrupt


M99 comanda il ritorno dal programma di interrupt al programma originale. L'indirizzo P permette di
specificare il numero di sequenza del programma originale al quale ritornare. In questo caso, viene eseguita
una ricerca dall'inizio del programma fino a trovare il numero di sequenza specificato. Il controllo viene
restituito alla prima ricorrenza di quel numero di sequenza.

- 258 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

NOTA
Quando il blocco M99 non contiene altri indirizzi o contiene solo gli indirizzi O, N,
P, L o M, viene visto come parte del blocco precedente. Quindi non viene
eseguito l'arresto in blocco singolo. In programmazione, gli esempi <1> e <2>
che seguono hanno fondamentalmente gli stessi effetti. (Essi differiscono
soltanto in quanto Gxx viene o non viene eseguito prima che sia riconosciuta la
presenza di M99.)
<1> Gxx Xxxx ;
M99;
<2> Gxx Xxxx M99 ;

- Interrupt e dati modali


Un interrupt è diverso dai normali richiami di sottoprogramma. L'esecuzione del programma di interrupt
viene avviata da un segnale (UINT) durante l'esecuzione di un altro programma. In generale, non è bene che
le variazioni delle informazioni modali contenute in questo programma influenzino il programma originale.
Per questa ragione, se il programma di interrupt modifica le informazioni modali, quando il controllo
ritorna al programma originale con M99, le informazioni modali valide prima dell'interruzione vengono
ripristinate.

Però, se il ritorno dal programma di interrupt viene eseguito con M99 Pyyyy, i dati modali possono essere
controllati dal programma originale. al quale vengono pertanto passati i nuovi dati modali generati dal
programma di interrupt.

In questo caso possono essere adottate le seguenti misure:


<1> Specificare nel programma di interrupt i dati modali da usare dopo la restituzione del controllo al
programma interrotto.
<2> Specificare i dati modali necessari nel punto di ritorno al programma interrotto.
{∆∆∆∆

M96 Pxxxx; {xxxx;


Segnale di interrupt (UINT)

Modifica i dati modali

(P non specificato)
I dati modali sono quelli
precedenti l'interruzione. M99 (Pyyyy);

(P specificato)
Nyyyy;

I dati modali sono quelli specificati nel programma di interrupt.

Fig. 14.13 (e) Interrupt e dati modali

Dati modali quando il controllo viene restituito da M99


Ritornano validi i dati modali precedenti all'interruzione. I dati modali specificati nel programma di
interrupt sono ignorati.

- 259 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02

Dati modali quando il controllo viene restituito da M99 Pyyyy


Dopo il ritorno sono validi i dati modali specificati dal programma di interrupt.

Dati modali validi per il blocco interrotto


I dati modali che erano validi per il blocco interrotto possono essere letti utilizzando le variabili di sistema
da #4401 a #4530.

M
Variabile di sistema Dato modale valido per il blocco interrotto
#4401 Codice G (gruppo 01)
: :
#4430 Codice G (gruppo 30)
#4502 Codice B
#4507 Codice D
#4508 Codice E
#4509 Codice F
#4511 Codice H
#4513 Codice M
#4514 Numero di sequenza
#4515 Numero programma
#4519 Codice S
#4520 Codice T
#4530 Numero del sistema aggiuntivo di coordinate del pezzo

T
Variabile di sistema Dato modale valido per il blocco interrotto
#4401 Codice G (gruppo 01)
: :
#4430 Codice G (gruppo 30)
#4508 Codice E
#4509 Codice F
#4513 Codice M
#4514 Numero di sequenza
#4515 Numero programma
#4519 Codice S
#4520 Codice T

- Variabili di sistema (dati di posizione) per il programma di interrupt


I dati relativi alla posizione possono essere letti come segue:

Variabile macro Condizione Posizione


#5001 e Fino al primo comando NC Coordinate del punto A
successive Dopo un comando NC senza movimento Coordinate del punto A'
Dopo un comando NC di movimento Coordinate del punto finale del
comando di movimento
#5021 e Coordinate di macchina del punto B'
successive
#5041 e Coordinate del punto B' nel sistema di
successive coordinate del pezzo

- 260 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI

Percorso centro utensile


Interrupt generato
B

A’
Vettore di offset

Percorso utensile programmato

- Interrupt e richiamo macro modale


Quando, in seguito al segnale di interrupt (UINT), viene richiamato il programma di interrupt, il richiamo
macro modale viene cancellato (modo G67). Tuttavia, se G66 è specificato nel programma di interrupt, il
modo richiamo macro viene stabilito normalmente. Quando il controllo ritorna al programma originale con
M99, lo stato del richiamo macro modale ritorna a quello che era attivo al momento dell'interruzione. Se il
ritorno viene eseguito con M99 Pyyyy ; lo stato del richiamo modale resta quello attivo nel programma di
interrupt.

- Interrupt e ripartenza del programma


Quando il segnale di interrupt (UINT) viene ricevuto durante una operazione di ritorno eseguita nel modo
prova a vuoto dopo l'operazione di ricerca per la ripartenza del programma, il programma di interrupt viene
richiamato al termine dell'operazione di ripartenza per tutti gli assi.
Ciò significa che in questo caso è utilizzato l'interrupt di tipo II, indipendentemente dall'impostazione del
corrispondente parametro.

M
NOTA
1 Nei seguenti casi si verifica l'allarme PS1101:
<1> Viene generato un interrupt nel modo immagine speculare programmabile
(G51.1) ed il programma di interrupt contiene un altro comando G51.1.
<2> Viene generato un interrupt nel modo rotazione del sistema di coordinate
(G68) ed il programma di interrupt contiene un altro comando G68.
<3> Viene generato un interrupt nel modo scala (G51) ed il programma di
interrupt contiene un altro comando G51.
2 Nella ripartenza del programma, non immettere il segnale di interrupt (UINT)
durante il riposizionamento in prova a vuoto dopo una ricerca.

T
NOTA
1 Durante l'esecuzione dei cicli multipli ripetitivi di tornitura l'interrupt delle
macroistruzioni non può essere utilizzato
2 Nella ripartenza del programma, non immettere il segnale di interrupt (UINT)
durante il riposizionamento in prova a vuoto dopo una ricerca.

- 261 -
15. INTRODUZIONE PARAMETRI
DA PROGRAMMA (G10) PROGRAMMAZIONE B-64304IT/02

15 INTRODUZIONE PARAMETRI DA
PROGRAMMA (G10)
Introduzione
I valori dei parametri e i dati della compensazione passo vite possono essere caricati con un programma.
Questa funzione si usa per impostare i dati della compensazione errore di passo in caso di sostituzione di
componenti o per variare da programma parametri quali la velocità massima di avanzamento e le costanti di
tempo in base alle condizioni di lavorazione.

Formato
- Modo introduzione parametri
G10 L52 ; Modo introduzione parametri
N_ (Q_) R_ ; Per i parametri non di tipo asse o mandrino
N_ P_ (Q_) R_ ; Per i parametri di tipo asse o mandrino
:
G11 ; Cancellazione del modo introduzione parametri
N_ : Numero parametro
R_ : Valore del parametro (gli zeri a sinistra possono essere omessi.)
(Q_) : Numero bit da 0 a 7 (per i parametri di tipo bit)
(Abilitato quando il bit 4 (G1B) del parametro N. 3454 è 1.)
P_ : Numero asse da 1 al numero massimo di assi controllati (per i parametri di tipo asse
o mandrino)

NOTA
G10L52 non può essere utilizzato per introdurre i dati della compensazione
passo vite.

- Modo introduzione dati della compensazione passo vite


G10 L50 ; Modo introduzione dati della compensazione passo vite
N_ R_ ; Dato della compensazione passo vite
:
:
G11 ; Cancellazione del modo compensazione passo vite
N_ : Numero del punto di compensazione +10,000
R_ : Dati della compensazione passo vite

NOTA
G10L50 non può essere utilizzato per l'introduzione dei parametri.

- 262 -
15.INTRODUZIONE PARAMETRI
B-64304IT/02 PROGRAMMAZIONE DA PROGRAMMA (G10)

Spiegazioni
- Specifica del valore (R_)
Non usare il punto decimale nei valori dei parametri o dei dati della compensazione passo vite (R_)
Se il bit 4 (G1B) del parametro N. 3454 è 1, specificare 0 o 1 per modificare un parametro di tipo bit.
Se viene specificato un valore diverso da 0 o 1, si verifica l'allarme PS1144, "FORMATO G10 ERRATO".
Come valore di R è possibile utilizzare una variabile macro.
Nel caso di un parametro di tipo numero reale, per R_ specificare un intero determinato in base al sistema di
incrementi del parametro.

- Numero bit (Q_)


Q_ è valido se il bit 4 (G1B) del parametro N. 3454 è 1. Per impostare un parametro di tipo bit, specificare
un numero da 0 a 7.
Come valore di Q è possibile utilizzare una variabile macro.

- Numero asse (P_)


Per i parametri di tipo asse, come numero asse (P_) specificare il numero corrispondente all'ordine con il
quale gli assi compaiono sul video del CNC.
Ad esempio,specificare P2 per l'asse controllato visualizzato per secondo.
Anche per i parametri di tipo mandrino, specificare l'ordine di visualizzazione sul video del CNC.
Come valore di P è possibile utilizzare una variabile macro.

PERICOLO
1 Dopo aver variato i dati della compensazione passo vite o i dati della
compensazione del gioco eseguire sempre il ritorno manuale al punto di
riferimento. Se non viene fatto, la posizione della macchina può essere diversa
dalla posizione corretta.
2 Prima di programmare l'introduzione dei parametri, cancellare il modo ciclo fisso.
Se il modo ciclo fisso non è cancellato, è possibile che venga attivato il
movimento di foratura.

AVVERTENZA
Compatibilità con la Serie 0i-C:
Questo modello ha parametri non compatibili con la Serie 0i-C.
Pertanto, prima di utilizzare questa funzione eseguire un controllo consultando il
manuale dei parametri (B-64310) di questo modello.

NOTA
Nel modo introduzione parametri da programma, non possono essere specificate
altre frasi NC.

- 263 -
15. INTRODUZIONE PARAMETRI
DA PROGRAMMA (G10) PROGRAMMAZIONE B-64304IT/02

Esempio
1. Impostazione del bit 2 (SBP) del parametro di tipo bit N. 3404 (quando il bit 4 (G1B) del parametro
N. 3454 è 0)
G10 L52 ; Modo introduzione parametri
N3404 R00000100 ; Impostazione di SBP
G11 ; Cancellazione del modo introduzione parametri

2. Impostazione del bit 2 (SBP) del parametro di tipo bit N. 3404 (quando il bit 4 (G1B) del parametro
N. 3454 è 1)
G10 L52 ; Modo introduzione parametri
N3404 Q2 R1 ; Impostazione di SBP
G11 ; Cancellazione del modo introduzione parametri

3. Cambiare i valori specificati per gli assi Z (terzo asse) e A (quarto asse) nel parametro di tipo asse
N. 1322 (coordinate della zona di sicurezza 2 in direzione positiva).
(Quando il sistema di incrementi del terzo e del quarto asse è IS-B per una macchina metrica)
G10 L52 ; Modo introduzione parametri
N1322 P3 R4500 ; Coordinata asse Z = 4.500
N1322 P4 R12000 ; Coordinata asse A = 12.000
G11 ; Cancellazione del modo introduzione parametri

4. Cambiare l'entità della compensazione per i punti 10 e 20 della compensazione passo vite.
G10 L50 ; - Modo introduzione dati della compensazione passo vite
N10010 R1 ; Compensazione al punto numero 10 = 1
N10020 R5 ; Compensazione al punto numero 20 = 5
G11 ; - Modo introduzione dati della compensazione passo vite

- 264 -
16.FUNZIONI PER LA LAVORAZIONE
B-64304IT/02 PROGRAMMAZIONE AD ALTA VELOCITA'

16 FUNZIONI PER LA LAVORAZIONE AD


ALTA VELOCITA'
Il Capitolo 16, "FUNZIONI PER LA LAVORAZIONE AD ALTA VELOCITA'", è costituito dalle
seguenti sezioni:

16.1 CONTROLLO AVANZATO CON PRELETTURA DEI BLOCCHI (SERIE T) /


CONTROLLO AVANZATO AI CON PRELETTURA DEI BLOCCHI (SERIE M) /
CONTROLLO CONTORNATURA AI (II) (SERIE M) .................................................................. 265
16.2 FUNZIONE DI SELEZIONE DELLE CONDIZIONI DI LAVORAZIONE .................................. 284
16.3 REGOLAZIONE DEL LIVELLO DI QUALITA' DELLA LAVORAZIONE (Serie M) ............... 284
16.4 CONTROLLO DEL JERK (Serie M) ............................................................................................... 285

16.1 CONTROLLO AVANZATO CON PRELETTURA DEI


BLOCCHI (SERIE T) / CONTROLLO AVANZATO AI CON
PRELETTURA DEI BLOCCHI (SERIE M) / CONTROLLO
CONTORNATURA AI (II) (SERIE M)
Introduzione
Il controllo avanzato con prelettura dei blocchi (Serie T), il controllo avanzato AI con prelettura dei blocchi
(Serie M), e il controllo contornatura AI (II) (Serie M) sono intesi per la lavorazione ad alta velocità, alta
precisione. Queste funzioni possono minimizzare gli errori di lavorazione dei profili sopprimendo il ritardo
del servosistema e il ritardo causato dall'accelerazione/decelerazione, che aumentano con l'aumentare della
velocità di avanzamento.

Le caratteristiche di queste funzioni sono le seguenti:

APC AI APC AICC AICC II


Modello 0i -TD 0i Mate -MD 0i -MD 0i -MD 0i -MD
Standard/Opzione Opzione Standard Opzione Opzione
Numero dei blocchi letti in anticipo 1 12 20 40 200
Accelerazione/decelerazione prima
○ ○ ○ ○
dell'interpolazione con prelettura dei blocchi
Accelerazione/decelerazione a campana prima
- - ☆ ☆
dell'interpolazione con prelettura dei blocchi
Variazione della costante di tempo per
l'accelerazione/ decelerazione a campana prima - - ☆ ☆
dell'interpolazione
Feed forward avanzato ○ ○ ○ ○
Impostazione dell'accelerazione per ciascun asse ○ ○ ○ ○
Decelerazione in base alle differenze di velocità di
○ ○ ○ ○
ciascun asse
Controllo della velocità in base all'accelerazione
○ ○ ○ ○
in interpolazione circolare
Limitazione della velocità in base
- ○ ○ ○
all'accelerazione di ciascun asse
Smorzamento di accelerazione e decelerazione - - - ○
Controllo della velocità in base al carico di taglio - - - ○
Inibizione dei comandi F - - - ○

- 265 -
16. FUNZIONI PER LA LAVORAZIONE
AD ALTA VELOCITA' PROGRAMMAZIONE B-64304IT/02

APC AI APC AICC AICC II


Controllo Jerk
- Controllo della velocità in base alla variazione
dell'accelerazione di ciascun asse
- - - ☆
- Accelerazione/decelerazione a campana prima
dell'interpolazione con prelettura dei blocchi
smorzata
Interpolazione nanometrica raccordata - - - ☆

APC : Controllo avanzato con prelettura dei blocchi


AI APC : Controllo avanzato AI con prelettura dei blocchi
AICC : Controllo contornatura AI
AICC II : Controllo contornatura AI II

-: Funzione non supportata


○: Funzione standard
☆: Funzione opzionale

M
La funzione di variazione della costante di tempo dell'accelerazione/decelerazione a campana è compresa
nell'accelerazione/decelerazione a campana prima dell'interpolazione con prelettura dei blocchi.
L'accelerazione/decelerazione a campana prima dell'interpolazione con prelettura dei blocchi è una
funzione opzionale.

Formato
T
- Controllo avanzato con prelettura dei blocchi
G08 P_ ;
P1 : Modo controllo avanzato con prelettura dei blocchi ON
P0 : Modo controllo avanzato con prelettura dei blocchi OFF

NOTA
1 G08 deve sempre essere programmato in un blocco indipendente.
2 Il modo controllo avanzato con prelettura dei blocchi viene cancellato da un reset.

M
・Controllo avanzato AI con prelettura dei blocchi / Controllo contornatura AI (II)
G05.1 Q_ ;
Q1 : Modo controllo avanzato AI con prelettura / modo controllo contornatura AI (II) ON
Q0 : Modo controllo avanzato AI con prelettura / modo controllo contornatura AI (II) OFF

NOTA
1 G05.1 deve sempre essere programmato in un blocco indipendente.
2 Il modo controllo avanzato AI con prelettura / Controllo contornatura AI (II) viene
cancellato da un reset.

- 266 -
16.FUNZIONI PER LA LAVORAZIONE
B-64304IT/02 PROGRAMMAZIONE AD ALTA VELOCITA'

Spiegazioni
- Accelerazione/decelerazione prima dell'interpolazione con prelettura dei
blocchi
T
Viene utilizzata l'accelerazione/decelerazione lineare prima dell'interpolazione con prelettura dei blocchi.

M
Esistono due tipi di accelerazione/decelerazione prima dell'interpolazione con prelettura dei blocchi:
l'accelerazione/decelerazione lineare e l'accelerazione/decelerazione a campana. L'accelerazione/
decelerazione a campana genera accelerazioni e decelerazioni più regolari.

* L'accelerazione/decelerazione a campana prima dell'interpolazione con prelettura dei blocchi è una


funzione opzionale.

- Impostazione dell'accelerazione accettabile


T
L'accelerazione accettabile per l'accelerazione/decelerazione lineare di ciascun asse si specifica con il
parametro N. 1660. L'accelerazione/decelerazione viene eseguita con la massima accelerazione tangenziale
che non eccede l'accelerazione accettabile di ciascun asse (parametro N.1660).

M
L'accelerazione accettabile per l'accelerazione/decelerazione lineare di ciascun asse si specifica con il
parametro N. 1660. Per l'accelerazione/decelerazione a campana, il tempo di cambio dell'accelerazione (B)
(periodo di transizione dallo stato di velocità costante (A) allo