Melhore A Produtividade Do CNC Com Programação Paramétrica em Geometrias Regulares.
Melhore A Produtividade Do CNC Com Programação Paramétrica em Geometrias Regulares.
Melhore A Produtividade Do CNC Com Programação Paramétrica em Geometrias Regulares.
Objetivo: mostrar como você pode melhorar a utilização de máquinas-ferramenta CNC através do
uso de programação paramétrica.
Esboço
Embora as variações de uma versão da programação paramétrica para outra levem a diferenças nas
técnicas de uso específicas, as aplicações mais amplas e a utilização de programação paramétrica
permanecem notavelmente semelhantes. Isso é evidenciado pelo fato de que a maioria das
aplicações descritas neste texto pode ser adaptada a todas as versões de programação paramétrica
mencionadas anteriormente. Assim como um dado aplicativo de software pode ser manipulado por
uma variedade de linguagens de programação, também uma determinada aplicação CNC pode ser
manipulada com diferentes versões de programação paramétrica.
Comparação com a subprogramação
Todos os controles CNC possuem funções de subprogramação para permitir que os comandos
dentro do programa CNC sejam repetidos. Isso minimiza o número de comandos que devem ser
dados no programa CNC. Se, por exemplo, cinco bolsões idênticos devem ser fresados em peças
durante o mesmo ciclo de corte, seria complicado programar cada bolsão independentemente.
Em vez disso, você pode programar apenas um dos bolsos e colocar os comandos em um (sub)
programa separado. Esses comandos redundantes podem ser executados cinco vezes para usinar
os cinco compartimentos, eliminando muitos comandos pesados, demorados e propensos a
erros.
O FANUC utiliza um M98 para chamar um subprograma. Uma palavra P dentro do M98
especifica o número do subprograma. Uma palavra L especifica o número de execuções do
subprograma. Considere este comando:
Diz à máquina para executar o subprograma O1000 cinco vezes. Contanto que o programa
O1000 contenha os comandos necessários para usinar corretamente um dos bolsos, o
comprimento do programa pode ser reduzido e o potencial de erros será reduzido.
Técnicas de subprogramação podem ser muito úteis. No entanto, se alguma coisa mudar sobre o
bolso de um bolso para o outro (largura, altura, profundidade, etc.), você não poderá usar
técnicas de subprogramação. Sem Macro Personalizada, cada bolso deve ser programado de
forma independente. Além de dar ao programador a capacidade de repetir comandos
redundantes, a Macro Personalizada permite que qualquer coisa mude de uma execução do
programa Macro Customizada para a próxima. No exemplo de bolso, se qualquer atributo de
bolso mudar de uma bolsa para outra (largura, altura, profundidade, etc.), essas variações podem
ser facilmente manipuladas no programa Macro Personalizado.
As coisas que mudam de um bolso para o outro são chamadas de argumentos. Macro personalizada
permite nomear os argumentos de maneira lógica. Você usa um comando G65 para chamar a macro
personalizada programa. Letras do alfabeto podem ser incluídas neste comando para especificar
valores de argumentos.
Considere este comando G65:
N050 G65 P1000 X2,0 Y1,5 W4,0 H2,0 D.25
Observe o quão lógico você pode fazer a entrada dos dados de entrada (você os nomeia). Qualquer
um pode reconhecer facilmente os significados dos endereços de letras X, Y, W, H e D. Se outro
bolso de tamanho diferente tiver que ser usinado, outro comando G65 pode ser facilmente
especificado, contendo diferentes valores de argumento.
Todos os fabricantes de controle CNC fornecem uma série de recursos de programação para
minimizar o trabalho de um programador. Centros de usinagem controlados pela FANUC, por
exemplo, vêm com um conjunto de ciclos fixos de usinagem de furos (especificado por G73-
G89). Alguns controles do centro de usinagem também possuem certos ciclos fixos de
fresamento, como fresamento de bolsões circulares, fresamento de ranhura, fresamento de
roscas e fresamento de faceamento. Os centros de torneamento controlados pela FANUC vêm
com um conjunto de múltiplos ciclos repetitivos para & acabamento de torneamento e
mandrilamento, usinagem de canais, usinagem de furos e rosqueamento. É provável que você
esteja familiarizado com pelo menos alguns desses ciclos. Vamos comparar o que você sabe
para a macro personalizada.
Aqui estão os comandos para fazer uma série de furos em um centro de usinagem controlado
pela FANUC.
N065 G54 G90 S400 M03 (Selecione o sistema de coordenadas, o modo absoluto e o fuso de
partida)
N075 G00 X1.0 Y2.0 (local do primeiro furo)
N080 G43 H01 Z0.1 (Instale a compensação do comprimento da ferramenta, mova para a
posição de aproximação Z)
N085 G81 R0.1 Z-0.75 F4.5 (Primeiro furo)
N090 X3.0 (segundo furo)
N095 X5.0 (Terceiro furo)
N100 X7.0 (perfurar o quarto buraco)
N105 G80 (ciclo de cancelamento)
N110 G91 G28 Z0 M19 (retornar à posição de referência do eixo Z)
Na linha N085, o primeiro furo é totalmente usinado com base na função G81 da FANUC e nas
palavras incluídas no comando (R, Z, F, etc.). A máquina executará uma série de movimentos
previamente planejados com base no design do ciclo fixo. Com o G81, a máquina irá, primeiro,
efetuar uma furação rápida na posição XY. Em seguida, a broca será rápida para o avião R,
mergulhando a broca no fundo do furo e retraindo a broca do furo. Assim, com G81, quatro
movimentos são gerados com um comando. Com outros ciclos fixos (como o peck drilling),
ainda mais movimentos são causados por um comando.
Se você já quis ter a capacidade de criar seus próprios ciclos fixos, você tem um aplicativo para
Macro personalizada.
Você pode estar se perguntando se algo especial deve ser feito na ordem para utilizar comandos
de macro personalizados em um programa. Quando a opção Macro Customizada estiver
equipada em uma máquina, você terá acesso ao seu conjunto de funções que estende o que você
pode fazer com a programação normal em nível de código G. Estas funções adicionais (Macro
Personalizado) estarão disponíveis para uso dentro dos programas CNC.
A funcionalidade de macro personalizada pode ser utilizada dentro de qualquer programa CNC,
incluindo os principais programas e subprogramas. Você não precisa fazer nada de especial para
usar funções de macro personalizadas em um programa. Os programas podem residir na
memória do CNC ou em um dispositivo externo, como um cartão de memória ou unidade flash.
Categorias de aplicação
Como indicado no prefácio, existem inúmeras aplicações para Macro Customizada, e quase
todo usuário de CNC tem pelo menos algumas boas aplicações. Nesta discussão, organizamos
todos os aplicativos para a macro personalizada em cinco categorias básicas.
Famílias parciais
Muitos usuários do CNC fazem uma série de peças muito semelhantes. Grupos de peças
similares são chamados de famílias de partes. De um modo geral, todas as peças de uma
família parecida se assemelham umas às outras e exigem um processo de usinagem
semelhante (se não idêntico). Em famílias de peças clássicas, somente o tamanho da peça é
alterado.
Parafusos, porcas, arruelas e pinos, por exemplo, são feitos em uma variedade de tamanhos
para atender às necessidades da indústria. Os soquetes hexagonais fabricados por um
fabricante de ferramentas manuais são feitos em vários tamanhos para aceitar a troca de
tamanhos de porcas e parafusos. Os anéis fabricados por um fabricante de anéis de pistão são
fabricados em vários tamanhos e usados com uma variedade de tamanhos de pistão. A lista de
famílias de partes comuns é virtualmente infinita.
Se sua empresa usa técnicas de dimensionamento variável, você tem um aplicativo de família
de peças para Macro Customizada.
Quanto mais peças de trabalho em uma família de peças, mais fácil é justificar as técnicas de
programação de macros personalizadas. No entanto, lembre-se de que os programas Macro
personalizados demoram mais para serem gravados do que os programas CNC convencionais. Do
ponto de vista da justificação estritamente baseada em tempo de programação (não considerando
problemas de manutenção do programa), pode ser difícil justificar a gravação de um programa
Macro Personalizado para famílias de peças com apenas algumas peças de trabalho. Mesmo para
famílias de peças simples, pode levar de 3 a 10 vezes mais tempo para escrever o programa Macro
Personalizado do que para escrever um programa CNC rígido e fixo para uma peça de trabalho na
família de peças.
Mesmo que os produtos da sua empresa não contenham famílias de peças, é provável que você
tenha pelo menos algumas operações de usinagem semelhantes exigidas em várias peças de
trabalho. O Custom Macro pode simplificar drasticamente a programação de operações repetidas de
usinagem. Muitas operações de usinagem são similares em natureza e podem ser facilmente
manipuladas usando técnicas de programação de macros personalizadas. Aqui estão alguns
exemplos que você deve reconhecer facilmente.
Centros de usinagem:
Fresagem de roscas
Moagem de bolso redondo
Fresa de bolsos retangular
Moagem de círculo
Fresamento de face
Fresagem de chaveta
Moagem de Slot
Usinagem de furos (furação, rosqueamento, alargamento, furação, etc.)
Usinagem de padrão de furos (círculo de furo, padrão de grade, padrão de janela, etc.)
Centros de torneamento:
Inserção de ranhuras
Tocar (alguns centros de torneamento não possuem este ciclo)
Furação profunda com furação profunda (alguns centros de torneamento não possuem este ciclo)
Knurling
Se você já se viu desejando que os ciclos fixos de seu controle funcionassem de maneira diferente,
você tem um aplicativo de ciclo fixo criado pelo usuário para Macro personalizada.
Além de modificar o método pelo qual seus ciclos fixos atuais funcionam, você pode criar seus
próprios ciclos fixos com a macro personalizada. A maioria dos centros de usinagem, por exemplo,
não possui um ciclo fixo para fresamento de roscas. Se você executa fresamento de rosca
regularmente e se sua máquina não possui um ciclo de fresamento de rosca, você provavelmente
está escrevendo muitos comandos tediosos, redundantes e propensos a erros. Com a macro
personalizada, você pode criar seu próprio ciclo fixo de fresamento de rosca.
De maneira similar, a maioria dos controles do centro de torneamento não inclui um ciclo fixo
adequado para usinar ranhuras. Se você tiver ranhuras para o gargalo em muitas peças de trabalho e
se a sua máquina não tiver um ciclo fixo para usinar ranhuras, novamente, você deve escrever
muitos comandos entediantes, redundantes e sujeitos a erros. Com a macro personalizada, você
pode criar seu próprio ciclo de grooving.
Muitas empresas executam operações de usinagem incomuns que são específicas apenas para seus
próprios produtos e processos de fabricação, e nenhum fabricante de controle considerará a criação
de ciclos fixos para operações de usinagem que não são úteis para a maioria de seus usuários.
Relativamente poucos usuários do centro de usinagem, por exemplo, máquinas de rabo de
andorinha. Esta operação de usinagem normalmente requer um número de passos de fresagem
sucessivos com um cortador de encaixe.
Esta categoria de aplicação tende a ser a mais negligenciada. Até mesmo pessoas que se consideram
bem versadas podem não estar cientes dos inúmeros aplicativos utilitários da Macro Personalizada.
Há uma boa razão pela qual os aplicativos de utilitários não são tão conhecidos. A maioria
incorpora recursos relacionados ao CNC menos conhecidos do Custom Macro. E antes que você
possa incorporar qualquer nova técnica, é claro, você deve saber que é possível fazê-lo. Enquanto
discutimos os recursos relacionados ao CNC do Custom Macro durante as lições seis e sete,
queremos pelo menos apresentá-lo a algumas das possibilidades notáveis agora.
Programas de macro personalizados podem executar funções aritméticas básicas como igualdade
(substituição), adição, subtração, multiplicação e divisão, bem como certas funções de nível mais
alto, como seno, cosseno, tangente, raiz quadrada e arredondamento (entre muitas outras). A
aritmética, combinada com a capacidade de executar lógica e looping, dá ao programador Macro
Customizado o poder de criar programas Macro Personalizados capazes de usinar formas
geométricas altamente complexas. De fato, qualquer forma que possa ser definida com um cálculo
aritmético pode ser usinada com um programa Macro Personalizado.
Enquanto programas Macro personalizados para formas padrão como esferas, pirâmides, elipses e
splines podem ser criados com relativa facilidade, a dificuldade de escrever programas Macro
personalizados para aplicações nesta categoria está diretamente relacionada à complexidade da peça
a ser usinada. Quando se trata disso, geralmente é mais fácil utilizar um sistema de fabricação
assistida por computador (CAM) para trabalhos complexos. No entanto, você deve saber que a
programação Custom Macro para formas complexas (quando viável) tem duas vantagens sobre os
sistemas CAM mais sofisticados.
Primeiro, os programas de código G para formas complexas que são geradas por sistemas CAM
tendem a ser muito longos. Não é incomum que um programa que simplesmente maquine uma
forma esférica inclua centenas (se não milhares) de comandos. O programa Macro de usinagem de
esferas comparável (mostrado na lição oito) consistirá em cerca de cinquenta comandos.
Nenhum sistema de manufatura assistido por computador que conheçamos torna simples para o
usuário inserir os valores necessários para usinar a came circular como este exemplo de comando
usando a atribuição de argumento número dois da Macro Personalizada. (O programa Macro
Personalizado para este aplicativo é mostrado na lição sete.)
N010 G65 P1002 A1,75 B-0,5 C0,1 I12,0 J1,75 I35,0 J1,625 I175,0 J1,1 I25,0 J1,75 I114,0 J1,75
Esses são recursos semelhantes aos encontrados nas linguagens de programação de computadores.
Variáveis
Se você tem experiência com programação de computadores, você sabe quais são as variáveis. O
uso e a aplicação de variáveis na macro personalizada são praticamente os mesmos de qualquer
linguagem de programação. No entanto, pessoas que não têm experiência em programação de
computadores podem achar difícil entender o conceito de variáveis. Por essa razão, começamos
com duas analogias simples para ajudá-lo a entender as variáveis.
Argumentos
Os argumentos especificam dados de entrada (valores que podem ser alterados a partir de uma vez
que o programa Macro Customizado é usado no próximo). Eles dizem ao programa Macro
Personalizado como se comportar agora - ou desta vez. Eles são especialmente úteis em
aplicativos de ciclo fixo de família parcial e criados pelo usuário. Na verdade, existem duas
maneiras de usar argumentos na macro personalizada com base em qual dessas duas categorias de
aplicativo está sendo desenvolvida.
Variáveis locais
Variáveis locais têm dois propósitos. O objetivo principal das variáveis locais é representar
argumentos de endereço de carta especificados em um comando G65. O propósito secundário é
para uso em cálculos de propósito geral (assim como variáveis comuns que são descritas um
pouco mais tarde).
Como você sabe agora, quando um programa Macro Personalizado é chamado com um comando
G65, os argumentos assumem a forma de endereços de letras. E novamente, os argumentos de
endereço de letra permitidos com a atribuição de argumentos número um incluem:
A, B, C, D, E, F, H, I, J, K, M, Q, R, S, T, U, V, W, X, Y e Z
Embora possa ser um pouco confuso, você não tem permissão para referenciar diretamente um
argumento dentro do programa Macro Personalizado com seu endereço de carta. Se você tentar
fazer isso, a máquina confundirá o nome do argumento (A, B, C, X, Y, Z, etc.) com o significado
real do CNC para o endereço da carta.
Por esse motivo, você deve referenciar argumentos no programa Macro Customizado por suas
variáveis locais correspondentes. Como todos os tipos de variáveis na macro personalizada
(exceto argumentos de endereço de carta), as variáveis locais começam com um sinal de libra e
são especificadas com um número. A tabela a seguir mostra a lista contendo todos os argumentos
de endereço de carta permitidos e seus números de variáveis locais correspondentes. Esta é a
forma mais popular de atribuição de argumentos, chamada atribuição de argumento número um.
Local
Letter Variable I #4 U #21
A #1 J #5 V #22
B #2 K #6 W #23
C #3 M #13 X #24
D #7 Q #17 Y #25
E #8 R #18 Z #26
F #9 S #19
H #11 T #20
Quando um comando G65 é executado, duas coisas acontecerão. Primeiro, todas as variáveis
locais que possuem argumentos de endereço de letra correspondentes no comando G65 serão
configuradas. Em segundo lugar, a macro personalizada especificada pela palavra P será
executada. Durante a execução da Macro Personalizada, as variáveis locais conterão os valores
dos argumentos especificados no comando G65. Dentro da Macro Personalizada, as variáveis
locais devem ser usadas sempre que você precisar referenciar valores de argumentos
especificados no comando de chamada G65.
N025 G65 P1000 X0. Y0 Z0 W5.0 H3.0 T0.5 D1.0 F5.0 (lado direito do moinho)
Variáveis comuns
Como o nome indica, variáveis comuns permanecem ativas mesmo após a execução do
programa Macro Customizado. A maioria dos CNCs da FANUC está configurada para reter os
valores das variáveis comuns (novamente, na série # 100) até que a energia para a máquina seja
desligada, momento em que eles são reduzidos para a posição vaga.
Essas variáveis variam na série # 500. Os CNCs da FANUC terão pelo menos dez variáveis
comuns permanentes (de # 500 a # 509). A maioria tem muito mais, possivelmente variando de
# 500 a # 999. Como o nome indica, essas variáveis são mantidas mesmo depois que a energia
é desligada. Nesse sentido, eles são muito parecidos com compensações de ferramentas. E,
como os deslocamentos de ferramentas, a maioria dos CNCs permite modificar os valores das
variáveis comuns permanentes através do teclado do painel MDI e da tela de exibição.
Como alguns CNCs têm tão poucas variáveis comuns permanentes (novamente, apenas dez),
não se esqueça de reservar seu uso para esses aplicativos quando for necessário reter dados do
dia a dia. Um exemplo é um utilitário com programa Macro Customizado para contagem de
peças. Digamos que você queira configurar um contador de peças. A máquina irá executar 750
peças e depois parar a máquina (esta aplicação é mostrada na lição seis). À medida que você
começa a executar a produção, o contador de peças com base na macro personalizada começa a
contar as peças de trabalho.
Não é muito provável que você termine todas as 750 peças antes do final do dia / turno. É mais
provável que demore vários dias para concluir a execução da produção. Neste caso, você
precisará de seu programa Macro de contagem de peças para lembrar de onde parou de dia para
dia (depois que a energia é ligada novamente). Se você armazenar a contagem de peças atual
em uma variável comum permanente da série # 500, o valor da contagem de peças não será
perdido quando a energia for desligada.
Variáveis do sistema
Muitos dos recursos relacionados ao CNC da Custom Macro são acessados com as variáveis do
sistema. Essas variáveis variam de # 1000 a cerca de # 12000. Muitos também podem ser
referenciados por nomes mais fáceis de lembrar do que os números de variáveis do sistema
(como [#_DATE] em vez de # 3011).
As variáveis do sistema permitem acessar muitas funções do CNC, incluindo a posição atual do
eixo, valores atuais de compensações, geração de alarmes e muito mais.
Aritmética
Tudo o que pode ser feito em uma calculadora científica pode ser feito em um programa Macro
Personalizado.
Funções básicas
Funções avançadas
Como dito, a maioria das versões de programação paramétrica permite muito mais que simples
igualdade, adição, subtração, multiplicação e divisão. Aqui apresentamos as funções
suportadas pela macro personalizada.
Funções trigonometria
A Macro Personalizada fornece funções de trigonometria suficientes para lidar até mesmo com
os problemas mais complexos de trigonometria de ângulo direito. A tabela a seguir mostra as
funções de trigonometria da macro personalizada, incluindo seus nomes, sintaxe, um exemplo
simples e a resposta:
Function Syntax Example Value of #100
Raiz quadrada
Como o nome indica, essa função (especificada com a palavra de macro personalizada SQRT)
retorna a raiz quadrada do valor ou da expressão especificada. Considere este exemplo:
# 100 = 5.0 (lado curto do triângulo)
# 101 = 8.0 (lado comprido do triângulo)
# 102 = SQRT [[# 100 * # 100] + [# 101 * # 101]] (Hipotenusa do triângulo)
Todas as funções de nível superior (incluindo raiz quadrada) permitem que expressões
aritméticas sejam executadas internamente aos parênteses da função. Nesse caso, tudo entre
colchetes será calculado antes da função de raiz quadrada. Você pode reconhecer este exemplo
como o Teorema de Pitágoras (calculando o comprimento da hipotenusa de um triângulo
aplicando a raiz quadrada ao lado adjacente ao quadrado mais o lado oposto ao quadrado).
Valor absoluto
Essa função, especificada com ABS, retorna o valor de magnitude (sem polaridade) de qualquer
valor ou expressão especificado entre seus colchetes. Embora possa não ser o uso mais
apropriado, a função absoluta tem o efeito de garantir que um valor não seja negativo.
Potência
Essa função fornece a capacidade de multiplicar um número vezes ele mesmo um número
especificado de vezes.
Aqui está a sintaxe.
# 100 = POW [4.0,2.0]
Logaritmo natural e expoente usando base e (2.718…)
Apesar de não fornecermos nenhum aplicativo (francamente porque não consigo pensar em
nenhum) para logaritmos e expoentes usando a base e na macro personalizada), é possível usá-
los em programas de macro personalizados. Mais uma vez, com a sua situação e criatividade,
você pode encontrar aplicações adequadas. Portanto, você deve pelo menos saber que é possível
incorporar logaritmos e expoentes naturais em seus programas Macro personalizados.
A sintaxe do logaritmo natural é a seguinte:
# 100 = LN [3.0]
Conversões decimais codificadas binárias e binárias
Nós não fornecemos nenhuma aplicação para estas funções, mas elas estão disponíveis caso você
encontre uma necessidade. A função BIN converte um valor decimal codificado binário em
formato binário. A função BCD converte um valor binário (composto de oito dígitos de zeros e
uns) em formato decimal codificado em binário.
Lendo valores de parâmetros
Esse é um recurso relativamente novo na macro personalizada e não está disponível em todas as
versões anteriores (como a macro B personalizada). Consideramos a capacidade de ler valores de
parâmetros dentro de programas Macro personalizados para ser um recurso relacionado ao CNC
da macro personalizada. No entanto, o FANUC inclui esta função na lista de funções aritméticas,
pelo que incluímos aqui uma breve introdução. Tenha certeza de que mais informações serão
fornecidas quando abordarmos os recursos relacionados ao CNC da Macro Personalizada na
lição seis.
Prioridade das operações aritméticas
Como dito anteriormente, você deve entender a ordem pela qual as operações aritméticas são
realizadas para desenvolver expressões que combinem operações aritméticas. A macro
personalizada segue a mesma prioridade que qualquer linguagem de programação de
computador. Agora que mostramos todas as funções aritméticas, podemos mostrar a prioridade
completa das operações aritméticas da mais alta prioridade para a mais baixa.
Embora não tenha qualquer relação com o resultado da expressão, o controle sempre
funcionará através da expressão em um determinado nível (1-4) da esquerda para a direita. Se
estiver executando no nível três (multiplicação e divisão), por exemplo, ele executará a
multiplicação da esquerda para a direita na expressão. Em seguida, ele executará a divisão da
esquerda para a direita.
Como dito anteriormente, se você estiver em dúvida sobre a ordem de execução da operação,
poderá sempre usar colchetes para forçar a ordem de execução necessária. Lembre-se que
quando você fizer isso, no entanto, você estará desperdiçando níveis de ninho se "forçar" a
máquina a realizar o cálculo na mesma ordem que teria feito.
Controle de fluxo de lógica e programa
O fluxo geral (ordem de execução) para um programa normal de nível de código G do CNC é
do início ao fim. Quando um programa é ativado, o controle irá ler, interpretar e executar o
primeiro comando do seu programa. Em seguida, ele prosseguirá para o segundo comando.
Leia, interprete e execute. Então, ele passará para o terceiro comando, depois para o próximo
e depois para o seguinte. É por essa ordem seqüencial que os programas CNC são
normalmente executados.
Rótulos de declaração
O FANUC utiliza números de sequência (N palavras) como rótulos de instruções. Este texto
mostra um número de seqüência em quase todos os comandos da maioria dos programas
para fins de documentação. No entanto, recomendamos em seus próprios programas de
macros personalizados, que você inclua somente números de sequência quando eles forem
necessários como rótulos de instrução. Isso fará com que eles se destaquem. Será mais fácil
encontrar um rótulo de declaração sendo referenciado. Também reduzirá o comprimento dos
seus programas Macro Customizados, conservando alguma memória do CNC.
Para simplificar ainda mais o uso do rótulo de declaração quando forem necessários, use um
pequeno número de sequência (como N1, N2, N3, etc.) próximo ao início do programa de
macro Personalizado. Use números de sequência em torno de cinquenta no meio do
programa. Use números de sequência perto de 99 perto do final do programa. E, se possível,
mantenha os números de sequência em ordem crescente. Dessa forma, quando você precisar
encontrar um determinado rótulo de instrução em um programa de macros personalizado,
você saberá onde procurar.
Ramificação Incondicional
Como o nome indica, o comando Macro de ramificação incondicional fará com que a
máquina se ramifique (salte) de um local no programa para outro local no mesmo programa.
O local para o qual a ramificação é feita deve ser marcado com um rótulo de instrução
(número de sequência). Você especifica uma instrução de ramificação incondicional em
Macro personalizada com uma instrução GOTO. Aqui está a sintaxe da declaração GOTO:
Ramificação condicional
Os propósitos dos testes são extremamente variados e não podemos enfatizar demais a
importância da ramificação condicional para fins de teste. Você pode testar praticamente
qualquer coisa dentro do seu programa Macro Personalizado. E com base nos resultados do
seu teste, você pode fazer o programa executar de forma diferente. Esse recurso tem
implicações fantásticas, quase ilimitadas.
Por outro lado, versões mais antigas da Macro Personalizada (como a Macro Personalizada
B) não suportam todas as variações que mostramos. Você pode estar limitado ao formato
mais básico (universal) para instruções IF. Tenha certeza de que, embora seja mais difícil
criar as instruções necessárias de ramificação condicional (IF) com apenas a instrução IF
mais universal, todos os aplicativos de ramificação condicional podem ser manipulados.
A expressão condicional
condicionais permitem grande flexibilidade no método pelo qual você desenvolve comandos
de ramificação condicional. Na maioria dos casos, o mesmo teste pode ser escrito de várias
maneiras (até seis maneiras, correspondendo ao número de operadores lógicos disponíveis).
Embora essa flexibilidade seja boa, às vezes pode ser confuso, especialmente quando você
está testando com o operador condicional diferente de (NE). Lembre-se sempre de que o
teste dentro da instrução de ramificação condicional é determinar se a expressão condicional
é verdadeira ou falsa. Ao testar contra uma condição negativa, é fácil cometer erros de
avaliação.
Modelos de controle FANUC mais recentes permitem muito mais flexibilidade com
ramificações condicionais do que modelos mais antigos. Você deve consultar seu manual da
FANUC para determinar se recursos mais novos estão disponíveis. Você pode ter certeza de
que todos os controles FANUC permitem este formato de comando de ramificação
condicional universal.
Se, é claro, o ferramental direito estiver sendo usado, o fuso deve estar em uma direção para
frente (M03). Se o ferramental esquerdo estiver sendo usado, o fuso deve estar girando em
uma direção reversa (M04). Aqui está uma parte do programa Macro Personalizado que
realiza o teste apropriado e inicia o fuso na direção correta. O endereço de letra H é
representado pela variável local nº 11 no programa Macro Personalizado. Estude estes
comandos que serão incluídos no programa Macro Personalizado quando o fuso for
iniciado:.
IF [#11 EQ 1.0] GOTO 5
M04
GOTO 6
N5 M03
N6 . . .
Observe que os colchetes ([]) devem ser usados para delimitar a expressão condicional. Essa
instrução de ramificação condicional específica usa o operador lógico igual a (EQ), o que facilita
bastante a avaliação dos resultados do teste (verdadeiro ou falso). Se uma pessoa que usa essa
macro personalizada incluir H1.0 na instrução de chamada para a macro personalizada (o
comando G65), a máquina avaliará a declaração de ramificação condicional como verdadeira.
Nesse caso, a instrução GOTO à direita da instrução IF será executada. No N5, o M03 iniciará o
fuso na direção para frente (conforme necessário para ferramentas direitas).
Por outro lado, se a pessoa que usa esse programa Macro personalizado definir o valor de H
como zero (ou qualquer coisa diferente de um), a expressão condicional da instrução IF será
avaliada como falsa. Agora o comando seguindo a instrução IF será executado, iniciando o fuso
na direção reversa (como é requerido para ferramentas do lado esquerdo).
As variáveis do sistema permitem que você acesse várias funções da máquina diretamente do
programa Macro Personalizado. Deslocamentos, posição do eixo, geração de alarme e estados
atuais da máquina estão entre as muitas funções acessíveis da máquina.
Você provavelmente já sabe que a maioria dos controles oferece a capacidade de gravar nos
registros de compensação da ferramenta usando o código G padrão. G10 é usado para este
propósito. No entanto, não existe uma função CNC padrão (sem macro personalizada) que
permita ler o valor armazenado em um registrador de correção de ferramenta e usá-lo dentro do
programa CNC. Essa capacidade de ler valores de registro de deslocamento tem algumas
implicações bastante importantes. Mas antes de mostrarmos os aplicativos, primeiro
mostraremos as variáveis do sistema relacionadas e sua sintaxe.
GEOM GEOM WEAR WEAR GEOM GEOM WEAR WEAR
(H) (H) (H) (H) (D) (D) (D) (D)
Numbe Numbe Numbe
No. r Name Number Name r Name r Name
System variable numbering/naming for a 0iD control when there are four registers per offset and
200 total offsets. (Tool Compensation Memory Type C - 200 offsets)
4) Posição absoluta após o salto de sinal do G31 (usado com sensores de toque), com compensação
Mostramos as variáveis do sistema relacionadas e sua sintaxe antes de mostrar as implicações de
quando o acesso à posição pode ser útil.
Ao contrário das variáveis do sistema relacionadas ao acesso de deslocamento que fornecem acesso
de leitura e gravação, a variável de sistema relacionada à posição fornece apenas recursos de leitura.
Você não pode escrever para eles.
Posição absoluta atual não modificada pela compensação inserida # 5001 ou [#_ABSIO [1]] -
posição do eixo X no sistema de coordenadas atual
# 5002 ou [#_ABSIO [2]] - posição do eixo Y no sistema de coordenadas atual # 5003 ou [#_ABSIO
[3]] - posição do eixo Z no sistema de coordenadas atual
Posição absoluta atual modificada pela compensação instalada # 5041 ou [#_ABSOT [1]] - posição
do eixo X no sistema de coordenadas atual
# 5021 ou [#_ABSMT [1]] - posição X relativa à posição de referência (retorno zero) da máquina #
5022 ou [#_ABSMT [2]] - posição Y em relação à posição de referência (retorno zero) da máquina #
5023 ou [ #_ABSMT [3]] - posição Z relativa à posição de referência (retorno zero) da máquina
Pular a posição do sinal após o contato da sonda de toque (posição absoluta):
# 5061 ou [#_ABSKP [1]] - posição X no sistema de coordenadas atual no instante do contato da
ponta da sonda
# 5062 ou [#_ABSKP [2]] - posição Y no sistema de coordenadas atual no instante do contato da
ponta da sonda.
# 5063 ou [#_ABSKP [3]] - posição Z no sistema de coordenadas atual no momento do contato
da ponta de prova
Geração de alarmes
1) # 3000
2) [#_ALM]
Se o controle executar um comando # 3000 (ou [#_ALM]), um alarme será emitido. Como
qualquer alarme de armazenamento de programa (PS), o alarme gerado pela variável de
sistema de geração de alarme colocará a máquina em um verdadeiro estado de alarme. Você
deve pressionar o botão RESET para apagar o alarme. Aqui está a sintaxe da variável do
sistema gerador de alarmes mostrada com o número e o nome:
# 3000 = 100 (ARGUMENTO AUSENTE NA CHAMADA)
ou
Novamente, se o controle executar um desses comandos, ele gerará um alarme. O valor que
(100) é um número de alarme (de sua escolha) e pode variar de 0 a 200 (alguns modelos de
controle da FANUC permitem que outros números de alarme sejam especificados). A
mensagem entre parênteses (todas em maiúsculas) é a mensagem de documentação de
alarme. Deve ter 60 caracteres e números ou menos. Se este comando for executado, o
display mudará para a página de alarme e esta mensagem de alarme aparecerá na tela de
controle:
Com um entendimento da variável do sistema de geração de alarmes, vamos ver mais alguns
exemplos de geração de alarmes (não relacionados à interceptação de erros). Em seguida,
mostraremos como minimizar o tempo de execução do programa necessário para o trapping
de erros.
1) # 3006
2) [#_MSGSTP]
Se o controle executar um comando # 3006 (ou [#_MSGSTP]), ele colocará a máquina no estado de
parada de programa. Você pode reativar o ciclo pressionando o botão CYCLE START, continuando
do ponto de parada com o comando message.
Aqui está a sintaxe da variável do sistema de geração de alarmes mostrada com o número e o nome.
Observe como é semelhante à variável do sistema de geração de alarmes:
ou
A variável de sistema # 3003 ou [# _CNTL1] permite que você assuma o controle de duas funções
importantes da máquina, bloco único e se os códigos M são esperados ou não. Se # 3003 ou [#
_CNTL1] estiver definido como 0 (o estado inicializado), o bloco único não será suprimido e a
máquina aguardará que as funções auxiliares (códigos M) sejam concluídas antes de passar para o
próximo comando.
Se # 3003 ou [# _CNTL1] estiver definido como 1, o bloco único será suprimido e o controle
aguardará a conclusão dos códigos M para continuar com o programa. Se # 3003 ou [# _CNTL1]
estiver definido como 2, o bloco único não será suprimido e o controle não aguardará a conclusão
das funções auxiliares. Se definido como 3, o bloco único será suprimido e os códigos M serão
aguardados.
Versões mais recentes da Macro Personalizada também permitem controlar essas funções
separadamente. [#_M_SBK] controla o bloco único. Bloco único pode ser suprimido, definindo esta
variável do sistema para um (zero para não suprimido).
[#_M_FIN] controla se os códigos M são ou não esperados (definido como zero para aguardado, um
para não aguardado).
O relógio e os horários estão sempre funcionando. Se você for cronometrar um evento com um dos
timers, você deve primeiro resetar o timer (para zero). Aqui estão os comandos que redefinem o
timer de milissegundos:
ou
ou
O valor contido em cada variável de sistema relacionada ao código G é o número do código G para
o código G instalado. Para o grupo número um, por exemplo, se o modo de interpolação linear
(G01) estiver atualmente instalado, o valor de # 4001 ou [#_BUFG [1]] será 1 (o valor numérico de
G01)
Aqui estão algumas sugestões específicas para melhorar a produtividade do CNC com programação
paramétrica.
A simples incorporação de aplicativos de ciclo fixo criados por famílias e aplicativos criados pelo
usuário economizará a verificação do programa e otimizará o tempo. Como esses programas
funcionam como ciclos fixos (e quando foi a última vez que você questionou se um ciclo fixo interno
"funcionava" ou não [como G81 para perfuração]), uma vez verificado, você pode ter certeza de que
seus programas paramétricos funcionar corretamente.
Existe pelo menos um tipo de centro de torneamento que não é apropriado para a usinagem
experimental. Por sua própria natureza, os cabeçotes deslizantes - também chamados de centros de
torneamento do tipo suíço - quase nunca permitem que as ferramentas de corte refixem novamente a
peça de trabalho. Além disso, muitas dessas máquinas (pelo menos as que eu vi) exigem técnicas
relativamente cruas para atribuir o programa zero, o que significa que cada ferramenta de corte
quase certamente será desativada por alguns milésimos de polegada após a configuração inicial.
Tradicionalmente, o organizador deve executar toda a peça de trabalho (pelo menos a operação
inteira para um dos fusos) antes de poder começar a medir para determinar quais ajustes devem ser
feitos. Para trabalhos que têm mais do que algumas ferramentas, isso pode ser extremamente difícil
e muito confuso (por exemplo, quando um buraco entediado não está indo fundo o suficiente, você
vai mais fundo com a barra de mandrilar ou move a ferramenta de frente?) . O que uma pessoa de
setup faz com um ajuste certamente afetará outros atributos da peça de trabalho. Não é incomum
que até mesmo uma pessoa experiente em configuração execute várias peças de trabalho antes de
acertar. Os novatos podem levar horas fazendo isso.
Embora possa não ser possível a máquina de teste, é possível executar uma peça de teste. A peça de
teste pode ser muito simples, tornando óbvia a ferramenta que usinou uma determinada superfície.
As medições serão feitas com ferramentas de medição padrão. E, se técnicas de macro
personalizadas forem usadas, a preparação para executar a peça de teste não levará mais de um
minuto. Embora eu não mostre o aplicativo inteiro neste pequeno artigo, mostrarei o suficiente para
você entender a ideia. Se você já teve alguma experiência com a macro B personalizada, será
possível levá-la de lá.
O desenho mostra as peças de teste - pelo menos como será no nosso exemplo.
Embora tenhamos mostrado uma peça de trabalho dimensionada, todas as dimensões podem
mudar de trabalho para trabalho. Por isso, precisamos de uma maneira fácil de especificar os
tamanhos relacionados. Além disso, estamos configurando cinco ferramentas de corte
(ferramenta de frente, ferramenta de torneamento, furadeira, barra de mandrilar e ferramenta de
corte), mas pode haver ocasiões em que ferramentas internas não são necessárias no trabalho.
Por outro lado, pode haver momentos em que são necessárias ferramentas adicionais (como
ferramentas de canal, ferramentas de segmentação e todos os tipos de ferramentas ativas). Com
um programa principal relativamente simples, você pode definir facilmente a peça de teste e as
operações que deseja executar. Aqui está um exemplo:
Observe que serão necessários dois programas de macro personalizados, O6000 (a macro
customizada de definição de peça) e O6001 (a macro customizada de operações de corte).
Aqui está o que as variáveis significam em cada uma delas:
O6000 variáveis:
O programa O0001 (o programa principal) será modificado para cada trabalho. Na linha N1, a
peça está sendo definida como 0,5 pol de diâmetro (diâmetro de estoque) e 0,75 de
comprimento.
Na linha N2, a operação de face está sendo feita. Observe o número do código para o tipo de
ferramenta. O tipo 1 (no nosso exemplo) é uma ferramenta de face. A palavra S especifica que
está na estação um. Não são necessárias variáveis adicionais, uma vez que o comando anterior
especifica o diâmetro do material e esta ferramenta estará sempre voltada para Z0 e para o
centro da peça de trabalho.
Na linha N3, o giro está sendo feito. Variáveis adicionais incluem D para o diâmetro para virar
(0,48 no nosso caso) e Z para o comprimento do diâmetro que virou (0,25 no nosso caso).
Na linha N4, a perfuração está sendo feita. O Z neste comando é a profundidade na qual perfurar
(não incluindo o ponto de perfuração).
A linha N5 faz o chato - com as mesmas variáveis usadas para virar (D e Z).
Finalmente, a linha N6 faz o corte. D especifica o diâmetro para o qual a ferramenta de corte irá.
Embora não mostremos os programas O6000 e O6001, você deve ser capaz de ver com que
rapidez e facilidade uma pessoa de configuração pode modificar o programa O0001 para torná-
lo pronto para usinar qualquer peça de teste de tamanho. Quando esta peça de trabalho estiver
concluída, eles medirão os vários atributos e ajustarão todos os deslocamentos de acordo. E se a
peça de teste for usinada perfeitamente, a peça de trabalho real que usa essas ferramentas
também será.
Um último ponto. Nós mostramos apenas a peça de trabalho como ela foi usinada no fuso
principal. Se a máquina tiver um sub-fuso (como faz a maioria dos centros de torneamento do
tipo suíço), técnicas similares podem ser usadas após a peça de trabalho real ter sido usinada no
fuso principal.
Como é quase sempre necessário executar uma peça de trabalho inteira antes que a pessoa
responsável pela configuração possa começar a fazer medições e fazer ajustes de
dimensionamento, pode ser muito difícil descobrir o que deve ser feito com os deslocamentos
para obter os atributos da peça. Este problema é ainda agravado pelo grande número de
ferramentas de corte que podem ser usadas em máquinas do tipo suíço. Pode ser difícil
determinar, por exemplo, se uma ferramenta está usinando muito fundo ou outra está usinando
muito superficialmente.
Essa complexidade geralmente resulta na necessidade de executar várias peças de trabalho para
obter uma que passe na inspeção. Isso pode ser muito frustrante, demorado e desperdício. Os
custos de material podem não ser substanciais (a menos que você execute materiais exóticos),
mas o tempo imprevisível necessário para obter uma peça para passar na inspeção pode ser
devastador, especialmente quando você considera incluir o tempo necessário para inspecionar
cada peça antes que os ajustes sejam feitos. fez.
Minha sugestão foi desenvolver um programa universal de peças de teste que será usado durante
todas as configurações em todas as ferramentas de corte. A premissa é que, se uma ferramenta
de corte estiver usinando um atributo corretamente na peça de teste, ela também usinará os
atributos reais da peça corretamente. Isso, combinado com a ideia de que cada ferramenta de
corte irá usinar superfícies independentes na peça de teste que sejam fáceis de medir, faz com
que o programa de peças de teste seja fácil de usar.
Francamente falando, esta ideia foi recebida com críticas mistas. Muitos programadores não
querem dedicar tempo para desenvolver o programa de peças de teste. E muitas pessoas criam
que é tão difícil fazer um bom teste como é fazer uma boa peça de trabalho. Embora eu ainda
afirme que o programa de peças de teste irá simplificar e acelerar o processo de execução da
primeira boa peça de trabalho, não é de nenhum valor se ninguém quiser.
Você ainda tem que lidar com os problemas de frustração, perda de tempo, material
desperdiçado e tempos de configuração imprevisíveis. Se as pessoas da sua instalação estão
usinando inúmeras "peças de trabalho práticas" (ouvi um gerente dizer baldes delas) antes de
fazer uma passar pela inspeção, peço que repensem seus métodos atuais.
Aqui está um exemplo. Para muitas pessoas de instalação, um tipo problemático de ferramenta é
uma fresa de topo montada paralelamente ao eixo X. Este tipo de ferramenta deve
frequentemente ser usinado no eixo Y. Com muitas máquinas, pode ser difícil centralizar
perfeitamente a fresadora de topo ao longo do eixo Y durante a configuração.
O programa de macro personalizado de corte de teste incluirá comandos para usinar dois
conjuntos de superfícies fresadas
Aqui estão os programas relacionados. Observe que só mostro movimentos. Algumas funções
da máquina, como o modo de ferramentas ao vivo e as seleções do modo do fuso principal,
são omitidas.
O programa principal começa com algumas notas para apontar a pessoa de configuração para
o lugar certo no programa. A parte do moinho de extremidade cruzada do programa começa
na linha N005. Isso permitirá que você use apenas um programa para todas as operações de
corte de teste. Na linha N005, existem algumas variáveis para a pessoa de configuração
especificar. O programa é então executado a partir da linha N005 (no nosso exemplo). Um
M30 termina cada conjunto de cortes de teste.
O programa também usa sua ferramenta de frente e ferramentas de corte. Essas ferramentas
são normalmente mantidas na máquina de forma permanente, portanto, não há necessidade de
mais nada para configurá-las. Cada segmento do programa irá enfrentar a peça, realizar os
cortes de teste e, em seguida, cortar a peça (cerca de uma polegada de comprimento).
O0001 (CORTE DE TESTE)
Assim como podemos acessar a posição da máquina com o objetivo de medir os comprimentos
da ferramenta, também podemos fazer isso com a finalidade de medir a localização do ponto
zero do programa. Para aplicações de centro de usinagem, nada é melhor do que uma ponta de
prova de toque do eixo para essa função. No entanto, se você não tiver uma sonda de fuso
equipada em sua máquina, essas funções da macro personalizada permitem que você use um
localizador de borda de tipo de condutividade padrão (que é mais fácil de usar do que um
localizador de borda tipo wiggler) para lidar com praticamente qualquer aplicação de sonda de
toque do eixo. Por localizador de borda tipo condutividade, queremos dizer um localizador de
borda que incorpora uma luz que ilumine o instante em que entra em contato com uma
superfície metálica.
A única limitação é que a tarefa de tocar o localizador de borda em cada superfície deve ser
executada manualmente. Isso permite que você desenvolva uma série de programas utilitários
de macro personalizados muito úteis para facilitar a medição do zero do programa com base em
suas próprias especificações específicas de ponto zero do programa. Mais uma vez, tudo o que
pode ser feito com um apalpador por contato com o fuso pode ser feito com um localizador de
borda. Entender como programar um localizador de aresta dessa maneira é uma ótima maneira
de começar a aprender como programar um apalpador de toque de fuso. Incorpora muitas das
mesmas funções.
Um programa Macro de captura de canto
Este exemplo localizará o canto inferior esquerdo de uma peça retangular nos eixos X e Y.
Também localizará a superfície superior da peça de trabalho no eixo Z. Em seguida, colocará os
valores medidos nos registros de deslocamento do sistema de coordenadas da peça de trabalho.
Usando técnicas semelhantes, você pode desenvolver qualquer rotina de coleta que um sistema
de apalpador verdadeiro seja projetado para fazer (qualquer outro canto, centro de um furo,
saliência ou pino, centro de um slot, etc.). E, novamente, se você entender esse programa, estará
no caminho certo para programar um verdadeiro sensor de toque do eixo.
4: Streamline tool length measurements on machining centers
Para manter nosso exemplo simples de seguir, vamos fazer algumas suposições.
1) Assumimos que você esteja usando o comprimento de cada ferramenta (distância da ponta da
ferramenta ao nariz do fuso) como o valor de correção da compensação do comprimento da
ferramenta.
3) Assumimos que todas as ferramentas que estão sendo medidas serão montadas e carregadas no
magazine de ferramentas da máquina antes de executar este programa Macro personalizado.
4) Assumimos que a pessoa de configuração usa um bloco de três polegadas para tocar cada
ferramenta (possivelmente o lado de três polegadas de um bloco 1-2-3). Este bloco é colocado
diretamente no tampo da mesa antes da medição da ferramenta.
5) Presumimos que as pessoas da sua configuração sempre terão uma série de ferramentas em
estações de ferramentas consecutivas para medir (como da estação de ferramentas um até a
estação de ferramentas dez).
Antes de usar este programa pela primeira vez, a distância do topo da mesa até a ponta do fuso
da máquina na posição de referência do eixo Z da máquina (retorno zero) deve ser medida. Este
valor será colocado na variável comum permanente # 500.
Aqui está o programa Macro Customizado:
Embora você deva ser capaz de seguir a maior parte deste programa de macros personalizados,
ele introduz algumas novas funções. Primeiro de tudo, estamos usando # 500 como uma
constante do sistema (as constantes do sistema são introduzidas na lição dois). Este valor (a
distância do tampo da mesa até o nariz do fuso na posição de referência da máquina) será medida
e inserida apenas uma vez. O CNC reterá o valor de # 500 de dia para dia (é uma variável
comum permanente) e estará disponível sempre que este comprimento de ferramenta que mede o
programa Macro Customizado for usado.
Embora ainda não tenha sido introduzido, a variável de sistema # 3006 é muito semelhante à
variável de sistema de geração de alarme # 3000. No entanto, em vez de colocar a máquina em
um estado de alarme, ela simplesmente coloca a máquina em um estado de parada de programa,
exatamente como M00. Mas, ao contrário de M00, a tela mostrará automaticamente a mensagem
TOUCH TOOL TIP TO BLOCK na tela. Um comando M00 funcionaria tão bem quanto o #
3006, mas o responsável pela configuração deve monitorar a página do programa da tela para ver
a mensagem.
Neste ponto, a pessoa de configuração coloca a máquina em um modo manual (jog, manual,
volante, etc.) e manualmente traz a ponta da ferramenta para a primeira ferramenta para baixo
Quase todas as entradas de offset feitas por seus operadores requerem que algum tipo de cálculo
seja feito antes que o valor de offset possa ser inserido. Por exemplo, digamos que o diâmetro
alvo em uma peça de trabalho que está sendo usinada com uma ferramenta de torneamento é
3,2342 e sua tolerância é mais ou menos 0,002 (limite alto é 3,2352). Após a usinagem com a
ferramenta de torneamento de acabamento, o operador descobre que o diâmetro sendo girado é
3,2351. Embora a peça de trabalho ainda esteja dentro de sua faixa de tolerância, o operador
precisará ajustar o deslocamento para trazer a peça de volta ao seu valor alvo.
Para fazer isso, o operador deve subtrair a dimensão de destino da dimensão real
(3.2351 - 3.2342, neste caso) para chegar com a quantidade de mudança de deslocamento
(0,0009 no nosso caso). Embora nosso exemplo envolva subtração simples, até mesmo cálculos
simples levam tempo, mesmo para operadores experientes e abre a porta para cometer erros. Os
ajustes de compensação dessa natureza, obviamente, são feitos inúmeras vezes (especialmente
em ferramentas de acabamento) durante uma execução de produção.
IMPORTANT! Any time you see your operators using a calculator before they enter
an offset value should be taken as a signal that you can do something to help them
and minimize offset setting time.
Dado o nosso exemplo anterior, o diâmetro alvo a ser girado em um centro de torneamento é de
3,2342 polegadas. Digamos que seja a ferramenta número cinco é a ferramenta de torneamento
que maquina esse diâmetro. Após a usinagem, o operador normalmente ajustará o número de
correção cinco (ferramenta) para introduzir qualquer discrepância (por 0,0009 no nosso exemplo
anterior). Em vez de forçar o operador a calcular a quantidade de desvio (e polaridade), não seria
mais fácil para o operador inserir o diâmetro usinado atual (3.2351 no nosso caso)?
Como funciona
Nossa técnica permitirá que o operador faça exatamente isso, o que elimina a necessidade de um
cálculo antes da entrada de compensação. Mas, em vez de fazer um ajuste no deslocamento de
desgaste número cinco, escolheremos um número de deslocamento secundário no qual inserir o
valor medido. Como a maioria das torres não pode conter mais de doze ferramentas, nós
simplesmente adicionamos vinte ao número da estação de ferramentas para obter o número de
correção secundário. Para a ferramenta número cinco, usaremos o número de offset de desgaste
vinte e cinco.
Se você deseja usar essa técnica para todas as ferramentas que exigem ajustes freqüentes de
deslocamento (geralmente suas ferramentas de torneamento, ferramentas de rosqueamento e
ferramentas de ranhuramento), você terá alguns comandos redundantes no seu programa
principal para executar o teste de deslocamento secundário e cálculos . Para trabalhos de alto
volume, isso pode estar bem. Mas quanto mais programas você precisar executar, mais
inconveniente seria incorporar esses comandos redundantes diretamente no seu programa
principal. Para minimizar o número de comandos necessários, nossa técnica usa um programa
separado (o programa Macro Personalizado) para essa finalidade.
No programa principal, coloque este comando no início das ferramentas para as quais você
deseja simplificar os ajustes de dimensionamento (normalmente apenas as ferramentas de
acabamento). Este comando deve vir antes do comando de indexação da torre.
N050 G65 P8002 T5.0 D3.2342 S3.22 B3.245 (Verifique se o ajuste de compensação é
necessário)
IF [# [2020 + # 20] GT # 19] GOTO 5 (Se o valor de deslocamento for maior que o limite
pequeno, vá para N5)
# 3000 = 100 (DIMENSION OFFSET TOO SMALL)
N5 IF [# [2020 + # 20] LT # 2] GOTO 10 (Se o valor do deslocamento for menor que o limite
grande, vá para N10)
# 3000 = 101 (DIMENSION OFFSET TOO BIG)
N10 # [2000 + # 20] = # [2000 + # 20] + [# 7 - # [2020 + # 20]] (Ajustar deslocamento primário)
# [2020 + # 20] = 0 (Defina o deslocamento secundário de volta para zero)
N99 M99
Essa técnica simplesmente se baseia em seus métodos atuais. Se você deseja inserir offsets da
mesma maneira que você sempre esteve (talvez o pessoal de configuração ou pessoas mais
experientes desejem fazer isso), você pode fazer isso. Essa técnica não interferirá nos seus
métodos atuais. Mas os operadores de nível de entrada provavelmente acharão esse método de
entrada de deslocamento mais fácil, rápido e menos propenso a erros do que os métodos atuais.
6: Centralize rapidamente o eixo Y de um centro de torneamento de ferramentas ao vivo
Cada vez mais tornos CNC têm capacidades de ferramentas ao vivo - especialmente máquinas de
cabeçote móvel. Isso permite que eles executem os mesmos tipos de operações de usinagem
feitas em fresadoras, eliminando a necessidade de operações secundárias. Ferramentas de corte
rotativas, como brocas, machos, alargadores e fresas de topo, podem ser realizadas em pelo
menos duas atitudes: paralelas ao eixo X ou paralelas ao eixo Z. Essas ferramentas de corte
podem realizar operações de usinagem em faces (trabalho do eixo Z) ou em diâmetros (trabalho
do eixo X).
Com algumas máquinas de ferramentas ao vivo, cada ferramenta de corte é fixada nas linhas de
centro do eixo X e Z. Ou seja, a ferramenta não pode se mover na direção perpendicular ao plano
XZ. Estas máquinas só podem realizar usinagem no centro da peça em X.
Uma frustração comum com os tornos do eixo Y é que cada ferramenta de corte requer
calibração durante a configuração. Isso ocorre porque, com muitas máquinas, as estações de
ferramenta de ferramentas ativas não estão perfeitamente alinhadas entre si. Quando o centro de
um deles está no centro do eixo X, os outros não estarão. De fato, muitas máquinas de cabeçote
móvel de fato usam o eixo Y como o “mecanismo de troca de ferramentas”. O eixo Y
simplesmente se move para mudar de uma ferramenta de corte para a próxima.
Eles então alteram a linha N1, inserindo o número da estação de ferramentas da ferramenta a ser
calibrada. Em seguida, eles movimentam a máquina manualmente de modo que o pino fique
aproximadamente centrado na peça de trabalho em Y e aproximadamente 0,2 polegada acima da
peça de trabalho em X.
Em seguida, eles ativarão esse programa. Na linha N3, a atual posição Y é armazenada. # 5003 é
a posição atual no terceiro eixo, que para a maioria dos centros de torneamento é o eixo Y. (Você
deve confirmar isso para a sua máquina antes de usar a macro personalizada.)
O eixo Y se moverá mais na linha N4 para uma posição que irá limpar o diâmetro da peça de
trabalho. Na linha N5, o pino se moverá abaixo do centro em X (U comanda um movimento X
incremental).
Na linha N6, a máquina irá parar e colocar a mensagem “TOUCH X PLUS SIDE” no visor. A
pessoa responsável pela configuração selecionará o modo de volante e, com cuidado, tocará para
fixar a peça de trabalho em X. Quando terminar, eles colocarão a chave de modo de volta ao
modo automático e pressionarão o botão de início de ciclo.
A linha N7 armazena a posição Y atual (enquanto o pino está em contato) e, em seguida, o pino
se moverá e voltará ao centro nas linhas N8 a N10.
O processo é repetido para o lado Y menos nas linhas N11 a N15. Na linha N16, a linha central
verdadeira Y é calculada e o eixo Y se move para essa posição. Na linha N18, a posição atual do
eixo Y em relação à posição de retorno zero do eixo Y é determinada. Finalmente, na linha N19,
este valor (valor de atribuição zero do programa do eixo Y) é colocado no deslocamento de
geometria apropriado.
Este programa pode ser melhorado. Você pode, por exemplo, ser capaz de criar uma maneira de
fazer com que a macro personalizada detecte automaticamente qual ferramenta ativa está em
posição (possivelmente testando a posição Y atual depois que o centro for encontrado). Além
disso, este programa é para peças relativamente pequenas (até cerca de 0,5 polegadas de
diâmetro se for usado um pino de 0,25 de diâmetro). Com algumas modificações, pode ser feito
para trabalhar para tamanhos de peças maiores.
7: Facilitate jaw boring on turning centers
Talvez você perceba que a configuração do centro de giro das pessoas está demorando muito,
sempre que as mandíbulas moles precisam ficar entediadas. Eles estão realizando essa operação
manualmente, usando o volante da máquina. Como você sabe, mandíbulas chatas
completamente manuais podem ser tediosas e demoradas. Com um programa Macro
Personalizado para mandrilamento de mandíbulas, o responsável pela configuração
simplesmente especificará o tamanho das mandíbulas a serem furadas e o mandrilamento do
programa Macro Customizará as mandíbulas. Isso pode até mesmo liberar a pessoa de
configuração para fazer outras coisas enquanto as mandíbulas estão ficando entediadas. A
próxima ilustração mostra o aplicativo, incluindo os argumentos variáveis comuns que
usaremos.
Quando a pessoa que está configurando precisa usar mandíbulas, eles modificam os
argumentos bem documentados que iniciam o programa. Para ser eficiente, deve ser o mais
rápido e fácil possível carregar a barra de mandrilar. Melhor ainda, talvez a barra chata
seja mantida na torre da máquina.
Com o programa modificado e a barra de mandrilar em posição, eles podem ativar o ciclo e
as mandíbulas ficarão entediadas.