Chapitre VII

Programmation et configuration CNC

Guide d'étude Red Seal Practice avec schémas.

Programmation et configuration CNC

Introduction au contrôle numérique par ordinateur (CNC)

La programmation CNC est l'ensemble des instructions codifiées qui commandent les mouvements d'une machine-outil à commande numérique. Pour l'examen Sceau rouge, vous devez maîtriser non seulement la syntaxe des codes, mais aussi la logique de configuration, les systèmes de coordonnées, les compensations d'outils et les cycles fixes. Ce chapitre couvre l'essentiel pour réussir les questions portant sur ce domaine, qui représente environ 15 % de l'examen du métier de machiniste.

Principes fondamentaux des machines CNC

Une machine CNC exécute un programme composé de blocs (lignes) contenant des codes G (fonctions préparatoires, géométrie) et des codes M (fonctions auxiliaires, commandes machine). Le contrôleur interprète ces codes séquentiellement, sauf si des fonctions de saut ou de répétition sont programmées.

Les trois axes principaux sont définis selon la règle de la main droite :

X : axe horizontal (souvent la longueur sur un tour, la largeur sur une fraiseuse)
Y : axe horizontal perpendiculaire à X (fraiseuse uniquement)
Z : axe vertical (aligné avec la broche principale)

Sur un tour CNC, l'axe X est radial (diamètre) et l'axe Z est longitudinal. Les axes supplémentaires (B, C, U, V, W) sont des axes rotatifs ou secondaires.

Systèmes de coordonnées et points de référence

SystèmeDescriptionUsage typique
**Machine (M)**Point d'origine fixe, défini par le fabricantRéférence absolue, jamais modifié
**Travail (W)**Origine pièce, défini par l'opérateurTous les déplacements programmés
**Pièce (P)**Système local à la pièceSous-programmes, répétitions

Le point de référence machine (souvent noté Z0 ou X0 machine) est détecté par des interrupteurs de fin de course ou des encodeurs. La procédure de prise d'origine (homing) doit être effectuée au démarrage pour établir la position absolue.

Les décalages d'origine (offsets) sont stockés dans les registres de la machine (G54 à G59). Chaque registre contient les coordonnées de l'origine pièce par rapport à l'origine machine. Le code G54 est le décalage par défaut ; G55 à G59 sont des décalages supplémentaires pour des montages multiples.

Codes G : fonctions préparatoires

Codes G de base (groupe 01)

CodeFonctionGroupeModal
G00Positionnement rapide01Oui
G01Interpolation linéaire01Oui
G02Interpolation circulaire horaire01Oui
G03Interpolation circulaire antihoraire01Oui

Ces codes sont modaux : une fois programmés, ils restent actifs jusqu'à ce qu'un autre code du même groupe soit appelé. Par exemple, après un G01, tous les blocs suivants avec des coordonnées X, Y, Z effectueront une interpolation linéaire à l'avance programmée (F).

G00 déplace l'outil à la vitesse maximale de la machine, sans usinage. La trajectoire n'est pas nécessairement une ligne droite : chaque axe se déplace à sa propre vitesse maximale, ce qui peut produire des trajectoires diagonales. Trap classique : un G00 avec une avance F programmée n'utilise pas cette avance ; la vitesse est celle du rapide machine.

G01 exige une avance (F) en unités par minute (mm/min ou po/min). Sans F programmée, la machine utilise la dernière F mémorisée ou signale une erreur.

G02/G03 nécessitent la définition du rayon (R) ou des paramètres I, J, K (coordonnées du centre de l'arc par rapport au point de départ). La syntaxe est :

G02 X... Y... R... F...

G02 X... Y... I... J... F...

Pour un arc de plus de 180°, le rayon R doit être négatif (R-). Un arc complet (360°) ne peut pas être programmé avec R ; il faut utiliser I, J, K.

Codes G de plan et de compensation

CodeFonctionGroupe
G17Plan XY02
G18Plan XZ02
G19Plan YZ02
G40Annulation compensation rayon07
G41Compensation rayon à gauche07
G42Compensation rayon à droite07
G43Compensation longueur positive08
G44Compensation longueur négative08
G49Annulation compensation longueur08

La compensation de rayon d'outil (G41/G42) permet de programmer le profil théorique de la pièce sans tenir compte du rayon réel de l'outil. Le contrôleur décale l'outil perpendiculairement au profil. La direction est déterminée en regardant dans le sens de l'avance : G41 = outil à gauche du profil, G42 = outil à droite.

Règle importante : la compensation doit être activée sur un bloc de déplacement (G00 ou G01), jamais sur un bloc d'arc. De même, l'annulation (G40) doit se faire sur un bloc linéaire. Les transitions d'entrée et de sortie utilisent des arcs d'engagement (G02/G03) ou des lignes droites, selon les paramètres machine.

La compensation de longueur (G43/G44) utilise le registre H correspondant au numéro d'outil (H01 pour T01, etc.). La valeur du registre est la longueur de l'outil mesurée depuis le point de référence. G43 ajoute la valeur, G44 la soustrait. Le G49 annule la compensation.

Cycles fixes (groupe 09)

Les cycles fixes simplifient les opérations répétitives (perçage, taraudage, alésage). Ils sont définis par un code G et des paramètres :

CodeCycleParamètres clés
G81Perçage simpleX, Y, Z, R, F
G82Perçage avec temporisationX, Y, Z, R, P, F
G83Perçage par à-coups (pékage)X, Y, Z, R, Q, F
G84Taraudage rigideX, Y, Z, R, F (pas = F/Vitesse)
G85Alésage avec avance en retraitX, Y, Z, R, F
G86Alésage avec arrêt brocheX, Y, Z, R, F
G80Annulation cycle fixe

Le paramètre R est le plan de retrait (position Z où l'outil se déplace en rapide), Z est la profondeur finale, Q est la profondeur de chaque passe (G83), P est la temporisation en millisecondes (G82).

Exemple de perçage :

G90 G54 G00 X50. Y25. S1200 M03

G43 H01 Z10. M08

G99 G81 X50. Y25. Z-20. R2. F150

X75. Y40. (répète le cycle à la nouvelle position)

G80 (annulation)

Le G98 (retour au plan initial) et le G99 (retour au plan R) contrôlent la position de retrait entre les trous. G98 est nécessaire si des obstacles (brides, butées) se trouvent au-dessus du plan R.

Autres codes G importants

CodeFonctionRemarque
G20/G21Pouces/millimètresG21 = mm (défaut au Canada)
G28Retour au point de référence machineSouvent via un point intermédiaire
G90/G91Absolu/incrémentalG90 = absolu (défaut)
G94/G95Avance par minute/tourG95 = mm/tour (tournage)
G96/G97Vitesse de coupe constante/tours constantsG96 = m/min, G97 = tr/min
G50Limitation de vitesse maximale (tournage)Utilisé avec G96

Codes M : fonctions auxiliaires

Les codes M commandent les fonctions logiques de la machine. Ils sont exécutés une seule fois (non modaux), sauf indication contraire.

CodeFonctionType
M00Arrêt programméNon modal
M01Arrêt optionnel (bouton)Non modal
M02Fin de programmeNon modal
M03Broche en marche, sens horaireModal
M04Broche en marche, sens antihoraireModal
M05Arrêt brocheNon modal
M06Changement d'outilNon modal
M08Arrosage activéModal
M09Arrosage désactivéNon modal
M30Fin de programme avec retour au débutNon modal
M98Appel de sous-programmeNon modal
M99Retour de sous-programmeNon modal

M00 arrête la machine pour une intervention manuelle (contrôle, changement de pièce). M01 est identique, mais seulement si le bouton d'arrêt optionnel est activé sur le panneau. M02 termine le programme sans rembobiner ; M30 termine et rembobine au début.

M06 provoque un changement d'outil. L'outil doit être appelé avec T (ex. T03) avant ou dans le même bloc. La séquence typique est :

T03 M06 (changement vers l'outil 3)

G43 H03 Z10. (compensation longueur avec registre H03)

Programmation en tournage

Systèmes de coordonnées en tournage

Sur un tour CNC, les axes sont :

X : radial, programmé en diamètre (valeur double du rayon)
Z : longitudinal, positif vers la poupée mobile

L'origine pièce est généralement placée à la face avant de la pièce (Z0) et sur l'axe de rotation (X0). Les cotes radiales sont programmées en diamètre, ce qui correspond aux cotes du dessin technique.

Cycles de tournage

CodeCycleDescription
G71Ébauche longitudinaleMulti-passes, suit le profil
G72Ébauche transversaleÉbauche face
G73Ébauche par copiageSuit le profil avec retraits
G70FinitionRepasse le profil avec les avances de finition
G74Gorge axialePékage sur Z
G75Gorge radialePékage sur X
G76Filetage multi-passesFiletage automatique
G92Filetage simpleFiletage en un bloc

G71 est le cycle le plus utilisé. La syntaxe typique :

G71 U... R...

G71 P... Q... U... W... F...

U : profondeur de passe (rayon)
R : retrait après chaque passe
P : numéro du premier bloc du profil
Q : numéro du dernier bloc du profil
U : surépaisseur en X (diamètre)
W : surépaisseur en Z

Le profil est défini entre les blocs P et Q, avec des mouvements G00/G01/G02/G03. Les blocs du profil ne doivent pas contenir de F (l'avance est définie dans le cycle).

G76 pour le filetage :

G76 P... Q... R...

G76 X... Z... P... Q... F...

P : nombre de passes finition, angle du filet (60°), type de finition
Q : profondeur minimale de passe
R : surépaisseur de finition
X : diamètre final du filet
Z : position finale
P : hauteur du filet (rayon × 1000)
Q : profondeur de la première passe
F : pas du filet

Vitesse de coupe constante (G96)

En tournage, le G96 maintient une vitesse de coupe constante (m/min) en ajustant la vitesse de broche selon le diamètre. La formule est :

V = π × D × N / 1000

où V = vitesse de coupe (m/min), D = diamètre (mm), N = vitesse de broche (tr/min).

Le G50 limite la vitesse maximale de broche pour éviter les vitesses excessives aux petits diamètres. Exemple :

G96 S180 M03 (vitesse de coupe 180 m/min)

G50 S2500 (vitesse maximale 2500 tr/min)

Programmation en fraisage

Cycles de fraisage et interpolation hélicoïdale

En fraisage, les cycles fixes sont identiques à ceux du perçage, mais on utilise aussi :

G12/G13 : interpolation circulaire avec fraisage de poche (certains contrôleurs)
G68/G69 : rotation du système de coordonnées
G51/G50 : mise à l'échelle (facteur d'échelle)

L'interpolation hélicoïdale (G02/G03 avec un mouvement Z simultané) est utilisée pour le fraisage de trous ou de filets. La syntaxe :

G02 X... Y... Z... I... J... F...

Le pas de l'hélice est déterminé par le rapport entre le déplacement Z et le nombre de tours.

Sous-programmes et répétitions

Les sous-programmes (M98/M99) permettent de répéter des séquences identiques. La syntaxe :

M98 P1234 L5 (appelle le sous-programme 1234, 5 fois)

Le sous-programme se termine par M99. Les sous-programmes peuvent être imbriqués (jusqu'à 4 niveaux selon le contrôleur).

Configuration et mise en œuvre

Procédure de mise en œuvre (setup)

101.Inspection de la machine : vérifier les niveaux d'huile, l'air comprimé, l'état des broches et des glissières.
102.Prise d'origine machine : effectuer le homing de tous les axes.
103.Montage de la pièce : installer le mandrin, l'étau ou le montage spécialisé. Vérifier le parallélisme et l'équerrage avec un comparateur.
104.Montage des outils : installer les outils dans le magasin ou la tourelle. Mesurer chaque outil (longueur et rayon) et entrer les valeurs dans les registres H et D.
105.Établissement de l'origine pièce : utiliser un palpeur, un comparateur ou une prise d'essai pour définir G54.
106.Essai à vide : exécuter le programme avec l'avance réduite (bouton de surcharge d'avance à 10-25 %) et sans pièce ou avec une pièce factice.
107.Usinage d'essai : usiner la première pièce avec des surépaisseurs, vérifier les cotes et ajuster les compensations.

Mesure des outils

La longueur d'outil est mesurée du point de référence (face de la broche ou tourelle) jusqu'à la pointe de l'outil. Cette valeur est entrée dans le registre H correspondant. Le rayon d'outil (fraise) ou le rayon de pointe (outil de tour) est entré dans le registre D pour la compensation G41/G42.

Méthodes de mesure :

Pré-réglage hors machine : utilise un pré-régleur optique ou à contact
Mesure sur machine : utilise un palpeur de mesure ou une prise d'essai sur une surface connue
Mesure par coupe d'essai : usiner une surface et mesurer avec un micromètre, puis calculer le décalage

Vérification de programme

La simulation graphique sur le contrôleur ou sur un logiciel externe (CAM) permet de détecter les erreurs de trajectoire, les collisions et les dépassements de course. La lecture du programme par un second machiniste est une pratique recommandée.

Calculs de programmation

Calcul des vitesses et avances

Vitesse de broche :

N = (V × 1000) / (π × D)

où N = tr/min, V = m/min, D = mm.

Avance :

F = f × N (fraisage, f = avance par dent × nombre de dents)

F = f × N (tournage, f = avance par tour)

Exemple : Fraise de 12 mm, 4 dents, V = 80 m/min, avance par dent = 0,05 mm/dent.

N = (80 × 1000) / (π × 12) = 2122 tr/min

F = 0,05 × 4 × 2122 = 424 mm/min

Calcul des coordonnées d'arc

Pour un arc de rayon R reliant deux points, le centre peut être calculé par :

I = X_centre - X_départ

J = Y_centre - Y_départ

K = Z_centre - Z_départ

Si le rayon R est utilisé, la valeur doit être positive pour un arc < 180° et négative pour un arc > 180°.

Calcul des surépaisseurs et compensations

La compensation de rayon décale l'outil d'une distance égale au rayon de l'outil (registre D) par rapport au profil programmé. Si le rayon réel diffère du rayon nominal, l'ajustement se fait en modifiant la valeur du registre D.

Exemple : Fraise de 10 mm (rayon 5 mm) usine un profil. Si la pièce est trop grande de 0,1 mm, augmenter le registre D de 0,05 mm (car la compensation agit sur le rayon, pas le diamètre).

Normes canadiennes et sécurité

Normes applicables

La CSA Z434 (Machines-outils à commande numérique) est la norme canadienne principale pour la conception, l'installation et l'utilisation sécuritaire des machines CNC. Elle couvre les exigences de sécurité électrique, mécanique et fonctionnelle.

Le Code canadien de l'électricité, Chapitre V (C22.1) s'applique aux installations électriques des machines-outils. La règle 8-200 concerne les exigences de mise à la terre des équipements.

La Loi sur les produits dangereux et le SIMDUT (Système d'information sur les matières dangereuses utilisées au travail) s'appliquent aux fluides de coupe et aux produits chimiques utilisés en usinage.

Sécurité en programmation CNC

Vérifier que le mode d'édition est désactivé avant l'exécution
Utiliser le bouton d'arrêt d'urgence en cas de comportement anormal
Ne jamais ouvrir les portes de protection pendant le cycle
Vérifier les fins de course et les limites de logiciel avant le premier essai
S'assurer que le programme est sauvegardé avant toute modification
Utiliser le mode pas à pas (single block) pour la première exécution

Pièges à éviter

149.Confondre G00 et G01 : G00 ne coupe pas et ignore l'avance F. Un G00 avec une profondeur de coupe provoque une casse d'outil.
150.Oublier le G43 : sans compensation de longueur, l'outil peut entrer en collision avec la pièce ou le montage.
151.Programmer un arc > 180° avec R positif : le contrôleur génère une erreur ou un arc incorrect. Utiliser R négatif ou I, J, K.
152.Oublier le G80 après un cycle fixe : le cycle reste actif et s'applique aux blocs suivants, provoquant des perçages involontaires.
153.Confondre les registres H et D : H est pour la longueur, D pour le rayon. Une inversion provoque des décalages erronés.
154.Utiliser G96 sans G50 : la vitesse de broche peut dépasser la limite mécanique aux petits diamètres.
155.Programmer en pouces (G20) par erreur : vérifier le système d'unités avant l'exécution. Au Canada, le système métrique (G21) est la norme par défaut.
156.Oublier le M30 : sans fin de programme, le contrôleur peut exécuter des blocs parasites ou boucler indéfiniment.
157.Ne pas vérifier le plan de retrait (R) : un plan R trop bas provoque des collisions avec les brides ou les obstacles.
158.Modifier un programme en cours d'exécution : les modifications doivent être faites en mode édition, puis rechargées.

Conseils pour l'examen

Mémorisez les groupes de codes : les questions portent souvent sur la modalité des codes (ex. : "Quel code annule G01 ?" → G00 ou G02/G03, car ils sont du même groupe 01).
Maîtrisez les calculs de vitesse : les questions de calcul sont fréquentes. Entraînez-vous avec les formules N = (V × 1000) / (π × D) et F = f × N.
Comprenez la logique des cycles fixes : sachez identifier les paramètres Q, R, P et leurs unités (Q en mm, P en ms).
Connaissez les différences entre tournage et fraisage : en tournage, X est en diamètre ; en fraisage, X et Y sont des coordonnées cartésiennes.
Lisez les questions attentivement : les questions à choix multiples comportent souvent des pièges de formulation (ex. : "Lequel n'est PAS un code modal ?").

Résumé

La programmation CNC utilise des codes G (géométrie) et M (fonctions machine), organisés en groupes modaux.
Les systèmes de coordonnées comprennent l'origine machine (M), l'origine travail (W/G54-G59) et l'origine pièce (P).
Les compensations d'outil (G41/G42 pour le rayon, G43/G44 pour la longueur) sont essentielles pour un usinage précis.
Les cycles fixes (G81-G89) simplifient le perçage, le taraudage et l'alésage ; ils doivent être annulés avec G80.
En tournage, G71/G70 pour l'ébauche/finition, G76 pour le filetage, et G96/G50 pour la vitesse de coupe constante.
La configuration comprend la prise d'origine, le montage des outils, la mesure des longueurs/rayons et l'établissement de G54.
Les calculs de vitesse et d'avance sont fondamentaux : N = (V × 1000) / (π × D), F = f × N.
La sécurité est régie par la CSA Z434 et le Code canadien de l'électricité, Chapitre V (règle 8-200).
Les erreurs courantes incluent l'oubli de G43, la confusion G00/G01, les arcs > 180° avec R positif, et l'omission de G80.

La maîtrise de la programmation CNC exige une compréhension intégrée des codes, des calculs et des procédures de configuration. Pour l'examen Sceau rouge, concentrez-vous sur les principes généraux et les applications pratiques, plutôt que sur les particularités d'un contrôleur spécifique (Fanuc, Siemens, Haas). Les questions portent sur les concepts universels, applicables à toutes les machines CNC conformes aux normes canadiennes.

Prêt à tester ce chapitre ?

Entraînez-vous avec des questions conformes aux examens et des simulations chronométrées.

Commencer à pratiquer gratuitement