Programmation de Commande Numérique - Wikipédia

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 14

Programmation de commande

numérique
La programmation de commande numérique (CN) permet de définir des séquences
d'instructions permettant de piloter des machines-outil à commande numérique. Cette
programmation est actuellement fortement automatisée à partir de plans réalisés en CAO.

Dans le cas d'une commande numérique physique, c'est le directeur de commande numérique
(DCN) qui interprète les instructions contenues dans les séquences, reçoit les informations des
capteurs et agit sur les actionneurs.

On trouve aussi des pilotes de commande numériques qui sont des programmes (logiciels)
informatiques s'exécutant sur un PC, avec éventuellement une délégation partielle des calculs vers
une carte spécialisée.

Sommaire
Langage
Pour quelle utilisation
Les codes
Codes spéciaux
Codes CNC ISO de base
Fonctions préparatoires G
Fonctions auxiliaires M
Origines
Corrections
Axes
Exemple
Exemple d'un programme simple de fraisage CNC
Exemple d'un programme simple de tournage CNC
Aide à la programmation de profils complexes
Notes et références
Voir aussi
Articles connexes
Liens externes

Langage
À l'origine, le langage de programmation était le G-code, développé par l'EIA au début des années
1960, et finalement normalisé par l'ISO en février 1980 sous la référence RS274D/ (ISO 6983 (h
ttp://www.iso.org/iso/fr/CatalogueDetailPage.CatalogueDetail?
CSNUMBER=13540)).

Compte tenu de l'absence de développements ultérieurs et de la grande variété des configurations


de machines-outils, peu de contrôleurs à commande numérique respectent de manière stricte ce
standard. Des extensions et variantes ont été ajoutées indépendamment par divers fabricants et
concepteurs de programmes, ce qui fait que les opérateurs doivent connaître les différents
dialectes et particularités des machines qu'ils utilisent. Les programmes informatiques utilisent
des pilotes adaptés à chaque machine et à sa configuration, les pilotes étant personnalisables par
les utilisateurs.

Pendant longtemps, les programmes étaient directement écrits par les opérateurs des machines
CNC. Depuis le développement des ordinateurs personnels, des programmes de FAO (fabrication
assistée par ordinateur, ou en anglais CAM, Computer Aided Manufacturing) ont été développés
afin d'écrire les séquences de code ISO automatiquement à partir de fichiers de dessin et des
paramètres des outils finaux. Les interventions directement dans le code sont devenues
marginales.

Pour vérifier le bon fonctionnement des séquences d'usinage, il existe des programmes de
simulation d'usinage permettant une visualisation de la pièce telle qu'elle sera conçue lors de
l'usinage.

La séquence de fabrication complète est donc :

CAO (conception assistée par ordinateur) → FAO (développement des séquences) → Simulation
de coupe → Exécution de la fabrication.

À côté de l'ISO, de nouveaux codes sont apparus, différents selon le Directeur de Commande
Numérique. Ils intègrent de plus en plus de l'ISO, des langages propres aux constructeurs
(symbolique, C, etc.) ainsi que des interfaces de programmation interactives destinées à simplifier
la programmation.

Pour quelle utilisation


Développé à l'origine pour des machines-outils agissant par enlèvement de matière, le code ISO est
désormais utilisé dans un domaine très vaste de la fabrication, avec des adaptations :

usinage par enlèvement de matière : tournage, fraisage, perçage, gravure, défonçage ;


découpe avec : couteau, laser, jet d'eau, plasma, flamme ou oxydation ;
poinçonnage ;
impression 3D : par dépôt de matière ("fabrication additive"), durcissement d'une résine.

Les codes
Fonctions préparatoires (G), fonctions d'appel de mode d'interpolation (G 0), cycle machine
Coordonnées de points (X, Y, Z, A, B, C, I, J, K)
Vitesses, avances… (S, F)
Fonctions auxiliaires (M) qui permettent d'enclencher la lubrification, de changer d'outil, ou
de déclencher des accessoires.

X position absolue
Y position absolue
Z position absolue
A position (rotation autour de l'axe X)
B position (rotation autour de l'axe Y)
C position (rotation autour de l'axe Z)
U position relative ou axe secondaire
V position relative ou axe secondaire
W position relative ou axe secondaire
M code fonction "machine" ou "modale" (un autre type d'action ou de code machine(*))
(parfois référencé comme fonction 'diverse' (Miscellaneous en anglais)

Permet aussi de contrôler des entités externes à la machine proprement dit (magasin auxiliaire,
refroidisseur, compteur ETC, embarreur)

D ou H association d'un correcteur de jauge outil


F vitesse de déplacement, ou expression d'un temps de pause (G04) en seconde
S vitesse de rotation
C s'il est intégré dans un bloc de cycle fixe ébauche ou finition, C désigne un chanfrein
N numéro de ligne

Le numéro de bloc n'est pas obligatoire (l'ordre numérique des numérotations de blocs "N" n'est
pas non plus obligatoire) à chaque ligne avec les commandes ISO, il désigne juste un endroit du
programme où l'on peut ordonner un saut d'opération ou un départ d'opération, le plus souvent
avant un changement d'outil, ou au départ d'une boucle.

V permet de contrôler une vitesse de rotation dans une machine avec diverses
configurations
R Rayon d'arc ou option passée à un sous programme
P Temps de pause ou option passée à un sous programme ou appel de sous programme
(Précédé de M98, ou G65 par ex dans un appel de Macro_programme intégrant des calculs)
T Sélection d'outil
I Centre X des données d'un arc
J Centre Y des données d'un arc
K Centre Z des données d'un arc
D diamètre de coupe ou décalage pour l'épaisseur d'outil
H décalage pour la hauteur de l'outil

(*) Les codes M contrôlent l'ensemble de la machine, permettant son démarrage, son arrêt, la mise
en route de l'arrosage, etc. Alors que les autres codes concernent le cheminement de l'outil.

Les fonctions M (de M00 à M09) sont communes à tous les types de CNC, les différents
constructeurs de machines CNC proposent leurs propres fonctions M (à partir de M10 jusqu'à
M89... ensuite au-dessus de M100).

Des machines différentes peuvent utiliser le même code pour effectuer des fonctions différentes :
même les machines qui utilisent le même contrôleur CNC.

Une version standardisée du G-code connue sous la dénomination BCL est utilisée, mais sur très
peu de machines.

Le G-code est interprété par les traceurs photographiques Gerber (http://www.gerberscientific.co


m/), les contrôleurs de machine-outil et certains de leurs opérateurs.
1
Les fichiers G-code sont produits par des programmes de CFAO tels que GO2cam , ESPRIT,
SmartCAM, Gibbscam, SolidCAM, Featurecam, Artcam, Edgecam (S4X), Surfcam, OneCNC,
Router-CIM, Alphacam, TopSolid'Cam, e-NC, GPSoftware, Mastercam, EFICN (EFICAD),
PowerMill (Delcam), etc. Ces applications utilisent en général des convertisseurs appelés post-
processeurs pour optimiser le code en vue de son utilisation sur une machine particulière. Les
post-processeurs sont généralement modifiables par l'utilisateur afin d'optimiser leur usage.

Le G-code est aussi produit par certains programmes de CAO spécialisés dans la conception de
circuit imprimé. De tels programmes doivent être adaptés pour chaque type de machine outil.

Quelques machines CNC utilisent des programmes "interactifs", qui permettent de programmer
avec des agents en cachant partiellement ou totalement le G-code. Quelques exemples populaires
sont Mazak Mazatrol, Hurco Ultimax et le langage interactif Mori Seiki's CAPS.
Common G Codes (avec certaines extensions non standardisées)
G00 Déplacement rapide
G01 Interpolation linéaire
G02 Interpolation circulaire (sens horaire, anti-trigo)
G03 Interpolation circulaire (sens anti-horaire, trigo)
Arrêt programme et ouverture carter (pour nettoyer) (temporisation - suivi de l'argument F ou X en
G04
secondes)
Écriture de données / Effacement de données (suivi de l'argument L suivant le type de données à
G10/G11
écrire)
G17 Sélection du plan X-Y
G18 Sélection du plan X-Z
G19 Sélection du plan Y-Z
G20 Programmation en pouces
G21 Programmation en mm
G28 Retour à la position d'origine
Saute la fonction (mode Interrupt utilisé pour les capteurs et les mesures pièces et de longueur
G31
d'outil)
G33 Filetage à pas constant
G34 Filetage à pas variable
G40 Pas de compensation de rayon d'outil
G41 Compensation de rayon d'outil à gauche
G42 Compensation de rayon d'outil à droite
G54 à
Activation du décalage d'origine pièce (Offset)
G59
G68 /
Activation du mode "Plan incliné" (Tilted plane working) pour les centres d'usinage 5 axes
G68.1
G70 Cycle de finition
G71 /
Cycle d'ébauche suivant l'axe Z (appel de profil balisé entre les arguments P et Q)
G71.7
G75 Cycle de gorge
G76 /
Cycle de filetage
G76.7
G83 Cycle de perçage débourrage
G69 Annulation du mode Tilted plane working (Plan incliné)
G84 Cycle de taraudage rigide
G90 Déplacements en coordonnées absolues
G91 Déplacements en coordonnées relatives
G94/G95 Déplacement en pouces par minute/pouce par tour
Vitesse de coupe constante (vitesse de surface constante) ; Vitesse de rotation constante ou
G96 ; G97
annulation de G96

Codes spéciaux
Spécifique à certains constructeurs
Suivant le paramétrage du système et la résolution décimale, il est nécessaire (ou pas) de
programmer les valeurs avec le "dot" (point)

Par exemple : G00 X40. (la machine se déplacera à la position X 40mm)

G00 X40. (le point derrière la valeur entière est nécessaire)

G43 : Prise en compte de la longueur (fraisage)

M98 : appel de sous programmes

#: (hashtag) déclaration / écriture / lecture / calcul de variables personnalisées

#1 à #33 = variables locales (#1 à #26 correspondent aux lettres de l'alphabet pour les arguments
de cycles de macros personnalisées si la machine est équipée de l'option "CUSTOM MACRO")

#100 à #199 = variables utilisateurs (effacement remise à zéro sur RESET)

#500 à #999 = variables système (mémorisées après RESET ou coupure CNC)

Spécifique NUM

EB : rayon à l'intersection de deux lignes


G77 : appel de blocs
G79 : saut de bloc

Codes CNC ISO de base

Les 0 ne sont pas obligatoires (DEVANT un autre chiffre : M02 peut s’écrire M2. Par contre
M30 reste M30 sinon ça deviendrait M3....)
M00, M01 : arrêt du programme, arrêt optionnel ou avec condition
M02 : arrêt du programme
M03, M04, M05 : broche sens horaire, sens antihoraire, arrêt de broche
M06 : changement d'outil
M07, M08, M09 : mise en route arrosage, arrêt arrosage
M21 : activation pression broche ; M21 à M27 : palier pression selon outils
M30 : fin du programme, réinitialisation, rembobinage
M99 : fin du sous-programme
G96, G97 : vitesse de coupe constante, vitesse de rotation constante
G92 / G50 : vitesse de broche maximum
G95, G94 : déplacement mm/tr, déplacement mm/min
G00, G01 : mouvement rapide, interpolation linéaire (coupe suivant une ligne droite)
F : vitesse de déplacement
S : vitesse de broche
Coordonnées d'axes X, Y, Z, A, B, C

Fonctions préparatoires G
La fonction d'interpolation linéaire rapide G0 (interpolation linéaire en mode rapide).
La fonction d'interpolation linéaire (à la vitesse programmée) G1 (interpolation linéaire en
mode de travail).
La fonction d'interpolation circulaire G2 (interpolation circulaire sens horaire) et G3
(interpolation circulaire sens trigonométrique).
La fonction de temporisation (programmable avec F,X ou P) G4.
La fonction d'arrêt précis en fin de bloc G9.
Il est aussi possible sur certains pupitres de programmation d'utiliser ces deux codes (G2 G3) pour
créer une interpolation circulaire, des fonctions d'interpolation à base de courbe NURBS G6.2.

Sur les fraiseuses équipées de tête birotative les codes G17,G18,G19 définissent l'axe des cycles de
perçage, taraudage... et le plan dans lequel seront réalisées les interpolations circulaires et activé le
correcteur de rayon d'outil.

G17 : Axe d'outil Z, interpolations G2,G3 et correction rayon dans le plan X Y.


G18 : Axe d'outil Y, interpolations G2,G3 et correction rayon dans le plan Z X.
G19 : Axe d'outil X, interpolations G2,G3 et correction rayon dans le plan Y Z.
Les codes de la famille G52, G53, G54, G55...sont utilisés pour :

Programmer un décalage d'origine ;


Définir que les déplacements sont relatif à l'origine machine ;
Choisir le numéro de l'origine pièce.
Certains codes G de la famille G60 G70 peuvent être utilisés par les fabricants de DNC pour :

Le choix de la programmation cartésienne ou polaire ;


L'activation d'un facteur d'échelle ;
La mise en action d'une fonction miroir ;
La programmation en mesure métrique ou en pouce.
Les codes G90 G91définissent la programmation absolue ou incrémentale des cotes.

Des cycles préprogrammés sont également accessibles sur la plupart des machines : G 81, 82,
83... pour les cycles de perçage, taraudage, etc. avec l'annulation par G 80. D'autres cycles
peuvent être présents selon le type de machine (tour "cycle d'ébauche G71,G72,G73...", fraiseuse,
aléseuse, fil...).

Fonctions auxiliaires M
Mise en rotation broche M3 horaire, M4 anti-horaire. Arrêt par M5. (Selon les CN M3 peut
activer un laser de découpe ou faire tourner un servomoteur et M4 arrêter le laser ou faire
tourner un servomoteur : par exemple commandes numériques de traçage "CNC plotter")
Changement outil automatique ou manuel M6.
Mise en route de l'arrosage externe M8. Arrêt par M9.
Mise en route de l'arrosage par le centre de la broche M7 Arrêt par M9
Fonction de fin de programme M2 ou M30.
Fonction d'arrêt programme M00.
Fonction d'arrêt optionnel programme M01
Fonction d'activation d'axe angulaire en remplacement de broche tournage "M88-89" (selon
commande- Sauf mazak qui gère automatiquement)

Origines
Origine programme (OP) : c'est le point origine du programme à partir duquel les
mouvements de la machine sont programmés.
Origine Machine (OM): Cette expression existe dans des manuels de constructeurs de
machines-outils sans pour autant apporter de réponse, voire sans fondement. L'origine
machine est une coordonnée mesure particulière. Lors de l’initialisation de l’axe (dans le cas
de capteurs relatifs) au passage du top zéro de la règle, le processus d’initialisation permet
de forcer la valeur du registre du point courant par la valeur de l’axe dans le registre P16
(cas d’un DCN NUM). Cette valeur est souvent non nulle qui remet en cause la notion d’
« origine » d’une part, et « machine » d’autre part puis que c’est une coordonnée mesure
particulière. Cette expression est sans fondement dans le cas de technologie de règle
absolue, et sans fondement tout court.
Origine mesure (Om) : L'origine mesure est propre à chaque axe asservi. Dans le cas d'une
structure articulaire de type RRPPP (rotoïde, rotoïde, prismatique, prismatique, prismatique)
il existe 5 origines mesures. Chaque axe mesure est constitué d'une origine et d'une
dimension. La dimension de l'espace vectoriel de cette structure est de dimension 5. Suivant
le type de technologie des capteurs permettant l'asservissement des axes, il est nécessaire
de procéder à l'initialisation de la partie opérative avec la partie commande. Dans le cas de
capteur relatif, les POM (Prise d'origines mesure) servent à établir les références de la
mesure sur chaque axes des machines outils ne possédant pas de règles avec des capteurs
absolus (détection du zéro du capteur de mesure).
Les origines mesures appartiennent à l'espace articulaire (espace de la structure cinématique de la
machine en robotique). L'espace travail, ou de la tâche est celui où se trouvent les autres éléments
de la cellule élémentaire de production. La dimension vectorielle est 3. Il y a donc un
endomorphisme d'espaces vectoriels entre l'espace articulaire de la machine et l'espace travail. Il
est donc totalement inutile de représenter le zéro mesure comme un point concourant de tous les
axes dans l'espace travail. C'est un sophisme.

Origine porte pièce (Opp) : C'est le point caractéristique de la liaison encastrement


supposée parfaite entre la machine et le porte-pièce. En tournage on le place souvent à
l'intersection de la face avant du mandrin et de l'axe de la broche (axe Z, pour les mandrins
qui ne sont pas changés régulièrement). En fraisage pour des raisons de standardisation on
alèse des centreurs sur les tables des machines outils pour le situer plus facilement.
Origine pièce (Op) :(appelé G... 54 par exemple, G55, etc.) C'est le point d'intersection de
l'isostatisme. Ce point situe la pièce par rapport au porte-pièce.
Distance origine programme (OP) - origine machine (OM) : c'est la distance que la machine
doit additionner pour passer de son origine (OM) à l'origine du programme (OP).
"DECALAGE" (dec) : distance vectorielle de l'origine porte-pièce (Opp) à l'origine
programme (OP).
"PREF" (pref) : distance vectorielle de l'intersection des origines mesure de chaque axe
qu'on appelle souvent Origine mesure pour simplifier (Om) à l'origine porte-pièce.
(POM ou OM) + PREF = OPP OPP + DECALAGE = OP

En synthèse, les définitions des différentes origines sont issues d'un modèle de structure
articulaire de machine constitué de liaisons prismatiques cartésiennes. Le modèle géométrique
permettant de lier l'espace travail à l'espace articulaire est l'identité, amalgamant les origines
mesures de la structure articulaire avec l'origine des solides dans l'espace travail.

« Comprendre le fonctionnement d’une machine à commande numérique. - Application à la


MOCN - Un modèle pour quoi faire ? » (http://www.cfc-technic.fr/iDisk/Mocn/MOCN-124-125.p
df), sur http://www.cfc-technic.fr, 2006

Corrections
Correction de la machine permettant de tenir compte des différentes longueurs et diamètres
d'outil.

en fraisage : correcteur de longueur de fraise : Activé automatiquement lors du changement


outil (M6). Sur certains DNC G43, annulation par G49 ; Pour le correcteur de rayon de fraise:
G41 et G42, annulation par G40. Sur certains DCN, le petit rayon de bout d'outil est
compensable par un correcteur préfixé @.
G41 positionne l'outil à gauche de la trajectoire programmée d'une valeur égale au rayon.
G42 positionne l'outil à droite de la trajectoire programmée d'une valeur égale au rayon.
en tournage : correcteur de longueur d'outil, correcteur en diamètre et compensation de
rayon de bec: G41 et G42, annulation par G40.
De plus, la correction d'outils en cours d'usinage appelée "correction dynamique" permet de
compenser l'usure de l'outil.

Axes

Les axes X et Y sont disposés suivant un repère orthonormé direct par rapport à Z.
L'axe X est celui qui permet la plus grande distance de déplacement. Le dernier axe étant
l'axe Y ; sur certaines machines, on trouve des axes supplémentaires appelés Axe A, B, C.
Les axes A, B, C sont des axes rotatifs, A tournant autour de X, B autour de Y, C autour de
Z.
Mouvements de rotation A, B, C
Le sens de rotation positif des axes A, B, C sont comptés en s'imaginant qu'une vis pas à droite,
tournant dans le sens des aiguilles d'une montre avance en direction +X, +Y, +Z en se considérant
à la place de l'outil. Si c'est un axe déplaçant la pièce au lieu de l'outil, on inverse le sens des axes,
le positif devient négatif.

On rencontre de plus les désignations U, V, W pour d'autres axes supplémentaires,


portiques, tourelles secondaires ou accessoires.
Le sens + permet un accroissement des dimensions de la pièce.

Exemple
Ceci est un programme typique qui montre l'usage du G-Code pour tourner une pièce de 1 pouce
de diamètre et 1 pouce de long. On part de l'hypothèse que la barre de matière est déjà dans la
machine et qu'elle dépasse légèrement en longueur et en diamètre. (Attention : Ceci est un
programme typique, il pourrait ne pas fonctionner sur une machine réelle ! Soyez particulièrement
attentifs au point 5 ci-dessous.)

Cheminement de l'outil sur le


tour
Exemple
N01 M216 Mise en route du contrôleur de charge
N015 G20 T00
Programmation en pouces, annulation des décalages outils, avance en pouces/révolution.
G99
N02 G00 X20 Z20 Déplacement rapide en dehors de la pièce, pour donner le point de départ de l'outil
N03 G50 S2000 Définit la vitesse de rotation maximum de la broche
N04 T03 Choisit l'outil #3 dans le carrousel
N05 G96 S854 Découpe à vitesse variable, 854 pieds/min, grande vitesse de broche, démarrage de la
M42 M03 M08 broche en rotation horaires, démarrage de la lubrification
N06 G00 X1.1 Déplacement rapide vers un point situé à 0,1 pouce du bout de la barre et à 0,05 pouce du
Z1.1 T0303 bord, en utilisant les valeurs de réglage de l'outil #3
N07 M01 Arrêt optionnel
N08 G01 Z1.0 Avance horizontalement, en avance de travail, jusqu'à ce que l'outil soit à 1 pouce de la
F.05 référence
N09 X0.0 Descend jusqu'à ce que l'outil soit au centre - en face du bout de la barre
N10 G00 Z1.1 Avance rapide à 0,1 pouce du bout de la barre
N11 X1.0 Avance rapide jusqu'à la position correspondant au diamètre extérieur fini
Avance horizontalement, en avance de travail, en coupant la barre à 1 pouce de diamètre
N12 G01 Z0.0
jusqu'à la référence
N13 G00 X1.1 Avance rapide en s'écartant de 0,05 pouce de la surface de la pièce
N14 X20 Z20 S'éloigne de la pièce, toujours en avance rapide
N15 M05 M09 Arrête la broche et coupe l'arrosage
N16 M215 Coupe le contrôleur de charge
N17 M30 Fin du programme

En principe on ne met pas des numéros qui se suivent pour les lignes. Cela permet d'en intercaler
de nouvelles si nécessaire. Plutôt que de faire : N1, N2, N3, etc. On inscrit N10, N20, N30, etc.
Comme ça, si l'on doit rajouter des lignes de modification, on peut le faire. N50, N60 peut ainsi
devenir N50, N52, N54, N60...

Quelques remarques :

1. On peut développer un style de programmation, même sur un programme aussi court. Le


groupement des codes de la ligne N05 aurait pu être distribué sur plusieurs lignes. Ceci
faciliterait le suivi pas à pas de l'exécution du programme.
2. Beaucoup de codes sont "Modaux" ce qui veut dire qu'ils restent actifs tant que l'ordre n'a pas
été annulé ou remplacé par un ordre contradictoire. Par exemple, après avoir choisi la vitesse
de coupe variable (G97), elle reste active jusqu'à la fin du programme. En service, la vitesse
de broche va augmenter au fur et à mesure que l'outil se rapproche du centre de manière à
maintenir une vitesse de coupe constante. De la même manière, après avoir sélectionné la
vitesse de déplacement rapide (G00) tous les mouvements seront rapides jusqu'à ce qu'une
vitesse de déplacement (G01, G02, G03) soit sélectionnée.
3. Il est d'usage courant d'avoir un contrôleur de charge/vitesse sur une machine à commande
numérique. Ce contrôleur va arrêter la machine si la broche ou les vitesses de déplacement
dépassent des valeurs prédéfinies lors du paramétrage de la machine. Le rôle du contrôleur
de charge est d'éviter la casse machine en cas de bris d'outil ou d'erreur de programmation.
De plus, dans une certaine mesure il peut donner une information sur un outil qui devient trop
usé et nécessite un remplacement ou un ré-affutage.
4. Il est d'usage courant d'amener l'outil rapidement à un point "sûr" proche de la pièce - dans ce
cas à 0,1 pouce - et ensuite de démarrer le déplacement lent de l'outil. La distance de sécurité
requise dépend du savoir-faire et de l'aisance du programmeur.
5. Si le programme est faux, la probabilité d'un crash machine est élevée ! Ceci peut être très
coûteux. Il est possible de prévoir à intervalles réguliers des arrêts optionnels (code M01) qui
permettent au programme d'être exécuté par séquences. Les arrêts optionnels restent dans le
programme mais sont négligés lors d'une exécution normale. Heureusement, la plupart des
programmes de CFAO sont livrés avec des simulateurs de déplacements affichant les
mouvements lors de l'exécution du programme. Beaucoup de machines CNC modernes
permettent aussi au programmeur d'exécuter une simulation et de vérifier les paramètres
opératoires de la machine en tout point de l'exécution. Ceci permet au programmeur de
découvrir des erreurs sémantiques (par opposition aux erreurs de syntaxe) avant de perdre
des matériaux ou des outils avec un programme erroné.

Exemple d'un programme simple de fraisage CNC


1. O100;
2. M6 T1;
3. G90 G17 G80 G40 G54 G0 X0 Y-5;
4. M3 S2500 M8;
5. G0 G43 H1 Z-4;
6. G1 Y20. F150;
7. X40;
8. Y0;
9. X-5;
10. G0 Z200:
11. M9;
12. M5;
13. G28 G91 G0 Z0;
14. G28 G91 G0 Y0;
15. M30;
16. %
Ligne 1, numéro de programme

Ligne 2, appel en broche de l'outil no 1 (qui est en réalité un appel du sous-programme pilotant le
changeur d'outil (M6) avec le paramètre T1

Ligne 3, - donné en absolu (G90), -travail suivant plan X,Y(G17), -Annulation des cycles perçage-
taraudage (G80), annulation tout correcteur en mémoire dans la machine(G40),

-origine pièce Offset (G54), -déplacement rapide (G0) à un point (X0 Y-5)

Ligne 4, mise en rotation de l'outil à 2 500 tr/min (S2500) et mise en fonction de l'arrosage (M8)
(M13 replace les codes M3, sélectionne le sens de rotation, et M8, marche arrosage)

Ligne 5, déplacement rapide a Z-4 (profondeur de coupe) en prenant en compte la longueur d'outil
(G43) du correcteur n°1 (H1)

Ligne 6 à 9, déplacements en vitesse de travail (G1), G1 est une fonction modale et est donc valable
pour tous les points suivants.
Ligne 10, déplacement rapide (G0) a un point (Z200)

Ligne 10, arrêt de l'arrosage (M9)

Ligne 11, arrêt de la broche (M5)

Ligne 12 à 13, Retour au origine machine (G28), Distance avec relatif (G91), -déplacement rapide
(G0) avec le système de coordonnées de la machine (G53) à Z0 Y0 (outil en haut, table au plus près
de l'opérateur)

Ligne 14, M30 fin de programme (M30 inclus M5 et M9 ceux-ci ne sont donc pas obligatoires ils
sont placés en ligne 10 et 11 pour laisser quelques secondes d'égouttage au système d'arrosage,
avant les manipulations de l'opérateur.)

Notez que le programme ne prévoit rien pour le cheminement de l'outil. Si la machine est une
fraiseuse et utilise une fraise de rayon 6 mm, la pièce sera en pratique 12 mm plus petite que
définie (6 mm par côté). Une commande G-code doit être utilisé pour corriger le cheminement de
l'outil.

Exemple d'un programme simple de tournage CNC


Un exemple simple peut-être une barre d'une longueur de 40 mm et d'un diamètre de 20 mm. Le
code de base pourrait se lire comme suit :

%
O1234
G50 S2500 (VITESSE DE ROTATION LIMITÉE À 2500 TOURS PAR MINUTE)
G97 M03 S1000
T0606 (OUTIL D'ÉBAUCHE DE TOURNAGE)
G00 X22. Z0.
G96 S150
G01 (RPT.N50)N40

X-1. F0.15
G00 Z1.
X18.
G01 Z-35. F0.2
X22.
G00 Z1.
X16.
G01 Z-25.
X22.
G00 Z300.
X150.
M01

T0101 (FORET DIAM 18MM)


G97 M03 S1000
G00 X0. Z5.
G01 Z-25. F0.1
G00 Z5.
X150. Z300.
M05
M30

Il est de bon aloi d'abuser des commentaires entre parenthèses (), afin d'indiquer les opérations,
les outils utilisés, afin que n'importe quel utilisateur puisse comprendre le code.

...
GO G90 G54 X-10 Y-5
M13 S2500
G0 G43 H1 Z-4
G1 G41 D21 F150 X0 ; correction d'outil à gauche (G41) en utilisant le rayon d'outil no 21, 6 mm (fraise de
diamètre 12 mm)
Y20
X40
Y0
X-5
...

Le point de départ a été changé pour permettre de "prendre la correction de rayon", car elle
se fait suivant le sens déplacement du point précédant (X-10) au point de passage en G41
(X0) l’outil ne se déplacera en réalité que de 4 mm et non pas 10, du fait de la correction.

Dans ce cas, le contrôleur voit la première ligne et ajuste la position de l'outil de coupe à 6
mm à l'extérieur du tracé de découpe. Maintenant la machine va créer une pièce conforme à
celle dessinée. Selon l'outil de coupe utilisé, la correction peut être définie si nécessaire. Par
exemple, un laser avec un faisceau très fin peut nécessiter une correction de 0,005 pouce,
alors qu'une machine à jet d'eau avec une buse de diamètre intérieur 0,060 pouce va
nécessiter une correction de 0,030 pouce.

Aide à la programmation de profils complexes


La Programmation Géométrique de Profil (P.G.P.) du fabricant de DNC NUM permet
d'utiliser directement les cotes du dessin de définition pour écrire le programme.

Principe :

programmation en absolu (G90)


programmation classique valable
programmation par blocs : un élément géométrique par bloc
élément géométrique entièrement ou incomplètement défini (dans un ou deux blocs
suivants)
Éléments géométriques :

Élément d'angle EA
Élément congé EB+
Élément chanfrein EB-
Élément tangent ET
Élément sécant ES
Discriminant E+ / E-
Le langage PROGET 2' du constructeur SELCA utilise 5 codes G, pouvant être assimilés à 5
instruments du dessinateur industriel.

G20 pour le compas dans le cas de cercles de centre et rayon connus.


G21 pour le gabarit multi rayons pour les rayons de raccordement.
G13 pour le rapporteur d'angle dans le cas de droite inclinée.
G10 et G11 pour la règle.

Notes et références
1. « GO2cam International, éditeur de logiciel FAO, de solutions FAO: dentaire, mécanique,
prototypage » (http://www.go2cam.fr/), sur www.go2cam.fr (consulté le 19 février 2018)
Voir aussi

Articles connexes
Commande numérique

Conception assistée par ordinateur


Conception et fabrication assistées par ordinateur
Design Augmented by Computer
Fabrication assistée par ordinateur
Post-Processeurs
Liste d'abréviations de la conception et fabrication assistée par ordinateur
STEP-NC
Grbl

Liens externes
Exemple Gcode Simulateur CNC HTML (http://www.ange-softs.com/SIMULCNCHTML/index.
html)
en anglais : en:Numerical control et en:G-code

Ce document provient de « https://fr.wikipedia.org/w/index.php?


title=Programmation_de_commande_numérique&oldid=162820286 ».

La dernière modification de cette page a été faite le 20 septembre 2019 à 09:06.

Droit d'auteur : les textes sont disponibles sous licence Creative Commons attribution, partage dans les mêmes
conditions ; d’autres conditions peuvent s’appliquer. Voyez les conditions d’utilisation pour plus de détails, ainsi que
les crédits graphiques. En cas de réutilisation des textes de cette page, voyez comment citer les auteurs et
mentionner la licence.
Wikipedia® est une marque déposée de la Wikimedia Foundation, Inc., organisation de bienfaisance régie par le
paragraphe 501(c)(3) du code fiscal des États-Unis.

Vous aimerez peut-être aussi