Modifica del Post Processor

Cosa fa il Post Processor?

Il post processore è la sezione del programma che converte le coordinate XYZ per i movimenti dell'utensile in un formato adatto a un particolare router o macchina utensile. Questo documento descrive in dettaglio come creare e modificare i file di configurazione che personalizzano l'output del programma per adattarlo a un particolare controllo della macchina.

Di seguito sono riportate le sezioni di un programma tipico che è stato postelaborato sia in G-Code che in HPGL

Uscita 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

Uscita HPGL

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;

I produttori di controllori di macchine spesso personalizzano il formato file richiesto per l'esecuzione dei programmi su una particolare macchina al fine di ottimizzare il controllo per adattarlo alle caratteristiche individuali di quella macchina.

Il post processore Vectric utilizza semplici file di configurazione basati su testo, per consentire all'utente di personalizzare un file di configurazione, qualora lo desideri.

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 processore e registrare eventuali modifiche al post processore, ogni riga è un commento e inizia con un carattere '+' o un '|' carattere.

+ 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

POST_NAME="Text Output Arcs(mm)(*.txt)

Il nome che apparirà nell'elenco dei post processori

FILE_EXTENSION="txt"

L'estensione del file che verrà assegnata al file

UNITS="MM"

Le unità restituite dal file (POLLICI o MM)

PRINT_DIRECT="YES"

Il produttore della macchina utensile ha fornito un driver (solitamente un driver della stampante) che può accettare direttamente l'output del file NC (ad esempio vedere HPCL_Arcs.pp generico)

RAPID_PLUNGE_TO_STARTZ="YES"

Indica che i movimenti di tuffo all'altezza di tuffo (Z2) (impostata nel modulo di impostazione del materiale) sono movimenti rapidi

DIRECT_OUTPUT="Display Name|Manufacturers.Document"

Il software di controllo utilizza un'interfaccia documento che può accettare direttamente l'output del file NC.

ROTARY_WRAP_Y=A

I movimenti sull'asse Y devono essere avvolti attorno a un cilindro del diametro specificato. I valori "Y" verranno emessi come "A"

ROTARY_WRAP_X=B

I movimenti nell'asse X devono essere avvolti attorno a un cilindro del diametro specificato. I valori "X" verranno emessi come "B"

SPINDLE_SPEED_RANGE = 1 15 4500 15000

La velocità del mandrino per questa macchina viene emessa come un intervallo di numeri interi compreso tra 1 e 15 che rappresenta la velocità effettiva in RPM del mandrino (tra 4500 e 15000 RPM nell'esempio citato). Per un esempio, vedere il file: Roland_MDX-40_mm.pp

SUBSTITUTE = "O1 S1 O2 S2 On Sn"

Questo comando ti consente di sostituire l'output di un carattere all'interno delle variabili (come [TOOL_NAME]) e sostituire quel carattere con un altro. Questa funzionalità può essere utile nei casi in cui particolari caratteri causano errori su un controllo NC.

I caratteri vengono inseriti in coppia, Originale - Sostituito.

Ad esempio, il software di controllo MACH 3 utilizza le parentesi come delimitatori dei commenti e non consente commenti nidificati. La maggior parte degli strumenti all'interno del database degli strumenti Vectric presentano parentesi all'interno della sezione "Nome"; se questi nomi vengono emessi, ciò causerebbe un errore all'interno di Mach3. Il comando SUBSTITUTE = "({)} " converte i caratteri () in caratteri {} ed evita questo errore. Per un esempio, vedere il file: Mach2_3_ATC_Arcs_inch.pp

INVERSE_TIME_MODE="YES"

Rotativo: abilita/disabilita l'uscita della velocità di avanzamento F nella modalità di alimentazione a tempo inverso. In questa modalità, dovremmo completare una mossa in uno diviso per il numero di minuti F.

In GCode, di solito si tratta di un G93 per attivare la modalità Ora inversa o di un G94 per impostare la modalità Unità per minuto.

LASER_SUPPORT = "YES"

Indica che questo post-processore supporta i percorsi utensile laser (se è installato Modulo laser ).

MIN_ARC_RADIUS = 0.01

Raggio arco minimo opzionale. Gli archi che hanno un raggio inferiore a questo valore verranno sostituiti con un singolo movimento in linea retta.

MAX_ARC_RADIUS = 1000.0

Raggio massimo dell'arco opzionale. Gli archi che hanno un raggio maggiore di questo valore verranno poligonizzati.

POST_BASE

Questo è un non più supportato modo per ereditare il contenuto di un altro post-processore. Consulta la pagina Migrazione POST_BASE per maggiori dettagli.

Supporto di suddivisione del nastro

Una sezione che descrive come verrà suddiviso l'output di un lungo percorso utensile:

TAPE_SPLITTING=MAX_NUM_LINES LINE_TOL "FILENAME_FORMAT" START_INDEX INDEX_ON_FIRST_FILE

Ad esempio un comando di:

TAPE_SPLITTING=1000 100 "%s_%d.tap" 1 "YES"

porterebbe a...

L'output verrà suddiviso in più file di un massimo di 1000 righe (+ quante righe sono presenti nella sezione piè di pagina del post processore), se esiste uno spostamento di ritrazione dopo la riga 900 (1000 – 100), il file verrà suddiviso a quella mossa. Se il file fosse chiamato "toolpath", i file divisi verrebbero denominati toolpath_1.tap, toolpath_2.tap ecc. Il primo output del percorso utensile sarà "toolpath_ 1.tap" non ci sarà alcun file denominato "toolpath" senza un numero di indice, ( come viene utilizzato INDEX_ON_FIRST_FILE=YES), a meno che il file non fosse lungo meno di 1000 righe, nel qual caso il file non verrebbe diviso.

Nota

Alcuni controller che richiedono la suddivisione dei file NC presentano anche limitazioni sul numero di caratteri all'interno di un nome file. Ad esempio, potrebbero richiedere che il file venga denominato con il formato del nome file in stile MSDOS 8.3. Questo dovrebbe essere considerato quando si nomina il file di output.

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

LINE_NUMBER=0

Valore in cui deve iniziare la numerazione delle righe

LINE_NUMBER_INCREMENT=10

Valore incrementale tra i numeri di riga

LINE_NUMBER_MAXIMUM=99999

Il numero massimo di righe da emettere, prima di tornare nuovamente al valore LINE_NUMBER_START.

Importante - Alcuni controller hanno un limite sul numero di righe che è possibile visualizzare sul comando

Variabili

Nome variabile

Uscita utilizzando

Valore

File di esempio

FEED_RATE

[F]

Tasso di alimentazione corrente.

Mach2_3_ATC_Arcs_inch.pp

CUT_RATE

[FC]

Velocità di avanzamento taglio attuale.

CNCShark-USB_Arcs_inch.pp

PLUNGE_RATE

[FP]

Velocità di avanzamento tuffo attuale.

CNCShark-USB_Arcs_inch.pp

SPINDLE_SPEED

[S]

Velocità attuale del mandrino in giri/min

GCode_arc_inch.pp

POWER

[P]

Impostazione della potenza attuale per strumenti a getto (ad es. Laser)

grbl_mm.pp

TOOL_NUMBER

[T]

Numero utensile corrente.

Mach2_3_ATC_Arcs_inch.pp

PREVIOUS_TOOL_NUMBER

[TP]

Numero utensile precedente.

NC-Easy.pp

LINE_NUMBER

[N]

Numero di riga.

Mach2_3_ATC_Arcs_inch.pp

TOOL_NAME

[TOOLNAME]

Nome dello strumento corrente.

MaxNC_pollici.pp

TOOL_NOTES

[TOOL_NOTES]

Testo dal campo Nota in ToolDB per lo strumento corrente

Busellato_Jet3006_arc_inch.pp

TOOLPATH_NAME

[TOOLPATH_NAME]

Nome del percorso utensile corrente.

Viccam_ATC_Arcs_inch.pp

TOOLPATH_FILENAME

[TP_FILENAME]

Nome file (prodotto da "Salva percorso utensile").

ez-Router_inch.pp

TOOLPATH_DIR

[TP_DIR]

Cartella in cui è stato salvato il file del percorso utensile.

Woodp_arc_mm.pp

TOOLPATH_EXTENSION

[TP_EXT]

Estensione del file del percorso utensile.

TekcelE_Arc_ATC_3D.pp

TOOLPATH_PATHNAME

[PATHNAME]

Nome del percorso della cartella del percorso utensile.

WinPC-NC_ATC_Arcs_mm.pp

X_POSITION

[X]

Coordinata corrente della posizione dell'utensile nell'asse X.

GCode_arc_inch.pp

Y_POSITION

[Y]

Coordinata corrente della posizione dell'utensile nell'asse Y.

GCode_arc_inch.pp

Z_POSITION

[Z]

Coordinata corrente della posizione dell'utensile nell'asse Z.

GCode_arc_inch.pp

A_POSITION

[A]

Coordinata corrente della posizione dell'utensile nell'asse A.

ARC_CENTRE_I_INC_POSITION

[I]

Centro dell'arco nell'asse X (relativo all'ultima posizione X,Y).

Mach2_3_ATC_Arcs_inch.pp

ARC_CENTRE_J_INC_POSITION

[J]

Centro dell'arco nell'asse Y (relativo all'ultima posizione X,Y).

Mach2_3_ATC_Arcs_inch.pp

ARC_CENTRE_I_ABS_POSITION

[IA]

Centro dell'arco nell'asse X (coordinate assolute).

Isel_arc_mm.pp

ARC_CENTRE_J_ABS_POSITION

[JA]

Centro dell'arco nell'asse Y (coordinate assolute).

Isel_arc_mm.pp

ARC_START_X_POSITION

[ArcStartX]

Posizione iniziale di un arco nell'asse X.

TextOutput_Arcs_mm.pp

ARC_START_Y_POSITION

[ArcStartY]

Posizione iniziale di un arco sull'asse Y.

TextOutput_Arcs_mm.pp

ARC_MID_X_POSITION

[ArcMidX]

Punto medio dell'arco in X (coordinate assolute).

TextOutput_Arcs_mm.pp

ARC_MID_Y_POSITION

[ArcMidY]

Posizione centrale di un arco nell’asse Y (coordinate assolute)..

TextOutput_Arcs_mm.pp

ARC_MID_X_INC_POSITION

[ArcMidXI]

Punto medio dell'arco in X (coordinate incrementali).

TextOutput_Arcs_mm.pp

ARC_MID_Y_INC_POSITION

[ArcMidYI]

Punto medio dell'arco in Y (coordinate incrementali).

TextOutput_Arcs_mm.pp

ARC_RADIUS

[Radius]

Il raggio di un arco.

Bosch_ATC_Arcs_mm.pp

ARC_ANGLE

[Angle]

L'angolo di un arco.

HPGL_Arcs.pp generico

X_HOME_POSITION

[XH]

Posizione utensile Home per l'asse X.

CAMTech_CMC3_mm.pp

Y_HOME_POSITION

[YH]

Posizione utensile Home per l'asse Y.

CAMTech_CMC3_mm.pp

Z_HOME_POSITION

[ZH]

Posizione utensile Home per l'asse Z.

CAMTech_CMC3_mm.pp

SAFE_Z_HEIGHT

[SAFEZ]

Altezza Z sicura/distanza di sicurezza rapida.

Archi EMC2 (pollici)(*.ngc)

WRAP_DIAMETER

[WRAP_DIA]

Diametro del cilindro attorno al quale è avvolto l'asse.

Mach2_3_WrapY2A_ATC_Arcs_mm.pp

X_LENGTH

[XLENGTH]

Lunghezza del materiale in X.

Mach2_3_ATC_Arcs_inch.pp

Y_LENGTH

[YLENGTH]

Lunghezza del materiale in Y.

Mach2_3_ATC_Arcs_inch.pp

Z_LENGTH

[ZLENGTH]

Lunghezza del materiale in Z.

Mach2_3_ATC_Arcs_inch.pp

X_MIN

[XMIN]

Valore minimo del materiale in X.

MaxNC_pollici.pp

Y_MIN

[YMIN]

Valore minimo del materiale in Y.

MaxNC_pollici.pp

Z_MIN

[ZMIN]

Valore minimo del materiale in Z.

MaxNC_pollici.pp

X_MAX

[XMAX]

Valore massimo del materiale in X.

MaxNC_pollici.pp

Y_MAX

[YMAX]

Valore massimo del materiale in Y.

MaxNC_pollici.pp

Z_MAX

[ZMAX]

Valore massimo del materiale in Z.

MaxNC_pollici.pp

X_ORIGIN_POS

[X_ORIGIN_POS]

Posizione dell'origine in X.

TextOutput_Arcs_mm.pp

Y_ORIGIN_POS

[Y_ORIGIN_POS]

Posizione dell'origine in Y.

TextOutput_Arcs_mm.pp

Z_ORIGIN

[Z_ORIGIN]

Posizione Z Zero, tavolo o superficie del materiale.

TextOutput_Arcs_mm.pp

XY_ORIGIN

[XY_ORIGIN]

Origine X, Y.

TextOutput_Arcs_mm.pp

TOOLS_USED

[TOOLS_USED]

Elenco degli strumenti utilizzati (in ordine di utilizzo).

Mach2_3_ATC_Arcs_inch.pp

TOOLPATHS_OUTPUT

[TOOLPATHS_OUTPUT]

Elenco dei percorsi utensile utilizzati nel file (in ordine di utilizzo).

Mach2_3_ATC_Arcs_inch.pp

TOOLPATH_NOTES

[TOOLPATH_NOTES]

Note sul percorso utensile (modulo Controllo percorso utensile).

Mach2_3_ATC_Arcs_inch.pp

FILE_NOTES

[FILE_NOTES]

File Note (Modifica > Note).

Mach2_3_ATC_Arcs_inch.pp

TIME

[TIME]

Orario di creazione del file.

Mach2_3_ATC_Arcs_inch.pp

DATE

[DATE]

Data di creazione del file.

Mach2_3_ATC_Arcs_inch.pp

DWELL_TIME

[DWELL]

Tempo di sosta in secondi durante la perforazione.

Mach2_3_Arcs_inch.pp

PRODUCT

[PRODUCT]

Nome del prodotto utilizzato per il file di output, incluso il numero di versione.

TOOL_DIAMETER

[TDIA]

Diametro dell'utensile.

INVERSE_TIME

[FI]

Rotary: frequenza temporale inversa attuale

AvidCNC_WrapX2A_G93_inch.pp

Formato delle variabili

I valori per la posizione dell'utensile, le velocità di avanzamento, le velocità del mandrino ecc. vengono inseriti nel file utilizzando variabili. Le variabili vengono utilizzate in tutto il file; le variabili vengono sostituite con il valore corrente per quell'elemento quando il file viene post-elaborato. Ad esempio, le posizioni attuali degli utensili X, Y e Z in qualsiasi momento vengono inserite nel file utilizzando l'output variabile, [X], [Y] e [Z] rispettivamente.

Scrivi i nomi delle variabili in lettere maiuscole per chiarezza.

Una variabile è formattata come segue:

VAR VARIABLE = [VO|WO|CS|VF|MX]

Dove

  • VO = Uscita variabile ad esempio X, XF o F.
  • WO = Quando viene emesso, A=Sempre, C=Solo se modificato.
  • CS = Stringa di caratteri emessa prima del valore .
  • VF = Formato valore, determina il formato con cui viene emesso il valore.
  • MX = valore moltiplicatore.

Una tipica variabile

1

2

3

4

6

6

7

8

9

10

11

12

13

14

15

VAR

Z_HOME_POSITION

=

[

ZH

|

A

|

Z

|

F

1.0

|

-1

]

  1. VAR - Questa riga è una variabile.
  2. Nome variabile.
  3. Segno di uguale.
  4. Parentesi quadra aperta - (inizio dei parametri di formattazione variabili).
  5. Etichetta variabile - ovvero etichetta che viene sostituita con il valore della variabile.
  6. Barra verticale: separatore dei parametri.
  7. A = Valore in uscita sempre, C = Valore in uscita solo quando cambia
  8. Barra verticale: separatore dei parametri.
  9. Stringa di caratteri da stampare prima del valore della variabile.
  10. Barra verticale: separatore dei parametri.
  11. Flag di formato opzionali: per i dettagli vedere di seguito.
  12. Formato valore: unità e numero di cifre decimali da restituire.
  13. Barra verticale: separatore dei parametri.
  14. Moltiplicatore di uscita: per i dettagli vedere di seguito.
  15. Chiudi parentesi quadra: 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:

Bandiera

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

0

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

VAR LINE_NUMBER = [N|A||1.0]

VAR LINE_NUMBER = [N|A|N|1.0]

Verrà visualizzato il numero di riga Sempre . Un carattere 'N' verrà inserito prima del numero di riga. Verrà restituito come numero intero

VAR SPINDLE_SPEED = [S|A||1.0]

VAR SPINDLE_SPEED = [S|A|S|1.0]

Verrà visualizzata la velocità del mandrino Sempre . Un carattere 'S' verrà inserito prima del valore e verrà emesso come numero intero.

VAR FEED_RATE = [F|A||1.0]

VAR FEED_RATE = [F|C|F|1.1|0.01666]

La velocità di avanzamento verrà emessa con un carattere F prima del valore e verrà emessa solo quando cambia. Il valore verrà emesso con 1 cifra decimale

Nota

In questa stringa di formato c'è un parametro aggiuntivo. Questo è il moltiplicatore del valore.

VAR TASSO_IMBALLAMENTO = [FP|A||1.0]

VAR PLUNGE_RATE = [FP|C|F|1.1|0.01666]

La velocità di caduta verrà emessa con un carattere F prima del valore e verrà emessa solo quando cambia. Il valore verrà emesso con 1 cifra decimale.

Nota

In questa stringa di formato c'è un parametro aggiuntivo. Questo è il moltiplicatore del valore.

VAR CUT_RATE = [FC|A||1.0]

VAR CUT_RATE = [FC|C|F|1.1|0.01666]

La velocità di taglio verrà emessa con un carattere F prima del valore e verrà emessa solo quando cambia. Il valore verrà emesso con 1 cifra decimale.

Nota

In questa stringa di formato c'è un parametro aggiuntivo. Questo è il moltiplicatore del valore.

VAR X_POSITION = [X|A||1.0]

VAR Y_POSITION = [Y|A||1.0]

VAR Z_POSITION = [Z|A||1.0]

VAR X_POSITION = [X|A|X|1.3]

Il valore della posizione verrà emesso con un carattere "X" prima del valore, la posizione verrà sempre emessa e verrà emessa con 3 cifre decimali, questo sarebbe generalmente adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR X_POSITION = [X|A|X|1.4]

VAR X_HOME_POSITION = [XH|A||1.0]

VAR Y_HOME_POSITION = [YH|A||1.0]

VAR Z_HOME_POSITION = [ZH|A||1.0]

VAR X_HOME_POSITION = [XH|A|X|1.3]

Il valore della posizione iniziale verrà emesso con un carattere "X" prima del valore, la posizione verrà sempre emessa e verrà emessa con 3 cifre decimali, questo sarebbe generalmente adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR X_HOME_POSITION = [XH|A|X|1.4]

VAR SAFE_Z_HEIGHT = [SAFEZ|A||1.3]

VAR SAFE_Z_HEIGHT = [SAFEZ|A|X|1.3|-1]

Il valore verrà emesso con un carattere "X" prima del valore, la posizione verrà sempre emessa e verrà emessa con 3 cifre decimali, questo sarebbe generalmente adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR SAFE_Z_HEIGHT = [SAFEZ|A|X|1.4|-1]

Nota

In questa stringa di formato c'è un parametro aggiuntivo. Questo è il moltiplicatore del valore.

VAR ARC_START_X_POSITION = [ArcStartX|A||1.3]

VAR ARC_START_Y_POSITION = [ArcStartY|A||1.3]

VAR ARC_START_Y_POSITION = [ArcStartY|A|Y|1.3]

Il valore verrà emesso con un carattere "Y" prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre decimali, questo sarebbe in genere adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR ARC_START_Y_POSITION = [ArcStartY|A|Y|1.4]

VAR ARC_CENTRE_I_INC_POSITION = [I|A||1.3]

VAR ARC_CENTRE_J_INC_POSITION = [J|A||1.3]

VAR ARC_CENTRE_J_INC_POSITION = [J|A|J|1.3]

Il valore verrà emesso con un carattere "J" prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre decimali, questo sarebbe in genere adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR ARC_START_Y_POSITION = [J|A|J|1.4]

VAR ARC_CENTRE_I_ABS_POSITION = [IA|A||1.3]

VAR ARC_CENTRE_J_ABS_POSITION = [JA|A||1.3]

VAR ARC_CENTRE_J_ABS_POSITION = [JA|A|J|1.3|-1]

Il valore verrà emesso con un carattere "J" prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre decimali, questo sarebbe in genere adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR ARC_CENTRE_J_ABS_POSITION = [JA|A|J|1.4|-1]

Nota

In questa stringa di formato c'è un parametro aggiuntivo. Questo è il moltiplicatore del valore.

VAR ARC_MID_X_POSITION = [ArcMidX|A||1.3]

VAR ARC_MID_Y_POSITION = [ArcMidY|A||1.3]

VAR ARC_MID_X_POSITION = [ArcMidX|A|X|1.3]

Il valore verrà emesso con un carattere "X" prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre decimali, questo sarebbe in genere adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR ARC_MID_X_POSITION = [ArcMidX|A|X|1.4]

VAR ARC_MID_X_INC_POSITION = [ArcMidXI|A||1.3]

VAR ARC_MID_Y_INC_POSITION = [ArcMidYI|A||1.3]

VAR ARC_MID_X_INC_POSITION = [ArcMidXI|A|X|1.3]

Il valore verrà emesso con un carattere "X" prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre decimali, questo sarebbe in genere adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR ARC_MID_X_INC_POSITION = [ArcMidXI|A|X|1.4]

VAR ARC_RADIUS = [Radius|A||1.3]


VAR ARC_RADIUS = [Radius|A|R|1.3]

Il valore verrà emesso con un carattere "R" prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre decimali, questo sarebbe in genere adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR ARC_RADIUS = [Radius|A|R|1.4]

VAR ARC_ANGLE = [Angle|A||1.3]

VAR ARC_ANGLE = [Angle|A|A|1.3]

Il valore verrà emesso con un carattere "A" prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre decimali, questo sarebbe in genere adatto per un controllo che richiede un output metrico.

Se si desidera emettere i valori con 4 cifre decimali, come sarebbe più tipico per un controller che funziona in pollici. Formatteresti la linea come segue.

VAR ARC_ANGLE = [Angle|A|A|1.4]

VAR X_LENGTH = [XLENGTH|A||1.3]

VAR Y_LENGTH = [XLENGTH|A||1.3]

VAR Z_LENGTH = [XLENGTH|A||1.3]

VAR X_MIN = [XMIN|A||1.3]

VAR Y_MIN = [YMIN|A||1.3]

VAR Z_MIN = [ZMIN|A||1.3]

VAR X_MAX = [XMAX|A||1.3]

VAR Y_MAX = [YMAX|A||1.3]

VAR Z_MAX = [ZMAX|A||1.3]

VAR X_MIN = [XMIN|A|X|1.3]

Il valore verrà emesso con un carattere 'X' prima del valore, il valore verrà sempre emesso e verrà emesso con 3 cifre 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

INTESTAZIONE

+---------------------------------------------------

+ Commands output at the start of the file

+---------------------------------------------------

begin HEADER

"Commands"

L'intestazione è la posizione per le istruzioni che vengono emesse una volta, all'inizio del file, questi generalmente impostano i comandi modali per il controller.

Ad esempio, l'intestazione potrebbe contenere un comando per visualizzare il nome del file sul controller e una serie di "codici G" per impostare la macchina, ad esempio G20 per dire al controllo che i movimenti sono in pollici, o G21 per dire al controllare che i movimenti siano in millimetri.

Le variabili che potresti voler includere nella sezione dell'intestazione potrebbero includere:

Informazioni sul blocco 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]"
  • Profondità del materiale in Z = [ZLENGTH]"

Informazioni sulla posizione iniziale

  • Casa X = [XH]
  • Casa Y = [YH]
  • Inizio Z = [ZH]
  • Spazio di gioco rapido o Safe Z = [SAFEZ]

Dettagli del primo strumento da utilizzare.

  • Numero utensile = [T]
  • Nome strumento = [NOME STRUMENTO]

Velocità di taglio iniziali

  • Velocità di avanzamento utilizzata per il taglio e l'immersione nel materiale = [F]
  • Velocità di avanzamento mentre l'utensile sta tagliando il materiale = [FC]
  • Velocità di avanzamento mentre l'utensile sta penetrando nel materiale = [FP]

I valori effettivi dipendono dalle UNITÀ impostate (vedere Impostazioni file globali). Le impostazioni predefinite sono MM/Minuti o Pollici/Minuti, ma l'output può essere modificato per adattarlo impostando la formattazione appropriata “VAR FEED_RATE”.

Velocità del mandrino

  • Velocità del mandrino = [S] Giri/Min.

MANDRINO_ON

+---------------------------------------------------

+ Commands output at when the Spindle first turns on.

+---------------------------------------------------

begin SPINDLE_ON

"Commands"

La sezione Mandrino attivo è stata aggiunta per consentire le operazioni del mandrino e del laser nello stesso post processore invece di avere il comando Mandrino attivo come parte dell'intestazione.

In genere questo avrà solo il comando Mandrino attivo (M03 ad esempio) ma può anche includere un comando di velocità del mandrino [S]

CAMBIO UTENSILE

+---------------------------------------------------

+ Commands output at toolchange

+---------------------------------------------------

begin TOOLCHANGE

"Commands"

Comandi che vengono emessi quando è richiesto un cambio di utensile. Le variabili e i comandi che potrebbero essere utilizzati includono:

  • Numero utensile precedente = [TP]
  • Numero utensile = [T]
  • Nome strumento = [NOME STRUMENTO]
  • Nome percorso utensile = [TOOLPATH_NAME]
  • Nome percorso percorso utensile = [NOME PERCORSO]
  • Nome file percorso utensile = [TP_FILENAME]
  • Directory file 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.

NUOVO_SEGMENTO

+---------------------------------------------------

+ 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 richiesti 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

"Commands"

Simile alla sezione FEED_MOVE, ma per segmenti di arco in senso orario.

Per un esempio di 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.

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"

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

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

PIÈ DI PIÙ

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.

MANDRINO_ON

La sezione Mandrino attivo viene utilizzata dopo l'intestazione e consente di utilizzare i comandi Mandrino attivo in una combinazione fresatura/post processore laser.

Se nell'intestazione vengono utilizzati comandi Spindle on, questo blocco non deve essere incluso.

+---------------------------------------------------

+ Commands output at the end of the file

+---------------------------------------------------

begin SPINDLE_ON

"Commands"

Le variabili usate comunemente comprendono:

  • M3 per mandrino acceso
  • [S] Per la velocità del mandrino

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.

TUFFO_MUOVI

+---------------------------------------------------

+ 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 semplice per produrre un post processore personalizzato adatto al proprio controller sarà quello di modificare un post processore esistente. Per fare ciò, crea prima un semplice file di test che puoi utilizzare per testare l'output del tuo post processore. Un file semplice potrebbe essere costituito da una linea e due cerchi. Produrre percorsi utensile con profilo di taglio poco profondo per ciascuna delle forme, lavorando "Sulla" linea, "All'interno" di uno dei cerchi e "All'esterno" dell'altro cerchio.

Salva un percorso utensile utilizzando il post processore di base e dagli un'occhiata utilizzando il tuo editor di testo preferito. Di seguito è riportato un esempio del file di test pubblicato utilizzando il post processore "G-Code Arcs (inch) (*.tap)". L'esempio seguente viene visualizzato utilizzando il popolare editor Notepad ++.

Per il nostro esempio, aggiungeremo una sezione di cambio utensile a questo post processore. Vai all'opzione Configurazione macchina nel menu della macchina.

Nella sezione Post Processor associato, fai clic sull'icona (+) e scorri l'elenco verso il basso per individuare il tuo Post Processor nell'elenco.
Fai clic destro su di esso e seleziona Personalizzare
Una nuova copia del Post Processor apparirà in cima all'elenco con l'icona di una penna accanto ad essa.

Fai clic con il tasto destro su questa copia e seleziona Aprire la destinazione del file

Questo aprirà la cartella Windows con il file .pp Post Processor stesso che potrai quindi modificare direttamente se hai bisogno di regolare i comandi per adattarli la configurazione particolare della tua macchina. Questi file .pp Post Processor possono essere modificati in qualsiasi software di editor di testo standard

Per aggiungere una sezione Cambio Utensile al post processore, sarà necessario consultare la documentazione per il controllo della macchina utensile (o software di controllo). Per questo esempio, assumeremo che le istruzioni da aggiungere per eseguire un cambio utensile per la tua particolare macchina utensile siano le seguenti:

  • M05 Istruzione per spegnere il mandrino prima del cambio utensile.
  • M0 Istruzione per riportare l'utensile esistente nel portautensile.
  • M06TTool_Number n Istruzione per selezionare il nuovo utensile Tool_Number n
  • G43HTool_Number n Istruzione per il controllo da utilizzare Offset lunghezza utensile per l'utensile n
  • Sxxx M03 Imposta la velocità del mandrino su xxx; Accendere il mandrino (rotazione in senso orario).

Modificare il Post Processor con l’editor di testo normalmente usato.

Se il sistema operativo del computer è 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.

La prima cosa da modificare nel file è la sezione Commento sulla cronologia, così da avere un record delle modifiche apportate.

Successivamente, modificare il POST_NAME per indicare che il Post Processor emette comandi Automatic Tool Change (ATC); il nuovo post sarà visualizzato come “G-Code ATC Arcs (inch)(*.tap)” nell’elenco dei Post Processor.

Successivamente, aggiungere una sezione di sostituzione dell’utensile che comprenderà le istruzioni. L’ubicazione della nuova sezione all’interno del file non è importante; tuttavia, un buon punto in cui inserirla è tra le sezioni Intestazione e Movimento rapido.

Aggiungere delle righe di commento in cima alla nuova sezione (iniziando con il carattere +) per descrivere la sezione e facilitare la lettura dell’intero file. Successivamente, inserire la riga “begin TOOLCHANGE” per istruire il Post Processor che occorre emettere le seguenti istruzioni a ogni sostituzione di utensile (fatto salvo per la selezione iniziale dell’utensile, i cui comandi sono contenuti nella sezione sull’intestazione).

Il prossimo passo consiste nell’inserire le istruzioni necessarie, racchiuse tra doppie virgolette. La “[T]” nella terza e quarta riga di istruzione del nostro esempio sarà sostituita con il numero di utensile durante il post processing del file. La “[S]” nella quinta riga sarà sostituita con la velocità del mandrino dell’utensile.

Infine, occorrerà salvare le modifiche apportate al fine; poiché si ha cambiato il POST_NAME, salvare il file con un nuovo nome, ad esempio “GCODE_ATC_Arcs_inch.pp”

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.

Esempio: modifica dell'estensione file

L'estensione del file prodotta automaticamente dal post processore può essere modificata nella finestra di dialogo "Salva con nome", quando si fa clic sul pulsante "Salva percorso utensile".

Tuttavia, anziché modificare l'estensione del file ogni volta. È più conveniente modificare in modo permanente l'estensione del file prodotto dal post processore.

Per fare questo:

Per il nostro esempio, aggiungeremo una sezione di cambio utensile a questo post processore. Vai all'opzione Configurazione macchina nel menu della macchina.

Nella sezione Post Processor associato, fai clic sull'icona (+) e scorri l'elenco verso il basso per individuare il tuo Post Processor nell'elenco.
Fai clic destro su di esso e seleziona Personalizzare
Una nuova copia del Post Processor apparirà in cima all'elenco con l'icona di una penna accanto ad essa.

Fai clic con il tasto destro su questa copia e seleziona Aprire la destinazione del file

Questo aprirà la cartella Windows con il file .pp Post Processor stesso che potrai quindi modificare direttamente se hai bisogno di regolare i comandi per adattarli la configurazione particolare della tua macchina. Questi file .pp Post Processor possono essere modificati in qualsiasi software di editor di testo standard

Modificare il Post Processor con l’editor di testo normalmente usato.

Se il sistema operativo del tuo computer è Microsoft Windows 7 o Microsoft Vista e il controllo dell'accesso utente è abilitato, copia o sposta il Post Processor che stai modificando dalla cartella PostP in una cartella sotto l'area utente.

Cerca le due righe seguenti nel file di configurazione del post processore che iniziano con:

POST_NAME =

FILE_EXTENSION =

e modificarli di conseguenza.

Ad esempio, se si desidera modificare l'estensione del file prodotto dal post processore “G Code ATC (pollici)(*.tap)” da “.tap” a “.nc”. Quindi modifica le righe:

POST_NAME = "G Code ATC (inch) (*.tap)"

FILE_EXTENSION = "tap"

per farli leggere:

POST_NAME = "G Code ATC (inch) (*.nc)"

FILE_EXTENSION = "nc"

Salva le modifiche al tuo file. Se il sistema operativo del tuo computer è Microsoft Windows 7 o Microsoft Vista e il controllo dell'accesso utente è abilitato, copia il file che hai modificato nella cartella "PostP".

Per testare il nuovo post processore, se il software è in esecuzione, riavviare il software. Se sono presenti errori di sintassi con il post processore, all'avvio del software verrà visualizzato un errore simile all'immagine seguente, il post processore che hai modificato non verrà visualizzato nell'elenco a discesa dei file di configurazione del post processore. Sarà necessario correggere eventuali errori e riavviare il software.

test

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.