Avant de comprendre ou d'apprendre la programmation CNC, nous devons d'abord clarifier les connaissances que nous devons maîtriser.
Quelles sont les compétences ou les connaissances à acquérir avant de comprendre ou d'apprendre la programmation CNC ?
1. Il peut être utile de disposer de solides bases en mécanique et de connaissances en géométrie des pièces et en conception de montages, car cela permet de mieux comprendre les procédés d'usinage et les composants à programmer.
2. La programmation CNC englobe à la fois la programmation manuelle et la programmation automatique. La programmation manuelle implique souvent d'écrire directement du code, ce qui nécessite des bases en mathématiques et une bonne compréhension du système de coordonnées cartésiennes et des directions des axes (X, Y, Z et leurs valeurs négatives). Ces connaissances sont essentielles pour une programmation précise.
3. Tout en apprenant le dessin rapide en 2D et Modélisation CAO (La conception 3D) peut aider à comprendre les aspects visuels de la programmation CNC, mais ce n'est pas nécessairement une condition préalable.
4. Une passion pour les machines et un intérêt pour les performances et le fonctionnement de certaines marques spécifiques (telles que Mitsubishi, FANUC, Siemens et Haas) peuvent renforcer la motivation et l'implication. Cependant, il n'est pas strictement nécessaire d'avoir une expérience pratique de l'utilisation des machines pour commencer à apprendre la syntaxe de la programmation CNC.
5. L'observation du fonctionnement réel des machines CNC sur site, y compris des aspects tels que la vitesse de l'outil, la vitesse d'avance et la profondeur de coupe, peut fournir des informations précieuses et des connaissances pratiques susceptibles d'améliorer les compétences en matière de programmation CNC.
6. L'apprentissage diligent, la pensée critique, la prise de notes approfondie et l'apprentissage à partir des erreurs sont essentiels pour un apprentissage efficace et la maîtrise de la programmation CNC ou de toute autre compétence.
Quels sont les outils logiciels utilisés dans la programmation des commandes numériques ?
| Catégorie de logiciels | Nom du logiciel |
|---|---|
| Conception assistée par ordinateur (CAO) | AutoCAD, SolidWorks, Fusion 360, CATIA, Siemens NX |
| Fabrication assistée par ordinateur (FAO) | Mastercam, CAMWorks, PowerMill, GibbsCAM, Edgecam |
| Éditeurs de code G | Notepad++, Visual Studio Code, Gedit, Sublime Text |
| Simulation et vérification | Vericut, NCSIMUL, CAMotics, MachineWorks |
| Contrôle des machines et communication | Fanuc CNC Guide, Siemens Sinumerik Operate, Haas Control Simulator, Mach3 |
Programmation manuelle et programmation automatique dans la programmation CNC
Comme nous l'avons déjà mentionné, il existe deux approches principales de la programmation CNC : la programmation manuelle et la programmation automatique.
Programmation manuelle :
La programmation manuelle consiste à écrire directement le code du programme CNC à l'aide d'un éditeur de texte ou d'un logiciel spécialisé. Le programmeur doit maîtriser les capacités de la machine CNC ainsi que le langage G-code (normalisé selon le format RS-274) [1]), ainsi que la syntaxe spécifique requise par le contrôleur de la machine.
Le processus de programmation manuelle implique généralement
L'écriture de lignes individuelles d'instructions de code G pour définir les mouvements d'outils, les vitesses de broche, les vitesses d'avance et d'autres paramètres.
Calculer les coordonnées précises des trajectoires d'outils en fonction de la géométrie de la pièce à l'aide de calculs mathématiques et de la trigonométrie.
Tenir compte des changements d'outils, de la configuration de la pièce, des décalages d'outils et d'autres facteurs pour garantir la précision et l'efficacité des opérations d'usinage.
La programmation manuelle permet un contrôle précis du processus d'usinage, ce qui permet de personnaliser et d'affiner le code. Elle est souvent utilisée dans des applications d'usinage complexes ou uniques pour lesquelles la programmation automatique n'est pas toujours adaptée ou efficace.
Programmation automatique :
La programmation automatique, communément appelée « fabrication assistée par ordinateur » (FAO), consiste à utiliser un logiciel spécialisé pour générer automatiquement des programmes CNC. Le logiciel génère le code du programme à partir de données telles que la géométrie de la pièce, les informations relatives à l'outillage, les opérations d'usinage et d'autres paramètres.
Le processus de programmation automatique comprend généralement les éléments suivants :
Importation ou création d'un modèle 3D ou d'un fichier CAO de la pièce à usiner.
Définir les opérations d'usinage, l'outillage et les paramètres d'usinage dans le logiciel de FAO.
Le logiciel génère automatiquement le code du programme CNC, y compris les trajectoires d'outils, les vitesses, les avances et autres instructions.
La programmation automatique offre plusieurs avantages, notamment une productivité accrue, une réduction du temps de programmation et la possibilité de simuler et d'optimiser les trajectoires d'outils avant l'usinage. Elle est couramment utilisée dans les industries produisant de grands volumes ou effectuant des tâches d'usinage répétitives.
La programmation manuelle et la programmation automatique ont toutes deux leurs mérites. Elles sont utilisées en fonction des exigences spécifiques du projet, de la complexité de la pièce, de l'expertise du programmeur et d'autres facteurs. De nombreux programmeurs de CNC utilisent des techniques de programmation manuelle et automatique pour obtenir les meilleurs résultats.
Étapes de la programmation CNC
Déroulement de la programmation manuelle
1. Analyse du dessin de la pièce et planification du processus : Il s'agit d'analyser le dessin de la pièce, de comprendre les dimensions et les exigences techniques, de déterminer le plan de traitement et de séquencer les opérations, la conception de luminaires si nécessaire, en sélectionnant les outils appropriés et en planifiant la trajectoire de l'outil et les paramètres de coupe.
2. Traitement mathématique : un système de coordonnées de la pièce est établi en fonction des caractéristiques géométriques de celle-ci. La trajectoire de l'outil est calculée dans ce système de coordonnées, en tenant compte des points de départ et d'arrivée des éléments géométriques, des centres d'arcs de cercle, ainsi que des points d'intersection ou de tangence entre les éléments géométriques. Pour les profils 2D standard, on utilise la trigonométrie de base pour déterminer les points d'intersection. (Remarque : le calcul manuel de points discrets pour des surfaces 3D complexes est aujourd'hui pratiquement obsolète et est entièrement pris en charge par les logiciels de FAO).
3. Rédaction de la liste du programme de la pièce : L'itinéraire de traitement et les paramètres de traitement déterminés sont traduits en code de commande du système CNC et en format de segment de programme. Le programme de pièces est écrit ligne par ligne, en suivant la syntaxe et les conventions de programmation spécifiées.
4. Saisie des programmes : alors que les générations précédentes utilisaient des bandes perforées, les machines CNC modernes chargent principalement les programmes via des clés USB, des réseaux Ethernet, le Wi-Fi ou des connexions DNC (Direct Numerical Control), le clavier MDI de la machine n'étant utilisé que pour des modifications mineures.
5. Vérification du programme et première coupe d'essai : le programme écrit doit être vérifié et testé avant l'usinage. La vérification consiste à contrôler la trajectoire de déplacement de la machine en exécutant le programme sans usiner la pièce, un processus de validation standard communément appelé “ essai à vide ” (coupe à vide). Si la machine CNC dispose d’un écran graphique, la simulation permet de visualiser le processus de coupe de l’outil. Cependant, la première coupe d’essai sur la pièce réelle est cruciale pour évaluer la précision des pièces usinées et apporter les ajustements nécessaires aux paramètres de coupe et aux trajectoires d’outils.
Déroulement de la programmation automatique
1. Importation ou création d'un modèle CAO
La première étape consiste à importer un modèle 3D de la pièce à usiner dans le logiciel de FAO. Le modèle 3D peut être importé d'un logiciel de CAO ou créé directement dans le logiciel de FAO.
2. Définir les opérations d'usinage
Ensuite, le programmeur définit les opérations d'usinage à réaliser sur la pièce. Cela implique notamment de préciser Fraisage CNC des opérations telles que l'ébauche, la finition, le perçage, le contournage et le creusement de poches. Chaque opération comporte des paramètres spécifiques, tels que le choix de l'outil, les vitesses et avances de coupe, les profondeurs de coupe, les pas de coupe et les surépaisseurs.
3. Génération de parcours d'outils
En fonction des opérations d'usinage définies, le logiciel de FAO génère une trajectoire d'outil représentant le déplacement de l'outil et la stratégie d'usinage sur les surfaces de la pièce. Les trajectoires d'outil sont calculées en tenant compte de facteurs tels que la géométrie de l'outil, son orientation, la prévention des collisions et des algorithmes avancés d'optimisation cinématique. [2].
4. Simulation et vérification
Une fois les parcours d'outils générés, le programmeur peut simuler le processus d'usinage dans le logiciel de FAO. Cette simulation permet de visualiser le mouvement de l'outil, de détecter toute collision ou erreur potentielle et de s'assurer que le parcours d'outil est optimisé et adapté à la pièce.
5. Post-traitement
Une fois le parcours d'outil finalisé et vérifié, le logiciel de FAO effectue un post-traitement. Il s'agit de convertir le parcours d'outil en instructions G-code spécifiques à la machine, que la machine CNC peut comprendre. Le post-processeur adapte le code G aux exigences particulières de syntaxe et de formatage du contrôleur de la machine CNC cible.
6. Transfert vers la machine CNC
Le programme de code G généré est transféré à la machine CNC par le biais d'une connexion directe ou d'un support de stockage externe tel qu'une clé USB ou des transferts en réseau. Le programme est chargé dans le contrôleur de la machine, prêt à être exécuté.
7. Configuration et exécution de la machine
Avant d'exécuter le programme CNC, la machine est réglée avec les dispositifs de maintien au travail, les outils de coupe et l'alignement de la pièce à usiner appropriés. Une fois que tout est en place, le programme CNC est exécuté et la machine effectue les opérations d'usinage programmées sur la pièce.
code différent dans la programmation de la CNC
Codes G (codes préparatoires)
Codes G sont utilisés pour définir diverses fonctions et opérations préparatoires. Ces codes spécifient le déplacement de l'outil, les modes d'usinage, les systèmes de coordonnées et d'autres paramètres. Parmi les codes G courants, on trouve notamment G00 (positionnement rapide), G01 (interpolation linéaire), G02/G03 (interpolation circulaire), G17/G18/G19 (sélection de plan) et G90/G91 (positionnement absolu/incrémental).
Codes M (codes divers)
Les codes M sont utilisés pour contrôler diverses fonctions de la machine, telles que le fonctionnement de la broche, liquide de refroidissement marche/arrêt, changement d'outil et arrêt de la machine. Ils varient en fonction de la marque et du modèle de la machine. Les exemples de codes M sont les suivants : M03/M04 (broche en marche dans le sens des aiguilles d'une montre/en marche arrière), M05 (arrêt de la broche), M06 (changement d'outil) et M08/M09 (activation/désactivation du liquide de refroidissement).
Codes T (sélection d'outils)
Les codes T sont utilisés pour spécifier le numéro d'outil ou le décalage d'outil à utiliser pour l'usinage. Ces codes indiquent quel outil du magasin d'outils ou du porte-outil doit être engagé pour une opération particulière. Par exemple, T01 sélectionne l'outil numéro 1, T03 l'outil numéro 3, etc.
Code S (vitesse de la broche)
Le code S est utilisé pour définir la vitesse de broche souhaitée pour l'opération d'usinage. La valeur qui suit le code S représente la vitesse de la broche en tours par minute (RPM). Par exemple, S1000 définit la vitesse de la broche à 1000 tours par minute.
Code F (vitesse d'avance)
Le code F est utilisé pour spécifier la vitesse d'avance à laquelle l'outil se déplace le long de la trajectoire programmée. La valeur qui suit le code F représente la vitesse d'avance en unités par minute. Par exemple, F200 définit la vitesse d'avance à 200 unités par minute.
Codes des axes X, Y, Z et autres
Ces codes spécifient les coordonnées et les positions de l'outil le long de différents axes. Le code X représente la position le long de l'axe X, le code Y représente la position le long de l'axe Y et le code Z représente la position le long de l'axe Z. Des codes d'axes supplémentaires peuvent être utilisés pour les machines comportant plusieurs axes, tels que A, B, C, etc.
Codes Dwell
Les codes d'arrêt temporaire permettent de mettre la machine en pause à un emplacement précis ou pendant une durée déterminée. La durée d'arrêt est spécifiée à l'aide du code P, qui indique cette durée en secondes. Par exemple, la commande G04 X2,0 (ou G04 P2000, car l'adresse P utilise généralement des millisecondes dans les commandes Fanuc standard) entraînerait un arrêt de la machine pendant 2 secondes.
Parmi les différents codes utilisés dans la programmation CNC, le code G est le plus répandu. Les codes G sont essentiels à la programmation CNC, car ils définissent les mouvements de la machine (régis par la norme ISO 6983) et contrôlent divers aspects du processus d'usinage.
Le mot de la fin
La programmation CNC implique de nombreuses considérations cruciales qui méritent une attention particulière. Si l'occasion se présente, j'ai l'intention de consacrer un article à l'avenir pour discuter de manière exhaustive des aspects clés qui requièrent une attention particulière dans la programmation CNC.
Référence
[1] Kramer, T. R., Proctor, F. M. et Messina, E. R. (2000). L'interpréteur NIST RS274NGC – Version 3. Institut national des normes et des technologies (NIST). https://doi.org/10.6028/NIST.IR.6556
[2] Altintas, Y. (2012). Automatisation industrielle : mécanique de l'usinage des métaux, vibrations des machines-outils et conception CNC (2e éd.). Cambridge University Press. https://doi.org/10.1017/CBO9780511843723












