
Esse vídeo é para ser engraçado mas ele resume muito das situações reais que acontecem em empresas entre engenheiros e técnicos


Tipos de Comandos
O que é Fanuc?

Fanuc é uma das marcas mais conhecidas de controladores CNC (Controladores Numéricos Computadorizados). Esses controladores são responsáveis por interpretar o código G e comandar os movimentos da máquina (fuso, ferramenta, etc.). A Fanuc fabrica controladores e também desenvolve o sistema operacional para esses controladores, que é amplamente usado em máquinas CNC em todo o mundo.
No contexto de programação, a "linguagem Fanuc" refere-se a uma convenção de código G e código M que segue os padrões definidos pela Fanuc. Então, aprender a programar no "tipo Fanuc" significa aprender um conjunto de comandos e sintaxe que são universalmente entendidos em máquinas CNC equipadas com controladores Fanuc.
O que é Mach?

O software Mach3 ou Mach4, que são controladores de software para CNC desenvolvidos por uma empresa chamada Artsoft. Esses programas são usados principalmente em máquinas CNC de pequeno porte ou hobby, em que o CNC é controlado por um computador pessoal (PC), e não por um controlador industrial dedicado (como o Fanuc).
Mach3 e Mach4 não são exatamente o mesmo que um controlador Fanuc industrial, mas eles também interpretam o código G e podem ser configurados para simular vários estilos de código G, incluindo alguns padrões Fanuc.
Diferenças entre Controladores Fanuc e Software Mach
- Uso e Aplicação: Fanuc é amplamente usado em indústrias de médio e grande porte, pois é confiável e robusto. Já o Mach3/Mach4 é mais usado em aplicações caseiras e hobby.
- Hardware: Fanuc é um hardware controlador dedicado, enquanto o Mach3/Mach4 é um software que roda em PCs e usa uma interface externa para controlar a máquina.
- Interface e Programação: Embora ambos usem o código G, existem variações sutis na forma como alguns comandos são interpretados e executados. Em um controlador Fanuc, a programação é mais padronizada, com comandos G e M amplamente aceitos em normas industriais.
Começando a Programação em CNC no Padrão Fanuc
Para aprender programação CNC no estilo Fanuc, é bom começar pelos fundamentos da linguagem de programação G-code e M-code, que são universais e essenciais para operar qualquer máquina CNC. Em específico, você deve estudar:
- Comandos G: Instruções para movimentos e ciclos, como:
- G0: Movimento rápido.
- G1: Movimento linear com avanço controlado.
- G2/G3: Interpolação circular (arco horário/anti-horário).
- G66/G67/71/70 etc: Ciclos modais e chamadas de sub-rotinas.
- G291: Ativa a biblioteca com algumas funções ISO essenciais, como o G54, G00, G01, etc.
- Comandos M: Instruções para controle de máquina, como:
- M03/M04: Ligar o fuso no sentido horário/anti-horário.
- M05: Parar o fuso.
- M30: Finalizar o programa e voltar ao início.
- Configuração de Parâmetros de Corte: Velocidade do fuso (S), avanço (F), e outras variáveis específicas da peça e ferramenta.
- Uso de Ciclos Fixos: Em controladores Fanuc, há uma série de ciclos fixos (por exemplo, G71 para desbaste e G73 para furação) que facilitam a programação de operações repetitivas.

Um material bom para iniciar é o próprio Manual de FANUC da Romi.
Aqui um link para baixar:
Sinutrain
Vamos usar o software Sinutrain para simular o CNC. Esse é um software da siemens utilizado em controladores FANUC. O software possui uma versão básica gratuita que não necessita de licença (sim isso significa que você pode meter num pen drive e levar por ai) que permite fazer simulações mais simples.
Aqui abaixo o link para download. É preciso fazer um cadastro com um email institucional @aluno.ifce.edu.br

Nessa mesma página mais abaixo você pode baixar o pacote de idiomas:

Para facilitar já tem aqui o arquivo e pacote de idiomas caso queiram baixar em casa:
Descompacte o WinRAR, e na pasta SETUP execute o SETUP.exe


Após instalar faça as configurações abaixo para habilitar as funções que utilizaremos na aula:
Link do PDF:
PDF:
Primeiros Passos
Aba o programa Sinutrain

Clique em “Use template”

Escolha o “Lathe with driven tool” para começar:

Dê play na maquina virtual que foi criada:

CNC 2 Eixos
Quando tratamos de CNC em 2 eixos, estamos lidando com um Torno automatizado basicamente.

O eixo X é o diâmetro da peça, o eixo Z e a distância.
Agora vamos para alguns exemplos no software
Exemplo 1:

Primeiro vamos fazer seguindo só o perfil:


N10 WORKPIECE(, , , "CYLINDER", 0, 0, -70, -60, 70) //Define uma peça de Ø70mm x 70mm N10 G291 //Puxa a biblioteca de funções ISO N20 G21 G40 G90 G95 // Algumas configurações Iniciais N30 G97 S1200 M4 // Rotação em 1200 RPM no sentido horário N40 T01 // Chama a ferramenta 01 N50 G54 // Puxa o ponto (0,0) do zero máquina p/ o zero peça N60 G00 X70 Z2 // Move a ferramenta para um ponto seguro para começar N70 G01 X-5 Z2 F0.25 //Aqui começa a fazer o perfil da peça N80 Z-5 N90 X30 N100 Z-14 N110 X70 N120 X70 Z2 // Finaliza o perfil N130 M30 //Finaliza
As funções G21, G40, G90 e G95 são funções usadas no cabecalho. Elas fazem respectivamente:
G21: Diz para a máquina que toda coordenada X e Z será em mm.
Então por exemplo Z20 indica 20mm. (G20 é polegadas por exemplo)
G40: Desliga a compensação de raio. Essa função torna o movimento mais preciso. O
problema é que ele pode ainda ter uma correção no cachê da última vez que usaram a máquina. Por isso vamos desligar por garantia.
G90: Define que os movimentos serão feitos baseados no ponto zero. Então por exemplo X50 Z20 leva para o ponto (50,20).
Por exemplo, o G91 são coordenadas incrementais, significaria mais 50 no X e 20 no Z em relação ao último ponto.
G95: Define o avanço em mm/rot. Então F0.25 por exemplo significa que ele se move 0,25mm no eixo Z a cada rotação.
Assim ele mantém um avanço constante independente da rotação.
Ok, esse código funciona, mas não é assim na realidade. Esse código é só um exemplo inicial.
A ferramenta não pode sair avançando com tudo removendo 20mm de material duma vez só
É necessário é fazer vários passos sucessivos entrando um pouco de cada vez:
Exemplo 2:
N10 G291 N20 G21 G40 G90 G95 N30 G97 S1200 M3 N40 T01 N50 G54 G00 X120 Z20 N60 G71 U2.5 R2 //Ciclo de desbaste transversal N70 G71 P70 Q110 U1 W0.5 F0.25 //Ciclo de Desbaste Transversal N80 G01 X70 Z0 F0.25 N90 X40 N100 Z-20 N110 G00 X120 Z20 N120 M30
Nesse caso estamos usando o ciclo de desbaste transversal, segue abaixo
G71 - Função de Desbaste Transversal
Vamos pegar como está escrito no código:
G71 U2.5 R2 G71 P70 Q110 U1 W0.5 F0.25
U2.5: Casa passada remove uma camada de 2,5mm
R2: Ferramenta recua 2mm após completar cada passe no perfil
P70eQ110: Indicam o bloco inicial e final do perfil a ser usinado. No caso, o perfil começa no bloco N70 e termina no bloco N110. Isso vai depender de como seu código está enumerado
U1: Ferramenta deixa 1 mm de margem no diâmetro (0,5 mm por lado).
W0.5: Ferramenta deixa 0,5 mm de margem no eixo Z.
F0.25: A ferramenta avança 0,25 mm por revolução.
Exemplo 3:

Exemplo 4:

G291 N10 G21 G40 G90 N20 G54 G0 X200 Z200 N30 T01 N40 G96 S200 M4 //Rotação com Velocidade de corte de 200m/rot N50 G92 S2500 //Máximo de 2500 rpm N60 G0 X80 Z2 N70 G71 U2.5 R2 N80 G71 P90 Q170 U1 W0.3 F0.25 N90 G0 X16 N100 G1 Z0 N110 X20 Z-2 N120 Z-15 N130 G2 X30 Z-20 R5 N140 G1 X48 N150 X50 Z-21 N160 Z-30 N170 X80 Z-45 N180 G42 N190 G70 P90 Q170 F0.2 //Ciclo de Acabamento N200 G40 N210 G54 G0 X200 Z200 N220 M30
Perceba que G02 que está em destaque é um movimento novo.
Diferente de G01, as funções G02 e G03 realizam trajetórias circulares.
Precisa fornecer o ponto X e Z final do movimento e o raio R do movimento:
G2 X30 Z-20 R5
A escolha se voce usa G02 ou G03 para esse exemplo segue a seguinte lógica:

G70 - Função de Acabamento
A função G71 é apenas de desbaste, então ele faz apenas uma remoção grosseira de material.
Tanto que ele deixa uma folga. Veja que nos exemplos quase sempre se usa (U1 W0.5)
Isso é uma folga de 1mm no eixo Z e 0,5mm no raio (ou 1mm no diâmetro)
Para remover essa folga e ficar no tamanho final se usa a função de acabamento G70
Pegando o mesmo pedaço do exemplo 4:
G70 P90 Q170 F0.2
P70eQ110: Indicam o bloco inicial e final do perfil a ser usinado.
F0.25: A ferramenta avança 0,2 mm por revolução.
Assim a ferramenta basicamente remove o excesso de material que sobrou após o acabamento.
Exemplo 5:



Nesse exemplo temos um novo tipo de ciclo
G75 - Ciclo de Canal

A parte que realiza esse ciclo é:
G75 R1 G75 X28 Z-80 P5000 Q20000 F0.2
Cada um desses itens significa:
- R1: A ferramenta recua 1 mm após o corte.
- X28: Diâmetro final do canal (30 mm).
- Z-80: Distância final do ciclo.
- P5000: Largura do canal (5.0 mm) em milésimos de mm
- Q20000: Distância entre o início de cada canal (20 mm) em milésimos de mm
- F0.2: Avanço por rotação em mm/rev
Exemplo 6:
Sobre esse último exemplo vamos adicionar um ciclo de furação:


Exemplo 7:


Exemplo 8:



Exemplo 9:


G74 - Ciclo de Furação

A parte que realiza esse ciclo é:
G74 R10 G74 Z-80 Q10000 F0.5
Cada um desses itens significa:
- R10: A ferramenta recua 10 mm após cada entrada.
- Z-80: Distância final do ciclo.
- Q10000: Cada avanço da furação entra (10 mm) em milésimos de mm
- F0.5: Avanço por rotação em mm/rot
E sim, para alterar o diâmetro do furo é preciso alterar a ferramenta da broca
Vamos mostrar isso num Exemplo
Exemplo 7:
G76 - Ciclo de Rosca
Nesse exemplo vamos fazer uma peça com uma Rosca M30x3.5
Ou seja, rosca de diametro 30 e passo 3.5
Vamos dar uma relembrada em alguns conceitos de parafuso e rosca


Pela tabela vemos que a rosca M30 terá um diâmetro minimo de 25,71 ate 30 que é o diametro no topo dos filetes (diâmetro máximo).
Exemplo 7:




O ciclo G76 é dividido em dois blocos:
N80 G76 P010060 Q100 R0.1;
1° bloco: Definições gerais
- P010060 → Define 3 parâmetros:
- 01 → Número de passes finos no final.
- 00 → Define o ângulo de entrada (10=filete conico, 00 = saída reta).
- 60 → Ângulo do perfil da rosca (60° para rosca métrica).
- Q100 → Profundidade mínima de corte em milésimos de mm (0,01 mm).
- Esse valor determina o menor avanço que a ferramenta pode fazer nos últimos passes
Os primeiros passes removem mais material. A profundidade de corte diminui progressivamente.
À medida que a rosca se aproxima da profundidade final, os passes ficam menores.
Quando o passe atinge a mínima profundidade definida pelo Q (100µm no seu caso), o controle para de reduzir a profundidade e foca no acabamento
- R0.1 → Incremento de desbaste para os últimos passes de 0,1mm
- É quanto a ferramenta vai cortar no último passe antes de finalizar a rosca.
- Garante que o acabamento final seja preciso e uniforme.
- Se for muito grande, pode causar excesso de carga e defeitos na rosca.
- Se for muito pequeno, pode gerar rebarbas ou não remover material suficiente para um bom acabamento
R (mm) | Efeito na rosca |
R0.05 | Último passe leve, acabamento mais preciso, menor risco de rebarba |
R0.1 | Passe intermediário, equilíbrio entre acabamento e tempo de usinagem |
R0.2 | Último passe mais agressivo, pode gerar rebarba ou aumentar o esforço da ferramenta |
2° bloco: Dimensões e avanço
N80 G76 X25.71 Z-70 P2145 Q1050 F3.5;
- X25.71 → Diâmetro final da rosca (diâmetro menor da rosca interna).
- Z-70 → Posição final da rosca no eixo Z.
- P2145 → Altura do filete da rosca em milésimos de mm (2,145 mm = 2145 milésimos de mm).
- O diâmetro maior é 30mm, o menor é 25,71mm. Sobra
- Q1050 → Profundidade inicial de corte em milésimos de mm (0,392 mm).
- A profundidade inicial de corte Q é normalmente definida pelo programador, mas pode seguir regras empíricas baseadas na profundidade total da rosca. A regra mais comum para definir a Q inicial é usar aproximadamente 30% da profundidade total da rosca.
- Logo nesse caso: Q = 0.3x 3,5 = 1,05
Qinicial≈0.3×Passo
- F3.5 → Passo da rosca (3,5 mm, pois a rosca é M30x3.5).
Exemplo 8:
G71, G70, G75 e G74



Exemplo 9:




CNC 3 Eixos
Agora estamos entrando em 3 eixos, ou seja, na prática uma Fresa Automatizada.

A peça possui os eixos x,y e z. Os eixos X e Y são os eixos no plano horizontal. O eixo Z é o eixo da altura.
Normalmente colocamos o z sendo zero na face superior, e a medida que usinamos a peça ele entra para baixo, ou seja trabalhamos no Z negativo.

Outra questão importante é o ponto da ferramenta. Veja bem, no torno o ponto que é movimentado é a ponta da ferramenta que usina.



Já nas ferramentas de Fresa vertical, o ponto que esta sendo movimentado é o centro da ferramenta na base.


Então ao descrever um contorno, o que a ferramenta vai mover é esse centro da ferramenta.
Considere o exemplo abaixo:
Se apenas fizermos a ferramenta seguir o contorno ela vai usinar mais do que deveria.
Então temos de usar a compensação de raio:
G41/G42 - Compensação de Raio
Essas funções ativam/desativam a compensação de raio.
Dessa forma a ferramenta se movimenta por dentro ou por fora do perfil.
- G41 → Compensação à esquerda. A fresa percorre à direita do contorno programado, no sentido do avanço.
- G42 → Compensação à direita. A fresa percorre à direita do contorno programado, no sentido do avanço.
- G40 → Desliga a compensação. Desativa qualquer compensação de raio ativa (G41 ou G42). Sempre deve ser usada antes de sair do contorno
Exemplo 10:



Exemplo 11:


Exemplo 12:




Exemplo 13:




Exemplo 14:





