Académique Documents
Professionnel Documents
Culture Documents
Programmation Commande Numerique PDF
Programmation Commande Numerique PDF
Langage
l'origine, le langage de programmation tait le G-code, dvelopp par l'EIA au dbut des annes 1960, et
finalement normalis par l'ISO en fvrier 1980 sous la rfrence RS274D/ ( ISO 6983 [1]).
Compte tenu de l'absence de dveloppements ultrieurs, de la grande varit des configurations de machines-outils,
et du peu de demande pour une relle interoprabilit, peu de contrleurs commande numrique respectent ce
standard. Des extensions et variantes ont t ajoutes indpendamment par divers fabricants, ce qui fait que les
oprateurs doivent connatre les diffrents dialectes et particularits des machines qu'ils utilisent, et les systmes de
CFAO doivent se limiter au plus petit dnominateur commun des machines qu'ils commandent.
Beaucoup de fabricants ont essay de contourner cette difficult rester compatible en suivant la route trace par
Fanuc. Malheureusement, Fanuc n'est pas conforme la norme RS-274 ou ses prcdents standards, et a t lent
ajouter de nouvelles fonctionnalits et utiliser la puissance croissante des ordinateurs. Par exemple, ils ont
transform la commande g70/g71 en g20/21; ils ont utilis des parenthses pour les commentaires, ce qui a caus des
problmes lors de l'introduction des calculs mathmatiques; ils n'ont commenc utiliser les nanomtres que
rcemment (ce qui requiert 64 bits); ils ont introduit les nurbs pour compenser le faible dbit des blocs depuis la
mmoire (au lieu de mettre en place un cache).
Depuis l'tablissement de la norme ISO 6983, et les technologies voluant rapidement, de nombreuses extensions ont
t ajoutes pour tenir compte des nouveauts et des nouvelles capacits des machines-outil. Ces extensions, bien
que souvent utiles chez des constructeurs diffrents de Directeur de Commande Numrique, n'entrent pas dans la
norme et compliquent la tche des logiciels de Fabrication assiste par ordinateur, qui doivent crer les lignes de ce
langage pour un DCN particulier. Pour analyser la syntaxe des programmes ISO, des diteurs de logiciel ont mis au
point des solutions de simulation d'usinage qui ont permit d'muler le comportement d'un DCN sur un PC. Cela
permit de mettre au point les programmes sans mobiliser la machine-outil commmande numrique. On peut citer
des solutions comme Ncsimul, Roboris, Ncview, etc.. ct de l'ISO, de nouveaux codes sont apparus, diffrents
selon le Directeur de Commande Numrique. Ils intgrent de plus en plus, en plus de l'ISO, des langages propres aux
constructeurs de DCN (symbolique, C, etc) ainsi que des interfaces de programmation conversationnelle destines
simplifier la programmation (voir CN Mazak, Heidenhain ou Selca).
Les codes
Fonctions prparatoires (G), fonctions d'appel de mode d'interpolation (G 0), cycles machine
Coordonnes de points (X, Y, Z, I, J, K)
Vitesses, avances (S, F)
Fonctions auxiliaires (M) qui permettent d'enclencher la lubrification, de changer d'outil, ou de dclencher 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)
Programmation de commande numrique 2
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.
G04 Arrt programme et ouverture carter (pour nettoyer) (temporisation - suivi de l'argument F ou X en secondes)
G21 Programmation en mm
G31 Saute la fonction (utilis pour les capteurs et les mesures de longueur d'outil)
G96/G97 Vitesse de coupe constante (vitesse de surface constante)/Vitesse de rotation constante ou annulation de G96
Codes spciaux
Spcifique FANUC
G43 : Prise en compte de la longueur(fraisage)
M98 : appel de sous programmes
Spcifique NUM
EB : Rayon l'intersection de deux lignes
G77 : Appel de blocs
G79 : Saut de bloc
Programmation de commande numrique 4
Fonctions prparatoires G
La fonction d'interpolation linaire rapide G0 (interpolation linaire en mode rapide).
La fonction dinterpolation linaire ( la vitesse programme) 'G1 (interpolation linaire en mode de travail).
La fonction dinterpolation circulaireG2 (interpolation circulaire sens horaire) et 'G3 (interpolation circulaire sens
trigonomtrique).
La fonction de temporisation (programmable avec F,X ou P) G4.
La fonction darrt prcis en fin de bloc'G9.
Il est aussi possible sur certains pupitres de programmation d'utiliser ces deux codes (G2 G3) pour crer une
interpolation circulaire, des fonctions d'interpolation base de courbe NURBS G6.2.
Sur les fraiseuses quipes de tte birotative les codes G17,G18,G19 dfinissent l'axe des cycles de perage,
taraudage... et le plan dans lequel seront ralises 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 utiliss pour :
Programmer un dcalage d'origine ;
Dfinir que les dplacements sont relatif l'origine machine ;
Choisir le numro de l'origine pice.
Certains codes G de la famille G60 G70 peuvent tre utiliss par les fabricants de DNC pour :
Le choix de la programmation cartsienne ou polaire ;
Programmation de commande numrique 5
Fonctions auxiliaires M
Mise en rotation broche M3 horaire, M4 anti-horaire. Arrt par M5.
Changement outil automatique ou manuel M6.
Mise en route de l'arrosage extrerne M8. Arrt par M9.
Mise en route de l'arrosage par le centre de la broche M7 Arrt par M9
Fonction de fin de programme M2 ou M30.
Fonction d'arrt programme M0.
Fonction d'arrt optionnel programme M1
Fonction d'activation d'axe angulaire en remplacement de broche tournage "M88-89" (selon commande- Sauf mazak
qui gere automatiquement)
Origines
Origine programme (OP) : c'est le point origine du programme partir duquel les mouvements de la machine
sont programms.
Origine Machine (OM): Cette expression existe dans des manuels de constructeurs de machines-outils sans pour
autant apporter de rponse, voire sans fondement. L'origine machine est une coordonne mesure particulire.
Lors de linitialisation de laxe ( dans le cas de capteurs relatifs) au passage du top zro de la rgle, le processus
dinitialisation permet de forcer la valeur du registre du point courant par la valeur de laxe dans le registre P16
(cas dun DCN NUM). Cette valeur est souvent non nulle qui remet en cause la notion d origine dune part, et
machine dautre part puis que cest une coordonne mesure particulire. Cette expression est sans fondement
dans le cas de technologie de rgle 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 ( rotode, rotode, 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 ncessaire de
procd l'initialisation de la partie oprative avec la partie commande. Dans le cas de capteur relatif, les POM
(Prise d'origines mesure) servent tablir les rfrences de la mesure sur chaque axes des machines outils ne
possdant pas de rgles avec des capteurs absolus (dtection du zro du capteur de mesure).
Les origines mesures appartiennent l'espace articulaire (espace de la structure cinmatique de la machine en
robotique). L'espace travail, ou de la tche est celui o se trouve les autres lments de la cellule lmentaire de
production. La dimension vectorielle est 3. Il y a donc une endomorphisme d'espaces vectoriels entre l'espace
articulaire de la machine et l'espace travail. Il est donc totalement inutile de reprsenter le zro mesure comme un
point concourant de tous les axes dans l'espace travail. C'est un sophisme.
Origine porte pice (Opp) : C'est le point caractristique de la liaison encastrement suppose parfaite entre la
machine et le porte-pice. 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 changs rgulirement). En fraisage pour des raisons de
standardisation on alse des centreurs sur les tables des machines outils pour le situer plus facilement.
Programmation de commande numrique 6
Origine pice (Op) :( appl G... 54 par exemple, G55,etc. ) C'est le point d'intersection de l'isostatisme. Ce point
situe la pice par rapport au porte-pice.
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-pice (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-pice.
(POM ou OM) + PREF = OPP OPP + DECALAGE = OP
En synthse, les dfinitions des diffrentes origines sont issues d'un modle de structure articulaire de machine
constitu de liaisons prismatiques cartsiennes. Le modle gomtrique 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 dune machine commande numrique. - Application la MOCN - Un modle pour
quoi faire ? [3] sur http://www.cfc-technic.com'',  2006
Corrections
Correction de la machine permettant de tenir compte des diffrentes longueurs et diamtres d'outil.
en fraisage : correcteur de longueur de fraise : Activ automatiquement lors du changement outil (M6). Sur DNC
FANUC 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 prfix @.
G41 positionne l'outil gauche de la trajectoire programme d'une valeur gale au rayon.
G42 positionne l'outil droite de la trajectoire programme d'une valeur gale au rayon.
en tournage : correcteur de longueur d'outil, correcteur en diamtre et compensation de rayon de bec: G41 et
G42, annulation par G40.
De plus, la correction d'outils en cours d'usinage appele "correction dynamique" permet de compenser l'usure de
l'outil.
Axes
Les axes X et Y sont disposs suivant un repre orthonorm direct par rapport Z.
L'axe X est celui qui permet la plus grande distance de dplacement. Le dernier axe tant l'axe Y ; sur certaines
machines, on trouve des axes supplmentaires appels 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 compts 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 considrant la place de l'outil. Si c'est un axe
dplaant la pice au lieu de l'outil, on inverse le sens des axes, le positif devient ngatif.
On rencontre de plus les dsignations U, V, W pour d'autres axes supplmentaires, portiques, tourelles
secondaires ou accessoires.
Le sens + permet un accroissement des dimensions de la pice.
Programmation de commande numrique 7
Exemple
Ceci est un programme typique qui montre l'usage du G-Code pour tourner une pice de 1 pouce de diamtre et 1
pouce de long. On part de l'hypothse que la barre de matire est dj dans la machine et qu'elle dpasse lgrement
en longueur et en diamtre. (Attention : Ceci est un programme typique, il pourrait ne pas fonctionner sur une
machine relle! Soyez particulirement attentifs au point 5 ci-dessous.)
Exemple
N01 M216 (Mise en route du contrleur de charge)
N02 G00 X20 Z20 (Dplacement rapide en dehors de la pice, pour donner le point de dpart de l'outil)
N05 G96 S854 M42 M03 (Dcoupe vitesse variable, 854 pieds/min, grande vitesse de broche, dmarrage de la broche en rotation horaires,
M08 dmarrage de la lubrification)
N06 G00 X1.1 Z1.1 (Dplacement rapide vers un point situ 0.1 pouce du bout de la barre et 0.05 pouce du bord, en utilisant les valeurs
T0303 de rglage de l'outil #3)
N08 G01 Z1.0 F.05 (Avance horizontalement, en avance de travail, jusqu' ce que l'outil soit 1 pouce de la rfrence)
N09 X0.0 (Descend jusqu' ce que l'outil soit au centre - en face du bout de la barre)
N11 X1.0 (Avance rapide jusqu' la position correspondant au diamtre extrieur fini)
N12 G01 Z0.0 (Avance horizontalement, en avance de travail, en coupant la barre 1 pouce de diamtre jusqu' la rfrence)
N13 G00 X1.1 (Avance rapide en s'cartant de 0.05 pouce de la surface de la pice)
Quelques remarques :
Programmation de commande numrique 8
1. On peut dvelopper un style de programmation, mme 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'excution 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, aprs 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 manire maintenir une vitesse de coupe constante. De la mme manire, aprs avoir
slectionn la vitesse de dplacement rapide (G00) tous les mouvements seront rapides jusqu' ce qu'une vitesse
de dplacement (G01, G02, G03) soit slectionne.
3. Il est d'usage courant d'avoir un contrleur de charge/vitesse sur une machine commande numrique. Ce
contrleur va arrter la machine si la broche ou les vitesses de dplacement dpassent des valeurs prdfinies lors
du paramtrage de la machine. Le rle du contrleur 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 ncessite un remplacement ou un raffutage.
4. Il est d'usage courant d'amener l'outil rapidement un point "sr" proche de la pice - dans ce cas 0,1 pouce - et
ensuite de dmarrer le dplacement lent de l'outil. La distance de scurit requise dpend du savoir faire et de
l'aisance du programmeur.
5. Si le programme est faux, la probabilit d'un crash machine est leve ! Ceci peut tre trs coteux. Il est possible
de prvoir intervalles rguliers des arrts optionnels (code M01) qui permettent au programme d'tre excut par
squences. Les arrts optionnels restent dans le programme mais sont ngligs lors d'une excution normale.
Heureusement, la plupart des programmes de CFAO sont livrs avec des simulateurs de dplacements affichant
les mouvements lors de l'excution du programme. Beaucoup de machines CNC modernes permettent aussi au
programmeur d'excuter une simulation et de vrifier les paramtres opratoires de la machine en tout point de
l'excution. Ceci permet au programmeur de dcouvrir des erreurs smantiques (par opposition aux erreurs de
syntaxe) avant de perdre des matriaux ou des outils avec un programme erron.
Ligne 2 appel en broche de l'outil n1 (qui est en ralit un appel du sous-programme pilotant le changeur
d'outil(M6) avec le paramtre T1
Ligne 3 dplacement rapide (G0) un point (X0 Y-5) donner en absolu (G90) depuis l'origine programme
numro 1(G54) G40 pour annuler tout correcteur en mmoire dans la machine
Ligne 4 mise en rotation de l'outil 2500tr/min (S2500) et mise en fonction de l'arrosage (M13) (M13 replace
les codes M3, slectionne le sens de rotation, et M8, marche arrosage)
Ligne 5 dplacement rapide a Z-4 (profondeur de coupe) en prenant en compte la longueur d'outil (G43) du
correcteur n1 (H1)
Ligne 6 9 dplacements en vitesse de travail (G1), G1 est une fonction modale et est donc valable pour tous
les points suivants.
Ligne 10 arrt de l'arrosage (M9)
Ligne 11 arrt de la broche (M5)
(nota: sur fanuc seul un code M est permis par ligne de programme.)
Ligne 12 13 Dplacement rapide (G0) avec le systme de coordonnes de la machine (G53) Z0 Y0 ( outil
en haut, table au plus prs de l'oprateur)
Ligne 14 M30 fin de programme (M30 inclus M5 et M9 ceux-ci ne sont donc pas obligatoires ils sont placs
en ligne 10 et 11 pour laisser quelques secondes d'gouttage au systme d'arrosage, avant les manipulations de
l'oprateur. )
Notez que le programme ne prvoit rien pour le cheminement de l'outil. Si la machine est une fraiseuse et
utilise une fraise de rayon 6 mm, la pice sera en pratique 12 mm plus petite que dfinie (6 mm par ct). Une
commande G-code doit tre utilis pour corriger le cheminement de l'outil.
O1234
G50 S2500 (VITESSE DE ROTATION LIMITE 2500 TOURS PAR MINUTE)
G97 M03 S1000
M6 T0606 (OUTIL D'BAUCHE DE TOURNAGE)
G00 X22. Z0.
G96 S150
G01 X-1. F0.15
G00 Z1.
X18.
G01 Z-35. F0.2
X22.
G00 Z1.
X16.
G01 Z-25.
X22.
G00 Z300.
X150.
M01
Programmation de commande numrique 10
...
M13 S2500
G0 G43 H1 Z-4
G1 G41 D21 F150 X0 ; Correction d'outil gauche (G41) en utilisant le rayon d'outil no21, 6mm (fraise de diamtre 12mm)
Y20
X40
Y0
X-5
...
Le point de dpart a t chang pour permettre de "prendre la correction de rayon", car elle se fait suivant le
sens dplacement du point prcdant (X-10) au point de passage en G41 (X0) loutil ne se dplacera en ralit
que de 4 mm et non pas 10, du fait de la correction.
Dans ce cas, le contrleur voit la premire ligne et ajuste la position de l'outil de coupe 6 mm l'extrieur du
trac de dcoupe. Maintenant la machine va crer une pice conforme celle dessine. Selon l'outil de coupe
utilis, la correction peut tre dfinie si ncessaire. Par exemple, un laser avec un faisceau trs fin peut
ncessiter une correction de .005 pouce, alors qu'une machine jet d'eau avec une buse de diamtre intrieur
0,060 pouce va ncessiter une correction de 0,030 pouce.
Annexes
Articles connexes
Commande numrique
Conception assiste par ordinateur
CFAO
Fabrication assiste par ordinateur
Post-Processeurs
Liste d'abrviations de la conception et fabrication assiste par ordinateur
STEP-NC
Liens externes
Exemple Gcode Simulateur CNC HTML [4]
Rfrences
[1] http:/ / www. iso. org/ iso/ fr/ CatalogueDetailPage. CatalogueDetail?CSNUMBER=13540
[2] http:/ / www. gerberscientific. com/
[3] http:/ / homepage. mac. com/ frederic. charpentier/ . cv/ frederic. charpentier/ Sites/ . Public/ MOCN/ MOCN-124-125%20. pdf-zip. zip
[4] http:/ / www. ange-softs. com/ SIMULCNCHTML/ index. html
Sources et contributeurs de larticle 12
Licence
Creative Commons Attribution-Share Alike 3.0 Unported
//creativecommons.org/licenses/by-sa/3.0/