Le noyau propre à Twinwright exécute le G-code ci-dessous. Les codes suivent RS274/NGC et LinuxCNC. Un code que le contrôleur ne prend pas en charge répond par error:20, et la ligne ne fait rien.
Pour les commandes temps réel (des octets isolés comme ?, ! et ~), voir Protocole. Pour les différences entre le contrôleur et les autres contrôleurs Grbl, voir Le noyau propre à Twinwright.
| Code | Signification | Remarques |
|---|---|---|
G0, G1 | Déplacement rapide, avance linéaire | |
G2, G3 | Arc dans le sens horaire, dans le sens antihoraire (I J K ou R), hélice | L’outil suit le vrai cercle. Un arc programmé avec R et sans corde dans son plan répond par error:33. |
G4 P | Temporisation, P secondes | La temporisation dure aussi longtemps qu’elle est programmée. |
G5, G5.1 | Spline cubique, spline quadratique | Un G5 sans I ni J continue dans la direction où le déplacement précédent s’est terminé. |
G7, G8 | Mode diamètre du tour, mode rayon | Mode tour uniquement ($32=2). |
G10 L2, G10 L20 | Définir un décalage d’origine | |
G10 L1, G10 L10, G10 L11 | Définir la table d’outils | 32 outils. La table est conservée quand le contrôleur est éteint. |
G17, G18, G19 | Choisir le plan | |
G20, G21 | Unités en pouces, unités en millimètres | |
G28, G30 | Aller à une position mémorisée en passant par un point intermédiaire | |
G28.1, G30.1 | Mémoriser la position courante | |
G33, G33.1, G76 | Mouvement synchronisé avec la broche, taraudage rigide, cycle de filetage | Ils exigent un codeur de broche. La MC-1 n’en a pas : ils répondent donc par error:20. |
G38.2–G38.5 | Palpage | Le résultat est le point où le palpeur s’est déclenché, rapporté sous la forme [PRB:]. Définissez l’origine pièce à partir de ce point, pas de l’endroit où les axes se sont arrêtés. |
G40 | Correction de rayon d’outil désactivée | |
G41, G42, G41.1, G42.1 | Correction de rayon d’outil : D tiré de la table d’outils, ou .1 avec un diamètre | Plan G17 uniquement. Mouvements d’entrée et de sortie comme dans LinuxCNC. Un mouvement qui provoquerait une surcoupe est refusé. |
G43 Hn, G43.2 Hn | Correction de longueur d’outil tirée de la table d’outils, correction supplémentaire | |
G43.1 | Correction de longueur d’outil dynamique | |
G49 | Correction de longueur d’outil désactivée | |
G50, G51 | Mise à l’échelle désactivée, activée | |
G52 | Système de coordonnées local | Partage son décalage avec G92, comme dans LinuxCNC. |
G53 | Coordonnées machine pour cette ligne | |
G54–G59, G59.1–G59.3 | Systèmes de coordonnées pièce | $486 peut verrouiller G59.1–G59.3. |
G61 | Trajectoire exacte | |
G61.1 | Arrêt exact | Les axes s’arrêtent à la fin de chaque mouvement programmé. |
G64 P Q | Lissage de trajectoire | Là où cela fait gagner du temps, le coin entre deux mouvements rectilignes devient un arc à moins de P du coin. Q est accepté et n’est pas utilisé. |
G65 P1–P6 | Macros intégrées | Réglages, corrections d’outil, paramètres, état de la machine, choix du palpeur, attente de la broche. P7 (messages Modbus) n’est pas pris en charge. |
G65 P100 et au-delà, G66, G66.1, G67 | Macros de fichier, appels de macro modaux | P doit être un entier. Aucune autre commande ne peut figurer sur la même ligne (error:21). |
G73, G81, G82, G83 | Cycles de perçage, perçage avec débourrage | Chaque trou reçoit les débourrages dont il a besoin. |
G84, G85, G86, G89 | Cycles de taraudage et d’alésage | |
G80 | Cycle désactivé | |
G90, G91 | Distances absolues, distances incrémentales | |
G91.1 | Centres d’arc incrémentaux | |
G92, G92.1, G92.2, G92.3 | Décalage de coordonnées : définir, effacer, suspendre, rétablir | |
G93, G94, G95 | Temps inverse, unités par minute, unités par tour | Les arcs en temps inverse prennent le temps programmé. |
G96, G97 | Vitesse de coupe constante, vitesse de broche constante | Mode tour uniquement. |
G98, G99 | Retrait du cycle à la hauteur de départ, au plan R |
Ces G-codes ne sont pas pris en charge (error:20) :
G5.2, G5.3 (NURBS) ;G17.1–G19.1 (plans UVW) ;G70–G72 (cycles de tournage) ;G90.1.| Code | Signification | Remarques |
|---|---|---|
M0, M1 | Pause du programme, pause optionnelle | La commande temps réel 0x88 active ou désactive les pauses M1. |
M2, M30 | Fin de programme | |
M3, M4, M5 | Broche dans le sens horaire, dans le sens antihoraire, arrêtée | |
M6 | Changement d’outil | $341 détermine ce que fait M6. M6 et un mouvement sur la même ligne répondent par error:40. |
M7, M8, M9 | Refroidissement : pulvérisation, arrosage, arrêt | Sur la MC-1, M8 commande le refroidissement par eau de la broche. |
M25 | Z remonte à la hauteur de la prise d’origine | Code de Centroid, écrit par certains post-processeurs FAO. |
M48, M49 | Corrections activées, désactivées | |
M50–M53 | Correction d’avance, correction de broche, avance adaptative, arrêt d’avance : activé ou désactivé | |
M56 | Stationnement activé ou désactivé | |
M60 | Pause pour changement de palette | |
M61 | Définir l’outil courant sans changement d’outil | |
M62–M65 | Sortie numérique activée ou désactivée, avec le mouvement suivant ou immédiatement | Sur les cartes dotées de sorties auxiliaires. |
M66 | Attendre une entrée | L’attente commence quand les mouvements qui la précèdent sont terminés. |
M70–M73 | Enregistrer et restaurer l’état modal | |
M98 P L, M99 | Appeler un sous-programme, retour | Dans les programmes exécutés depuis le système de fichiers du contrôleur. Un M98 envoyé ligne par ligne répond par error:39. Un M99 dans le programme principal le termine. |
Ces M-codes ne sont pas pris en charge (error:20) :
M19 (orientation de broche) ;M67, M68 (sorties analogiques ; la MC-1 n’en a pas) ;M100–M199 (M-codes utilisateur).( … ) et ; sont autorisés.(MSG,…) envoie le texte au logiciel d’envoi sous forme de message.(PRINT,…) envoie un message avec les valeurs des paramètres qu’il nomme.(DEBUG,…) fait de même tant que #5599 est activé./, les numéros de ligne N et les lignes % (avec ou sans nom) sont autorisés.#1–#5000 appartiennent au programme. Ils valent 0 tant que le programme ne les a pas définis.#5001 et au-delà, ainsi que les paramètres système nommés, sont en lecture seule.#<name> : la lecture d’un nom qui n’a jamais été défini répond par error:39. EXISTS[#<name>] indique s’il l’a été.[ ] utilisent les opérateurs et les fonctions de LinuxCNC. Les angles sont en degrés.if, elseif, else, while, do et repeat.<name>.ngc ou <name>.macro.@ est le rayon et ^ l’angle, dans le plan XY autour de l’origine pièce.
error:21.error:24.