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 :
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ème | Description | Usage typique |
|---|---|---|
| **Machine (M)** | Point d'origine fixe, défini par le fabricant | Référence absolue, jamais modifié |
| **Travail (W)** | Origine pièce, défini par l'opérateur | Tous les déplacements programmés |
| **Pièce (P)** | Système local à la pièce | Sous-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)
| Code | Fonction | Groupe | Modal |
|---|---|---|---|
| G00 | Positionnement rapide | 01 | Oui |
| G01 | Interpolation linéaire | 01 | Oui |
| G02 | Interpolation circulaire horaire | 01 | Oui |
| G03 | Interpolation circulaire antihoraire | 01 | Oui |
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
| Code | Fonction | Groupe |
|---|---|---|
| G17 | Plan XY | 02 |
| G18 | Plan XZ | 02 |
| G19 | Plan YZ | 02 |
| G40 | Annulation compensation rayon | 07 |
| G41 | Compensation rayon à gauche | 07 |
| G42 | Compensation rayon à droite | 07 |
| G43 | Compensation longueur positive | 08 |
| G44 | Compensation longueur négative | 08 |
| G49 | Annulation compensation longueur | 08 |
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 :
| Code | Cycle | Paramètres clés |
|---|---|---|
| G81 | Perçage simple | X, Y, Z, R, F |
| G82 | Perçage avec temporisation | X, Y, Z, R, P, F |
| G83 | Perçage par à-coups (pékage) | X, Y, Z, R, Q, F |
| G84 | Taraudage rigide | X, Y, Z, R, F (pas = F/Vitesse) |
| G85 | Alésage avec avance en retrait | X, Y, Z, R, F |
| G86 | Alésage avec arrêt broche | X, Y, Z, R, F |
| G80 | Annulation 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
| Code | Fonction | Remarque |
|---|---|---|
| G20/G21 | Pouces/millimètres | G21 = mm (défaut au Canada) |
| G28 | Retour au point de référence machine | Souvent via un point intermédiaire |
| G90/G91 | Absolu/incrémental | G90 = absolu (défaut) |
| G94/G95 | Avance par minute/tour | G95 = mm/tour (tournage) |
| G96/G97 | Vitesse de coupe constante/tours constants | G96 = m/min, G97 = tr/min |
| G50 | Limitation 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.
| Code | Fonction | Type |
|---|---|---|
| M00 | Arrêt programmé | Non modal |
| M01 | Arrêt optionnel (bouton) | Non modal |
| M02 | Fin de programme | Non modal |
| M03 | Broche en marche, sens horaire | Modal |
| M04 | Broche en marche, sens antihoraire | Modal |
| M05 | Arrêt broche | Non modal |
| M06 | Changement d'outil | Non modal |
| M08 | Arrosage activé | Modal |
| M09 | Arrosage désactivé | Non modal |
| M30 | Fin de programme avec retour au début | Non modal |
| M98 | Appel de sous-programme | Non modal |
| M99 | Retour de sous-programme | Non 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 :
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
| Code | Cycle | Description |
|---|---|---|
| G71 | Ébauche longitudinale | Multi-passes, suit le profil |
| G72 | Ébauche transversale | Ébauche face |
| G73 | Ébauche par copiage | Suit le profil avec retraits |
| G70 | Finition | Repasse le profil avec les avances de finition |
| G74 | Gorge axiale | Pékage sur Z |
| G75 | Gorge radiale | Pékage sur X |
| G76 | Filetage multi-passes | Filetage automatique |
| G92 | Filetage simple | Filetage en un bloc |
G71 est le cycle le plus utilisé. La syntaxe typique :
G71 U... R...
G71 P... Q... U... W... F...
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...
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 :
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)
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 :
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
Pièges à éviter
Conseils pour l'examen
Résumé
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