[Immagine logo società]

La scelta giusta

Home
Su

GESTIONE DEGLI UTENSILI ('T', 'TA', 'TB')


Per ogni processo gli utensili presenti nel magazzino sono descritti in una 'TABELLA UTENSILI' che può essere 'globale' oppure 'locale' (in coda al part-program).

Si ripropone lo schema d'assegnazione tabelle globali/processi:

PROCESSO 0 1 23 4 5
TABELLA PARAMETRI 125 122 119 116 113 110
TABELLA ORIGINI 126 123 120 117 114 111
TABELLA UTENSILI 127 124 121 118 115 112

Si consiglia prudenza nell'uso delle sezioni locali, che devono essere usate solo se necessario e in accordo col costruttore.

Al reset è attiva la sezione 'globale'. Le sezioni 'locali' sono attivate da G37TL, mentre la sezione 'globale' è ripristinata da G37TG.

Le sezioni attive delle tabelle utensili iniziano con la riga: :TL

:TL A partire dalla riga successiva al ':TL' si possono inserire le righe degli utensili, contenenti 'T', numero dell'utensile e relativa descrizione con un numero totale di 247 caratteri; righe con maggiore numero di caratteri provocano allarme CN1D14 quando l’utensile è montato sul mandrino.

Lo spazio di memoria usato dalla tabella utensili è quello necessario agli utensili effettivamente descritti: gli utensili non inseriti non occupano spazio di memoria.

Esempio di riga di descrizione utensile:

T231#34L100R20

Utensile 231, posto 34, lunghezza 100, raggio 20

Ogni riga di descrizione deve iniziare con la lettera T, seguita dal numero utensile (fino a 9 cifre decimali intere gli zeri iniziali devono essere omessi) e dal carattere #. Nel nostro caso 'T231#'.

È IMPORTANTE che non ci siano spazi tra 'T' e '#' e che gli zeri iniziali siano omessi, altrimenti il CN non riconosce l'utensile programmato.

L'utensile zero si descrive con 'T0#...' (un solo zero).

# Il numero che segue '#' indica il posto assegnato all'utensile nel magazzino, posto che verrà

Posto fornito alla logica per la ricerca. Nel nostro caso '34'. Gli zeri iniziali del posto possono essere omessi.

Dopo il posto utensile possono essere inserite una serie di istruzioni con le stesse modalità con cui si programma una riga ISO (descrizione utensile). Nel nostro caso 'L100R20'.

Al momento del cambio utensile queste istruzioni ISO vengono normalmente eseguite dal CN, così come se costituissero una riga successiva a quella del cambio utensili.

Nel nostro caso l'esecuzione della descrizione utensile porterebbe ad assegnare al parametro L il valore 100, e al parametro R il valore 20.

La descrizione utensile ha la stessa efficacia di una riga ISO contenente le stesse istruzioni: la programmazione di L nella descrizione utensile provoca perciò il ricalcolo delle correzioni

Lunghezza lunghezza utensile e origini. La reale esecuzione della riga descrizione utensile avviene all’uscita (G26) del sottoprogramma di cambio utensile. Sul G26 finale del sottoprogramma si ha l’esecuzione della descrizione dell’utensile montato sul mandrino, con inizializzazione dei parametri in essa contenuti (vedere anche il capitolo delle origini).

Nella descrizione utensile possono essere inserite altre funzioni (F, S, M, ...) per abbreviare la programmazione.

Possono essere descritti nella tabella utensili due o più utensili con identico 'posto': ciò permette di gestire facilmente utensili multiuso, in quanto i diversi usi dello stesso utensile saranno contrassegnati da un 'T' diverso ma con un posto '#' identico. La descrizione dell'utensile potrà essere diversa in uno o più parametri, così da descrivere esattamente le caratteristiche dell'utensile da usare.

Una limitazione alla definizione multipla dello stesso utensile c'è in caso di cambio utensile 'random'. Vedere paragrafo “Utensili multiuso e gestione random” più avanti.

L'utensile è programmato nel programma-pezzo col parametro T seguito da un numero fino a 8 cifre intere decimali. Gli zeri iniziali possono essere omessi (ma non è necessario ometterli). Ricordare che gli zeri iniziali del numero dopo T devono essere omessi nella tabella utensili.

Per esempio:

T1234 indica che è programmato l'utensile 1234.

La programmazione delle T richiede l'arresto (vedere anche capitolo “Funzioni preparatorie G” paragrafo “Funzioni G”.

La programmazione della T chiede al CN di comunicare alla logica di macchina quale è l'utensile futuro, ma non provoca immediatamente il cambio utensile: il cambio utensile viene fatto con la istruzione M6, che può essere programmata nella stessa riga oppure in righe successive.

All'accensione e a ogni inizio programma la descrizione dell'utensile montato sul mandrino viene analizzata e i parametri programmati nella descrizione sono inizializzati di conseguenza.

Non è necessario che gli utensili siano inseriti in ordine crescente di T, anche se ciò è utile per facilità di consultazione.

Esempio di sezione utensili:

:TL
T471#32 L100 R20(FRESA D40 HSS)
T472#32 L50 R30 (fisicamente è il 471, con correttori diversi)
T371#16
T12#27(PUNTA D10 HSS) L80 R5 S1000 F200

...

Per il corretto funzionamento del sistema, lo Z32 deve sempre conoscere quale utensile è montato sul mandrino, anche passando da un programma all'altro e dopo uno spegnimento.
Poiché l'utensile che è montato sul mandrino può provenire dalla sezione globale o da una qualsiasi delle sezioni locali, lo Z32 deve conoscere:
- il numero dell'utensile T
- il numero del file contenente la sezione da cui proviene l'utensile.
Queste informazioni sono memorizzate dallo Z32 nella prima riga del file globale 127. per esempio, se la prima riga della tabella contiene:
T12P3 significa che sul mandrino è montato l'utensile T12 proveniente dal programma 3.
Se non è contenuta l'informazione P... l'utensile è considerato proveniente dalla tabella globale.

- Utensili, Esecuzione riga ISO CNC Z32 Programmazione

La prima riga della tabella è aggiornata automaticamente dal CN ad ogni cambio utensile effettuato: può essere modificata dall'operatore in caso di operazioni manuali sugli utensili.

Nel caso di scrittura ex novo della tabella utensili, occorre sempre inserire questa prima riga, anche nel caso che il mandrino sia vuoto (consultare il costruttore della macchina utensile per il

numero utensile convenzionalmente assegnato all'utensile nullo: di solito T0 o T1).

Se manca la tabella utensili il CN dà allarme:

CN 1D14 ERRORE PROGRAMMA

Se manca o è errata l'indicazione dell'utensile sul mandrino (1a riga tabella) oppure manca la sezione utensili dalla quale proviene l'utensile sul mandrino il CN dà allarme:

CN 2F14 UTENSILE

Se invece non esiste il file dal quale deve provenire l'utensile montato sul mandrino (per esempio, la prima riga del file 127 è T10P40 e il file 40 non esiste) viene l'allarme:

CN 0914 ERRORE FILE (file non esistente).

La sintassi della riga iniziale del file 127 che definisce l’utensile attivo, ammette solo le seguenti strutture:

Tnn blanks 0DH
TnnPnn blanks 0DH
TnnPnnJnn blanks 0DH

Ogni altra struttura provoca errore utensile.

Per la descrizione del significato del parametro J vedere più avanti il paragrafo “Gestione delle famiglie utensili”.

Dopo la prima riga e prima del ':TL' può essere inserita una descrizione qualsiasi, che viene ignorata dallo Z32.

Gestione random
Lo Z32 permette di realizzare una semplice ed efficiente gestione 'random' dell'utensile. Per questa prestazione sono usate le istruzioni di lettura e scrittura in memoria permanente (descritte nel capitolo “Righe evolute”) nel sottoprogramma speciale associato alla M6.

Questo sottoprogramma è scritto dal costruttore della macchina utensile per il migliore adattamento alle caratteristiche della macchina stessa.

Qui di seguito si dà un esempio di sottoprogramma in cui sono dettagliate solo le operazioni rilevanti ai fini della gestione random.

Si è fatta l'ipotesi che l'utensile sul mandrino e quello nel magazzino siano scambiati tra loro durante l'M6.

Per convenzione, l'utensile T0 è l'utensile nullo, ossia T0 rappresenta un posto vuoto, mentre il posto 0 rappresenta il mandrino. Per esempio, T0#0 rappresenta il mandrino vuoto.

Nell'esempio che segue sono state omesse le istruzioni specifiche che dipendono dalla struttura elettromeccanica del cambio.

ATTENZIONE

Questo esempio è da considerarsi solo un esempio didattico destinato al costruttore della macchina utensile. L'utente finale dovrà seguire le istruzioni date dal costruttore.

SOTTOPROGRAMMA M6 A GESTIONE RANDOM%

... istruzioni iniziali di predisposizione

N10 !IF TA<>0;ERRORE! test di TA

//N11 !GON1000! in ricerca blocco salta a fine

...

N100 MC9999 segnala a logica cambio iniziato

.... scambia fisicamente gli utensili

N200 !:WS#=TB!:WT#=TA! aggiorna la tabella utensili

N201 T<T> conferma T per visualizzare

N202 M6 conferma M6

N203 MC9998 segnala a logica cambio completato

N1000 G26 fine sottoprogramma

NOTE:
N10 Qui TA deve essere sempre zero perché è il posto dell'utensile che è sul mandrino
N11 In ric. blocco il cambio non deve essere eseguito per evitare false segnalazioni di cambio terminato (N203) e false scritture nel posto utensile (N200). Ciò non provoca errori nel numero progressivo perché tutto il sottoprogramma speciale conta 1 sia in esecuzione che in ricerca blocco.

N100 La logica deve memorizzare MC9999 in un bit dell'area ritentiva per segnalare cambio in corso e non completato. Il bit è resettato a N203. In caso di interruzione di cambio, dovrà essere richiesto l'intervento attento dell'operatore, per ripristinare la corrispondenza tra quanto scritto nella tabella utensili e la situazione fisica della macchina. MC9999 è solo un esempio: possono essere usate altre M, G100, PAL[ ] (indice>255), ecc.

N200 Scrive i nuovi posti utensili. Per il CN (che non ha occhi!) poiché non è ancora stato confermato M6 (N202) l'utensile sul mandrino è ancora il vecchio utensile, e l'utensile programmato è il nuovo utensile. Questa istruzione perciò:

- mette il posto del nuovo utensile (salito sul mandrino) nel posto del vecchio utensile (tornato nel magazzino) - mette zero (N10 TA=0) nel posto del nuovo utensile (salito sul mandrino)

N201 La descrizione di T presentata sul video (è stata presa al momento della programmazione di T... nel programma principale) ha ancora il posto del vecchio utensile, cioè non contiene posto zero (che c'è da N200). Con questa istruzione sul video viene la rappresentazione corretta (posto zero)

N202 Conferma M6 per far acquisire al CN la nuova situazione. Con questa istruzione è anche aggiornata la prima riga della tabella utensili (T...P...).

N203 Segnala il completamento cambio. Questa istruzione non deve essere eseguita in ricerca blocco (altrimenti una eventuale segnalazione di cambio interrotto viene perduta) e deve seguire M6 (altrimenti una eventuale interruzione proprio in mezzo lascia la macchina con gli utensili scambiati ma la tabella utensili non aggiornata.

Utensili multiuso e gestione random
Col cambio random descritto al paragrafo precedente non è possibile definire con due 'T' diverse lo stesso utensile fisico per cambiarne i correttori: in questo caso infatti sarebbe aggiornato il solo posto dell'utensile programmato e non degli altri fisicamente uguali.

La soluzione più semplice a questo problema è che sia l'utente finale a organizzare la descrizione utensile e il programma in modo da gestirsi l'uso multiplo.

Per esempio, sia l'utensile multiplo T100 definibile con due correttori:

1) L100 R30
2) L150 R20

L'utensile viene così descritto:

T100#... L100 R30 LX150 RX20

Quando viene richiamato l'utensile con correttori 100/30 non dovrà essere fatta altra operazione, in quanto L100 R30 sono già stati letti nella descrizione utensili.

Se si vuole invece richiamare la coppia 150/20 si deve programmare:

...
T100M6
L<LX> R<RX>
...

Con la gestione, molto semplice, sopra descritta, L e R nella descrizione utensile sono sempre quelli relativi a una coppia di correttori: eventuali macroistruzioni che leggono o scrivono (per esempio con :R o :W) nei parametri 'L' e 'R' dell'utensile funzionano solo con questa coppia. Se si vuole eliminare questa limitazione si può fare una gestione appena più complessa:

TABELLA UTENSILI
...
T100#... L0 R0 LX100 RX30 LY150 RY20

...
PROGRAMMA

...
T100 M6
L<LX>R<RX>
... in questa parte di prg. sono attivi LX e RX
!:WSLX=L,RX=R! a fine uso, ripristina LX e RX
T200 M6

...
T100 M6
L<LY> R<RY>
!:WSL=L,R=R!

... qui sono attivi LY e RY
!:WSLY=L,RY=R!
...

In altre parole, dopo aver cambiato l'utensile si attiva e si scrive nella descrizione utensile la coppia desiderata. Prima di riporre l'utensile nel magazzino viene aggiornata la coppia di correttori interessata con quanto scritto in L e R: in questo modo è salvato in MEMORIA PERMANENTE anche il risultato di eventuali macroistruzioni che modifichino L o R.

Gestione vita utensile
Le istruzioni eseguibili dallo Z32 consentono al costruttore della macchina utensile di realizzare, nel suo sottoprogramma speciale di cambio utensile, la gestione della vita utensile.

Qui di seguito si dà un esempio di come può essere organizzata la gestione vita: il costruttore della macchina utensile può però costruire gestioni diverse e meglio adatte ai suoi scopi: si rimanda l'utente finale alle informazioni date dal costruttore.

La descrizione dell'utensile contiene il parametro US che rappresenta l'usura dell'utensile. Il valore è 1000 per utensile nuovo, e scende verso zero con l'uso.

Il parametro US è aggiornato nella descrizione utensile ad ogni cambio effettuato: l'entità dell'usura è decisa dal programmatore secondo la pesantezza della lavorazione.

Per esempio, se una lavorazione può essere ripetuta 120 volte prima che l'utensile sia da sostituire, il programmatore dovrà specificare una usura di 8.34 (=1000/120). In questo modo lo stesso utensile può essere impiegato per varie lavorazioni, ognuna delle quali incide sulla vita in proporzione al proprio peso.

L'aggiornamento del parametro US nella descrizione utensili è fatto all'interno del sottoprogramma speciale M6, tramite il parametro HU passato dal programma principale.

Quando un utensile è completamente usurato può essere sostituito da un altro presente sul magazzino: nella descrizione dell'utensile usurato è contenuto il parametro TS che indica l'utensile sostitutivo. Più utensili sostitutivi possono essere messi in catena. L'ultimo della catena ha TS=0. Quando l'ultimo utensile della catena è completamente usurato il CN dà allarme.

TABELLA UTENSILI
...
T10#...R..L..TS11 US1000 può essere sostituito da T11
T11#...R..L..TS12 US905 in parte usurato sostituibile da T12
T12#...R..L..TS0 US1000 ultimo della catena di T10
...
T20#...R.. L.. TS0 US1000 non ha sostitutivo
...
PROGRAMMAPEZZO
...%
N1 HU0 T10 M6 lavoro con T10: 120 cambi esauriscono T10
N100 HU8.34 T30 M6
...
SOTTOPROGRAMMA SPECIALE M6
... ricerca utensili sostitutivi, anche in ric. blocco

N1 !:RT US=US! IF US>0; GO//N5! :RT TS=TS!
N2 !IF TS<=0; NON C'È SOSTITUTO!
N3 T<TS>
N4 !GON1! ripete in cerca di un utensile buono
//N5 !GON7! in ricerca blocco non aggiorna usura utensile
N6 !IF HU=0;EB! :RS US=US!US = US-HU! :WS US=US!

aggiorna stato usura utensile precedente
N7... continua con cambio normale

Gestione delle famiglie utensili
Questa prestazione è dedicata soprattutto al costruttore della macchina utensile che la può usare nei suoi sottoprogrammi speciali di cambio utensile.
E’ ora possibile la gestione di "famiglie" utensili, che sono formate da più utensili con lo stesso "T". Per esempio ci potrebbero essere nella tabella utensili tre utensili della famiglia T4:
T4#8L10,3R4
T4#9L12R4,002
T4#10L11,76R4
...
La gestione delle famiglie utensili dal punto di vista utente contiene vari aspetti:

- riconoscimento dell'individuo nella famiglia
- programmazione della T col numero nella famiglia
- memorizzazione del numero in famiglia dell'utensile attivo
- ricerca del numero di individui di una famiglia
- accesso all'individuo da part-program con :R e :W
- modifica di parametri utensile da attività 4
- accesso all'individuo da DTO di attività 4 e 5
Riconoscimento dell'individuo nella famiglia
Il numero nella famiglia coincide con la posizione nella tabella utensili:
numero 1 = il primo
numero 2 = secondo ...
Programmazione della T e numero nella famiglia
La programmazione del numero nella famiglia si ottiene col parametro J, che deve essere contenuto nella stessa riga dove è programmata T. Esempio:

T4 J2

Chiede la ricerca del secondo utensile della famiglia dei T4.

Perché il parametro J sia interpretato come numero nella famiglia non devono esserci altri parametri nella riga, con esclusione delle M. Per esempio:

T4 J2 M6

Ricerca e cambio utensile del 2.o della famiglia T4

T4 G2 X10 Y0 I5 J0

Ci sono altri parametri (quote assi e I), quindi J non ha il significato di numero nella famiglia (sarà eseguito un arco di cerchio)

T4 HX0 J2

C'è il parametro di sistema HX, quindi J2 non è interpretato come numero nella famiglia e ci sarà un allarme di programmazione perchè J è interpretato come quota del centro che non è ammessa da sola.

Se il parametro J non è programmato si ha il funzionamento compatibile con le versioni precedenti: è riconosciuto il primo.

Il numero nella famiglia può' essere da 1 a 256.

Valori diversi danno errore parametri incompatibili, salvo il valore -1 che ha il significato speciale di ricerca del numero di membri della famiglia.

Valori frazionari sono arrotondati all'intero.
Se il numero nella famiglia è superiore al numero di membri si ha un errore utensile.
Ricerca del numero di individui di una famiglia
Per evitare allarmi di programmazione può' essere utile conoscere a priori quanti membri ci sono in una famiglia. Ciò si ottiene specificando come numero nella famiglia -1:

T4 J-1

Richiede di riconoscere quanti membri ha la famiglia T4.
Il risultato della ricerca viene restituito nel parametro J.
La ricerca viene effettuata nella sezione utensili attiva (ossia nella stessa sezione in cui sarebbe cercato il T programmato).

Se non ci sono utensili nella famiglia viene restituito J=0.

Memorizzazione del numero in famiglia dell'utensile attivo

L'utensile attivo è descritto in testa al file globale degli utensili (file 127 se processo zero) insieme al programma origine. Esempio:

T4P127

significa che è attivo l'utensile T4 della tabella globale file 127.

Se l'utensile non è il primo nella famiglia viene scritta anche questa caratteristica in testa al file globale:

T4P127J3

significa che è attivo il terzo utensile della famiglia T4 del file globale 127.

Se l'utensile è il primo della famiglia non viene scritto il parametro J, anche se la famiglia è composta di più membri. Quindi:

T4P127

significa che è attivo il primo o unico utensile della famiglia T4 del file 127.
Accesso all'individuo da part-program con :R e :W
I campi di riga evoluta :R e :W accedono ai parametri contenuti nella descrizione utensile.
Si accede correttamente all'utensile programmato o all'utensile attivo anche se questi non sono

il primo membro della famiglia.

Modifica di parametri utensile da attività' 4

La modifica dei parametri utensile, per esempio:

4 ENTRA L:0

avviene regolarmente senza bisogno di operazioni speciali: l'utensile è quello attivo, e viene regolarmente ricercato anche se non è il primo della famiglia.

Accesso all'individuo da DTO di attività 4 e 5

è possibile specificare il file origine dell'utensile e il suo numero nella famiglia, per esempio:

4 ENTRA DT42P127J2L+.1

J è seguito dal numero nella famiglia.

 

Questo sito rispetta la Privacy

Per qualsiasi domanda o commento su questo sito Web inviare un messaggio di posta elettronica a DP Soft S.r.l..

Copyright ©  DP Soft S.r.l.

Ultimo aggiornamento: 18-03-11