Esta lista de códigos G e M cobre os códigos que você realmente digita para executar uma fresadora CNC ou torno: todo código G comum que controla o movimento e a geometria, além dos códigos M que alternam as funções da máquina, como o fuso e o líquido refrigerante Se você ler programas CNC no controle ou editar manualmente um arquivo que seu software CAM cuspiu, as tabelas e exemplos abaixo são construídos para ser uma única referência que você pode manter aberta em uma segunda guia, cobrindo fresamento e torneamento, e as diferenças entre Fanuc, Haas, Siemens, GRBL e LinuxCNC.
Referência rápida: G vs M em resumo
| Código G | Preparatório/geometria informa a máquina onde e como a ferramenta se move (G00 rápido, alimentação G01, arcos G02/G03). |
| Código M | Diversos interruptores /máquina (ligados e desligados) (fuso M03 ligado, líquido refrigerante M08 ligado, programa final M30). |
| Formato | Endereço de palavras: N50 G01 X1,5 Z-0,75 F0,008 M08 1 letra“ + um número por ”palavra. |
| Padrões | Enraizado em EIA RS-274 e ISO 6983-1:2009; o interpretador aberto do qual descende a maioria dos controladores é o NIST RS274/NGC especificação. |
Código G vs Código M: Qual é a diferença?

Classificar cada código em um dos dois buckets é a maneira mais rápida de ler qualquer programa. A Código G é um comando preparatório, o “G” é geralmente explicado como Geometria, 0, porque estas palavras dizem ao cortador para onde ir e por que caminho An Código M é um comando diverso, ou máquina: ele liga um interruptor em algum lugar da máquina, como ligar o fuso ou ligar o líquido refrigerante de inundação Ambos andam dentro da mesma gramática de endereço de palavras que a EIA padronizou para controle numérico no início dos anos 1960 e que a ISO posteriormente se dobrou na ISO 6983.
Aqui está a divisão prática que você pode aplicar à vista:
| Pergunta | Código G | Código M |
|---|---|---|
| O que é que controla? | Movimento da ferramenta, coordenadas, interpolação, deslocamentos | Fuso, líquido refrigerante, mudança da ferramenta, fluxo do programa |
| Move os eixos? | Muitas vezes sim (G00, G01, G02) | Não |
| É modal? | Muitos são (permaneçam ativos até serem cancelados) | Alguns (M03/M05); muitos são one-shot |
| Exemplo | G01 X2.0 F10.0 |
M08 (refrigerante ligado) |
Cerca de 100 códigos G existem em todos os dialetos, embora qualquer máquina única use um conjunto de trabalho muito menor do que isso Os códigos M são menos e muito menos consistentes entre os construtores, um ponto que vale a pena segurar, porque explica a maior parte do “este programa correu bem na outra máquina de dores de cabeça de” coberta mais tarde Se você ainda está construindo um modelo mental da própria máquina, nossa cartilha sobre o noções básicas de usinagem de torno e moinho combina bem com esta referência de código.
Como ler um bloco de código G: letras de endereço e sintaxe

Uma linha de código CNC é chamada de bloquear, e cada bloco é apenas uma cadeia de palavras “. Cada palavra” é uma letra (o endereço) seguida por um número (o valor).Uma vez que você sabe o que as letras significam, você pode ler quase qualquer bloco em voz alta Nós ensinamos a novos operadores como o Regra NG-XYZ-FSTMas letras tendem a aparecer aproximadamente nessa ordem, e essa ordem corresponde à ordem em que a máquina pensa: número da linha, que tipo de movimento, para onde, com que rapidez, com que velocidade girar, qual ferramenta e qual alternar para virar.
| Carta | Significado | Exemplo |
|---|---|---|
| N | Número do bloco (linha) | N50 |
| G | Comando preparatório/movimento | G01 |
| XYZ | Posição do eixo (destino) | X1,5Z-0,75 |
| EU JK | Centro do arco, em relação ao início | I0,5 J0 |
| F | Taxa de alimentação | F0,008 |
| S | Velocidade do fuso | S1200 |
| T | Número ferramenta | T0303 |
| M | Função máquina | M08 |
Leia este blocoN50 G01 X1,5 Z-0,75 F0,008 M08e diz: “Na linha 50, alimente em linha reta até X1.5, Z-0.75 a 0.008 por rev, e ligue o líquido refrigerante de inundação.” Esse é todo o truque Essa mesma lógica que impulsiona a Máquina torno CNC aciona um centro de usinagem; apenas as letras do eixo e alguns ciclos enlatados mudam.
A modal o código permanece ativo após seu bloco até que algo no mesmo grupo o cancele O comando G01 uma vez e cada bloco seguinte continua alimentando em uma linha até que você chame G00, G02 ou G03 Códigos não modais (one-shot), como G04, habitam, atuam apenas no bloco onde aparecem. Misturar isso é a raiz da maioria dos “por que a ferramenta mergulhou rapidamente?” trava.
Grupos modais: por que alguns códigos se cancelam

Aqui está o conceito que transforma uma lista de códigos em um modelo mental funcional Os códigos G são classificados em grupos modais, e apenas um código de cada grupo pode estar ativo de cada vez Chame um segundo código do mesmo grupo e ele substitui silenciosamente o primeiro Isso é por design, também é por isso que um bloco com dois códigos de movimento nele lança um alarme Entendendo que os grupos respondem à pergunta iniciante, “por que um código G cancela outro?”
| Grupo Modal | Códigos no Grupo | Predefinição em Power-On |
|---|---|---|
| Movimento | G00, G01, G02, G03 | Geralmente G00 |
| Seleção avião | G17, G18, G19 | G17 (moinho), G18 (torno) |
| Unidades | G20, G21 | Parâmetro máquina |
| Modo distância | G90, G91 | G90 absoluto |
| Cortador comp | G40, G41, G42 | G40 desligado |
| Deslocamentos de trabalho | G54 G59 | G54 |
| Modo alimentação | G93, G94, G95 | G94 (moinho) |
| Ciclo enlatado | G73 cancelar89, G8 | G80 desligado |
Então, quando você escreve G90 G54 G17 G00 X0 Y0 no topo de um programa, você está definindo um código de cada um dos vários grupos, distância absoluta, deslocamento de trabalho 1, plano XY, movimento rápido, e todos eles ficam presos até que você os altere Isso é o que as pessoas querem dizer com uma linha “safe start”.
Lista completa de códigos G (códigos comuns G00G99)

Abaixo está a lista mestre de códigos G, agrupados pelo que cada código faz Estes são os códigos que você encontra na grande maioria dos controles de estilo Fanuc; alguns têm peculiaridades dialetais anotadas na seção de comparação de controle Marque isso, ele também funciona como a folha de dicas imprimível que a maioria das pessoas está procurando quando procura por uma lista de códigos m de código “g pdf.”
| Código | Grupo | Função |
|---|---|---|
| G00 | Movimento | Posicionamento rápido (movimento não cortante) |
| G01 | Movimento | Movimento de alimentação linear na taxa F |
| G02 | Movimento | Interpolação circular no sentido horário (arc) |
| G03 | Movimento | Interpolação circular no sentido anti-horário |
| G04 | Movimento | Habitar (pausar), P ou X para o tempo |
| G17/G18/G19 | Avião | Selecione o plano de trabalho XY /XZ /YZ |
| G20/G21 | Unidades | Programação de polegada/milímetro |
| G28 | Movimento | Voltar à posição de casa da máquina (referência) |
| G30 | Movimento | Voltar ao 2°/3° ponto de referência |
| G40/G41/G42 | Comp | Cortador (raio) comp off /esquerda /direita |
| G43/G49 | Comp | Comprimento da ferramenta comp em/ cancelar |
| G53 | Coordenar | Mova-se nas coordenadas da máquina (cancela o deslocamento) |
| G54 G59 | Coordenar | Sistemas de coordenadas de trabalho 16 |
| G73/G83 | Enlatado | Peck de alta velocidade/full-retract peck perfuração |
| G80 | Enlatado | Cancelar ciclo enlatado |
| G81/G82 | Enlatado | Broca simples/broca com habitar |
| G84 | Enlatado | Ciclo de escuta |
| G85/G86 | Enlatado | Ciclos chatos |
| G90/G91 | Distância | Programação absoluta/incremental |
| G93/G94/G95 | Modo alimentação | Tempo inverso /por minuto /feed por rotação |
| G96/G97 | Fuso | Velocidade de superfície constante /cancelar (rpm constante) |
| G98/G99 | Enlatado* | Retorne ao plano /R inicial após um ciclo (moinho) |
*Em muitos controles de torno Fanuc, G98/G99 definiu feed por minuto e feed por revolução, uma das diferenças dialetais detalhadas abaixo.
Lista completa do código M (funções de máquina e programa)

Os códigos M lidam com tudo o que não é movimento: iniciar e parar o fuso, trocar o líquido refrigerante, trocar ferramentas e encerrar o programa O conjunto comum é curto, e você usará uma dúzia deles todos os dias.
| Código | Função | Notas |
|---|---|---|
| M00 | Parada do programa (obrigatória) | Pressione o início do ciclo para retomar |
| M01 | Parada opcional | Somente se a parada opcional“ estiver ligada |
| M02 | Fim do programa | Sem retrocesso |
| M03/M04 | Fuso em CW/CCW | Precisa de um valor S |
| M05 | Parada fuso | — |
| M06 | Mudança ferramenta | Pares com uma palavra T |
| M07/M08/M09 | Névoa/inundação de líquido refrigerante ligado, líquido refrigerante desligado | M07 não em todas as máquinas |
| M29 | Modo de rosqueamento rígido | Fanuc; precede G84 |
| M30 | Acabar com o programa e retroceder | Redefinições para o topo |
| M98/M99 | Chamada de subprograma/retorno | M99 também faz loop em um programa |
Os códigos M são a parte menos padronizada da linguagem Os códigos M de refrigeração, palete e auxiliares vagam de construtor para construtor, e máquinas com hardware extra adicionam o seu próprio Sempre verifique a página do código M no manual da sua máquina antes de assumir que um número significa o que significava no último controle que você executou.
Códigos G e M para Tornos CNC (Viragem)

A maioria das listas de códigos publicadas são escritas para fresadoras, então os programadores de torneamento ficam adivinhando Os tornos compartilham os códigos de movimento e programa do núcleo, mas adicionam uma camada específica de torneamento que as usinas não têm Se você executar um centro de torneamento de cama inclinada ou de cama plana, esses são os códigos que importam.
| Código Torno | Função |
|---|---|
| G50 | Velocidade máxima do fuso do grampo (ou coordenada definida, controle-dependente) |
| G96/G97 | Superfície constante /off (velocidade constante no par de cavalos de batalha para girar) |
| G70 | Ciclo de acabamento |
| G71 | Ciclo de torneamento áspero (remoção de estoque) |
| G72 | Ciclo de revestimento áspero |
| G74/G75 | Perfuração Peck/ciclos de ranhuramento |
| G76 | Ciclo de rosqueamento |
| G41/G42/G40 | Ferramenta-nariz-raio comp esquerda /direita /desligado |
A velocidade constante da superfície é a grande diferença conceitual. Ligue G96S500 e o controle varia rpm do fuso para que a velocidade de corte na ferramenta permaneça em 500 pés de superfície por minuto, mesmo quando o diâmetro encolhe, exatamente o que você deseja para um acabamento limpo em uma peça cônica ou voltada. Mude para G97S1500 para bloquear uma rpm fixa, que você precisa para perfurar no centro ou rosqueamento Nos controles estilo Fanuc enviamos em ANTISHICNC torno CNC de leito inclinado modelos, um G97 ausente antes de um ciclo de perfuração é um dos erros mais comuns do primeiro programa que vemos, o fuso continua acelerando à medida que a ferramenta se aproxima do centro.
“No trabalho de torneamento a ordem importa tanto quanto os códigos Defina seu deslocamento de trabalho, depois G96 com um grampo de velocidade G50, então sua ferramenta, pule o grampo e o primeiro passe de pequeno diâmetro pode tentar girar o fuso além de seu limite de”
O que é o código G94?
G94 define o alimentação por minuto modo: o valor F é lido como unidades (polegadas ou milímetros) de viagem da ferramenta por minuto Ele vive no grupo modal feed-mode ao lado de G93 (tempo inverso) e G95 (alimentação por revolução), e em controles de fresagem G94 é o padrão normal A captura é o torno: em muitos controles de torneamento Fanuc o par feed-mode é na verdade G98 (por minuto) e G99 (por revolução), enquanto G94/G95 pode ser atribuído a outras funções A rotação quase sempre quer feed-per-revolution para que o acabamento permaneça consistente independentemente de rpm, então a maioria dos programas lathe define G99 (ou G95, dependendo do controle). Quando em dúvida, verifique qual “system” seu controle usa, está documentado no manual de programação sob códigos feed-mode.
Ciclos enlatados explicados: perfuração, batidas e mandrilamento

A ciclo enlatado embala uma operação de repetição, perfurar, retrair, mover, perfurar novamente, em uma linha Em vez de programar cada bicar à mão, você chama o ciclo uma vez, lista as posições do furo, e cancelar com G80 Eles salvam dezenas de linhas e fazer padrões de furo legível em um relance.
- ✔G81perfuração reta: rápido para o plano R, alimentação para a profundidade Z, rápido para fora.
- ✔G83perfuração Peck: bica para baixo em incrementos Q, retraindo totalmente para limpar lascas em furos profundos.
- ✔G84tocando: alimenta, inverte o fuso, alimenta no passo da rosca.
- ✔G85/G86mandrilamento: dimensionamento preciso e de baixa alimentação de um furo pré-perfurado.
Parece um bloco de broca G83 Z-1.0 R0.1 Q0.2 F8.0perfure até Z-1.0, começando em um plano de retração de 0,1, em 0,2 bicadas, a 8 polegadas por minuto. Liste suas coordenadas XY do furo depois dele e o ciclo se repete em cada um até G80.
O que faz o G84 no CNC?
G84 é o ciclo de batida da mão direita Ele alimenta a torneira para profundidade, pára e inverte o fuso, em seguida, retroalimenta, tudo sincronizado para que a torneira siga seu próprio fio sem rasgá-lo Taxa de alimentação deve coincidir com o chumbo do fio: alimentação é igual a rpm do fuso multiplicado pelo passo Para um toque M8×1.25 a 300 rpm no modo de alimentação por minuto, isso é 300 × 1.25 = 375 mm/min. Nos controles Fanuc você normalmente comanda M29 (modo de batida rígida) pouco antes de G84 para que o fuso e o eixo Z permaneçam travados juntos, o que permite tocar com precisão sem um suporte de compressão de tensão Definir o plano R muito acima da peça para deixar o fuso atingir a velocidade e reverter de forma limpa Esquecer M29 e executar G84 no modo “floating” em um suporte rígido é uma maneira clássica de tocar um encaixe.
Um programa completo de exemplo de código G (moinho e torno)

Ler códigos em uma tabela é uma coisa; vê-los em um programa real é onde ele clica Aqui estão dois exemplos curtos e totalmente comentados Cada linha mapeia de volta para as tabelas acima.
Exemplo de fresagemfaça cara e faça um furo:
O1001 N10 G90 G54 G17 G21 (absoluto, deslocamento 1, plano XY, mm) N20 G00 X0 Y0 (rápido para iniciar) N30 T1 M06 (ferramenta de carga 1) N40 S1200 M03 (fuso em CW, 1200 rpm) N50 G43 H1 Z25.0 (deslocamento do comprimento da ferramenta, Z seguro) N60 M08 (refrigerante de inundação ligado) N70 G83 Z-15.0 R2.0 Q3.0 F150 (perfurar o furo) N80 G80 (ciclo de cancelamento) N90 M09 (refrigerante desligado) N100 G28 Z0 M05 (z inicial, parada do fuso) N110 M30 (end e rebobinamento)
Virando exemploáspero e acabamento de diâmetro:
O2001 N10 G21 G99 G40 (mm, alimentação por rotação, compensação) N20 G50 S2500 (fuso máximo de fixação 2500 rpm) N30 T0101 (ferramenta giratória, deslocamento 1) N40 G96 S180 M03 (velocidade de superfície constante 180, fuso CW) N50 G00 X52.0 Z2.0 M08 (estoque de aproximação, líquido refrigerante ligado) N60 G71 U2.0 R1.0 (ciclo de giro direto) N70 G70 P80 Q120 (passagem final sobre o perfil) N130 G97 S1200 (voltar às rpm constantes) N140 G00 X200 Z200 M09 (retração, refrigerante desligado) N150 M (parada do programa N1500) N160 (fixo N160)
Antes de qualquer primeira execução, execute a seco o arquivo em um simulador Simuladores e visualizadores de código G on-line gratuitos pegarão um arco invertido ou um G80 ausente em segundos, muito mais barato do que pegá-lo com uma ferramenta na peça O mesmo hábito de verificar primeiro se aplica se você está cortando um Centro usinagem vertical CNC ou um centro de viragem.
Diferenças de código G e M por controle: Fanuc, Haas, Siemens, GRBL, LinuxCNC

Aqui estão as listas de controle único ocultar: não há um código G universal Os códigos de movimento (G00 driftG03) e os códigos safe-start permanecem quase em todos os lugares, essa parte é realmente padrão Mas os parâmetros de ciclo enlatado, sintaxe macro, atribuições de modo feed e a maioria dos códigos M entre construtores. “Standard G-code” é, além do básico, em parte um mito.
| Controle | Onde Difere |
|---|---|
| Fanuc | A linha de base de fato; variáveis macro B, modo de alimentação do torno via G98/G99, torneira rígida M29 |
| Haas | Fanuc-like com códigos M Haas adicionados (por exemplo, subchamada local M97) e comportamento orientado por configurações |
| Siemens (SINUMERIK) | Suporta código G, além de sua própria linguagem de alto nível e etapas ShopTurn/ShopMill |
| GRBL | Um subconjunto para roteadores hobby e hardware de classe de impressora 3 D; sem ciclos enlatados |
| LinuxCNC | Segue de perto o dialeto NIST RS274/NGC; códigos G extras para splines e sondagem |
Os maquinistas geralmente relatam a mesma lição: um programa comprovado em um controle pode falhar ou, pior, correr errado em outro, geralmente por causa de uma diferença de modo de alimentação ou ciclo enlatado, em vez de um código de movimento Consertar é um hábito, não um código, re-postar do CAM para o controle de destino, ou provar o programa na máquina real em bloco único antes de confiar nele O publicado livremente Referência do código G LinuxCNC é uma linha de base neutra útil quando você deseja ver como um interpretador “by-the-standard” define um código.
Erros comuns de código G e código M

Os códigos em si são simples; os erros vêm do contexto Alguns padrões são responsáveis pela maioria dos problemas que os novos programadores enfrentam.
- Abra com uma linha de partida segura (G90 G54 G17 G40 G80)
- Cancele ciclos enlatados com G80 antes do próximo movimento
- Defina G97 antes de perfurar ou rosquear um torno
- Bloqueie individualmente a primeira execução de qualquer novo programa
- Deixando o G91 ligado, o próximo programa será executado de forma incremental
- Assumir um código M significa a mesma coisa em todas as máquinas
- Tocando com G84, mas esquecendo o modo rígido M29
- Direção errada do arco (G02 vs G03) ou sinal I/J/K
Se você está passando da usinagem manual para o CNC, construir o mesmo instinto que você tem com controles manuais ajuda, a maneira como um operador lê um mostrador é a mesma vigilância a leitura digital (DRO) recompensas, e ele carrega direto para ler o código antes de você pressionar o início do ciclo Corresponder ao ferramental certo para o trabalho importa tanto quanto; nosso guia para ferramentas de corte de torno cobre esse lado.
O que está mudando: programação conversacional, CAM e IA

Escrever à mão programas completos não é mais o trabalho diário que já foi A partir de 2026, a maior parte do código G de produção é gerada pelo software CAM e seu pós-processador, depois editada na máquina Dois turnos valem a pena planejar.
Primeiro, programação conversacional Continua se espalhando Controles como Haas e Siemens ShopTurn permitem que um operador descreva um recurso, um furo, um thread, um rosto e o controle escreva o código G abaixo Ele reduz a barreira para peças simples, mas não substitui o conhecimento dos códigos: no momento em que um programa conversacional precisa de uma edição ou lança um alarme, você está de volta no código G. Em segundo lugar, a simulação tornou-se um passo padrão em vez de um luxo O interesse de pesquisa em simuladores de código G fica perto de 1.000 pesquisas por mês, um sinal de que verificar antes do corte agora é uma prática padrão As ferramentas de caminho de ferramentas assistidas por IA que ajustam colisões de feed e flag estão chegando ao CAM convencional, embora proponham mudanças que um programador ainda analisa.
Se você estiver montando uma loja ou treinando operadores em 2026, o movimento prático é ensinar alfabetização em código G primeiro e tratar ferramentas de conversação e IA como aceleradores em cima dela Os fundamentos nesta lista são exatamente o que essas ferramentas geram e o que você lerá quando algo precisar ser consertado Para ver como a programação de fatores de maturidade para comprar uma máquina, nossa visão geral do tornos torneamento metal range caminha pelas opções de controle.
Perguntas frequentes
P: Qual é a diferença entre um código G e um código M?
Ver Resposta
Q: Qual é o código G mais comum?
Ver Resposta
Q: O que significa o código M no CNC?
Ver Resposta
P: Os códigos G e M são iguais em todas as máquinas CNC?
Ver Resposta
Q: Que códigos de G e de M os tornos do CNC usam?
Ver Resposta
P: Onde posso obter um PDF ou folha de dicas da lista de códigos G e M?
Ver Resposta
Programando um novo centro de torneamento?
1TP3 T constrói tornos CNC que executam o código G padrão estilo Fanuc, com opções de conversação e suporte de 3 anos em mais de 40 países Diga-nos sua parte e nós especificaremos a máquina e o controle certos.
Por que juntamos esta lista
Construímos tornos CNC para viver, e a primeira coisa que os novos proprietários perguntam após a entrega é alguma versão de “onde está a lista de códigos?” A maioria das referências apenas de fresagem de cobertura online ou para em uma marca de controle, então escrevemos uma que coloca códigos de fresagem e torno, incluindo os ciclos de torneamento G96/G97 e G70G76 nossas máquinas funcionam todos os dias, em um só lugar, com as diferenças de controle explicitadas.
Referências e fontes
- O Intérprete NIST RS274/NGC, Versão 3Instituto Nacional de Padrões e Tecnologia (NIST)
- NIST RS274NGC Intérprete, relatório completo (PDF)Relatório Interno do NIST
- ISO 6983-1:2009, Sistemas e integração de automação, formato de programa NCOrganização Internacional de Normalização
- Referência rápida do código G LinuxCNCLinuxCNC.org
- Código GWikipédia (visão geral e história do RS-274)
Artigos Relacionados
- Compreendendo os fundamentos da usinagem de torno e fresagemcomo as máquinas em que esses códigos são executados realmente funcionam
- Ferramentas essenciais de corte de torno para iniciantesemparelhando a ferramenta certa com seu programa de torneamento
- Máquinas de torno vertical CNC explicadasgirando peças de grande diâmetro
- Projetos que você pode criar com tornoscolocando seus programas para trabalhar
Revisado pela equipe de engenharia 1TP3 T, 25 + anos construindo tornos CNC e centros de usinagem Tem uma pergunta sobre a programação de uma de nossas máquinas? Fale com a nossa equipa de engenharia.













