Ceci est le manuel de Studio 1.0.2, une version antérieure. Le manuel de la dernière version

Documentation 1.0.2 Manuel technique

G-code et M-code

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.

G-code

CodeSignificationRemarques
G0, G1Déplacement rapide, avance linéaire
G2, G3Arc dans le sens horaire, dans le sens antihoraire (I J K ou R), héliceL’outil suit le vrai cercle. Un arc programmé avec R et sans corde dans son plan répond par error:33.
G4 PTemporisation, P secondesLa temporisation dure aussi longtemps qu’elle est programmée.
G5, G5.1Spline cubique, spline quadratiqueUn G5 sans I ni J continue dans la direction où le déplacement précédent s’est terminé.
G7, G8Mode diamètre du tour, mode rayonMode tour uniquement ($32=2).
G10 L2, G10 L20Définir un décalage d’origine
G10 L1, G10 L10, G10 L11Définir la table d’outils32 outils. La table est conservée quand le contrôleur est éteint.
G17, G18, G19Choisir le plan
G20, G21Unités en pouces, unités en millimètres
G28, G30Aller à une position mémorisée en passant par un point intermédiaire
G28.1, G30.1Mémoriser la position courante
G33, G33.1, G76Mouvement synchronisé avec la broche, taraudage rigide, cycle de filetageIls exigent un codeur de broche. La MC-1 n’en a pas : ils répondent donc par error:20.
G38.2–G38.5PalpageLe 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.
G40Correction de rayon d’outil désactivée
G41, G42, G41.1, G42.1Correction de rayon d’outil : D tiré de la table d’outils, ou .1 avec un diamètrePlan G17 uniquement. Mouvements d’entrée et de sortie comme dans LinuxCNC. Un mouvement qui provoquerait une surcoupe est refusé.
G43 Hn, G43.2 HnCorrection de longueur d’outil tirée de la table d’outils, correction supplémentaire
G43.1Correction de longueur d’outil dynamique
G49Correction de longueur d’outil désactivée
G50, G51Mise à l’échelle désactivée, activée
G52Système de coordonnées localPartage son décalage avec G92, comme dans LinuxCNC.
G53Coordonnées machine pour cette ligne
G54–G59, G59.1–G59.3Systèmes de coordonnées pièce$486 peut verrouiller G59.1–G59.3.
G61Trajectoire exacte
G61.1Arrêt exactLes axes s’arrêtent à la fin de chaque mouvement programmé.
G64 P QLissage de trajectoireLà 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–P6Macros intégréesRé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, G67Macros de fichier, appels de macro modauxP doit être un entier. Aucune autre commande ne peut figurer sur la même ligne (error:21).
G73, G81, G82, G83Cycles de perçage, perçage avec débourrageChaque trou reçoit les débourrages dont il a besoin.
G84, G85, G86, G89Cycles de taraudage et d’alésage
G80Cycle désactivé
G90, G91Distances absolues, distances incrémentales
G91.1Centres d’arc incrémentaux
G92, G92.1, G92.2, G92.3Décalage de coordonnées : définir, effacer, suspendre, rétablir
G93, G94, G95Temps inverse, unités par minute, unités par tourLes arcs en temps inverse prennent le temps programmé.
G96, G97Vitesse de coupe constante, vitesse de broche constanteMode tour uniquement.
G98, G99Retrait 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.

M-code

CodeSignificationRemarques
M0, M1Pause du programme, pause optionnelleLa commande temps réel 0x88 active ou désactive les pauses M1.
M2, M30Fin de programme
M3, M4, M5Broche dans le sens horaire, dans le sens antihoraire, arrêtée
M6Changement 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, M9Refroidissement : pulvérisation, arrosage, arrêtSur la MC-1, M8 commande le refroidissement par eau de la broche.
M25Z remonte à la hauteur de la prise d’origineCode de Centroid, écrit par certains post-processeurs FAO.
M48, M49Corrections activées, désactivées
M50–M53Correction d’avance, correction de broche, avance adaptative, arrêt d’avance : activé ou désactivé
M56Stationnement activé ou désactivé
M60Pause pour changement de palette
M61Définir l’outil courant sans changement d’outil
M62–M65Sortie numérique activée ou désactivée, avec le mouvement suivant ou immédiatementSur les cartes dotées de sorties auxiliaires.
M66Attendre une entréeL’attente commence quand les mouvements qui la précèdent sont terminés.
M70–M73Enregistrer et restaurer l’état modal
M98 P L, M99Appeler un sous-programme, retourDans 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).

Mots, syntaxe et paramètres

Structure d’une ligne

  • Les commentaires ( … ) 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é.
  • Le saut de bloc /, les numéros de ligne N et les lignes % (avec ou sans nom) sont autorisés.
  • La casse n’a pas d’importance, et les espaces à l’intérieur des mots sont ignorés.

Paramètres et expressions

  • Les paramètres numéroté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.
  • Paramètres nommés #<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é.
  • Les expressions entre [ ] utilisent les opérateurs et les fonctions de LinuxCNC. Les angles sont en degrés.
  • Une valeur qu’une ligne définit ne peut pas être lue dans cette même ligne.

Mots O

  • Les programmes exécutés depuis le système de fichiers du contrôleur peuvent utiliser des sous-programmes, if, elseif, else, while, do et repeat.
  • Les sous-programmes et les boucles envoyés ligne par ligne sont rassemblés, puis exécutés une fois complets.
  • Un sous-programme peut aussi être un fichier à part : <name>.ngc ou <name>.macro.

Coordonnées polaires

@ est le rayon et ^ l’angle, dans le plan XY autour de l’origine pièce.

Erreurs dans une ligne

  • Deux codes du même groupe modal sur une même ligne répondent par error:21.
  • Deux commandes qui utilisent toutes deux les mots d’axe sur une même ligne répondent par error:24.
  • La liste complète des codes d’erreur figure dans Codes d’erreur.