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: