Voir tous les articles

Utilisation de la programmation macro pour créer des cycles répétitifs de perçage

TRASA3 Blog

G-code Publié: 2026-09-22 Auteur: trasa3 8 vues
Utilisation de la programmation macro pour créer des cycles répétitifs de perçage

Les motifs répétitifs de perçage nécessitent rarement un programme CN long. Si les coordonnées forment une simple rangée, un cycle standard G81, un positionnement incrémental G91 et un nombre de répétitions L suffisent souvent. En revanche, pour une grille rectangulaire, une famille de tailles de pièce ou un pas qui change fréquemment, il devient fastidieux et risqué d’éditer manuellement chaque coordonnée. La programmation macro permet de conserver la logique répétitive dans une sous-programme et de transmettre les dimensions ainsi que le nombre de trous en paramètres.

L’exemple ci-dessous cible une commande de fraisage Haas avec option macro. La syntaxe des variables, des boucles et des appels dépend du système CNC et des options activées. Il faut toujours vérifier la documentation spécifique à la commande, valider graphiquement le programme et effectuer un premier essai au-dessus de la pièce.

Quand un cycle standard suffit

Le cycle G81 supprime déjà la majeure partie du code répétitif pour le perçage. Une fois activé, la commande perce à chaque nouvelle position X/Y jusqu’à annulation par G80. La documentation Haas montre comment un déplacement incrémental en X et un compte L peuvent générer une rangée de trous équidistants :

G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90

Cette solution convient bien pour une rangée droite. Le premier trou est percé à la position où G81 est activé, puis G91 X25. L4 ajoute quatre positions supplémentaires. Oublier cette première exécution peut créer un trou en trop ou décaler le motif prévu.

D’autres cycles standards couvrent différents cas : G82 ajoute une pause en fond de trou, G83 sert au perçage par à-coups, et G98/G99 contrôlent le niveau de retour. Le cycle choisi doit correspondre à l’outil, la profondeur, le matériau et l’évacuation des copeaux. La macro gère la géométrie et la répétition, elle ne remplace pas une technologie de perçage adaptée.

Ce qu’apporte la macro paramétrique

Pour une grille rectangulaire, il suffit de transmettre neuf valeurs : coordonnées du premier trou, pas selon les deux axes, nombre de colonnes et de rangées, profondeur, plan R et avance. L’opérateur modifie une seule ligne d’appel, tandis que des boucles imbriquées calculent chaque position.

Dans l’appel suivant, X et Y définissent l’origine, I et J le pas, A et B le nombre de colonnes et de rangées :

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

Sur une commande Haas, les arguments G65 sont affectés à des variables locales dans la macro. Ici, X correspond à #24, Y à #25, I à #4, J à #5, A à #1, B à #2, Z à #26, R à #18 et F à #9. Chaque appel G65 fournit un nouvel ensemble de variables locales, ce qui permet d’utiliser le même code avec différents paramètres.

Macro pour une grille rectangulaire

O09010 (DRILL RECTANGULAR PATTERN)

#30 = 0 (ROW INDEX)

WHILE [#30 LT #2] DO1
  #31 = 0 (COLUMN INDEX)

  WHILE [#31 LT #1] DO2
    #32 = [#24 + #31 * #4] (CURRENT X)
    #33 = [#25 + #30 * #5] (CURRENT Y)

    G90 G00 X#32 Y#33
    G81 Z#26 R#18 F#9
    G80

    #31 = #31 + 1
  END2

  #30 = #30 + 1
END1

M99

La boucle externe compte les rangées, la boucle interne les colonnes. Chaque coordonnée est calculée en ajoutant à la position de départ l’indice multiplié par le pas. Avec A4 et B3, la macro perce douze trous : quatre par rangée sur trois rangées.

Dans cette version pédagogique, G81 est activé et annulé à chaque position. Cela ajoute un léger surcoût d’exécution, mais limite l’état modal du cycle à une seule opération. En production, on peut garder le cycle actif sur plusieurs positions, à condition de contrôler précisément la première exécution, l’état modal et l’annulation finale par G80.

Programme principal et états sûrs

La macro ne doit pas déterminer le numéro d’outil, le décalage de longueur, la vitesse de broche ou le décalage pièce. Ces paramètres restent dans le programme principal, ce qui facilite la vérification de la préparation.

O01000
G90 G17 G40 G49 G80 G94
G54
T1 M06
S1800 M03
G00 X10. Y20.
G43 H01 Z50.
M08

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

G80
G00 Z50.
M09
M05
G53 G00 Z0.
M30

Ce programme fixe le plan G17, le positionnement absolu G90, le système de coordonnées G54 et la compensation de longueur G43 H01 avant d’appeler la macro. Les hauteurs de sécurité, le retour au zéro machine et la séquence d’activation doivent respecter la machine et le protocole validé en atelier.

Contrôles indispensables en production

Le code paramétrique réduit l’édition manuelle, mais une variable erronée peut fausser tout le motif. Une macro de production doit valider ses entrées. Le nombre de rangées et colonnes doit être un entier positif, le plan R doit être du côté sûr de la surface, et les coordonnées calculées doivent rester dans la zone pièce et les courses machine.

  • Vérifiez la correspondance des lettres d’arguments avec les variables locales selon la commande utilisée.
  • Assurez-vous que chaque DO a un END correspondant correct dans les boucles imbriquées.
  • Calculez à l’avance le dernier point : X + (A − 1) × I et Y + (B − 1) × J.
  • Contrôlez le signe de Z, la position du plan R et le mode de retour G98 ou G99.
  • Effectuez une simulation graphique, puis un passage bloc par bloc avec avance rapide réduite.
  • Si des étaux ou brides sont présents, vérifiez aussi les trajectoires de transition, pas seulement les points de perçage.

Une protection contre les arguments manquants est aussi utile. Sur certaines commandes, une variable locale non définie vaut zéro, ce qui permet à la macro de générer une alarme avant tout mouvement. La syntaxe exacte pour tester une variable vide et déclencher une alarme dépend de la documentation CNC.

Quand la macro facilite vraiment le travail

Pour une pièce unique avec cinq trous connus, un simple cycle G81 suivi d’une liste de coordonnées est souvent plus lisible. La macro devient intéressante quand le motif change selon une règle claire : matrices rectangulaires ou circulaires, plusieurs tailles d’une même pièce, trous répétés sous différents décalages ou famille de produits avec un même procédé de perçage.

Une macro maintenable a une tâche précise et une interface claire. Chaque argument est documenté dans les commentaires ou une fiche de réglage, et un exemple d’appel valide est conservé avec le programme. Le préparateur peut alors modifier les dimensions et paramètres sans toucher aux formules ou compteurs.

Haas fournit une documentation officielle sur l’affectation des arguments G65 et variables locales ainsi que sur les cycles standards de perçage. Ces références sont un bon point de départ et doivent être vérifiées selon la version logicielle de la machine.

Utilisation de la programmation macro pour créer des cycles répétitifs de perçage

Cet article est disponible dans les langues suivantes :