11. Tool Change
A Tool Change procedure will be started every time that the M06
command is found and executed by CNC Board.
The Tool Change procedure will execute the external macro ( <machine>\macros\tool_change.ngc
) to do all required actions.
After the Control Software installation, a default tool_change.ngc
macro is already available to supports most commons scenarios.
Is however possible to use a Text editor, or the Board Settings… → Tool Change → Macro
editor, to modify the tool_change.ngc
macro, and fit it to any CNC particular needs.
11.1 Tool Change Panel
The activity carried out by the CNC Board when executing a M06
command depends on the settings in the Setup → Board Settings… → Tool Change
panel:
In the panel there are 4 fields:
- Tool Change Type
- Defines the way in which the CNC Board manages the
M06
command between:
- None
- When a
M06
command is found by the CNC Board none tool change procedure will be executed and the command will be ignored. - The loaded tool info will be set to
T0
, the tool geometry and graphic toolpath color will use the default values. - In this case the H corrector (
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed but requiresH<tool_number>
argument to work, otherwise for default will beH0
.
- Macro
- When a
M06
command is found by the CNC board thetool_change.ngc
macro will be executed. - All actions to get the desired tool change procedure should be placed in that macro.
- The loaded tool info, the tool geometry, and the graphic toolpath color will be set to the tool specified with the
T<tool_number>
command. - In this case the H corrector (
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed andH<tool_number>
argument is optional.
- PLC
- It is reserved for custom versions of the CNC Board in which the Tool Change management is carried out directly in the CNC instead of the external macro
tool_change.ngc
. - Do not use without agreement and support from the CNC Board Support Team.
- Enable Slot ID
- This field is enabled only when the
Tool Change Type
set toMacro
/PLC
. - The Slot ID feature must be used ONLY if the CNC has an ATC (Automatic Tool Change) System.
- When the field is active it enables the possibility to define the Slot ID in the
Tools Library
. - There are two IDs for each tool: Tool ID and Slot ID.
- The Tool ID corresponds to the tool number, therefore Tool ID 1 =
T1
, Tool ID 99 =T99
. - The Slot ID instead identifies the position of the tool in the tool magazine.
- Tool ID 5 with Slot ID 8 means that tool 5 is in position 8 of the tool magazine, for example, a rack.
- It will then be the task of the macro, suitably written for your machine configuration, to manage the unloading of the tool in use and the withdrawal of the new one from the slot specified during the macro call.
- Macro
- The Macro sheet contains the code of the tool change macro.
- The G-Code editor integrated into the panel allows you to examine and edit the macro contents.
- However, it is possible to examine and modify this macro also through a normal ASCII Text Editor such as NotePad++ by directly accessing the file in the folder:
%APPDATA%\RosettaCNC-1\machines\<your_machine_name>\macros\tool_change.ngc
.- To fastly get into the macros folder you can also use the menu
File → Open Macros Folder
.
- Enable Random Tool Changer
- The option is currently disabled but foreseen in the CNC Board to manage the case of tool changes where the Slot ID is random and corresponds to the first free and available one.
11.2 Libreria utensili
Per poter usare un utensile nel programma questo deve essere presente nella libreria utensili:
Tramite la libreria utensili è possibile assegnare le caratteristiche ad ogni utensile come: Tipo di utensile, diametro, lunghezza, offsets, etc. Ogni tipo di utensile ha impostazioni specifiche. Il parametro lunghezza, oltre che per la mera rappresentazione grafica, è indispensabile in caso di compensazione altezza utensile con le istruzioni:
- G43 Enable Tool Length Compensation
- G43.1 Enable Dynamic Tool Length Compensation
- G43.2 Apply additional Tool Length Offset
- G43.4 Enable RTCP Feature
- G43.7 Enable RTCP Feature and override tool offsets using user defined arguments
Nella libreria possono essere messi tutti gli utensili a disposizione mentre i campi Tool ID (ID utensile) e Slot ID possono essere variati a piacere per rappresentare la configurazione della lavorazione e quindi assegnare
l'ID utensile usato nel programma a un utensile nella libreria. Con il tasto destro del mouse compare un menu che permette di disabilitare tutti i Tool ID o Slot ID in un colpo solo e facilitare l'operazione della
riassegnazione degli ID.
La libreria utensili permette operazioni di Importazione / Esportazione per facilitare il salvataggio e recupero di una configurazione legata ad una lavorazione che potrebbe essere rieseguita molte volte nel tempo.
11.3 Macro cambio utensile
Al momento dell'installazione, nella cartella macros della macchina di default RosettaCNC
%HOMEPATH%/Documents/RosettaCNC-1/machine/RosettaCNC/macros/
è già presente il file tool_change.ngc con un esempio di macro per il cambio utensile di tipo manuale.
Questa macro è stata creata per supportare l'utente della CNC nelle configurazioni di cambio utensile manuale più comuni ma può essere modificata ed ampliata dall'utente stesso per meglio adattarsi alle proprie esigenze.
Inoltre per aumentare la flessibilità la macro può essere configurata nel comportamento tramite l'utilizzo dei parametri “Protected Variables” presenti nella “Libreria parametri” pannello “Protected”:
Il parametro 6000 definisce il comportamento del cambio utensile. Al momento è definito solo il comportamento per il valore zero. Nel capitolo successivo è illustrata questa implementazione.
11.4 Tool Change Type 0 - Misura automatica lunghezza utensile
Con questo tipo di cambio utensile si ottiene la misurazione automatica della lunghezza utensile in uso.
Esso si applica sia nel caso di mandrini porta utensili a pinza fissa che con mandrini con cono in qui non si voglia gestire la fase di PRE-SETTINGS.
Dato che, durante la procedura di cambio, la “Lunghezza” utensile viene automaticamente misurata il relativo campo nella tabella utensili ha solo funzione grafica.
Un esempio di mandrino a pinza fissa è illustrato nella seguente figura:
Per la misurazione della lunghezza utensile è necessario avere un sensore di acquisizione (TOOL LENGTH PROBE) a posizione meccanica nota.
Un esempio di sensore è illustrato nella seguente figura:
Il compilatore del codice G richiede che in libreria utensili vi siano tutti gli utensili usati da un programma.
L'uso di questa macro, in ogni caso, permette di poter trascurare il campo Lunghezza in quanto tale valore verrà calcolato in automatico dalla macro stessa.
Vediamo in dettaglio la sequenza di utilizzo di questo cambio utensile.
Si suppone per semplicità che il G-Code da eseguire sia generato con zero sulla sommità pezzo.
- Si predispone sul mandrino il primo utensile usato dalla lavorazione.
- Si esegue lo zero pezzo sul materiale.
- Viene avviata la lavorazione.
- Appena la CNC incontrata l'istruzione
Tn M6
la macro va a misurare la lunghezza dell'utensile corrente.
- Fatta la misurazione la CNC si porta nella posizione di cambio utensile e attende che venga effettuato il cambio dall'operatore.
A questo punto comparirà il seguente pannello con la descrizione dell'utensile da caricare:
Nel caso in cui l'utensile caricato sia già quello richiesto è sufficiente confermare l'operazione con Ripresa.
- Viene quindi effettuata una nuova misurazione della lunghezza dell'utensile appena caricato.
- L'esecuzione prosegue con la lavorazione per l'utensile attivo.
- Appena viene incontrata un'altra istruzione
Tn M6
la procedura va a rimisurare la lunghezza dell'utensile corrente e ripete le operazioni del punto 5 fino a fine programma.
11.4.1 Note
Alcune note importanti:
- Questa procedura utilizza la lunghezza utensili per rappresentare una differenza tra l'utensile scaricato e quello caricato durante la procedura di cambio utensile.
Tale valore viene messo in esecuzione come valore immediato “G43.1 Zn” e non viene salvato nella libreria utensili. - Il part program NON deve contenere istruzioni di compensazione lunghezza utensile ”
G43/G43.1/G43.2/G45/G47
“ o di annullamento della stessa ”G49
“. - La misurazione avviene sempre con due tocchi. Il secondo è effettuato ad una velocità ridotta per aumentare la precisione e ripetibilità.
11.4.2 Parametri
Vediamo in dettaglio i parametri da impostare per caratterizzare il funzionamento:
Parameter | Name | Description |
---|---|---|
#6000 | TOOL_CHANGE : Tool change type: | Impostare a zero. |
#6001 | TOOL_CHANGE : Tool change features: | 0 = non ritorna al punto XY iniziale. 1 = ritorna al punto XY iniziale |
#6002 | TOOL_CHANGE : Tool change position X (MCS) | posizione X macchina dove l'operatore effettua il cambio utensile |
#6003 | TOOL_CHANGE : Tool change position Y (MCS) | posizione Y macchina dove l'operatore effettua il cambio utensile |
#6004 | TOOL_CHANGE : Tool change position Z (MCS) | posizione Z macchina dove l'operatore effettua il cambio utensile |
#6005 | TOOL_CHANGE : Sensor safe position Z (MCS) | posizione di sicurezza Z usate per attraversare il piano di lavoro e raggiungere le coordinate sensore o cambio utensile |
#6006 | TOOL_CHANGE : Sensor top/center position X (MCS) | posizione X macchina dove si trova il sensore di misura |
#6007 | TOOL_CHANGE : Sensor top/center position Y (MCS) | posizione Y macchina dove si trova il sensore di misura |
#6008 | TOOL_CHANGE : Sensor top/center position Z (MCS) | posizione Z alla quale il mandrino toccherebbe il sensore se fosse privo di utensile |
#6009 | TOOL_CHANGE : Feed during tool change procedure | feed durante i movimenti di attraversamento |
#6010 | TOOL_CHANGE : Z approaching sensor position (MCS, reached with FAST feed #6011) | posizione Z alla quale il mandrino scende ad una velocità elevata. Questa quota va impostata in modo che anche con l'utensile più lungo utilizzabile non venga mai premuto il sensore. |
#6011 | TOOL_CHANGE : Z feed to sensor approaching (FAST) | feed durante la discesa rapida verso il sensore |
#6012 | TOOL_CHANGE : Z feed to 1st probe input capture (SLOW) | feed durante la prima discesa. Impostare una velocità bassa. |
#6013 | TOOL_CHANGE : Z feed to 2nd probe input capture (VERY SLOW) | feed durante la seconda discesa. Impostare una velocità molto bassa per aumentare la precisione. |
#6014 | TOOL_CHANGE : Z up movement after 1st touch capture (REL) | spazio eseguito dall'asse Z per disimpegnare il sensore e prepararsi al secondo tocco. Inserire un valore piccolo, per esempio 3.0 mm |
#6015 | TOOL_CHANGE : Minimum tool lenght accepted | corrisponde alla lunghezza dell'utensile più corto che si vuole usare. E' un valore utilizzato durante il movimento per il secondo tocco, l'asse Z scende fino ad un valore indicato dal parametro 6008 maggiorato del presente parametro. |