Detrás de cada pieza perfecta hay algo más que metal y herramienta: hay lógica, matemáticas y código. Las máquinas CNC no interpretan planos, interpretan algoritmos, y lo hacen a través de formatos y lenguajes que, aunque distintos, persiguen el mismo objetivo: movimiento preciso, repetible y seguro.
Con el paso de los años, he trabajado y desarrollado soluciones sobre los principales controles CNC industriales, entendiendo su lógica interna, sus límites… y su impacto real en producción.
📄 Principales formatos y lenguajes CNC
🔹 Heidenhain (.h)
Lenguaje conversacional y estructurado, muy orientado a:
- Mecanizado 3D
- Moldes y matrices
- Trayectorias complejas
Su sintaxis es clara y legible, pero por debajo ejecuta algoritmos de interpolación y suavizado de altísimo nivel. Ideal cuando la precisión geométrica es crítica.
🔹 EIA / ISO (.eia, .nc)
El G-code clásico. Directo, universal y todavía imprescindible.
- Control total del movimiento
- Máxima compatibilidad
- Base de automatizaciones y macros
Aquí el programador escribe el algoritmo casi “a mano”. Cada línea importa.
🔹 Siemens – SINUMERIK
Un enfoque claramente orientado a programación avanzada:
- Variables tipadas
- IF / WHILE
- Subrutinas complejas
- Ciclos tecnológicos
Permite construir programas adaptativos, ideales para producción flexible y piezas variables. El CNC deja de ser secuencial y pasa a ser lógico.
🔹 FANUC
El estándar industrial más extendido.
- Extremadamente robusto
- Macros B muy potentes
- Ideal para líneas automáticas
Perfecto para entornos donde prima la estabilidad y el tiempo de ciclo. La lógica suele estar muy optimizada y pensada para no fallar nunca.
🔹 Makino – Formato y filosofía propia
Makino utiliza EIA/ISO extendido, pero con una capa propia muy optimizada:
- Ciclos específicos de alta velocidad
- Control térmico y dinámico avanzado
- Integración total máquina–control
Aquí el algoritmo no solo mueve ejes:
👉 protege la máquina, mejora el acabado y reduce tiempos.
Programar Makino es programar pensando en dinámica real, no solo en trayectorias teóricas.
📐 Dimensiones, flujo y ejemplos en programación CNC
🔹 1. Dimensiones: cómo entiende el espacio una CNC
Las CNC trabajan en sistemas cartesianos:
- X / Y → plano horizontal (mesa)
- Z → profundidad / altura
- A / B / C → ejes rotativos (según máquina)
Conceptos clave:
- Absoluto (G90) → todas las posiciones se refieren al cero pieza
- Incremental (G91) → cada movimiento parte del punto anterior
- Ceros:
- Cero máquina
- Cero pieza (G54–G59)
👉 El algoritmo traduce geometría en coordenadas exactas, no en formas.
🔹 2. Flujo lógico de un programa CNC
Un programa CNC bien diseñado sigue siempre un flujo claro:
- Preparación
- Selección de plano (G17)
- Sistema de coordenadas (G54)
- Herramienta y correctores
- Posicionamiento seguro
- Movimientos rápidos (G00)
- Alturas de seguridad
- Mecanizado
- Avances controlados (G01)
- Interpolaciones (G02 / G03)
- Ciclos o macros
- Control
- Condiciones (IF, WHILE)
- Repeticiones
- Verificaciones
- Salida
- Retirada segura
- Fin de programa (M30)
👉 Aquí es donde el CNC deja de ser secuencial y se vuelve lógico.
🔹 3. Ejemplos simples por formato
🧩 EIA / ISO (G-code clásico)
1
2
3
4
5
6 G90 G54
G00 X0 Y0
G01 Z-10 F200
G01 X50 Y0
G00 Z100
M30
Movimiento directo, control total del programador.
🧩 Heidenhain (.h)
1
2
3
4 L X+0 Y+0 FMAX
L Z-10 F200
L X+50 Y+0
L Z+100 FMAX
Más legible, mismo resultado, lógica interna más avanzada.
🧩 Siemens SINUMERIK
1
2
3 IF #PZA EQ 1 THEN
G01 Z-10 F200
ENDIF
Programación condicional y adaptativa.
🧩 Makino (EIA extendido)
1
2
3
4
5 IF [#500 GT 5] THEN
F200
ELSE
F400
ENDIF
El avance se adapta a condiciones reales de mecanizado.
🧠 Idea clave
- Las dimensiones definen el espacio
- El flujo define el proceso
- El algoritmo define la inteligencia
Por eso, independientemente del formato, el verdadero valor está en cómo se estructura el programa, no solo en qué máquina lo ejecuta.
⚙️ ¿Dónde vive realmente el algoritmo?
Más allá del fichero:
- Interpolaciones dinámicas
- Compensaciones geométricas y térmicas
- Ajustes de avance en tiempo real
- Bucles, condiciones y macros
- Gestión de estados y errores
Un buen programa CNC no ejecuta movimientos:
👉 optimiza el proceso completo.
🧩 Experiencia real, no solo teoría
Trabajar con distintos controles te enseña algo clave:
no existe el mejor lenguaje, existe el más adecuado para cada máquina y proceso.
Desarrollar sobre todos ellos implica:
- Traducir producción a lógica
- Elegir el formato correcto
- Crear programas mantenibles
- Pensar como programador… y como máquina
🧭 Conclusión
El CNC moderno es software industrial de precisión.
Quien domina los formatos controla la máquina.
Quien domina los algoritmos controla la producción.







