Edición de postprocesador
¿Qué hace el postprocesador?
El postprocesador es la sección del programa que convierte las coordenadas XYZ para que la herramienta se mueva a un formato adecuado para un router o máquina en particular. Este documento detalla cómo crear y editar los archivos de configuración que personalizan la salida del programa para adaptarse a un controlador de máquina determinado.
A continuación se muestran secciones de un programa típico que se ha procesado en G-Code y HPGL
Salida de código 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
Salida 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;
Los fabricantes de controladores de máquinas a menudo personalizarán el formato de archivo necesario para que los programas se ejecuten en una máquina en particular con el fin de optimizar el control para adaptarse a las características individuales de esa máquina.
El postprocesador Vectric utiliza archivos de configuración basados en texto simple, para permitir al usuario adaptar un archivo de configuración, si así lo desea.
Secciones de postprocesador
Los postprocesadores Vectric se dividen en secciones para facilitar la claridad. Intente escribir sus postprocesadores en un estilo similar para facilitar la depuración.
Comentarios de archivo
Una sección en la que puede describir el postprocesador y registrar cualquier cambio en el postprocesador, cada línea es un comentario y comienza con un carácter '+' o un carácter ''.
+ Historial
+ Quién cuándo qué
+ ======== ========== ===========================
+ Tony 14/07/2006 Escrito
+ Marca 26/08/2008 Comandos ATC combinados, parada de husillo en TC
+================================================
Declaraciones de archivos globales
Las instrucciones son elementos que se usan solo una vez o tienen valores estáticos en todo el archivo. Escriba nombres de instrucción en mayúsculas para mayor claridad.
Statement | Result |
---|---|
| The name that will appear in the post processor list |
| The file extension that the file will be given |
| The units that the file outputs (INCHES or MM) |
| The machine tool manufacturer has supplied a driver (usually a printer driver) thatn can directly accept the NC file output (For example see Generic HPCL_Arcs.pp) |
| Indicates that plunge moves to Plunge (Z2) height (that is set on the material setup form) are rapid moves |
| The control software uses a document interface that can directly accept the NC file output. |
| The moves in the Y axis are to be wrapped around a cylinder of the specified diameter. The "Y" values will be output as "A" |
| The moves in the X axis are to be wrapped around a cylinder of the specified diameter. The "X" values will be output as "B" |
| Spindle speed for this machine is output as a range of integer numbers between 1 and 15 representing the actual speed in RPM of the spindle, (between 4500 and 15000 RPM in the quoted example). For an example, see the file: Roland_MDX-40_mm.pp |
| This command allows you to substitute a character output within the variables (such as The characters are entered in pairs, Original - Subsititued. For example MACH 3 control software uses parentheses as comment delimiters, and does not allow nested comments. Most tools within the Vectric Tool Database have parentheses within the “Name” section; if these names are output, this would cause an error within Mach3. The command |
| Rotary: Enables / Disables output of the feedrate F in Inverse Time Feed Mode. In this mode, we're expected to complete a move in one divided by the F number of minutes. In GCode, this would G93 to switch on, or G94 to switch off and use units mode. |
Soporte para dividir cintas
Una sección que describe cómo se dividirá una salida de trayectoria de herramienta larga:
TAPE_SPLITTING=MAX_NUM_LINES LINE_TOL "FILENAME_FORMAT" START_INDEX INDEX_ON_FIRST_FILE
Por ejemplo, un comando de:
TAPLE_SPLITTING=1000 100 "%s_%s.tap" 1 "YES"
llevaría a...
La salida se dividirá en varios archivos de un máximo de 1000 líneas (+ por muchas líneas que haya dentro de la sección de pie de página del postprocesador), si existe un movimiento de retracto después de la línea 900 (1000 – 100), el archivo se dividirá en ese movimiento. Si el archivo se llamara "ruta de herramientas", los archivos divididos se denominarían toolpath_1.tap, toolpath_2.tap, etc. La primera salida de la trayectoria de herramienta será "toolpath_ 1.tap" no habrá ningún archivo llamado "toolpath" sin un número de índice, (como se utiliza INDEX_ON_FIRST_FILE= YES
), a menos que el archivo tenga menos de 1000 líneas de largo, en cuyo caso el archivo no se dividiría.
Nota
Algunos controladores que requieren que los archivos NC se dividan, también tienen limitaciones en el número de caracteres dentro de un nombre de archivo. Por ejemplo, pueden requerir que el archivo se nombre con el formato de nombre de archivo 8.3 de estilo MSDOS. Esto debe tenerse en cuenta al asignar un nombre al archivo de salida.
Caracteres de terminación de línea
LINE_ENDING="[13][12]"
Valores decimales de los caracteres anexados a cada línea independiente del archivo postprocesado. (Por lo general será [13][10]) (Retorno de carro, avance de línea) para cualquier controlador que pueda leer un archivo de texto de formato MSDOS o Windows.
Numeración de bloques
Si desea agregar números de línea al archivo de salida, el número de línea actual se agrega con la variable [N]. El comportamiento de esta variable de número de línea se controla mediante las siguientes variables:
Statement | Result |
---|---|
| Value at which the line numbering should start |
| Incremental value between line numbers |
| The maximum line number to output, before cycling to the Important - Some controllers have a limit to the number of lines that can be displayed on the control |
Variables
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 de variables
Los valores de la posición de la herramienta, las velocidades de avance, las velocidades del husillo, etc., se insertan en el archivo utilizando variables. Las variables se utilizan en todo el archivo; las variables se reemplazan por el valor actual de ese elemento cuando se procesa el archivo. Por ejemplo, las posiciones actuales de las herramientas X, Y y Z en cualquier momento se insertan en el archivo utilizando la salida de la variable, [X]
, [Y]
y [Z]
respectivamente.
Escriba nombres de variables en mayúsculas para mayor claridad.
Una variable tiene el formato siguiente:
VAR VARIABLE = [VO|WO|CS|VF|MX]
Donde,
VO
: salida de variable, por ejemplo X, XF o F.WO
: cuando se emite, A=Siempre, C=Sólo cuando se cambia.CS
: salida de cadena de caracteres antes del valor .VF
: formato de valor, determina el formato con el que se genera el valor.MX
: valor del multiplicador.
Una variable típica
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VAR
- Esta línea es una variable.- Nombre de la variable.
- Signo igual.
- Abrir corchete - (inicio de los parámetros de formato de variable).
- Etiqueta de variable - es decir, etiqueta que se sustituye por el valor de la variable.
- Barra vertical - Separador de parámetros.
A
= Valor de salida siempre,C
= Sólo valor de salida cuando cambia- Barra vertical - Separador de parámetros.
- Cadena de caracteres para imprimir antes del valor de la variable.
- Barra vertical - Separador de parámetros.
- Indicadores de formato opcionales - para obtener más información, consulte a continuación.
- Formato de valor - unidades y número de decimales para la salida.
- Barra vertical - Separador de parámetros.
- Multiplicador de salida - para obtener más información, consulte a continuación.
- Cerrar corchete cuadrado - Fin de los parámetros de formato.
Formato del valor de salida
La cadena de formato de valores debe tener el siguiente formato:
FORMAT_FLAGS FIELD_WIDTH DECIMAL_SEPARATOR DECIMAL_PLACES
Los indicadores de formato son opcionales y solo son necesarios para un pequeño número de controladores que se describirán en breve.
Ancho de campo: El ancho del campo representa el número mínimo de caracteres que se generan. El ancho del campo se establece normalmente en "1" pues un valor mayor que 1 normalmente solo es necesario si un controlador espera ver un número fijo de caracteres para el valor. Si este es el caso, se puede introducir un número mayor que 1. El número introducido garantizará que se genere el número de caracteres. El número que representa el ancho del campo incluye el número de punto flotante completo para el valor de salida (incluido el carácter separador decimal).
Separador decimal: El carácter separador decimal es casi siempre un carácter de punto, pero hay algunos controladores que esperan ver un carácter de coma. (Para ver un ejemplo de un postprocesador que no utiliza un carácter de punto, consulte el archivo: Heidenhain_inch.pp)
Decimales: El número de decimales de la salida posteriores al separador decimal. Los valores se establecen a menudo en 3 para los controladores que operan en sistema métrico, o 4 para los controladores que operan en pulgadas.
Indicadores de formato opcionales
Los valores de salida se pueden modificar aún más mediante los indicadores de formato opcionales:
Flag | Function | Default (without flag) |
---|---|---|
| Left Justify the output | Values are right justified |
| Prefix the value with '+' or '-' | Only negative values are prefixed |
| If value has fewer characters than the set minimum, the value is prefixed with zeroes | Values is prefixed with blanks spaces |
| Values is always output with a separator character ( in practive this would only change the output value if the value is set to output integer values only) | When output is set to integer only, separator charactor is not appended to value. |
Formato predeterminado para variables
La mayoría de las variables tienen un formato predeterminado; (se muestra a continuación) para establecer un formato diferente para una variable, introduzca la línea siguiente en su postprocesador y modifique los parámetros para adaptarse a su controlador.
Default | Example |
---|---|
|
The line number will always be output. An 'N' character will be inserted before the line number. It will be output as an integer number |
|
The spindle speed will always be output. An 'S' character will be inserted before the value and it will be output as an integer number. |
|
The feed rate will be output with an F character before the value, and will only be output when it changes. The value will be output to 1 decimal place Note In this format string there is an option extra parameter. This is the value multiplier. |
VAR PLUNGE_RATE = [FP|A||1.0] |
The plunge rate will be output with an F character before the value, and will only be output when it changes. The value will be output to 1 decimal place. Note In this format string there is an option extra parameter. This is the value multiplier. |
|
The cut rate will be output with an F character before the value, and will only be output when it changes. The value will be output to 1 decimal place. Note In this format string there is an option extra parameter. This is the value multiplier. |
|
The position value will be output with an ‘X’ character before the value, the position will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The home position value will be output with an ‘X’ character before the value, the position will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The value will be output with an ‘X’ character before the value, the position will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
Note In this format string there is an option extra parameter. This is the value multiplier. |
|
The value will be output with an ‘Y’ character before the value, the value will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The value will be output with a ‘J’ character before the value, the value will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The value will be output with a ‘J’ character before the value, the value will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
Note In this format string there is an option extra parameter. This is the value multiplier. |
|
The value will be output with a ‘X’ character before the value, the value will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The value will be output with a ‘X’ character before the value, the value will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The value will be output with a ‘R’ character before the value, the value will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The value will be output with a ‘A’ character before the value, the value will Always be output, and will be output to 3 decimal places, this would typically be suitable for a control that requires metric output. If you wished to output the values to 4 decimal places as would be more typical for a controller operating in inches. You would format the line as follows.
|
|
The value will be output with an ‘X’ character before the value, the value will Always be output, and will be output to 3 decimal places. |
Valor multiplicador
El valor del multiplicador se utiliza para multiplicar el valor para generar un valor diferente. Las razones habituales para desear hacer esto son:
- Para convertir la salida predeterminada de un postprocesador de pulgadas, de pulgadas por minuto a pulgadas por segundo, (multiplicar por 0.01666).
- Para convertir la salida predeterminada de un postprocesador métrico, de mm por minuto a mm por segundo, (multiplicar por 0.0166).
- Para que los valores positivos sean negativos (y viceversa), (multiplicar por -1).
- Para convertir la salida de un ángulo de arco de radianes a grados, (multiplicar por 57.2957795).
- Para multiplicar o dividir por un factor fijo (es decir, producir un modelo a escala 1:4, multiplicar por 0,25)
Bloques de postprocesador
HEADER
+---------------------------------------------------
+ Salida de comandos al inicio del archivo
+---------------------------------------------------
begin HEADER
"Commands"
El encabezado es la ubicación de las instrucciones que se generan una vez, al principio del archivo, y son comandos modales de configuración general para el controlador.
Por ejemplo, el encabezado puede contener un comando para mostrar el nombre de archivo en el controlador y una serie de "Códigos G" para configurar la máquina, por ejemplo G20 para indicar al control que los movimientos están en pulgadas, o G21 para indicar al control que los movimientos están en milímetros.
Las variables que es interesante incluir dentro de la sección de encabezado, podrían incluir:
Información sobre el bloque de materiales
- Extensión mínima en X = [XMIN]
- Extensión mínima en Y = [YMIN]
- Extensión mínima en Z = [ZMIN]
- Extensión máxima en X = [XMAX]
- Extensión máxima en Y = [YMAX]
- Extensión máxima en Z = [ZMAX]
- Longitud del material en X = [XLENGTH]"
- Longitud del material en Y = [YLENGTH]"
- Profundidad del material en Z = [ZLENGTH]"
Información de la posición de inicio
- Inicio X = [XH]
- Inicio Y = [YH]
- Página de inicio Z = [ZH]
- Brecha de separación rápida o Z Segura = [SAFEZ]
Detalles de la primera herramienta que se va a utilizar
- Número de herramienta = [T]
- Nombre de la herramienta = [TOOLNAME]
Velocidades de corte iniciales
- Velocidad de alimentación utilizada para cortar y hundir en el material = [F]
- Velocidad de alimentación mientras la herramienta está cortando el material = [FC]
- Velocidad de alimentación mientras la herramienta se hunde en el material = [FP]
- Los valores reales dependen del conjunto de unidades (consulte Configuración global de archivos) Los valores predeterminados son MM/Minuto o Pulgadas/Minuto, pero la salida se puede cambiar para adaptarse estableciendo el formato "VAR FEED_RATE" adecuado.
Velocidad del husillo
- Velocidad del husillo = [S] R.P.M.
TOOLCHANGE
+---------------------------------------------------
+ Salida de comandos en el cambio de herramienta
+---------------------------------------------------
begin TOOLCHANGE
"Commands"
Comandos que se generan cuando se requiere un cambio de herramienta. Las variables y comandos que se pueden utilizar incluyen:
- Número de herramienta anterior = [TP]
- Número de herramienta = [T]
- Nombre de la herramienta = [TOOLNAME]
- Nombre de la trayectoria de herramienta = [TOOLPATH_NAME]
- Nombre de ruta de acceso de herramienta = [PATHNAME]
- Nombre de archivo de trayectoria de herramienta = [TP_FILENAME]
- Directorio de archivos de trayectoria de herramienta = [TP_DIR]
- Extensión de trayectoria de herramienta = [TP_EXT]
- Velocidad del husillo = [S] R.P.M.
- M3 M Código utilizado a menudo para encender el husillo (rotación en el sentido de la reloj).
- M5 M Código utilizado a menudo para apagar el husillo.
NEW_SEGMENT
+---------------------------------------------------
+ Salida de comandos para un nuevo segmento (nueva trayectoria de
+ herramienta con número de herramienta actual)
+---------------------------------------------------
begin NEW_SEGMENT
"Commands"
Para ver un ejemplo de una sección de NEW_SEGMENT, consulte el archivo: Mach2_3_ATC_Arcs_inch.pp
Los comandos se emiten cuando una nueva trayectoria de herramienta utiliza la herramienta seleccionada actualmente, pero quizás se requiere una velocidad de husillo diferente o la máquina requiere instrucciones adicionales.
No es necesario incluir los comandos que se utilizan en la sección NEW_SEGMENT en la sección TOOLCHANGE, ya que un cambio de herramienta también llamará automáticamente a las instrucciones de la sección NEW_SEGMENT.
Las variables que se utilizan comúnmente incluyen.
- Velocidad del husillo = [S] R.P.M.
- M3 M Código utilizado a menudo para encender el husillo (rotación en el sentido del reloj).
- M5 M Código utilizado a menudo para apagar el husillo.
INITIAL_RAPID_MOVE
+---------------------------------------------------
+ Salida de comandos para movimiento rápido inicial
+---------------------------------------------------
begin INITIAL_RAPID_MOVE
"Commands"
Para ver un ejemplo de una sección de INITIAL_RAPID_MOVE, consulte el archivo: Saom_OSAI_Arc_inch.pp
Los comandos que se generan cuando se realiza el primer movimiento rápido después del encabezado o un cambio de herramienta. Una Sección no utilizada para la mayoría de los mensajes, pero útil si el primer movimiento rápido, necesita generar información diferente a los movimientos rápidos subsiguientes. Esta sección a veces es necesaria para las variantes HPGL.
RAPID_MOVE
+---------------------------------------------------
+ Salida de comandos para movimientos rápidos.
+---------------------------------------------------
begin RAPID_MOVE
"Commands"
Comandos que se emiten cuando se requieren movimientos rápidos.
FIRST_FEED_MOVE
+---------------------------------------------------
+ Salida de comandos para el primer movimiento de velocidad de avance en una
+ serie de movimientos de alimentación.
+---------------------------------------------------
begin FIRST_FEED_MOVE
"Commands"
Esta sección se utiliza comúnmente cuando los controladores requieren que la velocidad de alimentación se establezca en el primer movimiento de alimentación, esta velocidad se utilizaría para los movimientos de corte posteriores.
Para ver un ejemplo de una sección de FIRST_FEED_MOVE, consulte el archivo: Axyz_Arcs_ATC_inch.pp
FEED_MOVE
+---------------------------------------------------
+ Salida de comandos para movimientos de velocidad de avance
+---------------------------------------------------
begin FEED_MOVE
"Commands"
Se utiliza para generar información necesaria en cada movimiento, o todos los movimientos de alimentación, excepto el primer movimiento de alimentación, si una sección FIRST_FEED_MOVE está presente dentro del postprocesador.
FIRST_CW_ARC_MOVE
+---------------------------------------------------
+ Salida de comandos para el primer movimiento de arco en sentido
+ horario en una serie de movimientos de arco cw
+---------------------------------------------------
begin FIRST_CW_ARC_MOVE
"Commands"
Similar a la sección FIRST_FEED_MOVE, pero para los segmentos de arco en el sentido de las agujas del reloj. Esta sección se utiliza comúnmente cuando los controladores requieren que la velocidad de avance se establezca para el primer segmento de arco, esta velocidad se utilizaría para los movimientos de arco posteriores en la misma dirección.
Para ver un ejemplo de una sección FIRST_CW_ARC_MOVE, consulte el archivo: Centroid_Arcs_inch.pp
FIRST_CW_HELICAL_ARC_PLUNGE_MOVE
+---------------------------------------------------
+ Salida de comandos para el movimiento de inmersión de arco helicoidal en el sentido de las agujas del reloj en una serie de movimientos.
+---------------------------------------------------
begin FIRST_CW _HELICAL_ARC_MOVE
"Commands"
Similar a la sección FIRST_CW_ARC_MOVE, pero para los movimientos que también se mueven en Z. La salida de las velocidades de avance es de la velocidad de caída establecida para la herramienta.
Para ver un ejemplo de una sección de CW_HELICAL_ARC_PLUNGE_MOVE, consulte el archivo: Mach2_3_ATC_Arcs_inch.pp
FIRST_CW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Salida de comandos para el movimiento de arco helicoidal en el sentido de las agujas del reloj en una serie de movimientos.
+---------------------------------------------------
begin FIRST_CW_HELICAL_ARC_MOVE
"Commands"
Similar a la sección FIRST_CW_ARC_MOVE, pero para los movimientos que también se mueven en Z.
Para ver un ejemplo de una sección de CW_HELICAL_ARC_MOVE, consulte el archivo: Mach2_3_ATC_Arcs_inch.pp
CW_ARC_MOVE
+---------------------------------------------------
+ Salida de comandos para movimientos de arco en el sentido de las agujas del reloj.
+---------------------------------------------------
begin CW_ARC_MOVE
"Commands"
Similar a la sección FEED_MOVE, pero para los segmentos de arco en el sentido de las agujas del reloj.
Para ver un ejemplo de una sección de CW_ARC_MOVE, consulte el archivo: Centroid_Arcs_inch.pp
CW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Salida de comandos para movimientos de arco helicoidal en el sentido de las agujas del reloj
+---------------------------------------------------
begin CW_HELICAL_ARC_MOVE
"Commands"
Similar a la sección CW_ARC_MOVE, pero para los movimientos que también se mueven en Z.
Para ver un ejemplo de una sección de CW_HELICAL_ARC_MOVE, consulte el archivo: Mach2_3_ATC_Arcs_inch.pp
FIRST_CCW_ARC_MOVE
+---------------------------------------------------
+ La salida de comandos para el primer movimiento de arco en sentido contrario a las agujas del reloj se mueve en una serie de movimientos de arco ccw.
+---------------------------------------------------
begin FIRST_CCW_ARC_MOVE
"Commands"
Similar a la sección FIRST_FEED_MOVE, pero para los segmentos de arco en sentido contrario a las agujas del reloj. Esta sección se utiliza comúnmente cuando los controladores requieren que la velocidad de avance se establezca para el primer segmento de arco, esta velocidad se utilizaría para los movimientos de arco posteriores en la misma dirección.
Para ver un ejemplo de una sección de FIRST_CCW_ARC_MOVE, consulte el archivo: Centroid_Arcs_inch.pp
FIRST_CCW_HELICAL_ARC_PLUNGE_MOVE
+---------------------------------------------------
+ Salida de comandos para el movimiento de inmersión de arco helicoidal en sentido contrario a las agujas del reloj en una serie de movimientos.
+---------------------------------------------------
begin FIRST_CCW_HELICAL_ARC_MOVE
"Commands"
Similar a la sección FIRST_CCW_ARC_MOVE, pero para los movimientos que también se mueven en Z. La salida de las velocidades de avance es de velocidad de inmersión establecida para la herramienta.
Para ver un ejemplo de una sección de CCW_HELICAL_ARC_PLUNGE_MOVE, consulte el archivo: Mach2_3_ATC_Arcs_inch.pp
FIRST_CCW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Salida de comandos para el primer movimiento de arco helicoidal en sentido contrario a las agujas del reloj en una serie de movimientos.
+---------------------------------------------------
begin FIRST_CCW_HELICAL_ARC_MOVE
"Commands"
Similar a la sección FIRST_CCW_ARC_MOVE, pero para los movimientos que también se mueven en Z.
Para obtener un ejemplo de una sección de CCW_HELICAL_ARC_MOVE, consulte el archivo: Mach2_3_ATC_Arcs_inch
CCW_ARC_MOVE
+---------------------------------------------------
+ Salida de comandos para movimientos de arco en sentido contrario a las agujas del reloj.
+---------------------------------------------------
begin CCW_ARC_MOVE
"Commands"
Similar a la sección FEED_MOVE, pero para los segmentos de arco en sentido contrario a las agujas del reloj.
Para ver un ejemplo de una sección de CCW_ARC_MOVE, consulte el archivo: Centroid_Arcs_inch.pp
CCW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Salida de comandos para movimientos de arco helicoidal en sentido contrario a las agujas del reloj
+---------------------------------------------------
begin CCW_HELICAL_ARC_MOVE
"Commands"
Similar a la sección CCW_ARC_MOVE, pero para los movimientos que también se mueven en Z.
Para ver un ejemplo de una sección de CCW_HELICAL_ARC_MOVE, consulte el archivo: Mach2_3_ATC_Arcs_inch.pp
FOOTER
El pie de página es la sección del postprocesador para las instrucciones que se envían al controlador al final de un archivo. Estas pueden ser instrucciones para devolver la herramienta a la posición de inicio, apagar el husillo o apagar la alimentación a las unidades.
+---------------------------------------------------
+ Salida de comandos al final del archivo
+---------------------------------------------------
begin FOOTER
"Commands"
Las variables que se utilizan comúnmente incluyen.
- G00 [XH] [YH] [ZH] Posición de inicio rápida a X,Y,Z.
- M05 M Código utilizado a menudo para apagar el husillo.
- M30 M Código utilizado a menudo para significar el final del archivo.
Secciones de soporte de Jet
Estas secciones son para apoyar herramientas de corte a base de chorros como láseres, plasmas y chorros de agua.
JET_TOOL_POWER
+---------------------------------------------------
+ Salida de comandos cuando se establece la potencia de la herramienta de corte
+---------------------------------------------------
begin JET_TOOL_POWER
"Commands"
Para ver un ejemplo de una sección JET_TOOL_POWER, consulte el archivo: Grbl.pp
Comandos que se emiten cuando se envía el ajuste de potencia asociado a una 'herramienta' láser.
JET_TOOL_ON
+---------------------------------------------------
+ Salida de comandos cuando la alimentación de la herramienta de corte está encendida
+---------------------------------------------------
begin JET_TOOL_ON
"Commands"
Para ver un ejemplo de una sección de JET_TOOL_ON, consulte el archivo: Grbl.pp
Comandos que se emiten cuando la herramienta jet está encendida. Esto es ampliamente equivalente a SPINDLE_ON, pero normalmente se envía al final de un movimiento de inmersión cuando la cortadora de chorro ya está en la altura de corte prevista, en lugar de antes del movimiento de inmersión según lo requiera una fresa de husillo.
JET_TOOL_OFF
+---------------------------------------------------
+ Salida de comandos cuando la alimentación de la herramienta de corte está apagada
+---------------------------------------------------
begin JET_TOOL_OFF
"Commands"
Para ver un ejemplo de una sección de JET_TOOL_OFF, consulte el archivo: Grbl.pp
Comandos que se emiten cuando la herramienta de chorro está apagada.
Otras secciones menos utilizadas
FEED_RATE_CHANGE
+---------------------------------------------------
+ Salida de comandos cuando cambia la velocidad de avance
+---------------------------------------------------
begin FEED_RATE_CHANGE
"Commands"
Para ver un ejemplo de una sección de FEED_RATE_CHANGE, consulte el archivo: Gravograph_IS200.pp
Comandos que se emiten cuando se cambia la velocidad de avance. Esta sección no se utiliza a menudo ya que muchos controladores aceptarán cambios en la velocidad de avance anexados a otras instrucciones, pero a veces se utilizan con variantes HPGL.
FIRST_PLUNGE_MOVE
+---------------------------------------------------
+ Salida de comandos para el primer movimiento de inmersión, en una serie de movimientos de inmersión.
+---------------------------------------------------
begin FIRST_PLUNGE_MOVE
"Commands"
Para ver un ejemplo de una sección FIRST_PLUNGE_MOVE, consulte el archivo: Holz-Her_7123_ATC_Arcs_mm.pp
Esta sección se utiliza a menudo en máquinas que no admiten completamente el movimiento 3D simultáneo, por ejemplo, el eje Z no puede viajar tan rápido como el eje X y Y. Otro uso de esta sección podría ser incluir comandos que desea generar cada vez que se produzca el primer movimiento de inmersión. Por ejemplo, comandos para encender una antorcha de plasma. Normalmente, las múltiples inmersiones solo se emitirían dentro de un movimiento de rampa, por lo que este comando sería útil para los controles que se envían automáticamente entre cortes y donde las instrucciones como velocidades revisadas y alimentación deben especificarse en el primer movimiento de inmersión, y estas instrucciones no son necesarias para los movimientos de inmersión posteriores dentro de la operación de rampa.
PLUNGE_MOVE
+---------------------------------------------------
+ Salidas de comandos pa
+---------------------------------------------------
begin PLUNGE_MOVE
"Commands"
begin PLUNGE_MOVE
"Commands"
Para ver un ejemplo de una sección de PLUNGE_MOVE, consulte el archivo: Burny_arc_inch.pp
Esta sección se utiliza a menudo en máquinas que no admiten completamente el movimiento 3D simultáneo, por ejemplo, el eje Z no puede viajar tan rápido como el eje X y Y. Otro uso de esta sección podría ser incluir comandos que desea generar cada vez que se produce un movimiento de inmersión. Por ejemplo, comandos para encender una antorcha de plasma.
RETRACT_MOVE
+---------------------------------------------------
+ Salida de comandos para retractar movimientos
+---------------------------------------------------
begin RETRACT_MOVE
"Commands"
Para obtener un ejemplo de una sección de RETRACT_MOVE, consulte el archivo: Burny_arc_inch.pp
Un uso de esta sección podría ser incluir comandos para apagar una antorcha de plasma.
DWELL_MOVE
+---------------------------------------------------
+ Salida de comandos para Comandos de morada
+---------------------------------------------------
begin DWELL_MOVE
"Commands"
Para ver un ejemplo de una sección DWELL_MOVE, consulte el archivo: Mach2_3_Arcs_inch.pp
Este comando fue introducido para VCarve Pro 7.5 y Aspire 4.5 y versiones posteriores. Se utiliza con una trayectoria de herramienta de taladrado, cuando se ha especificado un tiempo de espera en el programa. Si no se define esta sección, se omiten los comandos de espera, pero el resto de la trayectoria de herramienta de taladrado se emitirá de forma normal. La variable DWELL se documenta en la sección Variables.
Caracteres especiales
La mayoría de los caracteres se pueden generar dentro de los límites de las instrucciones de salida del postprocesador; sin embargo, ciertos caracteres tienen un significado especial dentro de los archivos de configuración del postprocesador y no se pueden generar directamente.
Estos son, los corchetes [ ], y el carácter de comillas dobles " Puede ser el caso de que necesite generar uno de estos caracteres dentro de su archivo de salida.
Si desea generar uno de estos caracteres, puede hacerlo encerrando el equivalente decimal del valor ASCII del carácter especial que desea generar, entre corchetes, como se muestra a continuación. Este método también se puede utilizar para insertar cualquier valor ASCII, incluso caracteres no imprimibles.
- [91] Emite un corchete cuadrado izquierdo.
- [93] Emite un corchete cuadrado derecho.
- [34] Emite un carácter de comillas dobles.
- [13] Emite un retorno de carro.
- [10] Emite un salto de línea.
Para obtener un ejemplo de un archivo que utiliza caracteres especiales, consulte: Biesse_Rover_Arcs_mm.pp
Ejemplo: Adición de comandos de cambio de herramienta
Para la mayoría de los casos, la forma más rápida y fácil de producir un postprocesador personalizado para adaptarse a su controlador, será editar un postprocesador existente. Para ello, primero cree un archivo de prueba simple que pueda usar para probar la salida de su postprocesador. Un archivo simple puede constar de una línea y dos círculos. Produzca un perfil de corte poco profundo para cada una de las formas, mecanizando "sobre" la línea, "dentro" de uno de los círculos y "fuera" del otro círculo.
Guarde una trayectoria de herramienta con su postprocesador base y véala con su editor de texto favorito. A continuación se muestra un ejemplo del archivo de prueba publicado con el postprocesador "G-Code Arcs (pulgadas) (*.tap) el ejemplo siguiente se muestra utilizando el popular editor Bloc de notas++.
Para nuestro ejemplo, agregaremos una sección de cambio de herramienta a este postprocesador. En primer lugar, haga una copia segura del postprocesador que está personalizando. Si abre el postprocesador que está editando en un editor de texto, podrá ver las líneas de texto dentro del postprocesador que formateó la salida del archivo de prueba.
Se puede acceder a la carpeta PostP desde la aplicación, haciendo clic en "Archivo > Abrir carpeta de datos de la aplicación" en el menú principal de la aplicación.
Para agregar una sección de cambio de herramienta al postprocesador, deberá consultar la documentación para el control de la máquina herramienta (o software de control). En este ejemplo, asumiremos que las instrucciones que necesita agregar para realizar un cambio de herramienta para su máquina herramienta en particular son las siguientes:
- M05, Instrucción de apagar el husillo antes del cambio de herramienta.
- M0, Instrucción para devolver la herramienta existente al portaherramientas.
- M06TTool_Number n, Instrucción para seleccionar una nueva herramienta Tool_Number n
- G43HTool_Number n, Instrucción de control para utilizar el desplazamiento de longitud de herramienta para la herramienta n
- Sxxx M03, Ajusta la velocidad del husillo a xxx; Enciende el husillo (rotación en el sentido de las agujas del reloj).
Edita el postprocesador usando tu editor de texto favorito.
Si el sistema operativo del equipo está habilitado para Microsoft Vista y el Control de acceso de usuario está habilitado, copie o mueva el postprocesador que está editando desde la carpeta PostP a una carpeta debajo del área de usuario.
Lo primero que debe editar dentro del archivo es la sección Comentarios de historial; Para que tenga un registro de los cambios.
A continuación, edite POST_NAME para reflejar que este postprocesador genera comandos de cambio automático de herramientas (ATC), el nuevo post se mostrará como "G-Code ATC Arcs (inch)(*.tap)" en la lista de postprocesadores.
A continuación, agregue una sección de cambio de herramienta que incluirá las instrucciones. La ubicación de la nueva sección dentro del archivo no es importante, pero un buen lugar para insertarla es entre las secciones Header (encabezado) y Rapid Move (movimiento rápido).
Agregue algunas líneas de comentario en la parte superior de la nueva sección, (comenzando por el carácter +) para describir la sección y hacer que el archivo en su conjunto sea más fácil de leer. A continuación, introduzca la línea "begin TOOLCHANGE" para indicar al postprocesador que se van a generar las siguientes instrucciones para cada cambio de herramienta (excepto la selección inicial de la herramienta, los comandos para estos están contenidos en la sección de encabezado).
El siguiente paso es introducir las instrucciones que necesite, entre comillas dobles. La "[T]" en la tercera y cuarta líneas de instrucción de nuestro ejemplo, se sustituirá por el número de herramienta cuando se procese el archivo; La "[S]" de la quinta línea se sustituirá por la velocidad del husillo de la herramienta.
Por último, tendrá que guardar los cambios en el archivo, ya que ha cambiado POST_NAME, guarde el archivo con un nuevo nombre, por ejemplo "GCODE_ATC_Arcs_inch.pp"
Si el sistema operativo del equipo es Microsoft Windows 7 o Microsoft Vista y el Control de acceso de usuarios está habilitado, copie el archivo que ha editado en la carpeta "PostP".
Para probar el nuevo postprocesador, si el software se está ejecutando, reinicie el software.
Si hay algún error de sintaxis con su postprocesador, se mostrará un error similar a la imagen siguiente cuando se inicie el software, el postprocesador que ha editado no aparecerá en la lista desplegable de archivos de configuración del postprocesador. Tendrá que corregir cualquier error y reiniciar el software.
Si no se muestran errores cuando se inicia el software, abra el archivo de prueba y guarde una o varias de las rutas de herramientas de prueba.
Seleccione el postprocesador en la lista desplegable de la configuración del postprocesador y pulse el botón "Guardar trayectoria(s) de herramienta".
Echa un vistazo al archivo que acabas de guardar en un editor de texto.
Si el contenido del archivo se ve bien, prueba el archivo en el equipo.
Por favor, tome todas las precauciones necesarias al ejecutar la salida de un postprocesador modificado por primera vez.
Ejemplo: Cambiar la extensión de archivo
La extensión de archivo que es producida automáticamente por el postprocesador se puede cambiar dentro del cuadro de diálogo "Guardar como", al hacer clic en el botón "Guardar trayectoria(s) de herramienta".
Sin embargo, en lugar de cambiar la extensión de archivo cada vez. Es más conveniente cambiar permanentemente la extensión de archivo producida por el postprocesador.
Para hacer esto:
Haga una copia segura del postprocesador que desea editar.
Los archivos de configuración del postprocesador se encuentran en la carpeta "PostP" de la carpeta de instalación del producto y tienen ". PP" de extensión de archivo. Para Aspire versión 2, la ubicación predeterminada de la carpeta PostP es: "C:\Archivos de programa\Aspire V2.0\PostP". La ubicación de la carpeta PostP será diferente dependiendo del producto instalado y si el software se instaló en una ubicación personalizada durante la instalación.
Edita el postprocesador usando tu editor de texto favorito.
Si el sistema operativo del equipo está habilitado para Microsoft Windows 7 o Microsoft Vista y el Control de acceso de usuarios está habilitado, copie o mueva el postprocesador que está editando desde la carpeta PostP a una carpeta debajo del área de usuario.
Busque las dos líneas siguientes dentro del archivo de configuración del postprocesador que comienzan por:
POST_NAME =
FILE_EXTENSION =
y modifíquelos en consecuencia.
Por ejemplo, si desea cambiar la extensión de archivo producida por el postprocesador "G Code ATC (inch)(*.tap)" de ".tap" a ".nc". A continuación, edite las líneas:
POST_NAME = "G Code ATC (inch) (*.tap)"
FILE_EXTENSION = "tap"
para que se lean:
POST_NAME = "G Code ATC (inch) (*.nc)"
FILE_EXTENSION = "nc"
Guarde los cambios en el archivo. Si el sistema operativo del equipo es Microsoft Windows 7 o Microsoft Vista y el Control de acceso de usuarios está habilitado, copie el archivo que ha editado en la carpeta "PostP".
Para probar el nuevo postprocesador, si el software se está ejecutando, reinicie el software. Si hay algún error de sintaxis con su postprocesador, se mostrará un error similar a la imagen siguiente cuando se inicie el software, el postprocesador que ha editado no aparecerá en la lista desplegable de archivos de configuración del postprocesador. Tendrá que corregir cualquier error y reiniciar el software.
Si no se muestran errores cuando se inicia el software, abra el archivo de prueba y guarde una o varias de las rutas de herramientas de prueba.
Seleccione el postprocesador en la lista desplegable de la configuración del postprocesador y pulse el botón "Guardar trayectoria(s) de herramienta".
Echa un vistazo al archivo que acabas de guardar en un editor de texto.
Si el contenido del archivo se ve bien, pruebe el archivo en el equipo.
Por favor, tome todas las precauciones necesarias al ejecutar la salida de un postprocesador modificado por primera vez.
Consejos y trucos
- Siempre haga una copia segura del postprocesador que está editando, en caso de que necesite empezar de nuevo desde cero.
- Si utiliza un programa de procesador de textos, como Microsoft Word, para editar un postprocesador, asegúrese de que el archivo se guarda como texto sin formato. El archivo no debe contener información de formato.
- Si edita postprocesadores en un equipo que ejecuta Microsoft Windows 7 o Microsoft Vista, no edite los archivos directamente en la carpeta "Archivos de programa\Carpeta de producto\PostP". Edite siempre el archivo dentro de su área de usuario y copie el archivo editado en "Archivos de programa\carpeta de productos\PostP".
- Utilice comentarios cuando realice cambios, un comentario es un texto que sigue a un signo + o un caracter | . Los comentarios no serán actuados por el programa, pero pueden ayudar a documentar los cambios que ha realizado y hacer que esos cambios sean comprensibles en el futuro.
- Todas las líneas de instrucción deben estar contenidas entre comillas.
- Si es posible, utilice un editor de texto que haga uso de números de línea; Esto facilitará la depuración del postprocesador si hay algún error en el archivo. El programa comprobará los postprocesadores en la carpeta PostP cuando se inicie el programa. Si hay errores de sintaxis en el archivo, se mostrará un mensaje de error que muestra el número de línea del primer error encontrado.
- Una vez que haya editado correctamente un postprocesador, haga una copia segura del mismo. Si instala una versión posterior del producto Vectric que está utilizando, recuerde copiar el postprocesador modificado en la carpeta PostP de la nueva versión del software. Y seleccione su postprocesador modificado, la primera vez que guarde una trayectoria de herramienta, (el software recordará su selección para acciones posteriores).
- Si instala otra versión del software o actualiza la versión del software, recuerde copiar las copias seguras de los postprocesadores editados a la carpeta PostP de la nueva versión. Asegúrese de seleccionar el postprocesador correcto la primera vez que publique un archivo con la nueva versión del software.
- Para versiones posteriores del software, (V5.5 y superior). Se debe acceder a los postprocesadores desde la aplicación, haciendo clic en "Archivo > Abrir carpeta de datos de la aplicación\Carpeta PostP.
- Se puede crear una lista personalizada de postprocesadores copiando solo los postprocesadores necesarios en la carpeta "Archivo > Abrir Carpeta de datos de la aplicación\My_PostP. Si existe algún archivo con una extensión de archivo .pp en la carpeta "My_PostP", solo los postprocesadores que existen en la carpeta My_PostP se mostrarán en la lista desplegable de postprocesadores.