CNC Code — Correções nos ciclos fixos do torno (setembro de 2026)

CNC Code — Correções nos ciclos fixos do torno (setembro de 2026)

Antonio Benedetto
Antonio Benedetto
19/09/2026 6 min di lettura 606 visualizzazioni

Por que esta atualização

Um usuário nos relatou que o simulador rejeitava um ciclo de desbaste G71 escrito corretamente, indicando como ausente um parâmetro que estava presente na linha. Ele estava certo. Verificamos o caso, depois estendemos o controle a todos os ciclos fixos do torno com uma campanha de testes sistemática: para cada ciclo pegamos as variantes de sintaxe encontradas nos manuais Fanuc (séries 0T/6T/10T/11T/15T e séries 0i/16i/18i/21i/31i) e nos livros didáticos, e as executamos uma por uma no simulador, verificando o que acontecia.

O resultado é uma série de correções que tornam o interpretador fiel ao comportamento do controle real: a sintaxe que funciona na oficina deve funcionar também no simulador, e quando uma linha está realmente errada, o alarme deve dizer o que está faltando, não outra coisa.

As correções dizem respeito ao motor de interpretação, que é único para todas as plataformas: estão, portanto, ativas no desktop (Windows, macOS, Linux), tablet e smartphone com a mesma versão.


G71 / G72 — Ciclos de desbaste longitudinal e frontal

Antes. O primeiro bloco do ciclo era reconhecido apenas se contivesse tanto a profundidade de passada (U para G71, W para G72) quanto o recuo R. Um G71 U2 sem R, sintaxe válida no Fanuc onde o R é opcional e o recuo vem do parâmetro 5133, não era reconhecido: no bloco seguinte o simulador indicava "parâmetro U ausente" com o U escrito na linha. O mesmo acontecia com o formato de linha única G71 P.. Q.. U.. W.. D.. F.. dos controles Fanuc mais antigos e de muitos manuais didáticos, onde o D é a profundidade de passada.

Agora.

  • O bloco 1 é reconhecido apenas com o U (ou W para G72); o R é opcional, com recuo padrão de 0,5 mm quando ausente.
  • O formato de linha única com D é aceito. O D sem ponto decimal vale em mícrons (D2000 = 2 mm), com o ponto vale em milímetros (D2.0 = 2 mm), como no controle.
  • Se o bloco 1 realmente estiver faltando, o alarme diz isso claramente: "falta o bloco 1 de G71 (G71 U.. R..) antes de G71 P.. Q.., ou a profundidade D na linha única".
  • Verificação adicionada: D deve ser maior que zero.

Verificado com testes de paridade: as três sintaxes (dois blocos com R, dois blocos sem R, linha única) deixam o mesmo perfil na peça, ponto a ponto, tanto no canal 1 quanto no contramandril.


G76 — Ciclo de roscamento

Aqui os problemas eram mais sérios, porque em alguns casos o simulador não sinalizava nada e simplesmente não executava a rosca.

Antes. Os dois blocos eram reconhecidos com uma comparação rígida de toda a linha: G76 P Q R e G76 X Z P Q F nesta ordem exata, com todos os parâmetros obrigatórios.

  • Bloco 1 sem R, com R antes de Q, ou com Q escrito com ponto decimal: alarme "P deve ter 6 dígitos, encontrado P010060", com o P perfeitamente correto.
  • Bloco 2 com o F antes de P e Q, com o R de conicidade, com U/W incrementais, com Z antes de X, com Q antes de P, com P e Q em milímetros, ou no formato de linha única G76 X Z K D F A dos Fanuc 0T/10T: nenhum alarme e nenhum ciclo. A rosca não era cortada.
  • Bloco 2 sem Z: alarme correto, mas o ciclo iniciava mesmo assim.

Agora.

  • As palavras podem estar em qualquer ordem, com ou sem espaços, maiúsculas ou minúsculas.
  • Bloco 1: G76 P{mmrraa} [Q..] [R..]. Q e R são opcionais. O P deve ter 6 dígitos e é lido como escrito, incluindo zeros à esquerda.
  • Bloco 2: G76 X|U.. Z|W.. P|K.. Q|D.. F|E.. [R|I..] [A..]. São aceitos tanto o formato de dois blocos da série 0i/31i (P altura da rosca, Q primeira passada) quanto o de linha única da série 0T/10T/15T (K altura, D primeira passada, A ângulo). O E é aceito como passo de precisão.
  • P, Q, K, D sem ponto decimal valem em mícrons (P920 = 0,92 mm), com o ponto em milímetros.
  • U e W incrementais são resolvidos a partir da posição atual da ferramenta.
  • Se faltar o eixo de chegada, o passo, a altura da rosca ou a primeira passada, o alarme indica o parâmetro ausente e o ciclo não inicia.
  • A conicidade (R no formato de dois blocos, I na linha única) é lida mas ainda não simulada: a rosca é executada cilíndrica.

Verificado com testes de paridade: oito sintaxes diferentes do bloco 2 e três do bloco 1 produzem a mesma rosca M48×3, amostrada a cada 0,25 mm, em ambos os canais.


G74, G75, G83, G84, G85, G88, G89 — Ciclos de furação, ranhuras, roscamento com macho, mandrilamento

Antes.

  • O bloco 2 aceitava apenas as cotas absolutas X e Z. Com U ou W incrementais o ciclo não iniciava e a linha era executada como um movimento linear em trabalho, sem alarme.
  • As palavras P e Q eram sempre interpretadas em mícrons: um Q5.0 escrito em milímetros se tornava uma penetração de 0,005 mm.
  • O G89 (mandrilamento radial no diâmetro) estava implementado mas não aparecia entre os códigos reconhecidos e disparava o alarme "código G não suportado".

Agora.

  • U e W são aceitos no bloco 2 de todos esses ciclos e resolvidos em absoluto a partir da posição atual da ponta da ferramenta, no canal ativo.
  • P e Q seguem a regra única: sem ponto decimal mícrons, com o ponto milímetros. A regra é a mesma para todos os ciclos (G71, G72, G74, G75, G76, G83).
  • G89 é reconhecido.

Verificado com testes de paridade: a furação G83 com Z-30, com W-35 a partir da posição Z5 e com Q10.0 produz o mesmo furo; a ranhura G75 com X80 Z-20 e com U-24 W-10 a partir da posição X104 Z-10 produz a mesma ranhura.


Parser G-code — Números com ponto inicial

Os valores escritos sem o zero antes do ponto, como X.5, R.05 ou U-.2, são válidos no Fanuc, mas o parser não os lia e os tratava como zero. Agora são lidos corretamente, para todas as palavras.


O que NÃO muda

  • A lógica de cálculo dos ciclos (passadas, profundidades, recuos, disciplina da rosca) é a mesma de antes. As correções dizem respeito ao reconhecimento da sintaxe e à qualidade dos alarmes.
  • Os programas já escritos no formato padrão de dois blocos continuam funcionando de forma idêntica.

Em andamento

Os ciclos fixos do sistema G-code A dos tornos Fanuc (G90 ciclo de torneamento, G92 ciclo de roscamento, G94 ciclo de facejamento), muito usados no ensino, ainda não são simulados. São os próximos no planejamento.


Como reportar uma anomalia

Se encontrarem uma linha de programa que o simulador rejeita ou executa de forma diferente do controle real, abram um relatório pelo suporte in-app (menu Suporte, abertura de ticket) anexando o programa: nós o usamos diretamente como caso de teste. Cada ciclo corrigido nesta atualização nasceu assim.

Compartilhar

Siga-nos