Inicio/Blog/Tornos/Programación torno CNC
// Guía técnica · Tornos CNC

Programación de Torno CNC: G-code Básico para Fanuc y Siemens

La programación en G-code es la base del mecanizado CNC. Aunque hoy los softwares CAM generan el código automáticamente, entender el G-code te permite corregir programas en máquina, optimizar ciclos y resolver problemas sin depender del ordenador. Esta guía explica los códigos G y M más usados en tornos CNC Fanuc y Siemens, con ejemplos prácticos de programas reales.

📅 2026 9 min de lectura 🏷 Tornos · CNC · Programación · G-code

Estructura de un programa CNC

Un programa de torno CNC en G-code tiene siempre la misma estructura básica:

  • Número de programa — identifica el programa en la memoria del control (ej. O0001 en Fanuc)
  • Bloque de inicio — selección de herramienta, activación del refrigerante, definición del punto de referencia
  • Bloques de mecanizado — secuencia de movimientos y operaciones que definen la pieza
  • Bloque de fin — retorno al punto de cambio, parada del husillo, fin de programa

Cada línea del programa se llama bloque y contiene uno o varios códigos con sus valores. Un bloque típico tiene: número de bloque (N), código de movimiento (G), coordenadas (X, Z), velocidad de avance (F) y velocidad de husillo (S).

Ejemplo de bloque:
N100 G01 X40.0 Z-50.0 F0.25 S1200 M03

N100 = nº bloque · G01 = movimiento lineal · X40 Z-50 = coordenadas destino · F0.25 = avance 0,25mm/rev · S1200 = 1200 RPM · M03 = husillo en marcha sentido horario

Sistema de ejes en el torno CNC

En el torno CNC solo hay dos ejes lineales:

  • Eje Z — paralelo al eje de rotación del husillo. Movimiento positivo (+Z) aleja la herramienta del plato; negativo (-Z) la acerca.
  • Eje X — perpendicular al eje de rotación. Positivo (+X) aleja la herramienta del eje de la pieza; negativo (-X) la acerca. En el torno, el valor X es siempre el diámetro de la pieza (no el radio), por convención.

Códigos G más usados en torno CNC

CódigoFunciónEjemplo
G00Movimiento rápido (posicionamiento)G00 X100 Z5
G01Interpolación lineal (mecanizado)G01 X40 Z-80 F0.3
G02Interpolación circular sentido horarioG02 X50 Z-30 R10
G03Interpolación circular antihorarioG03 X50 Z-30 R10
G04Pausa (tiempo en segundos)G04 X2.0
G21Programación en milímetrosG21
G28Retorno al punto de referenciaG28 U0 W0
G40Cancelar compensación radio herramientaG40
G41/G42Compensación radio herramienta izq/dchaG42
G50Velocidad máxima de husillo (límite)G50 S3000
G70Ciclo de acabado (Fanuc)G70 P100 Q200
G71Ciclo de desbaste longitudinal (Fanuc)G71 U2.0 R0.5
G76Ciclo de roscado (Fanuc)G76 P010060 Q50 R0.05
G96Velocidad de corte constante (m/min)G96 S200
G97Velocidad de husillo constante (RPM)G97 S1500

Códigos M más usados

CódigoFunción
M00Parada de programa (requiere confirmación del operario)
M01Parada opcional (solo si está activada en el panel)
M02 / M30Fin de programa (M30 rebobina al inicio)
M03Husillo en marcha sentido horario (normal para exterior)
M04Husillo en marcha sentido antihorario
M05Parada del husillo
M06Cambio de herramienta (en centros de mecanizado)
M08Refrigerante activado
M09Refrigerante desactivado
M41/M42Selección de rango de velocidades bajo/alto

Ciclos fijos de torneado (Fanuc)

Los ciclos fijos son las herramientas más potentes de la programación en torno CNC. En lugar de programar bloque a bloque cada pasada de desbaste, un ciclo fijo hace el cálculo automáticamente:

  • G71 — Ciclo de desbaste longitudinal: define el perfil final de la pieza y el ciclo realiza automáticamente todas las pasadas de desbaste necesarias hasta dejar el stock de acabado programado. Ahorra decenas de bloques de programación.
  • G70 — Ciclo de acabado: ejecuta el perfil final definido en G71 en una sola pasada de acabado con los parámetros de avance y velocidad de acabado.
  • G75 — Ciclo de ranurado: para ranuras transversales. Define el ancho, la profundidad y el avance de ranurado automáticamente.
  • G76 — Ciclo de roscado: el más complejo. Define el perfil de rosca, el número de pasadas, el paso y la sobremedida de acabado. Ejecuta automáticamente todas las pasadas necesarias para conseguir la rosca completa.

Programa completo de ejemplo

Cilindrado exterior de un eje de Ø50mm a Ø40mm, longitud 60mm, en acero S235. Control Fanuc 0i:

O0001 (CILINDRADO EJE S235)
G21 G97 G40 (milímetros, RPM constantes, cancelar compensación)
G28 U0 W0 (retorno referencia)
T0101 (herramienta 1, corrector 1)
G96 S180 M03 (Vc=180m/min, husillo en marcha)
G50 S3000 (límite máximo 3000 RPM)
G00 X55.0 Z2.0 (aproximación rápida)
G71 U1.5 R0.5 (desbaste: pasada 1,5mm, retroceso 0,5mm)
G71 P100 Q200 U0.3 W0.1 F0.25 (stock acabado X=0,3 Z=0,1)
N100 G00 X40.0 (inicio perfil acabado)
G01 Z-60.0 F0.15 (cilindrado a Ø40 longitud 60mm)
N200 G00 X55.0 (fin perfil)
G70 P100 Q200 (pasada de acabado)
G00 X100.0 Z50.0 (retirada)
M05 (parada husillo)
M30 (fin programa)

¿Buscas un torno CNC para tu taller?

Disponemos de tornos CNC Fanuc y Siemens nuevos y de ocasión. Asesoramiento técnico incluido.

Ver tornos CNC disponibles →

Diferencias principales Fanuc vs Siemens Sinumerik

AspectoFanucSiemens Sinumerik
Fin de programaM30M30 o M02
Ciclo desbasteG71CYCLE95
Ciclo roscadoG76CYCLE97
Velocidad corte constanteG96G96 (igual)
SubprogramasM98 / M99L… / RET
Variables#1 — #999R0 — R299
Curva de aprendizajeEstándarAlgo más compleja en ciclos

Conclusión

Entender el G-code de torno CNC — aunque uses CAM para generar el código — te da autonomía total en la máquina: puedes corregir un error de programación directamente en el control, optimizar un ciclo sin volver al ordenador y resolver problemas en producción sin depender del programador.

Los códigos G00, G01, G71, G70 y G76 cubren el 90% de los programas de torneado habituales. Domínalos y tendrás base suficiente para programar cualquier pieza de complejidad media directamente en el control.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *