====== Ajout d'un bouton sur l'interface Axis de LinuxCNC / EMC2 ====== ===== Exemple 1 : Créer un bouton de retour à l'origine. ===== Pour cela nous avons 3 fichiers de configuration à modifier et un fichier gcode à créer. Rappel de la structure de configuration de LinuxCNC Lors de la création de notre machine avec l'[[http://linuxcnc.org/docs/2.6/html/config/stepconf_fr.html|assistant graphique de paramétrage Stepconf]], à l'étape de configuration avancée, nous avons coché : * Inclure l’interface Halui * Inclure un panneau pyVCP > Programme vierge * Inclure l’API ClassicLadder > Programme ladder vierge Après avoir validé toutes les étapes de configuration nous obtenons un répertoire /home/user/linucnc/configs/MaCN dans lequel se trouvent plusieurs fichiers. Dans le fichier de configuration *MaCN.ini* nous allons ajouter, dans les rubriques suivantes: ``` [RS274NGC] SUBROUTINE_PATH = /home/user/linucnc/configs/MaCN/ROUTINES/ [HALUI] MDI_COMMAND = O CALL ``` Dans [RS274NGC] on ajoute donc le chemin vers le répertoire qui contiendra le(s) sous-programme(s) en gcode appelés lors d'appui sur le(s) bouton(s) et dans [HALUI] c'est le nom de la commande de données manuelles à ajouter. On modifie ensuite le fichier *custom_postgui.hal* qui est appelé après l'initialisation de l'interface graphique et on y ajoute : ``` # paramétrage du bouton de retour à l'origine net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.ret_origine ``` On modifie aussi le fichier *custompanel.xml* en ajoutant entre les balises : ``` RAISED 5 ``` Enfin on créé le fichier gcode *ret_origine.ngc* dans /home/user/linucnc/configs/MaCN/ROUTINES/ avec à l'intérieur : ``` (ret_origine.ngc) O sub G0 Z0 G0 X0 Y0 O endsub M2 ``` Et voilà ! Lors du prochain démarrage de LinuxCNC vous aurez un bouton en haut à droite pour retourner à l'origine. {{ ::linuxcnc:linuxcnc.png?nolink&600 |}} ===== Exemple 2 : un bouton pour compenser l'origine en Z après un changement manuel d'outil ===== On reprend la même procédure vue précédemment : * on ajoute à *MaCN.ini*, dans la rubrique [HALUI] la commande suivante (supposant qu'on a déjà ajouté SUBROUTINE_PATH = /home/user/linucnc/configs/MaCN/ROUTINES/ dans la rubrique [RS274NGC]): ``` MDI_COMMAND = O CALL ``` * on ajoute à *custom_postgui.hal* ``` # paramétrage du bouton de changement d'outil net remote-laserzero halui.mdi-command-01 <= pyvcp.ch_outil ``` * on ajoute à *custompanel.xml* : ``` RAISED 5 ``` * et on ajoute un fichier //ch_outil.ngc// dans /home/user/linucnc/configs/MaCN/ROUTINES/ avec à l'intérieur : ``` O SUB G49 (supprime la compensation) G91 (passe en coordonnées relatives) G38.2 Z-110 F200 (descente rapide vers le palpeur) G1 Z1 F20 (on remonte lentement d'un mm) G38.2 Z-10 F10 (descente très lente vers le capteur pour une mesure précise) #<_RefZ> = #5063 (stocke la valeur Z de référence) G1 Z30 F500 (remonte pour permettre le changement d'outil) T0 M6 (appelle le changement d'outil) G38.2 Z-110 F200 (descente rapide vers le palpeur) G1 Z1 F20 (on remonte d'un mm) G38.2 Z-10 F10 (descente lente vers le capteur pour une mesure précise) #<_NewRefZ> = #5063 (stocke la nouvelle valeur Z) G43.1 Z[#<_NewRefZ> - #<_RefZ>] (applique le décalage calculé) G90 (repasse en coordonnées absolues) O ENDSUB ``` Dans la pratique, à la fin d'un premier parcours d’usinage, il suffira de positionner le capteur sous l'outil puis cliquer sur le bouton : * l'outil va descendre rapidement jusqu'au palpeur * il remonte lentement d'un mm * il redescend lentement pour une mesure plus précise * il remonte de 30mm pour permettre le changement de l'outil Une fenêtre indique qu'il faut procéder au changement manuel d'outil {{ ::linuxcnc:linuxcnc2.png?nolink&400 |}} Une fois l'outil en place, on valide en cliquant sur Continuer * l'outil va descendre rapidement jusqu'au palpeur * il remonte lentement d'un mm * il redescend lentement pour une mesure plus précise * la différence de hauteur des outils est calculée et ajoutée en compensation Z de l'origine machine On peut maintenant lancer un deuxième parcours d'usinage.