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
| 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.
M-code
| 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).
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#5599est activé.- Le saut de bloc
/, les numéros de ligneNet 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–#5000appartiennent au programme. Ils valent 0 tant que le programme ne les a pas définis. #5001et 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 parerror: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,doetrepeat. - 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>.ngcou<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.