Documentation Manuel technique
Le noyau propre à Twinwright
Le noyau propre à Twinwright est le micrologiciel de contrôleur CNC que Twinwright a développé lui-même. Dans Studio, il fait tourner la machine du jumeau. Le même code est compilé pour la carte contrôleur de la MC-1.
Il parle le protocole série de Grbl 1.1, de sorte que les logiciels d’envoi de G-code fonctionnent avec lui. Les réglages, les alarmes et les erreurs gardent les numéros que les logiciels d’envoi connaissent.
Ce qu’il fait
- Mouvement : planification avec anticipation sur 100 blocs, vitesses de passage des angles d’après
$11, et arcs sur le cercle exact. Le mouvement s’exécute par tranches de 1 ms. Chaque axe respecte sa vitesse maximale ($110–$112) et son accélération ($120–$122). - Fonctions de la machine :
- prise d’origine, fins de course matériels et limites logicielles, palpage et capteur de longueur d’outil ;
- le variateur de broche (variateur de fréquence) en Modbus, et le refroidissement ;
- changements d’outil comme
$341les définit ; - la porte de sécurité avec stationnement ;
- corrections, déplacement manuel (jog) et manivelle.
- Programmes sur le contrôleur : les programmes de son système de fichiers s’exécutent avec des sous-programmes en mots O et des macros (voir Mots O).
- G-code : RS274/NGC et LinuxCNC. Cela comprend une table d’outils, la correction de rayon d’outil, le raccordement de trajectoire, des expressions et des paramètres (voir G-code et M-code).
Le protocole série, les commandes temps réel et les commandes $ figurent dans Protocole. Chaque réglage figure dans Référence des réglages, chaque alarme dans Codes d’alarme et chaque erreur dans Codes d’erreur.
Par rapport aux autres contrôleurs Grbl
Les logiciels d’envoi écrits pour Grbl fonctionnent avec le contrôleur. Cette section liste ce que vous remarquez lorsque vous êtes habitué à un autre contrôleur Grbl.
Les cas où le contrôleur s’arrête
Dans ces cas, certains contrôleurs Grbl continuent ; le noyau propre à Twinwright s’arrête ou déclenche une alarme.
- Le variateur de broche s’arrête de lui-même (un déclenchement, une surcharge ou sa propre touche d’arrêt) : l’avance s’arrête en moins de 0,2 s, et le contrôleur déclenche
ALARM:14. - Le variateur de broche ne répond pas : les axes ralentissent d’abord jusqu’à l’arrêt, de sorte que la position est conservée. Ensuite, le contrôleur déclenche
ALARM:19. - Changement d’outil :
- La broche s’arrête toujours pour un changement d’outil.
- Si un changement d’outil se poursuit sans confirmation, la broche et le refroidissement reviennent comme ils étaient.
- Reprise après un arrêt d’avance ou la porte : la broche atteint sa vitesse avant que l’outil ne bouge.
- La porte s’ouvre de nouveau pendant que la machine revient du stationnement : la machine s’arrête et remonte de nouveau à la hauteur de stationnement. Elle attend le prochain départ cycle.
- Le logiciel d’envoi est perdu (USB débranché, port fermé) : le travail s’arrête.
$1030le commande ; il est actif par défaut. - Contacts du palpeur et de prise d’origine : les parasites sur les fils ne comptent pas comme un contact.
- Le texte UTF-8 dans un programme (chinois, « Ø », « – ») est lu comme du texte, jamais comme une commande temps réel.
- Un arc en format R sans corde dans son plan, par exemple
G91 G2 X0 Z1 R5, réponderror:33.
Davantage de G-code
Certains contrôleurs Grbl refusent ou ignorent ces éléments ; le noyau propre à Twinwright les exécute comme les normes les définissent :
- la table d’outils (
G43 Hn,G43.2,G10 L1/L10/L11) ; - la correction de rayon d’outil (
G41,G42) ; - le raccordement de trajectoire (
G64 P) et l’arrêt exact (G61.1) ; - les sous-programmes en mots O et les structures de contrôle, les paramètres
#et les expressions ; G52, les coordonnées polaires (@,^) etM99;G85,G86etG89(perçage et alésage), où certains contrôleurs Grbl les acceptent et ne bougent pas ;- ce que les post-processeurs FAO écrivent souvent : une ligne
%avec un nom,G49 H0, des lignes de numéro de programme Fanuc (O1000) et leM25de Centroid.
Au plus près du programme
- Les arcs suivent le cercle exact. Certains contrôleurs Grbl les découpent en cordes qui s’écartent du cercle jusqu’à 4 ×
$12. - Les arcs en temps inverse (
G93) prennent le temps programmé. Certains contrôleurs Grbl les exécutent plusieurs fois plus vite. - Les temporisations (
G4) durent aussi longtemps que programmé. Certains contrôleurs Grbl les arrondissent par pas de 50 ms. - Perçage avec débourrage : chaque trou reçoit les passes de débourrage dont il a besoin. Quand la profondeur est un nombre entier de passes, certains contrôleurs Grbl percent une passe entière de plus depuis la hauteur de retrait.
- Les grands arcs près des limites logicielles ne déclenchent pas de fausses alarmes.
M72rétablit la correction de longueur d’outil enregistrée parM70ouM73. Certains contrôleurs Grbl gardent une correction définie ensuite quand la valeur enregistrée était 0 avec le même mode de correction (G43.1) ; aprèsM72, le même programme peut donc y tourner avec une autre correction de longueur d’outil.- Accélération : chaque axe respecte
$120–$122, y compris sur les petits arcs. Un programme comportant un très grand nombre de petits arcs peut durer jusqu’à environ 2 % de plus que sur certains contrôleurs Grbl. Un programme ordinaire dure environ 0,1 % de moins.
Détails du protocole
- Rapports d’état :
- Pendant un arrêt d’avance ou porte ouverte, l’avance indiquée dans
FS:est 0 : les axes sont à l’arrêt. - La distance restante est indiquée jusqu’à l’arrêt des axes.
- Pendant une alarme critique,
Bf:montre le planificateur vide. - Lorsque l’état de l’analyseur est activé dans
$10,[GC:]arrive une fois par changement.
- Pendant un arrêt d’avance ou porte ouverte, l’avance indiquée dans
- Vérifications des entrées :
- Un mauvais numéro de réglage, tel que
$45x, réponderror:3. - Un réglage entier écrit
$1=25.0enregistre 25 ; certains contrôleurs Grbl enregistrent 250. M6et un mouvement sur une même ligne répondenterror:40.G65ouG66avec d’autres commandes sur une même ligne répondenterror:21.
- Un mauvais numéro de réglage, tel que
- Alarmes et démarrage :
- Il n’y a pas de pause de 100 ms après une alarme.
- Le premier démarrage avec un stockage de réglages vide ne répond pas
error:7.
- Textes et réglages :
- Les descriptions des réglages, des alarmes et des erreurs sont propres à Twinwright.
- Le contrôleur a ses propres réglages :
$1030(arrêt lorsque le logiciel d’envoi est perdu), et$1000et suivants pour l’input shaping (désactivé par défaut).
$39=0(anciens caractères temps réel désactivés) :?,!et~sont du texte à l’intérieur des lignes$et des commentaires, et des commandes partout ailleurs. Le contrôleur décide d’après les octets au fur et à mesure qu’ils arrivent. Il répond donc à?aussi avec la porte ouverte ou pendant un arrêt d’avance, là où certains contrôleurs Grbl ne le font parfois pas.
Non pris en charge
G65 P7(messages Modbus).- Les variables système Fanuc.
#4120et les autres du même genre sont des paramètres ordinaires et se lisent 0. - Le filetage (
G33,G76,G33.1) sans codeur de broche. La MC-1 n’en a pas : ces commandes répondent doncerror:20. - Les cycles d’ébauche de tournage (les autres contrôleurs Grbl n’en ont pas non plus).
- Réseau, drivers Trinamic et autres marques de variateurs de broche, que certains contrôleurs Grbl ajoutent sous forme de modules d’extension.
Logiciels d’envoi
Les logiciels d’envoi qui ont été vérifiés, et leurs réglages, se trouvent dans Logiciels d’envoi de G-code. Pour comparer une machine réelle à son jumeau, voir Machine réelle et mode ombre.