Dominar el código G: El lenguaje de las máquinas CNC

La programación es una habilidad fundamental para todo tipo de mecanizado CNC, incluso cuando la automatización y la nueva tecnología parecen reemplazar las tareas de programación. Todo tornero aún necesita entender cómo funcionan sus programas y herramientas. Ya sea que sea nuevo en la programación CNC y su lenguaje más común, el código G, o que lleve años escribiendo código desde cero, los códigos CNC aún pueden sentirse como un idioma extranjero. Y para empeorar las cosas, cada máquina habla un dialecto diferente que debe entender. ¿Entiende lo que están diciendo? Aquí están los conceptos básicos de programación de código G que necesita saber para entender y escribir programas de manera eficiente que produzcan productos de alta calidad.
¿Qué es el código G?
El código G es un lenguaje de programación para CNC que instruye a las máquinas dónde y cómo moverse. La mayoría de las máquinas hablan un "dialecto" diferente de código G, por lo que los códigos varían según el tipo, marca y modelo. Cada máquina viene con un manual de instrucciones que muestra el código de esa máquina en particular para una función específica.
El código G significa "código geométrico" y sigue alguna variación del patrón alfanumérico:
N## G## X## Y## Z## F## S## T## M##
N: Número de línea
G: Movimiento
X: Posición horizontal
Y: Posición vertical
Z: Profundidad
F: Velocidad de avance
S: Velocidad del husillo
T: Selección de herramienta
M: Funciones varias
I y J: Centro incremental de un arco
R: Radio de un arco
Los códigos alfanuméricos se usan para la programación de código G ya que son una forma simple de:
- Definir movimiento y función (G##)
- Declarar una posición (X## Y## Z##)
- Establecer un valor (F## y/o S##)
- Seleccionar un elemento (T##)
- Activar y desactivar algo (M##), como refrigerante, husillos, movimiento de indexación, bloqueos de ejes, etc.
Por ejemplo,
G01 X1 Y1 F20 T01 M03 S500
generalmente indicaría un movimiento de avance lineal (G01) a la posición XY dada a una velocidad de avance de 20. Está usando la Herramienta 1, y la velocidad del husillo es 500. Las funciones varias variarán de máquina a máquina, por lo que para saber qué significa el código M, será necesario consultar el manual de instrucciones de la máquina.
Movimiento de la máquina
Todo lo que una máquina puede hacer se basa en tres tipos básicos de movimiento:
- Movimiento rápido: un movimiento lineal a una posición XYZ lo más rápido posible
- Movimiento de avance: un movimiento lineal a una posición XYZ a una velocidad de avance definida
- Movimiento circular: un movimiento circular a una velocidad de avance definida
Cada código G le dice a la máquina qué variación de estos movimientos básicos realizar y cómo realizarlo.
X e Y son coordenadas cartesianas para posición horizontal y vertical, y Z representa la profundidad de la máquina. Estos alfanuméricos seguirán el comando de movimiento/función (G) para declarar la posición de la máquina.
A continuación, F determina la velocidad de avance (para movimientos de avance o circulares), mientras que S determina la velocidad del husillo. T se usa para seleccionar una herramienta. Otros alfanuméricos usados en programación podrían incluir I, J y R, que tienen que ver con centros y radios de arco.
Códigos varios (M-codes)
La línea de un programa también podría incluir códigos M, que generalmente son códigos que le dicen a una máquina cómo realizar una acción. Aunque no está garantizado que sean los mismos en todas las máquinas, algunos códigos M comunes y estándar son:
- M00: Parada de programa
- M01: Parada de programa opcional
- M02: Fin de programa
- M03: Husillo en sentido horario
- M04: Husillo en sentido antihorario
- M05: Parada de husillo
- M06: Cambio de herramienta
- M08: Refrigerante por inundación encendido
- M09: Refrigerante por inundación apagado
- M30: Fin de programa/volver al inicio
- M41: Rango de marcha bajo del husillo
- M42: Rango de marcha alto del husillo
Modalidad
Al igual que una luz permanecerá encendida hasta que se apague, las funciones de código G (en controladores que admiten modalidad) permanecerán activas hasta que sean desactivadas por otro código. En otras palabras, solo una función puede estar activa en un momento dado. Para desactivar una función, simplemente seleccione una nueva función.

Por ejemplo, digamos que un código comienza con un movimiento rápido lineal en X1 Y1 (G00 X1 Y1). Si la siguiente función es otro movimiento rápido lineal, no es necesario escribir G00 de nuevo. Todo lo que se necesita en la siguiente línea de código es la nueva posición (digamos, X2 Y2) porque la condición modal es la misma. Luego, para cambiar la función a un avance lineal (G01), programar G01 en la siguiente línea desactivaría el movimiento rápido lineal y activaría el avance lineal.
Una vez que se establece una condición, permanece activa hasta que se apaga o otra condición la anula.
Ciclos enlatados (Canned Cycles)
Los ciclos enlatados son un tipo de condición modal que incorpora todos los movimientos para completar una tarea común en un solo código.

Por ejemplo, a menudo G81 es el código para una función básica de taladrado. En el caso de taladrado básico, la herramienta tendría que 1) moverse al punto de inicio de la ubicación del agujero, 2) avance rápido al plano de seguridad, 3) avance a la profundidad, y 4) avance rápido hacia afuera. ¡Eso serían cuatro líneas de código en el programa que tendrían que repetirse para cada nueva posición de taladro! Con el ciclo enlatado G81, solo se necesitan especificar las ubicaciones de los agujeros después de la activación. Los ciclos enlatados como G81 reducen significativamente la cantidad de código al incorporar múltiples movimientos en un solo código.

En código G, existen otros ciclos enlatados comunes para taladrado a percusión (peck drilling), escariado (counter boring) y roscado (tapping).
Grupos de códigos modales
Los grupos de códigos modales permiten que haya múltiples códigos en una sola línea, pero solo puede haber un código de cada grupo en una línea. Esto es porque los códigos dentro de un grupo se anulan entre sí.
Los grupos modales para códigos G son:
- Grupo 1 (movimiento): G00, G01, G02, G03, G80, G81, G82, G84, G85, G86, G87, G88, G89
- Grupo 2 (selección de plano – XY, YZ, ZX): G17, G18, G19
- Grupo 3 (modo absoluto/incremental): G90, G91
- Grupo 5 (modo de velocidad de avance): G93, G94
- Grupo 6 (unidades – pulgadas/milímetros): G20, G21
- Grupo 7 (compensación de radio de cortador – CRC): G40, G41, G42
- Grupo 8 (compensación de longitud de herramienta – TLO): G43, G49
- Grupo 10 (modo de retorno en ciclos enlatados): G98, G99
- Grupo 12 (selección de sistema de coordenadas de trabajo – WCSS): G54, G55, G56, G57, G58, G59

Postprocesadores
Un postprocesador es un traductor que traduce la imagen calculada de una trayectoria de herramienta en su pantalla al lenguaje para control de máquina. Puede crear un postprocesador buscando un programa de muestra que se alinee estrechamente con su máquina y luego modificando el programa para que se ajuste precisamente a su máquina.
Consejos de programación de código G
- Algunas máquinas y controladores ignoran los espacios. G01 X1 Y1 Z1 podría significar lo mismo que G01 X1Y1Z1.
- El eje Z es positivo en la dirección hacia arriba. Z1 subirá la herramienta, mientras que Z-1 la bajará.
- El dialecto de código G de su máquina especificará si un cero inicial es necesario (como en G01, en oposición a G1).
- El dialecto también determinará si los puntos decimales son siempre necesarios (ej. G01 X1. Y1. Z0.5)
- Es una buena idea ejecutar los programas de muestra que vienen en el manual de su máquina antes de intentar ejecutar un programa grande. A menudo, los programas de muestra no funcionan y necesitará anotar los problemas y establecer sus propios puntos de referencia.
Comience con el código G
¿Listo para empezar a usar el código G para programar sus máquinas? Comience revisando la tabla de codificación única de su máquina. Recuerde, cada máquina es un poco diferente. El código de Haas para una función podría no ser el mismo que el código de Anilam para esa función. Tiene que saber qué códigos usa su máquina específica para las tareas que quiere que realice.
El programa a menudo comenzará con un código de inicialización (%), seguido de un número de programa. Luego, habrá una línea de códigos de seguridad. A continuación, una línea para cambio de herramienta. Esto pone la herramienta apropiada en la máquina y establece la velocidad a usar. La mayor parte del programa serán entonces los movimientos y posicionamientos de la máquina.
Si usa numeración de líneas, es una buena idea nombrar cada línea en incrementos de al menos cinco. De esta manera, si necesita agregar líneas de código más tarde, las líneas seguirán etiquetadas en orden.
Cuando haya terminado de programar su código G, típicamente terminará el programa con una serie de funciones que detienen y reinician la máquina para que esté lista para la próxima vez.
Cuando se usa correctamente, los códigos G son una herramienta invaluable para torneros CNC, permitiéndole aprovechar al máximo las capacidades de su máquina. Las soluciones CAD/CAM integradas como Fusion 360 continúan agilizando el proceso de codificación CNC, para que no tenga que programar piezas a mano usando códigos G. Producir piezas de alta calidad nunca ha sido tan rápido con la programación de código G.

Tecnología Industrial
- Máquinas expendedoras de leche fresca: Cómodas, asequibles y ecológicas
- Máquinas de mandrinar horizontales explicadas: diseño, operación y aplicaciones
- Máquinas de Prensa Automáticas: Funcionamiento, Beneficios y Aplicaciones
- Descubre las Máquinas Expendedoras de Fideos: Funcionamiento y Qué Puedes Obtener
- Entendiendo las Máquinas Fresadoras de Precisión: Definición y Características Clave
- Comprender las Máquinas de Fundición a Presión: Funcionamiento y Ventajas
- Máquinas de soldadura por electrofusión: aplicaciones y beneficios
- Comprender el Torneado Mecánico: Un Proceso Clave de Mecanizado de Precisión
- Programación CNC desmitificada: Código G vs Código M
- Cuando el refrigerante de su máquina se echa a perder: guía segura de retirada y eliminación
- ¿Qué es CNC? — Entendiendo el Control Numérico Computarizado para la Manufactura Moderna