Traitement post-processeur
Que fait le post-processeur ?
Le post-processeur est la section du programme qui convertit les coordonnées XYZ des déplacements d'outils dans un format adapté à une toupie ou une machine-outil particulière. Ce document explique comment créer et modifier les fichiers de configuration qui personnalisent la sortie du programme pour l'adapter à une commande machine particulière.
Vous trouverez ci-dessous des sections d'un programme typique qui a été post-traité en code G et en HPGL.
Sortie G-Code
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
Sortie 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 ;
Les fabricants de commandes de machines personnalisent souvent le format de fichier requis pour que les programmes fonctionnent sur une machine particulière, afin d'optimiser la commande en fonction des caractéristiques individuelles de cette machine.
Le post-processeur Vectric utilise des fichiers de configuration simples basés sur du texte, afin de permettre à l'utilisateur de personnaliser un fichier de configuration, s'il le souhaite.
Sections du post-processeur
Les post-processeurs Vectric sont divisés en sections pour faciliter la clarté, essayez d'écrire vos post-processeurs dans un style similaire pour faciliter le débogage.
Commentaires sur le dossier
Une section dans laquelle vous pouvez décrire le post-processeur et enregistrer les modifications apportées au post-processeur. Chaque ligne est un commentaire et commence par un caractère '+' ou '|'.
+ Historique
+ Qui Quand Quoi
+ ======== ========== ===========================
+ Tony 14/07/2006 Écrit
+ Mark 26/08/2008 Commandes ATC combinées, arrêt de la broche sur TC
+================================================
Déclarations de fichiers globaux
Les instructions sont des éléments qui ne sont utilisés qu'une seule fois ou qui ont des valeurs statiques tout au long du fichier. Pour plus de clarté, écrivez les noms des déclarations en lettres majuscules..
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. |
| Indicates that this post-processor supports laser toolpaths (if the Laser Module is installed). |
MIN_ARC_RADIUS = 0.01 | Optional minimum arc radius. Arcs which have a radius smaller than this value will be replaced with a single straight line move. |
MAX_ARC_RADIUS = 1000.0 | Optional maximum arc radius. Arcs which have a radius greater than this value will be polygonized. |
Support pour la division de la bande
Une section qui décrit comment une longue sortie de parcours d'outil sera divisée :
TAPE_SPLITTING=MAX_NUM_LINES LINE_TOL "FILENAME_FORMAT" START_INDEX INDEX_ON_FIRST_FILE
Par exemple, une commande de :
TAPLE_SPLITTING=1000 100 "%s_%s.tap" 1 "YES"
conduirait à......
La sortie sera divisée en plusieurs fichiers d'un maximum de 1 000 lignes (+ le nombre de lignes dans la section de pied de page du post-processeur), si un mouvement de rétraction existe après la ligne 900 (1000 - 100), le fichier sera divisé à ce mouvement. Si le fichier s'appelle "toolpath", les fichiers fractionnés seront nommés toolpath_1.tap, toolpath_2.tap, etc. La première sortie de parcours sera "toolpath_ 1.tap". Il n'y aura pas de fichier nommé "toolpath" sans numéro d'index, (car INDEX_ON_FIRST_FILE= YES est utilisé), à moins que le fichier ait moins de 1000 lignes, auquel cas le fichier ne sera pas divisé.
Note
Some controllers that require NC files to be split, also have limitations on the number of characters within a filename. For example they may require the file to be named with the MSDOS style 8.3 filename format. This should be considered when naming the output file.
Caractères de terminaison de ligne
LINE_ENDING="[13][12]"
Valeurs décimales des caractères ajoutés à chaque ligne séparée du fichier post-traité. (sera généralement [13][10]) (retour chariot, saut de ligne) pour tout contrôleur pouvant lire un fichier texte au format Windows ou MSDOS.
Numérotation des blocs
Si vous souhaitez ajouter des numéros de ligne au fichier de sortie, le numéro de ligne actuel est ajouté avec la variable [N]. Le comportement de cette variable de numéro de ligne est contrôlé par les variables suivantes :
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 |
Format des variables
Les valeurs de position d'outil, d'avance, de vitesse de broche, etc. sont insérées dans le fichier à l'aide de variables. Les variables sont utilisées dans l'ensemble du fichier ; elles sont remplacées par la valeur actuelle de cet élément lors du post-traitement du fichier. Par exemple, les positions X, Y et Z de l'outil à un moment donné sont insérées dans le fichier en utilisant les variables [X], [Y] et [Z] respectivement.
Pour plus de clarté, écrivez les noms de variables en lettres majuscules.
Une variable est formatée comme suit :
VAR VARIABLE = [VO|WO|CS|VF|MX]
où
VO
= Sortie de la variable, par exemple X, XF ou F.WO
= Sortie de la variable, A=Toujours, C=Uniquement en cas de modification.CS
= Sortie de chaîne de caractères avant la valeur.VF
= Format de la valeur, détermine le format de sortie de la valeur.MX
= Valeur multiplicatrice.
Une variable typique
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VAR
- Cette ligne est une variable.- Nom de la variable.
- Signe d'égalité.
- Crochet ouvert - (début des paramètres de formatage de la variable).
- Étiquette de la variable - c'est-à-dire l'étiquette qui est remplacée par la valeur de la variable.
- Barre verticale - Séparateur de paramètres.
- A = Toujours sortir la valeur, C = Ne sortir la valeur que lorsqu'elle change.
- Barre verticale - Séparateur de paramètres.
- Chaîne de caractères à imprimer avant la valeur de la variable.
- Barre verticale - Séparateur de paramètres.
- Drapeaux de format facultatifs - pour plus de détails, voir ci-dessous.
- Format de la valeur - unités et nombre de décimales à afficher.
- Barre verticale - Séparateur de paramètres.
- Multiplicateur de sortie - pour plus de détails, voir ci-dessous.
- Crochet fermé - Fin du formatage des paramètres.
Formatage de la valeur de sortie
La chaîne de format des valeurs doit être formatée comme suit :
FORMAT_FLAGS FIELD_WIDTH DECIMAL_SEPARATOR DECIMAL_PLACES
Les indicateurs de format sont facultatifs et ne sont nécessaires qu'à un petit nombre de contrôleurs ; ils seront décrits sous peu.
Largeur de champ La largeur de champ représente le nombre minimum de caractères qui sont émis. La largeur de champ est généralement fixée à "1" ; une valeur supérieure à 1 n'est généralement requise que si le contrôleur s'attend à voir un nombre fixe de caractères pour la valeur. Dans ce cas, un nombre supérieur à 1 peut être saisi. Le nombre saisi garantira la sortie de ce nombre de caractères. Le nombre qui représente la largeur du champ comprend le nombre complet à virgule flottante de la valeur de sortie (y compris le caractère séparateur décimal).
Séparateur décimal Le caractère du séparateur décimal est presque toujours un simple point, mais certains contrôleurs s'attendent à voir un caractère de virgule. (Pour un exemple de post processeur qui n'utilise pas le caractère point, voir le fichier : Heidenhain_inch.pp)
Décimales Le nombre de décimales sorties après le séparateur décimal. Les valeurs sont souvent fixées à 3 pour les contrôleurs fonctionnant en système métrique, ou à 4 pour les contrôleurs fonctionnant en pouces.
Indicateurs de format facultatifs
Les valeurs de sortie peuvent être modifiées davantage en utilisant les indicateurs de format facultatifs :
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. |
Formatage par défaut des variables
La plupart des variables ont un format par défaut (voir ci-dessous). Pour définir un format différent pour une variable, entrez la ligne ci-dessous dans votre post-processeur et modifiez les paramètres en fonction de votre contrôleur.
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. |
Valeur du multiplicateur
La valeur du multiplicateur est utilisée pour multiplier la valeur afin de produire une valeur différente. Les raisons courantes pour lesquelles on souhaite faire cela sont les suivantes :
Pour convertir la sortie par défaut d'un post processeur en pouces, de pouces par minute en pouces par seconde, (Multiplier par 0.01666).
Pour convertir la sortie par défaut d'un post-processeur métrique, de mm par minute en mm par seconde, (Multiplier par 0,0166).
Pour rendre des valeurs positives négatives (et vice versa), (Multiplier par -1).
Pour convertir la sortie d'un angle d'arc de radians en degrés, (Multiplier par 57,2957795).
Pour multiplier ou diviser par un facteur fixe (par exemple, pour produire un modèle à l'échelle 1:4, multipliez par 0,25).
Blocs de post-processeur
HEADER
+---------------------------------------------------
+ Commands output at the start of the file
+---------------------------------------------------
begin HEADER
"Commands"
L'en-tête est l'emplacement des instructions qui sont produites une fois, au début du fichier, et qui configurent généralement des commandes modales pour le contrôleur.
Par exemple, l'en-tête peut contenir une commande pour afficher le nom du fichier sur le contrôleur et une série de "codes G" pour configurer la machine, par exemple G20 pour indiquer au contrôleur que les mouvements sont en pouces, ou G21 pour indiquer au contrôleur que les mouvements sont en millimètres.
Les variables que vous pourriez souhaiter voir figurer dans la section d'en-tête pourraient être les suivantes :
Informations sur le bloc matériel
- Étendue minimale en X = [XMIN]
- Étendue minimale en Y = [YMIN]
- Étendue minimale en Z = [ZMIN]
- Etendue maximale en X = [XMAX]
- Extension maximale en Y = [YMAX]
- Etendue maximale en Z = [ZMAX].
- Longueur du matériau en X = [XLONGUEUR]".
- Longueur du matériau en Y = [YLONGUEUR]
- Profondeur du matériau en Z = [ZLONGUEUR]".
Informations sur la position du point d'attache
- Origine X = [XH]
- Origine Y = [YH]
- Origine Z = [ZH]
- Espace de dégagement rapide ou sécurité Z = [SAFEZ].
Détails du premier outil à utiliser.
- Numéro d'outil = [T]
- Nom de l'outil = [TOOLNAME]
Vitesses de coupe initiales
- Vitesse d'avance utilisée pour couper et plonger dans le matériau = [F].
- Vitesse d'avance pendant que l'outil coupe le matériau = [FC]
- Vitesse d'avance pendant que l'outil plonge dans le matériau = [FP].
Les valeurs réelles dépendent des UNITÉS définies (voir Paramètres globaux du fichier) Les valeurs par défaut sont MM/Minute ou Inches/Minute, mais la sortie peut être modifiée en fonction du formatage "VAR FEED_RATE" approprié.
Vitesse de la broche
- Vitesse de la broche = [S] R.P.M.
SPINDLE_ON
+---------------------------------------------------
+ Commands output at when the Spindle first turns on.
+---------------------------------------------------
begin SPINDLE_ON
"Commands"
The Spindle On section was added to allow for Spindle and Laser operations in the same Post Processor instead of having the Spindle on command as part of the header.
Typically this will just have the Spindle on command (M03 for example) but can also include a Spindle speed command [S]
TOOLCHANGE
+---------------------------------------------------
+ Commands output at toolchange
+---------------------------------------------------
begin TOOLCHANGE
"Commands"
Les commandes qui sont émises lorsqu'un changement d'outil est nécessaire. Les variables et les commandes qui peuvent être utilisées incluent :
- Numéro de l'outil = [T]
- Nom de l'outil = [TOOLNAME]
- Nom du parcours d'outil = [TOOLPATH_NAME].
- Nom du chemin d'accès à l'outil = [PATHNAME]
- Nom du fichier du parcours d'outil = [TP_FILENAME]
- Répertoire du fichier du chemin d'accès = [TP_DIR].
- Extension du parcours d'outil = [TP_EXT].
- Vitesse de la broche = [S] R.P.M.
- M3 M Code souvent utilisé pour mettre la broche en marche (rotation dans le sens des aiguilles d'une montre).
- M5 M Code souvent utilisé pour mettre la broche hors tension.
NEW_SEGMENT
+---------------------------------------------------
+ Commands output for a new segment ( new toolpath with current toolnumber)
+---------------------------------------------------
begin NEW_SEGMENT
"Commands"
Pour un exemple de section NEW_SEGMENT, voir le fichier : Mach2_3_ATC_Arcs_inch.pp
Commandes qui sont émises lorsqu'un nouveau parcours utilise l'outil actuellement sélectionné, mais qu'une vitesse de broche différente est peut-être nécessaire ou que la machine requiert des instructions supplémentaires.
Toute commande utilisée dans la section NEW_SEGMENT ne doit pas être incluse dans la section TOOLCHANGE, car un changement d'outil appelle automatiquement les instructions de la section NEW_SEGMENT.
Les variables couramment utilisées sont les suivantes
- Vitesse de la broche = [S] R.P.M.
- M3 M Code souvent utilisé pour mettre la broche en marche (rotation dans le sens des aiguilles d'une montre).
- M5 M Code souvent utilisé pour arrêter la broche.
INITIAL_RAPID_MOVE
+---------------------------------------------------
+ Commands output for Initial rapid move
+---------------------------------------------------
begin INITIAL_RAPID_MOVE
"Commands"
Pour un exemple de section INITIAL_RAPID_MOVE, voir le fichier : Saom_OSAI_Arc_inch.pp
Commandes qui sont émises lorsque le tout premier mouvement rapide est effectué après l'en-tête ou un changement d'outil. Une section qui n'est pas utilisée pour la plupart des postes, mais qui est utile si le tout premier déplacement rapide, doit sortir des informations différentes des déplacements rapides suivants. Cette section est parfois nécessaire pour les variantes de HPGL.
RAPID_MOVE
+---------------------------------------------------
+ Commands output for rapid moves.
+---------------------------------------------------
begin RAPID_MOVE
"Commands"
Commandes qui sont émises lorsque des mouvements rapides sont nécessaires.
FIRST_FEED_MOVE
+---------------------------------------------------
+ Commands output for first feed rate move in a series of feed moves.
+---------------------------------------------------
begin FIRST_FEED_MOVE
"Commands"
Cette section est généralement utilisée lorsque les contrôleurs exigent que l'avance soit définie lors du premier mouvement d'avance, cette avance sera ensuite utilisée pour les mouvements de coupe suivants.
Pour un exemple de section FIRST_FEED_MOVE, voir le fichier : Axyz_Arcs_ATC_inch.pp
FEED_MOVE
+---------------------------------------------------
+ Commands output for feed rate moves
+---------------------------------------------------
begin FEED_MOVE
"Commands"
Used to output information required at every move, or all feed moves except for the First Feed Move, if a FIRST_FEED_MOVE section is present within the 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"
Similaire à la section FIRST_FEED_MOVE, mais pour les segments d'arc dans le sens des aiguilles d'une montre. Cette section est généralement utilisée lorsque les contrôleurs exigent que la vitesse d'avance soit définie pour le premier segment d'arc, cette vitesse étant ensuite utilisée pour les mouvements d'arc suivants dans la même direction.
Pour un exemple de section FIRST_CW_ARC_MOVE, voir le fichier : 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"
Similaire à la section FIRST_CW_ARC_MOVE, mais pour les mouvements qui se déplacent également en Z. Les vitesses d'avance sont issues de la vitesse de plongée définie pour l'outil.
Pour un exemple de section CW_HELICAL_ARC_PLUNGE_MOVE, voir le fichier : 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"
Similar to the FIRST_CW_ARC_MOVE section, but for moves that also move in Z.
For an example of a CW_HELICAL_ARC_MOVE section, see the file: Mach2_3_ATC_Arcs_inch.pp
CW_ARC_MOVE
+---------------------------------------------------
+ Commands output for clockwise arc moves.
+---------------------------------------------------
begin CW_ARC_MOVE
"Commands"
Semblable à la section FEED_MOVE, mais pour les segments d'arc dans le sens des aiguilles d'une montre.
Pour un exemple de section CW_ARC_MOVE, voir le fichier : Centroid_Arcs_inch.pp
CW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Commands output for clockwise helical arc moves
+---------------------------------------------------
begin CW_HELICAL_ARC_MOVE
"Commands"
Similar to the CW_ARC_MOVE section, but for moves that also move in Z.
For an example of a CW_HELICAL_ARC_MOVE section, see the 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"
Semblable à la section FIRST_FEED_MOVE, mais pour les segments d'arc dans le sens inverse des aiguilles d'une montre. Cette section est généralement utilisée lorsque les contrôleurs exigent que la vitesse d'avance soit définie pour le premier segment d'arc, cette vitesse étant ensuite utilisée pour les mouvements d'arc suivants dans la même direction.
Pour un exemple de section FIRST_CCW_ARC_MOVE, voir le fichier : 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"
Semblable à la section FIRST_CCW_ARC_MOVE, mais pour les mouvements qui se déplacent également en Z. Les vitesses d'avance produites proviennent de la vitesse de plongée définie pour l'outil.
Pour un exemple de section CCW_HELICAL_ARC_PLUNGE_MOVE, voir le fichier : 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"
Similaire à la section FIRST_CCW_ARC_MOVE, mais pour les mouvements qui se déplacent également en Z.
Pour un exemple de section CCW_HELICAL_ARC_MOVE, voir le fichier : Mach2_3_ATC_Arcs_inch
CCW_ARC_MOVE
+---------------------------------------------------
+ Commands output for counter-clockwise arc moves.
+---------------------------------------------------
begin CCW_ARC_MOVE
"Commands"
Similaire à la section FEED_MOVE, mais pour les segments d'arc dans le sens inverse des aiguilles d'une montre.
Pour un exemple de section CCW_ARC_MOVE, voir le fichier : Centroid_Arcs_inch.pp
CCW_HELICAL_ARC_MOVE
+---------------------------------------------------
+ Commands output for counter-clockwise helical arc moves
+---------------------------------------------------
begin CCW_HELICAL_ARC_MOVE
"Commands"
Similaire à la section CCW_ARC_MOVE, mais pour les mouvements qui se déplacent également en Z.
Pour un exemple de section CCW_HELICAL_ARC_MOVE, voir le fichier : Mach2_3_ATC_Arcs_inch.pp
FOOTER
Le pied de page est la section du post-processeur destinée aux instructions qui sont envoyées au contrôleur à la fin d'un fichier. Il peut s'agir d'instructions visant à ramener l'outil en position de départ, à arrêter la broche ou à couper l'alimentation des entraînements.
+---------------------------------------------------
+ Commands output at the end of the file
+---------------------------------------------------
begin FOOTER
"Commands"
Les variables couramment utilisées sont les suivantes.
- G00 [XH] [YH] [ZH] Rapide à la position de base X, Y, Z.
- M05 M Code souvent utilisé pour arrêter la broche.
- M30 M Code souvent utilisé pour signifier la fin du fichier.
Sections de support des jets
Ces sections sont destinées à soutenir les outils de découpe par jet tels que les lasers, les plasmas et les hydrojets.
JET_TOOL_POWER
+---------------------------------------------------
+ Commands output when the cutter's power is set
+---------------------------------------------------
begin JET_TOOL_POWER
"Commands"
Pour un exemple de section JET_TOOL_POWER, voir le fichier : Grbl.pp
Commandes émises lorsque le paramètre de puissance associé à un "outil" laser est émis.
JET_TOOL_ON
+---------------------------------------------------
+ Commands output when the cutter's power is turned ON
+---------------------------------------------------
begin JET_TOOL_ON
"Commands"
Pour un exemple de section JET_TOOL_ON, voir le fichier : Grbl.pp
Commandes qui sont émises lorsque l'outil de jet est mis sous tension. Cette commande est globalement équivalente à SPINDLE_ON, mais elle est généralement émise à la fin d'un mouvement de plongée lorsque l'outil de coupe à jet est déjà à la hauteur de coupe prévue, au lieu d'être émise avant le mouvement de plongée comme l'exige un outil de coupe à broche.
JET_TOOL_OFF
+---------------------------------------------------
+ Commands output when the cutter's power is turned OFF
+---------------------------------------------------
begin JET_TOOL_OFF
"Commands"
For an example of a JET_TOOL_OFF section, see the file: Grbl.pp
Commands that are output when the jet tool is powered off.
Autres sections moins fréquemment utilisées
FEED_RATE_CHANGE
+---------------------------------------------------
+ Commands output when feed rate changes
+---------------------------------------------------
begin FEED_RATE_CHANGE
"Commands"
Pour un exemple de section FEED_RATE_CHANGE, voir le fichier : Gravograph_IS200.pp
Commandes qui sont émises lorsque la vitesse d'avance est modifiée. Cette section n'est pas souvent utilisée car de nombreux contrôleurs acceptent les changements de vitesse d'avance joints à d'autres instructions, mais elle est parfois utilisée avec les variantes HPGL.
FIRST_PLUNGE_MOVE
+---------------------------------------------------
+ Commands output for the First Plunge Move, in a series of plunge moves.
+---------------------------------------------------
begin FIRST_PLUNGE_MOVE
"Commands"
Pour un exemple de section FIRST_PLUNGE_MOVE, voir le fichier : Holz-Her_7123_ATC_Arcs_mm.pp
Cette section est souvent utilisée sur des machines qui ne supportent pas complètement le mouvement 3D simultané, par exemple l'axe Z ne peut pas se déplacer aussi rapidement que les axes X et Y. Une autre utilisation de cette section pourrait être d'inclure des commandes que vous souhaitez émettre à chaque fois que le premier mouvement de plongée se produit. Par exemple, des commandes pour allumer une torche à plasma. Cette commande est donc utile pour les commandes qui accélèrent automatiquement entre les coupes et pour lesquelles des instructions telles que les vitesses révisées et l'avance doivent être spécifiées lors du premier mouvement de plongée et ces instructions ne sont pas nécessaires pour les mouvements de plongée suivants dans l'opération de rampe.
PLUNGE_MOVE
+---------------------------------------------------
+ Commands output for Plunge Moves
+---------------------------------------------------
begin PLUNGE_MOVE
"Commands"
Pour un exemple de section PLUNGE_MOVE, voir le fichier : Burny_arc_inch.pp
Cette section est souvent utilisée sur des machines qui ne supportent pas complètement le mouvement 3D simultané, par exemple l'axe Z ne peut pas se déplacer aussi rapidement que les axes X et Y. Une autre utilisation de cette section pourrait être d'inclure les commandes que vous souhaitez émettre à chaque fois qu'un mouvement de plongée se produit. Par exemple, des commandes pour allumer une torche à plasma.
RETRACT_MOVE
+---------------------------------------------------
+ Commands output for Retract Moves
+---------------------------------------------------
begin RETRACT_MOVE
"Commands"
Pour un exemple de section RETRACT _MOVE, voir le fichier : Burny_arc_inch.pp
Une utilisation de cette section pourrait être d'inclure des commandes pour éteindre une torche à plasma.
DWELL_MOVE
+---------------------------------------------------
+ Commands output for Dwell Commands
+---------------------------------------------------
begin DWELL_MOVE
"Commands"
Pour un exemple de section DWELL_MOVE, voir le fichier : Mach2_3_Arcs_inch.pp
Cette commande a été introduite pour VCarve Pro 7.5 et Aspire 4.5 et plus. Elle est utilisée avec un parcours de perçage, lorsqu'un temps de séjour a été spécifié dans le programme. Si cette section n'est pas définie, toutes les commandes de temporisation sont ignorées, mais le reste du parcours de perçage sera produit normalement. La variable DWELL est documentée dans la section Variables.
Caractères spéciaux
La plupart des caractères peuvent être édités dans les limites des instructions de sortie du post-processeur. Cependant, certains caractères ont une signification particulière dans les fichiers de configuration du post-processeur et ne peuvent pas être édités directement.
Il s'agit des crochets [ ], et du caractère guillemet double " Il se peut que vous ayez besoin de sortir un de ces caractères dans votre fichier de sortie.
Si vous souhaitez éditer l'un de ces caractères, vous pouvez le faire en plaçant entre crochets l'équivalent décimal de la valeur ASCII du caractère spécial que vous souhaitez éditer, comme indiqué ci-dessous. Cette méthode peut également être utilisée pour insérer n'importe quelle valeur ASCII, même des caractères non imprimables.
- [91] Affiche un crochet à gauche.
- [93] Produit un crochet droit.
- [34] Émet un caractère de guillemet double.
- [13] Émet un retour chariot.
- [10] Émet un saut de ligne.
Pour un exemple de fichier utilisant des caractères spéciaux, veuillez consulter : Biesse_Rover_Arcs_mm.pp
Exemple : Ajout de commandes de changement d'outil
Dans la majorité des cas, le moyen le plus rapide et le plus simple de produire un post-processeur personnalisé pour votre contrôleur est de modifier un post-processeur existant. Pour ce faire, créez d'abord un fichier de test simple que vous pourrez utiliser pour tester la sortie de votre post-processeur. Un fichier simple peut consister en une ligne et deux cercles. Produisez un parcours de profil de coupe peu profond pour chacune des formes, en usinant "sur" la ligne, "à l'intérieur" d'un des cercles et "à l'extérieur" de l'autre cercle.
Enregistrez un parcours en utilisant votre post-processeur de base et regardez-le en utilisant votre éditeur de texte préféré. Voici un exemple de fichier test enregistré à l'aide du post processeur "G-Code Arcs (inch) (*.tap)" L'exemple ci-dessous est affiché à l'aide du populaire éditeur Notepad ++.
Pour notre exemple, nous allons ajouter une section de changement d'outil à ce post processeur. Tout d'abord, faites une copie sécurisée du post-processeur que vous personnalisez. Si vous ouvrez le post-processeur que vous êtes en train de modifier dans un éditeur de texte, vous serez en mesure de voir les lignes de texte dans le post-processeur qui ont formaté la sortie de votre fichier de test.
Le dossier PostP est accessible depuis l'application, en cliquant sur "Fichier > Ouvrir le dossier de données de l'application" dans le menu principal de l'application.
Pour ajouter une section de changement d'outil au post-processeur, vous devrez consulter la documentation de la commande de la machine-outil (ou du logiciel de commande). Pour cet exemple, nous supposerons que les instructions que vous devez ajouter pour effectuer un changement d'outil pour votre machine-outil particulière sont les suivantes :
- M05 Instruction pour arrêter la broche avant le changement d'outil.
- M0 Instruction pour remettre l'outil existant dans le porte-outil.
- M06TTool_Number n Instruction pour sélectionner le nouvel outil Tool_Number n
- G43HTool_Number n Instruction pour que la commande utilise le décalage de longueur d'outil pour l'outil n
- Sxxx M03 Régler la vitesse de la broche à xxx ; Mettre la broche en marche (rotation dans le sens des aiguilles d'une montre).
Modifiez le post-processeur à l'aide de votre éditeur de texte préféré.
Si le système d'exploitation de votre ordinateur est Microsoft Vista et que le contrôle d'accès des utilisateurs est activé, copiez ou déplacez le post-processeur que vous modifiez du dossier PostP vers un dossier situé sous votre zone utilisateur.
La première chose que vous devez modifier dans le fichier est la section Commentaire de l'historique, afin d'avoir une trace des modifications.
Modifiez ensuite le POST_NAME pour indiquer que ce post processeur produit des commandes de changement d'outil automatique (ATC), le nouveau post sera affiché comme "G-Code ATC Arcs (inch)(*.tap)" dans la liste des post processeurs.
Ajoutez ensuite une section de changement d'outil qui comprendra les instructions. L'emplacement de la nouvelle section dans le fichier n'est pas important, mais un bon endroit pour l'insérer est entre les sections En-tête et Déplacement rapide.
Ajoutez quelques lignes de commentaires en haut de la nouvelle section (commençant par le caractère +) pour décrire la section et rendre le fichier dans son ensemble plus facile à lire. Saisissez ensuite la ligne "begin TOOLCHANGE" pour indiquer au post-processeur que les instructions suivantes doivent être émises pour chaque changement d'outil (à l'exception de la sélection initiale de l'outil, dont les commandes sont contenues dans la section En-tête).
L'étape suivante consiste à entrer les instructions dont vous avez besoin, entre guillemets. Les "[T]" des troisième et quatrième lignes d'instructions de notre exemple seront remplacés par le numéro de l'outil lors du post-traitement du fichier ; les "[S]" de la cinquième ligne seront remplacés par la vitesse de rotation de l'outil.
Enfin, vous devrez enregistrer les modifications apportées au fichier, puisque vous avez changé le POST_NAME, enregistrez le fichier en utilisant un nouveau nom, par exemple “GCODE_ATC_Arcs_inch.pp”
Si le système d'exploitation de votre ordinateur est Microsoft Windows 7 ou Microsoft Vista et que le contrôle d'accès des utilisateurs est activé, copiez le fichier que vous avez modifié dans le dossier "PostP".
Pour tester le nouveau post-processeur, Si le logiciel est en cours d'exécution, redémarrez-le.
Si votre post-processeur présente des erreurs de syntaxe, une erreur similaire à l'image ci-dessous s'affichera au démarrage du logiciel, le post-processeur que vous avez modifié n'apparaîtra pas dans la liste déroulante des fichiers de configuration du post-processeur. Vous devrez rectifier les erreurs et redémarrer le logiciel.
Si aucune erreur ne s'affiche au démarrage du logiciel, ouvrez votre fichier de test et enregistrez un ou plusieurs de vos parcours de test.
Sélectionnez le post-processeur dans la liste déroulante de configuration du post-processeur et appuyez sur le bouton "Save Toolpath(s)".
Examinez le fichier que vous venez d'enregistrer dans un éditeur de texte.
Si le contenu du fichier semble bon, essayez le fichier sur votre machine.
Veuillez prendre toutes les précautions nécessaires lorsque vous exécutez la sortie d'un post-processeur modifié pour la première fois.
Exemple : Changement de l'extension de fichier
L'extension de fichier qui est automatiquement produite par le post-processeur peut être modifiée dans la boîte de dialogue "Enregistrer sous", lorsque vous cliquez sur le bouton "Enregistrer le(s) parcours".
Cependant, plutôt que de changer l'extension de fichier à chaque fois. Il est plus pratique de changer de façon permanente l'extension de fichier produite par le post-processeur.
Pour ce faire :
Faites une copie sûre du post processeur que vous souhaitez modifier.
Les fichiers de configuration du post-processeur sont situés dans le dossier "PostP" du dossier d'installation du produit et ont une extension de fichier ".PP". Pour Aspire version 2, l'emplacement par défaut du dossier PostP est : "C:\Program Files\Aspire V2.0\PostP" ; l'emplacement du dossier PostP sera différent selon le produit installé et si le logiciel a été installé à un emplacement personnalisé lors de l'installation du logiciel.
Modifiez le post-processeur à l'aide de votre éditeur de texte préféré.
Si le système d'exploitation de votre ordinateur est Microsoft Windows 7 ou Microsoft Vista et que le contrôle d'accès des utilisateurs est activé, copiez ou déplacez le post-processeur que vous êtes en train de modifier du dossier PostP vers un dossier situé sous votre espace utilisateur.
Recherchez les deux lignes suivantes dans le fichier de configuration du post-processeur, qui commencent par :
POST_NAME =
FILE_EXTENSION =
et modifiez-les en conséquence.
Par exemple, si vous souhaitez changer l'extension du fichier produit par le post-processeur "G Code ATC (inch)(*.tap)" de ".tap" à ".nc". Modifiez alors les lignes :
POST_NAME = "G Code ATC (inch) (*.tap)"
FILE_EXTENSION = "tap"
pour qu'elles soient lisibles :
POST_NAME = "G Code ATC (inch) (*.nc)"
FILE_EXTENSION = "nc"
Sauvegardez les modifications apportées à votre fichier. Si le système d'exploitation de votre ordinateur est Microsoft Windows 7 ou Microsoft Vista et que le contrôle d'accès utilisateur est activé, copiez le fichier que vous avez modifié dans le dossier "PostP".
Pour tester le nouveau post-processeur, Si le logiciel est en cours d'exécution, redémarrez-le. Si votre post-processeur présente des erreurs de syntaxe, une erreur similaire à l'image ci-dessous s'affichera au démarrage du logiciel, le post-processeur que vous avez modifié n'apparaîtra pas dans la liste déroulante des fichiers de configuration du post-processeur. Vous devrez rectifier les erreurs et redémarrer le logiciel.
Si aucune erreur ne s'affiche au démarrage du logiciel, ouvrez votre fichier de test et enregistrez un ou plusieurs de vos parcours de test.
Sélectionnez le post-processeur dans la liste déroulante de configuration du post-processeur et appuyez sur le bouton "Save Toolpath(s)".
Examinez le fichier que vous venez d'enregistrer dans un éditeur de texte.
Si le contenu du fichier semble bon, essayez le fichier sur votre machine.
Veuillez prendre toutes les précautions nécessaires lorsque vous utilisez la sortie d'un post-processeur modifié pour la première fois.
Trucs et astuces
- Faites toujours une copie sûre du traitement de texte que vous modifiez, au cas où vous devriez recommencer à zéro.
- Si vous utilisez un programme de traitement de texte, tel que Microsoft Word, pour modifier un post-processeur, assurez-vous que le fichier est enregistré en texte brut. Le fichier ne doit pas contenir d'informations de formatage.
- Si vous modifiez des post-processeurs sur un ordinateur fonctionnant sous Microsoft Windows 7 ou Microsoft Vista, ne modifiez pas les fichiers directement dans le dossier "Program Files\Product folder\PostP". Modifiez toujours le fichier dans votre espace utilisateur et copiez le fichier modifié dans le dossier "Program Files\Product folder\PostP".
- Utilisez des commentaires lorsque vous apportez des modifications. Un commentaire est un texte qui suit un caractère + ou |. Les commentaires ne sont pas pris en compte par le programme, mais ils peuvent vous aider à documenter les modifications que vous avez apportées et à les rendre compréhensibles à l'avenir.
- Toutes les lignes d'instruction doivent être contenues entre guillemets.
- Si possible, utilisez un éditeur de texte qui utilise les numéros de ligne ; cela facilitera le débogage du post-processeur en cas d'erreur dans le fichier. Le programme vérifie les post-processeurs dans le dossier PostP au démarrage du programme. Si des erreurs de syntaxe sont présentes dans le fichier, un message d'erreur sera affiché, indiquant le numéro de ligne de la première erreur rencontrée.
- Une fois que vous avez modifié avec succès un post-processeur, faites-en une copie sûre. Si vous installez une version ultérieure du produit Vectric que vous utilisez, pensez à copier votre post processeur modifié dans le dossier PostP de la nouvelle version du logiciel. Et sélectionnez votre post processeur modifié, la première fois que vous enregistrez un parcours, (le logiciel se souviendra de votre sélection pour les actions suivantes).
- Si vous installez une autre version du logiciel ou si vous mettez à jour la version du logiciel, n'oubliez pas de copier vos copies sécurisées de vos post-processeurs modifiés dans le dossier PostP de la nouvelle version. Assurez-vous de sélectionner le post-traitement correct la première fois que vous post-traitez un fichier à l'aide de la nouvelle version du logiciel.
- Pour les versions ultérieures du logiciel, (V5.5 et plus). Les post-traitements sont accessibles à partir de l'application, en cliquant sur "Fichier > Ouvrir le dossier de données de l'application - Dossier Post-traitement".
- Une liste personnalisée de post-processeurs peut être créée en copiant uniquement les post-processeurs requis dans le dossier "File > Open Application Data Folder\My_PostP". Si un fichier avec une extension .pp existe dans le dossier "My_PostP", seuls les post-processeurs qui existent dans le dossier My_PostP seront affichés dans la liste déroulante des post-processeurs.