GCODE- M98:sous programmes et boucles

en programmation GCODE,  il peut être intéressant de faire appel à des sous programmes. c’est l’instruction M98 qui permet cela , elle a en plus la possibilité d’incrementer un compteur de boucle via la variable L permettant de répéter plusieurs fois le sous programme.

la syntaxe d’une commande M98 avec boucle de comptage est la suivante:

M98 Pxxx Ln

Pxxx appelle le sous programme numero xxx et va répéter n fois cet appel au sous programme. quand le nombre de rappel aura ete fait , le programme GCODE passera a la ligne suivante apres le M98 Pxxx Ln

le sous programme xxx lui va va être écrit après le corps de programme principal et sera inclus entre 2 ligne de code de ce type :

Oxxx                (numero du sous programme)

       ligne de codes

M99                 ( fin du sous programme Oxxx et retour au pgme principal

 

rien de mieux qu’un exemple concret pour illustrer ce principe, soit le programme ci dessous

reprenons le en version ligne a ligne commentée:

la boucle de sous programme 01000 a pour effet de tracer la figure suivante:

et le L4 de M98 P1000 L4 combinée au mode relatif a pour effet de répéter 4 fois la figure en partant de la dernière position de la boucle précédente soit au final la figure ci dessous:

voila un moyen simple de faire un programme de balayage de surface avec une fraise. il suffit de faire varier la valeur de Y et de X ( fonction du diamètre de fraise ) ainsi que le nombre de répétitions pour générer n’importe quelle fraisage de surface .

à partir de ce principe, on pourrait rajouter une boucle de sous programme qui décrémente le Z pour réaliser les prises de passes . voici ce que pourrait être le programme pour obtenir ce resultat:

la particularité ici est d’avoir 2 boucles imbriquées. la premiere instruction M98 P1000 L5 appelle 5 fois le sous programme 01000 qui lui meme appelle 4 fois le sous programme 02000.  dans 01000 , une fois que O2000 a ete fait 4 fois , l’outil revient en arriere de 40mm et descends de 2 mm ce qui effectue la prise de passe. le pointeur de programme retourne dans le programme principal a l’instruction M98 P1000 L5 et recommence le cycle une seconde fois et ainsi de suite jusqu’a effectuer 5 fois ce cycle soit 5 passes de 2mm, ce qui fait une profondeur finale de 10mm.

vue ISO de la trajectoire outil ( en bleu) une fois le programme GCODE chargé dans le logiciel MACH3: