This documentation is no longer maintained. For documentation of the current version of emc2, please see http://www.linuxcnc.org/docview/html

Table des matières

Liste des figures

Liste des tableaux

1 L'interface graphique AXIS

1.1 Introduction

AXIS est une interface utilisateur graphique pour emc2, il offre un aperçu permanent du parcours de l'outil. Il est écrit en Python, utilise Tk et OpenGL pour l'affichage de l'interface graphique.

Figure: Fenêtre d'AXIS

1.2 Pour commencer

Pour choisir AXIS comme interface graphique d'emc2, éditez le fichier .ini et dans la section [DISPLAY] changez la ligne DISPLAY comme ceci:

DISPLAY = axis

Puis, lancez emc2 et choisissez le fichier ini. La configuration simplifiée sim/axis.ini est déjà configurée pour utiliser AXIS comme interface.

Quand vous démarrez AXIS, une fenêtre telle que celle de la figure [.] s'ouvre.

1.2.1 Une session typique avec AXIS

  1. Lancez emc et sélectionnez un fichier de configuration.
  2. Relâchez le bouton d'arrêt d'urgence A/U et mettez la machine en marche.
  3. Faites les prises d'origine machine POM pour chacun des axes.
  4. Chargez un fichier d'usinage.
  5. Utilisez l'affichage du parcours d'outil pour vérifier que le programme est correct.
  6. Bridez le brut à usiner sur la table.
  7. Faites les prises d'origine pièce POP de chacun des axes avec le jog et en utilisant le bouton Toucher.
  8. Lancez le programme.
  9. Pour usiner le même fichier une nouvelle fois, retournez à l'étape 6. Pour usiner un fichier différent, retournez à l'étape 4. Quand vous avez fini, quittez AXIS.

1.3 Eléments de la fenêtre d'AXIS

La fenêtre d'AXIS contient les éléments suivants:

1.3.1 Menu Items

SousSection en cours de rédaction - To Do List

finish menu descriptions

1.3.2 Boutons de la barre d'outils

Signification des boutons, de gauche à droite:

  1. Arrêt d'urgence (A/U) en Anglais (E-Stop)
  2. Marche/Arrêt puissance machine
  3. Ouvrir un fichier
  4. Recharger le fichier courant
  5. Départ cycle
  6. Cycle en pas à pas
  7. Pause/Reprise
  8. Stopper l'exécution du programme
  9. Sauter ou non les lignes commençant par "/"
  10. Avec ou sans pause optionelle
  11. Zoom plus
  12. Zoom moins
  13. Vue prédéfinie Z (vue de dessus)
  14. Vue prédéfinie Z basculée
  15. Vue prédéfinie X (vue de côté)
  16. Vue prédéfinie Y (vue de face)
  17. Vue prédéfinie P (vue en perspective)
  18. Orienter la vue avec le bouton gauche de la souris
  19. Rafraîchir le parcours d'outil

1.3.3 Zones d'affichage graphique du programme

1.3.3.1 Affichage des coordonnées

L'affichage des coordonnées est situé en haut à gauche de l'écran graphique. Il montre les positions de la machine. A gauche du nom de l'axe, un symbole d'origine () est visible si la prise d'origine de l'axe a été faite. A droite du nom de l'axe, un symbole de limite () est visible si l'axe est sur un de ses capteurs de limite.

Pour interpréter correctement ces valeurs, référez vous à l'indicateur Position: de la barre d'état. Si la position est Absolue, alors les valeurs affichées sont exprimées en coordonnées machine. Si la position est Relative, alors les valeurs affichées sont exprimées en coordonnées relatives à la pièce. Quand les coordonnées affichées sont relatives, une marque d'origine de couleur cyan est visible pour représenter l'origine machine (). Si la position est Commandée, alors il s'agit de la position à atteindre -- par exemple, les coordonnées passées dans une commande G0. Si la position est Actuelle, alors il s'agit de la position à laquelle la machine vient de se déplacer. Ces valeurs peuvent varier pour certaines raisons: erreur de suivi, bande morte, résolution d'encodeur ou taille de pas. Par exemple, si vous demandez un mouvement à X 0.08 à votre fraiseuse, mais un pas du moteur fait 0.03, alors la position Commandée sera de 0.08 mais la position Actuelle sera de 0.06 (2 pas) ou 0.09 (3 pas).

1.3.3.2 Vue du parcours d'outil

Quand un fichier est chargé, une vue du parcours d'outil qu'il produira est visible dans la zone graphique. Les mouvements en vitesse rapide (tels ceux produits par une commande G0) sont affichés en lignes pointillées vertes. Les déplacements en vitesse programmée (tels ceux produits par une commande G1) sont affichés en lignes continues blanches. Les arrêts temporisés (tels ceux produits par la commande G4) sont représentés par une petite marque X.

1.3.3.3 Etendues du programme

Les étendues du programme sont visibles pour chacun des axes. Aux extrémités de chacune, la plus petite et la plus grande valeur des coordonnées sont indiquées. Au milieu, la différence entre ces valeurs de coordonnées est visible. Sur la figure [.], l'étendue des X du fichier va de -1.95 à 1.88 pouces, un total de 3.83 pouces.

Quand une coordonnée excède une soft limits établie dans le fichier .ini, la dimension correspondante est affichée dans une couleur différente. Ici, la limite maximale est dépassée sur l'axe X:

1.3.3.4 Le cône d'outil

L'emplacement de la pointe de l'outil est indiqué par le cône d'outil. Le cône d'outil ne donne pas d'indication sur la forme, la longueur ou le rayon de l'outil.

Quand un outil est chargé, (par exemple dans le MDI, avec la commande T1 M6), le cône passe de cônique à cylindrique, il indique alors le diamètre de l'outil lu dans le fichier de la table d'outil.

1.3.3.5 Tracé d'outil

Quand la machine se déplace, elle laisse une trace appelée le tracé d'outil. La couleur des lignes indique le type de mouvement: Jaune pour les jogs, vert clair pour les mouvements en vitesse rapide, rouge pour les mouvements en vitesse d'avance programmée et magenta pour les mouvements circulaires en vitesse d'avance programmée.

1.3.3.6 Interaction avec l'affichage

Par un clic gauche sur une portion du parcours d'outil, la ligne sous la souris passe en surbrillance à la fois dans le graphique et dans le texte. Un clic droit dans une zone vide enlève la surbrillance.

En déplaçant la souris avec son bouton gauche appuyé, la vue est glissée sur l'écran.

En déplaçant la souris avec le bouton Maj enfoncé, ou en glissant avec la molette de la souris appuyée, la vue est tournée. Si une ligne du tracé est en surbrillance, elle devient le centre de rotation de la vue. Autrement, le centre de rotation est le milieu du fichier dans son ensemble.

En tournant la molette de la souris ou en glissant la souris avec son bouton droit enfoncé ou encore en glissant la souris avec son bouton gauche enfoncé et la touche Ctrl appuyée, le tracé sera zoomé en plus ou en moins.

En cliquant sur une des icônes de vue pré-définie de la barre d'outils, ou en pressant la touche V, cette vue est sélectionnée.

Figure: Ligne courante et ligne en surbrillance

1.3.4 Zone texte d'affichage du programme

Un clic gauche sur une ligne du programme passe la ligne en surbrillance à la fois dans la zone texte et dans la zone graphique.

Quand le programme est lancé, la ligne en cours d'exécution est en surbrillance rouge. Si aucune ligne n'est sélectionnée par l'utilisateur, le texte défile automatiquement pour toujours laisser la ligne courante visible.

1.3.5 Contrôle manuel

Quand la machine est en marche mais qu'aucun programme n'est exécuté, les éléments graphiques de l'onglet Contrôle manuel peuvent être utilisés pour actionner le centre d'usinage ou mettre en marche et arrêter les différents organes de la machine.

Quand la machine n'est pas en marche ou quand un programme est en cours d'exécution, le contrôle manuel est indisponible.

Certains des éléments décrits plus bas ne sont pas disponibles sur toutes les machines. Quand AXIS détecte qu'une pin particulière n'est pas connectée dans le fichier HAL, l'élément correspondant de l'onglet Contrôle manuel est supprimé. Par exemple, si la pin HAL motion.spindle-brake n'est pas connectée, alors le bouton Frein de broche n'apparaîtra pas sur l'écran. Si la variable d'environnement AXIS_NO_AUTOCONFIGURE est mise à 1, ce comportement est désactivé et tous les boutons sont visibles.

1.3.5.1 Le groupe Axes

Les cases à cocher du groupe Axes permettent de choisir l'axe de la machine à actionner manuellement. Cette action s'appelle le jog. Premièrement sélectionnez l'axe à actionner en cochant sa case. Puis cliquez le bouton + ou - selon le sens de déplacement souhaité. Les quatre premiers axes peuvent aussi être déplacés avec les touches fléchées pour (X et Y), Page précédente et Page suivante pour (Z) et les touches [ et ] pour (A).

Si En continu est sélectionné, le mouvement continuera tant que la touche ou le bouton resteront appuyés. Si une autre valeur est sélectionnée, la machine se déplacera juste de la distance affichée à chaque fois que la touche ou le bouton seront appuyés. Par défaut, les valeurs disponibles sont:

0.1000 0.0100 0.0010 0.0001

Le réglage du fichier .ini [DISPLAY]INCREMENTS peut être utilisé pour remplacer ces valeurs par défaut. Ces valeurs doivent contenir des nombres décimaux (ex. 0.1000) ou des nombres fractionnaires (ex. 1/16), éventuellement suivis par une unité (une parmi 'cm', 'mm', 'um', 'inch', 'in', ou 'mil'). Si aucune unité n'est spécifiée, les unités natives de la machine seront utilisées. Pour les utilisateurs préférant les unités métriques, un bon réglage pourrait être:

INCREMENTS = 10 um, 50 um, 0.1mm, 0.5mm, 1mm, 5mm, 10 mm

Pour les utilisateurs préférant les unités impériales, un bon réglage pourrait être:

INCREMENTS = 1/4 in, 1/16 in, 1/32 in, 1/64 in, 1 mil, .1 mil

ou

INCREMENTS = .5 in, .1 in, 50 mil, 10 mil, 5 mil, 1 mil, .1 mil

Le mélange entre métrique et impérial est possible:

INCREMENTS = 1 inch, 1 mil, 1 cm, 1 mm, 1 um

1.3.5.2 La prise d'origine machine

Si votre machine a une séquence de prise d'origine machine définie, le bouton POM générale ou les touches Ctrl+origine lanceront cette séquence. Autrement, le bouton sera lu Origine machine, et enverra l'axe courant à sa position d'origine. L'appui de la touche origine seule enverra l'axe courant à sa position d'origine même si une séquence de prise d'origines machine est définie. Selon votre configuration, la POM peut ajuster la valeur de la position de l'axe comme étant la position absolue 0.0, ou elle peut faire déplacer la machine vers une position d'origine spécifiée et avec l'usage de capteurs d'origine.

1.3.5.3 Toucher

Si le bouton Toucher ou la touche Fin sont appuyés, le décalage d'origine pièce de l'axe actif, sur la figure[.]: P1 G54, prendra la valeur spécifiée dans le champ de la boite de dialogue. Les expressions peuvent être entrées en suivant les règles de programmation rs274ngc, sauf les variables qui ne peuvent pas être utilisées. La valeur résultante sera affichée sous le champ.

Figure: Toucher

La case à cocher Mouvement temporaire hors limites permet un déplacement temporaire de la machine hors des limites physiques. Par exemple, pour ramener dans les limites, un axe engagé par erreur sur un fin de course.

1.3.5.4 Le groupe Broche

Les boutons de la première rangée permettent de sélectionner la direction de rotation de la broche: Sens anti-horaire, Arrêt, Sens horaire. Les boutons de la rangée suivante augmentent ou diminuent la fréquence de rotation. La case à cocher de la troisième rangée permet d'engager ou de relâcher le frein de broche. Selon la configuration de votre machine, ces éléments n'apparaîtront peut être pas tous.

1.3.5.5 Le groupe Arrosage

Ces deux boutons permettent d'activer le Brouillard et l'Arrosage ou de les désactiver. Selon la configuration de votre machine, ces boutons n'apparaîtront peut être pas tous.

1.3.6 Données manuelles

L'onglet d'entrée de données manuelles (encore appelé MDI), permet d'entrer manuellement et une par une, des lignes de programme en G-code. Quand la machine n'est pas en marche, ou quand un programme est en cours d'exécution, cet onglet n'est pas opérationnel.

Figure: L'onglet Données manuelles

1.3.6.1 Historique

Affiche les commandes précédemment tapées au cours de cette session.

1.3.6.2 Commande MDI

Ce champ permet la saisie d'une ligne de commande à exécuter. La commande sera exécutée par l'appui de la touche Entrée ou un clic du bouton Envoi.

1.3.6.3 G-Codes actifs

Ce champ affiche les codes modaux actuellement actifs dans l'interpréteur. Par exemple, G54 indique que le décalage d'origine G54 sera appliqué à toutes les coordonnées qui seront entrées.

1.3.7 Correcteurs de vitesse

En déplaçant le curseur, la vitesse de déplacement programmée peut être modifiée. Par exemple, si un programme requiert une vitesse à F60 et que le curseur est placé sur 120%, alors la vitesse résultante sera de 72.

1.3.8 Correcteur de vitesse de broche

En déplaçant ce curseur, la vitesse programmée de la broche peut être modifiée. Par exemple, si un programme requiert une vitesse à F8000 et que le curseur est placé sur 80%, alors la fréquence de rotation résultante sera de 6400. Cet élément n'apparaît que si la HAL pin motion.spindle-speed-out est connectée dans .ini.

1.3.9 Vitesse de Jog

En déplaçant ce curseur, la vitesse de jog peut être modifiée. Par exemple, si ce curseur est placé sur 100 mm/mn, alors un jog de 1 mm durera .6 secondes, ou 1/100 de minute. Du côté gauche du curseur (jog lent) l'espacement des valeurs est petit alors que du côté droit (jog rapide) l'espacement des valeurs est plus grand, cela permet une large étendue de vitesses de jog avec un contrôle plus fin du curseur dans les zones les plus importantes.

Sur les machines avec axes rotatifs, un second curseur de vitesse est présent. Il permet d'ajuster la vitesse de rotation des axes rotatifs (A, B et C).

1.4 Raccourcis clavier

La plupart des actions d'AXIS sont accessibles depuis le clavier. La liste complète des raccourcis clavier est disponible dans l'aide rapide d'AXIS qui s'affiche en cliquant sur Aide > Aide rapide. Beaucoup de ces raccourcis sont inaccessible en mode Entrées manuelles.

Les raccourcis clavier les plus fréquents sont visibles dans la table [.].

Touches Actions produites
F1 Bascule l'arrêt d'urgence
F2 Bascule le marche/arrêt machine
`, 1 .. 9, 0 Correcteurs de vitesse de 0% à 100%
X, ` Active le premier axe
Y, 1 Active le deuxième axe
Z, 2 Active le troisième axe
A, 3 Active le quatrième axe
I Sélection d'incrément du jog
C jog en mode continu
Ctrl+origine Lance une séquence de POM
Fin Toucher: valide l'offset G54 de l'axe actif
Gauche, Droite Jog du premier axe
Up, Down Jog du deuxième axe
Pg Up, Pg Dn Jog du troisième axe
[, ] Jog du quatrième axe
O Ouvrir un fichier
Ctrl+R Recharger le fichier courant
R Exécuter le programme
P Pause dans l'exécution du programme
S Reprise de l'exécution du programme
ESC Stopper l'exécution
Ctrl+K Raffraîchi le tracé d'outil
V Défilement cyclique des vues prédéfinies
Table: Raccourcis clavier usuels

1.5 emctop: Affichage de l'état d'EMC

AXIS inclut un programme appelé emctop qui affiche en détail l'état d'emc. Ce programme est accessible dans le menu Machine > Fenêtre d'état d'emc2

Figure: Fenêtre d'état d'EMC

Le nom de chaque entrée est affiché dans la colonne de gauche. La valeur courante de chaque entrée s'affiche dans la colonne de droite. Si la valeur a changé récemment, elle s'affiche en surbrillance rouge.

1.6 mdi: Entrée de données en texte (MDI)

AXIS inclut un programme appelé mdi, il permet d'envoyer des commandes à la session d'EMC2 en cours, sous forme de lignes de texte. Vous pouvez lancer ce programme en ouvrant une console et en tapant:

mdi /path/to/emc.nml

En cours d'exécution il affiche le prompt: MDI>. Quand une ligne vide est entrée, la position courante de la machine est affichée. Quand une commande est entrée, elle est passée à emc qui l'exécute. Une courte session MDI est visible sur la figure [.].

$ mdi ~/emc2/configs/sim/emc.nml
MDI>
(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
MDI> G1 F5 X1
MDI>
(0.5928500000000374, 0.0, 0.0, 0.0, 0.0, 0.0)
MDI>
(1.0000000000000639, 0.0, 0.0, 0.0, 0.0, 0.0)Figure: Session MDI

1.7 axis-remote: Commande à distance de l'interface graphique d'AXIS

AXIS inclut un programme appelé axis-remote qui permet d'envoyer certaines commandes vers l'application AXIS fonctionnant à distance. Les commandes disponibles sont visibles en faisant: axis-remote --help pour vérifier qu'AXIS est en marche, inclure: (--ping), charger un fichier, recharger le fichier courant avec: (--reload) et quitter le programme AXIS avec: (--quit).

1.8 hal_manualtoolchange: Dialogue de changement manuel d'outil

AXIS inclut un composant Hall appelé hal_manualtoolchange, il ouvre une fenêtre d'appel d'outil (Figure [.]) quand la commande M6 est invoquée. Dés que le bouton Continuer est pressé, l'exécution du programme reprend.

Le fichier de configuration .hal: configs/sim/axis_manualtoolchange.hal montre les commandes HAL nécessaires pour l'utilisation de ce composant.

hal_manualtoolchange peut être utilisé même si l'interface graphique AXIS n'est pas en service.

Figure: La fenêtre de changement manuel d'outil

1.9 Modules en Python

AXIS inclut plusieurs modules en Python qui peuvent être très utiles. Pour des informations complètes sur ces modules, faites: pydoc <nom du module> ou lisez son code source. Modules inclus:

Pour utiliser ces modules dans vos propres scripts, assurez-vous que le répertoire où ils se trouvent est dans le chemin d'accès des modules Python. Avec une version installée d'EMC2, ça se fera automatiquement. Avec une version installée en in-place, ça peut être fait avec l'aide de: scripts/emc-environment.

1.10 Utiliser AXIS pour contrôler un tour CNC

En incluant cette ligne dans le fichier ini le mode tour (lathe) sera sélectionné:

[DISPLAY]
LATHE = 1

L'axe Y ne sera pas visible dans l'affichage des coordonnées, la vue sera modifiée pour placer l'axe Z dans le sens gauche/droite et l'axe X dans le sens avant/arrière et différents éléments (tels que les icônes des vues prédéfinies) seront supprimés.

La touche V agit alors sur le zoom pour afficher le tracé complet du fichier chargé.

En mode tour (lathe), la forme de l'outil chargé est visible.

Figure: Forme d'outil visible en mode tour

1.11 Configuration avancée d'AXIS

1.11.1 Filtres de programme

AXIS a la capacité d'envoyer des fichiers chargés à travers un filtre de programme. Ce filtre peut faire diverses tâches: Simple, comme s'assurer que le programme se termine bien par un: 'M2' ou complexe, comme détecter que l'entrée est une image et générer le g-code qui permettra d'usiner sa forme.

La section [FILTER] du fichier ini défini comment les filtres doivent agir. Premièrement, pour chaque type de fichier, écrire une ligne: PROGRAM_EXTENSION puis, spécifier le programme à exécuter pour chaque type de fichier. Ce programme reçoit comme argument le nom du fichier d'entrée, il doit produire le code selon le standard rs274ngc, en sortie. Les lignes de cette sortie s'affichent alors dans la zone texte, le parcours d'outil résultant est visible dans la zone graphique, enfin il sera exécuté quand emc recevra la commande Exécuter le programme. Les lignes suivantes fournissent la possibilité d'utiliser image-to-gcode, le convertisseur d'images fourni avec EMC2:

[FILTER]
PROGRAM_EXTENSION = .png,.gif Greyscale Depth Image
png = image-to-gcode
gif = image-to-gcode

Il est également possible de spécifier un interpréteur:

PROGRAM_EXTENSION = .py Python Script
py = python

De cette manière, n'importe quel script Python pourra être ouvert et sa sortie traitée comme du g-code. Un autre exemple est disponible dans: nc_files/holecircle.py. Ce script crée le g-code pour percer une série de trous suivant un arc de cercle.

Figure: Perçages circulaires

Si la variable d'environnement: AXIS_PROGRESS_BAR est active, alors les lignes seront écrites sur stderr de la forme:

FILTER_PROGRESS=%d

AXIS fixera la barre de progression selon le pourcentage donné. Cette fonction devrait être utilisée pour un filtre qui fonctionne suffisamment longtemps.

1.11.2 La base de données des ressources X

Les couleurs de la plupart des éléments de l'interface utilisateur d'AXIS peuvent être personnalisées grâce à la base de données X. Le fichier: axis_light_background modifie les couleurs de la fenêtre du parcours d'outil sur le modèle lignes noires et fond blanc, il sert aussi de référence des éléments configurables dans l'écran graphique.

Pour plus d'informations au sujet des éléments configurables dans les applications Tk, référez vous aux manuels de Tk.

Les bureaux graphiques modernes effectuent certains réglages dans la base de données des ressources X ces réglages peuvent affecter ceux d'AXIS, par défaut ces réglages sont ignorés. Pour que les éléments des ressources X écrasent ceux par défaut dans AXIS, il faut inclure cette ligne dans vos ressources X:

*Axis*optionLevel: widgetDefault

ce qui entraînera la construction des options au niveau widgetDefault, de sorte que les ressources X (qui sont elles, au niveau userDefault) puissent l'emporter.

1.11.3 Manivelle de jog

Pour accroître l'interaction d'AXIS avec une manivelle de jog physique, l'axe actif courant sélectionné dans l'interface graphique est aussi reporté sur une pin Hal avec un nom comme axisui.jog.x. Excepté pendant un court instant après que l'axe courant ait changé, une seule de ces pins à la fois est TRUE, les autres restent FALSE.

Après qu'AXIS ait créé ces HAL pins, il exécute le fichier hal déclaré avec: [HAL]POSTGUI_HALFILE. Ce qui diffère de [HAL]HALFILE, qui lui ne s'utilise qu'une seule fois.

1.11.4 ~/.axisrc

Si il existe, le contenu de: ~/.axisrc est exécuté comme un code source Python juste avant l'ouverture de l'interface graphique d'AXIS. Les détails de ce qui peut être écrit dans .axisrc sont sujets à changement durant le cycle de développement.

Les lignes visibles sur la figure [.] ajoutent un Ctrl+Q comme raccourci clavier pour Quitter et activer l'option “Distance restante” par défaut.

root_window.bind("<Ctrl+q>", "destroy .")
help2.append(("Ctrl+Q", "Quitter"))
vars.show_distance_to_go.set(1)Figure: Exemple de fichier .axisrc

1.11.5 Editeur externe

En définissant: [DISPLAY]EDITOR, les options de menu: Fichier > Editer ainsi que Fichier > Editer la table d'outils, deviennent accessibles. Deux valeurs qui marchent bien: EDITOR=gedit et EDITOR=gnome-terminal -e vim.

1.11.6 Panneau de contrôle virtuel

AXIS peut afficher le fichier xml pyVCP dans le panneau droit de l'interface.

Index