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.
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:
M06
command between:
M06
command is found by the CNC Board none tool change procedure will be executed and the command will be ignored.
T0
, the tool geometry and graphic toolpath color will use the default values.
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed but requires H<tool_number>
argument to work, otherwise for default will be H0
.
M06
command is found by the CNC board the tool_change.ngc
macro will be executed.
T<tool_number>
command.
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed and H<tool_number>
argument is optional.
tool_change.ngc
.
Tool Change Type
set to Macro
/PLC
.
Tools Library
.
T1
, Tool ID 99 = T99
.
%APPDATA%\RosettaCNC-1\machines\<your_machine_name>\macros\tool_change.ngc
.
File → Open Macros Folder
.
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:
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.
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.
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.
Tn M6
la macro va a misurare la lunghezza dell'utensile corrente.Tn M6
la procedura va a rimisurare la lunghezza dell'utensile corrente e ripete le operazioni del punto 5 fino a fine programma.
Alcune note importanti:
G43/G43.1/G43.2/G45/G47
“ o di annullamento della stessa ”G49
“.
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. |