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:
- Una celda muestra el o los códigos que ese control usa para la operación — p. ej.,
la fila «palpar hacia la pieza» muestra
G38.2para LinuxCNC,G31para FANUC yM115/M116para Centroid. —significa que el control no tiene un código equivalente para esa operación.- Un código con subrayado punteado tiene una salvedad específica de ese control; la nota completa está en la columna Notas de esa fila (y al pasar el cursor por encima).
- Utilice el filtro de controles en la parte superior de las tablas para ocultar todas las columnas excepto la del suyo.
Las fuentes utilizadas para la verificación de datos se listan al final de este documento.
#Códigos por operación
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Posicionamiento rápido | G0 |
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 |
G1 |
Corte recto a velocidad de avance controlada; requiere una palabra F. |
| Arco / hélice en sentido horario | G2 |
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 |
G3 |
Mismas convenciones que el arco horario, en dirección opuesta. |
| Temporización (pausa) | G4 |
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 |
G12 |
Mach3: parcial Haas: Circular Pocket Milling CW |
| Círculo completo antihorario | — | — | — | — | G13 |
G13 |
G13 |
Mach3: parcial Haas: Circular Pocket Milling CCW |
| 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. |
| Uni-directional positioning (Haas) | — | — | — | — | — | — | G60 |
Approaches each point from one direction to take up backlash. |
Selección de plano
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Seleccionar plano XY | G17 |
G17 |
G17 |
G17 |
G17 |
G17 |
G17 |
Por defecto. Los arcos usan I/J. |
| Seleccionar plano ZX | G18 |
G18 |
G18 |
G18 |
G18 |
G18 |
G18 |
Los arcos usan I/K. |
| Seleccionar plano YZ | G19 |
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| 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 / 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 |
G154 |
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 Haas: G154 P1–P99 |
| 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 |
| Additional work coord systems 7–26 (Haas legacy) | — | — | — | — | — | — | G110–G129 |
Older Haas extra fixtures #7–#26, one dedicated code each. Superseded by G154 Pn on current controls. Haas: G110 = #7 … G129 = #26 |
| Fijar el valor del decalaje de origen (absoluto) | G10 L2 |
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 |
G10 L20 |
La forma de «fijar aquí». |
| Decalaje de coordenadas local | G52 |
— | G52 |
G52 |
G52 |
G52 |
G52 |
Desplazamiento temporal del sistema sobre el WCS activo. Haas: Haas G52 = global work-coordinate shift |
| Movimiento en coordenadas de máquina (no modal) | G53 |
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 |
G92 |
FANUC tiene G92.1 / G92.2 para borrar o restaurar; Mach tiene G92.1. Haas: sets the global coordinate-system shift value |
Unidades y modos de distancia
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Programar en pulgadas | G20 |
G20 |
G20 |
G20 |
G20 |
G20 |
G20 |
|
| Programar en milímetros | G21 |
G21 |
G21 |
G21 |
G21 |
G21 |
G21 |
|
| Modo de distancias absolutas | G90 |
G90 |
G90 |
G90 |
G90 |
G90 |
G90 |
|
| Modo de distancias incrementales | G91 |
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Avance por minuto | G94 |
— | 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 |
G95 |
En un TORNO FANUC este papel lo desempeña G99. |
| Modo de avance en tiempo inverso | G93 |
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Compensación de radio DESACTIVADA | G40 |
G40 |
G40 |
G40 |
G40 |
G40 |
G40 |
Estado por defecto. |
| Compensación de radio a la IZQUIERDA de la trayectoria | G41 |
— | 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 |
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 |
G43 |
La palabra H selecciona el registro de longitud. |
| Compensación de longitud de herramienta (negativa) | — | — | G44 |
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 |
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 |
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 |
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 |
| 3D+ cutter compensation (Haas) | — | — | — | — | — | — | G141 |
Haas 3-axis simultaneous cutter comp for ball-nose / contour work. |
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Cancelar ciclo fijo | G80 |
— | G80 |
G80 |
G80 |
G80 |
G80 |
Necesario para salir de los modos de taladrado/mandrinado/roscado. |
| Taladrado estándar | G81 |
— | 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 |
G82 |
Para punteado / abocardado. |
| Taladrado por picoteo (retracción completa) | G83 |
— | 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 |
G73 |
|
| Roscado con macho a derechas | G84 |
— | G84 |
G84 |
G84 |
G84 |
G84 |
Mach3: requiere plugin del OEM para roscado rígido |
| Roscado con macho a izquierdas | G74 |
— | G74 |
G74 |
G74 |
G74 |
G74 |
El TORNO FANUC reasigna G74 a un ciclo de ranurado frontal — vea falsos amigos. Haas: Reverse Tap canned cycle |
| 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 |
G85 |
|
| Mandrinado (entrada en avance, parada, salida en rápido) | — | — | — | G86 |
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 |
G77 |
Haas: Haas uses G77 for back-bore |
| Mandrinado con retracción manual | — | — | — | G88 |
G88 |
G88 |
— | |
| Mandrinado con temporización (salida en avance) | G89 |
— | G89 |
G89 |
G89 |
G89 |
G89 |
|
| Mandrinado fino (parada orientada, desplazamiento, retracción) | — | — | G76 |
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 |
| Bolt-hole patterns (Haas mill) | — | — | — | — | — | — | G70 / G71 / G72 |
MILL-only pattern cycles used with a canned drill cycle. FANUC / lathe reuse G70–G72 for turning cycles — see false friends. Haas: G70 circle, G71 arc, G72 along an angle |
| General-purpose pocket milling (Haas) | — | — | — | — | — | — | G150 |
Haas canned pocket routine (rough + finish, with ramp / island options). |
| Text engraving (Haas) | — | — | — | — | — | — | G47 |
Engrave a literal string or an auto-incrementing serial number. |
| Broaching cycle (Haas) | — | — | — | — | — | — | G156 |
|
| Non-vertical rigid tapping (Haas 5-axis) | — | — | — | — | — | — | G174 / G184 |
Rigid tap along a tilted / rotary axis on a UMC. Haas: G174 CCW, G184 CW |
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Palpar hacia la pieza, error si no hay contacto | G38.2 |
G38.2 |
M115 / M116 |
G31 |
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 Haas: Feed Until Skip |
| 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 |
| Automatic tool / work measurement (Haas) | — | — | — | — | — | — | G35 / G36 / G37 / G136 |
Spindle- and table-probe measuring cycles. Haas: G35 tool diameter, G36 work offset, G37 tool offset, G136 work-offset center |
| Probe support M-codes (Haas) | — | — | — | — | — | — | M75 / M78 / M79 / M104 |
Helpers used inside Haas probing / tool-setting routines. Haas: M75 set G35/G136 ref point; M78 alarm if skip found; M79 alarm if skip not found; M104/M105 probe-arm extend/retract |
Transformaciones de coordenadas — rotación, escalado, espejo, polares
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Rotación de coordenadas ACTIVADA | G68 |
— | 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 |
G69 |
|
| Escalado ACTIVADO | — | — | G51 |
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 |
G50 |
El TORNO FANUC reasigna G50 por completo — vea falsos amigos. Centroid: también desactiva el espejo; parcial/depende de la versión Haas: Cancel Scaling |
| Imagen espejo ACTIVADA / DESACTIVADA | — | — | — | G51.1 / G50.1 |
— | — | G101 / G100 |
Centroid no tiene códigos de espejo separados — el espejo va integrado en G50/G51. Haas: G101 enable, G100 cancel |
| Coordenadas polares ACTIVADAS / DESACTIVADAS | — | — | — | G16 / G15 |
— | G16 / G15 |
— | Codifica X como radio e Y como ángulo. |
| Cylindrical mapping / wrapping (Haas) | — | — | — | — | — | — | G107 |
Wraps a flat XY toolpath around a rotary (A/B) axis. |
Look-ahead, suavizado y parada exacta
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Parada exacta (no modal, un bloque) | G9 |
— | G9 |
G9 |
G9 |
G9 |
G9 |
Versión puntual de G61. |
| Parada exacta (modal) | G61 |
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 |
G64 |
LinuxCNC: G64 P<tol>. FANUC ajusta esto mediante G5.1 HPCC en su lugar. FANUC: parcial; el ajuste HPCC es distinto Haas: cancels G61 exact-stop mode |
| 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. |
| Look-ahead block limit (Haas) | — | — | — | — | — | — | G103 |
Caps how many blocks the control buffers ahead; P0 = maximum look-ahead. Haas: G103 P_ (block limit) |
| Smoothness / accuracy level (Haas) | — | — | — | — | — | — | G187 |
Haas HSM accuracy control; analogous to FANUC G05.1 look-ahead tuning. Haas: G187 E_ / P_ trades smoothness against accuracy |
Referenciado y retornos a referencia
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Retorno a la posición de referencia (home) | G28 |
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 |
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Parada de programa obligatoria | M0 |
M0 |
M0 |
M0 |
M0 |
M0 |
M0 |
Ciclo-inicio (cycle start) para continuar. |
| Parada opcional | M1 |
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 |
M2 |
|
| Fin de programa + rebobinado | M30 |
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 |
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 |
M99 |
Haas: sub-program return or loop |
| 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 |
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 |
| Local subprogram call (Haas) | — | — | — | — | — | — | M97 |
Calls a labeled block in the SAME program (P = line/label, L = repeats). FANUC has no M97. Haas: M97 P<line> L<reps> |
| Conditional jump (Haas) | — | — | — | — | — | — | M96 / M46 |
Haas: M96 P_ Q_ jump if no input; M46 Q_ P_ jump to line |
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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Variables paramétricas | #<named> |
— | #vars |
#vars |
VBScript |
Lua |
#vars |
LinuxCNC: parámetros con nombre y numerados Centroid: estilo Macro-B FANUC: Macro-B Mach3: Param1/2/3() Mach4: por script Haas: FANUC-style Macro-B |
| Condicional (IF / THEN) | O… if/elseif/else/endif |
— | IF/THEN/ELSE |
IF[…] THEN / GOTO |
VBScript |
Lua |
IF[…] THEN / GOTO |
Centroid: soportado |
| Bucle (WHILE / DO) | O… while/endwhile |
— | — | WHILE[…] DO / END |
VBScript |
Lua |
WHILE[…] DO / END |
Centroid CNC12 NO tiene bucle WHILE/DO — use IF + GOTO en su lugar. |
| Salto (GOTO) | — | — | GOTO Nnnn |
GOTOn |
— | — | 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 |
| Modify a Setting from the program (Haas) | — | — | — | — | — | — | G167 |
Haas: G167 changes a machine Setting mid-program |
Husillo y refrigerante
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Husillo en marcha, sentido horario | M3 |
M3 |
M3 |
M3 |
M3 |
M3 |
M3 |
La palabra S fija la velocidad. |
| Husillo en marcha, sentido antihorario | M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
Modo láser de GRBL: potencia dinámica. |
| Parada de husillo | M5 |
M5 |
M5 |
M5 |
M5 |
M5 |
M5 |
|
| Orientación de husillo (parada orientada) | — | — | M19 |
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 |
M7 |
Haas: Haas M07 = shower/wash-down coolant, not mist |
| Refrigerante por inundación activado | M8 |
M8 |
M8 |
M8 |
M8 |
M8 |
M8 |
|
| Todo el refrigerante desactivado | M9 |
M9 |
M9 |
M9 |
M9 |
M9 |
M9 |
Cambio de herramienta
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Cambio de herramienta | M6 |
— | M6 |
M6 |
M6 |
M6 |
M6 / M16 |
Se empareja con un Tn previo. GRBL pausa y avisa. Haas: M16 also commands a tool change |
| 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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| 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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| 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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| 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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| 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ón | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Retorno al Z inicial tras un ciclo | G98 |
— | 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 |
G99 |
El TORNO FANUC reasigna G99 a avance por revolución. |
5-axis positioning & compensation (Haas)
UMC / 5-axis features. FANUC and others use different codes (or options) for the equivalents; these are the Haas spellings.
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Tool center point control (TCPC) | — | — | — | — | — | — | G234 |
Keeps the tool tip on the path while the rotary axes move. |
| 5-axis tool length compensation + | — | — | — | — | — | — | G143 |
|
| Dynamic Work Offset (DWO) | — | — | — | — | — | — | G254 / G255 |
Compensates the work offset for the current rotary-axis position. Haas: G254 enable, G255 cancel |
| Feature coordinate system | — | — | — | — | — | — | G268 / G269 / G253 |
Define / orient a coordinate system to a tilted feature. Haas: G268 enable, G269 disable, G253 orient spindle normal to feature |
| Visible-axes rapid rate (%) | — | — | — | — | — | — | G266 |
Haas: linear rapid % for the visible axes |
Machine automation & accessories (Haas)
Haas machine-function M-codes: coolant, doors, conveyors, pallets, probes, relays. Several numbers collide with other controls' meanings — see false friends.
| Operación | LinuxCNC | GRBL | Centroid | FANUC | Mach3 | Mach4 | Haas | Notas |
|---|---|---|---|---|---|---|---|---|
| Chip conveyor | — | — | — | — | — | — | M31 / M33 |
Haas: M31 forward, M33 stop |
| Programmable coolant spigot (P-Cool) | — | — | — | — | — | — | M34 / M35 |
Haas: M34 increment position, M35 decrement |
| Through-spindle coolant (TSC) | — | — | — | — | — | — | M88 / M89 |
Haas: M88 on, M89 off |
| Auto air gun / tool air blast | — | — | — | — | — | — | M83 / M84 / M73 / M74 |
Haas: M83/M84 auto air gun on/off; M73/M74 tool air blast (TAB) on/off |
| Automatic door | — | — | — | — | — | — | M80 / M81 |
Haas: M80 open, M81 close |
| Automatic window | — | — | — | — | — | — | M180 / M181 |
Haas: M180 open, M181 close |
| Axis brakes (4th / 5th) | — | — | — | — | — | — | M10 / M11 / M12 / M13 |
Haas: M10/M11 4th-axis brake engage/release; M12/M13 5th-axis |
| Spindle gear range | — | — | — | — | — | — | M41 / M42 |
Haas: M41 low gear, M42 high gear |
| Spindle tool clamp / unclamp | — | — | — | — | — | — | M82 / M86 |
Haas: M82 unclamp, M86 clamp |
| Workholding / fixture clamp | — | — | — | — | — | — | M70 / M71 / M90 / M91 |
M70 shares its number with LinuxCNC's modal-state save — see false friends. Haas: M70/M71 workholding clamp/unclamp; M90/M91 fixture clamp input on/off |
| Rotate tool turret | — | — | — | — | — | — | M39 |
|
| Spindle speed variation (SSV) | — | — | — | — | — | — | M138 / M139 |
Haas: M138 on, M139 off |
| Mist condenser | — | — | — | — | — | — | M158 / M159 |
Haas: M158 on, M159 off |
| Vise / chip air blast | — | — | — | — | — | — | M116 / M117 |
Centroid uses M116 to probe — see false friends. Haas: M116 on, M117 off |
| Sleep mode | — | — | — | — | — | — | M95 |
|
| Display media on screen | — | — | — | — | — | — | M130 / M131 |
Haas: M130 display image / video, M131 cancel |
| Interactive operator input | — | — | — | — | — | — | M109 |
Centroid uses M109 to disable overrides — see false friends. Haas: single-keystroke operator input |
| PulseJet MQL lubrication | — | — | — | — | — | — | M160 / M161 / M162 / M163 |
Haas: M160 cancel, M161 continuous, M162 single event, M163 modal |
| Pallet changer | — | — | — | — | — | — | M36 / M48 / M50 / M199 |
Haas: M36 part ready; M48 validate program for loaded pallet; M50 change sequence; M199 pallet/part load or program end |
| User M-code outputs & relays | — | — | — | — | — | — | M21–M25 / M29 / M51–M55 / M59 / M61–M65 / M69 |
M51–M55 / M61–M65 and M59 / M69 collide with LinuxCNC and other controls' M-code meanings — see false friends. Haas: M21–M25 optional user M w/ M-Fin; M29 set relay w/ M-Fin; M51–M55 set user outputs, M61–M65 clear; M59 set relay, M69 clear |
| APL / robot custom sequence | — | — | — | — | — | — | M300 |
#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
bloque — no 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):
- G-code quick reference — https://linuxcnc.org/docs/html/gcode/g-code.html
- M-code quick reference — https://linuxcnc.org/docs/html/gcode/m-code.html
- Main user manual — https://linuxcnc.org/docs/
GRBL 1.1 (código abierto):
- Supported commands wiki — https://github.com/gnea/grbl/wiki/Grbl-v1.1-Commands
commands.mdfuente de referencia — https://github.com/gnea/grbl/blob/master/doc/markdown/commands.md
Centroid CNC12 (PDF del fabricante):
- Macro Programming guide — https://www.centroidcnc.com/centroid_diy/downloads/acorn_documentation/centroid_cnc_macro_programming.pdf
- M-Series (Oak / Allin1DC) Operator's Manual v4.14 — https://www.centroidcnc.com/centroid_diy/downloads/CNC12-v414_operator_manuals/centroid-cnc12-oak-allin1dc-mill-operator-manual-v4.14.pdf
- v3.16 Mill Operator Manual — https://www.centroidcnc.com/downloads/centroid_v3.16_mill_operator_manual.pdf
- G and M codes extract — https://www.centroidcnc.com/centroid_diy/downloads/centroid_G_and_M_codes.pdf
- PLC + CNC Functions Programming Manual (CNC12 v5.x+) — https://www.centroidcnc.com/centroid_diy/downloads/centroid_plc_programming_manual.pdf
- Réplica en Helman CNC de la lista de códigos M de fresadora Centroid — https://www.helmancnc.com/centroid-m-code-cnc-mill/
- Publicación del foro de Centroid sobre la forma de ajuste de parámetros G10 P/R — https://centroidcncforum.com/viewtopic.php?t=3429
FANUC (agregadores de terceros de manuales del fabricante; los PDF del fabricante generalmente no se alojan de forma gratuita):
- FanucWorld "Ultimate M-Code & G-Code List for Fanuc Controls" — https://content.fanucworld.com/m-code-g-code-list/
- REACO CNC FANUC Machining Center G/M codes — https://reacocnc.com/blogs/fanuc-g-code-m-code-list/g-code-m-code-machining-center
- REACO CNC FANUC CNC Lathe G/M codes — https://reacocnc.com/blogs/fanuc-g-code-m-code-list/g-code-m-code-lathe
- Helman CNC "Fanuc 31i G Codes Machining Center" — https://www.helmancnc.com/fanuc-31i-g-codes-machining-center-fanuc-30i-31i-32i/
- Contrastado con: FANUC Series 0i-MD Operator's Manual, FANUC Series 30i/31i/32i-MODEL B Operator's Manual, FANUC Macro Compiler / Macro Executor Programming Manual (solo títulos — no están alojados abiertamente)
Mach 3 (ArtSoft / MachMotion):
- MachMotion "G and M-code Reference Using Mach3Mill Rev 1.84-A2" — https://machmotion.com/documentation/Software/Mach3/Mach3%20GCode%20Language%20Reference.pdf
- Mach3 G-Code Manual (MachMotion) — https://machmotion.com/documentation/Software/Mach3/Mach3%20G-Code%20Manual.pdf
- Mach3 V3.x Macro Programmer's Reference (ArtSoft) — https://www.machsupport.com/wp-content/uploads/2013/02/Mach3_V3.x_Macro_Prog_Ref.pdf
- Helman CNC "Mach3 Mill G Code List" — https://www.helmancnc.com/mach3-mill-g-code-list/
- CNCCookbook sobre Mach3 + G65 — https://www.cnccookbook.com/m98-m99-g-code-cnc-subprograms/
Mach 4 (ArtSoft / MachMotion):
- Mach4 Mill GCode Manual v1.0 (ArtSoft) — https://www.machsupport.com/wp-content/uploads/2014/05/Mach4%20Mill%20GCode%20Manual.pdf
- MachMotion Mach4 G & M Code Reference Manual — https://machmotion.com/documentation/Software/Mach4/Mach4-G-and-M-Code-Reference-Manual.pdf
- MachMotion BookStack Mach4 G/M Code Reference — https://support.machmotion.com/books/software/page/mach4-g-code-and-m-code-reference
- Mach4 Lathe Programming Guide — https://www.machsupport.com/wp-content/uploads/2014/05/Mach4%20Lathe%20GCode%20Manual.pdf
- Warp9 Mach3 vs Mach4 FAQ — https://www.warp9td.com/index.php/faq/faq-g-code-m-code
#Entradas inciertas o no verificables conocidas
- Suavizado nano FANUC G05.4 — presente en algunas variantes 30i-B, no universal en toda la familia 30i.