👨🏼💻 ¿Cómo programar un control numérico?
Saber cómo programar un control numérico puede resultar algo complejo, pero no te preocupes, por eso estás aquí. En las próximas líneas te voy a explicar los conceptos básicos que tienes que saber para programar un CNC.
Lo primero que tienes que tener claro es que cualquier CNC trabaja con un eje de coordenadas XYZ. Si esto lo tienes claro puedes trabajar con cualquier tipo de programación, cualquier tipo de lenguaje.

En este articulo te voy a explicar la programación ISO. Esta programación es la que utilizan controles numéricos tan conocidos como Fagor, Haas o Fanuc.
🦾 Empieza un programa de control numérico
Lo primero que vas a decirle al control numérico es dónde está la pieza. Todas las piezas que quieras programar tienen un cero pieza, el punto de partida desde el cual programarás todas las coordenadas que necesitas para hacer un mecanizado.
Veamos un ejemplo:

En esta pieza vas a poner el cero pieza en el vértice inferior izquierdo. El criterio es bien sencillo, al ponerla así trabajaremos con las coordenadas X e Y en positivo, y como te puedes imaginar, siempre es más sencillo trabajar en positivo.
Veamos la misma pieza situada en el eje de coordenadas cartesianas:

Como puedes apreciar, en el dibujo tienes marcados todos los vértices de la pieza con las coordenadas X e Y. Estas coordenadas te están diciendo la distancia que hay desde el punto X0 Y0 en términos absolutos.
Con estos parámetros podrías empezar a programar este contorno, si empezamos en 0,0 y vamos hacia la derecha el programa sería el siguiente:
- X0 Y0
- X50 Y0
- X50 Y10
- X40 Y30
- X0 Y30
- X0 Y0
Ahora ya tienes programadas las coordenadas que harán que la herramienta se desplace y mecanice nuestra pieza. Hay que tener en cuenta que te falta por programar el eje Z, pero este es el más sencillo para empezar.
Asumiremos que la parte superior de la pieza está en Z0 y que el mecanizado solo necesita 2 milímetros de profundidad.
Sabiendo esto, utilizarás tres coordenadas de Z para este mecanizado:
- Z100 Coordenada con una gran distancia de seguridad en la que situaremos la herramienta en X0 Y0. Hasta aquí la herramienta llegará lo mas rápido posible, en G0.
- Z5 Coordenada de seguridad hasta donde la herramienta irá rápido, en G0.
- Z-2 Coordenada de mecanizado, aquí la herramienta llegará en avance de trabajo G1. Más adelante, verás cómo programar correctamente el avance de trabajo.
Pero antes de seguir con el programa, ¿qué es G0 y G1?
🔸 Cómo programar los códigos G en un CNC
Las funciones G en la programación ISO son las órdenes que le darás al control numérico para que realice las acciones necesarias para el mecanizado.
Son códigos que el CNC tiene preparados y listos para ejecutar. Sirven para ir recto o girando, lento o rápido, escalar unas coordenadas o hacer un chaflán en una esquina por poner algunos ejemplos.
A continuación puedes ver un listado de funciones G de un CNC Fagor 8050:
- G00 Posicionamiento rápido
- G01 Interpolación lineal
- G02 Interpolación circular (helicoidal) derechas G03 Interpolación circular (helicoidal) izquierdas
- G04 Temporización/Detención de la preparación de bloques
- G05 Arista matada
- G06 Centro circunferencia en coordenadas absolutas
- G07 Arista viva
- G08 Circunferencia tangente a trayectoria anterior
- G09 Circunferencia por tres puntos
- G10 Anulación de imagen espejo
- G11 Imagen espejo en X
- G12 Imagen espejo en Y
- G13 Imagen espejo en Z
- G14 Imagen espejo en las direcciones programadas
- G15 Selección del eje longitudinal
- G16 Selección plano principal por dos direcciones
- G17 Plano principal X-Y
- G18 Plano principal Z-X
- G19 Plano principal Y-Z
- G20 Definición límites inferiores zonas de trabajo G21 Definición límites superiores zonas de trabajo
- G22 Habilitación/deshabilitación zonas de trabajo G23 Activación del copiado
- G24 Activación del digitalizado
- G25 Desactivación del copiado/digitalizado
- G26 Calibración de la sonda de copiado
- G27 Definición del contorno de copiado
- G33 Roscado electrónico
- G36 Redondeo de aristas
- G37 Entrada tangencial
- G38 Salida tangencial
- G39 Achaflanado
- G40 Anulación de compensación radial
- G41 Compensación radial herramienta a la izquierda
- G42 Compensación radial herramienta a la derecha
- G43 Compensación longitudinal
- G44 Anulación de compensación longitudinal
- G50 Arista matada controlada
- G52 Movimiento contra tope
- G53 Programación respecto al cero máquina
- G54 Traslado de origen absoluto 1
- G55 Traslado de origen absoluto 2
- G56 Traslado de origen absoluto 3
- G57 Traslado de origen absoluto 4
- G58 Traslado de origen aditivo 1
- G59 Traslado de origen aditivo 2
- G60 Mecanizado múltiple en línea recta
- G61 Mecanizado múltiple formando un paralelogramo
- G62 Mecanizado múltiple en malla
- G63 Mecanizado múltiple formando una circunferencia
- G64 Mecanizado múltiple formando un arco
- G65 Mecanizado programado mediante una cuerda de arco
- G66 Ciclo fijo de cajeras con islas
- G67 Operación de desbaste de cajeras con islas
- G68 Operación de acabado de cajeras con islas G69 Ciclo fijo de taladrado profundo con paso variable
- G70 Programación en pulgadas
- G71 Programación en milímetros
- G72 Factor de escala general y particulares
- G73 Giro del sistema de coordenadas
- G74 Búsqueda de referencia máquina
- G75 Movimiento con palpador hasta tocar
- G76 Movimiento con palpador hasta dejar de tocar
- G77 Acoplo electrónico de ejes
- G78 Anulación del acoplo electrónico
- G79 Modificación de parámetros de un ciclo fijo
- G80 Anulación de ciclo fijo
- G81 Cicio fijo de taladrado
- G82 Ciclo fijo de taladrado con temporización
- G83 Ciclo fijo de taladrado profundo con paso constante
- G84 Ciclo fijo de roscado con macho
- G85 Ciclo fijo de escariado
- G86 Ciclo fijo de mandrinado con retroceso en G00
- G87 Ciclo fijo de cajera rectangular
- G88 Ciclo fijo de cajera circular
- G89 Ciclo fijo de mandrinado con retroceso en G01
- G90 Programación absoluta
- G91 Programación incremental
- G92 Preselección de cotas / Limitación velocidad del cabezal
- G93 Preselección del origen polar
- G94 Avance en milímetros (pulgadas) por minuto
- G95 Avance en milimetros (pulgadas) por revolución
- G96 Velocidad del punto de corte constante
- G97 Velocidad centro de la herramienta constante
- G98 Vuelrta plano de partida al final ciclo fijo
- G99 Vuelta plano de referencia al final ciclo fijo
Por favor, no te asustes, en este artículo no te voy a enseñar a programar toda esta lista. Si te soy sincero yo no utilizo ni la mitad. Te dejo aquí el enlace al curso de programación CNC Fagor en el que explico con más detalle las funciones más importantes.
Volvamos al programa que estás haciendo ahora.
Ya ves en la lista que si programas G0, vas lo más rápido que el CNC pueda y que si programas G1 interpolación lineal, estás en avance de trabajo.
El avance se calcula en mm/min así que te dejo aquí otro artículo por si quieres aprender a calcular el avance de trabajo de una herramienta.
Si programas G0, el avance viene definido por el CNC.
Si programas G1 tienes que decirle qué avance de trabajo quieres. Para ello pondrás una F seguida del número de avance calculado. Por ejemplo: G1 F100.
La programación es un lenguaje, y como cualquier lenguaje utiliza letras. Las funciones G son las más importantes, pero hay otras que también deberías conocer antes de seguir con la programación de la pieza de ejemplo.
🔸 Cómo programar las funciones auxiliares M en un CNC
Las funciones auxiliares M en la programación CNC se encargan de dar órdenes tales como encender y apagar el agua o indicar que finaliza un programa. Ten en cuenta que, al igual que las funciones G, puede que varíen dependiendo del control numérico, aún y así, las principales poco van a cambiar. Te dejo una lista de ejemplo.
- M00 Paro de programa
- M01 Paro condicional del programa
- M02 Final de programa
- M03 Giro del cabezal a derechas
- M04 Giro del cabezal a izquierdas
- M05 Paro del cabezal
- M06 Cambio de herramienta
- M08 Refrigerante ON
- M09 Refrigerante OFF
- M30 Fin de programa y reseteo de variables, retorno al origen del programa
Estas son algunas de las esenciales. Hay más, pero de momento tienes mas que suficientes para seguir con el programa.
✅ Programa de control numérico completo
Sigamos con el programa. Ahora vamos a programar el encabezado, que es lo que irá antes de las coordenadas que ya has visto.

T1.1 es la herramienta que vamos a utilizar. El CNC tiene muchas herramientas en el almacén, cuando programas tienes que decirle qué herramienta utilizarás. Tan sencillo como eso.
M6 le indicará al CNC que cambie la herramienta en caso de que tenga otra cogida.
Ahora viene una línea de código con mucha información en la que mezclaremos un montón de órdenes. De la misma forma que cuando hablamos estructuramos una frase de forma coherente, es importante en el CNC la colocación en la que se ponen estas órdenes.
Mira la siguiente línea de código teniendo en cuenta que el orden es importante:
G0 G90 G43 X0 Y0 Z100 S1000 M3
Este código traducido dice así:
Que la herramienta vaya rápido (G0) en números absolutos respecto al cero pieza (G90) teniendo en cuenta la altura de la herramienta T1.1 (G43) a las coordenadas X0 Y0 Z100 y empieza a girar el cabezal con la herramienta a 1000 rpm (S1000) y hacia la derecha (M3).
Ahora que ya entiendes que esto de programar es como hablar (que tiene un orden y que solo hay que decirle al CNC lo que tú quieres que haga) veamos el programa completo:
- T1.1
- M6
- G0 G90 G43 X0 Y0 Z100 S1000 M3
- Z2
- G1 Z-2 F100
- X50 Y0
- X50 Y10
- X40 Y30
- X0 Y30
- X0Y0
- Z2
- G0 Z100 M5
- M30
Ya tienes tu primera pieza programada y lista para mecanizar con todos los parámetros necesarios. Te he explicado los conceptos más básicos de programación, ahora depende de tí y de tus necesidades profundizar más en un tipo de programación u otra. La programación de control numérico es como los idiomas, hay muchos. Algunos se parecen más y otros son completamente diferentes a lo que te acabo de enseñar pero la base es la que es: el eje de coordenadas y cómo nos desplazarnos a través de él.
A continuación, te dejo la lista de cursos que tenemos en FM formación. Échales un vistazo y si no sabes cuál te interesa más, ponte en contacto con nosotros y te ayudaremos con las dudas.
Si te ha gustado este artículo también te gustará: