G54.APP

Referência G54.APP

Referência de códigos G e M por operação: LinuxCNC, GRBL, Centroid, FANUC, Mach 3, Mach 4

Uma referência de códigos G e M multiplataforma agrupada pelo que você quer fazer — movimentos com avanço, arcos, apalpação, ciclos de furação, deslocamentos de origem — com o código exato de cada comando em cada célula. Desative os comandos que você não usa e fique atento aos falsos amigos: códigos que compartilham o mesmo número entre plataformas, mas fazem coisas completamente diferentes.

Abrir o visualizador de código G → Grátis, roda no seu navegador. Arraste um arquivo .nc ou .gcode para visualizar trajetórias de ferramenta e simular a remoção de material em tempo real.

Uma referência de códigos G e M multiplataforma, organizada por operação — o que você realmente quer que a máquina faça — em vez de por número de código. Cada linha é uma operação (um movimento com avanço, um arco, uma apalpação, um ciclo de furação, uma seleção de deslocamento de origem…) e a coluna de cada comando mostra o código exato que aquele comando usa para ela.

Abrange LinuxCNC, GRBL (1.1), Centroid (CNC12 — Acorn / Allin1DC / Oak; fresadora, salvo indicação em contrário), FANUC (0i / 30i, com foco em fresadora e particularidades de torno sinalizadas), Mach 3 (Mill Rev 1.84-A2) e Mach 4 (Mill v1.0).

Como ler as tabelas:

As fontes usadas na verificação dos fatos estão listadas no final deste documento.


Códigos por operação

Mostrar comandos:

Movimento e interpolação

Os movimentos que realmente cortam. São os códigos mais portáveis — G0–G3 significam a mesma coisa em todos os comandos listados aqui.

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Posicionamento rápido G0 G0 G0 G0 G0 G0 Deslocamento sem corte na velocidade máxima da máquina.
Movimento linear com avanço G1 G1 G1 G1 G1 G1 Corte reto controlado por avanço; requer uma palavra F.
Arco / hélice em sentido horário G2 G2 G2 G2 G2 G2 Offsets de centro I/J/K ou raio R, no plano ativo. Adicione um movimento em Z para obter uma hélice.
Arco / hélice em sentido anti-horário G3 G3 G3 G3 G3 G3 Mesmas convenções do arco horário, direção oposta.
Pausa (dwell) G4 G4 G4 G4 G4 G4 Mach3/4: P decimal = segundos, P inteiro = milissegundos.
Círculo completo horário (posição atual como centro) G12 G12 Mach3: parcial
Círculo completo anti-horário G13 G13 Mach3: parcial
Interpolação por spline cúbico G5 Somente LinuxCNC. NÃO é o mesmo que o G5 do FANUC (look-ahead) — veja a observação de falsos amigos. LinuxCNC: G5 = spline cúbico por pontos de controle
Designação de eixo imaginário G7.1 Preparação do FANUC para interpolação cilíndrica / polar.

Seleção de plano

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Selecionar plano XY G17 G17 G17 G17 G17 G17 Padrão. Arcos usam I/J.
Selecionar plano ZX G18 G18 G18 G18 G18 G18 Arcos usam I/K.
Selecionar plano YZ G19 G19 G19 G19 G19 G19 Arcos usam J/K.

Coordenadas de trabalho e deslocamentos de origem

Onde fica o zero-peça. As origens estendidas além das seis primeiras são onde os comandos mais divergem.

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Selecionar sistema de coordenadas de trabalho 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 é o WCS padrão ao ligar a máquina na maioria dos comandos.
Sistemas de coordenadas de trabalho 7–9 G59.1 / G59.2 / G59.3 G59.1 / G59.2 / G59.3 G59.1 / G59.2 / G59.3 O jeito do LinuxCNC / Mach de obter mais três origens de fixação.
Banco estendido de origens (endereçado por P) G54.1 G54.1 FANUC: P1–P48 (0i) ou P1–P300 (30i). Mach4: P1–P248. O Centroid usa uma forma diferente, SEM decimal, abaixo. FANUC: G54.1 P1–P48 (0i) / P1–P300 (30i) Mach4: G54.1 P1–P248
Deslocamentos de origem estendidos (Centroid) G54 P1–P12 As 12 origens estendidas opcionais do Centroid (WCS nº 7–18). Note o espaço e a AUSÊNCIA de decimal — diferente do G54.1 Pn do FANUC. Centroid: também endereçável como E7–E18
Definir valor do deslocamento de origem (absoluto) G10 L2 G10 L2 G10 L2 G10 L2 G10 L2 G10 L2 P1 = G54 … P6 = G59. O WCS ativo não precisa corresponder ao P.
Definir deslocamento de origem na posição atual G10 L20 G10 L20 G10 L20 G10 L20 G10 L20 G10 L20 Forma "zerar aqui".
Deslocamento de coordenadas local G52 G52 G52 G52 G52 Deslocamento temporário aplicado sobre o WCS ativo.
Movimento em coordenadas de máquina (não modal) G53 G53 G53 G53 G53 G53 Movimento único no sistema de coordenadas da máquina.
Definir posição / deslocamento de coordenadas G92 G92 G92 G92 G92 G92 O FANUC tem G92.1 / G92.2 para cancelar ou restaurar; o Mach tem G92.1.

Unidades e modos de deslocamento

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Programar em polegadas G20 G20 G20 G20 G20 G20
Programar em milímetros G21 G21 G21 G21 G21 G21
Modo absoluto G90 G90 G90 G90 G90 G90
Modo incremental G91 G91 G91 G91 G91 G91
Modo de centro de arco absoluto G90.1 G90.1 G90.1 G90.1 I/J/K passam a ser coordenadas absolutas, não offsets. Centroid: varia conforme a versão do CNC12
Modo de centro de arco incremental (padrão) G91.1 G91.1 G91.1 G91.1 G91.1 G91.1

Modos de avanço e rotação

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Avanço por minuto G94 G94 G94 G94 G94 Padrão em fresadoras. Num TORNO FANUC esse papel é do G98 — veja a observação de falsos amigos.
Avanço por rotação G95 G95 G95 G95 G95 Num TORNO FANUC esse papel é do G99.
Avanço em tempo inverso G93 G93 G93 G93 G93 G93 F = 1/minutos; necessário para alguns movimentos rotativos. Centroid: G93 liga, G94 desliga.

Compensação de comprimento e de raio da ferramenta

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Compensação de raio DESLIGADA G40 G40 G40 G40 G40 G40 Estado padrão.
Compensação de raio à ESQUERDA da trajetória G41 G41 G41 G41 G41 A palavra D seleciona o corretor de offset.
Compensação de raio à DIREITA da trajetória G42 G42 G42 G42 G42
Compensação de raio dinâmica (offset no programa) G41.1 / G42.1 O LinuxCNC coloca o valor D na própria linha do programa, em vez de num corretor.
Estilo de canto da compensação de raio G40.1 / G40.2 Somente Mach4: G40.1 canto arredondado por arco, G40.2 canto reto.
Compensação de comprimento da ferramenta (positiva) G43 G43 G43 G43 G43 A palavra H seleciona o corretor de comprimento.
Compensação de comprimento da ferramenta (negativa) G44 G44 Raramente usada; estilo FANUC. O Centroid documenta o G44 no CNC12.
Compensação de comprimento dinâmica (no programa) G43.1 G43.1
Cancelar compensação de comprimento da ferramenta G49 G49 G49 G49 G49 G49
Definir entrada da tabela de ferramentas diretamente G10 L1 G10 L1 G10 L1 G10 L1 G10 L1 P = número da ferramenta, R = valor. O Centroid documenta isso no CNC12. LinuxCNC: parcial
Definir comprimento da ferramenta para que a posição atual = valor G10 L10 G10 L10 G10 L10 G10 L10 G10 L10 LinuxCNC: parcial
Definir desgaste de comprimento/raio e raio da ferramenta G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 G10 L11 / G10 L12 / G10 L13 O Centroid CNC12 documenta explicitamente a família L11/L12/L13; nos demais, o suporte varia. FANUC: varia Mach3: varia Mach4: varia

Ciclos de furação, mandrilamento e rosqueamento

Ciclos fixos de furação. O GRBL não tem nenhum — os pós-processadores CAM expandem esses ciclos em movimentos G1 brutos.

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Cancelar ciclo fixo G80 G80 G80 G80 G80 Necessário para sair dos modos de furação/mandrilamento/rosqueamento.
Furação simples G81 G81 G81 G81 G81 Z desce em avanço, retorna em rápido.
Furação com pausa no fundo G82 G82 G82 G82 G82 Para furo de centro / rebaixo.
Furação pica-pau (retração total) G83 G83 G83 G83 G83 Q = profundidade de cada bicada; a retração total remove os cavacos.
Furação pica-pau de alta velocidade (retração curta) G73 G73 G73 G73 G73
Rosqueamento com macho direito G84 G84 G84 G84 G84 Mach3: requer plugin do OEM para rosqueamento rígido
Rosqueamento com macho esquerdo G74 G74 G74 G74 G74 O TORNO FANUC reatribui o G74 a um ciclo de canal frontal — veja falsos amigos.
Rosqueamento rígido G33.1 G84.2 / G84.3 Códigos dedicados de rosqueamento rígido; nos demais, o modo rígido é um parâmetro do G84. LinuxCNC: código de rosqueamento rígido do LinuxCNC
Mandrilamento (entra em avanço, sai em avanço) G85 G85 G85 G85 G85
Mandrilamento (entra em avanço, para, sai em rápido) G86 G86 G86 O conjunto de ciclos fixos do Centroid CNC12 é G81–G85 + G89; G86/G87/G88 não estão no manual.
Mandrilamento reverso G87 G87 G87
Mandrilamento com retração manual G88 G88 G88
Mandrilamento com pausa (sai em avanço) G89 G89 G89 G89 G89
Mandrilamento fino (parada orientada, deslocamento, retração) G76 G76 G76 G76 O TORNO FANUC reatribui o G76 a um ciclo de rosqueamento — veja falsos amigos. Centroid: parcial; verifique conforme a versão

Apalpação e medição de ferramenta

A maior divergência da página. LinuxCNC/GRBL usam G38.x, FANUC/Mach usam G31, e o Centroid usa exclusivamente códigos M.

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Apalpar em direção à peça, erro se não houver contato G38.2 G38.2 M115 / M116 G31 G31 G31 Sintaxe FANUC: G31 P1–P4 para skip em múltiplas etapas. O Centroid NÃO tem G31/G38 — ele apalpa com códigos M de movimento protegido. Centroid: apalpação com movimento protegido; M115 sentido negativo, M116 positivo
Apalpar em direção à peça, sem erro se não houver contato G38.3 G38.3 M115/M116 L1 Centroid: L1 suprime o erro de falta de contato
Apalpar afastando-se da superfície G38.4 / G38.5 G38.4 / G38.5 M125 / M126 G38.4 gera erro se ainda houver contato; G38.5 não. Centroid: variantes de apalpação em afastamento
Múltiplas entradas de apalpador G31.1 / G31.2 / G31.3 Seleciona entre várias entradas de apalpador.
Mover um eixo até uma chave comutar M105 / M106 Avança o eixo indicado até uma chave/entrada do PLC abrir (P > 0) ou fechar (P < 0). Centroid: M105 sentido negativo, M106 sentido positivo

Transformações de coordenadas — rotação, escala, espelhamento, polar

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Rotação de coordenadas LIGADA G68 G68 G68 G68 G68 Rotaciona o plano ativo em torno de um centro. Somente plano XY no Mach3/4.
Rotação de coordenadas DESLIGADA G69 G69 G69 G69 G69
Escala LIGADA G51 G51 G51 G51 P ou I/J/K = fatores de escala. O Mach4 alerta que a escala de arcos pode ser imprevisível. Centroid: o Centroid reúne escala E espelhamento no G51
Escala DESLIGADA G50 G50 G50 G50 O TORNO FANUC reatribui o G50 por completo — veja falsos amigos. Centroid: também desliga o espelhamento; parcial/depende da versão
Espelhamento LIGADO / DESLIGADO G51.1 / G50.1 O Centroid não tem códigos separados de espelhamento — o espelhamento é embutido em G50/G51.
Coordenadas polares LIGADAS / DESLIGADAS G16 / G15 G16 / G15 Codifica X como raio e Y como ângulo.

Look-ahead, suavização e parada exata

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Parada exata (não modal, um bloco) G9 G9 G9 G9 G9 Versão de bloco único do G61.
Parada exata (modal) G61 G61 G61 G61 G61 G61 Desacelera completamente em cada ponto final.
Parada exata (variante) G61.1 G61.1 G61.1
Suavização de trajetória / modo contínuo G64 G64 G64 G64 G64 G64 LinuxCNC: G64 P<tol>. O FANUC ajusta isso via G5.1 HPCC. FANUC: parcial; o ajuste do HPCC difere
Controle de contorno AI / HPCC (look-ahead) G5.1 Look-ahead do FANUC: Q1 liga, Q0 desliga. NÃO é o mesmo que o spline G5 do LinuxCNC — veja falsos amigos.
Nano smoothing / variante do HPCC G5.4 FANUC: apenas alguns 30i-B
Habilitar acel./desacel. com look-ahead (FANUC antigo) G8 G8 P1 liga, G8 P0 desliga.

Referenciamento e retornos à referência

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Retornar à posição de referência (home) G28 G28 G28 G28 G28 G28 GRBL/Mach: posição pré-definida armazenada.
Armazenar o ponto de referência do G28 G28.1 G28.1 G28.1 G28.1
Retornar da referência (via ponto intermediário) G29 G29 G29 G29 G29
Retornar à referência secundária G30 G30 G30 G30 G30 G30
Armazenar o ponto de referência do G30 G30.1 G30.1 G30.1 G30.1
Verificação da posição de referência G27 Verifica se a máquina está na posição de referência.

Fluxo de programa e subprogramas

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Parada obrigatória de programa M0 M0 M0 M0 M0 M0 Pressione cycle start para retomar.
Parada opcional M1 M1 M1 M1 M1 M1 Ignorada, a menos que a chave OSTOP esteja ligada.
Fim de programa (sem rebobinar) M2 M2 M2 M2 M2 M2
Fim de programa + rebobinar M30 M30 M30 M30 M30 M30 O que a maioria dos CAM emite no fim do arquivo.
Chamar subprograma M98 M98 M98 M98 FANUC/Centroid/Mach: P<arquivo> L<repetições>. O LinuxCNC usa O-codes.
Retornar de subprograma / fim de macro M99 M99 M99 M99
Sub-rotinas nomeadas / numeradas O-codes O modelo do LinuxCNC: o100 sub / o100 endsub / o100 call. LinuxCNC: o<n> sub / endsub / call
Chamada de macro (única) G65 G65 G65 G65 Centroid: L = número de repetições, não avanço. Mach4: o arquivo de macro deve ser .nc; argumentos A–Z mapeiam para #1–#26. LinuxCNC: via sub-rotinas O-code
Chamada de macro modal / cancelamento G66 / G67 G66 / G67 A lista do Centroid CNC12 documenta apenas o G65 de chamada única — sem G66/G67.
Reexecutar o programa desde o início M47 M47 Mach4: parcial

Macros, variáveis e controle de fluxo

Como cada comando faz desvios e laços. São construções de linguagem, não códigos G — mostradas para ajudar a portar macros. O Centroid é o caso notável: sem WHILE/DO.

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Variáveis paramétricas #<named> #vars #vars VBScript Lua LinuxCNC: parâmetros nomeados e numerados Centroid: estilo Macro-B FANUC: Macro-B Mach3: Param1/2/3() Mach4: via script
Condicional (IF / THEN) O… if/elseif/else/endif IF/THEN/ELSE IF[…] THEN / GOTO VBScript Lua Centroid: suportado
Laço (WHILE / DO) O… while/endwhile WHILE[…] DO / END VBScript Lua O Centroid CNC12 NÃO tem laço WHILE/DO — use IF + GOTO.
Desvio (GOTO) GOTO Nnnn GOTOn Centroid: salta para um número de bloco
Definir parâmetro interno do comando G10 P_ R_ Específico do Centroid. Ex.: G10 P73 R0.02 configura a retração do pica-pau do G73 antes da chamada do ciclo. Centroid: sem palavra L

Eixo-árvore e refrigeração

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Ligar eixo-árvore em sentido horário M3 M3 M3 M3 M3 M3 A palavra S define a rotação.
Ligar eixo-árvore em sentido anti-horário M4 M4 M4 M4 M4 M4 Modo laser do GRBL: potência dinâmica.
Parar eixo-árvore M5 M5 M5 M5 M5 M5
Orientar eixo-árvore (parada orientada) M19 M19 M19 M19 Centroid: requer uma macro M19 personalizada. Mach3: depende de VBScript do fabricante. Mach3: depende do fabricante da máquina
Ligar refrigeração por névoa M7 M7 M7 M7 M7 M7
Ligar refrigeração por jorro M8 M8 M8 M8 M8 M8
Desligar toda a refrigeração M9 M9 M9 M9 M9 M9

Troca de ferramenta

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Troca de ferramenta M6 M6 M6 M6 M6 Combina com um Tn anterior. O GRBL pausa e solicita a troca.
Definir número da ferramenta atual (sem troca) M61 Declara a ferramenta montada sem realizar a troca.

Overrides de avanço e rotação

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Habilitar overrides de avanço e rotação M48 M108 M48 M48 M48 O Centroid usa M108 para isso, em vez de M48.
Desabilitar overrides de avanço e rotação M49 M109 M49 M49 M49 Frequentemente usado dentro de ciclos de rosqueamento. O Centroid usa M109.
Controle granular de overrides (LinuxCNC) M50 / M51 / M52 / M53 Avanço (M50), eixo-árvore (M51), avanço adaptativo (M52), parada de avanço (M53).

E/S digital e analógica

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Acionar saída digital M62 / M64 M94 M62 / M64 M62 / M64 O Centroid usa M94 (ex.: M94/1 aciona a saída 1). Mach3: geralmente via scripts do OEM. Centroid: M94/n Mach3: parcial
Desligar saída digital M63 / M65 M95 M63 / M65 M63 / M65 O Centroid usa M95 (ex.: M95/1 desliga a saída 1). Centroid: M95/n Mach3: parcial
Aguardar entrada M66 M100 / M101 M66 M66 O Centroid usa M100/M101 (espera de bit do PLC). Mach4: P<entrada> L<timeout em s>. Mach3: parcial
Saída analógica M67 / M68 M67 / M68 M67 sincronizada, M68 imediata. Mach4: parcial
Espera de bit do PLC (Centroid) M100 / M101 M100 espera até um bit do PLC estar aberto/desligado; M101 até estar fechado/ligado. Os MESMOS números executam scripts de usuário no LinuxCNC/Mach — veja falsos amigos. Centroid: M100 aberto, M101 fechado
Família de macros de saída direta / E/S (Mach4) M200–M219 / M220–M224 / M228

Estado modal (LinuxCNC)

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Salvar / restaurar estado modal M70 / M71 / M72 / M73 M70 salva, M71 invalida, M72 restaura, M73 salva com restauração automática.

Ciclos de torneamento / torno

Território de torno (T-series). As colunas acima descrevem o comportamento em FRESADORA; vários códigos significam outra coisa num torno.

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Modo diâmetro / raio (torno LinuxCNC) G7 / G8
Limite de RPM máxima do eixo-árvore (CSS) G50 G50 G50 G50 G50 Torno FANUC: G50 S____ limita a RPM sob G96. Na fresadora, G50 significa desligar a escala — um verdadeiro falso amigo. LinuxCNC: parcial Centroid: parcial FANUC: G50 S____ Mach3: parcial
Definir origem das coordenadas de trabalho (torno FANUC) G50 G50 X_ Z_ num torno FANUC define a origem de trabalho (o outro sub-uso do G50). FANUC: G50 X_ Z_
Velocidade de corte constante (CSS) ligada G96 G96 G96 G96 G96 S em m/min (G21) ou sfm (G20). Centroid: parcial Mach3: parcial
RPM constante do eixo-árvore (cancela CSS) G97 G97 G97 G97 G97 Centroid: parcial Mach3: parcial
Rosqueamento sincronizado (passo constante) G33 G33 G33 Centroid: opcional
Ciclo de torneamento de acabamento G70 G70 G70 Usa um perfil definido por G71/G72. Centroid: somente T-series Mach4: parcial
Torneamento de desbaste (remoção de material) G71 / G72 G71 / G72 G71 / G72 G71 longitudinal, G72 faceamento. FANUC: sintaxe Tipo I ou Tipo II. Centroid: somente T-series Mach4: parcial
Canal frontal (G74 do torno FANUC) G74 G74 O mesmo G74 que significa rosqueamento com macho esquerdo numa fresadora. Centroid: T-series
Ciclo de rosqueamento (G76 do torno FANUC) G76 G76 G76 O mesmo G76 que significa mandrilamento fino numa fresadora. Tipo I (bloco único) ou Tipo II (P/Q/R). LinuxCNC: torno Centroid: T-series
Avanço por minuto (torno FANUC) G98 Num TORNO FANUC, G98 significa avanço/min — o papel que o G94 tem na fresadora. FANUC: somente torno
Avanço por rotação (torno FANUC) G99 Num TORNO FANUC, G99 significa avanço/rotação — o papel que o G95 tem na fresadora. FANUC: somente torno

Modo de retorno de ciclo fixo (fresadora)

OperaçãoLinuxCNCGRBLCentroidFANUCMach3Mach4Observações
Retornar ao Z inicial após o ciclo G98 G98 G98 G98 G98 O TORNO FANUC reatribui o G98 a avanço por minuto — veja o grupo de torneamento e falsos amigos.
Retornar ao plano R após o ciclo G99 G99 G99 G99 G99 O TORNO FANUC reatribui o G99 a avanço por rotação.

Falsos amigos — mesmo número, significado diferente

As tabelas de operações acima já resolvem o caso "código diferente, mesmo trabalho" — cada linha lista a grafia de cada comando, então não tem como passar despercebido. Esta seção trata do caso oposto e mais perigoso: o mesmo número faz coisas fundamentalmente diferentes em comandos ou modos distintos. Um programa que roda perfeitamente em um deles produzirá um resultado errado — ou uma colisão — em outro.

Se você está portando código G entre plataformas, esta é a seção para ler duas vezes.


M100 / M101 — espera de bit do PLC vs. slot de script do usuário

Um operador formado em FANUC e um operador formado em Centroid escreverão M100 por dois motivos completamente incompatíveis.

Comando M100 M101
Centroid CNC12 Pausa o programa até o bit do PLC / entrada referenciado estar aberto (desligado / 0). Combine com M101. Mensagem personalizada via cncxmsg.txt Pausa até o bit do PLC estar fechado (ligado / 1)
LinuxCNC Executa o arquivo de script externo do usuário chamado M100 no diretório de configuração (toda a faixa M100–M199 é reservada desta forma) Executa o script de usuário M101
FANUC Não atribuído no padrão. Normalmente definido pelo fabricante da máquina via ladder do PMC Idem
Mach 3 Slot livre — executa a macro VBScript M100.M1S se existir; caso contrário, indefinido Idem para M101.M1S
Mach 4 Slot livre — executa a macro Lua M100.mcs se existir; caso contrário, indefinido Idem para M101.mcs
GRBL Não suportado Não suportado

Impacto na portabilidade: Um programa Centroid que usa M100 /5000 para aguardar um sinal de vácuo-pronto do PLC vai, no LinuxCNC, tentar executar um script externo literalmente chamado M100 — um comportamento em execução completamente diferente. Numa instalação padrão do Mach3 sem um M100.M1S escrito, a mesma linha silenciosamente não faz nada. Sempre reescreva as esperas explícitas de PLC ao migrar entre comandos.


G98 / G99 — retorno de ciclo fixo (fresadora) vs. modo de avanço (torno FANUC)

A maior armadilha fresadora-vs-torno do FANUC.

Comando / modo G98 G99
FANUC fresadora Retorno do ciclo fixo ao Z inicial Retorno do ciclo fixo ao plano R
FANUC torno (T-series) Avanço por minuto (o papel que o G94 tem na fresadora) Avanço por rotação (o papel que o G95 tem na fresadora)
LinuxCNC (fresadora ou torno) Retorno do ciclo fixo ao Z inicial Retorno do ciclo fixo ao plano R
Centroid CNC12 (fresadora) Retorno do ciclo fixo ao Z inicial Retorno do ciclo fixo ao plano R
Mach 3 / Mach 4 Retorno do ciclo fixo ao Z inicial Retorno do ciclo fixo ao plano R

Impacto na portabilidade: Um programa de torno FANUC T-series que define G98 esperando avanço por minuto será, em todas as outras plataformas listadas aqui, interpretado como uma mudança do modo de retorno do ciclo fixo. A interpretação de modo de avanço do torno é exclusiva do FANUC T-series.


G50 — três significados completamente diferentes conforme a plataforma/modo

Comando / modo G50
FANUC fresadora Escala DESLIGADA (cancela o G51)
FANUC torno Dois sub-usos distintos no mesmo comando: G50 X_ Z_ define a origem das coordenadas de trabalho; G50 S_____ limita a RPM máxima do eixo-árvore sob o modo CSS G96
Mach 3 / Mach 4 Escala DESLIGADA (fresadora)
LinuxCNC Não implementado (o LinuxCNC não suporta a escala G50/G51 no estilo FANUC)
Centroid CNC12 fresadora Suporte parcial a desligar escala; varia entre as versões do CNC12
Centroid CNC12 torno (T-series) Segue a convenção do torno FANUC
GRBL Não suportado

Impacto na portabilidade: Um programa de torno FANUC que emite G50 S3000 para limitar a rotação de um eixo-árvore em CSS será ignorado ou gerará erro em comandos de fresadora, porque o G50 do lado fresadora não aceita palavra S.


G74 — rosqueamento à esquerda (fresadora) vs. canal frontal (torno FANUC)

Comando / modo G74
FANUC fresadora Ciclo fixo de rosqueamento com macho esquerdo
FANUC torno Ciclo de canal frontal / torneamento frontal com bicadas
LinuxCNC Rosqueamento com macho esquerdo (fresadora)
Centroid CNC12 fresadora Rosqueamento com macho esquerdo
Centroid CNC12 torno (T-series) Canal frontal
Mach 3 / Mach 4 Rosqueamento com macho esquerdo (fresadora)
GRBL Não suportado

Impacto na portabilidade: Mesmo código, mesmo fabricante de comando (FANUC), operação de usinagem totalmente diferente dependendo de o comando ser de fresadora ou de torno. Pós-processadores voltados a torno sempre assumem o significado do torno FANUC.


G76 — mandrilamento fino (fresadora) vs. rosqueamento (torno FANUC)

Comando / modo G76
FANUC fresadora Ciclo de mandrilamento fino (parada orientada do eixo-árvore no fundo, retração com deslocamento lateral para não riscar a parede)
FANUC torno Ciclo de rosqueamento em múltiplos passes — Tipo I (sintaxe antiga de bloco único) ou Tipo II (sintaxe moderna multibloco P_ Q_ R_). O layout do bloco é completamente diferente da versão para fresadora
LinuxCNC fresadora Não suportado
LinuxCNC torno Ciclo de rosqueamento
Centroid CNC12 fresadora Parcial — verifique conforme a versão específica do comando
Centroid CNC12 torno (T-series) Ciclo de rosqueamento
Mach 3 / Mach 4 fresadora Mandrilamento fino
GRBL Não suportado

Impacto na portabilidade: Um bloco G76 de rosqueamento em torno tem uma lista de argumentos completamente diferente de um bloco G76 de mandrilamento em fresadora. Eles não são intercambiáveis.


G5 / G5.1 / G5.4 — implementações diferentes de look-ahead de alta velocidade

Comando Família G5
FANUC G05.1 Q1 = controle de contorno AI ligado; G05.1 Q0 = desligado. Algumas variantes 30i-B usam G05.4. Comandos mais antigos usam G05 (sem decimal) ou G08 P1 para a mesma suavização de look-ahead/aceleração
LinuxCNC G5 (sem decimal) = interpolação por spline cúbico — uma operação totalmente diferente, não um recurso de look-ahead para HSM
Centroid / Mach 3 / Mach 4 / GRBL Não suportado

Impacto na portabilidade: Mesmo número, matemática completamente diferente. Um bloco G5 do LinuxCNC define uma curva spline por pontos de controle; um G05 do FANUC ativa um modo de aceleração com look-ahead. Os resultados não têm relação entre si.


Resumo rápido de diferenças

O GRBL omite intencionalmente ciclos fixos, compensação de raio, coordenadas polares, escala, rotação, macros e subprogramas. Pós-processadores CAM voltados ao GRBL expandem os ciclos em movimentos G01 brutos e ignoram G41/G42 por completo.

O FANUC é a linhagem que todos os outros copiam, mas é onde ocorre a maior divergência no topo da linha. A maior armadilha entre comandos: G98/G99 são modos de retorno de ciclo fixo na fresadora, mas modos de avanço no torno. G50 e G70–G76 também são reatribuídos no torno. As opções de usinagem em alta velocidade (G05.1, G05.4, G08, ajuste do G64) variam conforme a geração do comando e o fabricante da máquina.

O LinuxCNC é o mais próximo de um superconjunto limpo do RS-274/NGC padrão. Acrescenta variantes de apalpação de primeira classe (G38.2–G38.5), códigos M de E/S digital/analógica via HAL (M62–M68), scripts de usuário M100–M199 e usa O-codes para sub-rotinas em vez de M98/M99 no estilo FANUC.

O Centroid (CNC12) é majoritariamente compatível com FANUC nos códigos canônicos de furação, mandrilamento e macro. A programação de macros usa variáveis # com desvios IF/THEN/ELSE e GOTO para número de bloco — ele não tem laços WHILE/DO. A apalpação é feita com códigos M (M105/M106, M115/M116/M125/M126), não com G31/G38. Os deslocamentos de origem estendidos usam G54 Pn (sem decimal), não G59.1+ nem G54.1. Os ciclos de torno G70–G76 só se aplicam ao T-series. O conjunto canônico de ciclos fixos de fresadora é G81–G85 + G89; o mandrilamento reverso G86/G87/G88 e a macro modal G66/G67 não estão no manual do CNC12.

O Mach 3 é o comando comercial com menos recursos aqui — sem macros G65 (códigos M personalizados são arquivos VBScript .M1S), sem coordenadas polares, sem deslocamentos de fixação estendidos além do G59.3, sem multiapalpação G31. M62–M66 normalmente exigem scripts do OEM em vez de funcionarem nativamente. Sub-rotinas via M98/M99 funcionam.

O Mach 4 é um superconjunto substancial do Mach 3: adiciona macros G65 (com extensão de arquivo de macro .nc obrigatória), fixações estendidas G54.1 P1–P248, multiapalpação G31.0–G31.3, círculo completo G12/G13, coordenadas polares, rosqueamento rígido G84.2/G84.3, estilos de canto de compensação de raio G40.1/G40.2, E/S nativa M62–M68 e uma família M200–M228. O Lua substitui o VBScript nos códigos M personalizados — macros do Mach3 não portam diretamente.


Como este aplicativo trata códigos não suportados

O parser do G54.APP é permissivo — códigos G ou M não reconhecidos são mantidos literalmente no código-fonte e simplesmente não afetam a visualização. Assim, um arquivo escrito para FANUC com rotação G68 ou chamadas de subprograma M98 renderizará os movimentos lineares e de arco que ele entende e ignorará silenciosamente o resto. Sempre confira a simulação contra o comportamento esperado do comando de destino antes de usinar.


Fontes

Estas são as referências públicas consultadas na elaboração desta tabela. Manuais dos fabricantes (FANUC, Centroid) acompanham o comando e podem não estar arquivados publicamente; onde um PDF do fabricante foi usado, a URL é a que estava disponível na época da redação.

LinuxCNC (gratuito, on-line):

GRBL 1.1 (código aberto):

Centroid CNC12 (PDFs do fabricante):

FANUC (agregadores de terceiros dos manuais do fabricante; os PDFs do fabricante geralmente não são hospedados livremente):

Mach 3 (ArtSoft / MachMotion):

Mach 4 (ArtSoft / MachMotion):

Entradas sabidamente não verificáveis / incertas

Visualize seu código G em 3D

O G54.APP é um visualizador de código G e simulador CNC de remoção de material gratuito que roda no navegador. Solte qualquer arquivo .nc, .gcode, .tap ou .cnc para reproduzir a trajetória da ferramenta a mais de 60 fps com remoção de material em tempo real — sem instalação, sem conta.

Experimente o G54.APP →