El CNC ha llevado la fabricación al siguiente nivel al proporcionar a los fabricantes los medios para lograr una gran precisión, velocidad y flexibilidad en la fabricación de piezas complejas. Los códigos G y M son los dos códigos que constituyen el núcleo de todo programa CNC y que dirigen las numerosas operaciones que puede realizar una máquina determinada. Por lo tanto, es crucial que los maquinistas y programadores de CNC diferencien entre Código G y Código M para el correcto funcionamiento de la máquina.
En este artículo, analizaremos algunos de los códigos G y M más comunes, cómo funcionan en un programa CNC típico y por qué son cruciales para la fabricación.
Código G en la programación CNC
El código G es principalmente el Código Geométrico. Es la forma más común de programación para los CNC. Indica a la máquina cómo debe moverse, por ejemplo, en línea recta, en movimiento circular o con una velocidad de avance.
Básicamente, los códigos G indican a la máquina CNC dónde colocar la herramienta y cómo debe relacionarse con la pieza en función del movimiento.
Cada código G tiene alguna acción o movimiento en una máquina CNC, y un conjunto de éstos se ejecutará en un orden secuencial para realizar alguna tarea. Aunque la programación de códigos G se desarrolló inicialmente para máquinas NC, sus principios siguen siendo básicos en el mecanizado CNC moderno.
Códigos G comunes y sus funciones
Desglosemos algunos de los códigos G más esenciales en el mecanizado CNC:
1. G00: Posicionamiento rápido
El comando G00 ordena a la máquina mover rápidamente la herramienta a una coordenada especificada sin iniciar el corte. Normalmente se utiliza para mover la herramienta a una posición inicial antes de que comience el mecanizado o para preparar un cambio de herramienta. Es uno de los movimientos más rápidos que puede realizar la máquina.
2. G01: Interpolación lineal
El comando G01 controla el movimiento de la herramienta de corte a lo largo de una línea recta a una velocidad de avance especificada. Suele utilizarse para operaciones de corte precisas, en las que el avance es más lento que con el posicionamiento rápido, lo que permite una mayor precisión.
3. G02: Interpolación circular en el sentido de las agujas del reloj
El código G02 ordena a la herramienta moverse en el sentido de las agujas del reloj. Esto se utiliza normalmente cuando la pieza requiere cortes circulares o bordes redondeados.
4. G03: Interpolación circular en sentido antihorario
Al igual que G02, el comando G03 mueve la herramienta en una trayectoria circular en sentido contrario a las agujas del reloj. En conjunto, los operarios pueden utilizar G02 y G03 para crear formas y perfiles curvos complejos.
5. G04: Morar
El comando G04 le dice a la máquina que haga una pausa o que se detenga durante un tiempo especificado. Esto es útil cuando la herramienta de corte necesita mantener su posición, como cuando se asegura de que el husillo alcanza una velocidad estable o cuando se espera a que el refrigerante haga efecto.
6. G17, G18 y G19: Selección de plano
Estos códigos seleccionan el plano geométrico en el que funcionará la máquina:
- G17: Selecciona el plano XY.
- G18: Selecciona el plano XZ.
- G19: Selecciona el plano YZ. Esto es crítico en el mecanizado multieje para asegurar que la herramienta se mueve dentro de los parámetros espaciales correctos.
7. G43: Compensación de longitud de herramienta
El código G43 compensa la longitud de la herramienta, lo que permite a la máquina tener en cuenta diferentes tamaños de herramienta durante el funcionamiento. De lo contrario, las herramientas de distintas longitudes podrían provocar imprecisiones en el mecanizado.
Lista de códigos G
| Código G | Grupo | Significado |
| G00 | 01* | Movimiento rápido |
| G01 | 01 | Movimiento de interpolación lineal |
| G02 | 01 | Movimiento de interpolación CW |
| G03 | 01 | Movimiento de interpolación CCW |
| G04 | 00 | Visite |
| G09 | 00 | Parada exacta |
| G10 | 00 | Entrada de datos programable |
| G11 | 00 | Cancelación de entrada de datos programable |
| G15 | 17* | Anulación de coordenadas polares |
| G16 | 17 | Coordenada polar |
| G17 | 02* | Selección del plano XY |
| G18 | 02 | Selección del plano ZX |
| G19 | 02 | Selección del plano YZ |
| G20 | 06* | Seleccionar pulgadas |
| G21 | 06 | Seleccionar métrica |
| G28 | 00 | Volver al punto de referencia |
| G29 | 00 | Retorno desde el punto de referencia |
| G30 | 00 | Volver al 2nd ,3rd,4th punto de referencia |
| G31 | 00 | Alimentar hasta saltar |
| G33 | 01 | Enhebrado |
| G40 | 07* | Anulación de la compensación de corte |
| G41 | 07 | Compensación de corte a la izquierda |
| G42 | 07 | Compensación de corte a la derecha |
| G43 | 08 | Compensación de la longitud de la herramienta + |
| G44 | 08 | Compensación de la longitud de la herramienta - |
| G49 | 08* | G43/G44 cancelar |
| G50 | 11* | G51 cancelar |
| G51 | 11 | Escala |
| G52 | 00 | Establecer el sistema de coordenadas local |
| G53 | 00 | Selección de coordenadas de máquina no modal |
| G54 | 14* | Seleccionar el sistema de coordenadas de trabajo 1 |
| G55 | 14 | Seleccionar el sistema de coordenadas de trabajo 2 |
| G56 | 14 | Seleccionar el sistema de coordenadas de trabajo 3 |
| G57 | 14 | Seleccionar el sistema de coordenadas de trabajo 4 |
| G58 | 14 | Seleccionar el sistema de coordenadas de trabajo 5 |
| G59 | 14 | Seleccionar el sistema de coordenadas de trabajo 6 |
| G60 | 00 | Posicionamiento unidireccional |
| G61 | 15 | Modalidad de parada exacta |
| G64 | 15* | G61 cancelar |
| G65 | 00 | Macro llamada |
| G68 | 16 | Rotación |
| G69 | 16* | G68 cancelar |
| G73 | 09 | Ciclo de perforación de picoteo de alta velocidad |
| G74 | 09 | Ciclo de pulsación con la mano izquierda |
| G76 | 09 | Ciclo fijo de taladrado fino |
| G80 | 09* | Cancelación del ciclo de enlatado |
| G81 | 09 | Ciclo de perforación |
| G82 | 09 | Ciclo de perforación puntual |
| G83 | 09 | Ciclo normal de perforación |
| G84 | 09 | Ciclo de golpeteo |
| G85 | 09 | Ciclo de aburrimiento |
| G86 | 09 | Ciclo de mandrinado con parada del husillo |
| G87 | 09 | Volver ciclo aburrido |
| G88 | 09 | Ciclo de aburrimiento |
| G89 | 09 | Ciclo de taladrado y permanencia |
| G90 | 03* | Absolute |
| G91 | 03 | Incremental |
| G92 | 00 | Establecer coordenadas de trabajo |
| G94 | 05* | Alimentación por minuto |
| G95 | 05 | Avance por revolución |
| G96 | 13 | Velocidad de superficie constante |
| G97 | 13* | Anulación de la velocidad de superficie constante |
| G98 | 10* | Punto inicial de retorno |
| G99 | 10 | R retorno plano |
Lista de códigos G en torno
| Código G | Grupo | Significado |
| G12.1 | 21* | Cancelación de la interpolación de coordenadas polares |
| G13.1 | 21 | Interpolación de coordenadas polares |
| G70 | 00 | Ciclo de acabado |
| G71 | 00 | Arranque de viruta en torneado |
| G72 | 00 | Arranque de virutas en el refrentado |
| G73 | 00 | Ciclo de repetición de patrones |
| G74 | 00 | Ciclo de perforación de pico en la cara frontal |
| G75 | 00 | Ciclo de corte longitudinal |
| G76 | 00 | Ciclo de corte de varios hilos |
| G83 | 10 | Ciclo de taladrado frontal |
| G84 | 10 | Ciclo de roscado frontal |
| G85 | 10 | Ciclo para el aburrimiento facial |
| G87 | 10 | Ciclo de perforación lateral |
| G88 | 10 | Ciclo de golpeo lateral |
| G89 | 10 | Ciclo de perforación lateral |
| G98 | 05* | Alimentación por minuto |
| G99 | 05 | Avance por revolución |
¿Qué es el código M en la programación CNC?
Mientras que los códigos G especifican los movimientos de la máquina, los códigos M o Códigos Varios controlan las operaciones auxiliares de la máquina. Esto incluye el refrigerante, la operación de encendido/apagado del husillo y la parada en caso de que se complete un programa. Los códigos M actúan como interruptores, encendiendo o apagando los componentes de la máquina según sea necesario.
Al igual que los códigos G, los códigos M son esenciales para garantizar el buen funcionamiento del CNC, especialmente cuando se trata de actividades no relacionadas con el corte que siguen siendo fundamentales para el proceso de mecanizado.
Códigos M comunes y sus funciones
Veamos algunos de los códigos M más utilizados en el mecanizado CNC:
1. M00: Parada de programa
El código M00 detiene la ejecución del programa en curso. A diferencia de una parada de emergencia, la máquina se detiene de forma controlada y el operario puede reanudar el programa manualmente cuando esté preparado.
2. M03: Husillo encendido (sentido horario)
El comando M03 enciende el cabezal en el sentido de las agujas del reloj. Suele ir emparejado con un comando "S" que especifica la velocidad del cabezal, lo que lo convierte en un comando fundamental en el mecanizado.
3. M05: Parada del cabezal
Este código detiene inmediatamente la rotación del cabezal. Suele utilizarse antes de cambiar de herramienta o al final de una operación de mecanizado.
4. M06: Cambio de herramienta
El código M06 es esencial para cambiar de herramienta automáticamente durante el proceso de mecanizado. Cuando la máquina recibe este comando, recupera la nueva herramienta especificada por el programa (valor T) y la instala.
5. M08: Refrigerante encendido
Este código encenderá el sistema de refrigerante, que es esencial para mantener las temperaturas tanto de la herramienta como de la pieza de trabajo durante el proceso de corte para un funcionamiento suave y una mayor vida útil de la herramienta.
6. M09: Refrigerante apagado
El comando M09 apaga el flujo de refrigerante, a menudo se utiliza cuando la operación de mecanizado ha terminado o durante un cambio de herramienta.
Lista de códigos M
| Código M | Significado |
| M00 | Detener programa |
| M01 | Parada opcional del programa(程序选择停止) |
| M02 | Fin del programa |
| M03 | Eje hacia delante |
| M04 | Marcha atrás del husillo |
| M05 | Tope del husillo |
| M06 | Cambio de herramienta |
| M07 | Refrigerante ON (Niebla) |
| M08 | Refrigerante ON (Flood) |
| M09 | Refrigerante OFF |
| M19 | Orientar el husillo |
| M30 | Fin de programa y rebobinado |
| M31 | Transportador de virutas hacia delante |
| M32 | Cinta transportadora de virutas inversa |
| M33 | Parada del transportador de virutas |
| M34 | Incrementar la posición de la espita del refrigerante |
| M35 | Disminuir la posición de la espita del refrigerante |
| M36 | Rotación de palets |
| M39 | Girar la torreta de herramientas |
| M41 | Cambio a marchas cortas |
| M42 | Cambio a marchas largas |
| M50 | Ejecutar el cambio de palets |
| M82 | Desbloqueo de herramientas |
| M86 | Pinza para herramientas |
| M88 | A través del refrigerante del husillo ON |
| M89 | A través del refrigerante del husillo OFF |
| M95 | Modo de reposo |
| M96 | Salta si no hay entrada |
| M97 | Llamada a subprograma local |
| M98 | Llamada a subprograma |
| M99 | Retorno de subprograma o bucle |
Diferencias entre los códigos G y M
Aunque tanto los códigos G como los códigos M son vitales para la programación CNC, desempeñan funciones muy diferentes:
- Códigos G: Controlan principalmente los movimientos geométricos de la máquina. Dictan cómo debe moverse la máquina herramienta, ya sea en línea recta, curva o arco.
- Códigos M: Manejar las operaciones auxiliares de la máquina que no impliquen el movimiento físico de la herramienta de corte. Esto incluye el arranque y la parada del husillo, los cambios de herramienta y el control del refrigerante.
Mientras que los códigos G gestionan el proceso de corte propiamente dicho, los códigos M son igualmente importantes para garantizar que la máquina funcione con eficacia, permitiendo transiciones de herramientas y cambios de operación sin problemas.
La importancia de los códigos G y M en el mecanizado CNC
Como ya se ha mencionado, tanto el código G como el código M intervienen en el proceso de mecanizado CNC, desempeñando su papel en la producción de las piezas. Ambos códigos trabajan juntos para automatizar y controlar tareas de fabricación complicadas para una producción de piezas precisa y repetible mediante máquinas CNC.
Esto es importante para los maquinistas y programadores que necesitan entender el código. Aunque la mayor parte de la programación está automatizada en los Software CAD/CAM, el código G y el código M siguen siendo necesarios, sobre todo cuando se realizan ajustes personalizados o se necesita una programación manual.
He aquí por qué.
1. Eficacia y precisión
Las máquinas CNC pueden ejecutar diseños complejos de forma rápida y precisa con una programación de código G adecuada. Los movimientos precisos de la herramienta, controlados por códigos G, se traducen en menos desperdicio de material, tiempos de mecanizado más cortos y mayor productividad.
2. Flexibilidad
Dado que los códigos M operan funciones de la máquina como los cambios de herramienta y el flujo de refrigerante, su existencia permite a las máquinas CNC realizar una gran cantidad de tareas por sí mismas. Esto hace que las máquinas CNC sean versátiles, lo que les permite fabricar desde piezas sencillas hasta componentes aeroespaciales.
3. Automatización
Generalmente, el código G y el código M se unen en el arte de la programación CNC, permitiendo un proceso totalmente automático para el mecanizado. De este modo, un programa escrito y luego cargado puede hacer que la máquina realice tareas complejas con una supervisión mínima, liberando al operario para que atienda otras áreas de producción.
Programación CNC: Códigos G manuales vs. generados por CAM
Convencionalmente, los maquinistas escriben los códigos G línea por línea. Este método requiere un amplio conocimiento de cómo se comportará la máquina y de los detalles más minuciosos de la pieza mecanizada.
Sin embargo, con herramientas como el CAM o la fabricación asistida por ordenador, los maquinistas pueden ahora darse cuenta de la Código G del modelo de diseño mediante la automatización, lo que simplifica la programación.
Aunque el software CAM agiliza la generación de códigos y reduce las posibilidades de error, los conocimientos de programación manual siguen siendo fundamentales para ajustar las operaciones o solucionar problemas en la línea durante la producción.
4 errores comunes en la programación CNC y cómo los códigos G y M ayudan a evitarlos
Incluso con un software CAM avanzado que genera la mayor parte de la programación, pueden producirse errores en la programación CNC. Aunque son comunes, estos errores pueden dar lugar a piezas defectuosas, daños en la máquina, materiales desperdiciados o incluso accidentes en el taller.
Analicemos algunos errores comunes de programación CNC y el papel que desempeñan los códigos G y M en cada uno de ellos.
1. Compensación incorrecta de la longitud de la herramienta (G43)
Uno de los problemas más frecuentes en la programación CNC es la compensación incorrecta de la longitud de la herramienta. Cada herramienta de una máquina CNC tiene una longitud única y, cuando la máquina cambia de una herramienta a otra, debe tener en cuenta esta diferencia para mantener la precisión de corte.
Si el comando G43 no está correctamente configurado, la máquina podría no ajustarse a la longitud de la herramienta, lo que provocaría imprecisiones en la profundidad de corte y podría arruinar la pieza.
Por ejemplo, imagine que el programa cambia a una herramienta más larga sin compensar esa longitud adicional. Como resultado, la herramienta podría cortar demasiado profundo en el material, dañando la pieza y posiblemente la propia herramienta.
Resolución
Si se producen errores debido a una compensación incorrecta de la longitud de la herramienta, vuelva a comprobar el comando G43 y verifique que se utiliza el desplazamiento correcto. Para reducir aún más la posibilidad de error humano, utilice dispositivos de reglaje de herramientas que midan y registren automáticamente la longitud de la herramienta.
2. Bloqueos de seguridad
Un bloque de seguridad es un conjunto de comandos preliminares diseñados para garantizar que la máquina se inicia en un estado seguro y conocido antes de que comience cualquier mecanizado real. Los bloqueos de seguridad pueden incluir paradas del cabezal, cancelación de la compensación de la fresa, selección del plano correcto y posicionamiento de la máquina en coordenadas seguras.
Si el programa no incluye este bloque de seguridad al inicio, la máquina podría empezar a funcionar en condiciones inesperadas o incorrectas, provocando caídas, rotura de herramientas o incluso lesiones.
Por ejemplo, si una operación anterior implicaba cortar a una profundidad diferente y falta el bloque de seguridad, la máquina podría continuar a la profundidad anterior, lo que podría provocar colisiones con útiles o mordazas.
Resolución
Si falta un bloqueo de seguridad o está mal ajustado, revise el programa para incluir los códigos G y M esenciales que ponen la máquina en estado de reposo antes de cualquier movimiento u operación importante.
Inicie siempre el programa con un bloque de seguridad bien construido para garantizar los ajustes correctos de la máquina y evitar colisiones.
3. Avance inadecuado (G01)
El avance se define como la velocidad a la que la herramienta de corte se desplaza alrededor de la pieza. Ajustar un avance incorrecto puede provocar diversos problemas.
Por ejemplo, si la velocidad de avance es demasiado alta, provocará la rotura de la herramienta, el sobrecalentamiento o incluso la imprecisión de la pieza porque se aplica demasiada fuerza a la superficie del corte.
Por el contrario, si el avance es demasiado bajo, el mecanizado no será eficaz. El tiempo de ciclo también será mayor, y el acabado superficial será deficiente porque la herramienta rozará en lugar de cortar.
Supongamos ahora que la velocidad de avance es demasiado baja en el mecanizado de precisión. Esto provocará una acumulación de material en el filo de corte, deteriorando la calidad de la superficie mecanizada y aumentando el desgaste de la herramienta.
Resolución
Si se ha fijado un avance inadecuado, el ajuste mediante el código F en el comando G01 puede resolver el problema.
El software CAM puede calcular automáticamente el avance ideal basándose en las propiedades del material y la geometría de la herramienta, pero puede que sea necesario realizar ajustes manuales para afinar. Compruebe siempre el avance durante la primera ejecución del programa.
4. Códigos G y M no coincidentes
Cada bloque de código CNC suele contener un código G y un código M. El uso de varios códigos G o M en un mismo bloque puede confundir a la máquina, ya que es posible que no sepa qué comando debe priorizar, lo que provocaría un comportamiento inesperado.
Por ejemplo, la combinación de comandos como G02 (interpolación circular en el sentido de las agujas del reloj) y G01 (interpolación lineal) en el mismo bloque puede hacer que la máquina no ejecute correctamente el movimiento previsto.
Además, surgen problemas cuando se utilizan juntos códigos M contradictorios. Por ejemplo, emparejar M03 (husillo en el sentido de las agujas del reloj) con M05 (parada del husillo) en el mismo bloque puede confundir a la máquina sobre si debe arrancar o parar el husillo, provocando un funcionamiento incoherente.
Resolución
Si los códigos no coincidentes provocan un mal funcionamiento de la máquina, debe revisarse el programa para separar los códigos conflictivos en bloques distintos. Una revisión cuidadosa del código antes de ejecutarlo en la máquina ayudará a detectar posibles conflictos a tiempo.
Conclusión
Hoy en día, el código G y el código M están en el corazón mismo de las operaciones de mecanizado CNC. Por lo tanto, comprender el código G y el código M es esencial para crear tanto software CAM como código manual. De este modo, podrá manejar las máquinas CNC con mayor eficacia y precisión.
Ahora que la tecnología que hay detrás de las máquinas CNC sigue evolucionando, dominar estos códigos fundamentales sigue siendo uno de los medios más críticos para liberar todo el potencial del mecanizado CNC.
¿Aún tiene dudas? Póngase en contacto con nuestros expertos diseñadores y fabricantes en FirstMold.









