Ningbo Hongjia CNC Technology Co., Ltd. INICIO / Noticias / Noticias de la industria / Explicación del lenguaje de codificación CNC: código G, código M y dialectos de control para maquinistas

Explicación del lenguaje de codificación CNC: código G, código M y dialectos de control para maquinistas

Ningbo Hongjia CNC Technology Co., Ltd. 2026.10.14
Ningbo Hongjia CNC Technology Co., Ltd. Noticias de la industria

Dos tornos colocados uno al lado del otro en el mismo taller pueden ejecutar lo que parece el mismo programa y aun así comportarse de manera diferente. Un control lee G71 como un ciclo de torneado de dos bloques y desbasta la pieza exactamente como está escrito; otro espera una llamada de ciclo y suena la alarma en la primera línea. Esa brecha es la razón por la cual la frase lenguaje de codificación CNC merece una definición real en lugar de una respuesta de una sola palabra.

La respuesta corta: el lenguaje de codificación CNC es el código G, estandarizado como ISO 6983, creado a partir de letras de dirección que describen el movimiento, el avance, la velocidad y la selección de herramientas. Alrededor de ese núcleo, cada generador de control superpone sus propios códigos M, ciclos fijos, variables macro y comandos de sincronización. Aprenda el núcleo estándar y podrá leer casi cualquier programa. Aprenda el dialecto y podrá ejecutar la máquina.

Lo que sigue cubre la estructura de bloques, los códigos utilizados todos los días, los grupos modales y las trampas de orden dentro de ellos, las principales familias de dialectos, la programación de macros y subhusillos, y cómo probar un programa antes de tocar el metal.

En qué consiste realmente el lenguaje de codificación CNC

El código G transmite geometría y avance: hacia dónde viaja la herramienta, a qué velocidad y por qué camino. Los códigos M incluyen funciones de la máquina: encendido y apagado del husillo, refrigerante, sujeción y liberación del mandril, cambio de herramienta, contrapunto, parada del programa. Las letras de dirección proporcionan los parámetros: X, Y y Z para posición, F para avance, S para velocidad, T para herramienta y compensación, N para número de secuencia.

Tres detalles sorprenden a la gente desde el principio. En la mayoría de los centros de torneado, X se programa como un diámetro en lugar de un radio, por lo que X50.0 gira un diámetro de 50 mm. El avance puede ser por minuto (G98) o por revolución (G99), y el mismo valor F significa algo completamente diferente en cada modo. Y el código G no es un formato de archivo único: un control lee un dialecto específico y se debe escribir un posprocesador CAM para ese dialecto antes de que se ejecute la salida.

Si todavía estás desarrollando fluidez, un Descripción general en lenguaje sencillo de los fundamentos del torneado y el fresado. Vale la pena dedicar una hora de su tiempo antes de comenzar a editar programas de producción.

Anatomía de un solo bloque

Un bloque es una línea de un programa y solo necesita las direcciones que cambian. Un movimiento de desbaste en un torno podría leerse N120 G01 X48.0 Z-32.0 F0.25: un número de secuencia, un comando de interpolación lineal, una posición de diámetro absoluta, una posición Z absoluta y un avance de 0,25 mm por revolución.

Leído de izquierda a derecha, el bloque es una frase: a la máquina se le dice qué tipo de movimiento debe hacer, dónde terminar y qué tan rápido debe llegar. Las letras que aparecen son el vocabulario del idioma.

Tabla 1: las letras de dirección que componen un bloque típico. Los significados de las letras son ampliamente consistentes en todos los controles, pero las letras de los ejes incrementales y los rangos de parámetros del ciclo no lo son.
Dirección que hace Ejemplo
N Número de secuencia del bloque; útil al buscar o reiniciar a mitad del programa N120
G Comando preparatorio o de movimiento G01
X, Y, Z Posición de destino en los ejes principales; absoluto bajo G90, incremental bajo G91 Z-32.0
U, W Recorrido incremental en muchos controles de giro, con U generalmente escrito como diámetro U0.5
F Tasa de alimentación; por minuto según G98, por revolución según G99 F0.25
S Velocidad del husillo en rpm o velocidad superficial cuando la velocidad superficial constante está activa S800
T Número de herramienta y número de compensación, a menudo escritos juntos T0303
M Función de la máquina como dirección del husillo, refrigerante o parada del programa. M08
R, P, Q, D Parámetros de ciclo y compensación; el significado depende del ciclo en uso P100 Q200
# Variable macro utilizada para aritmética y para valores pasados #100=25.0

La tabla es vocabulario; la gramática es estado modal. Un control recuerda lo que estaba activo en la línea anterior y continúa aplicándolo hasta que otro comando del mismo grupo lo reemplaza.

Los códigos G que encontrarás todos los días

Un programa de torneado funcional utiliza un conjunto sorprendentemente pequeño de códigos G. La siguiente tabla cubre la mayor parte de lo que aparece en un torno de dos ejes en una semana normal.

Tabla 2: un conjunto práctico de códigos G. La sintaxis de ciclo como G71 varía en el recuento de bloques y el orden de los parámetros entre los controles.
Código Función Uso típico
G00 Posicionamiento rápido, sin cortes. Movimientos de aproximación y retracción.
G01 Interpolación lineal con un avance establecido Girando, enfrentando, aburrido
G02 / G03 Interpolación circular, en sentido horario y antihorario. Radios, filetes, formas esféricas.
G04 Habitar por un tiempo determinado Parte inferior de un orificio ciego, limpieza de ranuras
G20/G21 Entrada en pulgadas y métricas Establecer una vez en la parte superior del programa.
G28 Volver a la posición de referencia de la máquina Inicio y fin del programa seguros
G40 / G41 / G42 Cancelación de compensación del cortador, izquierda y derecha Fresado de perfiles y cantos.
G43 Compensación de longitud de herramienta Cambios de herramienta en un centro de mecanizado
G50/G92 Fijación de la velocidad del cabezal o ajuste de coordenadas, según el control Límites de velocidad y configuraciones simples
G54 a G59 Sistemas de coordenadas de trabajo. Múltiples accesorios en una mesa
G70/G71 Ciclos de acabado y desbaste para torneado. Desbaste en torno
G76 Ciclo de roscado Roscas internas y externas de un solo punto
G81 / G83 Ciclos de taladrado y taladrado en profundidad Patrones de agujeros, agujeros profundos.
G84 ciclo de roscado Golpeteo sincronizado
G96/G97 Velocidad de superficie constante dentro y fuera Encarar y girar a una velocidad superficial fija
G98/G99 Avance por minuto y avance por revolución Decidir cómo se interpreta F

En un torno de dos ejes la lista se reduce aún más. El desbaste, el acabado, el roscado, el taladrado y la velocidad superficial constante cubren la gran mayoría del trabajo de producción, por lo que los programas de torneado tienden a parecer compactos hasta que entra en escena una herramienta activa o un segundo husillo. Una máquina como el torno horizontal de alta potencia CK6150 está programada casi en su totalidad con G71, G70 y G76, siendo G96 el que maneja la velocidad de la superficie mientras se refrenta.

CK6150 high-power CNC horizontal lathe Torno horizontal CNC de alta potencia CK6150 Torno de control numérico Ver producto →

Grupos modales y las trampas de orden dentro de ellos

Cada código G pertenece a un grupo modal y sólo un código de un grupo puede estar activo a la vez. G00, G01, G02 y G03 se encuentran en el mismo grupo, por lo que escribir G01 cancela el movimiento rápido que estaba activo antes. Nunca es necesario desactivar un comando modal; simplemente emite el siguiente comando del mismo grupo cuando cambia el tipo de movimiento.

Algunos códigos no son modales y actúan solo en el bloque donde aparecen. Los ejemplos habituales son G04 de permanencia, G28 de retorno de referencia y G53 de movimientos de coordenadas de máquina.

Hacer pedidos dentro de un bloque es igualmente importante. Cuatro hábitos evitan la mayoría de las sorpresas:

  • Poner el comando de la unidad (G20 o G21) antes de cualquier coordenada, y nunca en medio de un ciclo activo.
  • Configure el modo de alimentación (G98 o G99) antes del primer valor F. Cambiar de por revolución a por minuto con el mismo número F puede cambiar la velocidad de avance real en un factor de más de cien.
  • Coloque una llamada de herramienta y su desplazamiento en la línea antes del movimiento que la utiliza, no después.
  • Retraiga con G00 a una posición segura antes de cancelar la compensación del cortador o un ciclo fijo.

Estas no son preferencias estilísticas. Ellos deciden si el siguiente bloque es un avance rápido en la pieza de trabajo o un avance controlado a la profundidad de corte.

Dialectos: por qué el mismo trabajo necesita un código diferente

El estándar define el núcleo del lenguaje, no todo. El roscado, los ciclos de perforación, la gestión de herramientas y la sintaxis de macros se dejan en manos del creador de controles, por lo que un programa escrito para una familia de controles generalmente necesita edición antes de ejecutarse en otra.

Dos familias aparecen con mayor frecuencia en tornos y centros de torneado de uso general: los ciclos multibloque estilo Fanuc y las llamadas de ciclo estilo Siemens. En la programación del día a día las diferencias se ven así.

Tabla 3: una comparación general de dos dialectos de control. La sintaxis exacta difiere entre los modelos, por lo que el manual de la máquina y un posprocesador correspondiente siguen siendo la autoridad.
Función Control estilo Fanuc Control estilo Siemens
Enhebrado G76 con dos o más bloques de parámetros G33 o una llamada de ciclo de subproceso dedicado
Ciclos de taladrado G81, G83 con parámetros R y Q Llamadas cíclicas con parámetros de profundidad, permanencia y retracción.
Compensación del radio de la herramienta G41 y G42 con un número de compensación D G41 y G42 con el radio tomado de la tabla de herramientas
Llamada de subprograma M98 con un número de programa Un nombre de subprograma o una declaración de llamada explícita
variables macro Variables numeradas escritas con # parámetros R
Velocidad superficial constante G96 con abrazadera de velocidad separada G96 con un parámetro de límite superior

Aquí está la consecuencia práctica para un comprador: el dialecto se decide en el momento de la compra, no en el taller después. Si se especifica un torno con un control Siemens 808D, entonces los programas, el posprocesador y la capacitación del operador deben coincidir con esa elección. Una máquina como el torno vertical de una sola columna CK5116B, que se suministra con el sistema Siemens 808D, no aceptará un archivo de ciclo estilo Fanuc sin que se reescriban los bloques de ciclo.

CK-5116B Siemens 808D CNC single-column vertical lathe CK-5116B Torno vertical de una columna CNC Siemens 808D Torno de control numérico Ver producto →

Macros, subprogramas y trabajo del subhusillo

Una vez que una familia de piezas comparte una forma y difiere sólo en dimensiones, la edición manual de cada programa deja de tener sentido. Dos funciones eliminan la mayor parte de ese trabajo y una tercera cambia la forma en que se planifica toda la secuencia.

Subprogramas

Un subprograma contiene una secuencia repetida (un perfil de ranura, un patrón de agujeros, una pasada de desbarbado) y se llama desde el programa principal. Cambie el subprograma una vez y cada programa que llama retoma el cambio en la siguiente ejecución.

Variables macro y bucles

Las variables macro almacenan números con los que el programa puede calcular. Una sola macro puede perforar una familia de diámetros, cambiando una variable entre pasadas y deteniéndose en una condición, en lugar de duplicar el mismo ciclo para cada tamaño. Debido a que la sintaxis aritmética es específica del dialecto, los programas con muchas macros son la parte menos portátil de cualquier biblioteca de programas.

Dos husillos, dos canales

En un centro de torneado de doble husillo, el programa también tiene que coordinar dos husillos: cortar en el husillo principal, separar, pasar la pieza bruta al subhusillo y terminar la segunda cara. Los códigos de sincronización y los comandos de espera evitan que ambas partes choquen, y ésta es el área menos estandarizada del lenguaje. Es exactamente el territorio cubierto por máquinas como el centro de torneado y acoplamiento automático de doble husillo NC106DS, donde la secuencia de transferencia está integrada en el diseño de la máquina en lugar de improvisarse en el programa.

NC-106DS dual-spindle automatic docking horizontal turning center Centro de torneado horizontal de acoplamiento automático de doble husillo NC-106DS El centro de torneado horizontal de acoplamiento automático de doble husillo es una máquina herramienta avanzada que integra múltiples funciones de procesamiento como torneado, taladrado, taladrado... Ver producto →

Cómo probar un programa antes de que corte metal

Casi todos los accidentes tienen la misma forma: el código nunca se verificó con el estado real de la máquina. Una breve rutina los atrapa a casi todos.

  1. Simule en el control o en CAM y verifique la trayectoria de la herramienta con el dibujo, no solo en busca de colisiones.
  2. Ejecute el programa con anulación rápida reducida y bloque único activo, observando la pantalla de distancia restante en cada aproximación.
  3. Cambie Z a positivo en una cantidad segura y ejecute todo el programa en el aire, confirmando los cambios de herramienta, compensaciones, dirección del husillo y refrigerante.
  4. Corte la primera pieza con el avance reducido y luego verifique cada dimensión con el dibujo antes de lanzar el programa a producción.
  5. Registre las compensaciones, la versión del programa y la lista de herramientas en una hoja de configuración para que la siguiente ejecución comience desde valores conocidos en lugar de desde la memoria.

Dos minutos de trabajo de un solo bloque en la máquina cuestan mucho menos que un portaherramientas roto o un lote desechado.

Qué preguntar antes de comprar una máquina

Debido a que el lenguaje de codificación está ligado al control, la selección de la máquina y la práctica de programación son la misma decisión. Antes de firmar, conviene confirmar por escrito algunos puntos:

  • Qué mando está montado y qué dialecto significa para ciclos, macros y subprogramas.
  • Si ya existe un posprocesador para su sistema CAM para ese control.
  • Cuánta memoria de programa tiene el control y si se necesita alimentación por goteo para archivos de superficie grandes.
  • Cuántas compensaciones de trabajo y compensaciones de herramientas están disponibles para configuraciones de múltiples accesorios.
  • Si se incluyen programas de muestra, una copia de seguridad de parámetros y capacitación del operador.
  • Cuál es el estándar de aceptación declarado y si el corte de prueba se realiza en su pieza o en una pieza de demostración.

Un constructor que ha dedicado dos décadas a la fabricación de equipos de corte de metales y que envía alrededor de mil unidades al año tiende a tener respuestas definitivas a estas preguntas. Puedes leer más sobre el Antecedentes e historia del equipo detrás de estos tornos. antes de seleccionar un modelo.

¡No dude en contactarnos cuando nos necesite!