Aller au contenu principal

Support des dialectes G-code

Rayforge prend en charge plusieurs dialectes G-code pour fonctionner avec différents firmwares de contrôleur.

Dialectes pris en charge

Rayforge prend actuellement en charge ces dialectes G-code :

DialecteFirmwareUtilisation courante
Grbl (Compat)GRBL 1.1+Lasers à diode, CNC de loisir
Grbl (Compat, sans axe Z)GRBL 1.1+Découpeurs laser 2D sans Z
Grbl RasterGRBL 1.1+Optimisé pour le travail raster
GRBL Dynamique (sensible à la profondeur)GRBL 1.1+Gravure laser sensible à la profondeur
GRBL Dynamique (sans axe Z)GRBL 1.1+Gravure laser sensible à la profondeur
LinuxCNCLinuxCNCPrise en charge native des Bézier (G5)
Mach4 (M67 Analog)Mach4Gravure raster haute vitesse
SmoothiewareSmoothiewareDécoupeurs laser, CNC
MarlinMarlin 2.0+Imprimantes 3D avec laser
Dialectes recommandés

Grbl (Compat) est le dialecte le plus testé et recommandé pour les applications laser standard.

Grbl Raster est optimisé pour la gravure raster sur les contrôleurs GRBL. Il garde le laser en mode de puissance dynamique (M4) en continu et omet les commandes de vitesse redondantes, ce qui produit un G-code plus fluide et plus compact.

GRBL Dynamique (sensible à la profondeur) est recommandé pour la gravure laser sensible à la profondeur où la puissance varie pendant les coupes (par exemple, gravure à profondeur variable).

LinuxCNC prend en charge les courbes Bézier cubiques natives via la commande G5, ce qui produit un G-code très fluide et compact pour les trajectoires courbes. Lorsque tu utilises ce dialecte, active l'option « Prise en charge des courbes Bézier » dans les paramètres avancés de la machine pour profiter de la sortie G5.


Mach4 (M67 Analog)

Le dialecte Mach4 (M67 Analog) est conçu pour la gravure raster haute vitesse avec les contrôleurs Mach4. Il utilise la commande M67 avec sortie analogique pour un contrôle précis de la puissance laser.

Caractéristiques principales

  • Sortie analogique M67 : Utilise M67 E0 Q<0-255> pour la puissance laser au lieu des commandes S en ligne
  • Pression tampon réduite : En séparant les commandes de puissance des commandes de mouvement, le tampon du contrôleur est moins sollicité pendant les opérations haute vitesse
  • Raster haute vitesse : Optimisé pour les opérations de gravure raster rapides

Quand l'utiliser

Utilise ce dialecte lorsque :

  • Tu as un contrôleur Mach4 avec capacité de sortie analogique
  • Tu as besoin de gravure raster haute vitesse
  • Ton contrôleur subit des débordements de tampon avec les commandes S en ligne standard

Format de commande

Le dialecte génère du G-code comme :

M67 E0 Q127 ; Définir la puissance laser à 50% (127/255)
G1 X100 Y200 F1000 ; Déplacer vers la position
M67 E0 Q0 ; Éteindre le laser

Créer un dialecte personnalisé

Pour créer un dialecte G-code personnalisé basé sur un dialecte intégré :

  1. Ouvrez Paramètres de la machineDialecte G-code
  2. Cliquez sur l'icône Copier sur un dialecte intégré pour créer un nouveau dialecte personnalisé
  3. Modifiez les paramètres du dialecte selon vos besoins
  4. Enregistrez votre dialecte personnalisé

Chaque dialecte personnalisé est une copie indépendante. La modification d'un dialecte n'affecte jamais les autres, tu peux donc expérimenter librement sans risquer de perturber une configuration existante. Les dialectes personnalisés sont stockés dans ton répertoire de configuration et peuvent être partagés.

Paramètres du dialecte

Lors de l'édition d'un dialecte personnalisé, la page Paramètres offre ces options :

Mode laser continu garde le laser en mode de puissance dynamique (M4) actif pendant tout le travail au lieu de basculer M4/M5 entre les segments. C'est utile pour la gravure raster où le laser doit rester allumé en continu pendant les lignes de balayage.

Vitesse modale omet le paramètre de vitesse (F) des commandes de mouvement lorsqu'il n'a pas changé depuis la dernière commande. Cela produit un G-code plus compact et réduit la quantité de données envoyées au contrôleur.

Commande d'allumage laser séparée pour la mise au point

Certains dialectes prennent en charge la configuration d'une commande séparée pour allumer le laser à faible puissance, ce qui est utile pour le mode mise au point. Cela te permet d'utiliser une commande différente pour le comportement visuel de « pointeur laser » que celle utilisée pendant la découpe ou la gravure réelle. Consulte la page des paramètres de ton dialecte pour cette option.


Espaces réservés des modèles

Lors de la création ou de la modification d'un dialecte personnalisé, chaque modèle de commande utilise des chaînes de formatage Python avec des espaces réservés pour injecter des valeurs dynamiques. Utilise la syntaxe {nom} ou {nom:.0f} (par ex. {power:.0f} pour formater en nombre entier sans décimales).

Espaces réservés disponibles par modèle

ModèleEspaces réservés
Laser Onpower
Focus Laser Onpower
Laser Off(aucun)
Changement d'outiltool_number
Réglage vitessespeed
Déplacement rapidex, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command
Mouvement linéairex, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power
Arc (CW)x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power
Arc (CCW)x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power
Bézier Cubiquex, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, p, q, power
Air On/Off(aucun)
Origine tous(aucun)
Origine axeaxis_letter
Déplacer versspeed, x, y, z
Jogspeed
Effacer alarme(aucun)
Décalage WCSp_num, x, y, z
Cycle de palpageaxis_letter, max_travel, feed_rate
Temporisationseconds, milliseconds

Référence des espaces réservés

Coordonnées

Espace réservéDescription
xCoordonnée X cible en virgule flottante (par ex. 100.0)
yCoordonnée Y cible en virgule flottante (par ex. 200.0)
zCoordonnée Z cible en virgule flottante (par ex. 5.0)
x_cmdChaîne de commande de l'axe X, par ex. " X100.0". Omise si inchangée (si « Omettre les coordonnées inchangées » est activé)
y_cmdChaîne de commande de l'axe Y, par ex. " Y200.0". Omise si inchangée
z_cmdChaîne de commande de l'axe Z, par ex. " Z5.0". Omise si inchangée
extra_cmdChaîne de commande pour axes supplémentaires (A, B, C), par ex. " A90.0". Vide si aucun axe supplémentaire n'est configuré

Mouvement

Espace réservéDescription
f_commandChaîne de commande de vitesse d'avance, par ex. " F3000". Omise si modale et inchangée
s_commandChaîne de commande de broche/puissance, par ex. " S500". Utilisée en modes dynamique/rastrage et en mode laser continu
iDécalage X du point de contrôle de l'arc ou Bézier par rapport à la position de départ
jDécalage Y du point de contrôle de l'arc ou Bézier par rapport à la position de départ
pDécalage X du deuxième point de contrôle Bézier par rapport à la position finale (Bézier Cubique uniquement)
qDécalage Y du deuxième point de contrôle Bézier par rapport à la position finale (Bézier Cubique uniquement)

Puissance et vitesse

Espace réservéDescription
powerValeur absolue de puissance laser en virgule flottante. Prend en charge le formatage, par ex. {power:.0f} pour des entiers
speedValeur de vitesse (pour les commandes Déplacer vers et Jog)
tool_numberNuméro de l'outil/tête laser

Machine et palpage

Espace réservéDescription
axis_letterLettre d'axe unique, par ex. "X", "Y", "Z" (pour Origine axe et palpage)
p_numNuméro P du WCS (par ex. 1 pour G54)
max_travelDistance maximale de déplacement du palpage (Cycle de palpage uniquement)
feed_rateVitesse d'avance du palpage (Cycle de palpage uniquement)

Temporisation

Espace réservéDescription
secondsDurée de temporisation en secondes en virgule flottante (par ex. 1.5)
millisecondsDurée de temporisation en millisecondes en nombre entier (par ex. 1500)

Conseils

  • Les spécifications de formatage sont prises en charge : {power:.0f} formate la puissance en nombre entier, {power:.2f} avec deux décimales.
  • Le paramètre « Omettre les coordonnées inchangées » contrôle si x_cmd, y_cmd et z_cmd sont laissés vides lorsque la position de l'axe n'a pas changé depuis la dernière commande. Cela réduit la taille du G-code.
  • Le paramètre « Vitesse modale » contrôle si f_command est omise lorsque la vitesse d'avance n'a pas changé.
  • Laissez un champ de modèle vide pour ignorer complètement cette commande (par ex., régler bezier_cubic sur "" désactive la sortie Bézier native et utilise la linéarisation à la place).

Pages connexes