👨🏻💻 ¿Qué es la programación CNC?
No es fácil saber cómo programar un CNC. En este post te voy a ayudar a entender que es la programación CNC que usan las máquina-herramientas y te mostraré algunos cursos que te pueden ayudar a resolver mejor tus dudas
La programación CNC o de control numérico computerizado es un código alfanumérico estructurado y ordenado de una forma concreta para controlar una máquina herramienta
La forma más sencilla de verlo es pensar en un lenguaje, igual que cuando hablamos usamos palabras que forman frases, con la programación CNC pasa lo mismo. El CNC sabe un lenguaje, si nosotros hablamos su idioma podremos comunicarnos con la máquina.
En las máquinas de control numérico se utiliza la programación CNC para crear instrucciones que muevan las máquinas-herramientas. El CNC es el encargado de enviar las señales de programación a la máquina y esta se desplazará o girará según indique el programa que nosotros hemos creado.
Igual que hay muchos idiomas hay muchos tipos de programación CNC. Pero podemos simplificar bastante el asunto en dos grandes bloques:
- Programación CNC ISO
- Programación CNC conversacional
🎓 Cursos relacionados con la programación CNC
🔹 ¿Qué es la programación CNC ISO?
La programación CNC ISO es la base de toda la programación. Cualquier máquina CNC puede entender esta programación, eso sí, cada una con su dialecto.
Aunque no todos los CNC usen el mismo código ISO, si aprendes el de una máquina verás que todos se parecen mucho. Esto se debe a que siguen una estructura similar.
Te pongo un ejemplo para que lo entiendas.
Supongo que si lees esto es porque dominas el castellano. ¿Qué pasaría si vieras este artículo en italiano o francés? Pues que no entenderías nada 🤯, ¿verdad? O puede que sí, puede que sepas distinguir los verbos, los artículos, los adjetivos…
Con la programación ISO pasa lo mismo, también tiene una estructura que es similar en todas las máquinas de control numérico. Veamos cómo se compone un código ISO.
Un ejemplo de programación CNC ISO clásica es la que implementa en sus CNCs Fagor automotion
Funciones G en programación CNC ISO
Si seguimos con el ejemplo de los idiomas, las funciones G son los verbos. Son las reinas de la fiesta, las que «parten el bacalao». Bueno, creo que ya me entiendes…😉
Las funciones G te servirán para decirle al control numérico qué debe hacer. ¿Debe ir recto o girando? ¿debe ir rápido o lento?
Son órdenes que el control numérico tiene preparadas y en su gran mayoría todos los CNC utilizan las mismas.
Aunque no te sorprendas si ves algunas diferencias en diferentes controles, ya que cuando aparecieron los primeros CNC en los años 50 había pocas funciones y con los años cada marca ha implementado las suyas sin consultar con las demás.
Para que tengas una idea más clara de todo lo que pueden ejecutar las funciones G te dejo a continuación el listado de una control numérico Fagor:
- 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
Si quieres saber más sobre cómo utilizar las funciones G de esta lista te dejo el enlace al curso de programación CNC Fagor 8050. En este curso verás las funciones G que más se utilizan y con las que yo me he ganado la vida durante muchos años.
🔹 ¿Qué es la programación CNC conversacional?
La programación conversacional se llama así porque el control numérico pregunta qué quieres hacer dependiendo de qué hayas programado previamente.
El CNC sustituye las funciones G por otros textos y se encarga de saber en todo momento qué puedes necesitar.
Un ejemplo clásico de programación CNC conversacional es la de los controles numéricos de la maraca Heidenhain
Estructura de un programa CNC
Cuando programamos un CNC es importante tener un orden igual que cuando hablamos o escribimos en un idioma.
Veamos un ejemplo sencillo pero muy ilustrativo:
✔️ Mi casa es grande
❌ grande casa es Mi
Este ejemplo es muy tonto, estoy de acuerdo, pero ya me has entendido. En un control numérico pasa exactamente lo mismo.
En la programación CNC conversacional, el control nos va a ayudar a ordenar las frases aunque no dominemos bien el lenguaje. Nos irá haciendo preguntas:
- ¿Qué herramienta quieres poner?
- ¿Dónde llevo la herramienta?
- ¿Con qué avance y a qué revoluciones?
- ¿Quieres ir recto o girando? Y si quieres ir girando, ¿con qué radio de giro?
- ¿Quieres taladrina?
Y así hasta que mecanices toda la pieza. Dependiendo de cada momento realizará unas preguntas u otras y te dejará programar solo lo que necesite la máquina en ese momento.
La verdad es que la programación conversacional es genial. Cada vez hay más CNCs que la utilizan y evita muchos errores a la hora de programar una pieza. Te dejo unos enlaces a dos cursos con programación conversacional que seguro te van a interesar:
Curso de programación CNC Heidenhain, pionero en este tipo de programación.
Curso de programación CNC Fagor torno, uno de los CNC más vendidos en todo el mundo.
Sigamos viendo el lenguaje ISO, vamos ahora con «los complementos del verbo» 😏, las funciones auxiliares M.
🔹 Similitudes en los tipos de programación CNC
Ya hemos visto que en la programación CNC hay dos formas muy diferenciadas de trabajar, la programación ISO y la conversacional.
Aunque estas formas de programar un CNC son muy diferentes hay algunas partes del código que se parecen mucho, esto es una gran ayuda ya que si aprendes cualquier tipo de programación no te costará seguir aprendiendo otras formas de programar.
Veamos en que se parecen todos los controles numéricos:
1️⃣ Programación CNC de las funciones auxiliares
Las funciones auxiliares M se encargan de las órdenes complementarias. No dan órdenes concretas de movimiento como las funciones G sino mas bien utilidades del control numérico como activar el agua, cambiar la herramienta o hacer una parada de programa para realizar comprobaciones.
Igual que pasa con las funciones G cada máquina tiene sus M predefinidas y prácticamente todos los CNC utilizan las mismas.
Te dejo una lista de las que más utilizo. Hay algunas más y depende de las opciones del control numérico pueden ser algo diferentes. Aquí te dejo las más comunes:
- 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
Veamos ahora otros conceptos que son comunes en todos los tipos de programación y en todos los controles numéricos.
2️⃣ Programación CNC de las herramientas
Las herramientas 🛠 se programan con la letra T y un número.
El número indica qué herramienta tiene que utilizar el control numérico. Dicha herramienta estará situada en el cambiador de herramientas.
Cómo te puedes imaginar, la herramienta no está situada en el control numérico por arte de magia, hay un proceso previo a la programación que es el de preparación de la máquina. Cuando preparas la máquina introduces las herramientas y tienes que indicarle al control numérico qué altura y qué diámetro tiene cada herramienta.
Para preparar las herramientas existen las tablas de herramientas. De esta forma cuando llames a la herramienta deseada, el control numérico sabrá perfectamente cómo es esa herramienta y qué parámetros debe tener en consideración.
3️⃣ Programación CNC del avance
El avance en el CNC puede ser principalmente de dos formas: rápido 🐇 o lento 🐢.
Cuando enciendes el control numérico, por defecto tienes algunas funciones G activadas. G0 avance rápido es una de ellas. El avance de G0 viene predefinido en el PLC de la máquina y será el avance más rápido que podamos programar.
Cuando empezamos a mecanizar tenemos que definir el avance que nosotros deseamos. Para ello deberemos escribir G1, G2 o G3.
Estas tres funciones no van a variar la velocidad de avance por sí solas, lo que harán es buscar por todo el programa la última F programada.
F define la velocidad de avance en mm/min o en mm/revolución, dependiendo de si es una fresadora o un torno. En el artículo Calcular avances y revoluciones en una máquina-herramienta encontrarás mucha más información al respecto.
Pasemos ahora a las revoluciones.
4️⃣ Programación CNC de las revoluciones
Las revoluciones del CNC se programan con la letra S seguida de un número que no excede las cinco cifras.
La letra S programa revoluciones por minuto (rpm). Esa es la velocidad a la que girará el cabezal de la máquina CNC para mecanizar las piezas.
👩🏻 Resumen
En definitiva, la programación CNC es un lenguaje que entiende la máquina que estemos utilizando. Es importante entender y hablar el mismo lenguaje para poder comunicarnos. También es fundamental el orden que se utilice cuando programamos, si no, la conversación con el control numérico no tendrá sentido.