O programa CNC é constituído por uma seqüência de informações para o processo de usinagem de uma peça. Definimos o início do programa como cabeçalho que pode variar de acordo com o comando.
Há uma ordem lógica nesse processo estrutural com as funções apropriadas, de modo que o comando interprete os parâmetros e envie os dados necessários para que a máquina execute as operações que foram programadas.
O conhecimento dos recursos que os comandos oferecem, além das técnicas de programação citadas nesta obra, são fundamentais no processo de programação.
Um bom programa depende de um bom processo, por isso a criatividade do programador e os conhecimentos técnicos são fatores muito importantes.
11.1 - Itens e dicas necessárias para a execução de um programa
• Antes de começar o programa, deve-se montar um processo de usinagem com definição de operações, isto é, qual será a primeira, a segunda ou quantas mais operações forem necessárias em uma ordem lógica.
• Este processo deve conter as seguintes informações: — Desenho de fixação e que tipo de castanhas será usado; — Desenho das ferramentas com seus números correspondentes; — Definição dos insertos intercambiáveis (pastilhas);
— Informações sobre o processo de usinagem escrito.
• Conhecimento dos recursos que o equipamento oferece e do sistema de programação que corresponda ao comando e programar.
• Montar uma pasta contendo a folha de fixação de ferramentas, processo de usinagem escrito e o programa CNC e manter em arquivo.
• No caso de modificações ou alterações durante o processo preparatório, deve-se anotar e colocar as observações necessárias, pois sempre haverá melhorias a cada vez que o processo for executado até a sua otimização final.
• Vale lembrar que, além dos conhecimentos técnicos de programação, o programador deve ser criativo, procurando sempre o processo mais viável e de fácil interpretação para que outros colegas também se identifiquem com ele.
11.2 - Tipos de função
As funções estão divididas em dois tipos: MODAIS e NÃO MODAIS.
• Funções MODAIS - são as que uma vez programadas, permanecem na memória do comando, valendo para todos os blocos posteriores até que se programe outra função. Exemplo
G00,G01 ,G40,G41 ,G42, com comando SIEMENS. N010 G00 X16. Z2. M08; aproximaçao em avanço rapido
N020 G0l G42 X15. Z1. F.5; movimento para ativar compensação de raio de corte N030 X20. Z-1. F.15; deslocamento para usinar o chanfro
N040 Z-15.; deslocamento longitudinal até l5mm
N050 X50. CHF=1.; deslocamento transversal com inserção de chanfro N060 Z-32.; deslocamento longitudinal até 32mm
N070 X58.; deslocamento transversal para diâmetro de 58mm N080 X62. Z-34.; deslocamento simultâneo dos dois eixos
N090 G00 G40 X65.; movimento para desativar compensação de raio de corte.
Notamos que a funçao G0l so foi programada no bloco N020 e do bloco N030 até N080 so as coordenadas em X e Z, pois a funçao ficou memorizada no comando ate ser cancelada no bloco N090 com G00.
Este processo pode ser adotado em todos os comandos:
• Funções NÃO MODAIS - devem ser programadas todas as vezes que forem requeridas, isto é, só válidas no bloco que as contém. Como exemplo podemos levar em consideração os ciclos fixos de usinagem, desbaste, roscas, furaçoes que veremos nos proximos topicos.
São coordenadas que definem trocas manuais ou automáticas de ferramentas. Os procedimentos de programação são simples. O importante é que o processo seja executado em um ponto seguro e sem perigo de colisões. Essas coordenadas de troca devem ser programadas sempre que houver mudança de ferramenta.
No comando MITSUBISHI podemos informar os pontos trocas por meio de funções preparatórias com coordenadas predefinidas no comando pelo programador. Funções de ponto de troca (MITSUBISHI)
G24 - Afastamento só em X G25 - Afastamento só em Z
G26 - Afastamento primeiro em X e depois em Z (operações externas) G27 - Afastamento primeiro em Z e depois em X (operações internas)
11.4 - Escalas de transmissão para engrenamento
A maioria das máquinas operatrizes é equipada com câmbios de engrenamento para podermos, por meio do programa ou em um processo manual de alavanca selecionar faixas de rotação e de engrenamentos mais ou menos potentes de acordo com a necessidade do processo de usinagem.
Esse processo de programação é feito por meio de funções auxiliares que podem mudar de acordo com o fabricante do comando.
• Comando MACH - Mil e Ml 2
• Cômando FANUC - Mli, Ml 2, Ml 3 e Ml 4 • Comando MITSUBISHI - M40, M41, M42, M43
• Comando SIEMENS - M38, M39, M40, M41, M42 • Comando MCS - M37, M38 e M39
O processo de funcionamento é semelhante ao do câmbio de um automóvel. Se o trabalho de usinagem for executado com uma faixa alta teremos menos força e mais rotação do eixo árvore e em uma faixa baixa, mais força e menos rotação. E lógico que existem casos específicos, como torneamentos pesados que se exigem mais força, como desbastes, e torneamentos leves como acabamento onde rotações altas possibilitam melhor qualidade.
11.5 - Funções de ponto zero
Buscam no comando um ponto de referencia inicial o qual ja conhecemos como ponto zero peça. Sao coordenadas preestabelecidas na fase de preparaçao da máquina e podem ser definidas na frente ou atrás da peça, conforme determinação do programador. Nesta obra a opção de ponto zero está sendo definida na frente da peça, tendo em vista que se entende mais facilmente todo o processo de geometria.
No programa as coordenadas são chamadas por funções preparatórias como: • G54, G55, G56, G57, G58, G59 - Comandos FANUC, MITSUBISHI, SIEMENS E MACH.
• TRANS Comando SIEMENS.
Cabeçalho
Pode-se chamar de cabeçalho a iniciação de um programa, como o número, comentários sobre a peça a ser executada, ponto de troca da ferramenta, identificação do ponto zero peça, zeramento de corretores, como também as chamadas de ferramentas em que cada uma tem suas definições no programa, isto é, podemos ter um cabeçalho do programa e um cabeçalho para cada ferramenta.
Vamos conhecer as estruturas do programa de acordo com os comandos citados e definir cada bloco.
12.1 - Comando MACH
001 - número do programa que é inserido fora do processo de edição (editor)
N010; comentários sobre a peça, como núznero,nome,operação# N020 G99; reset da memária#
N030 T00; zeramento de corretores anteriores#
N040 G54 ou G55; busca o ponto zero peça predefinido no comando# N050 G00 X... Z. ponto de troca definido na preparação#
N060 T_?_ _?_; chamada da ferramenta com dimensões e corretores# N070 M06;libera torre elétrica para efetuar a troca#
A seguinte opção com G96 velocidade de corte constante é conveniente limitar a rotação.
N080 G96; ativa velocidade de corte constante em metros por minuto# N090 S____.; valor da velocidade de corte com ponto decimal#
N100 G92 8 M03 ou M04;limite de rotação e sentido de giro# ou a opção com rotação fixa, não precisa limitar.
N080 G97; rotação constante#
N090 S_____ M03 ou M04;rotação e sentido de giro sem ponto decimal N100 G00 X_ Z_ M08;aprOximação inicial ligando refrigeração# Programar de acordo com o processo da ferramenta selecionada. N200 G00 X_ Z_ M09; afastamento desligando a refrigeração# N210 T00; zeramento de corretores#
N220 G54 busca do ponto zero peça#
N230 G00 X_ Z_; afastamento para o ponto de troca#
N240 M02 ou M30; final de programa com retorno ao início#
Lembrar que no comando MACH todas as coordenadas necessitam de pontos decimais. Neste comando não é possível programar mais de uma função G no bloco.
12.2 - Comando FANUC
0001 - Número do programa sem numeração do bloco precedido pela letra O. Neste comando pode-se fazer o comentário no mesmo bloco que contém o número do programa, entre parênteses. Exemplo: 0001 (comentários).
N010 G21 G40 G90 G95 (bloco de segurança só no início do programa);
N020 G00 X... Z T00 (ponto de troca definido na preparação e zeramento de corretores);
N040 M11 ou M12 (faixa de rotação de acordo com o esforço de usinagem) Opções com G96 velocidade de corte constante é conveniente limitar a rotação.
N050 096 S (velocidade de corte constante em metros por minuto e valor no mesmo bloco);
N060 092 S____ M03 ou M04 (limite de rotação e sentido de giro); ou a opção com rotação fixa, não precisa limitar.
N050 097 S_____ M03ou M04 (rotação constante e sentido de giro no mesmo bloco); N060 G00 X Z_ M08 (aproximação inicial ligando refrigeração);
Programar de acordo com o processo da ferramenta selecionada. N200 G00 X_ Z_ M09 (afastamento desligando a refrigeração); N210 G00 X Z T00 (afastamento para o ponto de troca);
N220 M02 ou M30 (final de programa com retorno ao início);
Neste comando é possível programar mais de uma função G no bloco. 12.3 - Comando MITSUBISHI
% (INÍCIO DE PROGRAMA)
0001 - (Número do programa sem numeração do bloco precedido pela letra O). N010 (comentários feitos entre parênteses);
N020 G59 X___ Z___ (busca do ponto zero peça só no início do programa); Ponto de troca preestabelecido:
N020 G24 (afastamento só em X) G25 (afastamento só em Z)
G26 (afastamento em X e depois em Z) G27 (afastamento em Z e depois em X)
As definições do ponto de troca são feitas de acordo com a ferramenta em uso, com muito cuidado para evitar colisões.
N030 T 7 (comentários sobre a operação da ferramenta);
N040 M40, M41 ou M42 (faixa de rotação de acordo com o esforço de usinagem);
Opção com G96 velocidade de corte constante é conveniente limitar a rotação.
N050 G96 V 7 M03 ou M04 (ativar VCC com o valor e sentido de giro do eixo árvore); N060 G92 S 7 Q 7 (limite de rotações mínima e máxima);
ou
N050 G97 Sl=_____ M03 ou M04 (rotação constante e sentido de giro Si = eixo árvore principal no mesmo bloco);
N060 G00 X Z_ MOS (aproximação inicial ligando refrigeração); ou a opção com rotação fixa, não precisa limitar.
N200 G00 X Z M09 (afastamento desligando a refrigeração); N210 G26 (afastamento para o ponto de troca lembrando as opções G24,G25,G27)
N220 M02 ou M30 (final de programa com retorno ao início);
Obs:Neste comando é possível programar mais de uma função G no bloco. 12.4 - Comando SIEMENS
Características iniciais do comando com informações de diretório e número de programa:
;NÚNERO DO PROGRAMA
N010 G00 G53 X? Z ? D00 (ponto de partida e troca); N020 TRANS Z_? (deslocamento do ponto zero mais G53);
N030 T0l D0l G95 S M03 ou M04 (T0l chamada de ferramenta,D0l corretores G95 avanço em mrn/rot.,rotação e sentido de giro.);
Opção com G96 é conveniente limitar a rotação.
N040 G96 S_ 7 LIMS= limite de rotação); (VCC em metros por minuto, valor e Neste comando não há necessidade de programar G97. Caso a opção desejada seja rotação fixa, considerar no bloco N030 TOl DOl G95 S_?_ M03 ou M04 e não programar o bloco N040.
N060 GOO X Z M08 (aproximação inicial ligando refrigeração); Programar de acordo com o processo da ferramenta selecionada. N200 GOO X Z... M09 (afastamento desligando a refrigeração); N210 GOO G53 X Z.. DOO (afastamento para o ponto de troca); N220 M02 ou M3O (final de programa com retorno ao início);
Obs:Neste comando é possível programar mais de uma função G no bloco. 12.5 - Comando MCS 210
LBS ST 1 - Número do programa inserido de maneira seqüencial, isto é, se houver mais programas, eles serão digitados um após o outro, divididos apenas pelos números label (LBS ST 1, LBS ST 2), e assim sucessivamente já que não temos diretório para este comando;
TDF LX__LZ R.._... LC...._; definição de ferramentas dentro do próprio programa Em que:
TDF - tool definition (definição de ferramentas) LX - comprimento da ferramenta em X
LZ - comprimento da ferramenta em Z R - raio da ponta da ferramenta
LC - lado de corte da ferramenta (sentido de usinagem) TCLS RO / RR / RL C off/on; chamada de ferramenta Em que:
TCL - tool cali (chamada de ferramenta). S - define a rotação do eixo árvore.
C off / on - ativar ou desativar compensação de raio da ferramenta.
POS L XA_ ZA... FO 11; ponto de troca da ferramenta em avanço rápido (FO),corn função auxiliar que pode definir sentido de giro.
Programar de acordo com o processo da ferramenta selecionada. LBS ST; início de sub-rotina
Descrição da sub-rotina LBS ST 0; final de sub-rotina
LBC CAAL REP ; chamada da sub-rotina e número de repetições POS L XA ZAFO; ponto de troca
M02 ou M30; final de programa.
No comando MCS 210 teremos que dar o máximo de informações possíveil, não só em relação à programação más também na parte que envolve as ferramentas, já que não temos um vídeo de acompanhamento.
12.5.1 - Comando MCS
001 - Número do programa inserido no diretório do comando; CYC CL 0; Reset da memória
CYC CL 2 M M M T D S; define funções auxiliares (M), ferramenta (T), corretor (D), rotação (S) em um mesmo bloco.
CYC CL 2 M S; definição de velocidade de corte, com chamada de outro ciclo 2, caso as informações não sejam suficientes somente em um bloco.
S pode ter definição de rotação ou velocidade de corte, dependendo da função preparatória.
POS L XA_ ZA_ FO M; ponto de troca da ferramenta em avanço rápido (F0), com função auxiliar que pode definir sentido de giro e ligar fluido de corte ao mesmo tempo. Programar de acordo com o processo da ferramenta selecionada.
LBS ST..._; início de sub-rotina Descrição da sub-rotina
LBS ST 0; final de sub-rotina
LBC CL REP _; chamada da sub-rotina e número de repetições POS L XA ZAF0; ponto de troca
M02 ou M30; final de programa.
As sub-rotinas normalmente são programadas em modo incremental e são executadas em um processo repetitivo que se fará quantas vezes forem necessárias. Elas têm como objetivo simplificar a programação em que a criatividade do programador tem grande importãncia no processo.
O ponto zero peça é definido no dimensionamento das ferramentas de acordo com as peças.
LABEL OU LBS - definição de números de programa logo no início (MCS 210) ou sub-rotinas que possam ser chamadas no meio de um programa, como desbastes, um modo de marcar pontos importantes no programa.
Diretório - listagem de programas existentes no comando.
12.6 - Ciclos fixos
São funções especiais desenvolvidas para facilitar a programação e principalmente diminuir o tamanho dos programas, executando em uma única sentença Operações de desbastes de perfis complexos, furações com quebras de cavaco e roscamentos dos mais
variados. Cada fabricante desenvolve o seu próprio ciclo fixo, que tem muito em comum, e para o programador é uma questão de adaptação.
Nos próximos capítulos abordaremos os ciclos fixos de cada comando com exemplos aplicativos, todos em uma mesma ordem dentro de um processo de usinagem.