Un programme CNC conventionnel indique exactement où la machine doit se déplacer. C’est la bonne solution pour la plupart des trajectoires issues de la FAO. Mais certaines tâches ne sont pas une liste fixe de coordonnées : un motif de perçage varie avec la pièce, un palpeur réagit à une mesure ou un agrégat spécial exige toujours la même séquence machine.
FANUC Custom Macro, souvent appelée Macro B, ajoute variables, calculs, conditions, boucles et appels paramétrés. Une routine validée peut ainsi couvrir de nombreuses situations similaires.
Résumé rapide
- Variables : dimensions, compteurs, mesures et positions calculées.
- Logique : IF valide les entrées et WHILE répète les opérations.
- G65 : appelle une macro et transmet des arguments aux variables locales.
- Répartition : la FAO gère la géométrie ; la macro, souvent, le comportement stable de la machine.
- Sécurité : la commande, les options et l'intégration OEM réelles font foi.
Dans cet article
Qu’est-ce que FANUC Macro B ?
G0 X100. Y50.
G1 Z-10. F1000.
La même opération peut employer des variables :
#100 = 100.
#101 = 50.
#102 = -10.
G0 X#100 Y#101
G1 Z#102 F1000.
Les valeurs peuvent maintenant être transmises, calculées et contrôlées. FANUC décrit Custom Macro comme une extension du langage de programmation avec contrôle du flux, fonctions mathématiques et logiques, variables locales et système. La présentation officielle des options CNC FANUC cite les cycles personnalisés, familles paramétriques, palpage et prévention des erreurs.
Les variables rendent le code réutilisable
#100 = 50.
#101 = #100 + 20.
#101 vaut alors 70.
| Type | Usage | Point d’attention |
|---|---|---|
| Locales | Arguments et valeurs temporaires | Appartiennent en principe au niveau d’appel actuel |
| Communes | Valeurs partagées | Plage et conservation après arrêt dépendent de la commande |
| Système | Données CNC, correcteurs, positions, alarmes | Sens et droit d’écriture dépendent de la commande/OEM |
Un calcul temporaire ne doit jamais écraser une valeur de production persistante. Une variable d’interface provenant d’une autre machine ne doit pas être copiée sans vérification.
Conditions, boucles et alarmes personnalisées
IF [#1 LT 1] THEN #3000 = 1 (INVALID HOLE COUNT)
IF [#2 LE 0] THEN #3000 = 2 (INVALID PITCH)
Dans les configurations Macro B courantes, #3000 produit une alarme utilisateur. Le comportement exact doit être vérifié dans le manuel.
#100 = 0
WHILE [#100 LT #1] DO1
(MACHINING BLOCKS)
#100 = #100 + 1
END1
Cette boucle sert aux rangées de trous, cercles de perçage, mesures et cycles répétitifs. La formation officielle FANUC Custom Macro couvre variables, G65, calculs, WHILE, IF et variables système.
Comment fonctionne un appel G65 ?
G65 P9010 X100. Y50. Z15. A8. B32. F500.
Ce bloc appelle O9010 et transmet des arguments. Dans l’affectation simple habituelle :
| Mot | Variable | Sens dans cet exemple |
|---|---|---|
A8. | #1 | nombre de trous |
B32. | #2 | entraxe en mm |
F500. | #9 | avance de perçage |
X100. | #24 | X du premier trou |
Y50. | #25 | Y de la rangée |
Z15. | #26 | profondeur positive utilisée par la macro |
FANUC définit l’affectation aux variables ; l’auteur de la macro définit le sens métier. P9010 désigne O9010 et n’est pas un argument d’usinage ordinaire.
Exemple pratique : une rangée de trous
(8 HOLES, 32 MM PITCH, START X100 Y50, DEPTH 15)
G65 P9010 X100. Y50. Z15. A8. B32. F500.
O9010 (HOLE ROW - CONCEPTUAL EXAMPLE)
IF [#1 LT 1] THEN #3000 = 1 (INVALID HOLE COUNT)
IF [#2 LE 0] THEN #3000 = 2 (INVALID PITCH)
IF [#26 LE 0] THEN #3000 = 3 (INVALID DEPTH)
#100 = FIX[#1]
#101 = 0
WHILE [#101 LT #100] DO1
G0 X[#24 + #101 * #2] Y#25
(CALL THE MACHINE'S VERIFIED DRILLING SEQUENCE HERE)
#101 = #101 + 1
END1
M99
Le mouvement de perçage réel est volontairement remplacé par un commentaire. Plans de retrait, broche, cycle, unités, plan actif, correction de longueur et mouvements sûrs doivent être définis pour la machine réelle.

Les macros FANUC comme pont entre FAO et machine
Opération Autodesk Fusion
↓
Post-processeur de la machine
↓
Appel G65 validé
↓
Routine FANUC Macro B
↓
Action propre à la machine
Fusion gère géométrie et intention de fabrication. Le post-processeur traduit l’opération vers l’interface convenue et la macro exécute la séquence stable. FANUC illustre ce principe dans 5-Axis Part-Centric Workflow, où des appels G65 activent, mesurent puis désactivent des fonctions autour de la géométrie.

Que faut-il conserver dans la FAO ?
| Géométrie de pièce | Comportement machine |
|---|---|
| Surfaces 3D et ébauche adaptative | Palpage et mesure |
| Liaisons avec contrôle de collision | Activation d’un agrégat |
| Orientation multiaxe simultanée | Choix du montage ou de la palette |
| Reprise de matière | Cycle réutilisable d’une tête spéciale |
Les trajectoires complexes appartiennent à la FAO, où elles sont calculées, visualisées et simulées. Le comportement stable de la machine peut relever d’une macro. Le post-processeur constitue le contrat entre les deux couches.
Applications pertinentes
- palpage et mise à jour des origines,
- mesure d’outil et contrôle d’usure,
- rangées et cercles de trous,
- têtes de perçage et agrégats angulaires,
- choix de montage, palette ou zone de vide,
- inspections répétées, séquences OEM et familles paramétriques simples.
L’étude de cas CNC Plus et FANUC ROBODRILL présente une application concrète en production. Un post-processeur Autodesk Fusion y associe des variables Macro B, des systèmes de coordonnées locaux G52 et des appels de sous-programmes M98 pour l’usinage de plusieurs pièces, avec la possibilité d’ignorer certaines positions du montage.
Sécurité et mise en service
- Définir chaque argument, unité, signe et plage.
- Refuser valeurs absentes, nulles, négatives ou excessives avant le mouvement.
- Établir explicitement les états modaux requis.
- Séparer calcul et mouvement pour inspecter les valeurs.
- Tester d’abord sans pièce ni effort de coupe.
- Utiliser simulation, graphique, machine lock ou dry run selon la machine.
- Faire le premier essai en bloc par bloc avec potentiomètres réduits.
- Vérifier outils, correcteurs, bridage, retrait et redémarrage.
- Versionner ensemble macro, paramètres et post-processeur.
Pourquoi la même macro peut échouer sur une autre machine
Série CNC, logiciel, options, variables, protection O9000, paramètres OEM, PMC, affectations G/M, axes et périphériques peuvent différer. Une macro validée reste spécifique tant que l’autre machine n’a pas été contrôlée. Le catalogue des fonctions FANUC rappelle aussi les dépendances au matériel, CPU, mémoire et options compatibles.

Une interface de macro maintenable
Traitez la macro comme une petite API machine : numéro stable, objectif documenté, affectation des arguments, unités, signes, valeurs par défaut et limites. Documentez les états modaux, variables lues ou modifiées et l’état final. Versionnez macro et post-processeur ensemble et conservez un test d’acceptation aux résultats connus.
G65 P9010 ... devient ainsi une interface fiable entre Autodesk Fusion, le post-processeur et la CNC.
Téléchargez le pack d'exemple FANUC Macro B
Recevez dans un seul fichier ZIP la macro documentée de cercle de perçage, un exemple d'appel G65 et le manuel PDF de quatre pages.
Conclusion
FANUC Macro B est un outil pratique pour une logique CNC réutilisable. Les variables configurent les valeurs, les conditions empêchent les opérations invalides, les boucles évitent les répétitions et G65 transmet les paramètres à une routine validée.
Chez CCSOFTCZ, nous développons des post-processeurs Autodesk Fusion sur mesure et des intégrations CNC pour FANUC et d’autres commandes industrielles. La bonne solution peut être du G-code classique, une fonction de commande, un cycle OEM ou une combinaison coordonnée du post-processeur et de Macro B. Pour des exemples liés, consultez notre cas d’automatisation FANUC FOCAS et le guide 3+2 contre usinage 5 axes simultané.

