Les fonctions programmables des machines-outils CNC sont divisées en deux catégories :
Une catégorie est utilisée pour contrôler la trajectoire de l'outil, c'est-à-dire le mouvement de chaque axe d'alimentation, comme l'interpolation linéaire/circulaire, le contrôle de l'avance, le décalage et la transformation de l'origine du système de coordonnées, le réglage des unités de dimension, le décalage et la compensation de l'outil, etc. Cette catégorie de fonctions est appelée fonctions préparatoires, constituées de la lettre G suivie de deux chiffres, également appelées codes G-.
L'autre catégorie de fonctions est appelée fonctions auxiliaires, utilisées pour compléter le contrôle de l'exécution du programme, le contrôle de la broche, le contrôle des outils, le contrôle des équipements auxiliaires, etc. Parmi ces fonctions auxiliaires, Tx x est utilisée pour la sélection des outils et Sx xxx est utilisée pour contrôler la vitesse de la broche. D'autres fonctions sont implémentées à l'aide de codes M- composés de la lettre M suivie de deux chiffres.
1. Fonctions de code G-couramment utilisées
Positionnement G00 (traversée rapide)
G01 Interpolation linéaire (avance)
G02 Interpolation circulaire dans le sens des aiguilles d'une montre
G03 Interpolation circulaire dans le sens antihoraire
G04 Pause, arrêt précis
G09 Arrêt précis
G17 Sélectionner le plan X/Y
G18 Sélectionner le plan Z/X
G19 Sélectionner le plan Y/Z
Point de référence de retour et de contrôle G27
G28 Retour au point de référence
G29 Retour du point de référence
G30 Retour au deuxième point de référence
G40 Annuler la compensation du rayon d'outil
G41 Compensation du rayon d'outil gauche
Compensation de rayon d'outil droit G42
G43 Compensation de longueur d'outil +
G44 Compensation de longueur d'outil -
G49 Annuler la compensation de longueur d'outil
G52 Définir le système de coordonnées locales
G53 Sélectionner le système de coordonnées machine
G54 Sélectionner le système de coordonnées pièce 1
G55 Sélectionner le système de coordonnées pièce 2
G56 Sélectionner le système de coordonnées pièce 3
G57 Sélectionner le système de coordonnées pièce 4
G58 Sélectionner le système de coordonnées pièce 5
G59 Sélectionner le système de coordonnées pièce 6
G60 Positionnement unidirectionnel-
G61 Mode d'arrêt précis
G64 Mode de coupe
Appel du programme Macro G65
G66 Appel de programme macro modal
G67 Annuler l'appel du programme macro modal
G73 Cycle fixe de perçage de trous profonds
G74 Cycle fixe de taraudage inversé
G76 Cycle fixe d'alésage fin
G80 Annuler le cycle fixe
G81 Cycle fixe de perçage
G82 Cycle fixe de perçage
G83 Cycle fixe de perçage de trous profonds
G84 Cycle fixe de taraudage
G85 Alésage à cycle fixe
G86 Cycle fixe ennuyeux
G87 Cycle fixe d'alésage inversé
Cycle fixe d'alésage G88
Cycle fixe d'alésage G89
Mode de commande de valeur absolue G90
Mode de commande de valeur incrémentale G91
G92 Réglage du point zéro de la pièce
G98 Cycle fixe retour au point initial
G99 Retour à cycle fixe au point R
2. Fonctions du code M couramment utilisées
M00 Pause programme
M01 Arrêt conditionnel du programme
M02 Fin du programme
Rotation avant de la broche M03
Rotation inverse de la broche M04
Arrêt de broche M05
Échange d'outils M06
M08 Refroidissement activé
M09 Refroidissement
Orientation de la broche M18 Annuler
Orientation de la broche M19
Taraudage rigide M29
Fin du programme M30 et retour à l'en-tête du programme
Appel de sous-programme M98
M99 Fin du sous-programme Retour/Répétition de l'exécution
3. Arithmétique commune
Ajout : #i=#j + #k
Soustraction : #i=#j - #k
Multiplication : #i=#j * #k
Division : #i=#j / #k
Sinus : #i=SIN[#j]
Arc sinus : #i=ASIN[#j]
Cosinus : #i=COS[#j]
Cosinus inverse : #i=ACOS[#j]
Tangente : #i=TAN[#j]
Arctangente : #i=ATAN[#j]
Racine carrée : #i=SQRT[#j]
Valeur absolue : #i=ABS[#j]
Arrondi : #i=ROND[#j]
Arrondi des nombres entiers : #i=FIX[#j]
Arrondissement des nombres entiers : #i=FUP[#j]
Logarithme naturel : #i=LN[#j]
Fonction exponentielle : #i=EXP[#j]
OU : #i=#j OU #k
XOR : #i=#j X OU #k
ET : #i=# ET #k
Convertir de BCD en BIN : #i=BIN[#j]
Convertir de BIN en BCD : #i=BCD[#j]
4. Opérateurs logiques
EQ : égal à
NE : n'est pas égal à
GT : Supérieur à
GE : Supérieur ou égal à
LT : moins de
LE : Inférieur ou égal à
5. Transfert de programme et boucles
Transfert inconditionnel : GOTO
Transfert conditionnel : IF [expression conditionnelle]
IF [expression conditionnelle] GOTO n, si la condition est remplie, passer au segment de programme n
SI [expression conditionnelle] ALORS, par exemple : SI [#I=#J] ALORS #K=0
6. Instructions de boucle
WHILE [expression conditionnelle] Dom (m=1,2,,3)
…
Si la condition est remplie, exécuter le programme de Dom à ENDm (jusqu'à ce que la condition ne soit plus remplie) ; sinon, exécutez le programme après





