Macros Fanuc B — variables, conditions et boucles
Les macros Fanuc Custom B permettent de programmer des cycles utilisateurs, des boucles, des conditions et de la mesure en cours. Ce guide couvre les variables système, les fonctions arithmétiques et 3 exemples concrets d'application.
Types de variables
| Plage | Type | Persistance | Utilisation | Exemple |
|---|---|---|---|---|
| #1–#33 | Locales | Effacées fin appel macro | Arguments transmis par G65 (A=#1, B=#2, D=#7…) | #1 = valeur arg. A |
| #100–#199 | Communes | Jusqu'au reset/M30 | Variables de calcul dans programme principal | #100 = [#1 * 2] |
| #500–#599 | Persistantes | Permanentes (SRAM) | Paramètres atelier, offsets correcteurs outils | #500 = décalage zéro pièce |
| #1000–#1999 | Système E/S | Temps réel | Lecture entrées/sorties numériques, capteurs | #1000 = état entrée DI[0] |
| #2001–#2999 | Correcteurs outil | Permanentes | Lire/écrire correcteurs H et D depuis programme | #2001 = correction H1 longueur |
| #5001–#5999 | Positions machine | Temps réel | Position axe en cours, positions SKIP G31 | #5001 = pos. X actuelle |
Fonctions arithmétiques
| Fonction | Description | Exemple |
|---|---|---|
| ABS[#x] | Valeur absolue | #100 = ABS[#1] |
| INT[#x] | Partie entière (troncature vers zéro) | #100 = INT[3.7] → 3 |
| ROUND[#x] | Arrondi au plus proche | #100 = ROUND[3.5] → 4 |
| SQRT[#x] | Racine carrée | #100 = SQRT[4] → 2.0 |
| SIN[#x] / COS[#x] / TAN[#x] | Trigonométrie (degrés) | #100 = SIN[30] → 0.5 |
| ATAN[#y]/[#x] | Arc tangente (résultat 0–360°) | #100 = ATAN[1.0]/[1.0] → 45 |
| LN[#x] / EXP[#x] | Logarithme naturel / exponentielle | #100 = EXP[1] → 2.718 |
| #0 (null) | Variable non définie — génère erreur si utilisée sans initialisation | IF [#1 EQ #0] THEN ... |
Structures de contrôle
(Condition simple — IF/THEN)
IF [#1 GT 50.0] THEN #100 = 1
IF [#2 EQ #0] GOTO 999 (variable non définie)
(Boucle WHILE — itérations)
WHILE [#100 LT 10] DO1
G01 X[#100 * 5] F200
#100 = #100 + 1
END1
(Opérateurs de comparaison)
EQ = égal | NE = différent | GT = > | GE = >=
LT = < | LE = <= | AND / OR / XOR (logique)
Les macros couplées aux coordonnées polaires G15/G16 sont particulièrement efficaces pour générer dynamiquement des motifs circulaires (perçage en couronne, fraisage de bridages annulaires, gravure radiale) sans calculer chaque position cartésienne. Pour la syntaxe G15/G16 et les exemples paramétrés, voir coordonnées polaires G15/G16 en programmation CNC.
3 exemples concrets
Mémo Atelier CNC — Paramètres de coupe par matière
Vc, fz, Ra pour 10 matières (acier, inox, alu, titane, Inconel...) + 7 formules essentielles + checklist 16 points. 2 pages, format A4, à imprimer et garder près de la machine.
Aucun spam. Désabonnement en 1 clic. Données utilisées uniquement pour l'envoi de ressources CNCYRON, conformément à notre politique de confidentialité.
📖 Voir aussi : Sous-programmes M98/M99 — guide complet · Référence codes G et M
Sources et références
- Fanuc Series 30i/31i/32i Operator’s Manual (Macro B) — Référence officielle macros — variables système, IF/WHILE/DO.
- Fanuc Custom Macro B Programming Manual — Variables #1-#999, fonctions arithmétiques, contrôle de flux.
- ISO 6983-1:2009 — Cadre normatif programmation CN — extensions macros tolérées.
- Sandvik Coromant — CoroPlus Programming — automation use cases.
- Renishaw — Probing macros for in-machine measurement (cycles O98xx).
- Practical Machinist Forum — Communauté de référence pour macros Fanuc avancées.
Valider vos programmes CNC
Calculateurs CNC + guides programmation G-code, Fanuc, Siemens. Vérifier vos paramètres avant de lancer la broche.