21 Unidade 4:linguagem e estrutura do CNC
OBJETIVO
Após concluir esta unidade, você deverá ser capaz de:
- Identifique as instruções da lista de programas.
- Entenda o formato do programa
- Descreva os códigos de comandos de endereço de letra
- Descreva as definições de códigos de caracteres especiais.
- Entenda os códigos G e M.
Os programas CNC listam as instruções a serem executadas na ordem em que são escritas. Eles lêem como um livro, da esquerda para a direita e de cima para baixo. Cada frase em um programa CNC é escrita em uma linha separada, chamada aBlock. Os blocos são organizados em uma sequência específica que promove segurança, previsibilidade e legibilidade, por isso é importante aderir a uma estrutura de programa padrão.
Os blocos estão organizados na seguinte ordem:
- Início do programa
- Ferramenta de carregamento
- Eixo ligado
- Líquido de arrefecimento ligado
- Rápido para posicionar acima da peça
- Operação de usinagem
- Refrigeração desligada
- Foco desligado
- Mover para uma posição segura
- Encerrar programa
Os passos listados acima representam o tipo mais simples de programa CNC, onde apenas uma ferramenta é utilizada e uma operação realizada. Os programas que usam várias ferramentas repetem as etapas de dois a nove para cada um.
Tabela 3 e Tabela 4 na seçãoCódigos G e M mostrar os códigos G e M mais comuns que devem ser memorizados, se possível.
Como qualquer linguagem, a linguagem de código G tem regras. Por exemplo, alguns códigos são modais, o que significa que eles não precisam ser repetidos se não mudarem entre os blocos. Alguns códigos têm significados diferentes dependendo de como e onde são usados.
Embora essas regras sejam abordadas neste capítulo, não se preocupe em aprender todas as nuances do idioma. É o trabalho do trabalho do software CAD/CAMPost Processor para formatar e escrever corretamente o programa CNC.
Formato do programa
O programa na Tabela 1:abaixo usina um contorno quadrado e faz um furo.
Quadra | Descrição | Propósito |
% O1234 (T1 0,25 FRESAGEM FINAL) G17 G20 G40 G49 G80 G90 | Início do programa. Número do programa (Nome do programa). Descrição da ferramenta para o operador. Bloco de segurança para garantir que a máquina esteja no modo de segurança. | Iniciar programa |
T1 M6 S9200 M3 | Carregar Ferramenta #1. Velocidade do fuso 9200 RPM, em CW. | Alterar ferramenta |
G54 M8 G00 X-0,025 Y-0,275 G43 Z1.H1 Z0.1 G01 Z-0.1 F18. | Use o Deslocamento da luminária nº 1. Refrigerante Ligado. Rápido acima da parte. Rápido para plano seguro, use o Deslocamento do Comprimento da Ferramenta #1. Rápido para alimentar o plano. A linha se move para a profundidade de corte em 18 IPM. | Mover para Posição |
G41 Y0.1 D1 F36. Y2.025 X2.025 Y-0,025 X-0,025 G40 X-0,4 G00 Z1. | CDC Esquerda, Lead na fila, Dia. Deslocamento #1, 36 IPM. Movimento de linha. Movimento de linha. Movimento de linha. Movimento de linha. Desligue o CDC com o movimento de saída. Plano rápido para seguro. | Contorno da Máquina |
M5 M9 (T2 0,25 BROCA) T2 M6 S3820 M3 | Eixo Desligado. Refrigerante desligado. Descrição da ferramenta para o operador. Carregar Ferramenta #2. Velocidade do fuso 3820 RPM, em CW. | Alterar ferramenta |
M8 X1. Y1. G43 Z1.H2 Z0,25 | Refrigerante Ligado. Rápido acima do furo. Rápido para plano seguro, use o Deslocamento do Comprimento da Ferramenta 2. Rápido para alimentar o plano. | Mover para Posição |
G98 G81 Z-0,325 R0.1 F12. G80 Z1. | Ciclo de furo (fixo), Profundidade Z-.325, F12. Cancele o ciclo de perfuração. Plano rápido para seguro. | Sondagem |
M5 M9 G91 G28 Z0 G91 G28 X0 Y0 G90 M30 % | Eixo Desligado. Refrigerante desligado. Retorne à posição inicial da máquina em Z. Retorne à posição inicial da máquina em XY. Redefinir para o modo de posicionamento absoluto (por segurança). Redefinir o programa para o início. Fim do Programa. | Finalizar programa |
Códigos de comandos de endereço de letra
O bloco de comando controla a máquina-ferramenta através do uso de comandos de endereço de letra. Alguns são usados mais de uma vez e seu significado muda com base no código G que aparece no mesmo bloco.
Os códigos são modais, o que significa que permanecem em vigor até serem cancelados ou alterados, ou não modais, o que significa que são eficazes apenas no bloco atual. Como você pode ver, muitos dos endereços das letras são escolhidos de maneira lógica (T para ferramenta, S para fuso, F para taxa de avanço, etc.).
A tabela abaixo lista os códigos de comandos de endereço de letra mais comuns.
Tabela 2:Códigos de Comandos de Endereço de Letra
Variável | Descrição | Definições |
UMA | Posição absoluta ou incremental do eixo A (eixo de rotação em torno do eixo X) | A,B,C - Movimento Rotativo do 4º/5º Eixo Rotação em torno do eixo X, Y ou Z, respectivamente. O ângulo é em graus e precisão de até três casas decimais. G01 A45.325B90. |
B | Posição absoluta ou incremental do eixo B (eixo de rotação em torno do eixo Y) | O mesmo que A |
C | Posição absoluta ou incremental do eixo C (eixo de rotação em torno do eixo Z) | O mesmo que B |
D | Define o diâmetro ou deslocamento radial usado para compensação da fresa | Usado para compensar o desgaste e a deflexão do diâmetro da ferramenta. D é acompanhado por um número inteiro igual ao número da ferramenta (T5 usa D5, etc). Nenhum ponto decimal é usado. É sempre usado em conjunto com G41 ou G42 e um movimento XY (nunca um arco). Quando chamado, o controle lê o registro e desloca a trajetória da ferramenta para a esquerda (G41) ou direita (G42) pelo valor do registro. G01 G41 X2.D1 |
E | Taxa de avanço de precisão para rosqueamento em tornos | |
F | Define a taxa de alimentação | Define a taxa de avanço ao usinar linhas, arcos ou ciclos de perfuração. A taxa de avanço pode ser em Polegadas por Minuto (modo G94) ou Tempo Inverso (modo G93). As taxas de avanço podem ter precisão de até três casas decimais (para ciclos de tap) e requerem um ponto decimal. G01 X2.Y0. F30. |
G | Endereço para comandos preparatórios | Os comandos G geralmente informam ao controle que tipo de movimento é desejado (por exemplo, posicionamento rápido, avanço linear, avanço circular, ciclo fixo) ou qual valor de deslocamento deve ser usado. G02 X2.Y2.I.50J0. |
H | Define o offset do comprimento da ferramenta; Eixo incremental correspondente ao eixo C (por exemplo, em um torno-fresa) | Este código chama um registro de compensação do comprimento da ferramenta (TLO) no controle. O controle combina os valores de TLO e Offset Z para saber onde a ferramenta está em relação ao ponto de referência da peça. É sempre acompanhado de um inteiro (H1, H2, etc), G43 e coordenada Z. G43 H1 Z2. |
EU | Define o tamanho do arco no eixo X para comandos de arco G02 ou G03. Também usado como parâmetro dentro de alguns ciclos fixos. | Para movimentos de arco (G2/G3), esta é a distância X incremental do ponto inicial do arco ao centro do arco. Certos ciclos de perfuração também usam I como parâmetro opcional. G02 X.5 Y2.500I0.J0.250 |
J | Define o tamanho do arco no eixo Y para comandos de arco G02 ou G03. Também usado como parâmetro dentro de alguns ciclos fixos. | Para movimentos de arco (G2/G3), esta é a distância Y incremental do ponto inicial do arco até o centro do arco. Certos ciclos de perfuração também usam J como parâmetro opcional. G02 X.5 Y2.500 I0.J0.250 |
K | Define o tamanho do arco no eixo Z para comandos de arco G02 ou G03. Também usado como parâmetro dentro de alguns ciclos fixos, igual ao endereço L. | Para anarcmove (G2/G3) esta é a distância Z incremental do ponto inicial do arco até o centro do arco. No plano G17, esta é a distância Z incremental para movimentos helicoidais. Certos ciclos de perfuração também usam J como parâmetro opcional. G18 G03 X.3 Z2.500 I0.K0.250 |
eu | Contagem de ciclos fixos; Especificação de qual registro editar usando G10 | Contagem de loop de ciclo fixo:Define o número de repetições (“loops”) de um ciclo fixo em cada posição. Assumido como 1, a menos que programado com outro inteiro. Às vezes, o endereço K é usado em vez de L. Com posicionamento incremental (G91), uma série de furos igualmente espaçados podem ser programados como um loop em vez de posições individuais. G10use:Especificação de qual registro editar (deslocamentos de ponto zero, deslocamentos de raio de ferramenta, deslocamentos de comprimento de ferramenta, etc.). |
M | Função diversa | Sempre acompanhado por um inteiro que determina seu significado. Apenas um código M é permitido em cada bloco de código. Definições expandidas de códigos M aparecem mais adiante neste capítulo. M08 |
N | Número da linha (bloco) no programa; Número do parâmetro do sistema a ser alterado usando G10 | Os números de bloco podem facilitar a leitura do programa CNC. Eles raramente são necessários para programas gerados por CAD/CAM sem subprogramas. Como eles ocupam a memória de controle, a maioria dos programas 3D não usa números de bloco. Os números de bloco são inteiros de até cinco caracteres sem ponto decimal. Eles não podem aparecer antes do caractere de início/término da fita (%) e geralmente não aparecem antes de um bloco apenas de comentários. N100 T02 M06 |
O | Nome do programa | Os programas são armazenados no controle por seu número de programa. Este é um inteiro que é precedido pela letra O e não possui casas decimais. O1234 (Exercício 1) |
P | Serve como endereço de parâmetro para vários códigos G e M | Dwell (atraso) em segundos. Acompanhado por G4, a menos que usado dentro de certos ciclos de perfuração. G4 P.1 |
Q | Incremento de bicada em ciclos fixos | A distância de avanço incremental por passe em um ciclo de furação. G83 X2.000 Y2.000 Z-.625 F20.R.2 Q.2 P9. |
R | Define o tamanho do raio do arco ou define a altura de retração em ciclos fixos | Os arcos podem ser definidos usando o raio do arco R ou I,J,Kvectors. Os IJKs são mais confiáveis que os Rs, portanto, é recomendável usá-los. Ri também é usado por ciclos de furação como o valor Z do plano de retorno. G83 Z-.625 F20.R.2 Q.2 P9. |
S | Define a velocidade, velocidade do fuso ou velocidade da superfície, dependendo do modo | Velocidade do fuso em rotações por minuto (RPM). É um valor inteiro sem decimal, e sempre usado em conjunto com M03 (Spindle em CW) ou M04 (Spindle em CCW). S2500M03 |
T | Seleção de ferramenta | Seleciona a ferramenta. É um valor inteiro sempre acompanhado de M6 (código de troca de ferramenta). T01 M06 |
você | Eixo incremental correspondente ao eixo X (normalmente apenas controles do grupo A do torno) Também define o tempo de permanência em algumas máquinas. | Nesses controles, X e U eliminam G90 e G91, respectivamente. Nestes tornos, G90 é um endereço de ciclo fixo para desbaste. |
V | Eixo incremental correspondente ao eixo Y | Até os anos 2000, o endereço V era muito raramente usado, porque a maioria dos tornos que usavam U e W não tinha um eixo Y, então eles não usavam V. (Green et al 1996 nem sequer listavam V em sua tabela de endereços. ) Esse ainda é frequentemente o caso, embora a proliferação de ferramentas de torno mecânico e usinagem de torno-fresamento tenha tornado o uso do endereço V menos raro do que costumava ser (Smid2008 mostra um exemplo). |
C | Eixo incremental correspondente ao eixo Z (normalmente apenas controles do grupo A do torno) | Nesses controles, Z e W eliminam G90 e G91, respectivamente. Nestes tornos, G90 é um endereço de ciclo fixo para desbaste. |
X | Posição absoluta ou incremental do eixo X. | Dados de coordenadas para o eixo X. Até quatro casas após o decimal são permitidas e zeros à direita não são usados. As coordenadas são modais, portanto não há necessidade de repeti-las em blocos subsequentes se não mudarem. G01 X2.250F20. |
S | Posição absoluta ou incremental do eixo Y | Dados de coordenadas para o eixo Y. G01 Y2.250 F20. |
Z | Posição absoluta ou incremental do eixo Z | Dados de coordenadas para o eixo Z. |
Definições de códigos de caracteres especiais
A seguir está uma lista de caracteres especiais comumente usados, seu significado, uso e restrições.
% – Início ou Fim do Programa
Todos os programas começam e terminam com % em um bloco sozinho. Esse código é chamado de caractere de rebobinamento de fita (um remanescente dos dias em que os programas eram carregados usando fitas de papel).
( ) - Comentários
Os comentários para o operador devem estar em letras maiúsculas e entre colchetes. O comprimento máximo de um comentário é de 40 caracteres e todos os caracteres são capitalizados.
(T02:5/8 END MILL)
/ – Bloquear Excluir
Os códigos após este caractere são ignorados se a chave Block Delete no controle estiver ligada.
/ M00
; – Fim do Bloco
Este caractere não é visível quando o programa CNC é lido em um editor de texto (retorno de carro), mas aparece no final de cada bloco de código quando o programa é exibido no controle da máquina.
N8 Z0.750;
Códigos G e M
Os códigos G&M compõem a maior parte do conteúdo do programa CNC. A definição de cada classe de código e os significados específicos dos códigos mais importantes são abordados a seguir.
Códigos G
Os códigos que começam com G são chamados de palavras preparatórias porque preparam a máquina para um certo tipo de movimento.
Tabela 3:Código G
Código | Descrição |
G00 | Movimento rápido. Usado para posicionar a máquina para movimentos sem fresamento. |
G01 | Movimento de linha em uma taxa de alimentação especificada. |
G02 | Arco no sentido horário. |
G03 | Arco anti-horário. |
G04 | Habitar. |
G28 | Retorne à posição inicial da máquina. |
G40 | Compensação do diâmetro do cortador (CDC) desligada. |
G41 | Compensação do diâmetro do cortador (CDC) esquerda. |
G42 | Compensação do diâmetro do cortador (CDC) à direita. |
G43 | Correção do comprimento da ferramenta (TLO). |
G54 | Deslocamento da luminária #1. |
G55 | Deslocamento da luminária #2. |
G56 | Deslocamento da luminária #3. |
G57 | Deslocamento da luminária #4. |
G58 | Deslocamento da luminária #5. |
G59 | Deslocamento da luminária #6. |
G80 | Cancele o ciclo de perfuração. |
G81 | Ciclo de perfuração simples. |
G82 | Ciclo de perfuração simples com pausa. |
G83 | Ciclo de furação. |
G84 | Ciclo de toque. |
G90 | Modo de programação de coordenadas absolutas. |
G91 | Modo de programação de coordenadas incremental. |
G98 | Ciclo de perfuração retorna ao ponto inicial (R). |
G99 | Ciclo de perfuração retorno ao plano de referência (última altura Z) |
Códigos M
Os códigos que começam com M são chamados de palavras diversas. Eles controlam as opções auxiliares da máquina, como refrigeração e direção do fuso. Apenas um código M pode aparecer em cada bloco de código.
Tabela 4:Códigos M
Código | Descrição |
M00 | Parada do programa. Pressione o botão Cycle Start para continuar. |
M01 | Parada opcional. |
M02 | Fim do programa. |
M03 | Fuso no sentido horário. |
M04 | Fuso no sentido anti-horário. |
M05 | Parada do fuso. |
M06 | Mudar ferramenta. |
M08 | Refrigerante ligado. |
M09 | Refrigerante desligado. |
M30 | Finalize o programa e pressione Cycle Start para executá-lo novamente. |
Selecione as definições do código G (expandido)
G00 – Movimento Rápido
Este código comanda a máquina a se mover o mais rápido possível para um ponto especificado. É sempre usado com uma posição coordenada e é modal. Ao contrário de G01, G00 não coordena os eixos para se mover em linha reta. Em vez disso, cada eixo se move em sua velocidade máxima até que seja satisfeito. Isso resulta em movimento conforme mostrado na Figura 18, abaixo.
G00 X0. Y0.
Figura 1. G00 MotionCuidado:A velocidade rápida de algumas máquinas pode exceder 1. Um deslocamento incorreto ou movimento de coordenadas pode travar a máquina mais rápido do que o operador pode atingir a parada de emergência. Use a substituição de alimentação rápida na máquina ao executar um programa pela primeira vez.Movimento linear é movimento de linha reta:
O G-Code é sobre movimento, e o tipo mais comum de movimento encontrado em programas de peças é o movimento em linha reta ou linear. O movimento é outra daquelas coisas no G-Code que é modal. Você diz ao controlador que tipo de movimento você gostaria com um G-Code e ele se lembra de sempre fazer esse tipo de movimento até que você diga para mudar usando outro G-Code.
G00 para Posicionamento Rápido; Rapids Motion tão rápido quanto sua máquina vai. Usado para mover o cortador pelo ar para a próxima posição em que ele cortará.
G01 para Movimento de Corte Mais Lento; Movimento de avanço mais lento, para corte. Avanço definido pelo código G “F”.
F-word =“F” como em “Feedrate”.
S-word =“S” como em “Spindle Speed”, o endereço é rpm.
Especificando movimento linear com X, Y e Z:
Especificar G00 ou G01 não causa nenhum movimento – eles apenas informam ao controlador que tipo de movimento é esperado quando você finalmente informa para onde mover. Para movimento real, você precisa especificar um destino usando as palavras X, Y e Z. Para mover para a parte zero, podemos emitir um comando como este:
G00 X0 Y0 Z0 Ou use G01 se quiser ir mais devagar G01 X0 Y0 Z0 F40.
Movimento interpolado ou um movimento interpolado, quando especificamos várias coordenadas em uma linha, significa que mais de um eixo da máquina está se movendo ao mesmo tempo. Na verdade, o controlador irá movê-los todos exatamente na velocidade certa em relação uns aos outros, de modo que a fresa siga uma linha reta até o destino e se mova na velocidade de avanço.
Se especificarmos o mesmo destino, mas espalharmos as coordenadas por várias linhas, cada linha será um movimento separado:
G00 X0 Y0 (Mover para X0 Y0 em um movimento, mantendo Z constante)
Z0 (Mover para Z0 em um movimento, mantendo X e Y constantes)
G00 e G01 são modais, por isso só precisamos especificá-los quando queremos mudar os modos.
Eixo Z:
O conceito de movimentos interpolados levanta uma questão interessante para o eixo Z. Muitas vezes, é uma boa ideia mover o eixo de profundidade de corte por conta própria, em vez de como movimento coordenado com outros eixos (X e Y). Se você vai ter um problema (colisão) quando o cortador se aproximar da peça de trabalho e da fixação. Primeiro movendo-se em X e Y e depois movendo-se em Z, é muito mais fácil julgar se uma colisão acidental está prestes a ocorrer. Também é muito menos provável que você atinja algum objeto aleatório, como um grampo, se mantiver o cortador alto até estar diretamente sobre onde deseja começar a cortar.
G02 e G03 Movimento Circular é um Modo Iniciado:
G02 estabelece um modo para arcos circulares no sentido horário.
G03 estabelece um modo para arcos circulares no sentido anti-horário.
O modo G02 ou G03 é estabelecido, os arcos são definidos em G-Code identificando suas 2 extremidades e o centro que deve estar equidistante de cada extremidade. Os pontos finais são fáceis. O ponto de controle atual, ou localização quando o bloco é iniciado, estabelece um ponto final. O outro pode ser estabelecido pelas coordenadas XYZ. O centro é mais comumente identificado usando I, J ou K para estabelecer deslocamentos relativos do ponto inicial do arco ao centro.
EXEMPLO DE ARCO NO SENTIDO HORÁRIO:
Figura 2. Centro de um arco com IJK
Este arco começa em X0Y2. e termina em X2.Y0. Seu centro está em X0Y0. Poderíamos especificá-lo no código G assim:
G02 (Configurar o modo de arco no sentido horário)
X2Y0 I0J-2,0
O Centro Usando o Raio “R”.
O centro apenas especificando o raio do círculo. Circle tem um raio de 2, então o G-Code pode ser simplesmente:
G02 X2Y0 R2
G17/G18/G19 – Designação do Plano
Os arcos devem existir em um plano designado pelo comando G17 (XY), G18 (XZ) ou G19 (YZ). G17 é o padrão da máquina.
Figura 3. Designação do plano
G40/G41/G42 – Compensação do Diâmetro do Cortador (CDC)
O CDC é a chave para a usinagem CNC de precisão, permitindo que o operador compense o desgaste e a deflexão da ferramenta comandando a máquina para virar para a esquerda (G41) ou para a direita (G42) do caminho programado. G40 cancela a compensação do cortador. A quantidade de compensação é inserida em um registro D de controle CNC. O registro de desgaste pode ser pensado como uma tabela à qual o controle se refere a cada movimento.
Tabela 5:Registro de deslocamento de diâmetro
Compensação do Diâmetro da Ferramenta | Valor |
D1 | 0,0125 |
D2 | 0,0000 |
D3 | 0,0000 |
D4 | 0,0000 |
D5 | 0,0000 |
D6 | 0,0000 |
O valor no registro D é calculado pelo operador da máquina-ferramenta, que monitora o tamanho final dos recursos da peça, compara-os com a impressão e insere a diferença no registro conforme necessário para manter a peça dentro das especificações. Se não houver desvio, o registro é definido como zero.
G01 G41 D1 X1.0 Y.25 F40.
G43 – Compensação do Comprimento da Ferramenta
G43 ativa a compensação do comprimento da ferramenta. É sempre acompanhado por um código H e um movimento Z, onde H é o registro de correção do comprimento da ferramenta (TLO) a ser lido e Z é a altura a ser alcançada em referência ao ponto de referência da peça.
O (TLO) pode ser pensado como uma tabela no controle:
Tabela 6:Compensações de Trabalho
Resistor de Comprimento da Ferramenta | Z |
H1 | 10.236 |
H2 | 4,7510 |
H3 | 6,9652 |
H4 | 7,6841 |
H5 | 12.4483 |
H6 | 8,2250 |
O TLO é combinado com o offset de fixação ativo no controle para que a máquina saiba onde está a ponta da ferramenta em relação ao ponto de referência da peça.
G43 H1 Z1.
G54 – Compensação de trabalho
Deslocamentos de trabalho são registros de dados no controle CNC que mantêm a distância da posição inicial da máquina X, Y, Z até o ponto de referência da peça. Esses deslocamentos podem ser pensados como uma tabela no controle:
Tabela 7:Compensação de Trabalho
Deslocamento de trabalho | X | S | Z |
G54 | 14.2567 | 6,6597 | 0,0000 |
G55 | 0,0000 | 0,0000 | 0,0000 |
G56 | 0,0000 | 0,0000 | 0,0000 |
G57 | 0,0000 | 0,0000 | 0,0000 |
G58 | 0,0000 | 0,0000 | 0,0000 |
G59 | 0,0000 | 0,0000 | 0,0000 |
Os valores X e Y representam a distância da casa da máquina até o ponto de referência da peça XY. O valor Z é a distância do ponto de referência da ferramenta (por exemplo, o topo de um bloco 1-2-3) e o ponto Z da peça.
G54X0. Y0.
TESTE DE UNIDADE
1. Descreva a instrução da lista de programas CNC.
2. Todos os programas CNC começam e terminam com o quê?
3. Descreva os códigos de comandos de endereço de letra.
4. Por favor, liste três códigos de caracteres especiais.
5. Descreva os códigos G e M.
6. Descreva G00 G90 G54 X0 Y0.
7. Descreva G00 G90 G43 H1 Z1.
8. Qual é a diferença entre G00 e G01?
9. Explique a diferença entre G02 e G03.
10. Por favor, descreva a palavra F e S.
Tecnologia industrial
- Programação do microprocessador
- C - Estrutura do Programa
- C# - Estrutura do Programa
- Tentativa e erro do maquinista CNC:realidade infeliz
- Como garantir a exatidão e precisão no fresamento CNC
- Fornecemos soluções de usinagem CNC e fabricação de ferramentas
- 22 Unidade 5:Operação CNC
- Maximizando a precisão e o posicionamento da máquina-ferramenta CNC
- O que é uma ferramenta CNC e um triturador de corte?
- Predefinição de ferramenta CNC e medição de ferramenta CNC uma introdução