Adaptation d'un post-processeur pour les lasers
Introduction
Le module laser permet à la fois de représenter de nouveaux types d'outils dans la base de données des outils, et de nouvelles stratégies spécifiques aux lasers.
Le module laser fournit désormais des enregistrements et des variables indépendantes pour les outils laser et les parcours d'outils. Comme ces sorties ont été séparées de la commande conventionnelle des routeurs, pour la plupart des machines et des contrôleurs, il est préférable
Introduction
Le module laser permet à la fois de représenter de nouveaux types d'outils dans la base de données des outils, et de nouvelles stratégies spécifiques aux lasers.
Le module laser fournit désormais des enregistrements et des variables indépendantes pour les outils laser et les parcours d'outils. Comme ces sorties ont été séparées de la commande conventionnelle du routeur, il devrait être possible de créer un seul post-processeur pour la plupart des machines et des contrôleurs afin de travailler de manière transparente avec les parcours d'outils du routeur ou du laser, mais veuillez noter que vous devrez peut-être encore vous assurer que la configuration physique de votre machine est modifiée en fonction du type de parcours d'outils.
Previous Post Processors will not work correctly with the Laser Module
Please note that many conversion kit manufacturers provided Vectric Post Processors before the release of the Laser Module. These used workarounds to allow some router toolpath strategies, such as profiling, to be used with a laser head. Post Processors created without explicit support for the additional features documented here will not work correctly.
Il y a généralement 4 zones qui doivent être modifiées dans un post-processeur conventionnel pour l'étendre à la prise en charge des parcours laser.
Ajouter la prise en charge d'une nouvelle variable de puissance, qui sera utilisée par les nouvelles stratégies laser.
Ajouter de nouveaux blocs de post-processeur spécifiques au laser pour formater correctement les parcours d'outils laser pour votre machine et votre contrôleur.
Modifier tout bloc de post-processeur existant pour assurer une puissance indépendante et un comportement spécifique au laser.
Ajouter un drapeau pour indiquer au logiciel de Vectric que ce post prend désormais en charge les stratégies de parcours laser.
Les sections suivantes traitent chaque domaine à tour de rôle et un exemple utilisant le contrôleur gcode GRBL est fourni. Ces exemples proviennent du post-processeur grbl (mm & inch) fourni par défaut avec le logiciel de Vectric.
Variable de puissance
Le logiciel de Vectric produira le réglage de puissance pour un parcours laser dans la plage de 1 à 100 %. Nous devons ajouter une nouvelle variable pour montrer comment formater ce réglage pour votre contrôleur particulier. C'est également l'occasion de mettre à l'échelle la valeur brute du pourcentage dans la plage numérique dont votre contrôleur a besoin.
Exemple
Pour les contrôleurs basés sur le GRBL, le réglage de la puissance d'un laser est généralement lié à la commande de contrôle de vitesse de broche "S" du gcode. En mode laser, le contrôleur répondra à un changement de contrôle de la vitesse de la broche en ajustant la puissance du laser à la place. Bien qu'il soit possible de la régler dans le contrôleur, le réglage par défaut de la valeur "S" maximale attendue - ou puissance du laser - est de 1000.
Pour GRBL, nous devons donc formater la variable POWER comme une commande gcode "S" et mettre à l'échelle sa valeur de sortie par un facteur de dix pour qu'elle soit comprise entre 1 et 1000 (au lieu de 1-100 par défaut).
L'entrée de la variable dans le post-processeur est la suivante
VAR POWER = [P|C|S|1.0|10.0]
Pour décomposer cette entrée en langage clair, nous disons que la sortie POWER de notre parcours d'outil doit être utilisée partout dans notre fichier de définition de poste suivant où nous avons la variable [P]. Mais nous ne devrions sortir une commande que lorsque la valeur de POWER change (C). Nous remplacerons les emplacements de la variable [P] dans notre sortie de parcours par la commande "S" (S). La valeur de la puissance doit être formatée sous forme de nombre entier sans point décimal (1.0) et doit être multipliée par un facteur de 10 par rapport à sa valeur par défaut.
Nouveaux blocs de processeur de poste laser
Pour permettre le contrôle du laser, de nouveaux blocs de post-processeur sont disponibles dans le post-processeur. Il s'agit de
JET_TOOL_ON - Sortie à chaque fois que le parcours d'outil nécessite l'activation du laser
JET_TOOL_POWER - Sortie à chaque fois que le parcours de l'outil a besoin de la puissance du laser pour changer
JET_TOOL_OFF - Sortie lorsque le parcours d'outil nécessite l'arrêt du laser
Exemple
Dans notre exemple GRBL,, nous avons ajouté les 3 nouveaux types de blocs. Pour la mise enn marche du laser,, le GRBL utilise la commande gcode M4 (normalement destinée à la direction de la broche,, mais "réutilisée" par le GRBL pour le support du laser). Nous pouvons maintenant utiliser notre variable POWER, définie ci-dessus comme [P], pour fournir la valeur de puissance requise. Le bloc JET_TOOL_ON est donc :
+---------------------------------------------------
+ Commande la sortie lorsque le jet est allumé
+---------------------------------------------------
commencez JET_TOOL_ON
"M4[P]"
Pour éteindre le laser, GRBL utilise la commande gcode M5 :
+---------------------------------------------------
+ Commande la sortie lorsque le jet est éteint
+---------------------------------------------------
commencez JET_TOOL_OFF
"M5"
Enfin, pour le réglage de la puissance elle-même, alors pour le GRBL, nous ne faisons que produire la puissance :
+---------------------------------------------------
+ Commande la sortie lorsque la puissance du jet est modifiée
+---------------------------------------------------
commencez JET_TOOL_POWER
"[P]"
Modifier les blocs existants
Nous voulons également que lorsque nous effectuons un mouvement d'alimentation, nous produisions également la puissance, donc pour ce faire, nous mettons à jour les blocs FEED_MOVE pour inclure [P].
Nous devons faire cela pour tous les différents types de feed move.
De plus, nous devons éviter les mouvements de plongée qui se produisent lorsque le laser est allumé. Pour le fraisage ou le détourage conventionnel, il faut que la broche soit en marche avant un mouvement de plongée, mais pour un laser, il est crucial que nous ne l'allumions qu'après avoir atteint le niveau Z correct (ce problème se manifeste par un "surburn" au début de chaque segment de parcours). Pour garantir que nous pouvons séparer correctement ces exigences, nous pouvons avoir besoin de supprimer toutes les commandes de broche des mouvements de plongée ou d'autres types de blocs (certains peuvent les avoir dans l'en-tête, par exemple) et de les décomposer en blocs explicites SPINDLE_ON & PLUNGE_MOVE. Cela permettra de s'assurer que ces mouvements ne sont effectués que pour des stratégies de parcours non laser et dans la séquence correcte.
Exemple
Pour le GRBL, il s'agit d'un simple ajout à la fin de la déclaration de mouvement de l'alimentation :
+---------------------------------------------------
+ Commande de sortie pour les mouvements de vitesse d'alimentation
+---------------------------------------------------
commencez FEED_MOVE
"G1[X][Y][Z][P]"
N'oubliez pas que nous avons réglé notre variable POWER pour qu'elle ne produise qu'une sortie sur changement (C). Notez donc que dans la sortie pour les mouvements d'alimentation à puissance constante, seule une commande de puissance initiale, changeante, sera incluse. Pour certains contrôleurs, le nombre de commandes pouvant être traitées est un facteur limitant la vitesse du parcours et pour les images laser, en particulier, cela peut être quelque peu atténué en n'envoyant pas de commandes inutiles chaque fois que cela est possible.
Pour la commande séparée de la broche GRBL et de la plongée, les blocs sont :
+---------------------------------------------------
+ Sortie de commande après l'en-tête pour activer la broche
+---------------------------------------------------
commencer SPINDLE_ON
"[S]M3
+---------------------------------------------------
+ Commande de sortie pour le mouvement de plongée
+---------------------------------------------------
commencer PLUNGE_MOVE
"G1[X][Y][Z][F]"
Vous remarquerez que le GRBL utilise le M3 pour contrôler le routeur ou le moulin. Notez également que le mouvement de plongée nécessite la capacité de déplacer la machine en X et Y afin de supporter la rampe.
Marquez explicitement le post-processeur comme étant capable d'utiliser un laser
Enfin, un post-processeur nécessitera l'ajout du nouveau Global File Statement LASER_SUPPORT="YES" pour pouvoir être sélectionné comme post-processeur laser dans le logiciel.
Cette déclaration n'est ajoutée aux post-processeurs pour un usage général qu'une fois que le post-processeur a été entièrement testé par le créateur.
Exemple
LASER_SUPPORT = "OUI
--->
Introduction
Le module laser permet à la fois de représenter de nouveaux types d'outils dans la base de données des outils, et de nouvelles stratégies spécifiques aux lasers.
Le module laser fournit désormais des enregistrements et des variables indépendantes pour les outils laser et les parcours d'outils. Comme ces sorties ont été séparées de la commande conventionnelle du routeur, il devrait être possible de créer un seul post-processeur pour la plupart des machines et des contrôleurs afin de travailler de manière transparente avec les parcours d'outils du routeur ou du laser, mais veuillez noter que vous devrez peut-être encore vous assurer que la configuration physique de votre machine est modifiée en fonction du type de parcours d'outils.
Previous Post Processors will not work correctly with the Laser Module
Please note that many conversion kit manufacturers provided Vectric Post Processors before the release of the Laser Module. These used workarounds to allow some router toolpath strategies, such as profiling, to be used with a laser head. Post Processors created without explicit support for the additional features documented here will not work correctly.
Il y a généralement 4 zones qui doivent être modifiées dans un post-processeur conventionnel pour l'étendre à la prise en charge des parcours laser.
Ajouter la prise en charge d'une nouvelle variable de puissance, qui sera utilisée par les nouvelles stratégies laser.
Ajouter de nouveaux blocs de post-processeur spécifiques au laser pour formater correctement les parcours d'outils laser pour votre machine et votre contrôleur.
Modifier tout bloc de post-processeur existant pour assurer une puissance indépendante et un comportement spécifique au laser.
Ajouter un drapeau pour indiquer au logiciel de Vectric que ce post prend désormais en charge les stratégies de parcours laser.
Les sections suivantes traitent chaque domaine à tour de rôle et un exemple utilisant le contrôleur gcode GRBL est fourni. Ces exemples proviennent du post-processeur grbl (mm & inch) fourni par défaut avec le logiciel de Vectric.
Variable de puissance
Le logiciel de Vectric produira le réglage de puissance pour un parcours laser dans la plage de 1 à 100 %. Nous devons ajouter une nouvelle variable pour montrer comment formater ce réglage pour votre contrôleur particulier. C'est également l'occasion de mettre à l'échelle la valeur brute du pourcentage dans la plage numérique dont votre contrôleur a besoin.
Exemple
Pour les contrôleurs basés sur le GRBL, le réglage de la puissance d'un laser est généralement lié à la commande de contrôle de vitesse de broche "S" du gcode. En mode laser, le contrôleur répondra à un changement de contrôle de la vitesse de la broche en ajustant la puissance du laser à la place. Bien qu'il soit possible de la régler dans le contrôleur, le réglage par défaut de la valeur "S" maximale attendue - ou puissance du laser - est de 1000.
Pour GRBL, nous devons donc formater la variable POWER comme une commande gcode "S" et mettre à l'échelle sa valeur de sortie par un facteur de dix pour qu'elle soit comprise entre 1 et 1000 (au lieu de 1-100 par défaut).
L'entrée de la variable dans le post-processeur est la suivante
VAR POWER = [P|C|S|1.0|10.0]
Pour décomposer cette entrée en langage clair, nous disons que la sortie POWER de notre parcours d'outil doit être utilisée partout dans notre fichier de définition de poste suivant où nous avons la variable [P]. Mais nous ne devrions sortir une commande que lorsque la valeur de POWER change (C). Nous remplacerons les emplacements de la variable [P] dans notre sortie de parcours par la commande "S" (S). La valeur de la puissance doit être formatée sous forme de nombre entier sans point décimal (1.0) et doit être multipliée par un facteur de 10 par rapport à sa valeur par défaut.
Nouveaux blocs de processeur de poste laser
Pour permettre le contrôle du laser, de nouveaux blocs de post-processeur sont disponibles dans le post-processeur. Il s'agit de
JET_TOOL_ON - Sortie à chaque fois que le parcours d'outil nécessite l'activation du laser
JET_TOOL_POWER - Sortie à chaque fois que le parcours de l'outil a besoin de la puissance du laser pour changer
JET_TOOL_OFF - Sortie lorsque le parcours d'outil nécessite l'arrêt du laser
Exemple
Dans notre exemple GRBL,, nous avons ajouté les 3 nouveaux types de blocs. Pour la mise enn marche du laser,, le GRBL utilise la commande gcode M4 (normalement destinée à la direction de la broche,, mais "réutilisée" par le GRBL pour le support du laser). Nous pouvons maintenant utiliser notre variable POWER, définie ci-dessus comme [P], pour fournir la valeur de puissance requise. Le bloc JET_TOOL_ON est donc :
+---------------------------------------------------
+ Commande la sortie lorsque le jet est allumé
+---------------------------------------------------
commencez JET_TOOL_ON
"M4[P]"
Pour éteindre le laser, GRBL utilise la commande gcode M5 :
+---------------------------------------------------
+ Commande la sortie lorsque le jet est éteint
+---------------------------------------------------
commencez JET_TOOL_OFF
"M5"
Enfin, pour le réglage de la puissance elle-même, alors pour le GRBL, nous ne faisons que produire la puissance :
+---------------------------------------------------
+ Commande la sortie lorsque la puissance du jet est modifiée
+---------------------------------------------------
commencez JET_TOOL_POWER
"[P]"
Modifier les blocs existants
Nous voulons également que lorsque nous effectuons un mouvement d'alimentation, nous produisions également la puissance, donc pour ce faire, nous mettons à jour les blocs FEED_MOVE pour inclure [P].
Nous devons faire cela pour tous les différents types de feed move.
De plus, nous devons éviter les mouvements de plongée qui se produisent lorsque le laser est allumé. Pour le fraisage ou le détourage conventionnel, il faut que la broche soit en marche avant un mouvement de plongée, mais pour un laser, il est crucial que nous ne l'allumions qu'après avoir atteint le niveau Z correct (ce problème se manifeste par un "surburn" au début de chaque segment de parcours). Pour garantir que nous pouvons séparer correctement ces exigences, nous pouvons avoir besoin de supprimer toutes les commandes de broche des mouvements de plongée ou d'autres types de blocs (certains peuvent les avoir dans l'en-tête, par exemple) et de les décomposer en blocs explicites SPINDLE_ON & PLUNGE_MOVE. Cela permettra de s'assurer que ces mouvements ne sont effectués que pour des stratégies de parcours non laser et dans la séquence correcte.
Exemple
Pour le GRBL, il s'agit d'un simple ajout à la fin de la déclaration de mouvement de l'alimentation :
+---------------------------------------------------
+ Commande de sortie pour les mouvements de vitesse d'alimentation
+---------------------------------------------------
commencez FEED_MOVE
"G1[X][Y][Z][P]"
N'oubliez pas que nous avons réglé notre variable POWER pour qu'elle ne produise qu'une sortie sur changement (C). Notez donc que dans la sortie pour les mouvements d'alimentation à puissance constante, seule une commande de puissance initiale, changeante, sera incluse. Pour certains contrôleurs, le nombre de commandes pouvant être traitées est un facteur limitant la vitesse du parcours et pour les images laser, en particulier, cela peut être quelque peu atténué en n'envoyant pas de commandes inutiles chaque fois que cela est possible.
Pour la commande séparée de la broche GRBL et de la plongée, les blocs sont :
+---------------------------------------------------
+ Sortie de commande après l'en-tête pour activer la broche
+---------------------------------------------------
commencer SPINDLE_ON
"[S]M3
+---------------------------------------------------
+ Commande de sortie pour le mouvement de plongée
+---------------------------------------------------
commencer PLUNGE_MOVE
"G1[X][Y][Z][F]"
Vous remarquerez que le GRBL utilise le M3 pour contrôler le routeur ou le moulin. Notez également que le mouvement de plongée nécessite la capacité de déplacer la machine en X et Y afin de supporter la rampe.
Marquez explicitement le post-processeur comme étant capable d'utiliser un laser
Enfin, un post-processeur nécessitera l'ajout du nouveau Global File Statement LASER_SUPPORT="YES" pour pouvoir être sélectionné comme post-processeur laser dans le logiciel.
Cette déclaration n'est ajoutée aux post-processeurs pour un usage général qu'une fois que le post-processeur a été entièrement testé par le créateur.
Exemple
LASER_SUPPORT = "OUI
Il est possible de créer un post-processeur unique pour travailler de manière transparente avec des parcours de routage ou de laser, mais veuillez noter que vous devrez peut-être encore vous assurer que la configuration physique de votre machine est modifiée en fonction du type de parcours.
Il y a généralement 4 zones qui doivent être modifiées dans un post-processeur conventionnel pour l'étendre à la prise en charge des parcours laser.
Ajouter la prise en charge d'une nouvelle variable de puissance, qui sera utilisée par les nouvelles stratégies laser.
Ajouter de nouveaux blocs de post-processeur spécifiques au laser pour formater correctement les parcours d'outils laser pour votre machine et votre contrôleur.
Modifier tout bloc de post-processeur existant pour assurer une puissance indépendante et un comportement spécifique au laser.
Ajouter un drapeau pour indiquer au logiciel de Vectric que ce post prend désormais en charge les stratégies de parcours laser.
Les sections suivantes traitent chaque domaine à tour de rôle et un exemple utilisant le contrôleur gcode GRBL est fourni. Ces exemples proviennent du post-processeur grbl (mm & inch) fourni par défaut avec le logiciel de Vectric.
Variable de puissance
Le logiciel de Vectric produira le réglage de puissance pour un parcours laser dans la plage de 1 à 100 %. Nous devons ajouter une nouvelle variable pour montrer comment formater ce réglage pour votre contrôleur particulier. C'est également l'occasion de mettre à l'échelle la valeur brute du pourcentage dans la plage numérique dont votre contrôleur a besoin.
Exemple
Pour les contrôleurs basés sur le GRBL, le réglage de la puissance d'un laser est généralement lié à la commande de contrôle de vitesse de broche "S" du gcode. En mode laser, le contrôleur répondra à un changement de contrôle de la vitesse de la broche en ajustant la puissance du laser à la place. Bien qu'il soit possible de la régler dans le contrôleur, le réglage par défaut de la valeur "S" maximale attendue - ou puissance du laser - est de 1000.
Pour GRBL, nous devons donc formater la variable POWER comme une commande gcode "S" et mettre à l'échelle sa valeur de sortie par un facteur de dix pour qu'elle soit comprise entre 1 et 1000 (au lieu de 1-100 par défaut).
L'entrée de la variable dans le post-processeur est la suivante
VAR POWER = [P|C|S|1.0|10.0]
Pour décomposer cette entrée en langage clair, nous disons que la sortie POWER de notre parcours d'outil doit être utilisée partout dans notre fichier de définition de poste suivant où nous avons la variable [P]. Mais nous ne devrions sortir une commande que lorsque la valeur de POWER change (C). Nous remplacerons les emplacements de la variable [P] dans notre sortie de parcours par la commande "S" (S). La valeur de la puissance doit être formatée sous forme de nombre entier sans point décimal (1.0) et doit être multipliée par un facteur de 10 par rapport à sa valeur par défaut.
Nouveaux blocs de processeur de poste laser
Pour permettre le contrôle du laser, de nouveaux blocs de post-processeur sont disponibles dans le post-processeur. Il s'agit de
JET_TOOL_ON - Sortie à chaque fois que le parcours d'outil nécessite l'activation du laser
JET_TOOL_POWER - Sortie à chaque fois que le parcours de l'outil a besoin de la puissance du laser pour changer
JET_TOOL_OFF - Sortie lorsque le parcours d'outil nécessite l'arrêt du laser
Exemple
Dans notre exemple GRBL,, nous avons ajouté les 3 nouveaux types de blocs. Pour la mise enn marche du laser,, le GRBL utilise la commande gcode M4 (normalement destinée à la direction de la broche,, mais "réutilisée" par le GRBL pour le support du laser). Nous pouvons maintenant utiliser notre variable POWER, définie ci-dessus comme [P], pour fournir la valeur de puissance requise. Le bloc JET_TOOL_ON est donc :
+---------------------------------------------------
+ Commande la sortie lorsque le jet est allumé
+---------------------------------------------------
commencez JET_TOOL_ON
"M4[P]"
Pour éteindre le laser, GRBL utilise la commande gcode M5 :
+---------------------------------------------------
+ Commande la sortie lorsque le jet est éteint
+---------------------------------------------------
commencez JET_TOOL_OFF
"M5"
Enfin, pour le réglage de la puissance elle-même, alors pour le GRBL, nous ne faisons que produire la puissance :
+---------------------------------------------------
+ Commande la sortie lorsque la puissance du jet est modifiée
+---------------------------------------------------
commencez JET_TOOL_POWER
"[P]"
Modifier les blocs existants
Nous voulons également que lorsque nous effectuons un mouvement d'alimentation, nous produisions également la puissance, donc pour ce faire, nous mettons à jour les blocs FEED_MOVE pour inclure [P].
Nous devons faire cela pour tous les différents types de feed move.
De plus, nous devons éviter les mouvements de plongée qui se produisent lorsque le laser est allumé. Pour le fraisage ou le détourage conventionnel, il faut que la broche soit en marche avant un mouvement de plongée, mais pour un laser, il est crucial que nous ne l'allumions qu'après avoir atteint le niveau Z correct (ce problème se manifeste par un "surburn" au début de chaque segment de parcours). Pour garantir que nous pouvons séparer correctement ces exigences, nous pouvons avoir besoin de supprimer toutes les commandes de broche des mouvements de plongée ou d'autres types de blocs (certains peuvent les avoir dans l'en-tête, par exemple) et de les décomposer en blocs explicites SPINDLE_ON & PLUNGE_MOVE. Cela permettra de s'assurer que ces mouvements ne sont effectués que pour des stratégies de parcours non laser et dans la séquence correcte.
Exemple
Pour le GRBL, il s'agit d'un simple ajout à la fin de la déclaration de mouvement de l'alimentation :
+---------------------------------------------------
+ Commande de sortie pour les mouvements de vitesse d'alimentation
+---------------------------------------------------
commencez FEED_MOVE
"G1[X][Y][Z][P]"
N'oubliez pas que nous avons réglé notre variable POWER pour qu'elle ne produise qu'une sortie sur changement (C). Notez donc que dans la sortie pour les mouvements d'alimentation à puissance constante, seule une commande de puissance initiale, changeante, sera incluse. Pour certains contrôleurs, le nombre de commandes pouvant être traitées est un facteur limitant la vitesse du parcours et pour les images laser, en particulier, cela peut être quelque peu atténué en n'envoyant pas de commandes inutiles chaque fois que cela est possible.
Pour la commande séparée de la broche GRBL et de la plongée, les blocs sont :
+---------------------------------------------------
+ Sortie de commande après l'en-tête pour activer la broche
+---------------------------------------------------
commencer SPINDLE_ON
"[S]M3
+---------------------------------------------------
+ Commande de sortie pour le mouvement de plongée
+---------------------------------------------------
commencer PLUNGE_MOVE
"G1[X][Y][Z][F]"
Vous remarquerez que le GRBL utilise le M3 pour contrôler le routeur ou le moulin. Notez également que le mouvement de plongée nécessite la capacité de déplacer la machine en X et Y afin de supporter la rampe.
Marquez explicitement le post-processeur comme étant capable d'utiliser un laser
Enfin, un post-processeur nécessitera l'ajout du nouveau Global File Statement LASER_SUPPORT="YES" pour pouvoir être sélectionné comme post-processeur laser dans le logiciel.
Cette déclaration n'est ajoutée aux post-processeurs pour un usage général qu'une fois que le post-processeur a été entièrement testé par le créateur.
Exemple
LASER_SUPPORT = "OU