01/12/2022
Sergio Alejandro Romero Quintero – 70157
Ingeniería Electromecánica 701
Manufactura asistida por computadora
Lenguaje de programación CNC
Las máquinas CNC disponen de un software que puede hacer funcionar tanto
tornos, como fresadoras, molinos, cortadoras láser, etc., y que el operario al cargo
puede gestionar a través del panel integrado en dicha máquina, o bien desde un
ordenador.
Esta programación esta basada en el establecimiento de operaciones definidas en
intervalos y ciclos concretos, designados por medio de letras y números.
Es decir, su sistema está basado en la programación/control de los movimientos a
realizar por dicha máquina a través de sus herramientas de corte, especificando el
1
01/12/2022
movimiento concreto para cada eje de coordenadas; ya sea X, Y para el control de
un torno CNC, X,Y, Z si también se asumen desplazamientos verticales, como el
caso de las fresas CNC, o incluso de más ejes.
Por otro lado, en cualquier programa CNC se pueden distinguir dos grupos
principales de información:
Datos geométricos: hacen referencia a los datos de las dimensiones del
contorno final de la pieza, a la descripción de los movimientos de la
máquina-herramienta, y a la posición de la pieza en el área de trabajo y los
puntos de referencia necesarios.
Datos tecnológicos: tienen que ver con información sobre la herramienta,
funciones auxiliares de la máquina y sobre las condiciones de corte.
Asimismo, el proceso de mecanizado CNC abarca diferentes operaciones
controladas por ordenador, como los procesos mecánicos, químicos, eléctricos o
térmicos necesarios para conseguir la pieza final. Y se pueden llevar a cabo
diferentes métodos o tipos de programación.
La programación nativa de la mayoría de las máquinas de Control Numérico
Computarizado se efectúa mediante un lenguaje de bajo nivel llamado G & M.
Se trata de un lenguaje de programación vectorial mediante el que se describen
acciones simples y entidades geométricas sencillas junto con sus parámetros de
maquinado.
El nombre G & M viene del hecho de que el programa está constituido por
instrucciones Generales y Misceláneas.
Códigos Generales
G00: Posicionamiento rápido (sin maquinar)
G01: Interpolación lineal (maquinando)
G02: Interpolación circular (horaria)
G03: Interpolación circular (antihoraria)
G04: Compás de espera
G10: Ajuste del valor de offset del programa
G20: Comienzo de uso de unidades imperiales (pulgadas)
G21: Comienzo de uso de unidades métricas
G28: Volver al home de la máquina
G32: Maquinar una rosca en una pasada
G36: Compensación automática de herramienta en X
G37: Compensación automática de herramienta en Z
G40: Cancelar compensación de radio de curvatura de herramienta
G41: Compensación de radio de curvatura de herramienta a la izquierda
2
01/12/2022
G42: Compensación de radio de curvatura de herramienta a la derecha
G70: Ciclo de acabado
G71: Ciclo de maquinado en torneado (escalera con progresión monótona
de cilindrados)
G72: Ciclo de maquinado en frenteado (escalera con progresión monótona
de frenteados)
G73: Repetición de patrón
G74: Taladrado intermitente, con salida para retirar virutas
G76: Maquinar una rosca en múltiples pasadas
G96: Comienzo de desbaste a velocidad tangencial constante
G97: Fin de desbaste a velocidad tangencial constante
G98: Velocidad de alimentación (unidades/min)
G99: Velocidad de alimentación (unidades/revolución)
Códigos Misceláneos
M00: Parada opcional
M01: Parada opcional
M02: Reset del programa
M03: Hacer girar el husillo en sentido horario
M04: Hacer girar el husillo en sentido antihorario
M05: Frenar el husillo
M06: Cambiar de herramienta
M07: Abrir el paso del refrigerante B
M08: Abrir el paso del refrigerante A
M09: Cerrar el paso de los refrigerantes
M10: Abrir mordazas
M11: Cerrar mordazas
M13: Hacer girar el husillo en sentido horario y abrir el paso de refrigerante
M14: Hacer girar el husillo en sentido antihorario y abrir el paso de
refrigerante
M30: Finalizar programa y poner el puntero de ejecución en su inicio
M31: Incrementar el contador de partes
M37: Frenar el husillo y abrir la guarda
M38: Abrir la guarda
M39: Cerrar la guarda
M40: Extender el alimentador de piezas
M41: Retraer el alimentador de piezas
M43: Avisar a la cinta transportadora que avance
M44: Avisar a la cinta transportadora que retroceda
M45: Avisar a la cinta transportadora que frene
M48: Inhabilitar Spindle y Feed override (maquinar exclusivamente con las
velocidades programadas)
M49: Cancelar M48
M62: Activar salida auxiliar 1
M63: Activar salida auxiliar 2
3
01/12/2022
M64: Desactivar salida auxiliar 1
M65: Desactivar salida auxiliar 2
M66: Esperar hasta que la entrada 1 esté en ON
M67: Esperar hasta que la entrada 2 esté en ON
M70: Activar espejo en X
M76: Esperar hasta que la entrada 1 esté en OFF
M77: Esperar hasta que la entrada 2 esté en OFF
M80: Desactivar el espejo en X
M98: Llamada a subprograma
M99: Retorno de subprograma
Los programas de G&M son simples archivos de texto ASCII. Estos programas
pueden ser cargados a pie de máquina usando su teclado o ser transportados
desde una PC con diskettes, cables seriales RS232C o USB.
Conclusión
Las maquinas CNC trabajan a base de programas sencillos los cuales indican los
movimientos que la maquina debe hacer con respecto a los ejes x y z.
Es importante reconocer que la ISO normalizo la programación G y M a nivel
internacional para facilitar el uso y manufactura de la maquinaria a lo largo del
mundo.
Considerando que la programación que se usa es de manera sencilla esto puede
ser beneficioso ya que hay menos factores que puedan afectar el resultado final
de la pieza y mas cuando se hacen procesos automatizados donde la intervención
humana es solo la de supervisar.
Fuentes
Programación de máquinas de CNC con códigos G&M. (2022). TecnoEdu.com.
https://tecnoedu.com/CNC/GM.php
D. (2021, 12 marzo). Programación en CNC: ¿Qué es y qué tipos existen? - Grumeber.
Empresa de mecanizado en Barcelona - Grumeber. https://grumeber.com/tipos-de-
programacion-en-cnc/