Las funciones programables de las máquinas herramienta CNC se dividen en dos categorías:
Una categoría se utiliza para controlar la trayectoria de la herramienta, es decir, el movimiento de cada eje de avance, como interpolación lineal/circular, control de avance, desplazamiento y transformación del origen del sistema de coordenadas, configuración de unidades de dimensión, desplazamiento y compensación de la herramienta, etc. Esta categoría de funciones se denomina funciones preparatorias y consta de la letra G seguida de dos dígitos, también conocida como códigos G-.
La otra categoría de funciones se denomina funciones auxiliares, que se utilizan para completar el control de ejecución del programa, control del husillo, control de herramientas, control de equipos auxiliares, etc. Entre estas funciones auxiliares, Tx x se utiliza para la selección de herramientas y Sx xxx se utiliza para controlar la velocidad del husillo. Otras funciones se implementan utilizando códigos M-que constan de la letra M seguida de dos dígitos.
1. Funciones de código G-de uso común
Posicionamiento G00 (avance rápido)
G01 Interpolación lineal (velocidad de avance)
G02 Interpolación circular en sentido horario
G03 Interpolación circular en sentido antihorario
G04 Pausa, parada precisa
G09 Parada precisa
G17 Seleccionar plano X/Y
G18 Seleccionar plano Z/X
G19 Seleccionar plano Y/Z
G27 Punto de referencia de devolución y cheque
G28 Regreso al Punto de Referencia
G29 Retorno desde el punto de referencia
G30 Regreso al segundo punto de referencia
G40 Cancelar compensación de radio de herramienta
G41 Compensación del radio de la herramienta izquierda
Compensación del radio de la herramienta derecha G42
G43 Compensación de longitud de herramienta +
Compensación de longitud de herramienta G44 -
G49 Cancelar compensación de longitud de herramienta
G52 Establecer sistema de coordenadas local
G53 Seleccionar sistema de coordenadas de la máquina
G54 Seleccionar sistema de coordenadas de pieza de trabajo 1
G55 Seleccionar sistema de coordenadas de pieza 2
G56 Seleccionar sistema de coordenadas de pieza 3
G57 Seleccionar sistema de coordenadas de pieza 4
G58 Seleccionar sistema de coordenadas de pieza 5
G59 Seleccionar sistema de coordenadas de pieza 6
G60 Posicionamiento en una sola dirección-
G61 Modo de parada precisa
Modo de corte G64
Llamada al programa de macros G65
G66 Llamada de programa de macro modal
G67 Cancelar llamada al programa de macro modal
G73 Ciclo fijo de taladrado profundo
G74 Ciclo fijo de roscado inverso
G76 Ciclo fijo de mandrinado fino
G80 Cancelar ciclo fijo
G81 Ciclo fijo de taladrado
G82 Ciclo fijo de taladrado
G83 Ciclo fijo de taladrado profundo
G84 Ciclo fijo de roscado
G85 Ciclo fijo de mandrinado
G86 Ciclo fijo aburrido
G87 Ciclo fijo de mandrinado inverso
Ciclo fijo de mandrinado G88
G89 Ciclo fijo de mandrinado
Modo de comando de valor absoluto G90
G91 Modo de comando de valor incremental
G92 Ajuste del punto cero de la pieza de trabajo
G98 Ciclo fijo Regreso al punto inicial
G99 Ciclo fijo Regreso al punto R
2. Funciones de código M comúnmente utilizadas
M00 Pausa del programa
M01 Parada de programa condicional
M02 Fin del programa
M03 Rotación hacia adelante del husillo
M04 Rotación inversa del husillo
M05 Parada del husillo
Intercambio de herramientas M06
M08 Enfriamiento encendido
M09 Enfriamiento
Cancelar orientación del husillo M18
Orientación del husillo M19
Roscado rígido M29
M30 Fin del programa y regreso al encabezado del programa
Llamada a subrutina M98
M99 Fin de subrutina Retorno/Repetición de ejecución
3. Aritmética común
Suma: #i=#j + #k
Resta: #i=#j - #k
Multiplicación: #i=#j * #k
División: #i=#j / #k
Seno: #i=PECADO[#j]
Arcoseno: #i=ASIN[#j]
Coseno: #i=COS[#j]
Coseno inverso: #i=ACOS[#j]
Tangente: #i=TAN[#j]
Arctangente: #i=ATAN[#j]
Raíz cuadrada: #i=SQRT[#j]
Valor absoluto: #i=ABS[#j]
Redondeo: #i=ROUND[#j]
Redondeo de enteros: #i=FIX[#j]
Redondeo de enteros hacia abajo: #i=FUP[#j]
Logaritmo natural: #i=LN[#j]
Función exponencial: #i=EXP[#j]
O: #i=#j O #k
XOR: #i=#j X O #k
Y: #i=# Y #k
Convertir de BCD a BIN: #i=BIN[#j]
Convertir de BIN a BCD: #i=BCD[#j]
4. Operadores lógicos
EQ: Igual a
NE: No es igual a
GT: mayor que
GE: Mayor o igual a
LT: Menos de
LE: Menor o igual a
5. Transferencia de programa y bucles
Transferencia incondicional: IR A
Transferencia condicional: IF [expresión condicional]
IF [expresión condicional] GOTO n, si se cumple la condición, salta al segmento del programa n
SI [expresión condicional] ENTONCES, por ejemplo: SI [#I=#J] ENTONCES #K=0
6. Declaraciones de bucle
MIENTRAS [expresión condicional] Dom (m=1,2,,3)
…
Si se cumple la condición, ejecute el programa desde Dom hasta ENDm (hasta que ya no se cumpla la condición); de lo contrario, ejecute el programa después





