Dans cette sixième section, nous allons voir de plus près le fonctionnement des fichiers CAM et le code envoyé à la machine

Introduction

Afin de simplifier l’effort de programmation, un langage spécial existe pour la commande de robot. Ce code, appelé code-G, consiste en une série de commande et de paramètre indiquant les déplacements que la machine doit effectuer. Ce code prend son nom des commandes qui le constitue: elles commencent majoritairement pas la lettre G. Par exemple, une commande de déplacement linéaire est G01.

La vidéo suivante est une introduction au code-g:

Structure d’une routine en code G​

Un code G est au maximum composé de 999 999 lignes avec 256 caractères. Chaque ligne peut être composée des éléments suivants :

(Optionnel) « / », symbole pour ignorer la ligne dans le code
(Optionnel) Le numéro de la ligne
N’importe quelle combinaison de mots, paramètres et commentaires

Un retour à la ligne pour indiquer la fin de cette dernière

Note : Les espaces et indentations n’influencent pas la ligne. Ils peuvent être ajoutés n’importe où. Aussi, les lignes vides sont acceptées dans les codes g.

Commentaires

Avec PathPilot les commentaires s’écrivent entre parenthèses « (insérer commentaire) ».

Lettres

Les lettres sont les marqueurs commençant un mot et permettant de lui donner un sens en langage machine. 

A, B, CAxes ABC de la fraiseuse
DValeur de compensation pour le rayon de l’outil
FVitesse de déplacement
GFonctions/commandes générales
HValeur de compensation de la longueur de l’outil
I, J, KAxes XYZ du système de coordonnées angulaires
LNombre de répétitions d’un cycle d’usinage ou de sous-routines
MFonctions/commandes diverses
NNuméro de ligne
ONuméro/marqueur de sous-routine
PTemps d’arrêt
QAugmentation de vitesse dans les cycles d’usinage et sous-routines
RRayon d’arc ou niveau de rétraction d’un cycle d’usinage
SVitesse de rotation
TSélection d’outil
U, V, WSynonymes de ABC
X, Y, ZAxes ABC de la fraiseuse

Valeurs

Les valeurs réelles acceptées par PathPilot sont les suivantes :

Un nombre explicite
Une expression mathématique avec un opérateur (+, -, *, /, =)
Une valeur d’un paramètre (#~) 
Une opération unaire

Les valeurs réelles doivent respecter certaines règles :

Une valeur réelle doit s’écrire selon l’ordre de priorité suivant :

1.  (Optionnel) Un signe « + » ou « -« , par défaut considéré comme « + » 
2. Aucun ou plusieurs chiffres
3. (Optionnel) Un point « . » marquant la décimale
4. Aucun ou plusieurs chiffres
Il faut au moins un chiffre quelque part
Ce chiffre doit être un réel ou un entier
PathPilot accepte jusqu’à 17 chiffres significatifs
Une valeur non-nulle sans signe est considérée comme étant positif

Mot

Un mot est composé d’une lettre suivie d’une valeur réelle. Par exemple, les commandes G- et M- sont des mots. Ils sont soumis à certaines règles de « grammaire » au sein des lignes de codes :

Le nombre de commandes G sur une ligne n’est pas limité, mais il ne peut y avoir deux commandes du même groupe modal
Il peut y avoir 2 à 4 commandes M sur une ligne, mais il ne peut avoir deux commandes du même groupe modal
Pour les autres lettres, une ligne ne peut comporter qu’un seul mot commençant par cette lettre

Ordre de priorité

Les éléments d’une ligne sont exécutés dans un ordre précis respectant l’ordre d’exécution suivant :

1Commentaires
2G93, G94, G95
3F
4S
5M62 à M68 (non supporté)
6T
7M03, M04, M05
8M70, M73, M72, M71
9M07, M08, M09
10M48, M49, M50, M51, M52, M53
11M100 à M199
12G04
13G17, G18, G19
14G20, G21
15G40, G41, G42
16G43, G49
17G54 à G59
18G61, G61.1, G64
19G90, G91
20G98, G99
21G10, G92, G94
22G00 à G03, G12, G13, G80 à G89 si modifié par G53
23M00, M01, M02, M30, M60

Si plusieurs commandes présentent un souci de priorité, il sera nécessaire de les séparer sur plusieurs lignes de code.

Commandes

Commandes non-modales

Non-modale signifie que la commande va agir seulement sur la ligne où elle est appelée. L’ensemble de ces commandes forment un groupe, c’est-à-dire qu’elles ne peuvent pas être activées en même temps.

Groupe des commandes non-modales :  {G04G10G28G30G53G92G92.1G92.2G92.3}

G04Maintient les axes à l’arrêt pour X secondes
G10Programmer la correction axiale des outils
G28Déplacer l’outil rapidement et linéairement aux coordonnées prédéfinies
dans les paramètres 5161 à 5163
G30Déplacer l’outil rapidement aux coordonnées prédéfinies
dans les paramètres 5181 à 5183
G53Définit des coordonnées absolues
G92Applique une correction axiale temporaire

 

Commandes modales

Modale signifie qu’une fois que la commande est appelée elle reste en place jusqu’à ce qu’une nouvelle commande modifiant le même paramètre soit appelée. Les commandes modales sont regroupées en groupe. Plusieurs commandes modales du même groupe ne peuvent se retrouver sur la même ligne.

Commandes G (générales) :

Sélection du mode de déplacement{G00G01G02G03G33G38.xG73G76G80G81G82G84G85G86G87G88G89}
Sélection du plan actif{G17G18G19G17.1, G17.2G17.3}
Sélection du mode de position cartésienne XYZ{G90G91}
Sélection du mode de position angulaire IJK{G90.1G91.1}
Sélection du mode de vitesse de déplacement{G90G91}
Sélection du système unitaire{G20G21
Correction du rayon de coupe de l’outil{G40G41G42G41.1G42.1}
Correction de la longueur de l’outil{G43G43.1G49}
Sélection du point de retour après un cycle d’usinage{G98G99}
Sélection du système de coordonnées{G54G55G56G57G58G59G59.1G59.2G59.3}
Sélection du mode de contrôle de la trajectoire{G61G61.1G64}
Sélection du mode de contrôle de la vitesse de rotation{G96G97}
Sélection du mode de diamètre du tour{G07G08

Commandes M (diverses) :

Commandes d’arrêt{M00M01M02M30M60}
Commandes de rotation de la broche{M00M01M02M30M60}
Contrôle du liquide de refroidissement{M08M09} / {M07M09} (M07 et M08 peuvent être activées en même temps)
Ignorer les commandes d’alimentation et de vitesse{M48M49}
Commandes personnalisées{M100 -> M199}

! Commandes g-code et m-code valides pour les machines Tormach. Elles peuvent différer pour d’autres machines !

Cycles d’usinage

G80Arrête le cycle en cours
G81Cycle simple de perçage
G82Cycle simple de perçage avec pauses
G83Cycle de perçage profond en entonnoir
G73G83 rapide
G84Cycle de taraudage (Percer un trou complémentaire à une vis)
G85Cycle d’alésage – vitesse d’avance
G86Cycle d’alésage – arrêt rapide
G88Cycle d’alésage – arrêt définit
G89Cycle d’alésage – pause 

Références

Liste de codes acceptés par Pathpilot : Liste de codes supportés par PathPilot

G-code pour les nuls : Cnc Philosophy

Qu'as-tu retenu ? 🤔

Avant de passer à la section suivante, tu dois compléter l’examen validant cette section sur Moodlequiz.