15
Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA XVI ENCITA / 2010 Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010 1 Controle de robôs industriais via Labview™ Leonel Lopes Lima Neto Instituto Tecnológico de Aeronáutica Rua H20B, casa, nº 114, Campus do CTA São José dos Campos São Paulo 12.228-460 Bolsista PIBIC-CNPq [email protected] Emilia Villani Instituto Tecnológico de Aeronáutica Pça. Mal. Eduardo Gomes, 50 CTA ITA - 12.228-900 São José dos Campos São Paulo [email protected] Resumo. A pesquisa consistiu em desenvolver um estudo sobre a linguagem de programação Labview™ e suas principais aplicações na indústria; estudar e entender o funcionamento de um robô industrial e suas principais características, formas de utilizar e programar estes sistemas e usá-los com segurança para executar um processo industrial qualquer; e, por fim, desenvolver uma aplicação de robótica utilizando Labview™ em um computador industrial para se comunicar com o controle dos manipuladores robóticos industriais. Palavras chave: Robótica, Labview, Mecatrônica, Controle 1. Introdução Atualmente, na indústria aeronáutica nacional, o processo de rebitagem da fuselagem de uma aeronave é realizado manualmente; desta forma, a precisão e confiabilidade desta atividade não é maximizada. Foi identificado que um robô industrial poderia automatizar o processo em questão e isto pode ser um diferencial competitivo na indústria. Para alcançar este objetivo, uma das formas de utilizar o robô no processo e enviar dados do computador industrial é realizar uma comunicação entre ambos, e com isso pode-se programar para que o robô execute um processo industrial qualquer. A comunicação dar-se-á via OPC (OLE for Process Control), assim pode-se utilizar o robô como servidor OPC e o computador industrial como cliente OPC. O problema consiste em comunicar por meio de uma conexão segura o computador com o robô para que ele possa posicionar-se corretamente e executar a tarefa pedida. Para isso, deve-se realizar todas as configurações necessárias para comunicação OPC e estudar a fundo este tipo de comunicação. 2. Configuração DCOM Antes de entrar na parte de comunicação propriamente dita, é necessário configurar os computadores para que seja possível usar o protocolo. O OPC utiliza o sistema operacional Windows, por isso é necessário fazer algumas configurações ligadas à segurança do Windows. O DCOM, que significa “Distributed Component Object Model”, é um protocolo que torna possível para componentes de software se comunicar diretamente usando a rede. DCOM é parte do Microsoft Windows e gerencia a comunicação entre aplicativos de computadores remotos. Há varias formas de se configurar um sistema para trabalhar com o protocolo OPC. Para implementar um cliente OPC usando Labview, foram feitas as configurações listadas a seguir: 2.1. Contas de usuário e senha do Windows O cliente OPC e o servidor OPC devem ter o mesmo Usuário e Senha do Windows. As contas devem ser do tipo administrador. 2.2. Firewall O Firewall é um ponto importante desta configuração. É necessário desativar qualquer tipo de firewall que esteja instalado no computador. No caso do Firewall do Windows, este deve ser desativado. Procedimento para desabilitar o Firewall do Windows: A) Clique no „Menu Iniciar / Painel de Controle‟; B) Duplo clique em no ícone „Firewall do Windows‟; C) Desligue o Firewall selecio nando „Off‟;

Controle de robôs industriais via Labview™ - bibl.ita.br · Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010 Instituto Tecnológico

  • Upload
    lynhan

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

1

Controle de robôs industriais via Labview™

Leonel Lopes Lima Neto Instituto Tecnológico de Aeronáutica

Rua H20B, casa, nº 114, Campus do CTA

São José dos Campos – São Paulo 12.228-460

Bolsista PIBIC-CNPq

[email protected]

Emilia Villani Instituto Tecnológico de Aeronáutica

Pça. Mal. Eduardo Gomes, 50 – CTA – ITA - 12.228-900 São José dos Campos – São Paulo

[email protected]

Resumo. A pesquisa consistiu em desenvolver um estudo sobre a linguagem de programação Labview™ e suas principais

aplicações na indústria; estudar e entender o funcionamento de um robô industrial e suas principais características, formas de

utilizar e programar estes sistemas e usá-los com segurança para executar um processo industrial qualquer; e, por fim, desenvolver

uma aplicação de robótica utilizando Labview™ em um computador industrial para se comunicar com o controle dos manipuladores robóticos industriais.

Palavras chave: Robótica, Labview™, Mecatrônica, Controle

1. Introdução

Atualmente, na indústria aeronáutica nacional, o processo de rebitagem da fuselagem de uma aeronave é

realizado manualmente; desta forma, a precisão e confiabilidade desta atividade não é maximizada. Foi identificado que

um robô industrial poderia automatizar o processo em questão e isto pode ser um diferencial competitivo na indústria.

Para alcançar este objetivo, uma das formas de utilizar o robô no processo e enviar dados do computador

industrial é realizar uma comunicação entre ambos, e com isso pode-se programar para que o robô execute um processo

industrial qualquer. A comunicação dar-se-á via OPC (OLE for Process Control), assim pode-se utilizar o robô como

servidor OPC e o computador industrial como cliente OPC.

O problema consiste em comunicar por meio de uma conexão segura o computador com o robô para que ele

possa posicionar-se corretamente e executar a tarefa pedida. Para isso, deve-se realizar todas as configurações

necessárias para comunicação OPC e estudar a fundo este tipo de comunicação.

2. Configuração DCOM

Antes de entrar na parte de comunicação propriamente dita, é necessário configurar os computadores para que

seja possível usar o protocolo. O OPC utiliza o sistema operacional Windows, por isso é necessário fazer algumas

configurações ligadas à segurança do Windows. O DCOM, que significa “Distributed Component Object Model”, é um

protocolo que torna possível para componentes de software se comunicar diretamente usando a rede. DCOM é parte do

Microsoft Windows e gerencia a comunicação entre aplicativos de computadores remotos.

Há varias formas de se configurar um sistema para trabalhar com o protocolo OPC. Para implementar um cliente

OPC usando Labview™, foram feitas as configurações listadas a seguir:

2.1. Contas de usuário e senha do Windows

O cliente OPC e o servidor OPC devem ter o mesmo Usuário e Senha do Windows. As contas devem ser do tipo

administrador.

2.2. Firewall

O Firewall é um ponto importante desta configuração. É necessário desativar qualquer tipo de firewall que esteja

instalado no computador. No caso do Firewall do Windows, este deve ser desativado.

Procedimento para desabilitar o Firewall do Windows:

A) Clique no „Menu Iniciar / Painel de Controle‟;

B) Duplo clique em no ícone „Firewall do Windows‟;

C) Desligue o Firewall selecionando „Off‟;

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

2

2.3. Configurando Serviços de Componentes do Windows

Para permitir a comunicação é necessário realizar a configuração de serviço de componentes. Esta configuração é

extensa e não será tratada neste artigo.

3. Configurando o Cliente OPC no ambiente Labview™

Um Cliente OPC pode ser criado em um ambiente de programação para trocar dados com o servidor Kuka. Neste

projeto optou-se por usar o ambiente de programação do Labview™ que esta disponível no laboratório. No Labview™

é preciso criar um projeto em que o Cliente OPC está conectado e troca dados através do uso de variáveis

compartilhadas.

Primeiramente é necessário criar um projeto dentro do Labview™ e conectar este projeto com o Servidor OPC

desejado.

Procedimento para criar um projeto ligado ao Servidor OPC:

A) Clique no ícone do „Labview‟ e selecione „Empty Project‟.

B) Dentro da janela „Project Explorer‟, clique com o botão direito em „My Computer / New / I/O Server„como

mostra a Figura 1.

Figura 1: Criando um projeto conectado a um „I/O Server‟ no Labview™.

C) Uma janela será aberta para escolha do tipo de I/O Server que será utilizado. Clique na opção „OPC Client‟

como mostra a Figura 2 e clique no botão „Continue‟ para configurar o Server.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

3

Figura 2: Escolhendo a opção „OPC Client‟.

A) Na janela de configuração, continuar a configuração do servidor na aba „Settings‟ clicar em „Browse‟ e

escolher a opção „Network‟ como mostra a Figura 3.

Figura 3: Escolhendo a opção „Network‟ na ligação do cliente com o servidor.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

4

B) Na janela „Select a OPC Server‟ navegue pela rede até o computador e clique no servidor OPC desejado,

neste exemplo o KukaSrvr.DA como mostra a Figura 4. Após selecionar o servidor OPC desejado clique

em OK para finalizar a configuração do I/O Server.

Figura 4: Selecionando o servidor OPC desejado na rede.

Após conectar o projeto ao servidor OPC desejado é necessário agora criar as variáveis e conectá-las as variáveis

que o servidor OPC disponibiliza.

Procedimento para criar as variáveis compartilhadas conectadas ao servidor OPC remoto:

A) Clique com o botão direito em „Untitled Library 1‟ disponível na árvore dentro do „Project Explorer‟. Se

não houver nenhuma biblioteca criada, clique em „My Computer / New / Library‟ para criar uma

biblioteca.

B) Selecione a opção „Create Bound Variables‟ como mostra a Figura 5.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

5

Figura 5: Selecionando a opção para criar variáveis ligadas dentro da biblioteca.

C) Navegue dentro da janela „Create Bound Variables‟ e em „Project Items‟ clique em „OPC1‟ que é o

nome dado ao servidor OPC conectado ao cliente. Como mostra a Figura 6.

D) Selecione as variáveis de interesse dentro do servidor remoto e clique em „Add‟. As variáveis

adicionadas devem aparecer dentro da janela „Added Variables‟.

E) Depois de adicionar todas as variáveis de interesse clique em OK para terminar a conexão de variáveis

ao projeto.

F) Uma janela chamada „Multiple Variable Editor‟ aparece para simples conferencia de quais foram as tags

adicionadas ao Cliente OPC e seu estado atual. Clique em Done para finalizar esta etapa.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

6

Figura 6: Selecionando a tags disponibilizadas pelo servidor KukaSrvr.DA.

G) Clique com botão direito em „Untitled Library‟ e selecione a opção „Deploy‟.As variáveis conectadas ao

servidor devem aparecer no árvore do „Project Explorer„ como mostra a Figura 7.

Figura 7: Variáveis do Servidor OPC aparecem no „Project Explorer‟ dentro de „OPC1‟.

Dentro do „Project Explorer‟ existe uma ferramenta de visualização das tags que estão sendo lidas dentro do

projeto. Para acessar esta ferramenta e verificar o status de conexão destas variáveis basta clicar no menu „Tools‟ e

selecionar a opção „Distributed System Manager‟. A Figura 8 mostra como esta ferramenta disponibiliza os dados e

valores das variáveis conectadas ao projeto.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

7

Figura 8: Variáveis do Servidor OPC na ferramenta „Distributed System Manager‟.

Para utilizar estas variáveis dentro de Virtual Instrument (VI) do Labview™ é necessário criar o VI dentro do

mesmo Projeto. As variáveis podem ser conectadas dentro do diagrama de blocos, e para utilizá-las é necessário arrastar

as variáveis para dentro do diagrama, como mostra a Figura 9.

Figura 9: Arrastando as variáveis do „Project Explorer‟ e colocando no Diagrama de Blocos.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

8

4. Procedimento para comunicação usando OPC entre o controlador do KR-500 e o computador industrial

Deve-se agora fazer a comunicação entre o controlador do Robô Kuka KR-500 e o computador industrial, usando

o protocolo OPC. Esta forma de ler e escrever dados em variáveis do Robô Kuka será utilizada para trocar dados entre o

software de controle do computador industrial e o manipulador KR500.

4.1. Conexão física entre o computador industrial e o Robô KR-500

O controlador do KR-500 e o computador industrial estão interligados através de uma rede local ethernet. A

Figura 10 mostra a topologia da rede local que interconecta os controlador do computador industrial e os robôs Kuka

KR-500.

Figura 10 – Topologia de rede a ser utilizada pelo OPC

A rede local para troca de dados é isolada da rede do ITA, ou seja, é usada apenas na troca de dados entre o

cliente OPC (EFIP2) e os servidor OPC (controladores do robô KR-500).

4.2. Configuração da rede ethernet

A Figura 11 ilustra a configuração que deve ser feita para ser possível estabelecer a comunicação via protocolo

OPC com o KR-500. O endereço de IP do cliente OPC deve configurado para a mesma sub-rede do computador

industrial. Neste caso o cliente OPC está configurado com o endereço de IP 170.170.6.15 e o servidor OPC está

configurado com o IP 170.170.6.2, como ilustra a Figura 23.

EFIP 2

Switch Ethernet

Ethernet

Protocolo OPC

Servidor Kuka

OPC

KR-210

Servidor Kuka OPC

KR-210

Cliente OPC Labview

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

9

Figura 11 – Configuração do endereço IP do servidor.

4.3. Declaração das variáveis de escrita do KR-500

As variáveis que serão usadas como leitura e escrita devem ser configuradas no controlador do KR-500 para

ser possível utilizá-las no servidor OPC. O arquivo CONFIG.DAT é um arquivo de configuração do robô e nele estão as

declarações das variáveis globais. Usando variáveis globais, estas podem ser acessadas de outros programas e podem

ser declaradas no Servidor OPC Kuka. A Figura 12 mostra a declaração das variáveis globais declaradas.

Figura 12 – Declaração das variáveis globais no arquivo CONFIG.DAT

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

10

Duas novas variáveis são declaradas no arquivo para que depois sejam incluídas no servidor: passo e local_k.

A variável passo é do tipo real e é utilizada para informar ao robô o valor que deve ser somado a posição inicial para

alcançar a posição desejada. Esta variável pode ser modificada usando o cliente OPC desenvolvido no Labview™. A

variável local_k é do tipo E6POS. Esta é uma estrutura de dados que contém variáveis reais e inteiras usada pelo

sistema Kuka para variáveis que identificam os pontos no espaço onde o robô se movimenta.

4.4. Declaração das variáveis no servidor OPC Kuka

As novas variáveis são declaradas também no servidor OPC Kuka. A Figura 13 mostra a interface do servidor

Kuka.

Figura 13 – Interface do servidor OPC Kuka

O servidor Kuka aceita a inclusão de variáveis que já estejam declaradas no sistema de programação. Pode-se

incluir variáveis através do modo texto do arquivo de configuração mostrado na Figura 14.

Figura 14 – Servidor OPC com as variáveis incluídas no modo texto.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

11

4.5. Programação para movimentação do KR-500

Um programa desenvolvido no ambiente de programação do KR-500 utiliza as variáveis declaradas para

movimentar o robô. A Figura 15 mostra o programa de movimentação do robô KR-500.

Figura 15 – Programa de movimentação do Robô KR500

4.6. Utilização das variáveis no Labview™

No ambiente Labview™ são usadas as variáveis do controlador Kuka declaradas no servidor OPC. A Figura

16 mostra as variáveis do robô sendo visualizadas dentro do Labview™.

Figura 16 – Variáveis do robô sendo acessadas pelo Labview™.

A Figura 17 mostra a variável passo de leitura escrita sendo lida pelo Labview™ usando a ferramenta „NI

Distributed System Manager‟.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

12

Figura 17 – Variável passo sendo visualizada pela ferramenta do Labview™.

4.7. Programa de leitura escrita no Labview™

No ambiente Labview™ foi desenvolvido um cliente OPC e um VI que pode ler e escrever dados nas variáveis lidas

pelo Cliente OPC. A Figura 18 mostra o VI do Labview™ ligado às variáveis do robô.

Figura 18 – Diagrama de blocos do VI utilizando as variáveis do KR-500 lidas pelo cliente OPC.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

13

A Figura 19 mostra o painel frontal do VI para escrever na variável passo.

Figura 19 – Painel frontal do VI utilizando as variáveis do KR-500 lidas pelo Cliente OPC.

5. Programa para alinhamento com fuselagem

Após revistas as configurações DCOM, ter testado como programar no robô KUKA e integrar este programa

com o Labview™, foi feito um programa para levar o robô até um local próximo da fuselagem, local onde receberia

dados de um sensor de posição e faria um ajuste com a fuselagem.

O programa é mostrado na Figura 20:

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

14

Figura 20 – Programa para alinhamento do robô com a fuselagem da aeronave.

O programa funciona da seguinte maneira: primeiramente todas as variáveis são zeradas. Há duas variáveis de

controle (ler_dados e movi_robo), estas variáveis booleanas autorizam a leitura dos dados provenientes do Labview™ e

a movimentação do robô respectivamente. Ao chegar na posição de alinhamento inicial (variável posição_aln), o

programa recebe as variáveis alvo_x, alvo_y e alvo_z, as quais são a diferença da posição desejada para a posição

ocupada pelo robô.

O diagrama de blocos do VI do Labview™, o qual está ligado às variáveis do robô, utilizado neste

programa está mostrado na Figura 21.

Figura 21 – Diagrama de blocos do VI utilizado para alinhamento do robô com a fuselagem.

Anais do XVI Encontro de Iniciação Científica e Pós-Graduação do ITA – XVI ENCITA / 2010

Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, 20 de outubro de 2010

15

O painel frontal do VI utilizado no programa em questão está mostrado na Figura 22. É possível alterar o valor

das variáveis diretamente nele e também fazer a leitura da posição do robô.

Figura 22 – Painel frontal do VI utilizado para alinhamento do robô com a fuselagem.

6. Agradecimentos

Agradeço à professora Emilia Villani por disponibilizar-se a orientar meu projeto de pesquisa.

Agradeço também à mestranda Keliane Santos e a todos que trabalham no LAME por me ajudarem durante o

trabalho no laboratório.

Agradeço, por fim, ao CNPq por me possibilitar a realização de um projeto de iniciação científica.