Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Maîtriser la programmation CNC : langage, structure et codes G/M

OBJECTIFS

À la fin de cette unité, vous serez capable de :

Les programmes CNC listent les instructions dans l'ordre d'exécution. Ils se lisent comme un livre : gauche à droite, haut en bas. Chaque phrase = une ligne séparée = un Bloc. Les blocs suivent une séquence spécifique favorisant sécurité, prévisibilité, lisibilité → importante d'adhérer à une structure standard.

Ordre des blocs :

Ce ci-dessus = programme le plus simple (1 outil, 1 opération). Programmes multi-outils répètent étapes 2-9 pour chaque outil.

Tableaux 3 et 4 (section Codes G & M) montrent les codes G et M les plus courants à mémoriser si possible.

Comme tout langage, le G-code a des règles. Exemple : certains codes sont modaux (restent actifs jusqu'à annulation/changement). Certains ont des sens différents selon contexte. Ces règles sont couvertes ici, mais pas besoin d'apprendre toutes les nuances : le Post-Processeur CAO/FAO formate et écrit correctement le programme CNC.

FORMAT DE PROGRAMME

Le programme du Tableau 1 usine un contour carré et perce un trou.

Bloc Description But
%
O1234
(T1 0.25 END MILL)
G17 G20 G40 G49 G80 G90
Début programme.
Numéro programme (Nom).
Description outil pour opérateur.
Bloc sécurité pour mode sûr.
Début Programme
T1 M6
S9200 M3
Charger Outil #1.
Vitesse broche 9200 tr/min, sens horaire.
Changement Outil
G54
M8
G00 X-0.025 Y-0.275
G43 Z1. H1
Z0.1
G01 Z-0.1 F18.
Utiliser Décalage Dispositif #1.
Réfrigérant ON.
Rapide au-dessus pièce.
Rapide plan sécurité, TLO #1.
Rapide plan avance.
Linéaire à profondeur coupe à 18 IPM.
Positionnement
G41 Y0.1 D1 F36.
Y2.025
X2.025
Y-0.025
X-0.025
G40 X-0.4
G00 Z1.
CDC Gauche, entrée ligne, Décalage Dia #1, 36 IPM.
Déplacement linéaire.
Déplacement linéaire.
Déplacement linéaire.
Déplacement linéaire.
CDC OFF avec sortie.
Rapide plan sécurité.
Usinage Contour
M5
M9
(T2 0.25 DRILL)
T2 M6
S3820 M3
Broche OFF.
Réfrigérant OFF.
Description outil opérateur.
Charger Outil #2.
Vitesse 3820 tr/min, horaire.
Changement Outil
M8
X1. Y1.
G43 Z1. H2
Z0.25
Réfrigérant ON.
Rapide au-dessus trou.
Rapide plan sécurité, TLO #2.
Rapide plan avance.
Positionnement
G98 G81 Z-0.325 R0.1 F12.
G80
Z1.
Cycle perçage (canned), Prof Z-.325, F12.
Annuler cycle perçage.
Rapide plan sécurité.
Perçage Trou
M5
M9
G91 G28 Z0
G91 G28 X0 Y0
G90
M30
%
Broche OFF.
Réfrigérant OFF.
Retour Home machine en Z.
Retour Home machine en XY.
Reset mode positionnement absolu (sécurité).
Reset programme au début.
Fin Programme.
Fin Programme

CODES D'ADRESSE PAR LETTRE (LETTER ADDRESS COMMANDS)

Le bloc de commande contrôle la machine via des commandes d'adresse par lettre. Certaines sont réutilisées, leur sens change selon le G-code du même bloc.

Codes soit modaux (restent actifs jusqu'à annulation/changement), soit non-modaux (actifs seulement dans le bloc courant). Beaucoup d'adresses sont logiques (T=outil, S=broche, F=avance, etc.).

Tableau 2 : Codes d'adresse par lettre les plus courants.

Variable Description Définitions
A Position absolue/incrémentale axe A (axe rotatif autour de X) A,B,C – Mouvement rotatif 4ème/5ème axe. Rotation autour de X, Y, Z respectivement. Angle en degrés, 3 décimales. G01 A45.325 B90.
B Position absolue/incrémentale axe B (rotatif autour de Y) Idem A
C Position absolue/incrémentale axe C (rotatif autour de Z) Idem B
D Définit décalage diamètre/rayal pour compensation rayon outil (CDC) Compense usure/déflexion diamètre outil. D + entier = n° outil (T5→D5). Pas de décimale. Toujours avec G41/G42 et mouvement XY (jamais arc). Contrôle lit registre et décale trajectoire gauche (G41) ou droite (G42) de la valeur du registre. G01 G41 X2. D1
E Avance de précision pour filetage tours –
F Définit vitesse d'avance (Feed rate) Vitesse avance usinage lignes, arcs, cycles perçage. Avance en pouces/min (mode G94) ou temps inverse (G93). Jusqu'à 3 décimales (cycles taraudage), point décimal requis. G01 X2. Y0. F30.
G Adresse codes préparatoires G commande dit au contrôle type mouvement voulu (rapide, linéaire, circulaire, cycle fixe) ou quelle valeur décalage utiliser. G02 X2. Y2. I.50 J0.
H Définit décalage longueur outil (TLO); axe incrémental correspondant à C (ex: tour-fraiseuse) Appelle registre TLO sur contrôle. Contrôle combine TLO + Fixture Offset Z pour savoir où est l'outil par rapport datum pièce. Toujours avec entier (H1, H2), G43, coordonnée Z. G43 H1 Z2.
I Définit taille arc en X pour G02/G03. Paramètre dans certains cycles fixes. Pour arcs (G2/G3) : distance incrémentale X du point départ arc au centre arc. Certains cycles perçage utilisent I paramètre optionnel. G02 X.5 Y2.500 I0. J0.250
J Définit taille arc en Y pour G02/G03. Paramètre dans certains cycles fixes. Pour arcs : distance incrémentale Y départ arc → centre arc. Cycles perçage : J paramètre optionnel. G02 X.5 Y2.500 I0. J0.250
K Définit taille arc en Z pour G02/G03. Paramètre cycles fixes, = adresse L. Pour arc : distance incrémentale Z départ → centre. Plan G17 : distance Z incrémentale pour hélicoïdaux. Cycles perçage : J optionnel. G18 G03 X.3 Z2.500 I0. K0.250
L Compteur boucles cycles fixes; Spécification registre à éditer via G10 Compteur boucles : nombre répétitions cycle fixe à chaque position. Défaut 1. Parfois K utilisé au lieu de L. Positionnement incrémental (G91) : série trous équidistants programmable comme boucle. G10 : spécification registre à éditer (décalages pièce, rayon outil, longueur outil, etc.).
M Fonction divers (Miscellaneous) Toujours avec entier déterminant sens. Un seul M-code par bloc. Définitions étendues plus loin. M08
N Numéro ligne (bloc) dans programme; N° paramètre système à changer via G10 Numéros blocs facilitent lecture. Rarement requis pour programmes CAO/FAO sans sous-programmes. Prennent mémoire contrôle → la plupart programmes 3D n'en utilisent pas. Entiers ≤5 caractères, sans décimale. Ne peuvent apparaître avant % et généralement pas avant bloc commentaire seul. N100 T02 M06
O Nom de programme Programmes stockés sur contrôle par leur numéro. Entier précédé de O, sans décimales. O1234 (Exercice 1)
P Adresse paramètre pour divers G et M codes Temporisation (dwell) en secondes. Avec G4 sauf dans certains cycles perçage. G4 P.1
Q Incrément picorage (peck) dans cycles canned Distance avance incrémentale par passe en cycle picorage. G83 X2.000 Y2.000 Z-.625 F20. R.2 Q.2 P9.
R Définit rayon arc ou hauteur rétraction cycles canned Arcs définissables par rayon R ou vecteurs IJK. IJK plus fiables → recommandés. R aussi utilisé par cycles perçage comme plan retour Z. G83 Z-.625 F20. R.2 Q.2 P9.
S Définit vitesse, broche ou vitesse coupe selon mode Vitesse broche en tr/min (RPM). Entier sans décimale, toujours avec M03 (horaire) ou M04 (anti-horaire). S2500 M03
T Sélection outil Sélectionne outil. Entier toujours avec M6 (changement outil). T01 M06
U Axe incrémental correspondant à X (généralement tours groupe A). Aussi temps d'attente sur certaines machines. Sur ces commandes, X et U remplacent G90/G91. Sur ces tours, G90 = adresse cycle fixe ébauche.
V Axe incrémental correspondant à Y Jusqu'aux années 2000, V peu utilisé (tours avec U,W sans axe Y). Encore souvent le cas, mais outillage tournant et tour-fraiseuse rendent V moins rare.
W Axe incrémental correspondant à Z (généralement tours groupe A) Z et W remplacent G90/G91. G90 = adresse cycle fixe ébauche.
X Position absolue/incrémentale axe X Données coordonnées X. 4 décimales max, zéros finaux non utilisés. Coordonnées modales → pas besoin répéter si inchangées. G01 X2.250 F20.
Y Position absolue/incrémentale axe Y Données coordonnées Y. G01 Y2.250 F20.
Z Position absolue/incrémentale axe Z Données coordonnées Z.

DÉFINITIONS DES CODES CARACTÈRES SPÉCIAUX

CODES G & M

Codes G et M constituent la majeure partie du programme CNC. Définition de chaque classe et sens des codes importants :

Codes G (Préparatoires)

Préparent la machine pour un type de mouvement.

Code Description
G00Mouvement rapide. Positionnement pour déplacements sans usinage.
G01Mouvement linéaire à vitesse d'avance spécifiée.
G02Arc horaire (clockwise).
G03Arc anti-horaire (counterclockwise).
G04Temporisation (Dwell).
G28Retour position Home machine.
G40Compensation diamètre outil (CDC) OFF.
G41CDC Gauche (Left).
G42CDC Droite (Right).
G43Compensation longueur outil (TLO).
G54Décalage Dispositif #1.
G55Décalage Dispositif #2.
G56Décalage Dispositif #3.
G57Décalage Dispositif #4.
G58Décalage Dispositif #5.
G59Décalage Dispositif #6.
G80Annuler cycle perçage.
G81Cycle perçage simple.
G82Cycle perçage simple avec pause.
G83Cycle perçage par picorage (peck).
G84Cycle taraudage.
G90Mode programmation coordonnées absolues.
G91Mode programmation coordonnées incrémentales.
G98Retour cycle perçage au point Initial (R).
G99Retour cycle perçage au plan Référence (dernière hauteur Z).

Codes M (Divers / Miscellaneous)

Contrôlent options auxiliaires : réfrigérant, sens broche. Un seul M-code par bloc.

Code Description
M00Arrêt programme. Appuyer Cycle Start pour continuer.
M01Arrêt optionnel.
M02Fin de programme.
M03Broche ON Horaire.
M04Broche ON Anti-horaire.
M05Broche STOP.
M06Changement outil.
M08Réfrigérant ON.
M09Réfrigérant OFF.
M30Fin programme + appuyer Cycle Start pour relancer.

Définitions G-code sélectionnées (Étendues)

G00 – Mouvement Rapide (Rapid Move)

Commande déplacement maxi vitesse vers point spécifié. Toujours avec position coordonnée, modal. Contrairement à G01, G00 ne coordonne pas axes pour ligne droite : chaque axe va à sa vitesse maxi jusqu'à satisfaction. Résultat = mouvement comme Figure 1.

G00 X0. Y0.

Maîtriser la programmation CNC : langage, structure et codes G/M

Figure 1. Mouvement G00

Attention : Vitesse rapide certaines machines > 10 m/s. Mauvaise coordonnée/décalage = crash plus vite que l'opérateur n'appuie sur arrêt d'urgence. Utiliser l'override avance rapide sur machine lors premier run.

Mouvement Linéaire = Mouvement Ligne Droite

G-code = mouvement. Mouvement le plus courant = ligne droite (linéaire). Mouvement modal : on dit au contrôle type mouvement voulu par G-code, il mémorise jusqu'à changement par autre G-code.

F-word = « F » pour « Feedrate » (avance).

S-word = « S » pour « Spindle Speed » (vitesse broche), unité tr/min.

Spécifier mouvement linéaire avec X, Y, Z

G00 ou G01 seul ne cause aucun mouvement – ils disent juste au contrôle quel type attendre quand on lui donne destination. Pour mouvement réel, spécifier destination via X, Y, Z. Pour aller au zéro pièce :

G00 X0 Y0 Z0 (ou G01 si plus lent : G01 X0 Y0 Z0 F40.)

Mouvement interpolé = quand on spécifie plusieurs coordonnées sur une ligne = plusieurs axes bougent simultanément. Contrôle les déplace à vitesse relative exacte pour que l'outil suive ligne droite vers destination à l'avance programmée.

Si même destination mais coordonnées sur plusieurs lignes = chaque ligne = mouvement séparé :

G00 X0 Y0 (Déplace X0 Y0 en un mouvement, Z constant)

Z0 (Déplace Z0 en un mouvement, X et Y constants)

G00 et G01 modaux → on les spécifie seulement pour changer de mode.

Axe Z

Mouvements interpolés soulèvent point pour Z. Souvent mieux de déplacer axe profondeur de coupe seul, pas en mouvement coordonné avec X,Y. Risque collision quand outil approche pièce/bridage. D'abord X,Y puis Z = plus facile juger collision imminente. Moins de risque heurter objet saillant (serre-joint) si outil reste haut jusqu'au-dessus zone coupe.

G02 et G03 : Mouvement Circulaire = Mode Initié

Une fois mode G02/G03 établi, arcs définis en G-code par leurs 2 extrémités et centre (équidistant des extrémités). Extrémités faciles : point de contrôle courant (position au début bloc) = 1ère extrémité. L'autre par coordonnées XYZ. Centre identifié meist par I, J, K = décalages incrémentaux du point départ arc au centre.

EXEMPLE ARC HORAIRE

Maîtriser la programmation CNC : langage, structure et codes G/M

Figure 2. Centre d'arc avec IJK

Arc commence X0 Y2, finit X2 Y0. Centre = X0 Y0. G-code :

G02 (mode arc horaire)

X2 Y0 I0 J-2.0

Centre par Rayon « R »

Centre en spécifiant juste rayon du cercle. Rayon = 2 → G-code :

G02 X2 Y0 R2

G17/G18/G19 – Désignation Plan

Arcs doivent exister sur plan désigné par G17 (XY), G18 (XZ), G19 (YZ). G17 = défaut machine.

Maîtriser la programmation CNC : langage, structure et codes G/M

Figure 3. Désignation Plan

G40/G41/G42 – Compensation Diamètre Outil (CDC)

CDC = clé usinage CNC précision. Permet compenser usure/déflexion outil en commandant machine dévier gauche (G41) ou droite (G42) du chemin programmé. G40 annule compensation. Montant décalage entré dans registre D du contrôle CNC. Registre usure = tableau auquel contrôle se réfère à chaque mouvement.

Tableau 5 : Registre Décalage Diamètre

Décalage Diamètre OutilValeur
D10.0125
D20.0000
D30.0000
D40.0000
D50.0000
D60.0000

Valeur dans registre D calculée par opérateur : surveille dimensions finies, compare au plan, entre différence dans registre pour tenir pièce dans specs. Si pas d'écart, registre = 0.

G01 G41 D1 X1.0 Y.25 F40.

G43 – Compensation Longueur Outil

G43 active compensation longueur outil. Toujours avec H-code et mouvement Z : H = registre TLO à lire, Z = hauteur à atteindre par rapport datum pièce.

TLO = tableau sur contrôle :

Tableau 6 : Décalages Pièce (Work Offsets)

Registre Longueur OutilZ
H110.236
H24.7510
H36.9652
H47.6841
H512.4483
H68.2250

TLO combiné avec décalage dispositif actif → machine sait où est pointe outil par rapport datum pièce.

G43 H1 Z1.

G54 – Décalage Pièce (Work Offset)

Décalages pièce = registres données dans contrôle CNC gardant distance Home machine X,Y,Z → datum pièce. Tableau sur contrôle :

Tableau 7 : Décalage Pièce (Work Offset)

Décalage PièceXYZ
G5414.25676.65970.0000
G550.00000.00000.0000
G560.00000.00000.0000
G570.00000.00000.0000
G580.00000.00000.0000
G590.00000.00000.0000

Astuce : G54 généralement utilisé pour 1ère mise en place. Décalages additionnels pour usiner autres faces pièce.

X,Y = distance Home machine → datum pièce XY. Z = distance point référence outil (ex: sommet bloc 1-2-3) → datum Z pièce.

G54 X0. Y0.

TEST DE L'UNITÉ

  1. Décrire les instructions de liste programme CNC.
  2. Tous programmes CNC commencent et finissent par quoi ?
  3. Décrire codes d'adresse par lettre.
  4. Lister 3 codes caractères spéciaux.
  5. Décrire codes G et M.
  6. Décrire G00 G90 G54 X0 Y0.
  7. Décrire G00 G90 G43 H1 Z1.
  8. Différence entre G00 et G01 ?
  9. Différence entre G02 et G03 ?
  10. Décrire mots F et S.

Technologie industrielle

  1. Fondamentaux de la programmation microprocesseur
  2. Comprendre la structure d'un programme C : Guide pour débutants
  3. Comprendre la structure d'un programme C# : composants de base et exemple
  4. Maîtriser la précision du fraisage CNC : étapes éprouvées pour pièces de précision
  5. Services premium d'usinage CNC et d'outillage à Portland, Oregon
  6. Unité 5 : Opération CNC – Maîtriser la mise en service et le contrôle Haas Mill
  7. Améliorer la Précision & Exactitude des Machines-Outils CNC : Guide Complet
  8. Comprendre les rectifieuses d'outils et de fraises CNC : fonctions, utilisations et avantages
  9. Prérégleur d'outils CNC et mesure : guide essentiel pour précision et efficacité