Cette section donne une description des différents organes constituant une machine à commande numérique (CNC).

1. Composants mécaniques

Une machine à commande numérique dispose de beaucoup de composants mécaniques pouvant être contrôlés, ou qui peuvent avoir une incidence sur la façon dont le contrôle de la machine s’effectue. Cette section décrit les composants qui interagissent avec l’interpréteur. Les autres composants mécaniques, comme les boutons de jog, ne seront pas décrits ici, même si ils affectent le contrôle.

1.1. Axes

Toute machine à commande numérique dispose d’un ou de plusieurs axes. Les différents types de machines ont différentes combinaisons d’axes. Par exemple, une fraiseuse 4 axes peut avoir la combinaison d’axes XYZA ou XYZB. Un tour classique aura les axes XZ. Une machine de découpe à fil chaud aura les axes XYUV.
[Si le mouvement des composants mécaniques n’est pas indépendant, comme sur une machine hexapode, le langage RS274/NGC et les fonctions standards seront quand même utilisables, tant que le contrôle de bas niveau sait comment contrôler les mécanismes actuels pour produire le mouvement relatif de l’outil et de la pièce qui auraient été produits par des axes indépendants. C’est appelé, la cinématique.]

[Avec LinuxCNC, le cas de la machine à portique XYYZ avec deux moteurs pour un axe est mieux traité par la cinématique que par un axe linéaire supplémentaire.]

1.1.1. Axes linéaires primaires

Les axes X, Y et Z produisent des mouvements linéaires dans trois directions, mutuellement orthogonales.

1.1.2. Axes linéaires secondaires

Les axes U, V et W produisent des mouvements linéaires dans trois directions, mutuellement orthogonales. Habituellement, X et U sont parallèles, Y et V sont parallèles et Z et W sont parallèles.

1.1.3. Axes rotatifs

Les axes A, B et C produisent des mouvements angulaires (rotations). Habituellement, l’axe de rotation de A est parallèle à X, l’axe de rotation de B est parallèle à Y et l’axe de rotation de C est parallèle à Z.

1.2. Broche

Une machine à commande numérique est équipée d’une broche qui maintient un outil coupant, un palpeur ou d’autres outils. La broche peut tourner dans les deux sens. Elle peut être conçue pour tourner à vitesse constante mais réglable. Excepté sur les machines dont la broche est montée sur un axe rotatif, l’axe de la broche est maintenu parallèle à l’axe Z et il est coïncident avec l’axe Z quand X et Y sont à zéro. La broche peut être stoppée sur une position fixée ou non.

1.3. Arrosages

Une machine à commande numérique peut être équipée d’un système fournissant l’arrosage fluide ou un arrosage par gouttelettes.

1.4. Correcteurs de vitesse d’avance et de broche

Une machine à commande numérique est équipée de boutons de réglage de la vitesse d’avance et de la vitesse de rotation de la broche, ils laissent l’opérateur corriger les vitesses nécessaires pour la broche et l’avance travail, il peut ainsi augmenter ou réduire les vitesses programmées.

1.5. Bouton d’effacement de bloc

Une machine à commande numérique peut être équipée d’un bouton d’effacement de bloc. Voir la section effacement de bloc.

1.6. Bouton d’arrêt optionnel du programme

Une machine à commande numérique peut être équipée d’un bouton d’arrêt du programme. Voir la section arrêts optionnels.

2. Composants de contrôle et de données

2.1. Axes linéaires

Les axes X, Y et Z forment un système de coordonnées orthogonales standard. La position d’un axe s’exprime en utilisant ses coordonnées.

2.2. Axes linéaires secondaires

Les axes U, V et W forment également un système de coordonnées standard. X et U sont parallèles, Y et V sont parallèles enfin Z et W sont parallèles.

2.3. Axes rotatifs

Les axes rotatifs se mesurent en degrés. Leur sens de rotation positif est le sens anti-horaire quand l’observateur est placé face à l’axe.
[Si les parallélismes sont particuliers, le constructeur du système devra indiquer à quels sens de rotation correspondent horaire et anti-horaire.]

2.4. Point contrôlé

Le point contrôlé est le point dont la position et la vitesse de déplacement sont contrôlés. Quand la compensation de longueur d’outil est à zéro (valeur par défaut), c’est un point situé sur l’axe de la broche et proche de la fin de celle-ci. Cette position peut être déplacée le long de l’axe de la broche en spécifiant une compensation de longueur d’outil. Cette compensation correspond généralement à la longueur de l’outil coupant courant. Ainsi, le point contrôlé est à la pointe de l’outil. Sur un tour, les correcteurs d’outil peuvent être spécifiés pour les axes X et Z, le point contrôlé est à la pointe de l’outil ou (correction du rayon de bec) légèrement en retrait du point d’intersection des droites perpendiculaires formées par l’axe des points de tangence à la pièce, de face et sur le côté de l’outil.

2.5. Mouvement linéaire coordonné

Pour mener un outil sur une trajectoire spécifiée, une machine à commande numérique doit coordonner les mouvements de plusieurs axes. Nous utilisons le terme mouvement linéaire coordonné pour décrire une situation dans laquelle, nominalement, chacun des axes se déplace à vitesse constante et tous les axes se déplacent de leur point de départ à leur point d’arrivée en même temps. Si deux des axes X, Y, Z (ou les trois) se déplacent, ceci produit un mouvement en ligne droite, d’où le mot linéaire dans le terme. Dans les véritables mouvements, ce n’est souvent pas possible de maintenir la vitesse constante à cause des accélérations et décélérations nécessaires en début et fin de mouvement. C’est faisable, cependant, de contrôler les axes ainsi, chaque axe doit en permanence faire la même fraction du mouvement requis que les autres axes. Ceci déplace l’outil le long du même parcours et nous appelons aussi ce genre de mouvement, mouvement linéaire coordonné.

Un mouvement linéaire coordonné peut être exécuté soit en vitesse travail, soit en vitesse rapide, ou il peut être synchronisé à la rotation de la broche. Si les limites physiques de l’axe rendent le déplacement impossible, tous les axes seront ralentis pour maintenir le parcours prévu.

2.6. Vitesse d’avance

La vitesse à laquelle le point contrôlé se déplace est ajustable par l’opérateur. Sauf cas particulier, vitesse inverse du temps, vitesse par tour, voir la section sur les modes de vitesse, dans l’interpréteur, l’interprétation des vitesses est la suivante:

  1. Si le déplacement concerne un des axes XYZ, F est en unités machine par minute dans le système Cartésien XYZ et les mouvements des autres axes (UVWABC) sont également dans un même mode de coordonnées.

  2. Autrement, si le déplacement concerne un des axes UVW, F est en unités machine par minute dans le système Cartésien UVW, tous les autres axes (ABC) se déplacent dans un même mode de coordonnées.

  3. Autrement, le mouvement est purement rotatif et le mot F est en unités de rotation dans le système pseudo-Cartésien ABC.

2.7. Arrosage

Arrosage fluide ou par gouttelettes peuvent être activés séparément. Le langage RS274/NGC les arrête ensemble, voir la section des contrôles d’arrosage.

2.8. Temporisation

Une temporisation peut être commandée (ex: pour immobiliser tous les axes) pendant une durée spécifique. La broche n’est pas arrêtée pendant une temporisation! Sans s’occuper du mode de contrôle de trajectoire la machine s’arrêtera exactement à la fin du dernier mouvement avant la temporisation.

2.9. Unités

Les unités utilisées pour les distances le long des axes X, Y et Z peuvent être les pouces ou les millimètres. La vitesse de rotation de la broche est en tours par minute. Les positions des axes rotatifs sont exprimées en degrés. Les vitesses d’avance sont exprimées en unités machine par minute ou en degrés par minute ou en unités de longueur par tour de broche, comme décrit dans la section des vitesses.

2.10. Position courante

Le point contrôlé est toujours à un emplacement appelé la position courante, et le contrôleur sait toujours où est cette position. Les valeurs représentant la position courante doivent être ajustées en l’absence de tout mouvement des axes si un de ces événements a lieu:

  1. Les unités de longueur ont changé.

  2. La compensation de longueur d’outil a changé.

  3. Le décalage d’origine a changé.

2.11. Choix du plan de travail

Il y a toujours un plan sélectionné, qui doit être le plan XY, le plan YZ, ou le plan XZ de la machine. L’axe Z est, bien sûr, perpendiculaire au plan XY, l’axe X perpendiculaire au plan YZ et l’axe Y perpendiculaire au plan XZ.

2.12. carrousel d’outils

Aucun ou un outil est assigné à chaque emplacement dans le carrousel.

2.13. Changeur d’outil

Une machine à commande numérique peut commander un changeur d’outils.

2.14. Chargeur de pièce

Les deux porte-pièces peuvent être intervertis par commande.

2.15. Chargeur de pièces

Une machine à commande numérique peut être équipée d’un système de chargement des pièces. Le système se compose de deux porte-pièces sur lesquels sont fixés les bruts des pièces à usiner. Un seul porte-pièce à la fois est en position d’usinage.

2.16. Boutons des correcteurs de vitesses

Les boutons des correcteurs de vitesses peuvent être activés (ils fonctionnent normalement) ou rendus inopérants (Ils n’ont plus aucun effet). Le langage RS274/NGC dispose d’une commande qui active tous les boutons et une autre qui les désactive. Voir l’inhibition et l’activation des correcteurs de vitesse. Voir également ici pour d’autres détails.

2.17. Modes de contrôle de trajectoire

La machine peut être placée dans un de ces trois modes de contrôle de trajectoire:

  • mode arrêt exact:: En mode arrêt exact, le mobile s’arrête brièvement à la fin de chaque mouvement programmé.

  • mode trajectoire exacte:: En mode trajectoire exacte, le mobile suit la trajectoire programmée aussi précisément que possible, ralentissant ou s’arrêtant si nécessaire aux angles vifs du parcours.

  • mode trajectoire continue avec tolérance optionnelle:: En mode trajectoire continue, les angles vifs du parcours peuvent être légèrement arrondis pour que la vitesse soit maintenue (sans dépasser la tolérance, si elle est spécifiée).

Voir également les G-codes G61/G61.1 et G64 des contrôles de trajectoire.

3. Interaction de l’interpréteur avec les boutons

L’interpréteur interagit avec plusieurs boutons de commande. Cette section décrit ces interactions plus en détail. En aucun cas l’interpréteur ne connait ce que sont les réglages de ces boutons.

3.1. Boutons de correction de vitesses

L’interpréteur de commande RS274/NGC autorise (M48) ou interdit (M49) l’action des boutons d’ajustement des vitesses. Pour certains mouvements, tels que la sortie de filet à la fin d’un cycle de filetage, les boutons sont neutralisés automatiquement.

LinuxCNC réagit aux réglages de ces boutons seulement quand ils sont autorisés.

3.2. Bouton d’effacement de bloc

Si le bouton Effacement de bloc est actif, les lignes de code RS274/NGC commençant par le caractère barre de fraction (caractère d’effacement de bloc) ne sont pas interprétées. Si le bouton est désactivé, ces mêmes lignes sont interprétées. Normalement le bouton d’effacement de bloc doit être positionné avant de lancer le programme G-code.

3.3. Bouton d’arrêt optionnel du programme

Si ce bouton est actif et qu’un code M1 est rencontré, le programme est mis en pause.

== Fichier d’outils

Un fichier d’outils est requis par l’interpréteur. Le fichier indique dans quels emplacements du carrousel sont placés les outils, la longueur et le diamètre de chacun des outils. Le nom de la table d’outils est défini sous cette forme dans le fichier ini:

[EMCIO]

# tool table file
TOOL_TABLE = tooltable.tbl

Il est également possible de donner à la table d’outils le même nom que le fichier ini, mais avec une extension tbl, par exemple:

TOOL_TABLE = acme_300.tbl

ou encore:

TOOL_TABLE = EMC-AXIS-SIM.tbl

D’autres informations sont disponibles sur les spécificités du format de la table d’outils.

== Paramètres

Dans le langage RS274/NGC, la machine maintient un tableau de 5400 paramètres numériques. La plupart d’entre eux ont un usage spécifique. Le tableau de paramètres est persistant, même quand la machine est mise hors tension. LinuxCNC utilise un fichier de paramètres et assure sa persistance, il donne à l’interpréteur la responsabilité d’actualiser le fichier. L’interpréteur lit le fichier quand il démarre et l'écrit juste avant de s’arrêter.

Tous les paramètres sont disponibles pour une utilisation dans les programmes de G-code.

Un fichier de paramètres est composé d’un certain nombre de lignes d’en-tête, suivies par une ligne vide, suivie d’un nombre quelconque de lignes de données. Les lignes d’en-tête sont ignorées par l’interpréteur. Il est important qu’il y ait une ligne vide (sans espace ni tabulation), avant les données. La ligne d’en-tête montrée dans le tableau ci-dessous, décrit les colonnes de données, il est donc proposé (mais pas obligatoire) que cette ligne soit toujours présente.

L’interpréteur lit seulement les deux premières colonnes du tableau. Il ignore la troisième colonne, Commentaire.

Chaque ligne du fichier contient le numéro d’index d’un paramètre dans la première colonne et la valeur attribuée à ce paramètre, dans la deuxième colonne. La valeur est représentée par une nombre flottant en double précision à l’intérieur de l’interpréteur, mais le point décimal n’est pas exigé dans le fichier. Le format des paramètres décrit ci-dessous, est obligatoire et doit être utilisé pour tous les fichiers de paramètres, à l’exception des paramètres représentant une valeur sur un axe rotatif inutilisé, qui peuvent être omis. Une erreur sera signalée si un paramètre requis est absent. Un fichier de paramètres peut inclure tout autre paramètre, tant que son numéro est compris dans une fourchette de 1 à 5400. Les numéros de paramètre doivent être disposés dans l’ordre croissant. Sinon, une erreur sera signalée. Le fichier original est copié comme fichier de sauvegarde lorsque le nouveau fichier est écrit. Les commentaires ne sont pas conservés lorsque le fichier est écrit.

Tableau 1. Format d’un fichier de paramètres
Numéro d’index Valeur Commentaire

5161

0.0

G28 pom X

5162

0.0

G28 pom Y