Análise e desenvolvimento de software gerenciador de programas CNC em indústria metalúrgica

A partir de 1990 até hoje as máquinas programáveis por comando numérico computadorizado passaram a representar próximo a 100% da manufatura.

Utilizando-se essas máquinas desde antes mesmo de existir softwares de desenhos auxiliados por computador.

Grandes investimentos foram aplicados em modernos equipamentos para ganhar mercado.

Devido ao rápido desenvolvimento da tecnologia CNC, as empresas necessitam de programas sofisticados para melhorar o aproveitamento das máquinas. Com tudo, esses programas devem ser desenvolvidos de acordo com o avanço tecnológico das máquina CNCs. Novas formas de programação estão sendo desenvolvidas e testadas no chão de fábrica.

A programação parametrizada mostrou-se uma ferramenta eficaz para criar ciclos de usinagem a serem implementados como recursos adicionais às funções de programação disponíveis no comando da máquina.

Em uma fábrica de bombas hidráulicas no sul do estado, existe um problema com a fabricação de uma determinada família de peças de carcaças de motores orbitais, trata-se de um processo automatizado por máquinas de controle numérico computadorizado no setor de centro de usinagem.

No processo anterior o tempo de setup, a fabricação e a correção das medidas das peças são muito demorados, pois cada peça possui um programa de-terminado para fabricação da mesma.

Para diminuir esses tempos e os custos de fabricação das peças, optou-se pelo desenvolvimento de um sistema que fará o gerenciamento de todos os programas de cada peça, deixando a máquina mais flexível e fácil de trabalhar, visando também a redução do tempo de setup. 

Fundamentação teórica

Esse capítulo apresenta uma série de tópicos referentes a máquinas ferramentas controladas por comando numérico computadorizado e o funcionamento da programação envolvida para o seu trabalho, com foco em gerenciar vários programas de peças similares.

Também será abordado sobre a preparação das máquinas para fabricar as peças e um pouco sobre motores hidráulicos, que nesse caso será o tipo de peça a ser produzida com o software gerenciador de programas.

Máquinas-ferramenta CNC

A indústria tem procurado trabalhar de forma cada vez mais prática, buscando eficiência e economia no dia-a-dia, principalmente no que se refere à usinagem dos materiais. 

As máquinas-ferramenta CNC foram inventadas para auxiliar as intensas produções exigidas pelo mercado, aumenta cada vez mais a busca por qualidade e agilidade e as máquinas convencionais já não acompanham tamanha produção. Devido a tamanha demanda de mercado, passou-se a desenvolver e aplicar um comando computadorizado nas máquinas convencionais.

Sua aplicação no controle de máquinas-ferramenta permite a realização de tarefas repetitivas e de grande complexidade cinemática.

Com isso passamos a ter diversas aplicações em diferentes tipos de má-quinas, tais como: tornos, fresadoras, retíficas, geradoras de engrenagem e entre outros tipos de máquinas, fazendo até a junção de algumas delas em uma só como representa a figura 1.


Figura 1 – Centro de Torneamento  

Programação CNC

A linguagem de programação CNC chamada de linguagem G é padronizada pelo sistema ISO (International System Organization) para facilitar a identificação em qualquer tipo de máquina.

A linguagem G foi adotada pelo sistema como um padrão a ser usado pelos fabricantes de comandos, com algumas normas rígidas, dando a eles liberdade para a criação de recursos próprios.

O arquivo gerado também chamado de programa CNC pode ser feito tanto na máquina quanto em um computador através de um bloco de notas, possibilitando que o programador desenvolva os programas mesmo longe da máquina ou com a máquina em operação.

O programa CNC é responsável por informar, por meio de uma linguagem própria de programação e de coordenadas do plano cartesiano, a trajetória da ferra-menta e os parâmetros de corte para que a máquina possa executar a usinagem.

Os programas podem ser simples, apenas com os comandos básicos para o funcionamento da máquina e/ou podem ser parametrizados, onde aplica-se estruturas de controle, operadores de comparação e lógicas booleanas para executar determinadas operações com mais rapidez e precisão.

Através do uso de variáveis, principalmente junto com funções de cálculo e estruturas de controle, os programas de peça e os ciclos podem ser compostos de modo extremamente flexível. 

Produção em máquinas CNC

As máquinas CNC entraram no merca-do com o intuito de reduzir o tempo de produção mantendo qualidade e repeti-bilidade nas peças a serem produzidas. Durante a segunda guerra mundial a indústria bélica necessitava de alta produção para enviar armamento ao campo de batalha.

“[...] a Parsons patrocinou estudos e desenvolvimento do controle numérico, e assim planejaram e executaram as adaptações de controle numérico para uma máquina ferramenta convencional [...]” 

Desde então as diversas indústrias que utilizam as máquinas CNC, buscam cada vez mais a redução dos tempos de usinagem, visando lucros em produtividade, qualidade, repetibilidade e praticidade.

Reduzir tais tempos tornou-se, portanto, uma tarefa imposta pelas circunstâncias reinantes em qualquer indústria moderna. 

Setup

Um fator muito importante durante o processo de fabricação é a preparação da máquina para executar o determina-do trabalho. Esse tempo de preparação deve ser planejado e executado com agilidade, pois pode provocar enormes prejuízos anuais.

Assim sendo, processos que envolvam redução de setup e alocação destas ferramentas de forma que possam proporcionar maior lucro se tornam cada vez mais necessários.

Os profissionais que trabalham na área de manufatura, devem sempre buscar e aperfeiçoar os seus conhecimentos para reduzir cada vez mais esse tempo de parada programada.

“Atualmente os paradigmas da manufatura se alteraram significativa-mente. Os lotes de peças são cada vez menores, o tempo de preparação das máquinas tende a zero [...]” [10]

O custo de setup é alto, os lotes produzidos também são altos, que por consequência faz aumentar os estoques.

Estoque de peças é dinheiro parado, então precisa-se otimizar ao máximo cada setup para que o tempo de resposta da produção seja mais rápido, diminuindo assim a necessidade de grandes estoques.

Motores Hidráulicos

O motor é um atuador rotativo, o qual tem por função básica converter energia hidráulica em energia mecânica rotativa. 

Dependendo do modelo, o motor tem maior aplicação em locais onde exigem alto torque e baixa rotação, motores redutores causam maior ruído e menor vida útil. Porém os redutores saem mais em conta que um motor hidráulico, então tudo depende do tipo de aplicação e quais são os recursos disponíveis para o mesmo.

Em essência, um motor hidráulico é simplesmente uma bomba hidráulica trabalhando ao contrário: em vez das peças mecânicas movimentarem o fluido, o fluido de alta pressão é que empurra as peças mecânicas, levando-as a se mover. 

A figura 2 representa um motor de baixa rotação e alto torque.


Figura 2 – Motor Hidráulico Orbital 

Materiais e métodos

Primeiramente foram analisadas as peças e os desenhos de toda a família de carcaças de motores hidráulicos.

São 5 séries diferentes de carcaças e cada uma delas possui 9 tamanhos; essas peças são identificadas através de um código de onze algarismos, onde é definido a série, o modelo de peça, o tamanho e se a peça for diferenciada a pedido de algum cliente ou outro modelo muito similar com poucas alterações.

Com esses parâmetros começam a surgir as primeiras variáveis de gerenciamento, onde cada peça tem a sua programação específica através do código do desenho. 

Os dois primeiros números representarão a série da peça, os próximos três números representarão o modelo da peça, do sexto até o oitavo número será representado o comprimento da peça e por fim os últimos três representarão qualquer pequena alteração no modelo de peça produzida. Os algarismos estão representados na figura 3.


Figura 3 – Código da Peça

Quando é alterado o comprimento de uma peça da mesma série, todas as outras medidas em um plano 2D serão mantidas; dessa forma o desenho segue com uma tabela de tamanhos e o seu respectivo código. Então, quando obtido o desenho para fabricação, do sexto ao oitavo algarismo não haverá código; os mesmos estarão na tabela de acordo com sua respectiva média.

As medidas são definidas de acordo com a necessidade do cliente, que é enviada através de um sistema para o  PCP (Planejamento de Controle de Produção) e o mesmo enviará uma OP (Ordem de Produção) em forma de documento para o líder do setor, que por sua vez se encarregará de passar a sequência de trabalho para o operador. Nessa OP estará o código exato da peça a ser fabricada.

Visto isso, em modo antigo de pro-gramação o operador procura no sistema da máquina o programa desejado e carrega o mesmo na memória para ser executado. 

Esse programa terá todas as medidas específicas da determinada peça solicitada pelo cliente; tendo em vista que são 5 séries e cada uma possui aproximadamente 9 comprimentos diferentes, calcula-se que existam 45 programas das respectivas peças, sendo todos programas com geometrias calculadas e definidas a partir do desenho da peça. Observe o fluxograma a seguir.

O operador tem o trabalho cauteloso de selecionar o programa exato e ter certeza que o mesmo não precisa de nenhuma atualização. 

A possibilidade de erros e o tempo de busca desses programas são muito elevados, isso consequentemente aumenta o custo do produto, então, para solucionar esse problema optou-se por um software que faça o gerenciamento de todos os programas.


Além do programa, também é visto qual o dispositivo de fixação que será utilizado para fabricar a determinada carcaça e quantas peças serão usinadas simultaneamente.

As entradas de dados que são necessárias para que esse gerenciamento aconteça são: código da peça, dispositivo de fixação e a quantidade de peças que serão usinadas simultaneamente. 

A partir disso pode-se desenvolver as lógicas de programação que farão o direcionamento do programa para os seus determinados locais de acordo com a peça selecionada. O fluxograma abaixo demonstra como será o método de trabalho com o gerenciamento.


Nesse tipo de programação o pro-gramador deve visar além das rotinas de usinagem a segurança da máquina.

Se o operador digitar o código errado da peça por algum descuido ou falta de atenção, poderá haver uma colisão entre a ferramenta e a peça, possivelmente danificando vários componentes do equipamento.

Nesse caso uma série de conferências foram adotadas; além do operador ter que digitar o código completo do produto, ele deverá digitar os algarismos separadamente. 

Primeiro os dígitos respectivos a série, em seguida deve informar os algarismos da vasão (tamanho) e por último os últimos três números do código, que são conhecidos como conversão. A figura 4 segue como exemplo dessa aplicação.


Figura 4 – Variáveis de Programação

Visto isso, é possível aplicar um encadeamento de strings onde o sistema compõe uma string através de partes individuais, possibilitando a comparação de um código digitado em diferentes variáveis com um código completo.

Conferência eletromecânica


Figura 5 – Rotina de Comparação

Em algumas máquinas é possível ter conferências de entrada, com por exemplo um apalpador 3D que basicamente é um sensor com um sistema de molas extremamente sensíveis que ao tocar na peça envia um sinal via rádio ou óptico para a máquina, que por sua vez, para imediatamente e salva o valor da coordenada cartesiana.

A partir dessa medida o programa-dor pode criar uma lógica que compara o valor encontrado com o apalpador desde o seu ponto zero, com o valor da peça que será usinada e definir uma tolerância como margem de erro; se o valor estiver fora dessa janela, automaticamente o programa bloqueia os próximos movimentos e o operador será forçado a corrigir o programa, mas, se o valor estiver dentro da janela de erro, a usinagem segue normalmente.

A figura 6 representa o apalpador.


Figura 6 – Apalpador 3D 

Também pode ser feito uma conferência com o tubo de uma caneta esferográfica fixada no cone porta ferramentas, onde a caneta passa por cima da peça a uma determinada distância de afastamento. 

Quando a máquina guardar o cone porta ferramenta com o tubo da caneta um sistema com um sensor eletro mecânico encosta uma agulha na caneta, então, se ainda estiver no cone o programa segue normalmente, mas, se a caneta não estiver e a agulha ultrapassar o seu limite, um alarme será acionado e a máquina automaticamente é bloqueada até que a caneta seja substituída. 

Consequentemente o operador perceberá que o motivo da caneta estar quebrada é o tamanho da peça que não está dentro dos padrões de programação.

Objetivos de programação

O objetivo desse tipo de programação para gerenciar vários programas não volta-se apenas para praticidade e segurança, mas também deve ser voltado para a compactação do programa em geral. 

Máquinas CNC geralmente não tem tanta memória disponível para carregar grandes programas, em programas que abrangem uma quantidade razoável de peças existem várias chamadas de ferra-mentas. 

Os subprogramas de usinagem podem ser utilizados em diversas peças da mesma família, porém, cada peça tem a sua sequência de usinagem.

Tomando como exemplo o programa gerenciador de uma família de carcaças de bombas de engrenagens em método simples de chamadas de ferramentas, que contém mais de 1000 variações de desenhos. 

Originou-se um programa com 872 páginas apenas de chamadas de ferramentas, sem contar os movimentos para usinagem. Isso poderia ser reduzi-do para aproximadamente 280 páginas utilizando uma lógica de programação mais aprimorada e auto ajustável, de acordo com os poucos dados de entrada que o operador irá inserir no início do programa.

Para que esse método de programação seja válido, é necessário utilizar o método vetorial mais conhecido como array. Um array ou vetor unidimensional, é um local reservado na memória que  pode armazenar várias variáveis de um mesmo tipo de forma sequencial e o seu acesso aos dados pode ser realizado por meio de um índice.

Desse modo pode-se criar a sequência de usinagem, sequência de ferramental e entre outras variáveis do processo em poucas linhas. Facilitando a leitura do programa e diminuindo a quantidade exagerada de páginas de programação, tornando um programa muito mais prático para trabalhar e fazer qualquer tipo de alteração no processo.

A figura 7 demonstra como essas variáveis são setadas. 


Figura 7 – Arrays Setados

A partir disso as chamadas de ferra-mentas de todos os programas podem seguir uma única lógica, mais compacta e mais eficiente se tratando de economizar espaço e otimizar movimentos. Para fazer a busca da determinada sequência ou ferramenta, deve-se ter uma variável que faça o trabalho de contagem e ao mesmo tempo faça o trabalho de indica-dor para o array

Nesse caso foi criada a variável com o nome “LIN” para executar o trabalho, a figura 8 demonstra como a chamada de ferramenta é executada.


Figura 8 – Chamada e pré-seleção de ferramentas

A partir dessa numeração foi desenvolvida uma lógica de busca ao número do processo de usinagem, uma variável global serve de referência toda a vez que o programa é inicializado. 

O programa compara o processo de usinagem com o número do processo que está setado na variável busca, desse modo o operador não tem que fazer uma busca de bloco toda vez que resetar o programa e sim apertar apenas o botão de start que o programa se auto ajustará.

Esse e outros métodos são arranjados para contribuir com toda essa redução de programação, mas, o foco principal desse trabalho é reduzir o tempo de setup da máquina, pois o tempo parado resulta na redução da disponibilidade da máquina. Então, para ajudar nesse quesito, optou-se pela unificação das medidas de múltiplas ferramentas que trabalham no mesmo local em uma única variável.

As carcaças de motores hidráulicos orbitais são caracterizadas pela precisão entre os furos que são colocados os pinos de apoio para o lóbulo, que por sua vez proporciona torque ao eixo, transformando energia hidráulica em energia mecânica. 

Os furos são equidistantes em um ângulo de 51,43 graus seguindo um eixo de conexão determinado pelo fabricante. A figura 9 demonstra perfeitamente o eixo de conexão representado com Ø64 mm e o ângulo.


Figura 9 – Representação da carcaça do motor hidráulico

Para alcançar a posição desses furos com precisão e todas as ferramentas atingirem o mesmo ponto dependentemente se a medida da conexão for alterada ou não, é necessário utilizar um pequeno cálculo trigonométrico que é inserido no programa e calculado todas as vezes que for executado.

A medida no eixo “X” é obtida através do raio de conexão multiplicado pelo cosseno do ângulo do furo, já a medida no eixo “Y” obtém-se através do raio de conexão multiplicado pelo seno do ângulo do furo. Sabendo isso aplica-se uma rotina de cálculo e movimentos para cada furo, as medidas citadas anteriormente são substituídas por variáveis onde é aplicada na rotina de programação de cada ferramenta.

Dessa forma pode-se garantir que quando a variável que indica o raio de conexão for alterada, todas ferramentas entrarão na mesma medida. Contribuindo com a praticidade e agilidade para o operador da máquina, facilitando o seu dia a dia e minimizando os erros de cálculos.

A programação está representada na figura 10.


Figura 10 – Coordenada Cartesiana Parametrizada.

Todas essas conferências e cálculos resultaram na redução de quebra de ferramentas, colisão de máquina e peças mortas. Gerando mais lucro em produtividade, performance e disponibilidade.

Resultados 

Após a aplicação das devidas alterações dos programas pode-se perceber a enorme redução do tamanho de programação, deixando os 45 antigos programas com 362 KB para apenas 1 programa de 19 KB reduzindo 95% do tamanho de pro-gramação. Com isso tem-se a vantagem de monitorar menos linhas de programação e alterar mais rapidamente qualquer uma das peças.

Vendo pelo lado operacional em modo antigo de programação, quando o operador tinha a necessidade de fazer uma alteração de medida do diâmetro de conexão dos furos, o mesmo tinha que recorrer a uma calculadora científica ou a um software CAD (Computer-Aided Design), CAM (Computer-Aided Manufac-turing) ou CAE (Computer-Aided Enginee-ring) para calcular os pontos de posicionamento cartesiano e aplicá-los em sub programas das respectivas ferramentas que executarão o devido trabalho.

Tendo em vista que o operador da máquina está fazendo diversas tarefas simultâneas para manter essa máquina e uma máquina ao lado em processo de usinagem, um simples cálculo trigonométrico torna-se muito demorado.

 Somando o tempo de cálculo com o tempo de alteração de 4 sub programas perde-se em média 30 à 35 minutos de ajuste. A figura 11 representa a tabela de custos.


Figura 11 – Tabela de custos

Com as devidas alterações feitas chegou-se a uma redução de 97% do tempo, com uma média de 1 minuto em setup de uma série para outra e menos de 1 minuto para alterações de medidas, já que agora o operador precisa se preocupar com apenas uma variável para todas as ferramentas que trabalham nas mesmas posições.

Supondo que a média de tempo de usinagem de uma única peça é de 10 minutos no modo antigo era possível produzir uma média de 36 peças por turno, com o novo método implantado calcula-se um aumento de 22 à 24 peças por dia, chegando até 480 peças a mais por mês e 5.760 peças a mais por ano, ou seja, se a empresa produz aproximadamente 72 peças por dia em dois turnos, o que resulta em aproximadamente 17.280 peças por ano. 

Recalculando com a quantidade de peças que serão produzidas a mais após a redução de tempo, chega-se aproximadamente em 23,040 peças por ano e estima-se que há um aumento de 33.34% de produtividade disponível anualmente.

Vendo também a quantidade de peças mortas por setup, o operador no método antigo poderia esquecer de alterar o pro-grama de uma vasão para a outra onde quase todas as medidas são iguais, com exceção da altura da peça. 

Assim que aca-bar a execução do programa que poderá ver se houve uma variação de medida ou não, tendo em vista que a máquina está na sua produção máxima de 4 peças por vez e que o tempo de cada uma é de 10 minutos, tem-se um prejuízo de R$93,34 por 40 minutos de usinagem sem contar o valor das peças fundidas que terão que ser refugadas.

Esse erro não é possível no método de programação atual, pois se houver uma única variação de medida, todas as respectivas ferramentas e todas as vasões serão alteradas simultaneamente, reduzindo o número de peças mortas de uma vasão para outra a zero.

As quebras de ferramentas por erros operacionais diminuíram devido a capa-cidade de conferência que o programa tem. 

Em modo antigo de programação, quando o operador tinha a necessidade de resetar a máquina para olhar uma determinada medida e retornar ao trabalho em seguida, em alguns momentos havia o erro de selecionar um processo à frente do que seria o correto, desse modo a ferramenta que entraria em um furo já totalmente desbastado apenas para dar acabamento, acaba usinando material a mais que a sua capacidade e consequentemente quebrando.

No método atual este problema foi eliminado, pois se o operador resetar a máquina e voltar ao trabalho em segui-da, não há mais a necessidade de fazer uma busca no programa e sim apenas apertar o botão start, por sua vez o sistema da máquina sabe exatamente onde parou iniciando a usinagem na ordem correta. Com isso pode-se colocar um operador com menos conhecimento de operação, diminuindo o custo de contratar um profissional mais experiente.

Há também a vantagem de conectar à máquina com um robô e o mesmo fazer os próprios setups na máquina, desde que não tenha a necessidade de troca de dispositivo. Ou seja, o programa já está preparado para receber a indústria 4.0, onde todas as máquinas se comunicam.

Com o robô conectado via PROFIBUS (acrónimo de Process Field Bus) e fazendo um gerenciamento dos programas no mesmo, quando o operador selecionar um programa no comando no robô automaticamente e simultaneamente selecionará o programa respectivo a peça na máquina. Possibilitando também envio e coleta de dados da máquina. 

Se esse tipo de gerenciamento estiver aplicado em todas as máquinas da célula, basta apenas conectar à internet e ter acesso em qualquer lugar do mundo.

Conclusão 

Com as modificações realizadas o pro-cesso ficou muito mais rápido, eficiente e prático de trabalhar, o operador se sente muito mais à vontade na sua rotina diária e consegue executar as operações de acabamento superficial pós usinagem com muito mais calma.

Os custos diminuíram 97% em relação ao processo antigo e tratando de produtividade, houve um aumento de 33,34% disponível anualmente, que soma em 24 peças a mais por dia.

Os líderes do setor ficaram com mais tempo livre devido a redução da necessidade de sua presença na máquina, pois as tarefas que eram mais complexas agora são de fácil acesso. 

Um controle mais preciso de tempo de vida útil de ferramentas ficou mais homogêneo devido a padronização de todos os parâmetros de corte agrupados em um único programa, de forma que todas as peças utilizam condições similares de corte e movimento.

A inserção de novas peças ficou mais prática e rápida para o programador, pois agora é necessário apenas criar uma sequência de usinagem e se necessário criar mais um subprograma se alterações que fujam um pouco dos padrões da família de carcaças de motores orbitais existir.

A partir desse desenvolvimento, novos estudos estão sendo aplicados na fábrica com o mesmo intuito. Uma sugestão para dar continuidade na célula dessas máquinas é aplicar o mesmo tipo de gerenciamento em todas as máquinas que ali estão agrupadas, incluindo robôs. Pois a partir disso pode-se entrar na indústria 4.0.

Co-autores      

Anderson Daleffe

Clauber R . M. Marques         

Tags
manufaturaCNCprogramação software usinagem metalurgicamateriais
Compartilhe

Gustavo da Luz Canever

Tecnólogo em manutenção industrial pela Faculdade Satc (2018), Pós graduando em Engen-haria de Produção pela Satc. Atualmente é programador de máquinas CNC na Empresa Hybel – Bombas e Motores Óleo-Hidráulicos. Tem experiência no desenvolvimento de processos de fabricação em tornos, centro de usinagem, centros de torneamento e retíficas CNC; desenvolvimento e aplicação de dispositivos para fixação; análise e aplicação de ferramentais; desenvolvimento de softwares gerenciadores de programas CNC; desenvolvimento de pós processadores para Edgecam; treinamentos de programação, operação, organização e processos em centros de torneamentos DMG.