UNIVERSIDADE DE BRASILIA
Faculdade de Tecnologia
Curso de Graduao em Engenharia de Controle e Automao
TRABALHO DE GRADUAO
PROJETO E IMPLEMENTAO EM CONTROLADOR
INDUSTRIAL PARA POSICIONAMENTO DE RISERS
COM VALIDAO EXPERIMENTAL
Por,
Banca Examinadora
Prof.
Eugnio Librio Feitosa Fortaleza,
ENM/UnB
Orientador
Prof. Eduardo Stockler Tognetti, ENE/UnB
Co-orientador
FICHA CATALOGRFICA
REIS, ATAIAS PEREIRA; NETO, EMANUEL PEREIRA BARROSO;
Projeto e Implementao em Controlador Industrial para Posicionamento de Risers com Validao
Experimental ,
[Distrito Federal] 2015.
x, 47p., 297 mm (FT/UnB, Engenheiro, Controle e Automao, 2015). Trabalho de Graduao
Universidade de Braslia.Faculdade de Tecnologia.
1. Controle em Malha Fechada
3. Sistemas Offshore
I. Mecatrnica/FT/UnB
REFERNCIA BIBLIOGRFICA
REIS, A. P., NETO, E. P. B. (2015). Projeto e Implementao em Controlador Industrial para
Posicionamento de Risers com Validao Experimental. Trabalho de Graduao em Engenharia
de Controle e Automao, Publicao FT.TG-n 0XX, Faculdade de Tecnologia, Universidade de
Braslia, Braslia, DF, 109p.
CESSO DE DIREITOS
AUTORES: Ataias Pereira Reis e Emanuel Pereira Barroso Neto
TTULO DO TRABALHO DE GRADUAO: Projeto e Implementao em Controlador
Industrial para Posicionamento de Risers com Validao Experimental.
GRAU: Engenheiro
ANO: 2015
Dedicatrias
A Emanuel B., meu av, fonte de inspirao
eterna
Agradecimentos
RESUMO
A extrao de petrleo em guas profundas requer operaes bastante complexas. Em especial, a
operao de entrada reentrada ocorre quando um riser conectado de sua plataforma a um poo
de petrleo. O deslocamento do riser at o poo deve ser feito de forma rpida e precisa, mas,
atualmente, o controle de posio manual, o que pode ser ineficiente. O presente trabalho busca
validar tcnicas de controle por meio de experimentos em uma planta de laboratrio representativa
de um riser por meio de controle em malha aberta e fechada para operar o deslocamento do riser
de forma automtica, com resultados rpidos e precisos, alm de oferecer resistncia a perturbaes
causadas pelo oceano, para que a ponta do riser seja corretamente conectada ao poo.
Palavras Chave: riser, controle, deslocamento
ABSTRACT
Deep sea petroleum exploration requires very complex operations. Particularly, the re-entry operation occurs when a riser is connected from the platform to a wellhead. The risers displacement
must be done quickly and precisely but, presently, the position control is manual, which may be
inefficient. The present paper seeks to validate control techniques with experiments in a riser
representative lab plant using open and closed loop control to operate the risers displacement
automatically, with fast and precise results, in addition to offering resistance against disturbances
caused by the ocean, so that risers tip is correctly connected to the wellhead.
Keywords: riser, control, displacement
SUMRIO
1
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1
Contextualizao....................................................................
1.2
Objetivos do projeto ...............................................................
1
1
1
Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Equaes Governantes .............................................................
2.2
Controle ...............................................................................
2.3
Bancada.................................................................................
2.3.1
Controlador Lgico-Programvel .............................................
2.3.2
SERCOS Interface...................................................................
2.3.3
Line Interface Module 2094-AL09 ..............................................
2.3.4
Drive Kinetix 6000 da Allen Bradley .........................................
2.3.5
Servomotor ............................................................................
2.3.6
Sensores indutivos ...................................................................
2.3.7
Cmera PresencePlus ..............................................................
2.4
Redes Utilizadas .....................................................................
2.4.1
DeviceNET .............................................................................
2.4.2
Ethernet/IP ...........................................................................
2.5
Programao do CLP...............................................................
2.5.1
Viso geral ............................................................................
2.5.2
Linguagem ladder ......................................................................
2.5.3
Texto Estruturado .................................................................
2.6
Parmetros para gerar trajetrias ...........................................
4
4
4
5
5
7
8
8
8
9
10
11
11
11
12
12
12
14
15
Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
Cmera ..................................................................................
3.1.1
Configurao da Rede .............................................................
3.1.2
Calibrao .............................................................................
3.1.3
Programao ..........................................................................
3.2
Calibrao do Servomotor .......................................................
3.3
Malha aberta .........................................................................
3.3.1
Excurso de 30cm ....................................................................
3.3.2
Excurso de 20cm ....................................................................
16
16
16
17
18
18
19
19
20
ii
3.4
3.4.1
4
Malha fechada........................................................................ 21
Controlador P ....................................................................... 22
Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1
Perspectivas Futuras ............................................................... 23
REFERNCIAS BIBLIOGRFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Anexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
I
Programas utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.1
Texto Estruturado .................................................................
I.1.1
Inicializao do primeiro teste de malha aberta ..........................
I.1.2
Inicializao do segundo teste de malha aberta...........................
I.1.3
Inicializao dos testes de malha fechada ..................................
I.1.4
Inicializao da rede DeviceNET ...............................................
I.1.5
Programa de controle em malha aberta .....................................
I.1.6
Programa de controle proporcional - malha fechada ..................
I.2
Linguagem ladder ......................................................................
I.2.1
Execuo de trigger da cmera ...................................................
I.2.2
Rotina de parada de emergncia ................................................
I.3
Programas da cmera ..............................................................
I.3.1
Deteco da posio horizontal da bolinha.................................
27
27
27
31
33
34
34
34
35
35
35
35
35
LISTA DE FIGURAS
1.1
1.2
1.3
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
I.1
I.2
I.3
iv
2
2
2
17
18
20
20
20
20
21
21
21
21
22
22
22
LISTA DE TABELAS
2.1
2.2
2.3
2.4
3.1
3.2
13
13
15
15
LISTA DE SMBOLOS
Smbolos Latinos
v
r
Velocidade linear
Referncia de posio
[m/s]
[m]
Smbolos Gregos
Velocidade angular
[rad/s]
Sobrescritos
Variao temporal
Valor mdio
Siglas
PCI
CPU
CAN
CIP
CLP
PWM
SI
EDS
RSLogix
RSLogix5000
vi
Captulo 1
Introduo
A motivao do presente trabalho aparece na rea
petrolfera, nas operaes de reentrada de risers
e o objetivo a validao de um sistema de controle em malha fechada em escala laboratorial
como uma alternativa ao modelo manual empregado atualmente.
1.1
Contextualizao
O petrleo tem importncia econmica global. Uma das formas de extrao do mesmo aquela
feita em guas profundas, a qual o Brasil tem feito importantes avanos desde a descoberta do
Pr-Sal em 2006. Em abril de 2015, chegou-se produo de mais de 800 mil barris por dia no
pr-sal, com campos situados em guas profundas e ultraprofundas [3]. Os desafios nesta rea da
engenharia so enormes, pois as operaes so muito complexas.
Na Figura 1.1, observa-se uma das operaes necessrias para a extrao no Pr-Sal, especificamente a operao de reentrada. Nesta operao, um riser deve ser conectado da plataforma
at o poo de petrleo no leito ocenico. O comprimento do riser chega a 2km.
Devido complexidade inerente das diversas operaes offshore, propulsores e sensores de
localizao e orientao - GPS, giroscpios, cmeras, etc - so requisitos essenciais para se poder
posicionar a embarcao e os risers [2].
1.2
Objetivos do projeto
O foco deste trabalho est na operao de reentrada, conforme apresentada na Figura 1.1.
Atualmente, uma operao feita manualmente por um operador na plataforma que observa
remotamente as imagens capturas por ROV s (Remotely Operated Vehicles) da regio do riser
prxima ao poo e controla a plataforma atravs de um joystick com o auxlio do sistema de
posicionamento dinmico. O custo envolvido na operao enorme e os riscos para o equipamento
tambm, j que os prprios ROVs e o riser ficam sujeitos s perturbaes das ondas, correntezas
Anteriormente, duas fontes de tenso de sada ajustvel eram utilizadas, mas foram trocadas por fontes de sada
de tenso nica.
Captulo 2
Fundamentos
Este captulo apresenta equaes bsicas do sistema que se deseja validar, assim como informaes sobre a bancada laboratorial e tambm sobre
a programao do CLP.
2.1
Equaes Governantes
Estruturas submarinas tais como os risers so esbeltas e tem um alto mdulo de cisalhamento.
Portanto, a simplificao de Euler-Bernoulli para vigas utilizada para propsitos de modelagem.
O deslocamento de interesse o horizontal e o riser est sob a ao de foras hidrodinmicas
externas e de trao. A equao diferencial parcial para a varivel deslocamento, , dada por
ms
2
4
=
EJ
+
T (z)
2
4
t
z
z
z
+ Fn (z, t),
(2.1)
- -
2
Fn (z, t) = mf 2 -,
t
t - t
(2.2)
2.2
Controle
ramente, apresenta-se o controle em malha aberta, cujo diagrama pode ser observado na Figura
2.1. A varivel r = r(t) a referncia do sistema. Neste tipo de controle, a sada no realimentada na entrada. Desta forma, este tipo de controle no requer sensores, pois somente d
uma referncia de entrada que a planta deve seguir. Caso haja erros para seguir a trajetria, eles
no podero ser compensados e um controle mais recomendado quando o sistema preciso e h
pouca ou nenhuma perturbao. No entanto, este no o caso do riser, pois o movimento das
guas no leito ocenico perturba o tubo, causando erros na posio final desejada.
Perturbaes
r
Controlador
Planta
Controlador
Planta
ym
Medio
Figura 2.2: Malha fechada de controle
2.3
Bancada
A bancada da ponte rolante presente no Laboratrio de Automao e Controle est esquematizada na Figura 2.3. Sero detalhados os componentes desta bancada, de modo a se entender o
papel de cada um deles. Observe que no esquemtico falta a cmera, que um sensor que fica de
frente para a bancada.
2.3.1
Controlador Lgico-Programvel
O controlador lgico-programvel (CLP - ver Figura 2.4) a espinha dorsal da bancada. Ele
responsvel por executar os comandos de controle sobre todos os elementos que esto conectados
DeviceNET;
EtherNet/IP.
Cada um desses mdulos ser apresentado posteriormente com mais detalhes. Alm dos mdulos, o controlador ainda possui um switch liga/desliga presente no chassis. No mdulo Logix,
h uma chave responsvel por alterar o modo de funcionamento do mesmo. As posies possveis
dessa chave so:
RUN;
REM;
PROG;
Na prtica, o modo REM se divide em dois modos: REM RUN e REM PROG. A maneira
de se diferenciar os dois observar, no mdulo Logix, o estado do LED indicador de modo RUN
quando a chave estiver na posio REM.
No modo RUN, o controlador apenas roda o programa presente em sua memria; no h
qualquer comunicao remota. No modo PROG, o controlador no roda nenhum programa; ele
apenas pode receber um novo cdigo. Nos modos REM, h a comunicao com o computador,
permitindo verificar valores de variveis de interesse e alterar, se necessrio, o programa a ser
rodado pelo controlador. O programa presente no controlador, em modo REM, s roda o cdigo
se estiver no modo REM RUN; se for necessrio atualizar o programa, o modo deve ser o REM
PROG.
2.3.2
SERCOS Interface
Sercos um barramento digital de automao que interconecta controladores, drives, dispositivos de entrada/sada e atuadores para mquinas e sistemas controlados numericamente. Foi
projetado para comunicao serial de alta velocidade de dados em sistemas de tempo real por meio
de fibra tica (Sercos I & II) ou um cabo Ethernet Industrial (Sercos III). Sercos um padro
internacional [5].
Num sistema Sercos, todas as malhas que
no drive. Isto reduz a carga computacional no
conseguiria caso contrrio. Alm disso, fechar
reduzir o efeito do atraso de transporte entre o
2.3.3
Este mdulo no apareceu no esquemtico da Figura 2.3, mas ele tem a funo essencial de
interfacear a rede trifsica com o servo drive, permitindo o acionamento do motor. Na Figura
2.5, se observa que h trs conjuntos de disjuntores nesse mdulo: CB1 liga ou desliga a rede
trifsica do drive , CB2 fornece tenso monofsica ao servo drive e CB3 liga as duas fontes
de tenso DC de 24V , responsveis pelas entradas e sadas digitais do mdulo e alimentao do
freio do motor [2].
Figura 2.5: Line Interface Module modelo 2094-AL09 da Allen Bradley [2]
2.3.4
Por meio da Interface Sercos, o CLP comanda o drive que ento fornece potncia ao motor. O
drive controla o servomotor por meio de pulsos PWM. A Figura 2.6 apresenta um Drive Kinetix
6000 da Allen Bradley similar ao utilizado no laboratrio. Mais detalhes sobre o funcionamento
do drive esto disponveis em [2] e [6].
2.3.5
Servomotor
2.3.6
Sensores indutivos
Os sensores indutivos so elementos detectores de presena, particularmente de objetos metlicos. Eles funcionam atravs da variao de campo magntico ocasionada pela presena do objeto
a ser identificado. Tal variao de campo magntico provoca uma variao de corrente dentro do
sensor, alterando seu estado.
Na presente bancada, h 6 sensores indutivos da famlia 871TM, similares ao da Figura 2.8,
fabricados pela Allen-Bradley. Eles so alimentados com tenso de 24 V, que est dentro dos
2.3.7
Cmera PresencePlus
A cmera PresencePlus P4 GEO da Banner Engineering foi utilizada no projeto - veja Figura
2.9. Esta cmera um sensor robusto utilizado em ambientes industriais com fcil utilizao. Sua
programao feita em software prprio da Banner e visual.
Dentre as capacidades da cmera, nota-se que ela pode capturar at 24 imagens por segundo.
No entanto, alm da captura das imagens h o processamento das imagens, que pode ser feito na
prpria cmera ou em um mdulo externo da prpria Banner, que tambm consome certo tempo.
O programa utilizado no projeto est disponvel no Anexo I.3.1.
10
2.4
2.4.1
Redes Utilizadas
DeviceNET
DeviceNET um protocolo de baixo nvel da camada de aplicao, voltado a ambientes industriais [8]. responsvel pela interconexo de dispositivos visando ao compartilhamento de
dados. Foi desenvolvido pela Allen-Bradley, em cima da tecnologia CAN (Control Area Networking), desenvolvida pela Bosch. Tal rede suporta comunicao entre dispositivos de baixo nvel,
como sensores e atuadores, e dispositivos de alto nvel, como o computador e o CLP [9].
O DeviceNET uma combinao entre a camada fsica disponibilizada pelo CAN e um protocolo industrial, o CIP (Common Industrial Protocol), que rege as redes industriais em geral.
Permite uma rpida configurao entre dispositivos a byte, suportanto tanto dispositivos analgicos quanto digitais [2]. Permite velocidades de transmisso de at 500 kbps, sendo bem mais lenta
que uma rede Ethernet.
No experimento, a rede DeviceNET utilizada para a conexo entre o CLP e os sensores
indutivos presentes na planta [2]. Devido flexibilidade dos sensores e da rede, suas informaes
podem ser trabalhadas tanto no modo analgico quanto no modo digital. Para fins de deteco
de fim-de-curso, entretanto, o modo utilizado o digital, uma vez que no ser preciso determinar
a distncia entre sensor e carrinho; apenas necessrio verificar se o carrinho est na rea de
deteco do sensor. O mdulo responsvel pelo gerenciamento da rede DeviceNET o 1756-DNB.
2.4.2
Ethernet/IP
A rede Ethernet/IP, introduzida em meados de 2001 pela ODVA (Open DeviceNet Vendor
Association) [10], um tipo de rede Ethernet voltada ao ambiente industrial, seguindo o CIP, assim
como o DeviceNET [11]. uma rede robusta, organizada segundo o modelo OSI de 7 camadas,
que permite conexo com dispositivos conectados a redes Ethernet padro; permite a passagem de
dados via pacotes TCP ou UDP; indicada em aplicaes que exigem uma transferncia rpida e
confivel de dados, principalmente em aplicaes de tempo real) [12].
O uso da rede Ethernet/IP vantajoso no sentido de que permite a conexo entre vrios ns
ligados entre si [10], o que no possvel com o RS-232, por exemplo. Porm, devido ao prprio
funcionamento da rede, fica mais difcil obter os dados, pois, ao contrrio de uma entrada serial,
necessrio lidar com toda uma estrutura baseada no TCP/IP, por exemplo. Alm disso, como o
Ethernet exige um tamanho mnimo de frame para transmisso de dados de cerca de 64 bytes, a
eficincia da transmisso pode ser afetada.
No presente experimento, a rede Ethernet/IP utilizada para receber dados de inspeo da
cmera, notadamente a posio horizontal da bola de isopor presa ao barbante. Alm disso, ela
utilizada na transferncia de programas entre o computador e o CLP (atravs do mdulo Ethernet
1756-ENBT/A), uma vez que ela prov uma comunicao mais rpida do que o RS-232.
11
2.5
2.5.1
Programao do CLP
Viso geral
2.5.2
2.5.2.1
Linguagem ladder
Introduo ao ladder
A linguagem ladder uma linguagem de programao grfica, e uma das primeiras a ser
utilizada na programao de CLPs. Seu nome vem do ingls ladder, que significa escada; nome
12
dado em razo dos programas, ao serem feitos, assumirem a forma de uma escada, e lidos de
cima para baixo (movimento de descida). Essa linguagem foi estruturada de forma a ter uma
simbologia semelhante de um diagrama de conexo de rels, que eram utilizados em indstrias
antes do CLP.
Todo programa ladder possui duas linhas verticais e, entre elas, uma ou mais linhas horizontais
nas quais so especificados os comportamentos do programa. A linguagem possui vrias instrues,
em sua maioria comuns entre diferentes tipos de CLP. A Tabela 2.1 mostra as principais instrues
utilizadas em ladder, utilizando a sintaxe presente no software RSLogix5000.
Tabela 2.1: Principais instrues ladder
Desenho da Instruo Nome da Instruo Descrio
-( )-
OTE
-(L)-
OTL
-(U)-
OTU
-[ ]-
XIC
-[/]-
XIO
2.5.2.2
Instrues especficas
MSO
MAJ
MAS
MSF
As funes descritas pela Tabela 2.2 lidam com outros tipos de variveis, como nmeros reais,
para a velocidade do motor, e at mesmo estruturas que o software RSLogix cria para armazenar
13
informaes sobre os eixos e o controle feito pelas instrues. Tais parmetros podem ser alterados
dentro dos blocos das funes. A Figura 2.10 mostra um exemplo de tais instrues.
2.5.3
2.5.3.1
Texto Estruturado
Viso geral do texto estruturado
Alm de ladder, que uma linguagem grfica, o CLP utilizado no experimento tambm suporta uma linguagem puramente textual, o texto estruturado. Essa linguagem uma linguagem
sequencial, que lembra muito linguagens como BASIC, C ou Pascal. Cada comando executado em sequncia, salvo em caso de desvios (estruturas do tipo if-then-else) ou repeties (loops,
estruturas do tipo while).
Em relao ao ladder, o texto estruturado possui vantagens e desvantagens. A principal vantagem o fato do texto estruturado se assemelhar s linguagens de programao mais utilizadas;
isso torna tal linguagem de fcil aprendizado. Alm disso, por ser texto, caso seja necessrio
editar muitos parmetros cuja criao seja de fcil automao, um programa auxiliar escrito em
linguagens de programao genricas pode simplificar a gerao do texto estruturado. Porm,
uma desvantagem do texto em relao ao ladder reside nas funes de movimentao, uma vez
que, ao contrrio do ladder, o texto estruturado no d uma indicao clara associando um valor
e a varivel que ele representa, alm da ordem dos parmetros. Isso torna o uso de funes como
MAJ (vide Tabela 2.2) um pouco mais complicado em texto estruturado.
2.5.3.2
Assim como o ladder, o texto estruturado permite o uso das funes descritas na tabela 2.2.
A sintaxe de uso dessas funes lembra muito a sintaxe da linguagem C, com o nome da funo e
uma lista de parmetros vlidos separados por vrgulas. A seguir, um exemplo de uso:
/
MSO: a t i v a o s e r v o c u j o e i x o eh d e s c r i t o
por d r i v e _ a x i s ; i n f o r m a c o e s de c o n t r o l e
s a o g r a v a d a s em MSO_1
14
/
MSO( d r i v e _ a x i s ,MSO_1) ;
/ A t r i b u i o v a l o r 0 . 0 ao p r i m e i r o e l e m e n t o do a r r a y s pe e d
s p e e d [ 0 ] := 0 . 0 ;
/ A t r i b u i 1 para d a t a I n i t i a l i z e d /
d a t a I n i t i a l i z e d := 1 ;
Nota-se que o cdigo apresentado, a menos da operao de atribuio, possui uma sintaxe
muito semelhante de C. A funo MSO acima recebe dois parmetros, assim como em ladder;
porm, a nica indicao de como os parmetros se comportam a ordem com que eles so
colocados; no caso de MSO, o 1 parmetro o eixo que ser inicializado, e o 2 parmetro uma
tag que guarda as informaes de controle executadas por MSO.
2.6
Fabrcio et al [4] desenvolveram um mtodo para gerar trajetrias offline (controle malha aberta)
assim como online (controle malha fechada). Para se utilizar do mtodo, necessrio ter parmetros do sistema. Se se fosse simular ou controlar o sistema real, utilizariam-se os dados da Tabela
2.3, conforme referncia [2].
Tabela 2.4: Dados para simulao em escala
laboratorial
Dados da Massa na Ponta - Isopor
0.55m
Dimetro interno
0.5m
Comprimento
2000m
Mdulo de Elasticidade
200GPa
Densidade
7860kg/m3
Densidade do fluido
Viscosidade dinmica
103 Pa s
30.6mm
Densidade
10kg/m3
Dimetro Externo
Dimetro externo
2mm
Dimetro interno
0mm
Comprimento
82cm
Mdulo de Elasticidade
2.1MPa
Densidade
191kg/m3
1.2754kg/m3
Viscosidade dinmica
17.2 106 Pa s
Como importante se validar o sistema, mas nem sempre isso possvel em escala real devido
ao altssimo custo e aos riscos envolvidos, necessrio um conjunto equivalente de parmetros tais
que permita validar o sistema em escala laboratorial. O riser representado por um barbante
e a gua trocada pelo ar. Uma massa na ponta foi adicionada e os dados resultantes esto na
Tabela 2.4.
15
Captulo 3
Resultados
Este captulo apresenta os procedimentos experimentais realizados e seus resultados.
3.1
Cmera
3.1.1
Configurao da Rede
A cmera estava com um firmware antigo e foi necessrio obter o arquivo 2014R1B PresencePLUS Firmware1 que o programa de atualizao da Banner Engineering para esta cmera.
Bastou execut-lo no computador, estando a cmera conectada ao switch do laboratrio assim
como o computador estava, ambos por cabos Ethernet. Antes desta atualizao, o software da
cmera no permitia selecionar a opo Ethernet/IP de forma a permitir utilizar o mdulo Ethernet/IP do CLP.
Uma vez atualizado o firmware, foi obtido o arquivo EDS2 da cmera que foi ento integrado
ao software da Rockwell no computador por meio do programa EDS Hardware Installation Tool
da prpria Rockwell, parte do RSLinx.
Aps os procedimentos anteriores, adiciona-se a cmera como um mdulo genrico usando
o software RSLogix, conforme instrues da Banner Engineering [14]. Dentro das configuraes
realizadas no RSLogix Para se efetuar a configurao da cmera, necessrio utlizar o RSLinx para
verificar se a mesma est conectada ao computador e o software da PresencePlus, para identificar
a cmera pelo endereo IP, uma vez que a rede utilizada Ethernet/IP. A Figura 3.1 mostra a
janela do RSLinx com a cmera reconhecida.
1
16
3.1.2
Calibrao
A cmera permite fazer medidas de distncias em pixels. De forma a se converter essa distncia para milmetros, uma barra de alumnio com marcas e tamanho conhecido utilizada.
importante primeiro calibrar o sistema, para se saber se h deformao de pixels significante ao
longo da distncia de interesse, nomeadamente o tamanho da barra de alumnio sendo utilizada,
cerca de 532mm. No PresencePlus P4 GEO 1.3, um programa feito, com imagem de referncia
conforme Figura 3.2, que usa vrias ferramentas de deteco de borda (ferramenta Locate) para
identificar as posies de cada uma das marcas pretas da barra. Seis marcas foram feitas e a
Tabela 3.1 apresenta os resultados para cada seo. A distncia entre duas marcas de 10cm,
com exceo da distncia entre P0 e PEND que o comprimento total da barra.
O maior desvio da quantidade de milmetros por pixel das sees em relao da barra inteira
de aproximadamente 4.93%. H algumas imprecises na maneira como os traos foram desenhados
e possvel que o erro seja menor.
17
3.1.3
P0
P10
160
0.625
P10
P20
173
0.578
P20
P30
176
0.568
P30
P40
173
0.578
P40
P50
163
0.613
P0
PEND
893
0.596
Programao
A programao da cmera inicia obtendo uma imagem de referncia e adicionando-se ferramentas de deteco de pontos de interesse, como mostra a Figura 3.2. A ferramenta Locate
responsvel por detectar as bordas da bolinha, e a ferramenta Geometric detecta o centro da
mesma. Tambm possvel adicionar ferramentas que fazem operaes matemticas (ferramenta
Math), executam medies (ferramenta Measure), assim como as que enviam dados pela rede
(ferramenta Communication), o que essencial para comunicar com o CLP.
3.2
Calibrao do Servomotor
O RSLogix tem o bloco MAJ Motion Axis Jog que permite alterar a velocidade do motor
enquanto ele se movimenta. No entanto, o bloco espera que a entrada seja do tipo [u/s ao invs de
18
alguma unidade no SI tal como [mm/s]. Devido a isso, foi necessria uma calibrao do sistema.
Nela, anotou-se a posio inicial x0 e a posio final xf , ambas em milmetros, e definia-se um
tempo t no qual o carrinho se movimentaria a uma velocidade v em [u/s]. Da, calculava-se a
velocidade em [mm/s] com esses dados e tirou a mdia de alguns ensaios para se obter o valor de
uma unidade, que aproximadamente 71.32mm. Os dados de calibrao esto na Tabela 3.2.
Tabela 3.2: Dados de calibrao do servomotor, mdia obtida de 71.32 mm/unidade
x0 - [mm] xf - [mm]
t - [s] Velocidade - [u/s] Velocidade - [mm/s] mm/u
3.3
71.8
0.5
34.9
69.8
76.1
0.5
35.05
70.1
188
0.5
36.4
72.8
185
2.5
71.6
71.6
77
10
0.1
7.1
71
296.5
20
0.2
14.525
72.625
Malha aberta
O planejamento de trajetria em malha aberta e malha fechada para o riser que est sendo
utilizado neste trabalho foi desenvolvido por Fabrcio et al [4], conforme mencionado anteriormente.
Um programa em MATLAB foi escrito e gerou trajetrias de excurso pr-definida. Rdytton [2]
testou o sistema para uma excurso de cerca de 1m, que maior que o tamanho do barbante
(82cm) conforme apresentado na Tabela 2.4. No entanto, seu trabalho no utilizou uma massa de
isopor na ponta, da existir uma diferena entre os resultados. Observe que, em malha aberta,
deixou-se o ar condicionado da sala desligado, pois isto seria uma perturbao.
3.3.1
Excurso de 30cm
O primeiro teste em malha aberta testou a trajetria de posio da Figura 3.3. Conforme
Rdytton [2] mencionou em seu trabalho, utilizar os mdulos de posio mais lento do que utilizar
mdulos de velocidade para seguir essa trajetria. Desta forma, optou-se por usar diferenas finitas
para derivar essa trajetria, resultando na Figura 3.4.
Com um perodo de cerca de 41ms, uma tarefa eventual executava no CLP, aplicando um certo
valor de velocidade ao carrinho. A cmera leu os valores de posio cada vez que a tarefa iniciava
e o software RSLogix desenhou os dados, que podem ser observados na Figura 3.5. Observa-se que
a posio evolui de forma bem suave. Para se realizar uma comparao, calculou-se o tempo que o
carrinho se move na trajetria ( t, tempo no qual a velocidade no nula) e calculou-se v = xt .
No caso presente, x = 30cm e t 3s (veja Figura 3.4), resultando em v = 100mm/s. A Figura
3.6 apresenta esses resultados e observa-se vrias oscilaes quando o carrinho para, diferente do
caso anterior.
Vdeos foram criados para cada um destes casos e esto disponveis no YouTube, tanto para
19
Figura 3.3: Referncia de Posio para Ex- Figura 3.4: Referncia de Velocidade para
Excurso de 30cm
curso de 30cm
a trajetria modelada3 quanto para a trajetria com velocidade constante4 .
nnnnnnnn000
0
nnnnnnnn
88
nn
0086
88900967
000
88900962
080
nnnnnnnn000
0
nnnnnnnn 2
064
264
820
288
808
202
44
66
28
nn
202
20424404
024
000
0
88900946
88900947
88900942
88900960
88900964
88900967
20424420
2042440
20424444
204244 8
20428422
20428420
Figura 3.5: Resultado com Velocidade Mo- Figura 3.6: Resultado com Velocidade Consdelada para Excurso de 30cm
tante para Excurso de 30cm
3.3.2
Excurso de 20cm
Na prtica, o dimetro do riser e de sua massa bem menor que o comprimento do mesmo.
Da, importante testar uma menor excurso. Alm disso, esse teste ter menor tempo de
movimentao e resultar numa velocidade mdia maior que o caso anterior. Desta forma, maiores
oscilaes so esperadas e o controle se torna mais difcil.
A trajetria de posio obtida apresentada na Figura 3.7 e a sua derivada apresentada
na Figura 3.8. O perodo da tarefa eventual foi escolhido em 100ms. O resultado experimental5
3
20
apresentou mais oscilaes que o caso anterior, mas est bem controlado, conforme se v na Figura
3.9. O resultado com velocidade constante6 est na Figura 3.10 e nota-se que o resultado ficou
bem pior. A velocidade mdia foi cerca de v 200mm
1.5s = 133.3mm/s.
Figura 3.7: Referncia de Posio para Ex- Figura 3.8: Referncia de Velocidade para
Excurso de 20cm
curso de 20cm
nnnnnnnn222
0
nnnnnnnn
20
nn
2031
32144113
232
222
nnnnnnnn333
11
nnnnnnnn 1
389
020
333
111
99
103
44
99
n 1
03
nn
0319
10691606
196
10693619
333 1
11
32144120
32144124
32144129
32144132
32144136
32144140
10693619
10693601
10693607
10693633
10693639
10693629
Figura 3.9: Resultado com Velocidade Mo- Figura 3.10: Resultado com Velocidade
delada para Excurso de 20cm
Constante para Excurso de 20cm
3.4
Malha fechada
O controle em malha fechada deve ser capaz de compensar por perturbaes, pois o sensor
identifica o resultado da atuao e realimenta a informao no sistema. Neste trabalho, conseguiuse configurar a cmera adequadamente e faz-se um teste em malha fechada de um controlador bem
simples: um controlador proporcional.
6
21
Acesso em
3.4.1
Controlador P
Kp
Planta
ym
Cmera
Figura 3.11: Malha fechada de controle
Valores de Kp foram escolhidos empiricamente e o resultado para Kp = 0.00257 est na Figura
3.12 enquanto para Kp = 0.00508 est na Figura 3.13.
nnnnnnnn'()
nnnnnnnn
)
nn
)(
()'
)
'()
nnnnnnnn'()
nnnnnnnn
(
nn
(
))
'
)'
'
)
(
'()
()(
()(
()
())
()'
()(
)'
)'
))
)((
'
Figura 3.12: Resultado com Malha Fechada Figura 3.13: Resultado com Malha Fechada
u
u
Proporcional e Kp = 0.0025 mms
Proporcional e Kp = 0.0050 mms
O perodo de amostragem utilizado foi de 100ms e o ar condicionado estava ligado nas duas
situaes apresentadas e nota-se que o primeiro resultado bem melhor que o segundo, tendo
menos oscilaes. No entanto, este resultado est aqum do obtido em malha aberta.
7
8
22
Captulo 4
Concluses
No incio do trabalho, no havia nenhum conhecimento prvio dos autores sobre programao
em tempo real utilizando CLPs, nem sobre programao CLP em geral. Nenhum conhecimento
prvio da bancada existia tambm. No estgio atual, pode-se dizer que h relevante facilidade
em se trabalhar com a bancada, apesar de no se ter entrado em detalhes de como funciona o
servomotor, drive e outros componentes.
O foco principal era fechar a malha, o que foi possvel, conforme se observa na seo 3.4.
Agora, pode-se testar mais tcnicas de controle em malha fechada com a cmera, o que no foi
feito antes nesta bancada. Apesar do resultado de um controlador P no ser ideal, o verdadeiro
incio da validao de controladores para risers com esta bancada, pois na realidade ROVs com
cmeras so utilizados, o que justifica tambm ser utilizada uma cmera aqui.
4.1
Perspectivas Futuras
Pra o Trabalho de Graduao 2, objetiva-se utilizar uma tcnica de controle mais rebuscada,
utilizando-se o projeto de Fabrcio et al [4]. Nele, o modelo levado em considerao atravs de
reduo modal, que o deixa mais simples em questo de custo computacional. Aps verificar-se
se a mencionada tcnica de controle funciona bem mesmo com perturbaes, pretende-se analisar
outras literaturas na rea de controle preditivo e tentar projetar um controlador novo que funcione
melhor que o anterior, em algum aspecto.
23
REFERNCIAS BIBLIOGRFICAS
[1] FORTALEZA, E.; ALBUQUERQUE, D.; YAMAMOTO, M. An investigation about the trajectory control during the subsea equipment installation using cable. In: Volume 1: Offshore Technology. ASME International, 2012. Disponvel em: <http://dx.doi.org/10.1115/OMAE201283798>.
[2] SOUSA, R. B. Implementao de Controle de Riser, Validao Experimental e Anlise Atravs
de Processamento de Imagens. Braslia, DF: Faculdade de Tecnologia, Universidade de Braslia,
2015. Trabalho de Graduao em Engenharia de Controle e Automao.
[3] PETROBRAS. Pr-Sal:
Explorao e Produo de Petrleo. Disponvel
http://www.petrobras.com.br/pt/nossas-atividades/areas-de-atuacao/
exploracao-e-producao-de-petroleo-e-gas/pre-sal/. Acesso em: 27/11/2015.
em:
[4] MONTEIROS, F. R.; FILHO, J. O. de A. L.; FORTALEZA, E. Modal reduction based tracking control for installation of subsea equipments*. IFAC-PapersOnLine, v. 48, n. 6, p. 15
20, 2015. ISSN 2405-8963. 2nd {IFAC} Workshop on Automatic Control in Offshore Oil
and Gas Production {OOGP} 2015 Florianpolis, Brazil, 2729 May 2015. Disponvel em:
<http://www.sciencedirect.com/science/article/pii/S2405896315008708>.
[5] SERCOS INTERNATIONAL. Introduction to Sercos. Disponvel em: http://www.sercos.
com/technology/index.htm. Acesso em: 28/11/2015.
[6] ALLEN-BRADLEY. User Manual Kinetix 6000 Multi-axis Servo Drives. July 2015. Disponvel
em: http://literature.rockwellautomation.com/idc/groups/literature/documents/
um/2094-um001_-en-p.pdf. Rockwell Automation Publication 2094-UM001I-EN-P. Acesso em:
28/11/2015.
[7] KOLLMORGEN. Servomotors. Disponvel em:
http://www.kollmorgen.com/en-us/
products/motors/servo/servomotors/. Acesso em: 28/11/2015.
[8] RTA AUTOMATION. DeviceNetUnplugged A View Under the Hood for End Users.
Disponvel em: http://www.rtaautomation.com/technologies/devicenet/. Acesso em:
30/11/2015.
[9] ROCKWELL AUTOMATION. DeviceNet Network. Disponvel em:
http://ab.
rockwellautomation.com/Networks-and-Communications/DeviceNet-Network.
Acesso
em: 30/11/2015.
24
[10] ODVA. Ethernet/IP - Quick Start for Vendors Handbook. Disponvel em: https:
//www.odva.org/Portals/0/Library/Publications_Numbered/PUB00213R0_EtherNetIP_
Developers_Guide.pdf. Acesso em: 30/11/2015.
[11] RINALDI, J. The 6.5 Things You Must Know about EtherNet/IP. Disponvel em: http:
//www.rtaautomation.com/technologies/ethernetip/. Acesso em: 30/11/2015.
[12] ROCKWELL AUTOMATION. A Single IT-Friendly Network for Enterprise and Industrial Applications. Disponvel em:
http://www.rockwellautomation.com/global/
products-technologies/integrated-architecture/ethernet-ip.page.
Acesso
em:
30/11/2015.
[13] EPUSP. Automao eltrica de processos industriais. Disponvel em: http://lara.unb.br/
~gaborges/disciplinas/ca/teoria_final_1_prova.pdf. Acesso em: 29/11/2015.
[14] BANNER ENGINEERING. PresencePLUS Industrial Ethernet Users Guide Vol 2. September 2015. Disponvel em: http://www.bannerengineering.com/en-US/products/sub/
78#ui-tabs-37. Acesso em: 29/11/2015.
25
ANEXOS
26
I.
I.1
I.1.1
PROGRAMAS UTILIZADOS
Texto Estruturado
Inicializao do primeiro teste de malha aberta
/ U n i v e r s i d a d e de B r a s i l i a
Trabalho de Graduacao em Engenharia M e c a t r o n i c a
Alunos :
A t a i a s P e r e i r a R e i s 10/0093817
Emanuel P e r e i r a B a r r o s o Neto 11/0115716
This code must be e x e c u t e d o n l y once . /
MSO( d r i v e _ a x i s ,MSO_1) ;
s p e e d [ 0 ] := 0 . 0 ;
s p e e d [ 1 ] := 0 . 0 ;
s p e e d [ 2 ] := 0 . 0 ;
s p e e d [ 3 ] := 0 . 0 ;
s p e e d [ 4 ] := 0 . 0 ;
s p e e d [ 5 ] := 0 . 0 ;
s p e e d [ 6 ] := 0 . 0 ;
s p e e d [ 7 ] := 0 . 0 ;
s p e e d [ 8 ] := 0 . 0 ;
s p e e d [ 9 ] := 0 . 0 ;
s p e e d [ 1 0 ] := 0 . 0 ;
s p e e d [ 1 1 ] := 0 . 0 ;
s p e e d [ 1 2 ] := 0 . 0 ;
s p e e d [ 1 3 ] := 0 . 0 ;
s p e e d [ 1 4 ] := 0 . 0 ;
s p e e d [ 1 5 ] := 0 . 0 ;
s p e e d [ 1 6 ] := 0 . 0 ;
s p e e d [ 1 7 ] := 0 . 0 ;
s p e e d [ 1 8 ] := 0 . 0 ;
s p e e d [ 1 9 ] := 0 . 0 ;
s p e e d [ 2 0 ] := 0 . 0 ;
s p e e d [ 2 1 ] := 0 . 0 1 4 7 0 2 6 5 5 4 2 0 5 ;
s p e e d [ 2 2 ] := 0 . 0 5 4 7 0 5 5 8 2 0 8 5 5 ;
s p e e d [ 2 3 ] := 0 . 1 1 4 3 6 1 7 2 0 0 2 3 ;
s p e e d [ 2 4 ] := 0 . 1 8 1 1 1 0 9 1 0 3 6 ;
27
speed [ 2 5 ]
speed [ 2 6 ]
speed [ 2 7 ]
speed [ 2 8 ]
speed [ 2 9 ]
speed [ 3 0 ]
speed [ 3 1 ]
speed [ 3 2 ]
speed [ 3 3 ]
speed [ 3 4 ]
speed [ 3 5 ]
speed [ 3 6 ]
speed [ 3 7 ]
speed [ 3 8 ]
speed [ 3 9 ]
speed [ 4 0 ]
speed [ 4 1 ]
speed [ 4 2 ]
speed [ 4 3 ]
speed [ 4 4 ]
speed [ 4 5 ]
speed [ 4 6 ]
speed [ 4 7 ]
speed [ 4 8 ]
speed [ 4 9 ]
speed [ 5 0 ]
speed [ 5 1 ]
speed [ 5 2 ]
speed [ 5 3 ]
speed [ 5 4 ]
speed [ 5 5 ]
speed [ 5 6 ]
speed [ 5 7 ]
speed [ 5 8 ]
speed [ 5 9 ]
speed [ 6 0 ]
speed [ 6 1 ]
speed [ 6 2 ]
speed [ 6 3 ]
speed [ 6 4 ]
speed [ 6 5 ]
speed [ 6 6 ]
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
0.251809893147;
0.32607467121;
0.403453064793;
0.483471620607;
0.565658044965;
0.649536805548;
0.734630464537;
0.820458741642;
0.906543473223;
0.992424061587;
1.07765619092;
1.16189824235;
1.24456943015;
1.32036725857;
1.3812552175;
1.43231065067;
1.48663214948;
1.54839415747;
1.61599008767;
1.68757723373;
1.7613579514;
1.83569169336;
1.90907847349;
1.9801747816;
2.04784594244;
2.11113619377;
2.16944638193;
2.22182598313;
2.26825099412;
2.30985215012;
2.34320587986;
2.36620871737;
2.38071882377;
2.38672834648;
2.38430263817;
2.37407699776;
2.35619724752;
2.33055863496;
2.29754175796;
2.25797832185;
2.21262636405;
2.16123527696;
28
s p e e d [ 6 7 ] := 2 . 1 0 4 6 7 4 8 1 0 3 5 ;
s p e e d [ 6 8 ] := 2 . 0 4 3 8 8 2 2 5 0 8 7 ;
s p e e d [ 6 9 ] := 1 . 9 7 8 6 3 9 9 7 4 1 9 ;
s p e e d [ 7 0 ] := 1 . 9 0 9 5 0 1 3 3 5 6 8 ;
s p e e d [ 7 1 ] := 1 . 8 3 6 9 3 2 0 3 3 7 5 ;
s p e e d [ 7 2 ] := 1 . 7 6 1 9 8 2 1 5 8 7 ;
s p e e d [ 7 3 ] := 1 . 6 8 6 4 1 2 2 9 5 ;
s p e e d [ 7 4 ] := 1 . 6 0 9 3 2 2 2 7 9 5 7 ;
s p e e d [ 7 5 ] := 1 . 5 3 0 3 1 2 5 7 9 0 8 ;
s p e e d [ 7 6 ] := 1 . 4 5 1 4 0 1 9 9 9 7 7 ;
s p e e d [ 7 7 ] := 1 . 3 7 2 9 7 1 5 7 9 7 9 ;
s p e e d [ 7 8 ] := 1 . 2 9 3 9 4 1 8 0 3 1 9 ;
s p e e d [ 7 9 ] := 1 . 2 1 5 7 5 2 8 2 1 2 ;
s p e e d [ 8 0 ] := 1 . 1 4 0 8 3 5 5 1 0 6 ;
s p e e d [ 8 1 ] := 1 . 0 6 7 7 9 0 0 7 0 8 7 ;
s p e e d [ 8 2 ] := 0 . 9 9 5 4 2 0 5 5 1 4 7 5 ;
s p e e d [ 8 3 ] := 0 . 9 2 4 5 8 1 9 9 9 1 3 1 ;
s p e e d [ 8 4 ] := 0 . 8 5 5 3 2 3 0 1 0 9 3 3 ;
s p e e d [ 8 5 ] := 0 . 7 8 8 4 7 7 8 9 7 4 1 2 ;
s p e e d [ 8 6 ] := 0 . 7 2 6 5 3 8 1 9 0 5 2 1 ;
s p e e d [ 8 7 ] := 0 . 6 6 8 0 1 1 0 9 3 6 9 ;
s p e e d [ 8 8 ] := 0 . 6 0 7 7 4 1 0 3 2 7 5 3 ;
s p e e d [ 8 9 ] := 0 . 5 4 7 5 6 7 7 5 8 5 9 2 ;
s p e e d [ 9 0 ] := 0 . 4 9 3 3 0 1 6 3 7 7 5 8 ;
s p e e d [ 9 1 ] := 0 . 4 4 0 4 1 9 1 6 2 2 4 3 ;
s p e e d [ 9 2 ] := 0 . 3 8 7 5 0 7 2 6 5 2 1 6 ;
s p e e d [ 9 3 ] := 0 . 3 3 8 4 0 0 9 1 5 6 2 1 ;
s p e e d [ 9 4 ] := 0 . 2 9 1 6 5 8 5 4 1 8 9 6 ;
s p e e d [ 9 5 ] := 0 . 2 4 8 5 1 2 5 4 2 1 5 3 ;
s p e e d [ 9 6 ] := 0 . 2 0 9 7 9 6 9 7 3 9 5 5 ;
s p e e d [ 9 7 ] := 0 . 1 7 2 5 3 0 0 1 8 1 2 5 ;
s p e e d [ 9 8 ] := 0 . 1 4 1 6 6 4 4 3 2 1 6 9 ;
s p e e d [ 9 9 ] := 0 . 1 1 5 9 9 3 6 6 7 6 7 ;
s p e e d [ 1 0 0 ] := 0 . 0 8 7 1 0 7 9 6 7 9 2 3 ;
s p e e d [ 1 0 1 ] := 0 . 0 6 2 7 2 9 5 9 4 4 7 5 1 ;
s p e e d [ 1 0 2 ] := 0 . 0 4 9 0 2 7 2 8 9 6 7 6 9 ;
s p e e d [ 1 0 3 ] := 0 . 0 3 7 4 3 4 9 2 8 6 0 1 2 ;
s p e e d [ 1 0 4 ] := 0 . 0 2 3 4 4 0 8 2 8 1 7 2 3 ;
s p e e d [ 1 0 5 ] := 0 . 0 1 0 3 6 1 3 7 9 6 0 7 4 ;
s p e e d [ 1 0 6 ] := 0 . 0 ;
s p e e d [ 1 0 7 ] := 0 . 0 ;
s p e e d [ 1 0 8 ] := 0 . 0 ;
29
speed [ 1 0 9 ]
speed [ 1 1 0 ]
speed [ 1 1 1 ]
speed [ 1 1 2 ]
speed [ 1 1 3 ]
speed [ 1 1 4 ]
speed [ 1 1 5 ]
speed [ 1 1 6 ]
speed [ 1 1 7 ]
speed [ 1 1 8 ]
speed [ 1 1 9 ]
speed [ 1 2 0 ]
speed [ 1 2 1 ]
speed [ 1 2 2 ]
speed [ 1 2 3 ]
speed [ 1 2 4 ]
speed [ 1 2 5 ]
speed [ 1 2 6 ]
speed [ 1 2 7 ]
speed [ 1 2 8 ]
speed [ 1 2 9 ]
speed [ 1 3 0 ]
speed [ 1 3 1 ]
speed [ 1 3 2 ]
speed [ 1 3 3 ]
speed [ 1 3 4 ]
speed [ 1 3 5 ]
speed [ 1 3 6 ]
speed [ 1 3 7 ]
speed [ 1 3 8 ]
speed [ 1 3 9 ]
speed [ 1 4 0 ]
speed [ 1 4 1 ]
speed [ 1 4 2 ]
speed [ 1 4 3 ]
speed [ 1 4 4 ]
speed [ 1 4 5 ]
speed [ 1 4 6 ]
speed [ 1 4 7 ]
speed [ 1 4 8 ]
speed [ 1 4 9 ]
speed [ 1 5 0 ]
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
30
speed [ 1 5 1 ]
speed [ 1 5 2 ]
speed [ 1 5 3 ]
speed [ 1 5 4 ]
speed [ 1 5 5 ]
speed [ 1 5 6 ]
speed [ 1 5 7 ]
speed [ 1 5 8 ]
speed [ 1 5 9 ]
speed [ 1 6 0 ]
speed [ 1 6 1 ]
speed [ 1 6 2 ]
speed [ 1 6 3 ]
speed [ 1 6 4 ]
speed [ 1 6 5 ]
speed [ 1 6 6 ]
speed [ 1 6 7 ]
speed [ 1 6 8 ]
speed [ 1 6 9 ]
speed [ 1 7 0 ]
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
d a t a I n i t i a l i z e d := 1 ;
I.1.2
/ U n i v e r s i d a d e de B r a s i l i a
Trabalho de Graduacao em Engenharia M e c a t r o n i c a
Alunos :
A t a i a s P e r e i r a R e i s 10/0093817
Emanuel P e r e i r a B a r r o s o Neto 11/0115716
This code must be e x e c u t e d o n l y once . /
MSO( d r i v e _ a x i s ,MSO_1) ;
speed [ 0 ]
speed [ 1 ]
speed [ 2 ]
speed [ 3 ]
speed [ 4 ]
speed [ 5 ]
speed [ 6 ]
speed [ 7 ]
speed [ 8 ]
:=
:=
:=
:=
:=
:=
:=
:=
:=
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
31
s p e e d [ 9 ] := 0 . 0 ;
s p e e d [ 1 0 ] := 0 . 0 ;
s p e e d [ 1 1 ] := 0 . 0 ;
s p e e d [ 1 2 ] := 0 . 0 ;
s p e e d [ 1 3 ] := 0 . 0 ;
s p e e d [ 1 4 ] := 0 . 0 ;
s p e e d [ 1 5 ] := 0 . 0 ;
s p e e d [ 1 6 ] := 0 . 0 ;
s p e e d [ 1 7 ] := 0 . 0 ;
s p e e d [ 1 8 ] := 0.0692113524459;
s p e e d [ 1 9 ] := 0 . 3 1 4 9 4 2 0 0 0 6 8 4 ;
s p e e d [ 2 0 ] := 1 . 6 4 8 4 7 1 7 9 4 5 2 ;
s p e e d [ 2 1 ] := 3 . 0 6 2 0 3 9 3 2 4 2 3 ;
s p e e d [ 2 2 ] := 3 . 8 8 5 5 6 3 0 5 0 7 6 ;
s p e e d [ 2 3 ] := 4 . 2 5 9 8 4 8 8 1 4 1 6 ;
s p e e d [ 2 4 ] := 4 . 2 4 7 7 2 2 1 7 5 6 9 ;
s p e e d [ 2 5 ] := 3 . 9 1 6 6 6 3 7 8 1 9 ;
s p e e d [ 2 6 ] := 3 . 3 5 0 1 9 2 2 1 4 0 7 ;
s p e e d [ 2 7 ] := 2 . 6 4 8 5 3 8 4 8 7 1 6 ;
s p e e d [ 2 8 ] := 1 . 9 2 0 8 6 6 9 3 4 9 6 ;
s p e e d [ 2 9 ] := 1 . 2 7 2 1 4 2 7 4 1 5 7 ;
s p e e d [ 3 0 ] := 0 . 7 8 8 4 6 6 1 8 8 4 6 2 ;
s p e e d [ 3 1 ] := 0 . 5 2 4 2 9 0 9 0 8 1 8 9 ;
s p e e d [ 3 2 ] := 0 . 4 9 3 4 9 0 1 5 6 4 8 9 ;
s p e e d [ 3 3 ] := 0 . 6 9 4 8 3 7 9 6 9 1 9 3 ;
s p e e d [ 3 4 ] := 0 . 8 2 2 4 1 9 2 4 6 0 3 9 ;
s p e e d [ 3 5 ] := 0 . 4 1 8 2 0 6 8 5 7 3 7 9 ;
s p e e d [ 3 6 ] := 0 . 0 2 6 2 2 4 7 5 2 6 6 4 3 ;
s p e e d [ 3 7 ] := 0 . 2 3 0 4 8 2 4 0 2 9 6 7 ;
s p e e d [ 3 8 ] := 0 . 7 8 9 5 3 6 8 7 4 8 0 6 ;
s p e e d [ 3 9 ] := 1 . 4 8 0 5 7 4 9 0 1 6 2 ;
s p e e d [ 4 0 ] := 2 . 1 5 0 9 7 9 6 7 7 6 3 ;
s p e e d [ 4 1 ] := 2 . 6 9 9 6 9 4 5 1 6 6 7 ;
s p e e d [ 4 2 ] := 3 . 0 6 1 2 8 8 9 0 5 5 ;
s p e e d [ 4 3 ] := 3 . 1 9 9 3 5 8 6 6 6 8 4 ;
s p e e d [ 4 4 ] := 3 . 1 0 5 6 4 8 7 3 1 5 5 ;
s p e e d [ 4 5 ] := 2 . 7 9 8 4 3 0 8 0 7 1 ;
s p e e d [ 4 6 ] := 2 . 3 2 1 9 4 1 3 2 4 1 1 ;
s p e e d [ 4 7 ] := 1 . 7 8 9 2 5 3 1 1 3 7 8 ;
s p e e d [ 4 8 ] := 1 . 2 3 4 7 5 1 9 3 3 4 9 ;
s p e e d [ 4 9 ] := 0 . 6 8 0 9 7 7 1 7 8 8 7 6 ;
s p e e d [ 5 0 ] := 0 . 2 6 9 5 8 1 9 8 1 8 7 5 ;
32
speed [ 5 1 ]
speed [ 5 2 ]
speed [ 5 3 ]
speed [ 5 4 ]
speed [ 5 5 ]
speed [ 5 6 ]
speed [ 5 7 ]
speed [ 5 8 ]
speed [ 5 9 ]
speed [ 6 0 ]
speed [ 6 1 ]
speed [ 6 2 ]
speed [ 6 3 ]
speed [ 6 4 ]
speed [ 6 5 ]
speed [ 6 6 ]
speed [ 6 7 ]
speed [ 6 8 ]
speed [ 6 9 ]
speed [ 7 0 ]
speed [ 7 1 ]
speed [ 7 2 ]
speed [ 7 3 ]
speed [ 7 4 ]
speed [ 7 5 ]
speed [ 7 6 ]
speed [ 7 7 ]
speed [ 7 8 ]
speed [ 7 9 ]
speed [ 8 0 ]
speed [ 8 1 ]
speed [ 8 2 ]
speed [ 8 3 ]
speed [ 8 4 ]
speed [ 8 5 ]
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
0.0735006589406;
0.0;
0.0411084579085;
0.0752386045019;
0.0939490510793;
0.0958419020537;
0.0879379646741;
0.0665110466718;
0.0340396907113;
0.0;
0.0116207365686;
0.0239437089848;
0.0232352765649;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
0.0;
d a t a I n i t i a l i z e d := 1 ;
I.1.3
/ U n i v e r s i d a d e de B r a s i l i a
Trabalho de Graduacao em Engenharia M e c a t r o n i c a
Alunos :
33
A t a i a s P e r e i r a R e i s 10/0093817
Emanuel P e r e i r a B a r r o s o Neto 11/0115716
This code must be e x e c u t e d o n l y once . /
MSO( d r i v e _ a x i s ,MSO_1) ;
Kp := 0 . 0 0 7 5 ;
d a t a I n i t i a l i z e d := 1 ;
I.1.4
I.1.5
// k i s t h e i n d e x o f t h e s p e e d v e c t o r
i f d a t a I n i t i a l i z e d AND k < 85 then
MAJ( d r i v e _ a x i s ,MAJ_1, 0 , s p e e d [ k ] , 0 , 5 0 . 0 , 1 , 5 0 . 0 , 1 , 0 , 5 0 . 0 , 5 0 . 0 , 1 , 0 , 0 ) ;
k:=k + 1 ;
end_if ;
i f k >= 85 then
MAS( d r i v e _ a x i s ,MAS_1, 0 , 0 , 1 0 0 , 1 , 0 , 1 0 0 , 1 ) ;
i f MAS_1.DN then
MSF( d r i v e _ a x i s ,MSF_0 ) ;
end_if ;
end_if ;
I.1.6
// k i s t h e i n d e x o f t h e s p e e d v e c t o r
i f d a t a I n i t i a l i z e d AND k < 300 then
e r r o r := 3 0 0 . 0 p o s i t i o n ;
s p e e d := e r r o r Kp ;
MAJ( d r i v e _ a x i s ,MAJ_1, 0 , speed , 0 , 5 0 . 0 , 1 , 5 0 . 0 , 1 , 0 , 5 0 . 0 , 5 0 . 0 , 1 , 0 , 0 ) ;
k:=k + 1 ;
end_if ;
i f k >= 300 then
MAS( d r i v e _ a x i s ,MAS_1, 0 , 0 , 1 0 0 , 1 , 0 , 1 0 0 , 1 ) ;
34
i f MAS_1.DN then
MSF( d r i v e _ a x i s ,MSF_0 ) ;
end_if ;
end_if ;
I.2
I.2.1
Linguagem ladder
Execuo de trigger da cmera
I.2.2
I.3
I.3.1
Programas da cmera
Deteco da posio horizontal da bolinha
35
36