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
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
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.