La macro di cambio utensile normalmente è richiamata dalla CNC quando trova il comando
M06 come in tutte le CNC.
Se si apre il file sorgente, all'inzio, c'è una grande sezione di documentazione e dell'interfaccia argomenti della macro.
All'interno della macro di cambio utensile abbiamo messo tutta una serie di funzionalità che possono essere richiamate a bisogno
tramite il comando
G65 p"tool_change" e i parametri opzionali J e K:
Codice: Seleziona tutto
; Format
;
; M06
;
; G65 P"tool_change" Aa Bb Cc Ii [Jj] [K!]
;
; Arguments with M6 call
;
; Aa #1 tool id of the tool to be loaded
; Bb #2 slot of the tool to be loaded
; Cc #3 tool id of the tool in use
; Ii #4 slot of the tool in use
;
; Extra arguments with G65 call
;
; Jj #5 optional action:
; #0 = the option is disabled (is the normal condition when the macro is called by a M06)
; 0 = do not change behavior of tool-setter after a pick in M06 or direct macro call
; 1 = do not execute tool-setter after a pick
; 2 = force execute tool-setter after pick
; 3 = execute only tool-setter of loaded tool
; 4 = execute only magazine open
; 5 = execute only magazine close
; 6 = return magazine state in #<tc.atc.magazine_state>
; 7 = manually cone unload/load
; Kk #6 optional magazine argument:
; #0 = the option is disabled (is the normal condition when the macro is called by a M06)
; any = don't close magazine, is not the last operation (PICK/PLACE/TOOL-SETTER) to do yet
G65 P"tool_change" Aa Bb Cc Ii [Jj] [K!]
In pratica la macro quando chiamata da M06 trova gli argomenti Aa Bb Cc Ii impostati dalla stessa CNC, ove:
- Aa #1 = ID (numero) del tool che deve essere caricato
- Bb #2 = ID (se abilitato ATC altrimenti uguale ad Aa) dello slot contenente il tool che deve essere caricato
- Cc #3 = ID (numero) del tool attualmente caricato
- Ii #4 = ID (se abilitato ATC altrimenti uguale ad Cc) dello slot dove porre l'utensile attualmente caricato
Se chiamata da MDI o da macro da pulsante toolbar o da ingresso tramite G65 P"tool_change" Aa Bb.... è possibile fargli
fare una serie di operazioni come da lista sopra riportata.
Facciamo l'esempio di un MTC con cono ISO (Modo 2) ma dove non ho ancora pre-misurato l'utensile.
Dobbiamo iniziare una lavorazione e quindi:
- misurare l'utensile sul cono MAI misurato prima.
- attivare la compensazione dell'utensile misurato.
- fare lo zero (modo classico).
Si può aggiungere una macro su un bottone della toolbar da richiamare prima di fare lo zero che fa questo:
G65 P"tool_change" A#5134 B#5134 C#5134 I#5134 J3"
G43 H#5134
M99
Il sistema andrà a misurare l'utensile sul mandrino (#5134 con lo slot uguale dato che è MTC), metterà il nuovo
valore misurato sulla tabella utensile e il G43 lo attiverà.
A questo punto lo zero fatto sul pezzo sarà coerente in quanto terrà conto dell'attuale lunghezza utensile
in uso. I successivi cambi saranno sempre congrui dato che lo zero (valore in WCS sarà al netto dell'utensile usato nella
prima misura).