• Nenhum resultado encontrado

Desenvolvimento de uma aplicação de software que converta Código-G numa linguagem de alto nível interpretável por um controlador aberto da NI

N/A
N/A
Protected

Academic year: 2020

Share "Desenvolvimento de uma aplicação de software que converta Código-G numa linguagem de alto nível interpretável por um controlador aberto da NI"

Copied!
104
0
0

Texto

(1)

Pedro Miguel Gonçalves da Costa Pereira

Desenvolvimento de uma aplicação de

software

que

converta Código-G numa linguagem de alto nível

interpretável por um controlador aberto da NI

Trabalho efetuado sob orientação por parte do

Professor Jaime Francisco Cruz Fonseca

E coorientação por parte do

Professor António Marques Pinho

Outubro 2014

Universidade do Minho

(2)

DECLARAÇÃO

Nome: Pedro Miguel Gonçalves da Costa Pereira Endereço eletrónico: costapereira.eeic@gmail.com Telefone: 915076826

Número do Bilhete de Identidade: 13938039

Título dissertação: Desenvolvimento de uma aplicação de software que converta código G numa linguagem de alto nível interpretável por um controlador aberto da NI.

Orientadores: Professor Jaime Francisco Cruz Fonseca Professor António Marques Pinho Ano de conclusão:

Designação do Mestrado: Mestrado Integrado em Engenharia Electrónica Industrial e de Computadores

(3)

Aos meus pais pelos sacrifícios que fizeram durante esta etapa!

À minha namorada por todo o apoio que me deu!

(4)
(5)

“A mente que se abre a uma nova ideia jamais voltará ao seu tamanho

original."

(6)
(7)

Pedro Miguel Pereira i

O conceção desta dissertação não seria possível sem o contributo direto e indireto de um conjunto de pessoas, às quais pretendo expor os meus sinceros agradecimentos.

Primeiramente gostaria de agradecer ao meu orientador, Professor Jaime Francisco Cruz Fonseca, não só por toda a disponibilidade demonstrada durante o desenvolvimento desta dissertação nos momentos de tomada de decisões, como também pela confiança depositada em mim para a concretização deste trabalho.

Agradeço ao meu coorientador, Professor António Marques Pinho, que em conjunto com o meu orientador, criaram a possibilidade da realização desta dissertação na empresa Cert&Mec, Lda.

Devo agradecer também ao Engenheiro João Borges não só pelo tempo dispensado para me transmitir conhecimento científico essencial sobre o sistema, como também pelo tempo dispensado para resolver diversos contratempos que foram aparecendo, e ainda pela sua disponibilidade sempre que foram surgindo dúvidas.

Um agradecimento especial à minha namorada, Bianca Caratão, por todo o apoio e orientação que me deu quando mais necessitava, pelas palavras de conforto e serenidade essenciais nos momentos menos bons, e ainda pela confiança depositada em mim, facilitando assim a superação dos obstáculos que foram emergindo. O seu contributo foi fulcral para o culminar com sucesso desta etapa.

Agradeço também aos meus companheiros de casa Eurico Moreira e João Lage, pelas experiências vividas e conhecimento partilhado, assim como agradeço aos meus colegas de curso, que se tornaram verdadeiros amigos durante o meu percurso académico.

Por fim, e de todo não menos importante, agradeço aos meus pais por sempre acreditarem nas minhas capacidades e pelos sacrifícios que fizeram para que fosse possível hoje estar onde estou.

(8)
(9)

Pedro Miguel Pereira iii

Nos dias de hoje, devido ao evidente aumento da eficiência dos processos onde procedimentos automáticos e autónomos são empregues, é inevitável projetar um sistema sem equacionar a utilização de técnicas computadorizadas. A elaboração desta dissertação tem como foco principal a integração de novas funcionalidades provenientes da evolução tecnológica, num sistema automatizado.

De um modo mais detalhado, atualmente o manuseamento automático de máquinas a nível industrial é dominado pelos sistemas de controlo numérico, baseados na linguagem de programação denominada de Código-G. Um sistema deste tipo é definido como a operação de uma máquina através de um conjunto de instruções constituídas por números, letras do alfabeto e símbolos que a unidade de controlo consiga interpretar [2]. Tendo em consideração que o Código-G já foi diversamente testado e corroborado, o objetivo desta dissertação é então desenvolver uma aplicação de software que permita a conversão de instruções escritas nesta linguagem, numa linguagem de alto nível interpretável pelos controladores abertos da National Instruments.

Posto isto, de acordo com a análise realizada do sistema físico no qual a aplicação concebida será executada, foram então estabelecidas quais as instruções que se pretendem que sejam reconhecidas pelo sistema, designadamente os comandos G00, G01, G02, G03, G20, G21, G90 e G91. Não obstante, recorrendo à implementação de mecanismos de programação sempre com o intuito de tornar o software desenvolvido o mais genérico possível, obteve-se um programa que reconhece não só o conjunto de instruções escolhido, como também possui uma estrutura passível de integrar facilmente novas instruções no mesmo.

Por fim, após realizados diversos testes utilizando ficheiros escritos em Código-G com diferentes combinações das instruções escolhidas, foi possível confirmar o bom funcionamento da aplicação de software desenvolvida. Mais especificamente, o programa concebido tem a capacidade de executar movimentos retilíneos com diferentes velocidades, movimentos circulares numa gama de 0 a 360 graus, executar ficheiros em milímetros ou inches e ainda operar em modo absoluto ou relativo.

(10)
(11)

Pedro Miguel Pereira v

Nowadays, due to the evident increased efficiency of processes where automatic and autonomous procedures are used, it is inevitable designing a system without equating the use of computerized techniques. The development of this master thesis is mainly focused on the integration of new attributes arising from technological evolution, in an automated system.

In greater detail, nowadays the automatic handling machine at an industrial level is dominated by the numerical control systems, based on a programming language called G-code. Such a system is defined as the operation of a machine through a set of instructions consisting of numbers, letters of the alphabet and symbols which the control unit is able to interpret [2]. Given that G-code has been diversely tested and corroborated, the aim of this master thesis is then to develop a software application that enables the conversion of instructions written in this language, in an interpretable high-level language for the open controllers from National Instruments.

That being said, according to performed analysis of the physical system on which the application is designed to run, were then established which instructions are intended to be recognized by the system, namely the commands G00, G01, G02, G03, G20, G21, G90 and G91. Nevertheless, the implementation of programming mechanisms always aiming to make the developed software as generic as possible, allowed the creation of a program that recognizes not only the instruction set defined, but also has a structure capable of integrating new commands easily.

Finally, after several tests performed using files written in G-code containing different combinations of the chosen instructions, it was possible to confirm the proper functioning of the developed software application. More specifically, the conceived program is able to perform rectilinear movements with different velocities, circular movements with a range of 0 to 360 degrees, execute files in millimeters or inches, and operate in absolute or relative mode.

(12)
(13)

Pedro Miguel Pereira vii Agradecimentos ... i Resumo ... iii Abstract ... v Índice de figuras ... ix Abreviaturas ... xi 1. Enquadramento ... 1 1.1 Introdução ... 2

1.2 Análise top-down do sistema a desenvolver ... 3

1.3 Estrutura da dissertação ... 6

2. Estado da Arte ... 7

2.1 Tipos de movimento ... 8

2.1.1 Controlo numérico convencional ... 8

2.1.2 Controlo numérico computadorizado (CNC) ... 9

2.1.3 Controlo numérico direto (CND)... 10

2.1.4 STEP-NC ... 12

2.1.5 Controladores de movimento abertos ... 13

2.2 Softwares utilizados ... 14 2.2.1 AdvaNum ... 14 2.2.2 Mach ... 15 2.2.3 FlashCut CNC ... 16 2.2.4 G-Wizard Editor ... 17 2.2.5 CamSoft ... 18 2.2.6 NI Motion Control ... 18 2.3 Resumo ... 19 3. Célula de Trabalho ... 21 3.1 Especificações físicas ... 22

(14)

viii Pedro Miguel Pereira

3.2 Measurement & Automation Explorer (MAX) ... 24

3.3 Resumo ... 26

4. Design da aplicação de software ... 29

4.1 Princípio de funcionamento da aplicação ... 31

4.2 Manipulação Automática ... 32 4.2.1 Carregar Ficheiro ... 33 4.2.2 Ajuste de Offset ... 34 4.3 Manipulação Manual ... 36 4.4 Resumo ... 38 5. Implementação ... 41 5.1 Separar Texto ... 42

5.1.1 Determinar o valor de cada parâmetro da instrução ... 45

5.2 Iniciar movimento... 48 5.3 Ajuste de Offset ... 56 5.4 Resumo ... 60 6. Resultados ... 63 6.1 Separar texto... 64 6.2 Início do Movimento ... 70 6.3 Ajuste do Offset ... 74 6.4 Resumo ... 77

7. Conclusão e Trabalho Futuro ... 79

7.1 Conclusão ... 80

7.2 Trabalho Futuro ... 81

8. Referências Bibliográficas ... 83

(15)

Pedro Miguel Pereira ix

Figura 1- Esquema de funcionamento do sistema a desenvolver. ... 4

Figura 2 - Exemplo de comandos escritos em Código-G. ... 5

Figura 3 - Unidade de controlo de um sistema de controlo numérico convencional [6]... 8

Figura 4 - Sistema CNC [7]. ... 9

Figura 5 - Ferramenta para gerar Código-G graficamente [15]. ... 15

Figura 6 - Interface gráfica do software Mach3 [17]. ... 16

Figura 7 - Indicação da linha do programa onde existe um erro relativamente ao valor máximo de uma coordenada [19]. ... 17

Figura 8 - a) Interface gráfica para sistemas de CNC a laser. b) Interface gráfica para sistemas de CNC de torneamento. [22]. ... 18

Figura 9 - Máquina XYZ utilizada no âmbito desta dissertação. ... 22

Figura 10 - Interior e exterior do quadro elétrico... 23

Figura 11 - Controlador e interface constituintes do módulo eletrónico. ... 24

Figura 12 - Axis Configuration. ... 25

Figura 13 - Torque Setting. ... 25

Figura 14 - Control Loop Settings. ... 26

Figura 15 - Fluxo de informação no programa. ... 31

Figura 16 - Fluxograma do carregamento de um ficheiro. ... 33

Figura 17 - Geometria do movimento referido para realização de cortes. ... 35

Figura 18 - Deslocamento face à origem do movimento em causa. ... 36

Figura 19 - Definição de um movimento circular. ... 37

Figura 20 - Fluxo de informação referente à janela de manipulação manual. ... 38

Figura 21 - Fluxograma explicativo do funcionamento interno da opção “Separar Texto”. ... 44

Figura 22 - Fluxograma explicativo do método utilizado para determinar os parâmetros. ... 45

Figura 23 - Sequência de procedimentos para testar o primeiro parâmetro de cada instrução. ... 47

Figura 24 - Representação esquemática referente a execução de uma instrução. ... 49

Figura 25 - Sequência de funções utilizada para dar início ao movimento. ... 51

Figura 26 - Deslocamento do centro da circunferência no eixo do Y. ... 53

Figura 27 - Deslocamento do centro da circunferência no eixo do X. ... 53

Figura 28 - Angulo a percorrer entre 0º e 180º. ... 54

Figura 29 - Angulo a percorrer entre 180º e 360º. ... 55

Figura 30 - Rotação do movimento referido. ... 58

(16)

x Pedro Miguel Pereira

Figura 32 - Fluxograma do processo de ajuste do offset. ... 60

Figura 33 - Janela inicial da aplicação desenvolvida. ... 65

Figura 34 - Janela que possibilita a escolha entre ajustar o offset ou carregar um ficheiro. ... 65

Figura 35 - Janela que permite a procura, leitura e divisão de um ficheiro. ... 65

Figura 36 - Exemplo de Código-G para execução de movimentos retilíneos com velocidade pré-definida. ... 66

Figura 37 – Condições utilizadas para determinar qual o tipo e qual o valor do caractere em causa. ... 67

Figura 38 - Preenchimento dos vectores com os caracteres da terceira instrução do ficheiro carregado. ... 67

Figura 39 - Excerto de código utilizado para determinar um parâmetro decimal constituído por três carateres. ... 69

Figura 40 - Valor das posições pretendidas referentes ao eixo do X e do Y para cada instrução. ... 69

Figura 41 - Exemplo de Codigo-G para execução de movimentos com variação de velocidade. ... 70

Figura 42 - Utilização dos valores obtidos, durante a invocação de funções referentes ao movimento da máquina. ... 70

Figura 43 - Exemplo de Código-G contendo um movimento circular com offset do centro em dois eixos. ... 71

Figura 44 - Representação gráfica do movimento descrito no Código-G da imagem anterior. ... 71

Figura 45 - Movimento circular ampliado. ... 72

Figura 46 – Excerto de Código referente à implementação dos cálculos referidos... 73

Figura 47 – Invocação da função referente ao movimento circular, utilizando os valores calculados. ... 73

Figura 48 – Código-G representativo do movimento que se pretende executar na placa. ... 74

Figura 49 - Exemplo de um deslocamento e rotação involuntária de uma placa onde se realizará um movimento com a geometria descrita no Código-G apresentado. ... 74

Figura 50 – Janela referente à opção “Ajuste de Offset”. ... 75

Figura 51 – Excerto de código referente à implementação dos cálculos efetuados para determinar o ângulo de rotação. ... 76

Figura 52 – Preenchimento dos vectores com os valores calculados. ... 76

(17)

Pedro Miguel Pereira xi

CAD- Computer Aided Design

CAE- Computed Aided Engineering

CAM- Computer Aided Manufacturing

CAPP- Computer Aided Process Planning

CNC- Computer Numeric Control

DNC- Direct Numerical Control

ISO- International Organization for Standardization

MAX- Measurement & Automation Explorer NI- National Instruments

PC- Personal Computer

STEP- Standard for the Exchange of Product Model Data

UMI- Universal Motion Interface

(18)
(19)

Capítulo 1- Enquadramento Pedro Miguel Pereira 1

Capítulo 1

(20)

2 Pedro Miguel Pereira Capítulo 1- Enquadramento

1.1 Introdução

Atualmente num contexto industrial, um sistema cujo objetivo seja o fabrico de um produto final, necessita quase que de modo indispensável ter em atenção diversos fatores, tais como o custo, a qualidade, a eficiência e o tempo de conceção do produto. Estes fatores levaram à implementação de metodologias e ferramentas de desenvolvimento de produtos que permitam atingir esse objetivo, nomeadamente a utilização dos sistemas computacionais CAD (Computer Aided Design), CAE (Computed Aided Engineering) e CAM (Computer Aided Manufacturing). Essencialmente, o software de desenho assistido por computador (CAD) está encarregue de facilitar o desenvolvimento do projeto e desenho técnico de um determinado produto que se pretenda fabricar [1], o software de engenharia assistida por computador (CAE) está encarregue de simular numericamente o modelo projetado, e por fim, o software de manufatura auxiliada por computador (CAM) está associado ao processo de manuseamento da máquina. Fundamentalmente, numa primeira fase, um projeto desenvolvido num sistema computacional de desenho assistido é exportado num ficheiro do tipo CAD e posteriormente importado para os softwares CAE e CAM de modo a que estes possam cumprir o seu propósito. Um dos pontos cruciais para o desenvolvimento desta dissertação encontra-se na exploração dos ficheiros tipo CAD gerados por um sistema computacional de desenho assistido. Os ficheiros CAD, tal como já foi referido, contêm o projeto e desenho técnico de uma peça/produto que se pretende desenvolver, ou seja, contêm informação sobre as coordenadas, dimensões e outras especificações desse mesmo produto. Essa informação, juntamente com as instruções fornecidas pelo software de produção auxiliado por computador (CAM), é essencial para que o produto desejado evolua de algo estruturado num ambiente computacional até a sua produção a nível físico.

Atualmente, o manuseamento automático de máquinas a nível industrial é dominado pelos sistemas de controlo numérico. Um sistema deste tipo é definido como a operação de uma máquina através de um conjunto de instruções constituídas por números, letras do alfabeto e símbolos que a unidade de controlo consiga interpretar [2]. Um sistema de controlo numérico baseia-se numa lista de movimentos escrita num código específico, denominado de “Código-G”, cuja função é construir a ponte entre o programador e a máquina que se pretende controlar. Nos dias de hoje, esta lista de movimentos pode ser criada automaticamente pelos softwares de desenho assistido por

(21)

Capítulo 1- Enquadramento Pedro Miguel Pereira 3

computador. Existem inúmeras instruções escritas nesta linguagem, desde instruções de movimentos lineares retilíneos ou curvilíneos até instruções que ordenam a troca de ferramenta de trabalho. Programar um sistema através da utilização de Código-G é sem dúvida um método preciso e fiável para se obter o produto final desejado, no entanto, as mesmas características que fazem esta linguagem simples e de fácil implementação, também a tornam limitada e pouco flexível. Com base nessas debilidades surgem novas soluções, nomeadamente os controladores de movimento abertos. A sua grande flexibilidade e utilização de linguagens de programação de alto nível, a facilidade de integração de novas técnicas de automação no sistema onde estão inseridos e a sua capacidade de autodiagnosticar o sistema em caso de problema durante a produção do produto, são apenas algumas características relevantes que os sistemas podem adquirir com este tipo de controlo.

Posto isto, esta dissertação pretende integrar as vantagens evidentes provenientes da utilização dos softwares de desenho assistido por computador e da fiabilidade do Código-G com as vantagens dos controladores abertos. Neste sentido, é criado um sistema com os melhores atributos destes dois métodos de controlo, aumentando assim o leque de aplicações associadas a sistemas baseados na utilização do Código-G, pois devido à flexibilidade dos controladores abertos já referida anteriormente, será possível não só integrar facilmente diferentes periféricos em sistemas onde previamente seria excessivamente complexo, como também surge a possibilidade de introduzir novos atributos no sistema, desde a implementação de técnicas avançadas de controlo até à interação direta com o ambiente em que está inserido.

O produto final obtido resultante desta dissertação de mestrado permite que um sistema, cujo funcionamento se baseie em processos automáticos para o manuseamento de uma máquina, adquira novas características essenciais para um eficaz acompanhamento da evolução tecnológica.

1.2 Análise

top-down

do sistema a desenvolver

No âmbito do funcionamento deste sistema, o objetivo desta dissertação de mestrado é então desenvolver uma aplicação que interprete os comandos escritos em Código-G, realize a sua conversão para uma linguagem de alto nível e permita a respetiva execução do movimento dos eixos.

(22)

4 Pedro Miguel Pereira Capítulo 1- Enquadramento Figura 1- Esquema de funcionamento do sistema a desenvolver.

De um modo sequencial, o funcionamento do sistema que se pretende desenvolver é o seguinte: numa primeira fase é projetado o produto num software de desenho assistido por computador, de seguida é gerado o Código-G correspondente ao mesmo, posteriormente através de uma interface gráfica esse código é convertido para uma linguagem de alto nível interpretável pelos controladores abertos da “National Instruments” (NI) e por fim esse novo código é implementado numa máquina de três eixos que utiliza o toolkit de Motion Control da NI. A interface gráfica referida será desenvolvida utilizando a linguagem de programação C#. Esta linguagem permite não só conceber de um modo simples e eficaz um ambiente gráfico completo e amigável para o utilizador, assim como possibilita a interação com diversos periféricos de modo descomplicado. Nesta interface o ponto fulcral será o interpretador de Código-G, cuja implementação passa por três pontos essenciais: primeiramente uma análise lexical, de seguida uma análise sintática e por fim a conversão propriamente dita [3]. Tipicamente uma instrução deste tipo tem o seguinte aspeto: “N…G…X…Y…Z…A…B…C…M…S…T…F…(END)” [3]. Cada letra de um comando escrito nesta linguagem de programação tem associada um conjunto de funções específicas e é denominada de “Address Character”, isto é, por exemplo, o caractere especial “N” indica-nos o número da linha de uma determinada instrução, o caractere especial

(23)

Capítulo 1- Enquadramento Pedro Miguel Pereira 5

“G” refere-se a um conjunto de comandos preparatórios, o caractere “M” está associado a funções relacionadas com a máquina, entre outros. Estes caracteres especiais seguidos de um valor numérico ou expressão dão origem às “Words” da instrução [4],por exemplo, adicionando o valor numérico “01” logo de seguida ao caractere “G”, obtemos a Word “G01” que nos indica que será realizada uma interpolação linear, outro exemplo seria a utilização da letra “M” para formar a Word “M06”, indicativa de uma mudança automática de ferramenta. A figura seguinte tem como objetivo demonstrar a estrutura de uma instrução de um ficheiro escrito em Código-G.

As combinações possíveis para criar uma instrução são imensas, no entanto devido a detalhada documentação já existente sobre o significado de cada combinação [3], é possível obter facilmente o seu objetivo. A visualização do Anexo 1 permite obter uma melhor perceção sobre o propósito dos principais comandos escritos em Código-G. Posto isto, numa primeira instância da aplicação, após a leitura de uma linha escrita nesta linguagem, esta é dividida em várias partes de modo a conseguir identificar-se a utilização de alguma letra não reconhecida pelo sistema ou se o valor de uma determinada Word se encontra fora dos limites. Seguidamente é realizada uma análise sintática que permite a deteção de erros lógicos associados à sintaxe na escrita de comandos em Código-G. Por fim, após serem verificados os dois primeiros pontos, é efetuada a conversão dessa instrução para uma linguagem de alto nível de acordo com as bibliotecas utilizadas pelos controladores da NI. Após concebido este software, serão então realizados testes na máquina referida de modo a corroborar a funcionalidade do mesmo.

Instrução Word

Address Character

(24)

6 Pedro Miguel Pereira Capítulo 1- Enquadramento

1.3 Estrutura da dissertação

A estrutura desta dissertação concebeu-se de acordo com os processos de desenvolvimento da mesma.

No primeiro capítulo, “Enquadramento”, é realizada uma introdução com o propósito contextualizar e expor o objetivo desta dissertação. É efetuada também uma análise top-down do sistema a desenvolver com o intuito de mostrar a estrutura do mesmo.

Após realizada essa introdução, no capítulo dois, denominado de “Estado da Arte”, é realizada uma revisão bibliográfica sobre a evolução dos sistemas de controlo utilizados na indústria, assim como quais as interfaces utilizadas para interagir com os mesmos.

Segue-se então o terceiro capítulo, “Célula de Trabalho”, cujo propósito é expor a análise realizada ao sistema físico no qual será executada a aplicação desenvolvida no âmbito desta dissertação.

Posto isto, o capítulo quarto aborda detalhes mais específicos sobre o software a desenvolver. Denominado de “Design da aplicação de software”, neste capítulo recorrendo a fluxogramas e figuras explicativas, é mostrada a estrutura da aplicação a nível de organização de processos, com o principal intuito de facilitar a perceção do funcionamento do programa concebido.

Neste sentido, o capítulo cinco, “Implementação”, vem complementar o capítulo anterior, especificando os métodos e procedimentos utilizados para transformar a estrutura projetada, num software concreto e funcional. Novamente com auxílio de fluxogramas, figuras explicativas e ainda apresentando os cálculos efetuados durante a execução de diversos processos, são então abordados os métodos de programação utilizados para o desenvolvimento desta aplicação.

O capítulo seis, “Resultados”, vem corroborar todo o trabalho efetuado, ou seja, neste capítulo, não é só demonstrado o bom funcionamento de todas as funcionalidades referidas sobre a aplicação concebida, como também é exposta a interface desenvolvida que possibilita a interação entre o utilizador e a célula de trabalho.

No capítulo sete, é apresentada uma conclusão relativamente ao processo de desenvolvimento desta dissertação, assim como são comentados os resultados obtidos face aos resultados esperados. Por fim, ainda neste capítulo, são propostas algumas sugestões para complementar o trabalho efetuado no âmbito desta dissertação.

(25)

Capítulo 2- Estado da Arte Pedro Miguel Pereira 7

Capitulo 2

(26)

8 Pedro Miguel Pereira Capítulo 2- Estado da Arte

2.1 Tipos de movimento

2.1.1 Controlo numérico convencional

Os sistemas de controlo numérico convencional serviram de base para o desenvolvimento de grande parte dos controladores aplicados atualmente para o manuseamento automático de máquinas em processos industriais. Constituídos por uma unidade de controlo, representada na figura 3, e a máquina que se pretende operar, os sistemas de controlo numérico convencional vieram revolucionar por completo o processo de fabrico de um produto a nível industrial [5].

Figura 3 - Unidade de controlo de um sistema de controlo numérico convencional [6].

A diminuição dos custos de produção, derivado do tempo não produtivo reduzido, a precisão da peça concebida e o aumento da qualidade do produto final, são apenas alguns atributos positivos presente nas linhas de produção devido à utilização destes sistemas.

O método mais utlizado para programar o controlador referido baseava-se na criação de programas através da realização de perfurações numa fita, com uma determinada predisposição. Essa fita perfurada, era então colocada no controlador, cuja função seria interpretar esses furos de modo a conseguir manipular a máquina conforme pretendido pelos criadores do programa. Assim que o produto final estivesse terminado, bastava colocar de novo a fita na unidade de controlo para repetir o processo. De notar que estes programas em fita perfurada eram concebidos de acordo com as limitações físicas da máquina, e por isso era necessária a utilização de um pós-processador dedicado especificamente para cada máquina do

Leitor de fita perfurada

(27)

Capítulo 2- Estado da Arte Pedro Miguel Pereira 9

sistema, com a capacidade de efetuar a tradução das perfurações realizadas, em movimentos a executar pelas mesmas.

Derivado da rápida evolução tecnológica, o método de programação utilizado pelos sistemas de controlo numérico convencional tornou-se quase obsoleto, pois face ao crescimento da capacidade de processamento dos microprocessadores, a relação entre a complexidade na criação de programas em fitas perfuradas e o produto final obtido, deixou de ser benéfica. Assim sendo, surgem então os sistemas de controlo numérico computadorizado.

2.1.2 Controlo numérico computadorizado (CNC)

Um sistema de controlo numérico computadorizado, por definição, consiste na operação de uma máquina através de um conjunto de instruções constituídas por números, letras do alfabeto e símbolos que a unidade de controlo consiga interpretar [2].

Este tipo de sistema, ilustrado na figura 4, também é constituído pela unidade de controlo e a máquina que se pretende operar, no entanto apresenta um novo método para criação de programas e utiliza tecnologia mais avançada comparativamente à do controlo numérico convencional. Derivado desses atributos, entre outras vantagens, destacam-se o aumento da complexidade e precisão das peças a produzir [5], a realização de um trabalho uniforme e sem intervenção humana direta na peça e a edição de programas junto à máquina.

Figura 4 - Sistema CNC [7].

A criação de programas em Código-G é o método mais utilizado para programar este tipo de sistemas [8]. De acordo com a definição anteriormente apresentada, é num ficheiro escrito em Código-G que estão contidas as instruções concebidas pelo programador alusivas aos movimentos a serem executados pela máquina. Esta nova linguagem de programação começou a ser largamente utilizada por imensos fabricantes e equipas de desenvolvimento de máquinas

Computador embutido Zona de

manuseamento do produto

(28)

10 Pedro Miguel Pereira Capítulo 2- Estado da Arte

CNC em todo o mundo, dando origem a diversas normalizações cujo objetivo seria criar um formato geral de programação para sistemas de controlo numérico computadorizado. Embora existam algumas normalizações que se destacam, como a norma ISO 6983 [5] [8], a nível mundial não existe um consenso quanto a que norma deva ser utilizada.

Convém salientar que em sistemas CNC, o programa é desenvolvido de acordo com as características físicas da máquina, tal como no controlo numérico convencional, e por isso continua a ser necessário utilizar um pós-processador dedicado que tem como função interpretar as instruções do ficheiro concebido em Código-G e traduzi-las para a máquina em causa [9]. Neste sentido, embora este tipo de controlo seja utilizado em grande escala a nível industrial, os sistemas CNC também acarretam algumas desvantagens significativas, nomeadamente a nível de hardware, devido à dificuldade inerente face à inserção de novos componentes ou à utilização de novas técnicas de automação no sistema [10], a nível económico, pois o custo para adquirir uma máquina CNC é consideravelmente elevado, e ainda a nível funcional, pois é de evidenciar que este tipo de controlo não elimina completamente erros humanos, e muito dificilmente fornece informação em tempo real sobre o estado do processo, fatores que são frequentemente essenciais para o correto funcionamento de qualquer sistema.

Posto isto, novamente devido à progressiva evolução da tecnologia, a capacidade de processamento do sistema de controlo embutido na máquina tornou-se limitada relativamente à oferta no mercado. Contudo e principalmente devido à sua fiabilidade, precisão e fluência do processo de produção, estes sistemas continuam a ser utilizados nos dias de hoje.

2.1.3 Controlo numérico direto (CND)

Um sistema que utilize controlo numérico direto pode ser definido como um sistema baseado na utilização de um computador com a capacidade de operar diversas máquinas, através de uma ligação direta e a tempo real.

Um sistema CND é, também, constituído por um controlador e a máquina que se deseja operar, no entanto relativamente aos sistemas referidos anteriormente é acrescentada a utilização um PC externo cuja capacidade de processamento é superior à dos processadores utilizados até então nos sistemas CNC. O controlador destes sistemas continua a possuir um pós-processador dedicado com a função descrita anteriormente, porem, o processamento de informações técnicas essenciais para a manipulação da máquina deixa de ser efetuado por hardware embutido nela mesma e passa a ser efetuado por hardware externo. Algumas das

(29)

Capítulo 2- Estado da Arte Pedro Miguel Pereira 11

vantagens inerentes à utilização destes sistemas são, o aumento da complexidade do produto final, a possibilidade de controlar várias máquinas através de um só computador, a capacidade de guardar um grande número de programas devido à utilização de memórias externas, a facilidade de fazer upload dos programas desenvolvidos para o controlador, a flexibilidade na criação e edição de programas, a possibilidade de utilizar softwares CAM e ainda a capacidade de incluir no sistema interação entre ficheiros CAD, CAE e as máquinas que se pretendem controlar.

Devido aos evidentes melhoramentos que a interação entre modelos CAD, CAE e CAM fornece para um sistema, estes começaram a ser muito utilizados em diversas industrias. Ao realizar funções industriais auxiliadas por computador, o processo de criação de um produto final adquire atributos que são extremamente importantes e quase essenciais nos sistemas de automação atuais, tais como, a simulação a duas e a três dimensões do design do produto final, a eliminação de erros durante o projeto de uma peça, a visualização passo a passo do manuseamento da peça efetuado pela máquina e ainda a imensa facilidade de partilha de ficheiros CAD entre clientes e fabricantes.

A utilização massiva dos métodos computacionais referidos (CAD, CAE e CAM) deu origem então ao aparecimento da norma internacional ISO 10303, também conhecida como STEP (Standard for the Exchange of Product Model Data). Esta norma pretende uniformizar o modo como se descreve informações digitais sobre um produto, de modo a que seja possível uma partilha, entre sistemas, eficaz e rápida dos dados técnicos do mesmo [5] [11].

Novamente devido à evolução tecnológica, os sistemas de controlo numérico direto adquiriram uma nova característica, a possibilidade de efetuar ligações sem fios. Os sistemas que aplicam este método de controlo sem fios têm uma estrutura semelhante aos sistemas que utilizam CND com ligações por cabo, no entanto efetuam a comunicação com os controladores de cada máquina via wireless, oferecendo assim ao programador não só uma melhor supervisão sobre todas as máquinas em funcionamento, sem a necessidade de realizar numerosas e por vezes complexas ligações, como também uma maior facilidade para realizar uploads e downloads entre o PC externo e o controlador.

Proveniente da robustez e versatilidade deste sistema, muitas são as indústrias que o utilizam, como por exemplo a indústria Automóvel e a indústria Aeronáutica. Como é percetível, esta metodologia contém características essenciais e altamente apelativas para um excelente funcionamento de qualquer processo de produção industrial.

(30)

12 Pedro Miguel Pereira Capítulo 2- Estado da Arte

Contudo, derivado da exponencial evolução da tecnologia informática, atualmente as máquinas de controlo numérico computacional utilizam processadores rápidos com capacidade de utilização de memória interna elevada, tornando acessíveis diversos recursos que inicialmente só estavam disponíveis em sistemas de controlo direto.

Em suma, quer os sistemas de controlo numérico computadorizado, quer os sistemas de controlo numérico direto, wireless ou por ligação direta, são sistemas fortemente testados na indústria e com características fundamentais para qualquer processo de manuseamento automático de máquinas, todavia todos eles utilizam a definição apresentada inicialmente, ou seja, todos eles se baseiam em controladores que processam instruções em Código-G, utilizando a norma ISO 10303 para partilha de dados, algo que pode ser extremamente desvantajoso devido às debilidades que essa característica traz para um sistema, principalmente no que diz respeito à grande complexidade inerente face à inserção de novos componentes ou mesmo à utilizaçã de técnicas mais avançadas.

2.1.4 STEP-NC

A grande dificuldade em integrar um fluxo bidirecional de informação no sistema, a necessidade de elaboração de programas demasiados complexos para realizar um manuseamento simples e o facto de ser quase impossível utilizar o mesmo Código-G em duas máquinas CNC diferentes [8], são algumas das principais falhas inevitáveis dos sistemas de controlo numérico atualmente utilizados na indústria. Com a finalidade de corrigir essas debilidades surgem os sistemas baseados na norma ISO 14649, também conhecida como STEP-NC. Tal como intuitivamente é sugerido através do nome, esta norma está relacionada com a norma STEP (ISO 10303) referida anteriormente, mais especificamente, a norma STEP-NC é uma extensão da norma STEP [12], ou seja, esta norma pretende também uniformizar o modo como se deve realizar a partilha de informação digital sobre um produto, no entanto visa ainda integrar o planeamento do processo de fabrico desse mesmo produto ou peça nessa partilha de dados entre sistemas [5] [11] [13].

As vantagens inerentes à utilização deste tipo de controlo são, a adaptação dos programas desenvolvidos às limitações da máquina, o fluxo bidirecional de informação, uma maior autonomia por parte do sistema, um maior controlo por parte do utilizador e ainda o armazenamento de toda a informação relativa sobre um produto num só ficheiro, conseguindo

(31)

Capítulo 2- Estado da Arte Pedro Miguel Pereira 13

assim acrescentar a possibilidade de integrar os modelos computacionais CAPP (Computer Aided Process Planning) no sistema.

Embora estes sistemas tenham uma constituição semelhante aos sistemas de controlo numérico direto já referidos, ou seja, compostos por um controlador, a máquina que se pretende operar e um PC externo para fazer o processamento dos dados técnicos, ao contrário dos outros sistemas que utilizam como base o Código-G e um pós-processador dedicado para cada máquina, os sistemas STEP-NC possuem controladores capazes de interpretar diretamente os dados provenientes dos ficheiros que contêm toda a informação referida [8] e traduzi-los para a máquina, fornecendo automaticamente feedback ao utilizador sobre a possibilidade de execução ou não das operações pretendidas no seu sistema.

A nível industrial este tipo de sistemas ainda não é muito usual, pois é um conceito recente que necessita de ser testado e validado, contudo, derivado da capacidade de interação entre os softwares CAD, CAE, CAM e CAPP, os sistemas baseados na norma STEP-NC são altamente apelativos para qualquer tipo de indústria, colocando-os numa posição privilegiada para revolucionar novamente os métodos de produção industriais atualmente dominados pelos sistemas de controlo numérico.

2.1.5 Controladores de movimento abertos

Após realizada a análise dos sistemas de controlo numérico e dos sistemas STEP-NC, é por fim abordado um tipo de controlo denominado de “Controlo Aberto”. Semelhantemente aos sistemas descritos, estes são constituídos por um computador, um controlador e a máquina a operar. Porém, a grande diferença relativamente aos sistemas referidos anteriormente encontra-se principalmente nas características apelativas dos controladores utilizados, destacadamente, a sua alta flexibilidade, a facilidade na criação de programas, a não exclusividade para cada máquina e o muito baixo custo. Estes controladores possuem bibliotecas de funções próprias e utilizam linguagens de alto nível comparativamente ao Código-G, facilitando assim a integração de novas características no sistema, desde a interação entre a máquina e novos componentes até à utilização de novas técnicas de controlo.

Atualmente os fabricantes destes controladores fornecem o software que permite a programação dos mesmos, ficando a cargo do utilizador adaptar os controladores à máquina que pretende controlar.Este novo método de programação de controladores permite não só uma

(32)

14 Pedro Miguel Pereira Capítulo 2- Estado da Arte

benéfica relação entre a complexidade da criação de programas e o manuseamento da máquina pretendido, como também o desenvolvimento de softwares de simulação dedicados.

Embora estes controladores sejam extremamente apelativos a nível de custos e funcionalidades, o facto de não se basearem em nenhuma das normas referidas e o facto de representarem uma técnica de controlo para processos de fabrico industriais relativamente recente, são duas das principais desvantagens em comparação com os sistemas de controlo numérico atuais, contudo a panóplia de características apresentadas anteriormente que os controladores de movimento abertos trazem para um sistema, é indicativa de um futuro promissor na sua utilização a nível industrial.

2.2

Softwares

utilizados

Presentemente, os softwares existentes para sistemas que implementam controlo numérico direto, controlo numérico computacional ou controlo aberto, possuem atributos essenciais para a operação de uma máquina de modo seguro, eficaz e simples. De seguida serão abordados alguns dos softwares atualmente utilizados, apresentando as suas interfaces, quer para execução de movimentos, quer para a simulação dos mesmos, com o intuito de facilitar o entendimento das funcionalidades destas ferramentas computacionais, e ainda destacando determinados atributos de maior interesse.

2.2.1 AdvaNum

Os softwares da AdvaNum são programas computacionais utilizados para simulação e manuseamento de máquinas de controlo numérico, destacando-se particularmente os softwares “AdvaNum NC Verification ” e “AdvaNum NC Editor”. Como principais características, o software AdvaNum NC Verification distingue-se pela sua capacidade de simular o comportamento da máquina utilizando modelos sólidos realistas, pela possibilidade de fazer o debug de um programa escrito em Código-G utilizando breakpoints e também pela aptidão de executar o programa step-by-step se o utilizador assim pretender [14].

(33)

Capítulo 2- Estado da Arte Pedro Miguel Pereira 15 Figura 5 - Ferramenta para gerar Código-G graficamente [15].

O software AdvaNum NC Editor é uma ferramenta bastante útil para editar programas criados pelo utilizador ou até mesmo importados de outra fonte, disponibilizando as funções básicas de copiar, colar, cortar e substituir e ainda oferecendo a possibilidade de desenvolver um programa em Código-G de um modo gráfico, figura 5.

Este conjunto de softwares da AdvaNum é bastante interessante para quem pretende criar um sistema de controlo numérico direto com uma boa capacidade de simulação e também pretenda desenvolver os seus próprios programas em Código-G.

2.2.2 Mach

Outro exemplo de um programa utilizado em sistemas de controlo numérico é o “Mach3”. Este software disponibiliza ferramentas para gerar Código-G automaticamente, permite a utilização do software através de SmartPhones e tem como característica principal a capacidade de “transformar” um computador num controlador CNC para máquinas de até 6 eixos [16]. A sua interface gráfica é extremamente completa e diversificada, Figura 6, com a capacidade de gerar pulsos e alterar o valor das variáveis manualmente, visualizar os movimentos da máquina em tempo real e ainda com a possibilidade de ser adaptada para a vertente de ecrã táctil.

(34)

16 Pedro Miguel Pereira Capítulo 2- Estado da Arte Figura 6 - Interface gráfica do software Mach3 [17].

É de salientar que embora este software transforme um PC num controlador para máquinas de controlo numérico, é sempre necessário a utilização de um pós-processador dedicado à máquina em questão. Não obstante, o Mach3 é muito completo e com características bastante apelativas para a conceção de sistemas de controlo numérico robustos e fiáveis.

2.2.3 FlashCut CNC

Os produtos da FlashCut CNC são excelentes soluções para quem pretende conceber um sistema de controlo numérico completo e fácil de implementar. Os controladores fornecidos pela empresa utilizam um software denominado de “FlashCut CNC 4.5”, que possui diversificadas e excelentes capacidades, destacando-se, a fácil configuração do software ao sistema onde vai ser utilizado, o fornecimento de informação que relaciona os limites físicos da máquina com os valores das coordenadas das instruções escritas em Código-G, Figura 7, e ainda a capacidade de executar ficheiros inversamente [18].

(35)

Capítulo 2- Estado da Arte Pedro Miguel Pereira 17 Figura 7 - Indicação da linha do programa onde existe um erro relativamente ao valor máximo de uma coordenada [19].

Convém também salientar que este software possui uma capacidade de previsão para o tempo de execução do ficheiro carregado muito precisa, característica muito útil para realizar um planeamento diário de produção normalmente necessário a nível industrial. Neste sentido, as características de caracter prático deste software fazem dele um grande candidato para quem pretende construir um sistema CNC pronto a utilizar.

2.2.4 G-Wizard Editor

O “G-Wizard Editor” é um completo, simples e poderoso software de edição, simulação e debug de ficheiros escritos em Código-G. Os atributos a destacar desta ferramenta computacional são a capacidade de verificar os percursos através de visualização gráfica, simular a execução de ficheiros escritos em Código-G para realização de debug do programa, disponibilização detalhada durante a simulação do valor de diversas variáveis características de sistemas CNC, tais como, valor das coordenadas e velocidade de rotação, e ainda tem a capacidade de fornecer “dicas” [20] que auxiliam a edição de programas para utilizadores menos experientes.

Este software possui também a particularidade de fornecer a opção de configurar o ambiente de simulação de acordo com diversos pós-processadores atualmente disponíveis no mercado, permitindo assim descobrir erros no PC e não na máquina [20].

Posto isto, este software é muito interessante pois para além de ser completo na análise de programas escritos em Código-G, é também bastante realista na simulação dos mesmos.

(36)

18 Pedro Miguel Pereira Capítulo 2- Estado da Arte

2.2.5 CamSoft

O software “CNC Professional Version 17.7” apresentado pela CamSoft é uma das ferramentas computacionais mais completas a nível de funcionalidades atualmente existentes no mercado. A possibilidade de visualização da máquina através de um ambiente gráfico enquanto esta efetua as operações, a capacidade de inserir cálculos matemáticos nos programa escritos em Código-G [21], a possibilidade de simular o estado de um pino E/S e ainda a utilização de um método revolucionário que converte desenhos gráficos diretamente para movimentos de eixos, são alguns dos atributos que contribuem para incentivar a aquisição deste software.

a) b)

Figura 8 - a) Interface gráfica para sistemas de CNC a laser. b) Interface gráfica para sistemas de CNC de torneamento. [22].

Dos imensos atributos interessantes desta ferramenta computacional, é de salientar particularmente a nível de interface, os diferentes tipos disponíveis consoante o sistema CNC em causa, Figura 8, assim como a disponibilidade de personalizar a interface de acordo com as preferências do utilizador. Neste sentido, para além de ser um programa computacional completo, destaca-se também pela sua grande capacidade de personalização, o que o torna num software bastante apelativo.

2.2.6 NI Motion Control

O software “NI Motion Control” foi concebido para programação de controladores abertos da National Instruments. Este é um software poderoso para programação de controladores abertos que permite uma boa exploração das características que este tipo de controlo tem para oferecer, nomeadamente, técnicas avançadas para feedback de sistemas em malha fechada, high-performance e high-speed synchronization entre os pinos de entrada e saída

(37)

Capítulo 2- Estado da Arte Pedro Miguel Pereira 19

e ainda uma completa biblioteca de funções que pode ser acedida através das linguagens de programação C, Visual Basic ou LabVIEW [23].

O “NI Motion Assistant”, tal como o nome indica, serve para auxiliar a implementação das técnicas referidas, pois entre outras funcionalidades, permite a criação de trajetórias de forma rápida e sem recurso à escrita de ficheiros em Código-G, simular esses mesmos movimentos e ainda gerar código em linguagem C ou LabVIEW automaticamente (de acordo com a biblioteca de funções da NI) a partir dessa simulação [24].

O “NI Motion Control” possui também a possibilidade de associar o módulo “LabVIEW NI SoftMotion ”. A utilização deste módulo possibilita o desenvolvimento de aplicações para controlo de movimentos através do ambiente gráfico do LabVIEW, uma funcionalidade que pode bastante vantajosa para a configuração, teste e ajuste de um sistema [25] .

Posto isto, no que diz respeito ao desenvolvimento de programas para sistemas de manuseamento automático de máquinas baseados em controladores abertos da NI, os softwares referidos da National Instruments constituem uma ferramenta simples e intuitiva para a programação dos mesmos.

2.3 Resumo

O estudo do funcionamento dos sistemas de controlo utilizados atualmente na indústria é um importante ponto de partida para o desenvolvimento de qualquer aplicação que vise utilizar um determinado método de controlo para manipular uma ou um conjunto máquinas. No âmbito desta dissertação em particular, a nível de funcionalidades a implementar na aplicação de software que se pretende desenvolver, o estudo dos sistemas de controlo numérico computadorizado e dos sistemas de controlo aberto, permitiram obter uma melhor perceção sobre quais os atributos de cada um deles, de modo a ser possível integra-los num só sistema. A nível de interação com o utilizador, a pesquisa referente às interfaces e softwares atualmente utilizados para comunicar entre o operador, o sistema de controlo e a máquina, foi de elevada importância para realizar o design da aplicação de forma mais simples, completa e robusta.

Posto isto, após realizado um levantamento das tecnologias e softwares utilizados na indústria atual no âmbito desta dissertação, será então efetuada uma análise da célula de trabalho com o intuito de agregaros conhecimentos adquiridos durante a elaboração deste estado da arte, com as capacidades e limitações do sistema onde será executada a aplicação a desenvolver.

(38)
(39)

Capítulo 3- Célula de trabalho Pedro Miguel Pereira 21

Capítulo 3

(40)

22 Pedro Miguel Pereira Capítulo 3- Célula de trabalho

Primeiramente convém salientar que nenhuma montagem, quer mecânica, quer elétrica, referente à célula de trabalho que vai ser abordada neste capítulo, foi concebida no âmbito do desenvolvimento desta dissertação. Assim sendo, será efetuada uma análise superficial do sistema físico utilizado, não obstante, para desenvolver o software pretendido é essencial perceber o seu funcionamento, assim como os limites físicos, do sistema que se pretende controlar.

3.1 Especificações físicas

A célula de trabalho que serviu de base para a implementação desta aplicação de software é composta por três módulos principais, nomeadamente o módulo mecânico, o módulo elétrico e o módulo eletrónico. O módulo mecânico é constituído por três eixos X, Y, e Z, três servomotores para manipulação dos mesmos e a própria estrutura que suporta estes componentes mecânicos, representada na Figura 9. Esta máquina possui uma área de trabalho com as seguintes dimensões, 150x120x80mm, aproximadamente, representando diretamente os valores máximos para os movimentos dos eixos X, Y e Z, respetivamente. A nível de movimento do cursor da máquina, cada servomotorfoi acoplado a um eixo e tem como função movimenta-lo de acordo com as ordens provenientes das servodrivers.

Figura 9 - Máquina XYZ utilizada no âmbito desta dissertação.

Máquina XYZ

(41)

Capítulo 3- Célula de trabalho Pedro Miguel Pereira 23

No que diz respeito ao módulo elétrico deste sistema, este é constituído essencialmente pelo quadro elétrico projetado e concebido para o mesmo, visível na Figura 10. Para além de ser concebido com o propósito de realizar a interface entre a componente de potência e a componente de controlo, este quadro elétrico está também encarregue de garantir que sistema opere em condições de segurança. É de salientar que também foi instalado um sistema de emergência, com o propósito deacionar uma paragem instantânea do módulo mecânico, caso o utilizador detete algo não esperado.

Figura 10 - Interior e exterior do quadro elétrico.

O quadro contém ainda três servodrivers da SEW-Eurodrive, que têm como funcionalidade efetuar a comunicação entre os servomotores e o controlador utilizado. Cada servodriver possui um display de 7 segmentos com o propósito de informar o utilizador sobre o seu estado de utilização. No arranque do sistema o valor zero é mostrado para informar que ainda não é possível iniciar a comunicação entre o controlador e o sistema mecânico. Assim que for mostrado o número um, estão reunidas as condições para dar início às inicializações da placa de controlo. Posto isto, após essas inicializações estarem definidas, o sistema está pronto para executar o movimento dos eixos, fornecendo como feedback o numero cinco.

Servodrivers

Botão de Emergência

Interruptor de acionamento

(42)

24 Pedro Miguel Pereira Capítulo 3- Célula de trabalho

Por fim, o módulo eletrónico deste sistema engloba a utilização do controlador PCI-7344 e da interface UMI-7764, ambos da National Instruments, Figura 11. Entre outras características, este controlador de movimento, PCI-7344, tem a capacidade de controlar até quatro eixos, permite interpolações lineares, circulares, elípticas e esféricas, e é compatível com as plataformasNI Measurement & Automation, NI Motion Assistant, NI LabVIEW, Microsoft C++ e Microsoft Visual Basic. A UMI (Universal Motion Interface), tal como o nome indica, é o aparelho utilizado para realizar a interface entre o controlador e as servodrivers que controlam os motores.

Figura 11 - Controlador e interface constituintes do módulo eletrónico.

Derivado do controlador escolhido, é possível aplicar ao sistema um método de controlo aberto, usufruindo assim das diversas vantagens já referidas. No entanto, confirmando o que já foi abordado anteriormente sobre este tipo de controlo, é de salientar que toda a montagem mecânica, desde os eixos e a estrutura que os suporta, até ao acoplamento dos motores, foi realizada por parte da entidade que optou por utilizar as placas de controlo da NI.

3.2 Measurement & Automation Explorer (MAX)

De modo a realizar uma análise completa do sistema utilizado, é necessário também abordar o software MAX, fornecido pela National Instruments. Este software não só é utilizado para configurar o controlador, como também é utilizado para parametrizar as servodrivers referidas. Esta ferramenta computacional permite ainda executar alguns movimentos simples de modo a verificar se as parametrizações estão realmente a ser aplicadas ou se ocorreu algum imprevisto, fornecendo neste sentido feedback quanto ao estado do controlador.

De seguida serão expostas algumas imagens com o objetivo de demonstrar como são realizadas algumas das parametrizações com recurso a este software.

UMI-7764

(43)

Capítulo 3- Célula de trabalho Pedro Miguel Pereira 25 Figura 12 – “Axis Configuration”.

A Figura 12 expõe a janela respetiva à configuração de um eixo. No menu do lado esquerdo, é escolhido o eixo que se pretende parametrizar, e através da opção “Axis Configuration” é possível especificar o tipo de motor que está a ser utilizado, especificar o tipo de feedback e habilitar ou não o eixo selecionado.

Figura 13 – “Torque Setting”.

A Figura 13 representa a possibilidade de escolha por parte do utilizador do valor de tensão que o terminal analógico deve enviar para o servodrive, definindo assim se os movimentos de cada eixo serão mais repentinos (torque elevado) ou mais suaves (torque baixo).

(44)

26 Pedro Miguel Pereira Capítulo 3- Célula de trabalho Figura 14 – “Control Loop Settings”.

A imagem acima representa a possibilidade de definição dos parâmetros relativos ao controlo do movimento propriamente dito, desde ganho proporcional, ganho integral e ganho derivativo, até ao possível ganho de uma realimentação negativa de velocidade.

É de salientar que cada eixo pode ter configurações diferentes, ficando a cargo do utilizador realizar e estudar aquilo que se adequa ao seu objetivo final. Neste sentido, após todas configurações e parametrizações estarem concluídas para todos os eixos, as alterações efetuadas são gravadas e a placa é inicializada com os valores definidos.

3.3 Resumo

Em suma, embora o objetivo desta dissertação seja o desenvolvimento de uma aplicação de software, é importante perceber o contexto real a que a execução do mesmo se destina, considerando todos os aspetos referidos neste capítulo. O conhecimento adquirido sobre os constituintes físicos do sistema, designadamente sobre as componentes mecânica, elétrica e eletrónica, e também sobre a ferramenta referente à parametrização do controlador, representa não só uma parte essencial para que o objetivo desta dissertação fosse cumprido, como também permitiram a nível pessoal adquirir uma nova sensibilidade para sistemas industriais.

(45)

Capítulo 3- Célula de trabalho Pedro Miguel Pereira 27

Neste sentido, após analisadas as especificações do sistema, procedeu-se então a uma ponderação sobre quais as instruções passiveis de serem executadas nesta célula de trabalho,e qual o design da aplicação a adotar para que essas instruções consigam ser executadas.

(46)
(47)

Capítulo 4 - Design da aplicação de software Pedro Miguel Pereira 29

Capítulo 4

(48)

30 Pedro Miguel Pereira Capítulo 4 - Design da aplicação de software

Embora o objetivo desta dissertação já tenha sido exposto no primeiro capítulo, ainda que de um modo generalista, antes de se proceder à explicação do design utilizado para o desenvolvimento desta aplicação de software, convém detalhar um pouco o que se pretende obter como produto final, para que toda a informação constituinte deste capítulo seja mais facilmente entendida.

Neste sentido, após a análise do sistema físico, efetuou-se uma ponderação sobre quais as instruções em código-G que se pretendem executar neste sistema, dentro das suas características físicas. Considerando o contexto prático em que esta dissertação se enquadra e a célula de trabalho descrita, definiu-se que o sistema deveria reconhecer as instruções G00, G01, G02, G03, G20, G21, G22, G90 e G91. As primeiras quatro Words são referentes ao movimento do cursor da máquina, mais especificamente, as instruções G00 e G01, são utilizadas para realização de movimentos retilíneos em um, dois ou três eixos, contendo apenas uma diferença entre elas relativamente à velocidade do movimento, dado que a Word G00 utiliza uma velocidade pré-definida ao invés da Word G01 que possibilita a alteração de velocidade do movimento em causa. As instruções G02 e G03, são referentes a movimentos circulares no sentido horário e anti-horário respetivamente, e nenhuma delas permite alterar a velocidade que está a ser utilizada para o movimento da máquina. Por outro lado, as Words G20, G21, G90 e G91, não estão ligadas diretamente ao movimento da máquina mas sim às especificações relativas ao ficheiro carregado. Mais detalhadamente, as instruções G20 e G21, representam a unidade métrica a ser utilizada durante o processo de determinação dos parâmetros de cada instrução, sendo que o valor 20 indica que o ficheiro carregado foi projetado em inches e o valor 21 indica uma projeção em milímetros. Relativamente às Words G90 e G91, estas são referentes ao modo como o ficheiro foi projetado, ou seja, a instrução G90 significa que o ficheiro carregado esta projetado para que as coordenadas do mesmo estejam em valores absolutos, isto é, a sua posição é sempre referente à origem do movimento, e a instrução G91,é indicativaque as coordenadas do ficheiro foram projetadas em valores relativos, ou seja, a sua posição é sempre referente à posição da coordenada anterior.

Neste capítulo, a explicação do design do software concebido tem como propósito expor quais as funcionalidades do mesmo, considerando não só a compatibilidade entre o sistema e as instruções escolhidas para serem reconhecidas, como também pretende explicar outros detalhes que foram necessários ponderarde modo a conseguir cumprir o objetivo desta dissertação.

(49)

Capítulo 4 - Design da aplicação de software Pedro Miguel Pereira 31

4.1 Princípio de funcionamento da aplicação

Com o objetivo de facilitar o entendimento da aplicação desenvolvida, de seguida serão evidenciadas as suas funcionalidades através do recurso a fluxogramas, começando por expor de um modo mais generalista as capacidades do programa e mostrando posteriormente com mais detalhe os processos fulcrais do mesmo. Estes fluxogramas pretendem dar a entender o fluxo de informação dentro da aplicação, assim como quais as opções a escolher para criar esse mesmo fluxo. Nesta descrição do funcionamento da aplicação, o conceito de início e final do programa, normalmente utilizado em fluxogramas, foi adaptado à janela inicial ou final onde se encontram os botões disponíveis para o utilizador selecionar, o conceito de processo foi adaptado à seleção de um botão, o conceito de subprocesso é utilizado quando se providencia algum tipo de informação ao utilizador, e por fim os blocos de decisão constituem fases do estado de um processo após este ser selecionado. Quanto à estrutura do fluxograma, é de salientar que no final de cada processo existe sempre a opção de voltar para o processo anterior, repetir o processo em causa ou encerrar a aplicação. A imagem seguinte representa um esquema sucinto das funcionalidades deste programa.

Figura 15 - Fluxo de informação no programa.

Ao executar esta aplicação, o utilizador defronta-se com duas opções iniciais, designadamente, “Manipulação Automática” e “Manipulação Manual”. Estas duas opções são representativas dos dois módulos principais do programa desenvolvido. Ao selecionar a opção

(50)

32 Pedro Miguel Pereira Capítulo 4 - Design da aplicação de software

“Manipulação Automática”, pressupõe-se que o utilizador pretende manusear a máquina em causa, com base num ficheiro de texto constituído por instruções escritas em Código-G. Neste sentido é disposta a possibilidade de “Carregar Ficheiro” ou realizar um “Ajuste de Offset”. A opção “Ajuste de Offset”, deriva do caris prático a que este programa se destina, isto é, considerando que o objetivo desta aplicação é manipular a máquina XYZ referida para produção de um produto final, grande parte das vezes a origem do sistema de eixos da maquina não é coincidente com a origem do ficheiro a carregar, portanto na opção “Ajuste de Offset” o utilizador fornece os dados necessários para fazer esse importante e por vezes essencial ajuste, antes de carregar um ficheiro. Posto isto, após realizado esse ajuste de offset, assim que um ficheiro seja carregado, o programa realiza automaticamente os cálculos necessários para descobrir os novos valores das coordenadas. Deste modo o movimento dos eixos é iniciado com os novos valores geométricos determinados até cumprir o seu propósito. É de salientar que na eventualidade do utilizador pretender carregar um ficheiro sem realizar nenhum tipo de ajuste, essa opção também é suportada. No final, o utilizador pode encerrar o programa, carregar um novo ficheiro ou voltar para a página inicial.

Por outro lado, este programa tem também a capacidade de fornecer ao utilizador a possibilidade de manusear a máquina de um modo não automático,ou seja, com movimentos controlados diretamente pelo operador da máquina. Este modo denomina-se de “Manipulação Manual” e suporta três tipos de movimentos, nomeadamente, retilíneos, circulares e quadrangulares. Neste modo, ao contrário do que acontece quando se carrega um ficheiro, o utilizador insere os parâmetros necessários para a realização do movimento em causa diretamente na aplicação. Esta funcionalidade pode ser muito útil para verificar se os constituintes físicos do sistema estão em bom funcionamento, se as parametrizações do módulo mecânico estão a ser corretamente aplicadas e pode servir também para uma melhor adaptação de um novo utilizador a célula de trabalho, antes de utilizar a opção de manipulação automática.

Posto isto, após realizada uma explicação geral das funcionalidades deste programa, serão então abordados com mais detalhe alguns dos processos mais importantes do mesmo.

4.2 Manipulação Automática

Considerando o nível de detalhe de cada opção disponível na janela “Manipulação Automática”, dividiu-se este subcapítulo nas duas partes constituintes da mesma.

(51)

Capítulo 4 - Design da aplicação de software Pedro Miguel Pereira 33

4.2.1 Carregar Ficheiro

A opção “Carregar Ficheiro” encontra-se dentro do módulo de manipulação automática e pode ser considerada como o processo mais importante deste programa. Assim que o utilizador escolha esta opção exposta na página inicial, é aberta uma nova janela com as opções “Procurar Ficheiro”, “Ler ficheiro” e “Separar Texto”. A figura seguinte demonstra o fluxo de informação no processo de carregamento de um ficheiro até ao início do movimento.

Figura 16 - Fluxograma do carregamento de um ficheiro.

De um modo sequencial, ao selecionar o botão para procurar um ficheiro, o utilizador fornece ao sistema a localização do ficheiro a carregar, de seguida ao clicar no botão para ler o ficheiro, não só é inserido no sistema o conteúdo do ficheiro de texto escolhido, como também é utilizada uma caixa de texto para mostrar ao utilizador esse mesmo conteúdo. No seguimento destas opções, a opção para separar o texto representa o processo encarregue de realizar uma análise lexical e sintática de todas as instruções constituintes do ficheiro carregado. Neste sentido, caso exista algum erro desse género, é apresentada uma mensagem ao utilizador e o programa retorna para a opção de procurar um ficheiro. Contudo, se o ficheiro não contiver nenhum erro, as instruções são analisadas caractere a caractere, de modo a obter todos os

Imagem

Figura 3 - Unidade de controlo de um sistema de controlo numérico convencional [6].
Figura 5 - Ferramenta para gerar Código-G graficamente [15].
Figura 7 - Indicação da linha do programa onde existe um erro relativamente ao valor máximo de uma coordenada [19].
Figura 8 - a) Interface gráfica para sistemas de CNC a laser. b) Interface gráfica para sistemas de CNC de torneamento
+7

Referências

Documentos relacionados

O tema da maturidade dos processos de desenvolvimento de software foi ganhando força na comunidade da engenharia de software, em conseqüência dos resultados práticos obtidos

Na prestação de serviços logísticos, a empresa utiliza em todas as suas operações o software gerenciador de armazém (WMS). Sua utilização pode ter influenciado a melhoria

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Para identificar quais treinamentos serão necessários para cada trabalhador ou equipe dentro de uma organização desenvolver um programa eficaz de T&D, pode-se buscar

No método criado por Jeff Sutherland e formalizado por Ken Schwaber (SCHWABER e SUTHERLAND, 2013), a equipe de desenvolvimento trabalha de forma unida e com o objetivo

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27