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ā¦