Exemple d'un programme paramètré simple de fraisage CNC FANUC
Soit à réaliser la pièce suivante :

Pour la réalisation de cette pièce, nous devons faire la gamme d'usinage.
Celle ci est très simple :
P | SP | Op | Désignation | Outil/Machine | CTRL | Vc |
100 | 110 | 111 | Control du débit fourni par le client | | Pied à coulisse | |
200 | | | Fraisage CN | | | |
| 210 | | Usinage complet | ROSILIO C450II | | |
| | 211 | Perçage D20 | Foret D20 | Pied à coulisse | 35 m/mn |
| | 212 | Usinage diamètre B | Fraise à plaquette D20 | Pied à coulisse | 180 m/mn |
| | 213 | Pointage des trous M12 | Centreur 14/90° | Réglet | 35 m/mn |
| | 214 | Perçage D10.25 | Foret D10.3 | Pied à coulisse | 35 m/mn |
| | 215 | Taraudage M12 | Taraud M12 | Tampon fileté double M12 | 8 m/mn |
300 | 310 | 311 | Contrôle | | | |
400 | 410 | 411 | Stockage/livraison | | | |
Une fois la gamme terminée, nous allons nous pencher sur le contrat de phase de la sous-phase 210. Celui ci fera apparaître la pièce en l'état, l'isostatisme, le travail à faire
et l'origine du programme.

A partir de maintenant, il ne reste plus qu'à passer à l'écriture du programme proprement dit en respectant la structure expliquée dans la partie "Introduction".
N'oubliez pas de toujours bien commenter vos programmes. Quand on les reprend plus tard, ça évite de se demander à quoi ils servent.
%
:1234(PLAQUES PARAMETREES
#500 = 1 (NUMERO PLAQUE A FAIRE)
GOTO#500 (ICI ON VA A LA PLAQUE EN REFERENCE)
N1(PLAQUE NUM 1)
#501 = 250(TAILLE PLAQUE A)
#502 = 130(ALESAGE B)
#503 = 170(DIAMETRE PERCAGE C)
#510 = 12(EPAISSEUR PLAQUE)
GOTO100 (APRES AVOIR CHARGER LES VALEURS ON VA A L'USINAGE)
N2(PLAQUE NUM 2)
#501 = 250(TAILLE PLAQUE A)
#502 = 150(ALESAGE B)
#503 = 190(DIAMETRE PERCAGE C)
#510 = 12(EPAISSEUR PLAQUE)
GOTO100 (APRES AVOIR CHARGER LES VALEURS ON VA A L'USINAGE)
N3(PLAQUE NUM 3)
#501 = 280(TAILLE PLAQUE A)
#502 = 200(ALESAGE B)
#503 = 250(DIAMETRE PERCAGE C)
#510 = 14(EPAISSEUR PLAQUE)
GOTO100 (APRES AVOIR CHARGER LES VALEURS ON VA A L'USINAGE)
N4(PLAQUE NUM 4)
#501 = 280(TAILLE PLAQUE A)
#502 = 210(ALESAGE B)
#503 = 235(DIAMETRE PERCAGE C)
#510 = 12(EPAISSEUR PLAQUE)
GOTO100 (APRES AVOIR CHARGER LES VALEURS ON VA A L'USINAGE)
N5(PLAQUE NUM 5)
#501 = 330(TAILLE PLAQUE A)
#502 = 210(ALESAGE B)
#503 = 235(DIAMETRE PERCAGE C)
#510 = 14(EPAISSEUR PLAQUE)
GOTO100 (APRES AVOIR CHARGER LES VALEURS ON VA A L'USINAGE)
N6(PLAQUE NUM 6)
#501 = 330(TAILLE PLAQUE A)
#502 = 250(ALESAGE B)
#503 = 298(DIAMETRE PERCAGE C)
#510 = 14(EPAISSEUR PLAQUE)
GOTO100 (APRES AVOIR CHARGER LES VALEURS ON VA A L'USINAGE)
N100
G91 G28 Z0
M6 T1 (FORET DIA 20)
(PERCAGE POUR PASSAGE FRAISE A PLAQUETTE)
G52 X[#501/2] Y-[#501/2] Z#510 (DECALAGE ORIGINE MILIEU PIECE DESSUS)
G0 G90 G54 X[[#502/2]-12] Y0 M3 S560
G43 H1 Z2. M8
G73 Z-20. Q2 F50
G80 Z50. M9
N200 M6 T2 (FRAISE A PLAQUETTE D20)
(CONTOURNAGE DU DIAMETRE B)
G52 X[#501/2] Y-[#501/2] Z#510 (DECALAGE ORIGINE MILIEU PIECE DESSUS)
G0 G90 G54 X[[#502/2]-12] Y0 M3 S2870
G43 H2 Z2. M8
G1 Z-2. F250 (PROFONDEUR DE PASSE)
G41 X[#502/2] D22 F525
G3 I-[#502/2]
G1 G40 X[[#502/2]-12.]
Z-4. (PROFONDEUR DE PASSE)
G41 X[#502/2] F525
G3 I-[#502/2]
G1 G40 X[[#502/2]-12.]
Z-6. (PROFONDEUR DE PASSE)
G41 X[#502/2] F525
G3 I-[#502/2]
G1 G40 X[[#502/2]-12.]
Z-8. (PROFONDEUR DE PASSE)
G41 X[#502/2] F525
G3 I-[#502/2]
G1 G40 X[[#502/2]-12.]
Z-10. (PROFONDEUR DE PASSE)
G41 X[#502/2] F525
G3 I-[#502/2]
G1 G40 X[[#502/2]-12.]
Z-12. (PROFONDEUR DE PASSE)
G41 X[#502/2] F525
G3 I-[#502/2]
G1 G40 X[[#502/2]-12.]
Z-15. (PROFONDEUR DE PASSE)
G41 X[#502/2] F525
G3 I-[#502/2]
G1 G40 X[[#502/2]-12.]
G0 Z50 M9
G91 G28 Z0
N300 M6 T3 (CENTREUR 14/90)
(POINTAGE DES TROUS M12)
G52 X[#501/2] Y-[#501/2] Z#510 (DECALAGE ORIGINE MILIEU PIECE DESSUS)
G0 G90 G54 X0 Y0 M3 S1100
G43 H3 Z50M8
G98 G82 Z-5 P50 F120 R2 K0 (K0 -> LE PERCAGE ATTENDS UNE COORDONNEE)
G65 P4321 X0 Y0 D#503 K4 A45 (APPEL DE MACRO CLIENT DE CALCUL DES POINTS)
(MACRO CLIENT = O4321)
(DIAMETRE DE PERCAGE = #503)
(NOMBRE DE TROUS = 4)
(ANGLE DE DEPART = 45)
G80 Z50 (ANNULATION DU CYCLE)
(UTILISATION DU CENTREUR POUR EBAVURAGE DIAM B)
G0 X[[#502/2]-5] Y0
Z2.
G1 Z-3. F240
G41 X[#502/2] D23
G3 I-[#502/2]
G1 G40 X[[#502/2]-5]
G0 Z50.
G91 G28 Z0
N400 M6 T4 (FORET D10.3)
G52 X[#501/2] Y-[#501/2] Z#510 (DECALAGE ORIGINE MILIEU PIECE DESSUS)
G0 G90 G54 X0 Y0 M3 S1100
G43 H4 Z50 M8
G98 G73 Z-17 Q2.5 F150 R2 K0 (K0 -> LE PERCAGE ATTENDS UNE COORDONNEE)
G65 P4321 X0 Y0 D#503 K4 A45 (APPEL DE MACRO CLIENT DE CALCUL DES POINTS)
(MACRO CLIENT = O4321)
(DIAMETRE DE PERCAGE = #503)
(NOMBRE DE TROUS = 4)
(ANGLE DE DEPART = 45)
G80 Z50 M9 (ANNULATION DU CYCLE)
G91 G28 Z0
N500 M6 T5 (TARAUD M12)
G52 X[#501/2] Y-[#501/2] Z#510 (DECALAGE ORIGINE MILIEU PIECE DESSUS)
G0 G90 G54 X0 Y0
G43 H5 Z50
M29 S200
G84 Z-18 R2 F350 K0 (K0 -> LE PERCAGE ATTENDS UNE COORDONNEE)
G65 P4321 X0 Y0 D#503 K4 A45 (APPEL DE MACRO CLIENT DE CALCUL DES POINTS)
(MACRO CLIENT = O4321)
(DIAMETRE DE PERCAGE = #503)
(NOMBRE DE TROUS = 4)
(ANGLE DE DEPART = 45)
G80 Z50. M9 (ANNULATION DU CYCLE)
G91 G28 Y0 Z0
M30 (FIN DE PROGRAMME)
:4321(MACRO CLIENT PERCAGE DE TROUS)
#100 = #7 / 2(RAYON POS PERCAGE)
#101 = 360 / #6(INCREMENT ANGULAIRE)
#102 = #1(ANGLE DE DEPART)
#103 = 1(COMPTEUR DE BOUCLE)
WHILE[#103 LE #6] DO1 (TANT QUE PLUS PETIT QUE LE NOMBRE DE TROUS)
#110 = #24 + [COS[#102] * #100] (POSITION X)
#111 = #25 + [SIN[#102] * #100] (POSITION Y)
X#110 Y#111 (ON VA A LA POSITION)
#102 = #102 + #101 (ON INCREMENTE L'ANGLE)
#103 = #103 + 1 (ON INCREMENTE LE COMPTEUR)
END1
M99
%
Version imprimable.