Dedicamos gran cantidad de guías completas sobre la tecnología de mecanizado CNC. Ahora toca dar un paso más y centrarnos en algo como la programación CNC, de la que ya hicimos referencia en otros artículos, pero que aquí veremos de una forma más detallada.
Así podrás conocer mejor estos códigos de programación para máquinas industriales y cómo se pueden modificar u optimizar fácilmente para adaptarlos a tus necesidades.
Introducción al CNC
CNC son las siglas de Computer Numeric Control. Es un proceso de fabricación que utiliza máquinas herramientas controladas por computadoras para cortar y dar forma a una amplia variedad de materiales, desde metales hasta plásticos. A diferencia del mecanizado manual, las máquinas CNC realizan tareas repetitivas con una precisión y rapidez excepcionales, siguiendo instrucciones digitales preprogramadas.
Para poder realizar el mecanizado, se comienza con el diseño de la pieza que se necesita crear, algo que se puede hacer mediante software CAD. Este diseño puede convertirse de forma automática o manual en lo que se conoce como código CNC, y que será el que convierta el diseño en una pieza real a través de la máquina de CNC.
En el corazón de la máquina hay un controlador CNC, un circuito que será el encargado de interpretar el programa CNC y traducirlo en señales eléctricas que controlan los movimientos de los ejes de la máquina. Como sabrás, las máquinas tienen diferentes ejes, dependiendo del modelo. Los más habituales son el eje X que se mueve en horizontal, el eje Y para movimiento perpendicular al eje X, y el eje Z para movimiento vertical hacia arriba o abajo. Así es como la herramienta o cabezal logra labrar el diseño requerido. Algunas máquinas podrían tener mayor cantidad de ejes, o ser multiherramienta, aunque esto no nos interesa ahora…
La herramienta empleada puede ser una fresa, una broca, una cuchilla para torneado, etc. Así es como mediante movimientos se realiza el labrado, al igual que un documento que envías a imprimir convierte el código en el impreso. Recuerda que los documentos que van a ser impresos se transforman en un lenguaje de descripción de página (Page Description Language, o PDL), como PostScript o PS, PCL (Printer Control Language), etc. Este lenguaje es un conjunto de instrucciones que la impresora utiliza para interpretar y representar el documento en papel.
Volviendo al CNC, la pieza, puede estar estática, sujeta firmemente a la mesa de trabajo mientras la herramienta se mueve. En otras ocasiones la pieza puede estar girando a gran velocidad y la herramienta permanecer estática, eliminando el material en exceso y dando forma a la pieza. Pero tanto para mover la pieza como para mover la herramienta, el controlador CNC actúa como un intérprete que traduce el lenguaje de programación en acciones físicas:
- Lectura del código: el controlador lee línea por línea el programa CNC.
- Interpretación: cada línea de código contiene instrucciones específicas, como la posición a la que debe moverse la herramienta, la velocidad de corte o la cantidad de material a eliminar.
- Generación de señales: El controlador genera señales eléctricas que se envían a los servomotores que controlan los ejes y el husillo.
- Ejecución: Los servomotores reciben las señales y mueven los ejes y la herramienta con precisión, siguiendo las instrucciones del programa.
Programación CNC básica
Generalmente el código CNC no se escribe manualmente, sino que se traduce desde un diseño CAD de forma automática por el software. No obstante, puede haber algunas ocasiones en las que se necesite crear un código CNC desde cero, o que tengas un programa CNC ya creado al que necesites solo realizar algunas optimizaciones o modificaciones para crear una variante de la pieza inicial.
Por ello, es importante conocer este lenguaje APT (Automatically Programmed Tools), un lenguaje de programación de alto nivel que fue fundamental en el desarrollo de los sistemas de control numérico. Aunque ha sido reemplazado en gran medida por lenguajes más modernos y específicos para cada máquina, APT sigue siendo un referente histórico y conceptual en el campo de la programación CNC:
Letras clave
Una de las cosas que se deben conocer del código CNC son las letras clave que aparecerán en las líneas de programación y que deberías conocer a fondo:
- O – Número de Programa: para identificar de forma única un programa CNC. Generalmente comienza con O seguido de un número, por ejemplo, O001, que indicaría el primer programa.
- N – Número de Secuencia: se utiliza para especificar el orden de ejecución dentro de un programa CNC. Comienza con N seguido de un número, por ejemplo, N100.
- G – Función Preparatoria: especifica la función preparatoria para la máquina, como seleccionar un sistema de coordenadas específico, encender el refrigerante o configurar un modo de operación específico. Comienza con G seguido de un número, por ejemplo, G00, G01, G02. El G00 indica un posicionamiento rápido, el G01para interpolación lineal, y G02 para interpolación circular en sentido horario…
- X, Y, Z – Designaciones de Eje: especifican las coordenadas objetivo para la herramienta, y van seguidas de un valor numérico, por ejemplo, X10.0, Y20.0, Z5.0. En este ejemplo, se movería la herramienta a las coordenadas (10, 20, 5).
- R – Designación de Radio: se usa para asignar el radio de un arco circular durante la interpolación. Por ejemplo, G02 X10.0 Y20.0 R5.0, lo que crearía un arco en sentido horario con un radio de 5 unidades.
- F – Designación de Velocidad de Avance: marca la velocidad de avance, o la velocidad a la que se mueve la herramienta en relación con la pieza de trabajo. Por ejemplo, un F100 establece la velocidad de avance en 100 unidades por minuto.
- S – Designación de Velocidad del Husillo: determina la velocidad de rotación del husillo. Por ejemplo, S2000 generará una velocidad del husillo de 2000 RPM o revoluciones por minuto.
- H – Designación de Desplazamiento de Longitud de Herramienta: desplazamiento entre la punta de la herramienta y la nariz del husillo. Un H1, por ejemplo, indica que selecciona el desplazamiento de la herramienta número 1 que ha sido definida con esta ID en la tabla de herramientas de la máquina CNC.
- D – Designación de Desplazamiento de Radio de Herramienta: para el desplazamiento entre el radio de la herramienta y la trayectoria programada. Ejemplo podría ser un D2, lo que indica que se selecciona el desplazamiento de radio de la herramienta número 2 definida en la tabla de IDs.
- T – Designación de Herramienta: especifica el número de herramienta que se utilizará. Por ejemplo, un T4 selecciona la herramienta número 4 de la tabla de herramientas.
- M – Función Miscelánea: funciones misceláneas, como encender o apagar el husillo, activar el refrigerante o detener el programa. Por ejemplo, un M03 y M30 significan iniciar el husillo en sentido horario y poner fin al programa de forma simultánea.
Estas letras clave y sus funciones correspondientes forman la base de la programación CNC, permitiendo operaciones de mecanizado precisas y repetibles.
Códigos G
Se denominan códigos G o generales, y son:
- G00: posicionamiento rápido transversal.
- G01: interpolación lineal.
- G02: interpolación circular, sentido horario (CW).
- G03: interpolación circular, sentido antihorario (CCW).
- G17: plano XY.
- G18: plano XZ.
- G19: plano YZ.
- G20/G70: unidades inglesas o imperiales, como pulgadas, etc.
- G21/G71: unidades métricas del SI, como milímetros, etc.
- G40: cancelar compensación de herramienta.
- G41: compensación de herramienta a la izquierda.
- G42: compensación de herramienta a la derecha.
- G43: compensación de longitud de herramienta (positiva).
- G44: compensación de longitud de herramienta (negativa).
- G49: cancelar compensación de longitud de herramienta.
- G80: cancelar ciclos enlatados.
- G81: ciclo de taladrado.
- G82: ciclo de escariado.
- G83: ciclo de taladrado profundo.
- G90: posicionamiento absoluto.
- G91: posicionamiento incremental.
Códigos M
Entre los códigos generales M, tenemos:
- M00: detener el programa.
- M01: detener opcionalmente el programa.
- M02: finalizar el programa.
- M03: encender el husillo en sentido horario.
- M04: encender el husillo en sentido antihorario.
- M05: detener el husillo.
- M06: cambio de herramienta.
- M08: encender el refrigerante.
- M09: apagar el refrigerante.
- M10: encender las mordazas.
- M11: apagar las mordazas.
- M30: detener el programa y reiniciar al inicio.
Formato del código
Ahora que ya conoces más o menos los códigos CNC, tenemos que ver el formato que debe tener el programa o código completo, ya que tiene un formato específico conocido comúnmente como word address format, una estructura estándar utilizada para escribir programas de control numérico por computadora. Cada línea de programa se denomina bloque y está compuesta por varias instrucciones o palabras.
Ejemplo de código CNC
Para finalizar, vamos a ver un ejemplo de código CNC y la descripción de qué es lo que haría, para que puedas conocer de forma más práctica y visual su funcionamiento:
N100 G01 X10.0 Y20.0 Z5.0 F100.0 S2000.0 T4 M03
En este caso, el código marcará el número de secuencia 100, realizará una preparación 01 para interpolación lineal, luego especifica las coordinadas destino de la herramienta CNC para el eje X, Y y Z (10, 20, 5), configura la velocidad de avance a 100 unidades, las revoluciones del husillo serán de 2000 RPM, se usa la herramienta 4 y se enciende el husillo en sentido horario…