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
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.
s-1
NORME DI SICUREZZA B-64304IT/02
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
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
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
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
c-3
INDICE GENERALE B-64304IT/02
c-4
B-64304IT/02 INDICE GENERALE
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
c-6
B-64304IT/02 INDICE GENERALE
c-7
INDICE GENERALE B-64304IT/02
c-10
B-64304IT/02 INDICE GENERALE
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
c-12
B-64304IT/02 INDICE GENERALE
c-13
INDICE GENERALE B-64304IT/02
c-14
B-64304IT/02 INDICE GENERALE
c-15
INDICE GENERALE B-64304IT/02
c-16
I. INTRODUZIONE
B-64304IT/02 INTRODUZIONE 1.INTRODUZIONE
1 INTRODUZIONE
Questo manuale è costituito dalle seguenti parti:
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.
-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.
-4-
B-64304IT/02 INTRODUZIONE 1.INTRODUZIONE
-5-
1.INTRODUZIONE INTRODUZIONE B-64304IT/02
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.
-6-
II. PROGRAMMAZIONE
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE
1 INTRODUZIONE
Il Capitolo 1, "INTRODUZIONE", è costituito dalle seguenti sezioni:
Spiegazioni
Il movimento dell'utensile in linea retta o lungo un arco si dice interpolazione.
Utensile Programma
G01X_Y_ ;
X_ ;
Pezzo
• Tornitura
X
Utensile Programma
G01Z_ ;
G01X_Z_ ;
Pezzo
Z
-9-
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02
Programma
G03 X_ Y_ R_ ;
Utensile
Pezzo
• Tornitura
X
Programma
G02 X_ Z_ R_ ;
oppure
G03 X_ Z_ R_ ;
Pezzo
Z
Asse X
Movimento
Interpolazione
dell'utensile
Asse Y
a) Movimento
rettilineo
b) Movimento
lungo un arco
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
• Fresatura
mm/min
Utensile
F
Pezzo
Tavola
• Tornitura
mm/min
Utensile
F
Pezzo
Autocentrante
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
• Fresatura
Punto di riferimento
Utensile
Pezzo
Tavola
• Tornitura
Torretta
Autocentrante
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
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
- 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
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.
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.
Zero programma
Maschera
Pallet
Maschera
Pezzo
- 15 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02
T
Su un tornio, le coordinate vengono, di solito, fissate come segue.
Pezzo
Z
60 40
40
150
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.
60 Pezzo 30
Z
30
80
100
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
- 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)
• Tornitura
Utensile
X A
B
Pezzo
Z
φ30
70
110
Comando di movimento dal punto A al punto B
X30.0Z70.0;
- 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
• Tornitura
Utensile
A
X
-30.0 (valore del
diametro)
B
Pezzo
φ60 Z
φ30
-40.0
U-30.0 W-40.0
Distanza e direzione del movimento lungo ciascun asse
- 18 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE
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
• 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
Esempi
M
Numero utensile
01
02 Magazzino ATC
Numero utensile
01 06
02 05 Torretta
03 04
- 21 -
1.INTRODUZIONE PROGRAMMAZIONE B-64304IT/02
• Fresatura
Utensile
Rotazione mandrino
Attivazione/disattivazione
refrigerante
Pezzo
• Tornitura
Attivazione/disattivazione refrigerante
Apertura/chiusura autocentrante
Rotazione mandrino
Pezzo
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
Blocco
Blocco
Sequenza delle
operazioni
Blocco
Programma Blocco
:
:
:
:
Blocco
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
Fine 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
: :
: :
: :
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).
: Sottoprogramma #1
:
M98P1001 O1001
:
:
:
M99
M98P1002
:
:
Sottoprogramma #2
M98P1001 O1002
:
:
:
M99
- 24 -
B-64304IT/02 PROGRAMMAZIONE 1.INTRODUZIONE
Motore
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
Zero macchina
Specificare queste
distanze.
- 25 -
2.ASSI CONTROLLATI PROGRAMMAZIONE B-64304IT/02
2 ASSI CONTROLLATI
Il Capitolo 2, "ASSI CONTROLLATI", è costituito dalle seguenti sezioni:
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).
NOTA
I nomi asse sono predeterminati in base alla macchina. Consultare il manuale
fornito dal costruttore della macchina utensile.
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).
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)
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.
- 30 -
B-64304IT/02 PROGRAMMAZIONE 3.FUNZIONI PREPARATORIE (CODICI G)
- 32 -
B-64304IT/02 PROGRAMMAZIONE 3.FUNZIONI PREPARATORIE (CODICI G)
- 33 -
3. FUNZIONI PREPARATORIE (CODICI G) PROGRAMMAZIONE B-64304IT/02
- 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).
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
- 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
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
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
(Punto iniziale)
90°
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
- 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.
y x z
x z y
i Punto iniziale k J Punto
Punto iniziale
iniziale
J i k
Centro Centro Centro
- 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.)
<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.
γ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)
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
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
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
- 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
F×
(Lunghezza dell'arco)2 + (Lunghezza dell'asse lineare)2
La velocità lungo l'asse lineare viene calcolata come segue:
Lunghezza dell'asse lineare
F×
(Lunghezza dell'arco)2 + (Lunghezza dell'asse lineare)2
Percorso utensile
X Y
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
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.
- 46 -
B-64304IT/02 PROGRAMMAZIONE 4.FUNZIONI DI INTERPOLAZIONE
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).
- 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.
- 47 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02
- 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).
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).
- 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 ;
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
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
Y
100.0
Movimento effettivo
X Movimento senza segnale di salto
X200.0
Movimento effettivo
Movimento senza segnale di salto
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
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
Formato
G31 IP_ ;
G31; Codice G autocancellante (valido solo per il blocco che lo contiene)
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_ ;
- 53 -
4.FUNZIONI DI INTERPOLAZIONE PROGRAMMAZIONE B-64304IT/02
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
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).
Se manca il comando che limita la coppia, il valore della regolazione è uguale a 0% o 100%.
(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
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:
- 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.
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
- 57 -
5.FUNZIONI DI AVANZAMENTO PROGRAMMAZIONE B-64304IT/02
Y
Percorso programmato
Percorso utensile effettivo
0
X
Y ∆r :
Percorso programmato
Percorso utensile effettivo
0 X
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
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.
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
- 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)
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)
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)
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.
Riferimento
L'intervallo dei valori specificabili per la velocità di avanzamento è fornito nell'appendice D.
- 64 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO
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 ;
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).
- 66 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO
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
θ θ
θ
θ
- 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
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)
Fig. 5.4.2(d) Applicazione della regolazione (linea retta - arco, arco - linea retta)
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
Rc Percorso centro
utensile
Rp
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
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
∆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
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.
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. ;
- 72 -
B-64304IT/02 PROGRAMMAZIONE 5.FUNZIONI DI AVANZAMENTO
10 mm
36 mm
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.
Punto di riferimento
Quarto punto di
riferimento
Zero macchina X
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
B (Punto intermedio)
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.
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.
- 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.)
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.
- 77 -
6.PUNTO DI RIFERIMENTO PROGRAMMAZIONE B-64304IT/02
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
*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.
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).
- 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.)
B (Punto intermedio)
500
- 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
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.
Limitazioni
- Cancellazione delle compensazioni
Prima di comandare G53, cancellare tutte le funzioni di compensazione, come la compensazione raggio
utensile e la compensazione lunghezza utensile.
- 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.
Zero macchina
Punto di riferimento
- 83 -
7.SISTEMA DI COORDINATE PROGRAMMAZIONE B-64304IT/02
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.
(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 ;
X
40.0
ZOFS2 ZOFS3
ZOFS4
ZOFS1
Sistema di coordinate del
ZOFS5 pezzo N. 5 (G58)
EXOFS
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).
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.
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
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
- 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.
- 90 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE
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
- 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.
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.
- 92 -
B-64304IT/02 PROGRAMMAZIONE 7.SISTEMA DI COORDINATE
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 ;
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
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
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.
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
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.
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
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
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
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
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.
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
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
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
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
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
- 105 -
8.VALORI DELLE COORDINATE E DIMENSIONI PROGRAMMAZIONE B-64304IT/02
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).
- 106 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)
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
- 107 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02
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.
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.
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)
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
Comando G97
Specificato
Non specificato
Comando G96
Specificato
Viene usata la
velocità di taglio Comando della
specificata velocità di taglio
Non specificato
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.
- 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
Z
300 400 500 600 700 800 900 1000 1100 1300 1400 1500
1200 1475
1050
- 111 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02
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)
- 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.
- 113 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02
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).
- 114 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)
90°
180°
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)
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.
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.
- 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.
- 118 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)
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
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.
- 120 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)
- 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).
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)
- 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
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)
S0
Aa
Tempo
- 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
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)
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.
- 127 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02
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
- 128 -
9.FUNZIONE VELOCITA'
B-64304IT/02 PROGRAMMAZIONE MANDRINO (FUNZIONE S)
S Ac
S1
Ab
S0
Aa
Si
Aa
Tempo (s)
- 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
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)
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.
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
- 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.
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)
- 133 -
9. FUNZIONE VELOCITA'
MANDRINO (FUNZIONE S) PROGRAMMAZIONE B-64304IT/02
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)
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.
- 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 ;
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
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)
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.
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
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.
Spiegazioni
Il formato di programmazione varia in base ai seguenti quattro tipi di operazione:
- 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
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);
- 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.
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
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
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
- 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 ;
:
:
- 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.
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
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
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.
Spiegazioni
I seguenti codici M hanno un significato speciale.
- 153 -
11.FUNZIONI AUSILIARIE PROGRAMMAZIONE B-64304IT/02
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.
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
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.
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.
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.2 PARAMETRI
Nella sottostante tabella sono descritti i parametri relativi alle cartelle ed ai programmi da manipolare o da
eseguire.
- 157 -
12.GESTIONE DEI PROGRAMMI PROGRAMMAZIONE B-64304IT/02
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
Istruzione 1 Istruzione 1’
Istruzione 2 Istruzione 2’
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.
- 159 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02
Sezione leader
M30 ;
% Codice di fine file
programma
- 160 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA
M30 ;
% Codice di fine file
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.
- 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.
- 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.
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)
- 162 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA
Numero programma
% TITOLO ;
O0001 ;
N1 ... ;
Numero di sequenza
M30 ;
% Fine 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
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.
- 164 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA
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
*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
- 166 -
B-64304IT/02 PROGRAMMAZIONE 13.CONFIGURAZIONE DEL PROGRAMMA
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
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"
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 . .. .
- 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"
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"
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.
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
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.
oppure
M98 Pxxxx Lxxxxxxxx ;
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;
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 ;
- 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 ;
- 171 -
13.CONFIGURAZIONE DEL PROGRAMMA PROGRAMMAZIONE B-64304IT/02
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
- 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
(a) Utilizzo
Quando viene utilizzata una variabile non definita, anche l'indirizzo con il quale è specificata viene
ignorato.
- 175 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
(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)
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
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
- 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
- 178 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
- 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
- 180 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
- 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
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)
- 183 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
- 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
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.
- 186 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
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.
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
<2> Nella variabile #101 viene scritto un numero BCD di 6 cifre (3 interi e 3 decimali) ottenuto da otto tipi
di commutazione indirizzo.
- 189 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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]]
- 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]]
- 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]]
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
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
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
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
#3005
#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
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
M
La variabile di sistema #3980 può essere utilizzata per leggere il tipo di memoria delle correzioni.
- 200 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
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.
- 201 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
M
(Categoria: <1> Blocco nel buffer, <2> Blocco in esecuzione, <3> Blocco interrotto)
- 202 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
T
(Categoria: <1> Blocco nel buffer, <2> Blocco in esecuzione, <3> Blocco interrotto)
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
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.
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.
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
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:
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
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.
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.
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”.
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
M
Quando il bit 5 (D15) del parametro N. 6004 è 0 è possibile utilizzare anche le seguenti variabili:
- 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
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.
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
<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.
- 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.
- 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]] ; .
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.
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".
<1>
<2>
<1>, <2> e <3> indicano la sequenza
<3> delle operazioni.
<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.
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
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] ;
- 217 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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.
- 218 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
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.
- 219 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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
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.
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 #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.
- 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
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
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.
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
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.
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 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
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.
- 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.
(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.
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:
- 226 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
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:
- 227 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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
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
H=4 B B
Centro (X,Y)
Raggio I
- 229 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
- 230 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
Lavoro
Rapido
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
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
Punto Z
Z
- 234 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
Esempio di programma
T
Questo programma esegue una gola nella posizione specificata.
- 235 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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.
- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.
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
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
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.
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.
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
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
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.
- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.
- 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
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
O0001 ; O9000 ;
: :
T23 ; :
: :
M30 ; M99;
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.
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
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.
- Ripetizioni
Come nel caso dei richiami semplici, è possibile specificare il numero di ripetizioni (da 1 a 99999999) con
l'indirizzo L.
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.
- 245 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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.
Buffer N4
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
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.
- 247 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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
Spiegazioni
Specificare questi comandi nel seguente ordine:
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) (;)
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:
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
- 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.
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.)
- 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.
- 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.
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;
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
- 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
(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.
- 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;
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
- 256 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
Esecuzione in corso
Programma normale
Esecuzione in corso
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
- 257 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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
Tipo status-trigger
Esecuzione interrupt
- 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 ;
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.
(P non specificato)
I dati modali sono quelli
precedenti l'interruzione. M99 (Pyyyy);
(P specificato)
Nyyyy;
- 259 -
14.MACROISTRUZIONI PROGRAMMAZIONE B-64304IT/02
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
- 260 -
B-64304IT/02 PROGRAMMAZIONE 14.MACROISTRUZIONI
A’
Vettore di offset
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.
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.
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'
- 265 -
16. FUNZIONI PER LA LAVORAZIONE
AD ALTA VELOCITA' PROGRAMMAZIONE B-64304IT/02
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.
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