howto:cfao:astuce_pour_linuxcnc

Ajout d'un bouton sur l'interface Axis de LinuxCNC / EMC2

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'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 <ret_origine> 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 <pyvcp> </pyvcp> :

```

<hbox>
  <relief>RAISED</relief>
  <bd>5</bd>			
  <button> 
    <halpin>"ret_origine"</halpin>
    <text>"Retour Origine"</text>
    <font>('Fixed',14)</font>
    <width>10</width>
  </button>
</hbox>

```

Enfin on créé le fichier gcode *ret_origine.ngc* dans /home/user/linucnc/configs/MaCN/ROUTINES/ avec à l'intérieur :

``` (ret_origine.ngc)

O <ret_origine> sub G0 Z0 G0 X0 Y0 O <ret_origine> endsub

M2 ```

Et voilà !

Lors du prochain démarrage de LinuxCNC vous aurez un bouton en haut à droite pour retourner à l'origine.

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 <ch_outil> 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* :

```

<hbox>
  <relief>RAISED</relief>
  <bd>5</bd>			
  <button> 
    <halpin>"ch_outil"</halpin>
    <text>"Ch. Outil"</text>
    <font>('Fixed',14)</font>
    <width>10</width>
  </button>
</hbox>

```

  • et on ajoute un fichier ch_outil.ngc dans /home/user/linucnc/configs/MaCN/ROUTINES/ avec à l'intérieur :

``` O<ch_outil> 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<ch_outil> 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 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.

  • howto/cfao/astuce_pour_linuxcnc.txt
  • Dernière modification: 2020/11/26 11:24
  • (modification externe)