G54.APP

Referencia de G54.APP

Referencia de códigos G y M por operación: LinuxCNC, GRBL, Centroid, FANUC, Mach 3, Mach 4

Una referencia de códigos G y M para múltiples controles agrupada por lo que se quiere hacer — movimientos de avance, arcos, palpado, ciclos de taladrado, decalajes de origen — con el código exacto que usa cada control en cada celda. Desactive los controles que no utilice y cuidado con los falsos amigos: códigos que comparten número entre plataformas pero hacen cosas completamente distintas.

Abrir el visor de código G → Gratis, funciona en el navegador. Arrastre un archivo .nc o .gcode para visualizar trayectorias de herramienta y simular el arranque de material en tiempo real.

Una referencia de códigos G y M para múltiples controles, organizada por operación — lo que realmente se quiere que haga la máquina — en lugar de por número de código. Cada fila es una operación (un movimiento de avance, un arco, un palpado, un ciclo de taladrado, una selección de decalaje de origen…) y la columna de cada control muestra el código exacto que ese control utiliza para ella.

Cubre LinuxCNC, GRBL (1.1), Centroid (CNC12 — Acorn / Allin1DC / Oak; fresadora salvo que se indique lo contrario), FANUC (0i / 30i, con enfoque en fresadora y las particularidades de torno señaladas), Mach 3 (Mill Rev 1.84-A2) y Mach 4 (Mill v1.0).

Cómo leer las tablas:

Las fuentes utilizadas para la verificación de datos se listan al final de este documento.


Códigos por operación

Mostrar controles:

Movimiento e interpolación

Los movimientos que realmente cortan. Son los códigos más portables — G0–G3 significan lo mismo en todos los controles aquí listados.

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Posicionamiento rápido G0 G0 G0 G0 G0 G0 Desplazamiento sin corte a la velocidad máxima de la máquina.
Movimiento lineal en avance G1 G1 G1 G1 G1 G1 Corte recto a velocidad de avance controlada; requiere una palabra F.
Arco / hélice en sentido horario G2 G2 G2 G2 G2 G2 Offsets de centro I/J/K o radio R, en el plano activo. Añada un movimiento en Z para una hélice.
Arco / hélice en sentido antihorario G3 G3 G3 G3 G3 G3 Mismas convenciones que el arco horario, en dirección opuesta.
Temporización (pausa) G4 G4 G4 G4 G4 G4 Mach3/4: P con decimales = segundos, P entero = milisegundos.
Círculo completo horario (posición actual como centro) G12 G12 Mach3: parcial
Círculo completo antihorario G13 G13 Mach3: parcial
Interpolación por spline cúbica G5 Solo LinuxCNC. NO es lo mismo que el G5 de FANUC (look-ahead) — vea la nota de falsos amigos. LinuxCNC: G5 = spline cúbica a través de puntos de control
Designación de eje imaginario G7.1 Preparación de interpolación cilíndrica / polar de FANUC.

Selección de plano

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Seleccionar plano XY G17 G17 G17 G17 G17 G17 Por defecto. Los arcos usan I/J.
Seleccionar plano ZX G18 G18 G18 G18 G18 G18 Los arcos usan I/K.
Seleccionar plano YZ G19 G19 G19 G19 G19 G19 Los arcos usan J/K.

Coordenadas de trabajo y decalajes de origen

Dónde vive el cero de pieza. Los amarres ampliados más allá de los seis primeros son donde más divergen los controles.

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Seleccionar sistema de coordenadas de trabajo 1–6 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 / G55 / G56 / G57 / G58 / G59 G54 es el sistema activo por defecto tras el encendido en la mayoría de los controles.
Sistemas de coordenadas de trabajo 7–9 G59.1 / G59.2 / G59.3 G59.1 / G59.2 / G59.3 G59.1 / G59.2 / G59.3 La forma de LinuxCNC / Mach de obtener tres amarres más.
Banco de amarres ampliado (direccionado por P) G54.1 G54.1 FANUC: P1–P48 (0i) o P1–P300 (30i). Mach4: P1–P248. Centroid usa una forma distinta, SIN decimal, indicada más abajo. FANUC: G54.1 P1–P48 (0i) / P1–P300 (30i) Mach4: G54.1 P1–P248
Decalajes de origen ampliados (Centroid) G54 P1–P12 Los 12 amarres ampliados opcionales de Centroid (WCS n.º 7–18). Observe el espacio y la AUSENCIA de decimal — distinto del G54.1 Pn de FANUC. Centroid: también direccionables como E7–E18
Fijar el valor del decalaje de origen (absoluto) G10 L2 G10 L2 G10 L2 G10 L2 G10 L2 G10 L2 P1 = G54 … P6 = G59. El WCS activo no tiene por qué coincidir con P.
Fijar el decalaje de origen en la posición actual G10 L20 G10 L20 G10 L20 G10 L20 G10 L20 G10 L20 La forma de «fijar aquí».
Decalaje de coordenadas local G52 G52 G52 G52 G52 Desplazamiento temporal del sistema sobre el WCS activo.
Movimiento en coordenadas de máquina (no modal) G53 G53 G53 G53 G53 G53 Movimiento puntual en el sistema de la máquina.
Fijar posición / decalaje de coordenadas G92 G92 G92 G92 G92 G92 FANUC tiene G92.1 / G92.2 para borrar o restaurar; Mach tiene G92.1.

Unidades y modos de distancia

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Programar en pulgadas G20 G20 G20 G20 G20 G20
Programar en milímetros G21 G21 G21 G21 G21 G21
Modo de distancias absolutas G90 G90 G90 G90 G90 G90
Modo de distancias incrementales G91 G91 G91 G91 G91 G91
Modo de centro de arco absoluto G90.1 G90.1 G90.1 G90.1 I/J/K pasan a ser coordenadas absolutas, no offsets. Centroid: varía según la versión de CNC12
Modo de centro de arco incremental (por defecto) G91.1 G91.1 G91.1 G91.1 G91.1 G91.1

Modos de avance y velocidad

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Avance por minuto G94 G94 G94 G94 G94 Por defecto en fresadoras. En un TORNO FANUC este papel lo desempeña G98 — vea la nota de falsos amigos.
Avance por revolución G95 G95 G95 G95 G95 En un TORNO FANUC este papel lo desempeña G99.
Modo de avance en tiempo inverso G93 G93 G93 G93 G93 G93 F = 1/minutos; necesario para algunos movimientos rotativos. Centroid: G93 activa, G94 desactiva.

Longitud de herramienta y compensación de radio

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Compensación de radio DESACTIVADA G40 G40 G40 G40 G40 G40 Estado por defecto.
Compensación de radio a la IZQUIERDA de la trayectoria G41 G41 G41 G41 G41 La palabra D selecciona el registro de corrección.
Compensación de radio a la DERECHA de la trayectoria G42 G42 G42 G42 G42
Compensación de radio dinámica (valor en el código fuente) G41.1 / G42.1 LinuxCNC pone el valor D en la propia línea del programa en lugar de en un registro.
Estilo de esquina de la compensación de radio G40.1 / G40.2 Solo Mach4: G40.1 redondeo por arco, G40.2 esquina recta.
Compensación de longitud de herramienta (positiva) G43 G43 G43 G43 G43 La palabra H selecciona el registro de longitud.
Compensación de longitud de herramienta (negativa) G44 G44 De uso raro; estilo FANUC. Centroid documenta G44 en CNC12.
Compensación de longitud dinámica (en el código fuente) G43.1 G43.1
Cancelar la compensación de longitud de herramienta G49 G49 G49 G49 G49 G49
Fijar directamente una entrada de la tabla de herramientas G10 L1 G10 L1 G10 L1 G10 L1 G10 L1 P = número de herramienta, R = valor. Centroid lo documenta en CNC12. LinuxCNC: parcial
Fijar la longitud de herramienta para que la posición actual = valor G10 L10 G10 L10 G10 L10 G10 L10 G10 L10 LinuxCNC: parcial
Fijar longitud / desgaste de radio y radio de herramienta G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 Centroid CNC12 documenta explícitamente la familia L11/L12/L13; el soporte varía en los demás. FANUC: varía Mach3: varía Mach4: varía

Ciclos de taladrado, mandrinado y roscado

Ciclos fijos (ciclos enlatados) de agujereado. GRBL no tiene ninguno — los posprocesadores CAM los expanden en movimientos G1 simples.

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Cancelar ciclo fijo G80 G80 G80 G80 G80 Necesario para salir de los modos de taladrado/mandrinado/roscado.
Taladrado estándar G81 G81 G81 G81 G81 Z baja en avance, sale en rápido.
Taladrado con temporización en el fondo G82 G82 G82 G82 G82 Para punteado / abocardado.
Taladrado por picoteo (retracción completa) G83 G83 G83 G83 G83 Q = profundidad de pasada; la retracción completa evacúa la viruta.
Taladrado por picoteo de alta velocidad (retracción corta) G73 G73 G73 G73 G73
Roscado con macho a derechas G84 G84 G84 G84 G84 Mach3: requiere plugin del OEM para roscado rígido
Roscado con macho a izquierdas G74 G74 G74 G74 G74 El TORNO FANUC reasigna G74 a un ciclo de ranurado frontal — vea falsos amigos.
Roscado rígido G33.1 G84.2 / G84.3 Códigos dedicados de roscado rígido; en los demás casos el modo rígido es una opción de G84. LinuxCNC: código de roscado rígido de LinuxCNC
Mandrinado (entrada en avance, salida en avance) G85 G85 G85 G85 G85
Mandrinado (entrada en avance, parada, salida en rápido) G86 G86 G86 El juego de ciclos fijos de Centroid CNC12 es G81–G85 + G89; G86/G87/G88 no figuran en el manual.
Mandrinado inverso G87 G87 G87
Mandrinado con retracción manual G88 G88 G88
Mandrinado con temporización (salida en avance) G89 G89 G89 G89 G89
Mandrinado fino (parada orientada, desplazamiento, retracción) G76 G76 G76 G76 El TORNO FANUC reasigna G76 a un ciclo de roscado — vea falsos amigos. Centroid: parcial; verificar según la versión

Palpado y medición de herramientas

La mayor divergencia de la página. LinuxCNC/GRBL usan G38.x, FANUC/Mach usan G31 y Centroid usa exclusivamente códigos M.

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Palpar hacia la pieza, error si no hay contacto G38.2 G38.2 M115 / M116 G31 G31 G31 Sintaxis FANUC: G31 P1–P4 para salto (skip) multietapa. Centroid NO tiene G31/G38 — palpa con códigos M de movimiento protegido. Centroid: palpado con movimiento protegido; M115 en sentido negativo, M116 en positivo
Palpar hacia la pieza, sin error si no hay contacto G38.3 G38.3 M115/M116 L1 Centroid: L1 suprime el error por falta de contacto
Palpar alejándose de la superficie G38.4 / G38.5 G38.4 / G38.5 M125 / M126 G38.4 da error si sigue en contacto; G38.5 no. Centroid: variantes de palpado en alejamiento
Múltiples entradas de palpador G31.1 / G31.2 / G31.3 Selecciona entre varias entradas de palpador.
Mover un eje hasta que actúe un interruptor M105 / M106 Desplaza el eje indicado hasta que un interruptor/entrada del PLC se abra (P > 0) o se cierre (P < 0). Centroid: M105 en sentido negativo, M106 en positivo

Transformaciones de coordenadas — rotación, escalado, espejo, polares

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Rotación de coordenadas ACTIVADA G68 G68 G68 G68 G68 Rota el plano activo alrededor de un centro. Solo plano XY en Mach3/4.
Rotación de coordenadas DESACTIVADA G69 G69 G69 G69 G69
Escalado ACTIVADO G51 G51 G51 G51 P o I/J/K = factores de escala. Mach4 advierte de que el escalado de arcos puede ser impredecible. Centroid: Centroid integra el escalado Y el espejo en G51
Escalado DESACTIVADO G50 G50 G50 G50 El TORNO FANUC reasigna G50 por completo — vea falsos amigos. Centroid: también desactiva el espejo; parcial/depende de la versión
Imagen espejo ACTIVADA / DESACTIVADA G51.1 / G50.1 Centroid no tiene códigos de espejo separados — el espejo va integrado en G50/G51.
Coordenadas polares ACTIVADAS / DESACTIVADAS G16 / G15 G16 / G15 Codifica X como radio e Y como ángulo.

Look-ahead, suavizado y parada exacta

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Parada exacta (no modal, un bloque) G9 G9 G9 G9 G9 Versión puntual de G61.
Parada exacta (modal) G61 G61 G61 G61 G61 G61 Decelera por completo en cada punto final.
Parada exacta (variante) G61.1 G61.1 G61.1
Fusión de trayectoria / modo continuo G64 G64 G64 G64 G64 G64 LinuxCNC: G64 P<tol>. FANUC ajusta esto mediante G5.1 HPCC en su lugar. FANUC: parcial; el ajuste HPCC es distinto
Control de contorno con IA / HPCC (look-ahead) G5.1 Look-ahead de FANUC: Q1 activa, Q0 desactiva. NO es lo mismo que el G5 spline de LinuxCNC — vea falsos amigos.
Suavizado nano / variante de HPCC G5.4 FANUC: solo algunos 30i-B
Activar acel/decel con look-ahead (FANUC antiguos) G8 G8 P1 activa, G8 P0 desactiva.

Referenciado y retornos a referencia

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Retorno a la posición de referencia (home) G28 G28 G28 G28 G28 G28 GRBL/Mach: posición predefinida almacenada.
Almacenar el punto de referencia G28 G28.1 G28.1 G28.1 G28.1
Retorno desde la referencia (vía punto intermedio) G29 G29 G29 G29 G29
Retorno a la referencia secundaria G30 G30 G30 G30 G30 G30
Almacenar el punto de referencia G30 G30.1 G30.1 G30.1 G30.1
Comprobación de posición de referencia G27 Verifica que la máquina está en la referencia.

Flujo de programa y subprogramas

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Parada de programa obligatoria M0 M0 M0 M0 M0 M0 Ciclo-inicio (cycle start) para continuar.
Parada opcional M1 M1 M1 M1 M1 M1 Se omite salvo que el conmutador de parada opcional esté activado.
Fin de programa (sin rebobinado) M2 M2 M2 M2 M2 M2
Fin de programa + rebobinado M30 M30 M30 M30 M30 M30 Lo que la mayoría de los CAM emiten al final del archivo.
Llamar a subprograma M98 M98 M98 M98 FANUC/Centroid/Mach: P<archivo> L<repeticiones>. LinuxCNC usa O-codes en su lugar.
Retorno de subprograma / fin de macro M99 M99 M99 M99
Subrutinas con nombre / numeradas O-codes El modelo de LinuxCNC: o100 sub / o100 endsub / o100 call. LinuxCNC: o<n> sub / endsub / call
Llamada a macro (puntual) G65 G65 G65 G65 Centroid: L = número de repeticiones, no avance. Mach4: el archivo de macro debe ser .nc; los argumentos A–Z se asignan a #1–#26. LinuxCNC: mediante subrutinas O-code
Llamada a macro modal / cancelación G66 / G67 G66 / G67 La lista CNC12 de Centroid documenta solo el G65 puntual — sin G66/G67.
Reejecutar el programa desde el inicio M47 M47 Mach4: parcial

Macros, variables y control de flujo

Cómo hace cada control las bifurcaciones y los bucles. Son construcciones del lenguaje, no códigos G — se muestran para portar macros. Centroid es el caso notable: sin WHILE/DO.

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Variables paramétricas #<named> #vars #vars VBScript Lua LinuxCNC: parámetros con nombre y numerados Centroid: estilo Macro-B FANUC: Macro-B Mach3: Param1/2/3() Mach4: por script
Condicional (IF / THEN) O… if/elseif/else/endif IF/THEN/ELSE IF[…] THEN / GOTO VBScript Lua Centroid: soportado
Bucle (WHILE / DO) O… while/endwhile WHILE[…] DO / END VBScript Lua Centroid CNC12 NO tiene bucle WHILE/DO — use IF + GOTO en su lugar.
Salto (GOTO) GOTO Nnnn GOTOn Centroid: salta a un número de bloque
Fijar un parámetro interno del control G10 P_ R_ Específico de Centroid. P. ej., G10 P73 R0.02 configura la retracción del picoteo de G73 antes de llamar al ciclo. Centroid: sin palabra L

Husillo y refrigerante

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Husillo en marcha, sentido horario M3 M3 M3 M3 M3 M3 La palabra S fija la velocidad.
Husillo en marcha, sentido antihorario M4 M4 M4 M4 M4 M4 Modo láser de GRBL: potencia dinámica.
Parada de husillo M5 M5 M5 M5 M5 M5
Orientación de husillo (parada orientada) M19 M19 M19 M19 Centroid: requiere una macro M19 personalizada. Mach3: depende del VBScript del fabricante. Mach3: depende del fabricante de la máquina
Refrigerante por niebla activado M7 M7 M7 M7 M7 M7
Refrigerante por inundación activado M8 M8 M8 M8 M8 M8
Todo el refrigerante desactivado M9 M9 M9 M9 M9 M9

Cambio de herramienta

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Cambio de herramienta M6 M6 M6 M6 M6 Se empareja con un Tn previo. GRBL pausa y avisa.
Fijar el número de herramienta actual (sin cambio) M61 Declara la herramienta cargada sin realizar el cambio.

Correctores de avance y de husillo

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Habilitar los correctores de avance y velocidad M48 M108 M48 M48 M48 Centroid usa M108 para esto en lugar de M48.
Deshabilitar los correctores de avance y velocidad M49 M109 M49 M49 M49 Se usa a menudo dentro de los ciclos de roscado. Centroid usa M109.
Control granular de correctores (LinuxCNC) M50 / M51 / M52 / M53 Avance (M50), husillo (M51), avance adaptativo (M52), parada de avance (M53).

E/S digitales y analógicas

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Activar salida digital M62 / M64 M94 M62 / M64 M62 / M64 Centroid usa M94 (p. ej., M94/1 activa la salida 1). Mach3: normalmente mediante scripts del OEM. Centroid: M94/n Mach3: parcial
Desactivar salida digital M63 / M65 M95 M63 / M65 M63 / M65 Centroid usa M95 (p. ej., M95/1 desactiva la salida 1). Centroid: M95/n Mach3: parcial
Esperar una entrada M66 M100 / M101 M66 M66 Centroid usa M100/M101 (espera de bit PLC). Mach4: P<entrada> L<tiempo-límite-seg>. Mach3: parcial
Salida analógica M67 / M68 M67 / M68 M67 sincronizada, M68 inmediata. Mach4: parcial
Espera de bit PLC (Centroid) M100 / M101 M100 espera hasta que un bit PLC esté abierto/off; M101 hasta que esté cerrado/on. Los MISMOS números ejecutan scripts de usuario en LinuxCNC/Mach — vea falsos amigos. Centroid: M100 abierto, M101 cerrado
Salida directa / familia de macros de E/S (Mach4) M200–M219 / M220–M224 / M228

Estado modal (LinuxCNC)

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Guardar / restaurar el estado modal M70 / M71 / M72 / M73 M70 guarda, M71 invalida, M72 restaura, M73 guarda con retorno automático.

Ciclos de torneado / torno

Territorio de torno (serie T). Las columnas anteriores describen el comportamiento en FRESADORA; varios códigos significan otra cosa en un torno.

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Modo diámetro / radio (torno LinuxCNC) G7 / G8
Límite de RPM máximas del husillo (CSS) G50 G50 G50 G50 G50 Torno FANUC: G50 S____ limita las RPM bajo G96. En fresadora G50 significa escalado desactivado — un falso amigo de manual. LinuxCNC: parcial Centroid: parcial FANUC: G50 S____ Mach3: parcial
Fijar el origen de coordenadas de trabajo (torno FANUC) G50 G50 X_ Z_ en un torno FANUC fija el origen de la pieza (el otro sub-uso de G50). FANUC: G50 X_ Z_
Velocidad de corte constante (CSS) activada G96 G96 G96 G96 G96 S en m/min (G21) o pies/min (G20). Centroid: parcial Mach3: parcial
RPM de husillo constantes (cancela CSS) G97 G97 G97 G97 G97 Centroid: parcial Mach3: parcial
Roscado sincronizado (paso constante) G33 G33 G33 Centroid: opcional
Ciclo de torneado de acabado G70 G70 G70 Usa un perfil definido por G71/G72. Centroid: solo serie T Mach4: parcial
Torneado de arranque de material (desbaste) G71 / G72 G71 / G72 G71 / G72 G71 longitudinal, G72 refrentado. FANUC: sintaxis Tipo I o Tipo II. Centroid: solo serie T Mach4: parcial
Ranurado frontal (G74 de torno FANUC) G74 G74 El mismo G74 que en fresadora significa roscado a izquierdas. Centroid: serie T
Ciclo de roscado (G76 de torno FANUC) G76 G76 G76 El mismo G76 que en fresadora significa mandrinado fino. Tipo I (bloque único) o Tipo II (P/Q/R). LinuxCNC: torno Centroid: serie T
Avance por minuto (torno FANUC) G98 En un TORNO FANUC, G98 significa avance/min — el papel que G94 desempeña en la fresadora. FANUC: solo torno
Avance por revolución (torno FANUC) G99 En un TORNO FANUC, G99 significa avance/rev — el papel que G95 desempeña en la fresadora. FANUC: solo torno

Modo de retorno de ciclo fijo (fresadora)

OperaciónLinuxCNCGRBLCentroidFANUCMach3Mach4Notas
Retorno al Z inicial tras un ciclo G98 G98 G98 G98 G98 El TORNO FANUC reasigna G98 a avance por minuto — vea el grupo de torneado y los falsos amigos.
Retorno al plano R tras un ciclo G99 G99 G99 G99 G99 El TORNO FANUC reasigna G99 a avance por revolución.

Falsos amigos — mismo número, distinto significado

Las tablas de operaciones anteriores ya resuelven el caso de «código distinto, mismo trabajo» — cada fila lista la forma exacta de cada control, así que es imposible pasarlo por alto. Esta sección trata el caso opuesto y más peligroso: el mismo número hace cosas fundamentalmente distintas según el control o el modo. Un programa que corre sin problemas en uno producirá un resultado erróneo — o un choque — en otro.

Si está portando código G entre plataformas, esta es la sección que hay que leer dos veces.


M100 / M101 — espera de bit PLC vs ranura de script de usuario

Un operador formado en FANUC y un operador formado en Centroid escribirán M100 por dos razones completamente incompatibles.

Control M100 M101
Centroid CNC12 Pausa el programa hasta que el bit PLC / la entrada referenciada esté abierta (off / 0). Se empareja con M101. Mensaje personalizado mediante cncxmsg.txt Pausa hasta que el bit PLC esté cerrado (on / 1)
LinuxCNC Ejecuta un archivo de script de usuario externo llamado M100 desde el directorio de configuración (todo el rango M100–M199 está reservado de esta manera) Ejecuta el script de usuario M101
FANUC Sin asignación en el estándar. Normalmente lo define el fabricante de la máquina mediante el ladder del PMC Igual
Mach 3 Ranura libre — ejecuta la macro VBScript M100.M1S si existe; de lo contrario, indefinido Igual para M101.M1S
Mach 4 Ranura libre — ejecuta la macro Lua M100.mcs si existe; de lo contrario, indefinido Igual para M101.mcs
GRBL No compatible No compatible

Impacto en la portabilidad: un programa Centroid que usa M100 /5000 para esperar una señal PLC de vacío listo intentará, en LinuxCNC, ejecutar un script externo literalmente llamado M100 — un comportamiento en tiempo de ejecución completamente distinto. En una instalación estándar de Mach3 sin un M100.M1S escrito, la misma línea no hace nada en silencio. Reescriba siempre las esperas explícitas de PLC al pasar de un control a otro.


G98 / G99 — retorno de ciclo fijo (fresadora) vs modo de avance (torno FANUC)

La mayor trampa fresadora-vs-torno en FANUC.

Control / modo G98 G99
FANUC fresadora Retorno de ciclo fijo al Z inicial Retorno de ciclo fijo al plano R
FANUC torno (serie T) Avance por minuto (el papel que G94 desempeña en la fresadora) Avance por revolución (el papel que G95 desempeña en la fresadora)
LinuxCNC (fresadora o torno) Retorno de ciclo fijo al Z inicial Retorno de ciclo fijo al plano R
Centroid CNC12 (fresadora) Retorno de ciclo fijo al Z inicial Retorno de ciclo fijo al plano R
Mach 3 / Mach 4 Retorno de ciclo fijo al Z inicial Retorno de ciclo fijo al plano R

Impacto en la portabilidad: un programa de torno FANUC serie T que programa G98 esperando avance por minuto será interpretado, en todas las demás plataformas aquí listadas, como un cambio de modo de retorno de ciclo fijo. La interpretación como modo de avance de torno es exclusiva de la serie T de FANUC.


G50 — tres significados completamente distintos según la plataforma/el modo

Control / modo G50
FANUC fresadora Escalado DESACTIVADO (cancela G51)
FANUC torno Dos sub-usos distintos en el mismo control: G50 X_ Z_ fija el origen de coordenadas de trabajo; G50 S_____ limita las RPM máximas del husillo bajo el modo CSS de G96
Mach 3 / Mach 4 Escalado desactivado (fresadora)
LinuxCNC No implementado (LinuxCNC no soporta el escalado G50/G51 al estilo FANUC)
Centroid CNC12 fresadora Soporte parcial de desactivación de escalado; varía entre versiones de CNC12
Centroid CNC12 torno (serie T) Sigue la convención de torno FANUC
GRBL No compatible

Impacto en la portabilidad: un programa de torno FANUC que emite G50 S3000 para limitar un husillo gobernado por CSS será una instrucción sin efecto o un error en los controles de fresadora, porque el G50 del lado fresadora no acepta palabra S.


G74 — roscado a izquierdas (fresadora) vs ranurado frontal (torno FANUC)

Control / modo G74
FANUC fresadora Ciclo fijo de roscado a izquierdas (inverso)
FANUC torno Ciclo de ranurado frontal / refrentado con picoteo
LinuxCNC Roscado a izquierdas (fresadora)
Centroid CNC12 fresadora Roscado a izquierdas
Centroid CNC12 torno (serie T) Ranurado frontal
Mach 3 / Mach 4 Roscado a izquierdas (fresadora)
GRBL No compatible

Impacto en la portabilidad: mismo código, mismo fabricante de control (FANUC), operación de mecanizado totalmente distinta según el control sea de fresadora o de torno. Los posprocesadores dirigidos a torno asumen siempre el significado de torno FANUC.


G76 — mandrinado fino (fresadora) vs roscado (torno FANUC)

Control / modo G76
FANUC fresadora Ciclo de mandrinado fino (parada de husillo orientada en el fondo, retracción con desplazamiento lateral para no rayar la pared)
FANUC torno Ciclo de roscado multipasada — Tipo I (sintaxis antigua de bloque único) o Tipo II (sintaxis moderna multibloque P_ Q_ R_). La estructura del bloque es completamente distinta de la versión de fresadora
LinuxCNC fresadora No compatible
LinuxCNC torno Ciclo de roscado
Centroid CNC12 fresadora Parcial — verificar con la versión concreta del control
Centroid CNC12 torno (serie T) Ciclo de roscado
Mach 3 / Mach 4 fresadora Mandrinado fino
GRBL No compatible

Impacto en la portabilidad: un bloque G76 de roscado de torno tiene una lista de argumentos completamente diferente de la de un bloque G76 de mandrinado de fresadora. No son intercambiables.


G5 / G5.1 / G5.4 — implementaciones distintas de look-ahead de alta velocidad

Control Familia G5
FANUC G05.1 Q1 = control de contorno con IA activado; G05.1 Q0 = desactivado. Algunas variantes 30i-B usan G05.4. Los controles más antiguos usan G05 (sin decimal) o G08 P1 para el mismo suavizado de aceleración/look-ahead
LinuxCNC G5 (sin decimal) = interpolación por spline cúbica — una operación totalmente distinta, no un conmutador de look-ahead HSM
Centroid / Mach 3 / Mach 4 / GRBL No compatible

Impacto en la portabilidad: mismo número, matemáticas completamente distintas. Un bloque G5 de LinuxCNC define una curva spline a través de puntos de control; un G05 de FANUC conmuta un modo de aceleración con look-ahead. Los resultados no tienen relación alguna.


Hoja rápida de diferencias

GRBL omite intencionadamente los ciclos fijos, la compensación de radio, las coordenadas polares, el escalado, la rotación, las macros y los subprogramas. Los posprocesadores CAM dirigidos a GRBL expanden los ciclos en movimientos G01 simples y omiten G41/G42 por completo.

FANUC es el linaje que todos los demás copian, pero es donde más divergencia se produce en la gama alta. La mayor trampa entre controles: G98/G99 son modos de retorno de ciclo fijo en la fresadora, pero modos de avance en el torno. G50 y G70–G76 también se reasignan en el torno. Las opciones de mecanizado de alta velocidad (G05.1, G05.4, G08, ajuste de G64) varían según la generación del controlador y el fabricante de la máquina.

LinuxCNC es lo más parecido a un superconjunto limpio del estándar RS-274/NGC. Añade variantes de palpado de primera clase (G38.2–G38.5), códigos M de E/S digital/analógica de HAL (M62–M68), scripts de usuario M100–M199, y usa O-codes para las subrutinas en lugar de M98/M99 al estilo FANUC.

Centroid (CNC12) es mayormente compatible con FANUC en los códigos canónicos de taladrado, mandrinado y macros. La programación de macros usa #-variables con IF/THEN/ELSE y saltos GOTO a número de bloqueno tiene bucles WHILE/DO. El palpado se hace con códigos M (M105/M106, M115/M116/M125/M126), no con G31/G38. Los decalajes de origen ampliados usan G54 Pn (sin decimal), no G59.1+ ni G54.1. Los ciclos de torno G70–G76 solo aplican en la serie T. El juego canónico de ciclos fijos de fresadora es G81–G85 + G89; el mandrinado inverso G86/G87/G88 y las macros modales G66/G67 no figuran en el manual de CNC12.

Mach 3 es el control comercial con menos prestaciones de esta lista — sin macros G65 (los códigos M personalizados son archivos VBScript .M1S), sin coordenadas polares, sin decalajes de amarre ampliados más allá de G59.3, sin palpado múltiple G31. M62–M66 suelen requerir scripts del OEM en lugar de funcionar de forma nativa. Las subrutinas mediante M98/M99 sí funcionan.

Mach 4 es un superconjunto sustancial de Mach 3: añade macros G65 (con extensión de archivo de macro .nc obligatoria), decalajes ampliados G54.1 P1–P248, palpado múltiple G31.0–G31.3, círculo completo G12/G13, coordenadas polares, roscado rígido G84.2/G84.3, estilos de esquina de compensación de radio G40.1/G40.2, E/S nativa M62–M68 y una familia M200–M228. Lua sustituye a VBScript para los códigos M personalizados — las macros de Mach3 no se portan directamente.


Cómo maneja esta aplicación los códigos no compatibles

El analizador de G54.APP es permisivo — los códigos G o M no reconocidos se conservan textualmente en el código fuente y simplemente no afectan a la visualización. Así, un archivo escrito para FANUC con rotación G68 o llamadas a subprograma M98 renderizará los movimientos lineales y de arco que sí entiende y omitirá el resto en silencio. Verifique siempre la simulación contra el comportamiento esperado del control de destino antes de cortar.


Fuentes

Estas son las referencias públicas consultadas al construir esta tabla. Los manuales de los fabricantes (FANUC, Centroid) se entregan con el controlador y pueden no estar archivados públicamente; cuando se usó un PDF del fabricante, la URL es la que estaba en servicio en el momento de la redacción.

LinuxCNC (gratuito, en línea):

GRBL 1.1 (código abierto):

Centroid CNC12 (PDF del fabricante):

FANUC (agregadores de terceros de manuales del fabricante; los PDF del fabricante generalmente no se alojan de forma gratuita):

Mach 3 (ArtSoft / MachMotion):

Mach 4 (ArtSoft / MachMotion):

Entradas inciertas o no verificables conocidas

Visualice su código G en 3D

G54.APP es un visor de código G y simulador CNC de arranque de material, gratuito y en el navegador. Cargue cualquier archivo .nc, .gcode, .tap o .cnc para reproducir la trayectoria de herramienta a más de 60 fps con arranque de material en tiempo real — sin instalación y sin cuenta.

Probar G54.APP →