Saltar al contenido

Códigos secretos del CNC que todo programador debería conocer

Infografía técnica que muestra los códigos secretos del CNC, incluyendo G53, G52, G68, G10 y macros, con ejemplos visuales y sus funciones principales.
Una guía práctica de G/M-codes poco conocidos pero muy útiles: movimientos no modales, offsets vía programa, rotaciones, sistemas locales, modos de precisión, subprogramas avanzados, macros y variables de sistema. Incluye ejemplos y advertencias de seguridad.Si quieres dominar estos trucos con ejercicios guiados y simulación, apóyate en mis cursos: Programación CNC en Fanuc, Heidenhain y Mastercam. Integro plantillas, checklists y casos reales.Lecturas relacionadas:

[mailerlite_form form_id=1]

1) Antes de empezar: por qué estos “códigos secretos” marcan la diferencia

La mayoría de cursos y manuales cubren lo básico (G00, G01, G02/G03, G81–G89, M03/M05…). Sin embargo, los verdaderos saltos de productividad llegan cuando dominas funciones “ocultas” o menos usadas: movimientos no modales para retiradas seguras, rotación del sistema de coordenadas, shifts locales, escritura de offsets desde programa, modos de precisión/acabado, subprogramas avanzados y macros. Con ellos reduces líneas, evitas errores humanos y vuelves tu código más reutilizable.

Importante: cada control (Fanuc, Heidenhain, Siemens) tiene matices. Esta guía usa referencias tipo Fanuc. Verifica en tu manual y simula primero. Si quieres un itinerario paso a paso en Fanuc/Heidenhain, te recomiendo comenzar por Fanuc y complementar con Heidenhain.

2) G53: movimiento en coordenadas máquina (no modal)

Qué es: ordena un movimiento inmediato en el sistema de coordenadas de máquina (no en G54…G59). Es no modal: solo afecta a la línea en la que se programa.

Para qué sirve: retiradas rápidas a una Z segura “global” sin depender del cero pieza, o posicionamientos de mantenimiento.

; Retirada segura sin cambiar G54
G01 Z5 F300
G53 Z0      ; Z máquina (por ejemplo, home Z)
G53 X0 Y0   ; opcional, mover a máquina X0 Y0

Ventaja: evita heredar errores si el G54 está mal. Precaución: no mezcles G53 con arcos o compensaciones; úsalo para retiradas. Este patrón lo practicamos en Programación CNC en Fanuc.

3) G52: sistema de coordenadas local (shift temporal)

Qué es: aplica un desplazamiento local al sistema activo (G54…G59). Útil para repetir una misma operación con un pequeño corrimiento.

; Cavidad estándar en G54 con corrimiento local
G54
G52 X100 Y30   ; desplaza el origen local
... operaciones ...
G52 X0 Y0      ; SIEMPRE cancelar al terminar

Cuándo usarlo: plantillas y subprogramas reutilizables. Precaución: documenta bien el “G52 ON/OFF” para no dejarlo activo. En flujos CAM/plantillas, muchos talleres prefieren G54.1 (extensiones de origen) por claridad.

4) G68 / G69: rotación del sistema de coordenadas

Qué es: rota el sistema de coordenadas alrededor de un punto un ángulo dado. Permite mecanizar la misma geometría rotada sin recalcular el programa.

; Rotar 15° alrededor de X0 Y0
G68 X0 Y0 R15.
... contornos/operaciones ...
G69           ; cancelar rotación

Usos típicos: placas con bridas a diferentes orientaciones, patrones radiales, reparación de utillajes. Precaución: activa/ciérralo de forma limpia; revisa planos/compensaciones al rotar.

5) G10: escribir offsets y parámetros desde programa

Qué es: permite cargar offsets (orígenes, herramientas) desde el propio código. Potentísimo para series y utillajes repetibles.

; Ejemplo didáctico (consulta manual de tu control)
G10 L2 P1 X100. Y50. Z0.     ; Escribir G54 (P1) con X/Y/Z
G10 L11 P1 R5.               ; Escribir radio herramienta en D01 (según control)

Ventaja: reduce errores manuales al teclear valores. Gran precaución: doble verificación, control de versiones y copia de seguridad. En muchos talleres, G10 solo en programas “maestros” revisados.

6) G61 / G64 / G187: modos de precisión y suavizado

G61 (Exact Stop): la máquina se detiene en cada vértice → mayor precisión, peor tiempo.
G64 (Continuous): prioriza suavidad y velocidad → mejor tiempo, posible “redondeo” en esquinas.
G187 (Ajuste de precisión/acabado): en algunos controles ajusta tolerancias de seguimiento, útil en 3D.

; Acabado de contorno crítico
G61
... acabado ...
G64   ; volver a modo continuo

Seleccionar el modo correcto por operación puede ahorrar minutos sin perder calidad. Explico estrategias prácticas en Mastercam (tolerancias CAM + modos de control).

7) G28 / G30: referencias y “puntos de aparcamiento”

G28: retorno a referencia (home) pasando por una posición intermedia programada.
G30: retorno a un segundo punto de referencia (configurable).

; Retirar a Z segura y luego a casa
G91 G28 Z0    ; sube a referencia Z (usa G91 según manual)
G90

Consejo: coordina estas retiradas con M-codes de cambio de herramienta y evita “subidas a infinito”. En algunos talleres se prefiere G53 para tener control explícito de la Z.

8) M97 / M98 / M99 / M198: llamadas de subprograma avanzadas

M97: salto a etiqueta local dentro del mismo archivo (útil para rutinas cortas).
M98 P#### L#: llama a O#### y opcionalmente repite L veces.
M99: retorno (y en programas principales, a veces “rebobina”).
M198: carga subprograma desde memoria externa (tarjeta/USB) según configuración.

; Llamada repetida y etiquetas locales
M98 P2000 L3    ; O2000 se ejecuta 3 veces
M97 P10         ; salta a N10 dentro del mismo archivo
...
N10 (... rutina local ...)
M99

Con esto construyes bibliotecas reusables y limpias. Lo enlazamos con matrices y WCS múltiples en el curso de Fanuc.

9) M00 / M01 / M60 y otras perlas auxiliares

M00: parada programada (siempre se detiene).
M01: parada opcional (requiere botón OPT STOP).
M60: cambio de palet (si el sistema lo admite).
Otros M-codes útiles: aire/refrigerante adicionales, abrazaderas, señales de E/S… dependen de máquina.

Uso inteligente: coloca M01 en la primera pieza tras un cambio de herramienta; agiliza la puesta a punto sin tocar código.

10) G43.4 / G43.5, G68.2 y familia 5 ejes (visión rápida)

Si trabajas en 5 ejes, verás códigos como G43.4/G43.5 (TCP/TCPC) para mantener el punto de contacto de la herramienta, o G68.2 para rotaciones complejas de marco. Estos temas requieren configuración de cinemática y posprocesador correcto.

Recomendación: domina primero 3 ejes con exactitud y luego sube a 5 ejes con un post de Mastercam probado y simulación con colisiones.

11) Macros y variables: el “superpoder” del CNC

Las macros permiten parametrizar operaciones y construir rutinas inteligentes (familias de piezas, pasos, bucles, cálculos). Soporte y sintaxis dependen de las opciones del control.

  • Variables locales #1–#33 (temporales), comunes #100–#199
  • Variables de sistema (según control): #5021–#5023 posición actual, #5221–#5229 offsets, contadores, tiempo, etc.
  • Operadores: +, -, *, /, [], IF, WHILE, GOTO.
; Matriz paramétrica simple (didáctico)
#100=40   (paso X)
#101=30   (paso Y)
#102=3    (columnas)
#103=2    (filas)

G91
G81 Z-10 R2 F250
#1=1
WHILE [#1 LE #102] DO1
  X#100
  #1=#1+1
END1
G90 X0
G91 Y#101 X[-#100*(#102-1)]
#2=1
WHILE [#2 LT #103] DO2
  #3=1
  WHILE [#3 LE #102] DO3
    X#100
    #3=#3+1
  END3
  G90 X0
  G91 Y#101 X[-#100*(#102-1)]
  #2=#2+1
END2
G80
G90

Precaución: documenta bien, bloquea edición accidental y simula antes de máquina. En el curso de Fanuc muestro patrones paramétricos seguros.

12) Tabla rápida: “códigos secretos” y para qué sirven

Código Función Notas y precauciones
G53 Movimiento en coord. máquina (no modal) Retiradas seguras; no mezclar con arcos/comp.
G52 Shift local de coordenadas Cancelar al finalizar; documentar ON/OFF.
G68/G69 Rotar sistema de coordenadas / Cancelar Definir centro y ángulo; revisar comp./planos.
G10 Escribir offsets/param. por programa Uso avanzado; versionado y doble verificación.
G61/G64 Exact Stop / Continuous Elegir por operación: precisión vs tiempo.
G187 Calidad/precisión de trayectoria Según control; útil en 3D.
G28/G30 Ir a referencia / punto secundario Coordinar con cambios de herramienta.
M97/M98/M99 Subprograma local/externo/retorno Estructuras limpias y anidación controlada.
M198 Subprograma en memoria externa Plantillas en tarjeta/USB (según setup).
Variables Macros paramétricas IF/WHILE; documentar y simular siempre.

13) Mini-casos: cómo te ahorran tiempo (y sustos)

13.1 Rotación sin reprogramar: una brida aparece rotada 15°. Con G68 + mismo contorno nominal, produces sin tocar el CAM. Ahorro: preparación más rápida y coherente con la documentación.

13.2 Z segura global: dudas del G54 tras una resujeción. Con G53 Z0 retiras fuera de riesgo antes de cualquier desplazamiento lateral.

13.3 Series repetibles: escribes G10 con los offsets validados del utillaje estándar; cualquier operador puede montar y arrancar con idéntico cero.

13.4 Matrices compactas: transformas un patrón 4×4 con M98 L o macro paramétrica; evitas 60 líneas repetidas y errores de tecleo.

14) Errores comunes (y cómo evitarlos) al usar estos códigos

  • Olvidar cancelar G52/G68: el siguiente trabajo queda “desplazado” o rotado. Solución: macros de cierre y checklist.
  • G10 mal parametrizado: offsets equivocados. Solución: versionar, comentar, validar con “programa maestro”.
  • Confundir G61/G64: marcas en esquinas o tiempos inflados. Solución: seleccionar por operación; usar G187 en 3D si aplica.
  • Anidación excesiva de subs: difícil depurar. Solución: máximo 2–3 niveles y nombrar por convención (O2xxx cavidades, O3xxx patrones).
  • Uso indiscriminado de G28: “subidas al infinito” innecesarias. Solución: G53 bien medido para retiradas controladas.

15) Itinerario 30/60/90 para incorporar estos códigos

Días 0–30: retira seguro y ordena tu código.

  • Introduce G53 Z en retiradas críticas y separa safe blocks.
  • Practica subprogramas M98/M99 con patrones simples.
  • Prueba G61/G64 en una pieza con vértices exigentes vs. contornos generales.

Días 31–60: reutilización real.

  • Aplica G68/G69 en una brida o patrón radial real (simulación + dry run).
  • Ensaya G52 para corrimientos locales bien documentados (y cancela).
  • Enlaza con subprogramas por WCS en Mastercam.

Días 61–90: estandariza.

  • Valora G10 para offsets de utillaje fijo con control de versiones.
  • Crea una biblioteca O#### (cavidad, patrón, chaflán, ranura) con comentarios y fecha.
  • Define tu checklist de ON/OFF para G52/G68, y modos de precisión por operación.

Si quieres que te acompañe con proyectos guiados, te espero en Fanuc y Heidenhain.

16) FAQ rápidas

¿Puedo combinar G52 y G68? Sí, pero complica el razonamiento. Empieza con uno y documenta bien el orden de activación/cancelación.

¿G10 es seguro en producción? Sí, si está auditado, versionado y con backups. Nunca copies/pegues sin revisar números de P y L del control.

¿Cómo pruebo G61/G64 sin arriesgar? Usa simulador y un test de esquinas. Mide tiempos y acabado; define un estándar por material/tolerancia.

[mailerlite_form form_id=1]

17) Conclusión: del “operar” al “diseñar procesos”

Conocer estos códigos te lleva del nivel de “sacar la pieza” al de diseñar procesos robustos y escalables. Con G53 retiras seguro; con G52/G68 reusas programas; con G10 automatizas offsets; con G61/G64/G187 ajustas precisión/tiempo; con M97–M99/M198 y macros, construyes librerías. El resultado: menos líneas, menos errores y más repetibilidad.

Tu siguiente paso: elige 2 códigos de esta lista, intégralos en una pieza real y documenta el antes/después (tiempo y riesgos). Si quieres acelerar este proceso con una metodología probada, empieza hoy con:

  • Programación CNC en Fanuc — plantillas, subprogramas, G53/G52/G68 y macros seguras.
  • Heidenhain — equivalentes TNC (LBL/CALL, ciclos, DATUM) y buenas prácticas.
  • Mastercam — postprocesado alineado y simulación fiable.
¿Quieres que revisemos tu código y te proponga una versión con G-codes “pro” y librería de subprogramas? Escríbeme desde la página de contacto con el caso y te devuelvo un plan de mejora.