Beruflich Dokumente
Kultur Dokumente
PROGRAMMATION DES
MOCN
Filière :
Technicien Spécialisé en Usinage sur MOCN option :
USINAGE Outillage de presse et FAO
Niveau :
Technicien Spécialisé
Réalisé par :
M. ABDELHAK KHETTAB
Version : 2017
1
Document élaboré par :
Validation par :
VIII. Programmation.......................................................................................................... 22
I. Fonctions préparatoires........................................................................................... 25
1. Introduction
Une Machine-outil à Commande Numérique (M.O.C.N.) est une machine d'usinage à
cycle automatique programmable.
Le terme "commande numérique" est générique et a été retenue parce que la
machine est commandée par des "consignes" numériques fournies par un
calculateur. En d'autres termes, on peut dire que les organes mobiles de la machine
sont motorisés et qu'un automatisme assure la commande et dans la plupart des cas
le contrôle de la position et/ou de la vitesse.
Ce type de machine se compose ainsi de deux parties complémentaires :
- la partie opérative (c'est la machine-outil : elle agit directement sur le produit à
réaliser);
- la partie commande (c'est la commande numérique : elle permet d'élaborer des
ordres en fonction des consignes et des comptes rendus).
2. Historique
La première MOCN daté de 1942.
La fabrication d’une came tridimensionnelle complexe avait obligé laBendix
Corporation (U.S.A.) de commander directement lesmouvements de la machine à
partir des définitions numériques des courbes produites par descalculateurs.
1955 : à Font du Lac (Wisconsin), le constructeur américain Giddins& Lewis
commercialise la première MOCN.
1959 : apparition de la CN en Europe (foire de Hanovre).
1964 : en France, la Télémécanique Electrique lance la CN NUM100 conçue à
base de relais Télésat.
1968 : la CN adopte les circuits intégrés ; elle devient plus compacte et plus
puissante.
1972 : les mini calculateurs remplacent les logiques câblées ; la CNdevient CNC.
1976 : développement des CN à microprocesseurs.
1984 : apparition de fonctions graphiques évoluées et du mode de
programmation conversationnel.
1986 : les CN s’intègrent dans les réseaux de communication, début de l’ère de
la fabrication flexible (CIM).
1990 : développement des CN à microprocesseurs 32 bits
4. Terminologie
CN: Commande Numérique.
CNC: Commande Numérique par Calculateur.
DCN: Directeur de Commande Numérique.
5. Domaines d’utilisation
Les M.O.C.N. conviennent surtout à la fabrication en petites et moyennes séries
renouvelables. Elles permettent la réalisation, sans démontage, de pièces complexes
comportant beaucoup d'opérations d'usinage.
Ce type de machine se situe à mi-chemin entre les machines conventionnelles très
"flexibles" (souple d'utilisation) réservées aux travaux unitaires (prototypes,
maintenance) et les machines transferts, très productives, réservées aux grandes
séries.
Les MOCN sont employées dans de nombreux secteurs industriels:
Métallurgie, Bois, Textile…
Choix de la machine
Moyens humains
L’aspect humain est primordial pour obtenir une large adhésion de l’entreprise à
l’arrivée d’une MOCN. On veillera en particulier à expliquer clairement ce qu’est
Étude de rentabilité
1. Choix du système de CN
Déplacement en paraxial
Les trajectoires sont parallèles aux axes de déplacement et la vitesse de
déplacement (programmable) est contrôlée. Ce type de déplacement permet par
exemple des fraisages précis à vitesses imposées.
On trouve des applications en (dressage) de faces, cylindrage, rainurage…).
Moteurs
Pour l’activation des axes, quatre grands types de moteurs sont utilisés dans
les machines à Commande Numérique.
• Les moteurs hydrauliques ont été remplacés progressivement par des moteurs
électriques.
• Pour les petites machines à faible coût nécessitant peu de couple, les moteurs pas à
pas sont une solution intéressante. Le moteur pas à pas est un moteur du type tout ou
rien. Il donne un pas lors de l’envoi d’une impulsion. Il est possible de perdre des pas
si le train d’impulsions est trop rapide ou si le couple résistant est trop important.
• Pour les machines plus puissantes, devant garantir une bonne précision et un bon
état de surface en usinage, la solution retenue est le moteur à courant continu à aimant
permanent commandé par un variateur de vitesse.
• Les moteurs à courant continu à excitation shunt ou indépendante offrent une
grande souplesse de commande et une gamme de vitesse s étendue, mais ils nécessitent
un entretien fréquent des balais.
• Les moteurs asynchrones demandent la connaissance de la courbe couple-vitesse
de rotation.
• Moteurs linéaires : compte tenu des performances croissantes des
asservissements de machines, les vis à billes arrivent à leurs limites physiques, tant pour
leurs capacités d’accélération que pour leur tenue géométrique (flexion, flambage). C’est
pourquoi certains constructeurs entreprennent d’intégrer des moteurs linéaires pour
commander leurs mécaniques de machines
Cette nouvelle solution d’entraînement, qui consisteschématiquement à ouvrir un
moteur circulairepour le mettre à plat, présente les avantages suivants :
— très grandes vitesses de déplacement (plusieurs centaines de mètres par
minute);
— dynamique élevée ;
— grande raideur statique et dynamique ;
— construction simplifiée.
Liaison moteur-table
Les éléments utilisés doivent avoir le moins de jeu possible.
Vis à billes
Les filets de la vis sont remplacés par des gorges où circulent des billes d’acier.
Avantage :
• Jeux pratiquement nuls,
• Diminution des frottements,
• Vitesse de translation élevée (jusqu’à 15 m/mn).
Vérin
Avantage :
• Grande souplesse d’utilisation quel que soit la vitesse, transmission d’efforts
importants.
Inconvénients :
• Il reste des jeux de fonctionnement rattrapables par paramètres .
Glissières
Plusieurs cas peuvent se présenter :
• Traitées avec un revêtement auto lubrifiant (alliage de téflon et de bronze).
• Montées sur des patins à film d’huile.
• Montées sur des patins aérostatiques (surtout réservé aux machines à mesurer3D).
Capteurs
Types de capteurs :
Figure5: axes
Les repères d’axes sont toujours placés sur les outils, pointe pour le tour,au bout et
au centre pour une fraise.
L’axe Z Correspond à l’axe de la broche, le sens positif correspond à un
accroissement de la distance entre la pièce et l’outil.
L’axe X Correspond à l’axe suivant ayant le plus grand déplacement, le sens positif
correspond à un accroissement de la distance entre la pièce et l’outil.
L’axe Y forme avec les deux autres un trièdre trirectangle de sens direct
(Règle des trois doigts de la main droite).
Les axes de rotations correspondent au sens trigonométrique.
▪ A autour de X, sens A+ de Y vers Z
▪ B autour de Y, sens B+ de Z vers X
▪ C autour de Z, sens C+ de X vers Y
Les axes de translations supplémentaires sont appelés :
▪ U parallèle à l’axe X
▪ V parallèle à l’axe Y
▪ W parallèle à l’axe Z
1. Origine mesure(Om) :
2. Origine Machine(OM) :
5. Origine pièce(Op) :
Il s’agit d’un point « palpable » sur la pièce dont ses coordonnées X, Y et Z sont
définies par rapport à l’origine mesure (point W).
Dans beaucoup de cas, l’origine programme et l’origine pièce sont confondues.
C’est le point sur le quel s’effectue la coupe. Il est définit par rapport au PPM
(point P).
ABDELHAK KHETTAB / OFPPT Page 20
Les DCN autorisent généralement la mise en place de six repères pièces différents
appelés aussi coordonnées de travail : G54, G55, G56, G57, G58 et G59.
Par défaut la machine utilise G54.
Ces différentes origines peuvent être utilisées dans le même programme afin de
permettre une translation de l’origine programme sans changer les valeurs des
déplacements dans le programme.
Adresse : lettre débutant un mot d’un langage machine, qui précise la fonction
généraleà commander : G, X, Y, Z, F, S, T, M.
N Numéro de bloc
G Fonction préparatoire
X Mouvement suivant l’axe X
Y Mouvement suivant l’axe Y
Z Mouvement suivant l’axe Z
l Coordonnée de l’axe du rayon en X
J Coordonnée de l’axe du rayon en Y
K Coordonnée de l’axe du rayon en Z
F Fonction vitesse d'avance ("Feed" = avance)
S Fonction vitesse de broche ("Speed" = vitesse)
T Fonction outil (Tool = outil)
M Fonction auxiliaire ("Miscellaneous" = varié, divers)
Remarque:
Un bloc peut contenir plusieurs codes G (mais un seul code M et T)
Le mot d’adresse N est facultatif
Le mot d’adresse T réalise immédiatement un changement d’outil sans attendre un
M06
Le caractère de fin de bloc est le (;)
I. Fonctions préparatoires
Fonctions définies par l’adresse G et préparant la logique à un type de calcul ou à
une action déterminée.
G01
Interpolation linéaire à vitesse contrôlée (modal)
La vitesse d’avance doit être introduite avant ou dans le même bloc
G02/G03
G02- Interpolation circulaire dans le sens horaire (modal).
G03- Interpolation circulaire dans le sens antihoraire (modal).
Les déplacements se font à la vitesse programmée.
En plus des coordonnées du point d’arrivée, il faut introduire les coordonnées du
centre du cercle avec les adresses I, J, K, relativement du point de départ au centre
de l’arc.
10.1.5. Unités
Dans le même programme, les deux modes peuvent être utilisés en alternance
Les programmes sont plus simples à éditer en mode absolu
Les sous-programmes sont plus simples à utiliser en mode relatif
G94 Avance par minute (modal) : la valeur spécifiée après le code F donne
l’avance en mm/min.
G95 Avance par tour (modal) : la valeur spécifiée après le code F donne l’avance
en mm/tr.
Ex :
T01M06
V. Fonction auxiliaire M
G43 H2Z50;
Z5;
G1Z-5 F150 M8;
G41D2 X0Y0;
Y40;
G2 X8 Y48 R8(R8 =I8J0 );
G1 X38 ;
G3 X48 Y38 R10 (R10 =I10 J0);
G1 Y10;
X38 Y0;
X-11 ;
G40Y-11 ;
G0 Z50 ;
T3 M6 (Foret Ø6);
S2000 M3;
G0 X14 Y8;
G43 H3 Z2;
ABDELHAK KHETTAB / OFPPT Page 37
G1 Z-7 F200 M8 ;
G0 Z2 ;
X8 Y25;
G1 Z-7 ;
G0 Z2 ;
X40 Y25;
G1 Z-7 ;
G0 Z2 ;
X36 Y8;
G1 Z-7 ;
G0 Z50 ;
T4 M6 (fraise 2T Ø6) ;
X19 Y19;
G43 H4 Z2 ;
G1 Z-5 F200 M8 ;
G91 X12 ;
Y12;
X-12 ;
Y-12 ;
Y4;
X8 ;
Y4;
X-8 ;
G90 Z50 ;
G91 G28 Z0;
M5;
M9;
M30;
M97 Exemple :
%
O00001 ;
M97 P100 L4 (APPELLE LA SOUS-ROUTINE N100) ;
M30 ;
N100 (SOUS-ROUTINE) ;
M00 ;
M99 (REVIENT AU PROGRAMME PRINCIPAL) ;
%
Ce code est utilisé pour appeler un sous-programme ; le format est M98 Pnnnn(Pnnnn
est le numéro du programme appelé). Le sous-programme doit être sur la liste des
programmes et doit contenir un M99 pour le retour au programme principal. Un compte Lnn
peut être placé sur la ligne contenant le M98 et fera que le sous-programme sera appelé
nnfois avant de passer au bloc suivant.
Lorsqu'un sous-programme M98 est appelé, le contrôle recherche le sous-programme sur
le lecteur actif, puis dans la mémoire si le sous-programme ne peut pas être localisé. Le
lecteur actif peut être la mémoire. le lecteur USB ou le disque dur. Une alarme se
déclenche si la commande ne trouve pas le sous-programme dans le lecteur actif ou
la mémoire.
NOTE: Le sous-programme est un programme séparé (O00100) du
programme principal (O00002).
%
O00002 ;
Codes M (Fonctions diverses)
354
M98 P100 L4 (APPELLE SOUS O00100 4 FOIS) ;
M30 ;
%%
O00100 (SOUS-PROGRAMME) ;
M00 ;
M99 (REVENIR AU PROGRAMME PRINCIPAL) ;
%
Le programme d’usinage est écrit en faisant abstraction des dimensions des outils.
Toutefois, la trajectoire réelle des organes mobiles de la MOCN doit impérativement
Ces deux codes G sont utilisés au fraisage des formes circulaires. Elles sont différentes
seulement en ce qui concerne la direction de rotation utilisée. Les deux codes G emploient
le plan circulaire XY prédéfinit (G17) et impliquent l'utilisation du G42 (compensation de
fraise) pour G12 et G41 pour G13. Ces deux codes G sont non-modaux.
*D Sélection de rayon ou diamètre d'outil
F - Vitesse d'avance
I - Rayon du premier cercle (ou du cercle fini s'il n'y a pas de K). I - La valeur I doit être
supérieure au rayon de l'outil, mais inférieure à la valeur K.
K - Rayon du cercle fini (si spécifié)
L - Compte de boucle pour répéter des coupes plus profondes
Q - Incrément du rayon ou sauter (doit s'utiliser avec K)
Z - Profondeur de la coupe ou incrément
*Pour obtenir le diamètre du cercle programmé, le système de commande utilise la
dimension d'outil du code D sélectionné. Pour programmer l'axe d'outil, sélectionner D0
Exemple de programme
O4000(0.500 entré dans la colonne de correction
Rayon/Diamètre) ;
T1 M06 (l'outil #1 est une fraise en bout de diamètre
0.500 pouce) ;
G00 G90 G54 X0 Y0 S4000 M03 ;
G43 H01 Z.1 M08 ;
G01 Z0 F30. ;
G13 G91 Z-.5 I.400 K2.0 Q.400 L4 D01 F20. ;
G00 G90 Z1.0 M09 ;
G28 G91 Y0 Z0 ;
M30 ;
Les cycles fixes sont utilisés pour simplifier la programmation. Is sont utilisés
pour des opérations qui se répètent, telles que le perçage, le taraudage et l'alésage. Le
cycle pré-programmé est exécuté chaque fois qu'un mouvement sur l'axe X et/ou Y
est programmé.
Remarque:
Dépendant du cycle sélectionné, seuls les mots nécessaires sont déclarés
Ce code G non-modal doit s'utiliser avec l'un des cycles pré-programmés G73, G74,
G76, G77, ou G81-G89. Un cycle pré-programmé doit être actif de manière que, sur
chaque position, on réalise une fonction de perçage ou de taraudage. Voir également la
section des cycles préprogrammés des codes G.
Exemple de programme :
%
O01975 (G71 Exemple) ;
M06 T1 ;
M03 S1500 ;
G54 G00 G90 X0. Y0. ;
G43 H01 Z2 ;
G81 G98 Z-25. R2 F300. L0 (L0 sur G81 ne perce pas un trou au centre du cercle de
trous de boulons) ;
G71 I52. J30.K40. L9 (Perce 9 trous faisant un angle de 40 degrés entre 2 trous
consécutifs sur un diamètre de 104mm, le 1er trou fait un angle de 30 degrés avec X)
G80 G00 Z1. ;
M05 ;
M30 ;
%
F - Vitesse d'avance
I - Profondeur du premier perçage avant dégagement
J - Valeur de réduction de profondeur de perçage à chaque passe
K - Profondeur de perçage minimale (le contrôle calcule le nombre de perçage)
L - Nombre de répétitions (Nombre de trous à percer) si l'on utilise G91 (Mode incrémentiel)
P - Pause au fond du trou (en secondes)
Q - Profondeur de perçage (à chaque dégagement), toujours incrémentiel
R - Position du plan R (Distance au-dessus de la surface de pièce)
X - Position du trou sur axe X
Y - Position du trou sur axe Y
Z - Position d'axe Z au fond du trou
F - Vitesse d'avance
I - La valeur de déplacement sur l'axe X avant le retrait, si Q n'est pas spécifié
J - La valeur de déplacement sur l'axe Y avant le retrait, si Q n'est pas spécifié
L - Nombre de trous à percer si l'on utilise G91 (Mode incrémentiel)
P - Temps de pause au fond du trou
Q - Valeur du décalage, toujours incrémentielle
R - Position du plan R (position en dessus de la pièce)
X - Position du trou sur axe X
Y - Position du trou sur axe Y
Z - Position d'axe Z au fond du trou
F - Vitesse d'avance
I - La valeur de déplacement sur l'axe X avant le retrait, si Q n'est pas spécifié
J - La valeur de déplacement sur l'axe Y avant le retrait, si Q n'est pas spécifié
L - Nombre de trous à percer si l'on utilise G91 (Mode incrémentiel)
Q - Valeur du décalage, toujours incrémentielle
R - Position du plan R (position en dessus de la pièce)
X - Position du trou sur axe X
Y - Position du trou sur axe Y
Z - Position d'axe Z au fond du trou
En plus de l'alésage du trou, ce cycle déplacera l'axe X et/ou Y avant et après la coupe
pour dégager l'outil pendant l'entrée et la sortie de la pièce (voir G76 pour un exemple du
mouvement de déplacement). Le Réglage 27 détermine la direction de déplacement. Si Q
n'est pas spécifié, les valeurs optionnelles I et J sont utilisées pour déterminer la direction
et la distance du décalage.
Ce code G désactivera tous les cycles pré-programmés jusqu'à ce qu'un autre soit
F - Vitesse d'avance
L - Nombre de trous à percer si l'on utilise G91 (Mode incrémentiel)
R - Position du plan R (position en dessus de la pièce)
X - Commande de déplacement d'axe X
Y - Commande de déplacement d'axe Y
Z - Position d'axe Z au fond du trou
F - Vitesse d'avance
L - Nombre de trous si l'on utilise G91 (Mode incrémentiel)
P - Temps de retard au fond du trou
R - Position du plan R (position en dessus de la pièce)
X - Position du trou sur axe X
Y - Position du trou sur axe Y
Z - Position au fond du trou
F - Vitesse d'avance
J - Retrait multiple (Exemple : J2 se retirera deux fois plus vite que la vitesse de coupe,
voir aussi Réglage 130)
L - Nombre de trous si l'on utilise G91 (Mode incrémentiel)
R - Position du plan R (position en dessus de la pièce)
X - Position du trou sur axe X
Y - Position du trou sur axe Y
Z - Position d'axe Z au fond du trou
S - Vitesse de broche optionnelle
NOTE: Il n'est pas nécessaire de commande un démarrage de broche (M03 /
F - Vitesse d'avance
L - Nombre de trous si l'on utilise G91 (Mode incrémentiel)
R - Position du plan R (position en dessus de la pièce)
X - Position du trou sur axe X
Y - Position du trou sur axe Y
Z - Position d'axe Z au fond du trou
F - Vitesse d'avance
L - Nombre de trous si l'on utilise G91 (Mode incrémentiel)
R - Position du plan R (position en dessus de la pièce)
X - Position du trou sur axe X
F - Vitesse d'avance
L - Nombre de trous si l'on utilise G91 (Mode incrémentiel)
R - Position du plan R (position en dessus de la pièce)
X - Position du trou sur axe X
Y - Position du trou sur axe Y
Z - Position d'axe Z au fond du trou
Le code G arrêtera la broche lorsque l'outil au fond du trou. A ce point l'outil est
progressivement avancé manuellement hors du trou. Le programme continue lorsqu'on
appuie sur [CYCLE START].