Modifica del Post Processor
Cosa fa il Post Processor?
Il Post Processor è la sezione del programma che converte le coordinate XYZ, in modo che l’utensile si muova secondo un formato idoneo a un particolare router o utensile di macchina. Questo documento spiega come creare e modificare i file di configurazione che personalizzano l’emissione del programma, sulla base di un comando specifico della macchina.
Qui di seguito sono indicate le sezioni di un programma tipico soggetto a Post Processor in Codice G e HPGL
Emissione in Codice G
T1 M6
G17
G0 Z4.5000
G0 X0.0000 Y0.0000 S12000 M3
G0 X2.4567 Y7.8342 Z0.2500
G1 Z-0.0500 F5.0
G3 X3.3784 Y8.7559 I0.0000 J0.9218 F66.0
G3 X2.4567 Y9.6777 I-0.9218 J0.0000
G3 X1.5349 Y8.7559 I0.0000 J-0.9218
HPGL Output
IN;PA;
PU2496,7960;
PD2496,7960;
AA2496,8896,90.000
AA2496,8896,90.000
AA2496,8896,90.000
AA2496,8896,90.000
PU2496,7960;
PU2496,6096;
Spesso i produttori dei controller personalizzano il formato file necessario per l'esecuzione dei programmi su una data macchina, al fine di ottimizzare il controllo sulla base delle caratteristiche individuali della stessa.
Il Post Processor Vectric si avvale di file di configurazione basati su testo semplici, per consentire all’utente di personalizzare un file di configurazione, se lo desidera.
Sezioni del Post Processor
I Post Processor Vectric sono suddivisi in sezioni, ai fini della chiarezza. Provare a scrivere i Post Processor in modo simile, onde favorire il debugging.
Commenti sul file
Una sezione in cui è possibile descrivere il Post Processor e registrare le modifiche allo stesso; ogni riga è un commento e inizia con un carattere “+” o “|”.
+ History
+ Who When What
+ ======== ========== ===========================
+ Tony 14/07/2006 Written
+ Mark 26/08/2008 Combined ATC commands, stop spindle on TC
+================================================
Dichiarazioni sui file globali
Le dichiarazioni sono degli elementi usati una sola volta, o che hanno valori statici in tutto il file. Scrivere i nomi delle dichiarazioni in maiuscolo per maggiore chiarezza.
Dichiarazione | Risultato |
---|---|
| Il nome che sarà visualizzato nell’elenco dei Post Processor |
| L’estensione che sarà assegnata al file |
| L’unità di emissione del file (POLLICI o MM) |
| Il produttore dell’utensile della macchina ha fornito un driver (in genere un driver della stampante) in grado di accedere direttamente al file NC emesso (ad esempio, vedere Generic HPCL_Arcs.pp) |
| Indica che i movimenti di affondamento fino all’altezza di affondamento (Z2) (specificata nel modulo Impostazione materiale) sono movimenti rapidi |
| Il software di controllo usa un’interfaccia documento in grado accettare direttamente il file NC emesso. |
| Gli spostamenti nell’asse Y devono essere adagiati attorno a un cilindro del diametro specificato. I valori “Y” saranno emessi come “A” |
| Gli spostamenti nell’asse X devono essere adagiati attorno a un cilindro del diametro specificato. I valori “X” saranno emessi come “B” |
| La velocità del mandrino per la macchina è emessa come un intervallo di numeri interi compresi tra 1 e 15 che rappresentano la velocità effettiva in giri/min. del mandrino (tra 4.500 e 15.000 giri/min. nell’esempio fornito). Per un esempio vedere il file: Roland_MDX-40_mm.pp |
|
Supporto di suddivisione del nastro
Una sezione che descrive la modalità di suddivisione di un percorso utensile lungo:
TAPE_SPLITTING=MAX_NUM_LINES LINE_TOL "FILENAME_FORMAT" START_INDEX INDEX_ON_FIRST_FILE
Per esempio, un comando di:
TAPLE_SPLITTING=1000 100 "%s_%s.tap" 1 "YES"
L’emissione da suddividere in diversi file di massimo 1.000 righe (+ tuttavia, molte righe appartengono alla sezione del piè di pagine del Post Processor); se è presente un movimento di ritrazione dopo la riga 900 (1000 - 100), il file sarà diviso in tale movimento. Se il file è stato denominato “toolpath”, i file divisi saranno nominati toolpath_1.tap, toolpath_2.tap ecc. Il primo percorso utensile emesso sarà “ toolpath_ 1.tap"; non saranno emessi file denominati “toolpath” senza un numero indice (in quanto si usa INDEX_ON_FIRST_FILE= YES
), a meno che il file non contenga meno di 1.000 righe, nel caso non sarebbe diviso.
Nota
Alcuni controller che necessitano della divisione dei file NC contengono anche limitazioni sul numero di caratteri di un nome file. Ad esempio, possono necessitare che il file sia nominato secondo il formato di denominazione file MSDOS style 8.3. Occorre tenere presente tale fatto quando si assegna un nome al file emesso.
Caratteri di terminazione di una riga
LINE_ENDING="[13][12]"
Valori decimali dei caratteri aggiunti a ogni riga separata del file elaborato con il Post Processor (Sarà visivamente [13][10]) (Ritorno a capo, avanzamento riga) per ogni controller in grado di leggere un file di testo in formato Windows o MSDOS.
Numerazione blocchi
Se si desidera aggiungere numeri di riga al file emesso, il numero della riga corrente sarà aggiunto con la variabile [N]. Il comportamento di tale variabile è controllato dalle seguenti variabili:
Dichiarazione | Risultato |
---|---|
| Valore in cui deve iniziare la numerazione delle righe |
| Valore incrementale tra i numeri di riga |
| Il numero massimo di righe da emettere, prima di tornare nuovamente al valore Importante - Alcuni controller hanno un limite sul numero di righe che è possibile visualizzare sul comando |
Variabili
Variable Name | Output using | Value | Example File |
---|---|---|---|
|
| Current Feed Rate. | Mach2_3_ATC_Arcs_inch.pp |
|
| Current Cut Feed Rate. | CNCShark-USB_Arcs_inch.pp |
|
| Current Plunge Feed Rate. | CNCShark-USB_Arcs_inch.pp |
|
| Current Spindle Speed in R.P.M. | GCode_arc_inch.pp |
|
| Current power setting for jet-based tools (e.g. lasers) | grbl_mm.pp |
|
| Current Tool Number. | Mach2_3_ATC_Arcs_inch.pp |
|
| Previous Tool Number. | NC-Easy.pp |
|
| Line Number. | Mach2_3_ATC_Arcs_inch.pp |
|
| Name of Current Tool. | MaxNC_inch.pp |
|
| Text from Note field in ToolDB for current tool | Busellato_Jet3006_arc_inch.pp |
|
| Name of Current Toolpath. | Viccam_ATC_Arcs_inch.pp |
|
| Filename (Produced by “Save Toolpath(s)”). | ez-Router_inch.pp |
|
| Folder Toolpath File was saved to. | Woodp_arc_mm.pp |
|
| Toolpath File Extension. | TekcelE_Arc_ATC_3D.pp |
|
| Toolpath Folder Pathname. | WinPC-NC_ATC_Arcs_mm.pp |
|
| Current coordinate of tool position in X axis. | GCode_arc_inch.pp |
|
| Current coordinate of tool position in Y axis. | GCode_arc_inch.pp |
|
| Current coordinate of tool position in Z axis. | GCode_arc_inch.pp |
|
| Current coordinate of tool position in A axis. | |
|
| Arc centre in X Axis (relative to last X,Y position). | Mach2_3_ATC_Arcs_inch.pp |
|
| Arc centre in Y Axis (relative to last X,Y position). | Mach2_3_ATC_Arcs_inch.pp |
|
| Arc centre in X Axis (absolute coordinates). | Isel_arc_mm.pp |
|
| Arc centre in Y Axis (absolute coordinates). | Isel_arc_mm.pp |
|
| Start position of an arc in X axis. | TextOutput_Arcs_mm.pp |
|
| Start position of an arc in Y axis. | TextOutput_Arcs_mm.pp |
|
| Mid-point of arc in X (absolute coordinates). | TextOutput_Arcs_mm.pp |
|
| Mid-point of arc in Y (absolute coordinates). | TextOutput_Arcs_mm.pp |
|
| Mid-point of arc in X (incremental coordinates). | TextOutput_Arcs_mm.pp |
|
| Mid-point of arc in Y (incremental coordinates). | TextOutput_Arcs_mm.pp |
|
| The radius of an arc. | Bosch_ATC_Arcs_mm.pp |
|
| The angle of an arc. | Generic HPGL_Arcs.pp |
|
| Home tool position for X axis. | CAMTech_CMC3_mm.pp |
|
| Home tool position for Y axis. | CAMTech_CMC3_mm.pp |
|
| Home tool position for Z axis. | CAMTech_CMC3_mm.pp |
|
| Safe Z Height / Rapid Clearance Gap. | EMC2 Arcs(inch)(*.ngc) |
|
| Diameter of cylinder that axis is wrapped around. | Mach2_3_WrapY2A_ATC_Arcs_mm.pp |
|
| Length of material in X. | Mach2_3_ATC_Arcs_inch.pp |
|
| Length of material in Y. | Mach2_3_ATC_Arcs_inch.pp |
|
| Length of material in Z. | Mach2_3_ATC_Arcs_inch.pp |
|
| Minimum value of material in X. | MaxNC_inch.pp |
|
| Minimum value of material in Y. | MaxNC_inch.pp |
|
| Minimum value of material in Z. | MaxNC_inch.pp |
|
| Maximum value of material in X. | MaxNC_inch.pp |
|
| Maximum value of material in Y. | MaxNC_inch.pp |
|
| Maximum value of material in Z. | MaxNC_inch.pp |
|
| Origin Position in X. | TextOutput_Arcs_mm.pp |
|
| Origin Position in Y. | TextOutput_Arcs_mm.pp |
|
| Z Zero Position, Table or Material Surface. | TextOutput_Arcs_mm.pp |
|
| X, Y Origin. | TextOutput_Arcs_mm.pp |
|
| List of tools used (In order of use). | Mach2_3_ATC_Arcs_inch.pp |
|
| List of toolpaths used in file (in order of use). | Mach2_3_ATC_Arcs_inch.pp |
|
| Toolpath Notes (Toolpath Control form). | Mach2_3_ATC_Arcs_inch.pp |
|
| File Notes (Edit > Notes). | Mach2_3_ATC_Arcs_inch.pp |
|
| File creation time. | Mach2_3_ATC_Arcs_inch.pp |
|
| File creation date. | Mach2_3_ATC_Arcs_inch.pp |
|
| Dwell time in seconds when drilling. | Mach2_3_Arcs_inch.pp |
|
| Name of the product used to output file, including version number. | |
|
| Tool diameter. | |
|
| Rotary: Current Inverse Time Rate | AvidCNC_WrapX2A_G93_inch.pp |
Formato delle variabili
I valori sulla posizione dell’utensile, sulle velocità di avanzamento, sulle velocità del mandrino, ecc. sono inseriti nel file per mezzo di variabili. Le variabili sono usate in tutto il file e sono sostituite con il valore attuale dell’elemento interessato durante il post-processing del file. Ad esempio, le posizioni attuali dell’utensile in X, Y e Z sono inserite nel file per mezzo dell’emissione delle variabili, rispettivamente [X]
, [Y]
e [Z]
.
Scrivere i nomi delle variabili in maiuscolo per maggiore chiarezza.
Una variabile e formattata come segue:
VAR VARIABLE = [VO|WO|CS|VF|MX]
in cui
VO
= Emissione della variabile, ad esempio X, XF o F.WO
= Frequenza di emissione A=Sempre, C=Solo in caso di modifiche.CS
= Emissione delle stringhe di caratteri prima del valore.VF
= Formato valore, determina il formato di emissione del valore.MX
= Valore moltiplicatore.
Una variabile tipica
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VAR
- Questa riga è una variabile.- Nome variabile.
- Simbolo di uguale.
- Parentesi quadra aperta - (inizio dei parametri di formattazione della variabile).
- Etichetta variabile, ossia un’etichetta sostituita con il valore della variabile.
- Barra verticale - separatore di parametri.
A
= Emetti sempre valore,C
= Emetti valore solo in caso di modifiche- Barra verticale - separatore di parametri.
- Stringa di caratteri da stampare prima del valore della variabile.
- Barra verticale - separatore di parametri.
- Flag di formattazione opzionali - per informazioni dettagliate, vedere qui di seguito.
- Formato valore - valori unitari e numero di decimali da emettere.
- Barra verticale - separatore di parametri.
- Moltiplicatore di emissione - per informazioni dettagliate, vedere qui di seguito.
- Parentesi quadra chiusa - Fine dei parametri di formattazione.
Formattazione del valore di emissione
La stringa del valore deve essere formattata come segue:
FORMAT_FLAGS FIELD_WIDTH DECIMAL_SEPARATOR DECIMAL_PLACES
I flag di formattazione sono opzionali e necessari solo per un numero ridotto di controller di cui si tratterà a breve.
Larghezza campo La larghezza del campo rappresenta il numero minimo di caratteri emessi. La larghezza del campo è generalmente impostata su “1”; un valore maggiore è in genere necessario solo se un controller prevede di visualizzare un numero fisso di caratteri per il valore. In tal caso, è possibile inserire un numero maggiore di 1. Il numero inserito assicurerà l’emissione di tale numero di caratteri. Il numero che rappresenta la larghezza del campo comprende il numero intero a virgola mobile del valore di emissione (compreso il carattere di separatore decimale).
Separatore decimale Il carattere di separatore decimale è quasi sempre semplicemente un punto; tuttavia, alcuni controller si aspettano di vedere una virgola (per un esempio di Post Processor che non usa un punto, vedere il file: Heidenhain_inch.pp).
Decimali Il numero di decimali emessi dopo il separatore decimale. I valori sono spesso impostati su 3 per i controller che operano con un sistema metrico, o 4 per quelli che usano i pollici.
Flag di formattazione opzionali
È possibile modificare ulteriormente i valori emessi con i flag di formattazione opzionali:
Flag | Funzione | Predefinito (senza flag) |
---|---|---|
| Giustifica output a sinistra | I valori sono giustificati a destra |
| Inserisci "+" o "-" prima del valore | Solo i valori negativi sono preceduti da un prefisso |
| Se il valore contiene meno caratteri del limite minimo specificato, il valore sarà preceduto da zeri | Il valore è preceduto da spazi bianchi |
| I valori sono sempre emssi con un carattere di separazione (in pratica, ciò cambierebbe il valore di output solo se il valore è impostato esclusivamente su valori interi) | Quando l'output è impostato solo su numeri interi, il carattere non è aggiunto al valore. |
Formattazione predefinita per le variabili
La maggior parte delle variabili dispone di un formato predefinito (visualizzato qui di seguito); per specificare un formato differente, inserire la riga sotto nel Post Processor e modificare i parametri in base al controller.
Predefinito | Esempio |
---|---|
|
Il numero di riga sarà sempre emesso. Un carattere “N” sarà inserito prima del numero di riga. Il suddetto sarà emesso come numero intero |
|
La velocità del mandrino sarà sempre emessa. Un carattere “S” sarà inserito prima del valore e sarà emesso come numero intero. |
|
La velocità di avanzamento sarà emessa con un carattere F prima del valore e sarà emessa solo quando cambia. Il valore sarà emesso con 1 decimale Nota In questa stringa di formato è presente un parametro extra opzionale. Si tratta del moltiplicatore del valore. |
VAR PLUNGE_RATE = [FP|A||1.0] |
La velocità di affondamento sarà emessa con un carattere F prima del valore e sarà emessa solo quando cambia. Il valore sarà emesso con 1 decimale. Nota In questa stringa di formato è presente un parametro extra opzionale. Si tratta del moltiplicatore del valore. |
|
La velocità di taglio sarà emessa con un carattere F prima del valore e sarà emessa solo quando cambia. Il valore sarà emesso con 1 decimale. Nota In questa stringa di formato è presente un parametro extra opzionale. Si tratta del moltiplicatore del valore. |
|
Il valore della posizione sarà emesso con un carattere “X” prima del valore; la posizione sarà emessa sempre e sarà emessa con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore della posizione iniziale sarà emesso con un carattere “X” prima del valore; la posizione sarà emessa sempre e sarà emessa con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore sarà emesso con un carattere “X” prima del valore; la posizione sarà emessa sempre e sarà emessa con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
Nota In questa stringa di formato è presente un parametro extra opzionale. Si tratta del moltiplicatore del valore. |
|
Il valore sarà emesso con un carattere “Y” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore sarà emesso con un carattere “J” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore sarà emesso con un carattere “J” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
Nota In questa stringa di formato è presente un parametro extra opzionale. Si tratta del moltiplicatore del valore. |
|
Il valore sarà emesso con un carattere “X” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore sarà emesso con un carattere “X” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore sarà emesso con un carattere “R” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore sarà emesso con un carattere “A” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali; tale caso è generalmente idoneo a un controller che necessita di emissione secondo il sistema metrico. Se si desidera emettere i valori con 4 decimali, tale caso sarebbe più tipico per un controller che opera in pollici. In tal caso, si dovrebbe formattare la riga come segue.
|
|
Il valore sarà emesso con un carattere “X” prima del valore; il valore sarà emesso sempre e sarà emesso con 3 decimali. |
Valore moltiplicatore
Il valore moltiplicatore è usato per moltiplicare il valore al fine di emettere un valore differente. I motivi comuni per farlo sono:
Convertire l’emissione predefinita di un Post Processor in pollici da pollici al minuto a pollici al secondo (moltiplicare per 0,01666).
Convertire l’emissione predefinita di un Post Processor metrico da mm al minuto a mm al secondo (moltiplicare per 0,0166).
Trasformare valori negativi in positivi (e viceversa) (moltiplicare per -1).
Convertire l’emissione dell’angolo di un arco da radianti a gradi (moltiplicare per 57,2957795).
Moltiplicare o dividere per un fattore fisso (vale a dire, per produrre un modello in scala 1:4, moltiplicare per 0,25)
Blocchi del Post Processor
HEADER
+---------------------------------------------------
+ Commands output at the start of the file
+---------------------------------------------------
begin HEADER
"Commands"
L’intestazione è il luogo in cui le istruzioni che sono emesse una volta, all’inizio del file, configurano in genere i comandi modali del controller.
Ad esempio, l’intestazione può contenere un comando per visualizzare il nome file sul controller e una serie di “Codici G” di configurazione della macchina, come G20 per dire al comando che i movimenti sono in pollici, o G21 per dire al comando che i movimenti sono in millimetri.
Le variabili che si può desiderare di inserire nell’intestazione comprendono:
Informazioni sul blocco di materiale
- Estensione minima in X = [XMIN]
- Estensione minima in Y = [YMIN]
- Estensione minima in Z = [ZMIN]
- Estensione massima in X = [XMAX]
- Estensione massima in Y = [YMAX]
- Estensione massima in Z = [ZMAX]
- Lunghezza del materiale in X = [XLENGTH]"
- Lunghezza del materiale in Y = [YLENGTH]"
- Lunghezza del materiale in Z = [ZLENGTH]"
Informazioni sulla posizione iniziale
- Posizione iniziale in X = [XH]
- Posizione iniziale in Y = [YH]
- Posizione iniziale in Z = [ZH]
- Gap di svuotatura rapida o Z di sicurezza = [SAFEZ]
Dettagli sul primo utensile da usare.
- Numero di utensile = [T]
- Nome utensile = [TOOLNAME]
Velocità di taglio iniziali
- Velocità di avanzamento per il taglio e l’affondamento nel materiale = [F]
- Velocità di avanzamento mentre l’utensile taglia il materiale = [FC]
- Velocità di avanzamento mentre l’utensile affonda nel materiale = [FP]
I valori effettivi dipendono dalle UNITÀ impostate (cfr. Impostazioni file globali). I valori predefiniti sono MM/Minuto o Pollici/Minuto; tuttavia, è possibile modificare l’emissione impostando la formattazione “VAR FEED_RATE” pertinente.
Velocità del mandrino
- Velocità del mandrino = [S] Giri/Min.
TOOLCHANGE
+---------------------------------------------------
+ Commands output at toolchange
+---------------------------------------------------
begin TOOLCHANGE
"Commands"
- Numero dell’utensile precedente = [TP]
- Numero di utensile = [T]
- Nome utensile = [TOOLNAME]
- Nome del percorso utensile = [TOOLPATH_NAME]
- Nome del percorso del percorso utensile = [PATHNAME]
- Nome del file del percorso utensile = [TP_FILENAME]
- Directory del file del percorso utensile = [TP_DIR]
- Estensione del percorso utensile = [TP_EXT]
- Velocità del mandrino = [S] Giri/Min.
- M3 M Codice spesso usato per accendere il mandrino (rotazione in senso orario).
- M5 M Codice spesso usato per spegnere il mandrino.
NEW_SEGMENT
+---------------------------------------------------
+ Commands output for a new segment ( new toolpath with current toolnumber)
+---------------------------------------------------
begin NEW_SEGMENT
"Commands"
Per un esempio di una sezione NEW_SEGMENT, vedere il file: Mach2_3_ATC_Arcs_inch.pp
Comandi emessi quando un nuovo percorso utensile utilizza l’utensile al momento selezionato, ma magari è richiesta una velocità del mandrino differente, oppure la macchina necessita di istruzioni addizionali.
Non è necessario includere i comandi usati nella sezione NEW_SEGMENT all’interno della sezione TOOLCHANGE, in quanto una sostituzione di utensile richiamerà automaticamente le istruzioni contenute nella sezione NEW_SEGMENT.
Le variabili usate comunemente comprendono:
- Velocità del mandrino = [S] Giri/Min.
- M3 M Codice spesso usato per accendere il mandrino (rotazione in senso orario).
- M5 M Codice spesso usato per spegnere il mandrino.
INITIAL_RAPID_MOVE
+---------------------------------------------------
+ Commands output for Initial rapid move
+---------------------------------------------------
begin INITIAL_RAPID_MOVE
"Commands"
Per un esempio di una sezione INITIAL_RAPID_MOVE, vedere il file: Saom_OSAI_Arc_inch.pp
Comandi emessi all'effettuazione del primo movimento altamente rapido dopo l’intestazione o un cambio di utensile. Sezione non usata per la maggior parte dei Post Processor, ma utile se il primo movimento altamente rapido deve emettere informazioni differenti per i movimenti rapidi successivi. Tale sezione è talvolta necessaria per le varianti HPGL.
RAPID_MOVE
+---------------------------------------------------
+ Commands output for rapid moves.
+---------------------------------------------------
begin RAPID_MOVE
"Commands"
Comandi emessi quando sono necessari movimenti rapidi.
FIRST_FEED_MOVE
+---------------------------------------------------
+ Commands output for first feed rate move in a series of feed moves.
+---------------------------------------------------
begin FIRST_FEED_MOVE
"Commands"
Questa sezione è comunemente usata quando i controller necessitano dell’impostazione della velocità di avanzamento al primo movimento; tale velocità sarà quindi usata per i movimenti di taglio successivi.
Per un esempio di una sezione FIRST_FEED_MOVE, vedere il file: Axyz_Arcs_ATC_inch.pp
FEED_MOVE
+---------------------------------------------------
+ Commands output for feed rate moves
+---------------------------------------------------
begin FEED_MOVE
"Commands"
Usati per emettere le informazioni necessarie per ogni movimento, o per tutti i movimenti di avanzamento, fato salvo per il primo, nel caso in cui sia presente una sezione FIRST_FEED_MOVE nel Post Processor.
FIRST_CW_ARC_MOVE
+---------------------------------------------------
+ Commands output for the first clockwise arc move in a series of cw arc moves
+---------------------------------------------------
begin FIRST_CW_ARC_MOVE
"Commands"
Simile alla sezione FIRST_FEED_MOVE, ma relativa ai segmenti ad arco in senso orario. Questa sezione è comunemente usata quando i controller necessitano dell’impostazione della velocità di avanzamento per il primo segmento ad arco; tale velocità sarà quindi usata per i movimenti ad arco successivi nella stessa direzione.
Per un esempio di una sezione FIRST_CW_ARC_MOVE, vedere il file: Centroid_Arcs_inch.pp
FIRST_CW_HELICAL_ARC_PLUNGE_MOVE
+---------------------------------------------------
+ Commands output for clockwise helical arc plunge move in a series of moves.
+---------------------------------------------------
begin FIRST_CW _HELICAL_ARC_MOVE
"Commands"
Simile alla sezione FIRST_CW_ARC_MOVE, ma relativa agli spostamenti eseguiti anche in Z. Le velocità di avanzamento emesse derivano dalla velocità di affondamento specificata per l’utensile.
Per un esempio di una sezione CW_HELICAL_ARC_PLUNGE_MOVE, vedere il file: Mach2_3_ATC_Arcs_inch.pp
FIRST_CW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Commands output for clockwise helical arc move in a series of moves.
+---------------------------------------------------
begin FIRST_CW_HELICAL_ARC_MOVE
"Commands"
Simile alla sezione FIRST_CW_ARC_MOVE, ma relativa agli spostamenti eseguiti anche in Z.
Per un esempio di una sezione CW_HELICAL_ARC_MOVE, vedere il file: Mach2_3_ATC_Arcs_inch.pp
CW_ARC_MOVE
+---------------------------------------------------
+ Commands output for clockwise arc moves.
+---------------------------------------------------
begin CW_ARC_MOVE
Simile alla sezione FEED_MOVE, ma relativa ai segmenti ad arco in senso orario.
Per un esempio di una sezione CW_ARC_MOVE, vedere il file: Centroid_Arcs_inch.pp
CW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Commands output for clockwise helical arc moves
+---------------------------------------------------
begin CW_HELICAL_ARC_MOVE
"Commands"
Simile alla sezione CW_ARC_MOVE, ma relativa agli spostamenti eseguiti anche in Z.
Per un esempio di una sezione CW_HELICAL_ARC_MOVE, vedere il file: Mach2_3_ATC_Arcs_inch.pp
FIRST_CCW_ARC_MOVE
+---------------------------------------------------
+ Commands output for the first counter-clockwise arc move in a series of ccw arc moves.
+---------------------------------------------------
begin FIRST_CCW_ARC_MOVE
"Commands"
Simile alla sezione FIRST_FEED_MOVE, ma relativa ai segmenti ad arco in senso antiorario. Questa sezione è comunemente usata quando i controller necessitano dell’impostazione della velocità di avanzamento per il primo segmento ad arco; tale velocità sarà quindi usata per i movimenti ad arco successivi nella stessa direzione.
Per un esempio di una sezione FIRST_CCW_ARC_MOVE, vedere il file: Centroid_Arcs_inch.pp
FIRST_CCW_HELICAL_ARC_PLUNGE_MOVE
+---------------------------------------------------
+ Commands output for counter- clockwise helical arc plunge move in a series of moves.
+---------------------------------------------------
begin FIRST_CCW_HELICAL_ARC_MOVE
"Commands"
Simile alla sezione FIRST_CCW_ARC_MOVE, ma relativa agli spostamenti eseguiti anche in Z. Le velocità di avanzamento emesse sono comprese nel range di affondamento specificato per l'utensile.
Per un esempio di una sezione CCW_HELICAL_ARC_PLUNGE_MOVE, v: Mach2_3_ATC_Arcs_inch.pp
FIRST_CCW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Commands output for first counter-clockwise helical arc move in a series of moves.
+---------------------------------------------------
begin FIRST_CCW_HELICAL_ARC_MOVE
"Commands"
Similar to the FIRST_CCW_ARC_MOVE section, but for moves that also move in Z.
For an example of a CCW_HELICAL_ARC_MOVE section, see the file: Mach2_3_ATC_Arcs_inch
CCW_ARC_MOVE
+---------------------------------------------------
+ Commands output for counter-clockwise arc moves.
+---------------------------------------------------
begin CCW_ARC_MOVE
"Commands"
Simile alla sezione FEED_MOVE, ma relativa ai segmenti ad arco in senso antiorario.
Per un esempio di una sezione CCW_ARC_MOVE, vedere il file: Centroid_Arcs_inch.pp
CCW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Commands output for counter-clockwise helical arc moves
+---------------------------------------------------
begin CCW_HELICAL_ARC_MOVE
"Commands"
Simile alla sezione FIRST_CCW_ARC_MOVE, ma relativa agli spostamenti eseguiti anche in Z.
Per un esempio di una sezione CCW_HELICAL_ARC_MOVE, vedere il file: Mach2_3_ATC_Arcs_inch
FOOTER
Il piè di pagina è la sezione del Post Processor riservate alle istruzioni che sono inviate al controller alla fine di un file. Può trattarsi di istruzioni per riportare l’utensile nella posizione iniziale, per spegnere il mandrino o disattivare l'alimentazione delle trasmissioni.
+---------------------------------------------------
+ Commands output at the end of the file
+---------------------------------------------------
begin FOOTER
"Commands"
Le variabili usate comunemente comprendono:
- G00 [XH] [YH] [ZH] Ritorno rapido alla posizione iniziale X,Y,Z.
- M05 M Codice spesso usato per spegnere il mandrino.
- M30 M Codice spesso usato per indicare la fine del file.
Sezioni di supporto del getto
Le seguenti sezioni si riferiscono al supporto degli utensili di taglio basati su getto, come laser, plasma e getti d’acqua.
JET_TOOL_POWER
+---------------------------------------------------
+ Commands output when the cutter's power is set
+---------------------------------------------------
begin JET_TOOL_POWER
"Commands"
Per un esempio di una sezione JET_TOOL_POWER, vedere il file: Grbl.pp
Comandi emessi quando la potenza è impostata in associazione con un “utensile” a laser.
JET_TOOL_ON
+---------------------------------------------------
+ Commands output when the cutter's power is turned ON
+---------------------------------------------------
begin JET_TOOL_ON
"Commands"
Per un esempio di una sezione JET_TOOL_ON, vedere il file: Grbl.pp
Comandi emessi all’accensione dell’utensile a getto. È generalmente equivalente a SPINDLE_ON, ma è in genere emesso alla fine di un movimento di affondamento, quanto il taglierino laser è già all’altezza di taglio prevista, invece che prima del movimento di affondamento, come richiesto da un taglierino basato su mandrino.
JET_TOOL_OFF
+---------------------------------------------------
+ Commands output when the cutter's power is turned OFF
+---------------------------------------------------
begin JET_TOOL_OFF
"Commands"
Per un esempio di una sezione JET_TOOL_OFF, vedere il file: Grbl.pp
Comandi emessi allo spegnimento dell’utensile a getto.
Altre sezioni usate con meno frequenza
FEED_RATE_CHANGE
+---------------------------------------------------
+ Commands output when feed rate changes
+---------------------------------------------------
begin FEED_RATE_CHANGE
"Commands"
Per un esempio di una sezione FEED_RATE_CHANGE, vedere il file: Gravograph_IS200.pp
Comandi emessi alla modifica della velocità di avanzamento. Questa sezione non è usata di frequente, in quanto molti controller accetteranno le modifiche alle velocità di avanzamento aggiunte ad altre istruzioni, ma talvolta usate con varianti HPGL.
FIRST_PLUNGE_MOVE
+---------------------------------------------------
+ Commands output for the First Plunge Move, in a series of plunge moves.
+---------------------------------------------------
begin FIRST_PLUNGE_MOVE
"Commands"
Per un esempio di una sezione FIRST_PLUNGE_MOVE, vedere il file: Holz-Her_7123_ATC_Arcs_mm.pp
Questa sezione è usata di frequente nelle macchine che non supportano pienamente il movimento 3D simultaneo, ad esempio, l’asse Z non è in grado di muoversi con la stessa velocità dell’asse X e Y. È inoltre possibile usare questa sezione per includere comandi che si desidera emettere al primo movimento di affondamento. Ad esempio, comandi di accensione di una torcia al plasma. Affondamenti multipli saranno in genere emessi entro un movimento in rampa, per cui questo comando sarebbe utile per i comandi che accelerano automaticamente tra i tagli e laddove è necessario specificare istruzioni come velocità e avanzamento rivisti per il movimento di affondamento, e tali istruzioni non sono necessarie per i movimenti di affondamento successivi durante l’operazione di rampa.
PLUNGE_MOVE
+---------------------------------------------------
+ Commands output for Plunge Moves
+---------------------------------------------------
begin PLUNGE_MOVE
"Commands"
Per un esempio di una sezione PLUNGE_MOVE, vedere il file: Burny_arc_inch.pp
Questa sezione è usata di frequente nelle macchine che non supportano pienamente il movimento 3D simultaneo, ad esempio, l’asse Z non è in grado di muoversi con la stessa velocità dell’asse X e Y. È inoltre possibile usare questa sezione per includere comandi che si desidera emettere a ogni movimento di affondamento. Ad esempio, comandi di accensione di una torcia al plasma.
RETRACT_MOVE
+---------------------------------------------------
+ Commands output for Retract Moves
+---------------------------------------------------
begin RETRACT_MOVE
"Commands"
Per un esempio di una sezione RETRACT _MOVE, vedere il file: Burny_arc_inch.pp
È inoltre possibile usare questa sezione per includere comandi per spegnere una torcia al plasma.
DWELL_MOVE
+---------------------------------------------------
+ Commands output for Dwell Commands
+---------------------------------------------------
begin DWELL_MOVE
"Commands"
Per un esempio di una sezione DWELL_MOVE, vedere il file: Mach2_3_Arcs_inch.pp
Questo comando è stato introdotto a partire da VCarve Pro 7.5 e Aspire 4.5. Viene usato con un percorso utensile foratura, laddove un tempo di permanenza è stato specificato nel programma. Se questa sezione non è definita, i comandi di permanenza sono ignorati, ma il resto del percorso utensile foratura sarà emesso normalmente. La variabile DWELL è illustrata nella sezione Variabili.
Caratteri speciali
È possibile emettere la maggior parte dei caratteri all’interno delle dichiarazioni di emissione del Post Processor; tuttavia, alcuni caratteri hanno un significato speciale nei file di configurazione del Post Processor e non è possibile emetterli direttamente.
Si tratta delle parentesi quadre [] e delle virgolette “. Potrebbe essere necessario emettere uno di tali caratteri nel file di output.
Se si desidera emettere uno di tali caratteri, è possibile farlo racchiudendo il decimale equivalente del valore ASCII del carattere speciale che si desidera emettere tra parentesi quadre, come mostrato qui di seguito. È inoltre possibile usare questo metodo per inserire un valore ASCII qualsiasi, persino caratteri non stampabili.
- [91] Emette una parentesi quadra sinistra.
- [93] Emette una parentesi quadra destra.
- [34] Emette le doppie virgolette.
- [13] Emette un carattere di invio.
- [10] Emette un avanzamento riga.
Per un esempio di file che usa caratteri speciali, vedere: Biesse_Rover_Arcs_mm.pp
Esempio: aggiunta di comandi sulla sostituzione di un utensile
Nella maggior parte dei casi, il modo più rapido e facile per produrre un Post Processor personalizzato per il controller consiste nel modificare un Post Processor esistente. Per farlo, creare dapprima un file di test semplice che è possibile usare per testare l’output del Post Processor. Un file semplice può essere costituito da una riga e da due cerchi. Produrre un percorso utensile di profilo di taglio superficiale per ognuna delle forme lavorando “sulla” linea, “all’interno” di uno dei cerchi e “all'esterno” dell’altro cerchio.
Salvare un percorso utensile utilizzando il Post Processor e prenderlo in visione per mezzo dell’editor di testo normalmente usato. Qui di seguito è disponibile un esempio di file di test postato con il Post Processor "G-Code Arcs (inch) (*.tap)". L'esempio seguente è visualizzato con l’editor Notepad++ comunemente usato.
In questo esempio, aggiungeremo una sezione di Sostituzione dell’utensile a tale Post Processor. Innanzitutto, creare una copia sicura del Post Processor che si sta personalizzando. Se si apre il Post Processor che si sta modificando in un editor di testo, si potranno vedere le righe di testo del Post Processor che formattano l’emissione del file di test.
Per andare alla cartella PostP all’interno dell’applicazione, fare clic su “File > Apri cartella Dati applicazioni” nel menu principale dell’applicazione.
Per aggiungere una sezione Sostituzione dell’utensile al Post Processor, sarà necessario consultare la documentazione sul controllo dell’utensile (o del software di controllo). In questo esempio, presupporremo che le istruzioni necessarie per eseguire una sostituzione di utensile nella macchina in oggetto siano:
- M05 Istruzione per spegnere il mandrino prima della sostituzione dell’utensile.
- M0 Istruzione per riportare l’utensile esistente al rispettivo porta-utensili.
- M06TTool_Number n Istruzione per selezionare un nuovo utensile Tool_Number N
- G43HTool_Number n Istruzione perché il comando usi Offset lunghezza utensile per l’utensile N
- Sxxx M03 Impostare la velocità del mandrino su xxx; Accendere il mandrino (rotazione in senso orario).
Modificare il Post Processor con l’editor di testo normalmente usato.
If the operating system on your computer is Microsoft Vista and User Access Control is enabled, copy or move the Post Processor that you are editing from the PostP folder to a folder below your user area.
The first thing that you should edit within the file is the History Comment section; So that you have a record of the changes.
Next edit the POST_NAME to reflect that this post processor outputs automatic tool change (ATC) commands, the new post will be displayed as “G-Code ATC Arcs (inch)(*.tap)” in the list of post processors.
Next add a Tool Change Section that will include the instructions. The location of the new section within the file is not important, but a good place to insert it is between the Header and Rapid Move sections.
Add some comment lines at the top of the new section, (beginning with the + character) to describe the section and make the file as a whole, easier to read. Next enter the line “begin TOOLCHANGE” to instruct the post processor that the following instructions are to be output for every tool-change, (except the initial tool selection, the commands for these are contained within the header section).
The next step is to enter in the instructions that you require, enclosed within double quote marks. The “[T]” on the third and fourth instruction lines of our example, will be substituted with the tool number when the file is post processed; The “[S]” on the fifth line will be substituted with the spindle speed for the tool.
Finally you will need to save the changes to the file, as you have changed the POST_NAME, save the file using a new name, for example “GCODE_ATC_Arcs_inch.pp”
If the operating system on your computer is Microsoft Windows 7 or Microsoft Vista and User Access Control is enabled, copy the file that you have edited back to the “PostP” folder.
To test the new post processor, If the software is running, restart the software.
If there are any syntax errors with your post processor, an error similar to the picture below will be displayed as the software starts, the post processor that you have edited will not appear in the drop down list of post processor configuration files. You will need to rectify any errors and restart the software.
If there are no errors displayed when the software is started, open your test file and save one or more of your test toolpaths.
Select the post processor from the drop down list of post processor configuration and press the “Save Toolpath(s)” button.
Take a look at the file that you have just saved in a text editor.
If the content of the file looks good, try the file on your machine.
Please take all necessary precautions when running the output from a modified post processor for the first time.
Esempio: modifica dell'estensione file
È possibile modificare l’estensione file prodotta automaticamente dal Post Processor nella finestra di dialogo “Salva con nome”, quando si fa clic sul pulsante “Salva percorso/i utensile/i”.
Tuttavia, piuttosto che modificare ogni volta l’estensione del file, conviene modificare in modo permanente l’estensione del file prodotta dal Post Processor.
Per farlo:
Creare una copia sicura del Post Processor da modificare.
I file di configurazione del Post Processor sono situati nella cartella “PostP”, della cartella di installazione del prodotto, e hanno l'estensione “PP”. In Aspire versione 2, il percorso predefinito della cartella PostP è: “C:\Programmi\Aspire V2.0\PostP”; il percorso della cartella PostP cambierà a seconda del prodotto installare e a seconda che il software sia stato installato in un percorso personalizzato al momento dell’installazione del software.
Modificare il Post Processor con l’editor di testo normalmente usato.
Se il sistema operativo del computer è Microsoft Windows 7 o Microsoft Vista e il Controllo dell'accesso dell’utente è attivato, copiare o spostare il Post Processor che si sta modificando dalla cartella PostP in una all’interno dell’area utenti.
Cercare le due seguenti righe all’interno del file di configurazione del Post Processor che iniziano con:
POST_NAME =
FILE_EXTENSION =
e modificarle come necessario.
Ad esempio, se si desidera modificare l'estensione file prodotta dal Post Processor “G Code ATC (inch)(*.tap)” da “.tap” in “.nc”. Modificare le righe:
POST_NAME = "G Code ATC (inch) (*.tap)"
FILE_EXTENSION = "tap"
in modo che siano:
POST_NAME = "G Code ATC (inch) (*.nc)"
FILE_EXTENSION = "nc"
Salvare le modifiche al file. Se il sistema operativo del computer è Microsoft Windows 7 o Microsoft Vista e il Controllo dell'accesso dell’utente è attivato, copiare il file modificato nuovamente nella cartella “PostP”.
Per testare il nuovo Post Processor, se il software è in esecuzione, riavviarlo. In caso di errori di sintassi nel Post Processor, sarà visualizzato un errore simile all’immagine seguente all'avvio del software, e il Post Processor modificato non sarà visualizzato nell’elenco a discesa dei file di configurazione del Post Processor. Sarà necessario correggere gli errori e riavviare il software.
Se non sono visualizzati errori all’avvio del software, aprire il file di test e salvare uno o più dei percorsi utensili di prova.
Selezionare il Post Processor nell’elenco a discesa della configurazione del Post Processor, e premere “Salva percorso/i utensile/i”.
Prendere in esame il file appena salvato in un editor di testo.
Se il contenuto del file è soddisfacente, provarlo nella macchina.
Prendere tutte le precauzioni necessarie quando si esegue l’output da un Post Processor modificato per la prima volta.
Suggerimenti e trucchi
- Creare sempre una copia sicura del Post Processor che si sta modificando, in caso sia necessario ripartire da zero.
- Se si utilizza un elaboratore di testi, come Microsoft Word, per modificare un Post Processor, accertarsi di salvare il file come testo normale. Il file non deve contenere informazioni di formattazione.
- Se si modificano Post Processor in cui computer con installato Microsoft Windows 7 o Microsoft Vista, non modificare i file direttamente nella cartella “Programmi\Cartella del prodotto\PostP”. Modificare sempre il file nell’area utenti e copiare il file modificato in “Programmi\Cartella del prodotto\PostP”.
- Usare i commenti quando si apportano modifiche; un commento è un testo segue un carattere + o | . I commenti non saranno eseguiti dal programma, ma possono aiutare a documentare le modifiche apportate e a renderle comprensibili in futuro.
- Tutte le righe sulle istruzioni deve essere racchiuse tra virgolette.
- Se possibile, usare un elaboratore di testi che fa uso di numeri di riga, così de semplificare il debug del Post Processor in caso di errori nel file. Il programma verificherà i Post Processor presenti nella cartella PostP all’avvio del programma. Se il file contiene degli errori di sintassi, sarà visualizzato un messaggio di errore, indicante il numero della riga del primo errore rilevato.
- Una volta modificato un Post Processor, creare una copia sicura dello stesso. Se si installa una versione successiva del prodotto Vectric utilizzato, ricordarsi di copiare il Post Processor modificato nella cartella PostP della nuova versione del software. Inoltre, selezionare il Post Processor modificato la prima volta che si salva un percorso utensile (il software ricorderà la selezione per le azioni successive).
- Se si installa un’altra versione del software o si esegue l’upgrade della versione, ricordarsi di copiare copie sicure dei Post Processor modificati nella cartella PostP della nuova versione. Accertarsi di selezionare il Post Processor corretto la prima volta che si esegue la post-elaborazione di un file con la nuova versione del software.
- Per le versioni successive del software (a partire dalla V5.5). I Post Processor dovrebbero essere accessibili dall’applicazione, facendo clic su “File > Apri cartella Dati applicazioni\PostP”.
- È possibile creare un elenco personalizzato di Post Processor copiando solo i Post Processor desiderati in “File > Apri cartella Dati applicazioni\My_PostP”. Se sono presenti file .pp nella cartella “My_PostP”, nell’elenco a discesa dei Post Processor saranno visualizzati solo i Post Processor presenti in tale cartella.