Dominar G-Code: A Linguagem das Máquinas CNC

Programação é uma competência fundamental para todos os tipos de usinagem CNC, mesmo enquanto automação e nova tecnologia parecem estar a substituir tarefas de programação. Todo torneiro ainda precisa de entender como os seus programas e ferramentas funcionam. Seja novo em programação CNC e na sua linguagem mais comum, G-code, ou tenha escrito código do zero por anos, códigos CNC ainda podem parecer uma língua estrangeira. E para piorar, cada máquina fala um dialeto diferente que tem de entender. Entende o que estão a dizer? Aqui estão os fundamentos de programação G-code que precisa de saber para entender e escrever programas eficientemente que produzem produtos de alta qualidade.
O que é G-code?
G-code é uma linguagem de programação para CNC que instrui máquinas onde e como mover. A maioria das máquinas fala um "dialeto" diferente de G-code, então os códigos variam dependendo do tipo, marca e modelo. Cada máquina vem com um manual de instruções que mostra o código dessa máquina particular para uma função específica.
G-code significa "código geométrico", e segue alguma variação do padrão alfanumérico:
N## G## X## Y## Z## F## S## T## M##
N: Número de linha
G: Movimento
X: Posição horizontal
Y: Posição vertical
Z: Profundidade
F: Taxa de avanço
S: Velocidade do fuso
T: Seleção de ferramenta
M: Funções diversas
I e J: Centro incremental de um arco
R: Raio de um arco
Códigos alfanuméricos são usados para programação G-code pois são uma maneira simples de:
- Definir movimento e função (G##)
- Declarar uma posição (X## Y## Z##)
- Definir um valor (F## e/ou S##)
- Selecionar um item (T##)
- Ligar e desligar algo (M##), como refrigerante, fusos, movimento de indexação, bloqueios de eixos, etc.
Por exemplo,
G01 X1 Y1 F20 T01 M03 S500
geralmente indicaria um movimento de avanço linear (G01) para a posição XY dada à taxa de avanço de 20. Está a usar Ferramenta 1, e a velocidade do fuso é 500. Funções diversas variam de máquina para máquina, então para saber o que o m-code significa, o manual de instruções da máquina precisará ser referenciado.
Movimento da Máquina
Tudo o que uma máquina pode fazer baseia-se em três tipos básicos de movimento:
- Movimento rápido: movimento linear para uma posição XYZ o mais rápido possível
- Movimento de avanço: movimento linear para uma posição XYZ a uma taxa de avanço definida
- Movimento circular: movimento circular a uma taxa de avanço definida
Cada G-code diz à máquina qual variação destes movimentos básicos executar, e como executá-lo.
X e Y são coordenadas Cartesianas para posição horizontal e vertical, e Z representa a profundidade da máquina. Estes alfanuméricos seguirão o comando de movimento/função (G) para declarar a posição da máquina.
Seguinte, F determina a taxa de avanço (para movimentos de avanço ou circulares), enquanto S determina a velocidade do fuso. T é usado para selecionar uma ferramenta. Outros alfanuméricos usados em programação podem incluir I, J, e R, que têm a ver com centros e raios de arco.
Códigos Diversos
A linha de um programa pode também incluir m-codes, que são geralmente códigos que dizem a uma máquina como executar uma ação. Embora não garantidos de serem iguais entre máquinas, alguns m-codes comuns, padrão são:
- M00: Paragem de programa
- M01: Paragem de programa opcional
- M02: Fim de programa
- M03: Fuso ligado no sentido horário
- M04: Fuso ligado no sentido anti-horário
- M05: Paragem do fuso
- M06: Mudança de ferramenta
- M08: Refrigerante de inundação ligado
- M09: Refrigerante de inundação desligado
- M30: Fim de programa/retorno ao início
- M41: Gama baixa de engrenagem do fuso
- M42: Gama alta de engrenagem do fuso
Modalidade
Assim como uma luz ficará ligada até ser desligada, funções G-code (em controladores que suportam modalidade) permanecerão ativas até serem desativadas por outro código. Em outras palavras, apenas uma função pode estar ativa a qualquer momento. Para desativar uma função, apenas selecione uma nova função.

Por exemplo, digamos que um código começa com um movimento rápido linear em X1 Y1 (G00 X1 Y1). Se a próxima função for outro movimento rápido linear, não é necessário escrever G00 novamente. Tudo o que é necessário na próxima linha de código é a nova posição (digamos, X2 Y2) porque a condição modal é a mesma. Então, para mudar a função para avanço linear (G01), programar G01 na linha seguinte desativaria o movimento rápido linear e ativaria o avanço linear.
Uma vez definida uma condição, ela permanece ativa até ser desligada ou outra condição a substituir.
Ciclos Predefinidos
Ciclos predefinidos são um tipo de condição modal que incorpora todos os movimentos para completar uma tarefa comum num único código.

Por exemplo, frequentemente G81 é código para uma função básica de furação. No caso de furação básica, a ferramenta teria de 1) mover para o ponto inicial da localização do furo, 2) rápido para o plano de folga, 3) avançar para a profundidade, e 4) rápido para fora. Seriam quatro linhas de código no programa que teriam de ser repetidas para cada nova posição de furo! Com o ciclo predefinido G81, apenas as localizações dos furos precisam de ser especificadas após ativação. Ciclos predefinidos como G81 reduzem significativamente a quantidade de código incorporando múltiplos movimentos num único código.

Em G-code, existem outros ciclos predefinidos comuns para furação de picotagem, alargamento e roscagem.
Grupos de Códigos Modais
Grupos de códigos modais permitem que haja múltiplos códigos numa única linha, mas só pode haver um código de cada grupo numa linha. Isto é porque códigos dentro de um grupo substituem-se uns aos outros.
Os grupos modais para G-codes são:
- Grupo 1 (movimento): G00, G01, G02, G03, G80, G81, G82, G84, G85, G86, G87, G88, G89
- Grupo 2 (seleção de plano — XY, YZ, ZX): G17, G18, G19
- Grupo 3 (modo absoluto/incremental): G90, G91
- Grupo 5 (modo de taxa de avanço): G93, G94
- Grupo 6 (unidades — polegadas/milímetros): G20, G21
- Grupo 7 (compensação de raio de fresa — CRC): G40, G41, G42
- Grupo 8 (deslocamento de comprimento de ferramenta — TLO): G43, G49
- Grupo 10 (modo de retorno em ciclos predefinidos): G98, G99
- Grupo 12 (seleção de sistema de coordenadas de trabalho — WCSS): G54, G55, G56, G57, G58, G59)

Pós-Processadores
Um pós-processador é um tradutor que traduz a imagem calculada de uma trajetória de ferramenta no ecrã do seu computador para a linguagem para controlo de máquina. Pode criar um pós-processador procurando um programa de exemplo que alinhe de perto com a sua máquina e depois alterando o programa para se ajustar precisamente à sua máquina.
Dicas de Programação G-code
- Algumas máquinas e controladores ignoram espaços. G01 X1 Y1 Z1 pode significar a mesma coisa que G01 X1Y1Z1.
- O eixo Z é positivo na direção para cima. Z1 trará a ferramenta para cima, enquanto Z-1 trará a ferramenta para baixo.
- O dialeto G-code da sua máquina especificará se um zero à esquerda é necessário (como em G01, em oposição a G1).
- O dialeto também determinará se pontos decimais são sempre necessários (ex. G01 X1. Y1. Z0.5)
- É boa ideia executar os programas de exemplo que vêm no manual da sua máquina antes de tentar executar um grande programa. Frequentemente, os programas de exemplo não funcionam e precisará de notar os problemas e definir os seus próprios benchmarks.
Começar com G-Code
Pronto para começar a usar G-code para programar as suas máquinas? Comece revendo o gráfico de codificação único da sua máquina. Lembre-se, cada máquina é um pouco diferente. O código de uma Haas para uma função pode não ser o mesmo que o código de uma Anilam para essa função. Tem de saber que códigos a sua máquina específica usa para as tarefas que quer que execute.
O programa frequentemente começará com um código de inicialização (%), seguido por um número de programa. Depois, haverá uma linha de códigos de segurança. Seguida será uma linha para mudança de ferramenta. Isto coloca a ferramenta apropriada na máquina e define a velocidade a ser usada. O grosso do programa serão então os movimentos e posicionamento da máquina.
Se usar numeração de linha, é boa ideia nomear cada linha em incrementos de pelo menos cinco. Desta forma, se precisar de adicionar linhas de código mais tarde, as linhas ainda serão rotuladas em ordem.
Quando terminar de programar o seu G-code, tipicamente terminará o programa com uma série de funções que param e reiniciam a máquina para que esteja pronta para a próxima vez.
Quando usado corretamente, G-codes são uma ferramenta inestimável para torneiros CNC, permitindo-lhe tirar total vantagem das capacidades da sua máquina. Soluções CAD/CAM integradas como Fusion 360 continuam a simplificar o processo de codificação CNC, para que não tenha de programar peças à mão usando G-codes. Produzir peças de alta qualidade nunca foi tão rápido com programação G-code.
Tecnologia industrial
- O Que é CNC? — Entendendo o Controle Numérico Computadorizado para Manufatura Moderna
- Entendendo o Torneamento Mecânico: Um Processo-Chave de Usinagem de Precisão
- Programação CNC Desmistificada: G-Code vs M-Code
- Quando o Refrigerante da Máquina Estraga: Guia Seguro de Remoção e Descarte
- Descubra Máquinas de Venda de Leite Fresco: Convenientes, Acessíveis e Ecológicas
- Máquinas de Furação Horizontal Explicadas: Design, Operação e Aplicações
- Máquinas de Prensa Automáticas: Função, Benefícios e Aplicações
- Descubra Máquinas de Venda de Macarrão: Como Funcionam e o que Você Pode Obter
- Entendendo Máquinas de Fresagem de Precisão: Definição e Principais Características
- Entendendo Máquinas de Fundição sob Pressão: Funcionamento e Benefícios