Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U NIVERSIDADE F EDERAL DO R IO G RANDE DO N ORTE C ENTRO DE T ECNOLOGIA P ROGRAMA DE P S -G RADUAO EM E NGENHARIA E LTRICA
Uma Arquitetura para Sistemas Supervisrios Industriais e sua Aplicao em Processos de Elevao Articial de Petrleo
Dissertao de Mestrado apresentada ao Programa de Ps-Graduao em Engenharia Eltrica da UFRN (rea de concentrao: Engenharia de Computao) como parte dos requisitos para obteno do ttulo de Mestre em Cincias.
Diviso de Servios Tcnicos Catalogao da publicao na fonte. UFRN / Biblioteca Central Zila Mamede Souza, Rodrigo Barbosa de. Uma Arquitetura para Sistemas Supervisrios Industriais e sua Aplicao em Processos de Elevao Articial de Petrleo / Rodrigo Barbosa de Souza - Natal, RN, 2005 53 p. Orientador: Adelardo Adelino Dantas de Medeiros Dissertao (Mestrado) - Universidade Federal do Rio Grande do Norte. Centro de Tecnologia. Programa de Ps-Graduao em Engenharia Eltrica. 1. Automao Industrial - Dissertao. 2. Sistema Supervisrio - Dissertao. 3. SCADA - Dissertao. 4. Redes de Petri - Dissertao. I. Medeiros, Adelardo Adelino Dantas de. II. Ttulo. RN/UF/BCZM CDU 681.5
Uma Arquitetura para Sistemas Supervisrios Industriais e sua Aplicao em Processos de Elevao Articial de Petrleo
Dissertao de Mestrado aprovada em 4 de fevereiro de 2005 pela banca examinadora composta pelos seguintes membros:
minha me, Giselda, pelo esforo, incentivo e dedicao durante toda a minha caminhada acadmica.
Agradecimentos
Ao meu orientador, professor Adelardo, sou grato pelo inestimvel conhecimento transmitido. Ao professor Maitelli pelo incentivo durante a elaborao deste trabalho. minha esposa Gleyce pela compreenso nos momentos de ausncia. Petrobras, pela contribuio prtica e o apoio nanceiro.
Sumrio
Sumrio Lista de Figuras Lista de Tabelas 1 Introduo 1.1 Automao de Processos Industriais . . . . . . . . . 1.1.1 Processos Fsicos . . . . . . . . . . . . . . . 1.1.2 Sensores e Atuadores . . . . . . . . . . . . . 1.1.3 Controladores Lgicos Programveis - CLPs 1.1.4 Rede de Comunicao . . . . . . . . . . . . 1.1.5 Superviso . . . . . . . . . . . . . . . . . . 1.1.6 Gerncia de Informaes . . . . . . . . . . . 1.2 Sistemas Supervisrios . . . . . . . . . . . . . . . . 1.2.1 Aquisio de Dados . . . . . . . . . . . . . 1.2.2 Acesso aos Dados . . . . . . . . . . . . . . 1.2.3 Alarmes e Eventos . . . . . . . . . . . . . . 1.2.4 Tolerncia a Falhas . . . . . . . . . . . . . . 1.2.5 Estrutura Funcional . . . . . . . . . . . . . . 1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . 1.4 Estrutura do Documento . . . . . . . . . . . . . . . 2 A Indstria do Petrleo 2.1 Prospeco de Petrleo . . . . . . . . . . . . . . . . 2.2 Perfurao de Poos . . . . . . . . . . . . . . . . . . 2.2.1 Revestimento de um Poo de Petrleo . . . . 2.2.2 Cimentao . . . . . . . . . . . . . . . . . . 2.3 Avaliao de Formaes . . . . . . . . . . . . . . . 2.4 Completao de Poos . . . . . . . . . . . . . . . . 2.5 Elevao de Petrleo . . . . . . . . . . . . . . . . . 2.5.1 Gas-Lift . . . . . . . . . . . . . . . . . . . . 2.5.2 Bombeio Centrfugo Submerso (BCS) . . . . 2.5.3 Bombeio Mecnico com Hastes (BM) . . . . 2.5.4 Bombeio por Cavidades Progressivas (BCP) . i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i iii v 1 2 2 3 4 4 4 5 5 6 6 6 7 7 7 8 11 11 11 12 13 14 14 14 15 16 16 17
3 Arquitetura do Sistema 3.1 Rede de Campo . . . . . . . . . . . . . . . . . 3.2 Rede de Superviso Local . . . . . . . . . . . 3.3 Protocolo de Comunicao Inter-redes . . . . . 3.3.1 Funcionamento do PCI . . . . . . . . . 3.3.2 Interface de Comunicao . . . . . . . 3.3.3 Identicao das Requisies . . . . . 3.3.4 Funes PCI . . . . . . . . . . . . . . 3.3.5 Acesso s Estaes da Rede de Campo 3.3.6 Utilizao do campo de Dados . . . . . 3.3.7 Cdigos de Erro . . . . . . . . . . . . 3.4 O Software de Superviso . . . . . . . . . . . . 3.4.1 Funcionamento dos Clientes . . . . . . 3.4.2 Funcionamento do Servidor . . . . . . 4 Implementao e Resultados 4.1 Processo Fsico . . . . . . . . 4.2 Hardware de Controle . . . . 4.3 Rede de Comunicao . . . . 4.4 Software de Superviso . . . . 4.4.1 Projeto . . . . . . . . 4.4.2 Implementao . . . . 4.5 Resultados . . . . . . . . . . . 4.5.1 Caso de Uso . . . . . 4.5.2 Anlise de Resultados 5 Concluses Referncias bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
19 19 20 20 21 22 23 23 24 25 25 25 25 28 39 39 39 40 40 40 43 44 45 46 49 51
Lista de Figuras
1.1 1.2 1.3 2.1 2.2 2.3 2.4 2.5 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 3.14 4.1 4.2 4.3 4.4 4.5 4.6 Automao Industrial em Nveis de Abstrao . . . . . . . . . . . . . . . Automao Industrial - Topologia . . . . . . . . . . . . . . . . . . . . . Estrutura Fsica de um Sistema Supervisrio . . . . . . . . . . . . . . . Sonda Utilizada na Perfurao de Poos de Petrleo Revestimento dos Poos de Petrleo . . . . . . . . Sistema de Bombeio Mecnico . . . . . . . . . . . Carta Dinamomtrica . . . . . . . . . . . . . . . . Elevao articial com BCP . . . . . . . . . . . . Fluxo de Dados: Requisies Externas Fluxo de Dados: Requisies Internas Quadro de Requisies PCI . . . . . . Quadro de Respostas PCI . . . . . . . Processo Transmissor . . . . . . . . . Processo Receptor . . . . . . . . . . . Processo de Vericao . . . . . . . . Processo Leitor . . . . . . . . . . . . Processo Local . . . . . . . . . . . . Transio No Habilitada . . . . . . . Transio Habilitada . . . . . . . . . Processo Remoto . . . . . . . . . . . Processo Escritor . . . . . . . . . . . Processo Interno . . . . . . . . . . . . Rede de Comunicao . . Interao entre os Mdulos Login do Usurio . . . . . Gerenciamento dos Poos . Interveno em um Poo . Histrico do Poo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 8 12 13 17 18 18 21 22 22 23 27 29 30 32 33 34 34 35 36 37 41 42 43 44 45 46
iii
Lista de Tabelas
3.1 3.2 3.3 3.4 4.1 Requisies e Respostas Funes de Controle . . Cdigos de Erro . . . . . Estados das Requisies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 24 25 26 46
Tempo de Resposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resumo
A utilizao de sistemas de superviso tem se tornado cada vez mais essencial ao acesso, gerenciamento e obteno de dados dos processos industriais, devido ao constante e frequente desenvolvimento da automao industrial. Estes sistemas supervisrios (SCADA) tm sido amplamente utilizados em diversos ambientes industriais para armazenar dados do processo e control-lo de acordo com alguma estratgia adotada. O hardware de controle de um sistema SCADA o conjunto de equipamentos responsveis pela execuo desta tarefa. O software de superviso SCADA acessa os dados dos processos atravs do hardware de controle e torna-os disponveis para os usurios. Atualmente, muitos sistemas de automao industrial utilizam softwares de superviso desenvolvidos pelo mesmo fabricante do hardware de controle. Normalmente, estes softwares no podem ser usados com equipamentos de controle de outros fabricantes. Este trabalho prope uma metodologia de desenvolvimento de sistemas de superviso capaz de acessar informaes dos processos atravs de diferentes equipamentos de controle. Inicialmente, deni-se uma arquitetura para sistemas supervisrios que garanta comunicao e troca de dados ecientes. Em seguida, a arquitetura aplicada em um sistema de superviso de poos de petrleo que utilizam diferentes equipamentos de controle. A implementao foi modelada utilizando o mtodo formal de redes de Petri. Os resultados so apresentados para demonstrar a aplicabilidade da soluo proposta. Palavras-chave: Sistema supervisrio, SCADA, automao industrial, redes de Petri, elevao articial de petrleo.
vii
Abstract
The using of supervision systems has become more and more essential in accessing, managing and obtaining data of industrial processes, because of constant and frequent developments in industrial automation. These supervisory systems (SCADA) have been widely used in many industrial environments to store process data and to control the processes in accordance with some adopted strategy. The SCADAs control hardware is the set of equipments that execute this work. The SCADAs supervision software accesses process data through the control hardware and shows them to the users. Currently, many industrial systems adopt supervision softwares developed by the same manufacturer of the control hardware. Usually, these softwares cannot be used with other equipments made by distinct manufacturers. This work proposes an approach for developing supervisory systems able to access process information through different control hardwares. An architecture for supervisory systems is rst dened, in order to guarantee efciency in communication and data exchange. Then, the architecture is applied in a supervisory system to monitor oil wells that use distinct control hardwares. The implementation was modeled and veried by using the formal method of the Petri networks. Finally, experimental results are presented to demonstrate the applicability of the proposed solution. Keywords: Supervisory systems, SCADA, industrial automation, Petri networks, oil articial lift.
ix
Captulo 1 Introduo
A automao industrial tem crescido continuamente devido necessidade de substituir os antigos mtodos de controle manual pelos ecientes mtodos de controle automatizados [Mai03]. Neste contexto, a utilizao de um hardware de controle possibilita o armazenamento de dados do processo e, associada a tcnicas de controle atuando sobre ele, d um maior grau de conabilidade ao seu funcionamento. Todavia, sempre que preciso acessar esses dados necessrio um contato direto com o hardware de controle, o que pode se tornar um trabalho custoso quando os equipamentos operam em locais distantes ou de difcil acesso. Assim, surge a necessidade de tornar os dados disponveis remotamente. Os sistemas supervisrios suprem essa necessidade, pois permitem coletar dados do processo, alm de monitor-lo e atuar sobre ele com algum controle em nvel de superviso [LY02]. Para executar essas tarefas o sistema supervisrio deve utilizar algum sistema computacional, ou software de superviso, que seja capaz de se comunicar com o processo indiretamente atravs do hardware de controle. Quando estes dois elementos que precisam se comunicar utilizam algum protocolo de comunicao privado, normalmente de propriedade do fabricante do hardware de controle, gerada uma relao de dependncia do software em relao ao hardware, comprometendo o sistema supervisrio no sentido de que ele s ser capaz de supervisionar processos automatizados que utilizam um nico tipo de equipamento de controle [SQ00]. Sistemas de superviso de processos de extrao de petrleo em poos automatizados representam um caso tpico do problema de software dependente. Neste tipo de processo o mtodo utilizado para elevar o uido do reservatrio natural subterrneo pode variar de acordo com a localizao do poo, o custo operacional e o equipamento disponvel, alm de outros fatores [Tho01]. Assim, como geralmente so utilizados equipamentos de controle distintos para diferentes mtodos de elevao, cada fabricante elabora um projeto de sistema de superviso diferente, acarretando um gasto excessivo da empresa com softwares de superviso. importante ressaltar que um mesmo mtodo de elevao de petrleo tambm pode utilizar equipamentos de controle de diferentes fabricantes, o que agrava ainda mais o problema. Neste contexto, as prximas sees abordaro os aspectos gerais da automao de processos industriais e dos sistemas de superviso e as principais caractersticas do
CAPTULO 1. INTRODUO
reduo de custos de pessoal devido substituio por mquinas; aumento da qualidade dos produtos devido preciso das mquinas; reduo de produtos em estoque devido ao aumento da produtividade; reduo de perdas de produtos; e diminuio no tempo de fabricao.
Os processos automatizados utilizam tcnicas que permitem, atravs do uso de controladores e algoritmos de controle, armazenar suas informaes, calcular o valor desejado para as informaes armazenadas e, se necessrio, tomar alguma ao corretiva. Este tipo de comportamento representa o funcionamento de um sistema realimentado ou em malha fechada. A montagem de automveis atravs de robs um dos exemplos mais comuns de processos automatizados na indstria atualmente. Uma representao da automao industrial em nveis de abstrao pode ser observada na gura 1.1 [dO03]. A estrutura topolgica que representa a distribuio dos principais elementos envolvidos na automao de um processo industrial pode ser observada na gura 1.2. Nvel de Gerncia Nvel de Superviso Nvel de Rede de Comunicao Nvel de Controle Nvel de Sensores e Atuadores Nvel de Processos Fsicos Figura 1.1: Automao Industrial em Nveis de Abstrao
Controlador 1
Controlador N
Sensores
Atuadores
Sensores
Atuadores
Processo Fsico 1
Processo Fsico N
Figura 1.2: Automao Industrial - Topologia quanto na gerncia dos dados [BJP99]. A elevao de uido em poos de petrleo um exemplo de processo fsico. Este processo, quando automatizado, permite um alto nvel de controle sobre a quantidade de uido sendo extrado do reservatrio.
CAPTULO 1. INTRODUO
Os atuadores podem ser comparados s mos, pois eles executam sobre o processo as tarefas ordenadas pelo controlador, assim como as mos executam as tarefas ordenadas pelo crebro. Incluem-se no grupo dos atuadores os rels auxiliares, os contatores e conversores eletrnicos e os variadores de velocidade/frequncia. Na gura 1.2 possvel observar a relao dos sensores e atuadores com um processo automatizado e seu controlador.
interfaces de operao e programao facilitadas ao usurio; instrues de aritmtica e manipulao de dados poderosas; recursos de comunicao em redes de CLPs; conabilidade; exibilidade; e velocidade.
1.1.5 Superviso
Os sistemas de superviso devem ser capazes de processar as informaes do processo e torn-las disponveis para o operador do processo ou qualquer outro usurio do software supervisrio [PJ03]. Podem tambm realizar atividades de controle em nvel de superviso e, automaticamente, com o auxlio de algum mecanismo especco aplicado
ao sistema computacional, tomar decises e executar aes sobre o processo [OK02]. A estrutura geral dos sistemas supervisrios e outras atividades que lhes so peculiares sero comentadas na seo 1.2.
Na superviso, incluem-se todas as funes de monitoramento do processo tais como grcos de tendncias de variveis analgicas ou digitais, relatrios em vdeo e impressora, dentre outras [Cam88]. A operao nos atuais sistemas SCADA tem a grande vantagem de substituir as funes da mesa de controle, otimizando os procedimentos de ligar e desligar equipamentos ou sequncias de equipamentos, ou ainda mudar o modo de operao dos equipamentos de controle. No controle supervisrio os algoritmos de controle
CAPTULO 1. INTRODUO
so executados numa unidade de processamento autnomo (CLP). Assim, o sistema de superviso responsvel somente por ajustar os set-points do mecanismo de controle dinamicamente, de acordo com o comportamento global do processo. Um sistema de superviso caracteriza-se por [MMP97]:
fazer a aquisio de dados do processo; tornar os dados disponveis visualmente; processar eventos e ativar alarmes; e ser tolerante a falhas.
Essas caractersticas, detalhadas a seguir, garantem a execuo das trs atividades bsicas de um sistema SCADA.
1.3. OBJETIVOS
suas reas de competncia. Os sistemas SCADA armazenam em arquivos as informaes relativas a todos os alarmes gerados, de modo a permitir que posteriormente proceda-se uma anlise mais detalhada das circunstncias que os originou.
1.3 Objetivos
Almejando solucionar o problema de software de superviso dependente do hardware de controle, ser projetada uma arquitetura para sistemas supervisrios que elimine essa
CAPTULO 1. INTRODUO
Processo 3
Escravo
Escravo Mestre
Escravo
Cliente
Cliente
Cliente
Figura 1.3: Estrutura Fsica de um Sistema Supervisrio relao de dependncia. Am de garantir a aplicabilidade da arquitetura projetada como soluo, ser desenvolvida uma implementao prtica para um processo fsico industrial em que se verique a ocorrncia do problema. Para atingir tais objetivos, as seguintes tarefas foram realizadas:
elaborao de um interface de comunicao entre o software e o hardware de modo que para o usurio do software o acesso aos dados do processo seja transparente em relao ao hardware utilizado; desenvolvimento de um protocolo de comunicao que permita uma troca de dados rpida e eciente utilizando a interface de comunicao elaborada; proposio de um modelo de implementao para o protocolo desenvolvido; e implementao da arquitetura proposta em um processo de elevao articial de petrleo em poos automatizados com equipamentos de fabricantes distintos.
senta uma viso introdutria dos aspectos relevantes para a obteno de uma soluo. O segundo captulo expe as principais caractersticas da indstria do petrleo, explorando as peculiaridades do processo fsico de elevao articial de petrleo. O terceiro captulo descreve a arquitetura para sistemas supervisrios utilizada como soluo para o problema apresentado, sugerindo um modelo de implementao para esta arquitetura. O quarto captulo trata da implementao do software de superviso e avalia sua utilizao. O ltimo captulo analisa as vantagens da soluo adotada e sua aplicabilidade a problemas similares.
10
CAPTULO 1. INTRODUO
12
Figura 2.1: Sonda Utilizada na Perfurao de Poos de Petrleo No mtodo de perfurao atualmente utilizado na indstria, chamado de perfurao rotativa, as rochas so perfuradas pela ao da rotao e peso aplicados a uma broca posicionada na extremidade inferior de uma coluna de perfurao. Os fragmentos da rocha so removidos continuamente atravs de um uido de perfurao ou lama. Ao atingir determinada profundidade, a coluna de pefurao retirada do poo e uma coluna de revestimento de ao descida no poo com objetivo inicial de evitar o desmoronamento das paredes do poo. O espao entre os tubos de revestimento e as paredes do poo so cimentados am de isolar as rochas atravessadas e garantir maior segurana na perfurao. Aps a cimentao, a coluna de perfurao descida novamente, agora com uma broca de dimetro menor que a largura da coluna de revestimento, at determinada profundidade para a insero de uma nova coluna de revestimento, de dimetro menor que a anterior, procedendo-se a uma nova cimentao. Esse processo se repete at que seja alcanada a profundidade desejada para o poo. Assim, possvel perceber que o processo de perfurao se d em diversas fases, caracterizadas pelo dimetro das brocas de perfurao, que reduzido em cada uma delas.
prevenir o desmoronamento das paredes dos poos; evitar a contaminao da gua dos lenis freticos mais prximos a superfcie;
13
A gura 2.2 ilustra os tipos de colunas de revestimento utilizadas em um poo perfurado em trs fases.
# " $ ! % $ # " $ ! % $
Tubo Condutor
$
#
"
$ ! %
!
Revestimento de Superfcie
! !
Revestimento de Produo
Coluna de Produo
Tubo Condutor: tem o objetivo de sustentar os sedimentos superciais no consolidados. o primeiro revestimento do poo, assentado a uma pequena profundidade (10 m a 50 m); Revestimento de Superfcie: protege os horizontes superciais de gua e evita o desmoronamento de formaes no consolidadas. assentado em uma profundidade maior que a do tubo condutor; Revestimento de Produo: tem a nalidade de permitir a produo do poo suportando suas paredes; e Coluna de Produo: o tubo que viabiliza o uxo do petrleo at a superfcie.
2.2.2 Cimentao
Para xar a tubulao de revestimento e evitar a migrao de uidos entre as zonas permeveis por trs dessa tubulao, o espao anular entre a coluna de revestimento e as paredes do poo preenchido com cimento. O bombeio da pasta de cimento e gua neste espao anular responsvel pela cimentao do poo. A cimentao pode ser primria ou secundria. A cimentao primria, ou principal, feita logo aps a descida da coluna de revestimento no poo. Sua qualidade avaliada atravs de pers acsticos corridos no revestimento. Se, por qualquer motivo, a cimentao primria no atingir o seu
14
objetivo, pode-se efetuar uma recimentao, ou cimentao secundria, atravs de perfuraes realizadas no revestimento denominadas canhoneios. possvel ainda a utilizao da cimentao quando se decide abandonar um poo. Neste caso o cimento utilizado como um tampo.
15
poo, aumentando o diferencial de presso sobre o reservatrio, resultando no aumento da vazo. Os principais mtodos de elevao articial utilizados atualmente na indstria so [AdSdB 01]:
Gas-lift Contnuo e Intermitente (GLC e GLI); Bombeio Centrfugo Submerso (BCS); Bombeio Mecnico com Hastes (BM); Bombeio por Cavidades Progressivas (BCP).
A escolha de um mtodo de elevao articial depende de fatores como o nmero de poos, a produo de areia, profundidade do reservatrio, disponibilidade de energia, equipamento disponvel, treinamento do pessoal, custo operacional, entre outros.
2.5.1 Gas-Lift
O mtodo de elevao articial que utiliza a energia contida em gs comprimido para elevar uidos at a superfcie chamado de gas-lift. Este mtodo, alm de exigir investimentos relativamente baixos para poos de grande profundidade, ideal em poos que produzem uidos com elevado teor de areia. Os dois principais tipos de gas-lift so o contnuo e o intermitente. O gas-lift contnuo bastante similar elevao natural. Esse mtodo tem como objetivo gaseicar o uido produzido atravs da injeo contnua de gs a alta presso na coluna de produo. Assim, possvel diminuir a presso de uxo no fundo do poo e, consequentemente, aumentar a vazo do uido. A injeo de gs na coluna de produo se d continuamente, sendo controlada na superfcie atravs de um regulador de uxo conhecido como choke. O gas-lift intermitente desloca golfadas do uido at a superfcie injetando gs a alta presso na base das golfadas. Neste caso, a injeo de gs possui tempos bem denidos e geralmente controlada na superfcie por um intermitor de ciclo e uma vlvula controladora ou motor valve. Os sistemas de elevao de uido que utilizam gas-lift so compostos por:
fonte de gs a alta presso (compressores); controlador de injeo de gs na superfcie (choke ou motor valve); controlador de injeo de gs de subsuperfcie (vlvulas de gas-lift); e equipamentos de separao e armazenamento dos uidos produzidos (separadores e tanques).
A injeo de gs na coluna de produo em um sistema de gas-lift contnuo proporcional vazo do lquido que vem do reservatrio. Assim, o orifcio das vlvulas de controle de injeo pode ser relativamente pequeno. O sistema de gas-lift intermitente requer uma elevada vazo peridica de gs para imprimir uma grande velocidade ascendente ao uido, de forma que ele seja deslocado at a superfcie. Neste caso, as vlvulas precisam ter orifcios maiores e aberturas mais rpidas, reduzindo a penetrao de gs na golfada de uido.
16
O esquema representado na gura 2.3 ilustra um sistema de bombeio mecnico com hastes. A bomba de subsuperfcie responsvel por fornecer energia ao uido vindo da formao. Essa transmisso de energia ocorre sob a forma de aumento de presso. A coluna de hastes, atravs do seu movimento alternativo, transmite energia para a bomba de subsuperfcie. A primeira haste no topo da coluna chamada de haste polida, por ter sua superfcie externa polida. A haste polida, devido ao movimento alternativo da coluna, entra e sai constantemente do poo e tem a funo de proporcionar uma maior vedao cabea do poo. A unidade de bombeio responsvel pela converso do movimento de rotao do motor em movimento alternado transmitido s hastes. A escolha da unidade de bombeio deve atender a trs solicitaes, de modo a no sofrer danos durante a sua operao. So elas: o torque mximo aplicado, a mxima carga das hastes, e o mximo curso da haste polida.
17
Unidade de Bombeio
& ' & ' & ' & ' & ' & '
& '
& '
& '
Coluna de Hastes
Bomba de Subsuperfcie
Figura 2.3: Sistema de Bombeio Mecnico O motor, atravs do seu movimento de rotao, responsvel por transmitir energia unidade de bombeio. Os motores podem ser eltricos ou de combusto interna. A disponibilidade de energia eltrica implicar sempre na utilizao de um motor eltrico, tendo em vista que so mais ecientes, tm menor custo operacional e apresentam menor rudo em relao aos motores de combusto interna. Estes so utilizados, geralmente, em locais isolados, onde a construo de uma rede para distribuio eltrica economicamente invivel. O acompanhamento da produo de um poo que utiliza o sistema de bombeio mecnico se d principalmente pela anlise de cartas dinamomtricas [dABF93]. As cartas dinamomtricas so grcos que representam a variao da carga na haste polida em funo do tempo, durante o perodo de um ciclo de bombeio. A carga na haste polida o peso por ela suportado. A carta obtida instalando-se um dinammetro para registrar as cargas na haste polida durante um ciclo completo. A gura 2.4 representa um exemplo de carta dinamomtrica.
18
Upstroke
Carga na haste polida
Figura 2.4: Carta Dinamomtrica Este tipo de bomba passou a ser utilizada na elevao articial de petrleo, no Brasil, em 1984. Por se revelar um mtodo muito simples e eciente na produo de uidos viscosos, a utilizao destas bombas tem se expandido rapidamente. Uma bomba de cavidades progressivas funciona imersa em um poo de petrleo, sendo constituda de rotor e estator. A geometria do conjunto forma uma srie de cavidades hermticas idnticas. A ao de bombeio se d quando o movimento giratrio do rotor no interior do estator gera um movimento axial das cavidades de maneira progressiva no sentido da suco para a descarga do uido. A bomba pode ser acionada diretamente no fundo do poo atravs de um acionador eltrico ou hidrulico acoplado bomba. Outra forma de acionamento por meio de uma coluna de hastes e um cabeote de acionamento. Neste caso, a bomba pode ser acionada da superfcie. A gura 2.5 ilustra um esquema de elevao articial utilizando uma bomba de cavidades progressivas.
20
Um dos protocolos de comunicao mais conhecidos da indstria que utilizam o padro mestre/escravo o modbus [Mod03]. Todavia, a arquitetura proposta tambm no restringe o protocolo de comunicao utilizado na rede de campo, desde que obedea o padro mestre/escravo adotado pela arquitetura. No funcionamento dos protocolos mestre/escravo, a solicitao de informaes deve partir do mestre. Essa solicitao deve ser enviada para todos os escravos atravs do canal nico de comunicao, o que caracteriza uma comunicao em broadcast. Entretanto, somente o escravo para o qual destina-se a mensagem deve responder solicitao. O tempo de transmisso de dados em redes que utilizam este padro determinstico, pois, apesar de o canal de comunicao ser nico, o incio de um procedimento de comunicao de competncia exclusiva da estao mestre, implicando a inexistncia de colises no trfego deste tipo de rede.
21
denitiva (RD) contendo os dados solicitados ou a conrmao dos dados enviados na requisio. A RD encerra a troca de informaes iniciada por uma requisio. A Tabela 3.1 descreve a relao das requisies e respostas com seus destinos e origem na transmisso utilizando o PCI. Transmisso Requisies Internas Requisies Externas Rplica Intermediria Resposta Denitiva Origem Servidor Cliente Servidor Servidor Destino Servidor Servidor Cliente ou Servidor Cliente ou Clientes
22
Na gura 3.2 possvel observar como o PCI prev o uxo de dados originado por uma requisio interna. Servidor Requisio Interna Rplica Intermediria (RI) Servidor
Figura 3.3: Quadro de Requisies PCI Os campos encontrados nos quadros de requisies so: ID: representa o identicador nico para cada requisio enviada. Esse campo tem um tamanho xado em quatro bytes. Funo: indica a funo lgica que deve ser executada pelo servidor. O campo de funo tem seu tamanho xado em quatro bytes. Estao: informa a estao da rede de campo que deve ser acessada. Esse campo tem tamanho xo equivalente a quatro bytes. Dados: transmite os eventuais parmetros a serem utilizados pelo servidor na execuo da funo solicitada. O tamanho deste campo no constante, sendo determinado de acordo com a funo.
23
Figura 3.4: Quadro de Respostas PCI No quadro de respostas, os campos tm o seguinte signicado: ID: o mesmo identicador da requisio que originou a resposta. Funo: corresponde funo executada pelo servidor. Dados: contm o resultado da funo executada pelo servidor.
As funes de controle so aquelas utilizadas no gerenciamento da troca de dados utilizando o PCI. Essas funes tm origem, exclusivamente, no servidor e so utilizadas para informar aos clientes a chegada de requisies no servidor, erros ocorridos no processamento das requisies ou qualquer evento relevante que precise ser avisado aos clientes. A Tbela 3.2 mostra as funes de controle previstas pelo PCI:
Sempre que o servidor receber alguma requisio, ele dever enviar uma RI para a origem da requisio. Assim, o campo Funo da RI deve conter o cdigo PCI_ACK, caso o servidor seja capaz de processar a requisio, ou PCI_NACK, se o processamento da requisio no for possvel. Nos dois casos o campo Dados deve ser vazio. Sempre que uma requisio for processada, o servidor dever enviar uma RD para o(s) cliente(s). No caso de erro no processamento da requisio, o campo Funo da RD deve conter o cdigo PCI_ERROR e o campo Dados deve conter o cdigo do erro ocorrido (ver seo 3.3.7). Os avisos representam o conjunto de funes utilizadas pelo servidor para noticar a ocorrncia de qualquer evento aos clientes. Como o destinatrio da noticao, o cliente, no originou a requisio para a resposta contendo a noticao, as funes de aviso devem utilizar requisies internas. As funes utilitrias representam os servios oferecidos pelo servidor e, portanto, devem ser utilizadas pelos clientes. As funes dessa classe devem ser denidas de acordo com os servios exigidos do servidor. No uso destas funes, os clientes devem enviar uma requisio contendo o cdigo da funo e receber uma RI e uma RD correspondentes requisio que as originou. Assim, as funes utilitrias devem ser enviadas atravs de requisies externas. As funes lgicas PCI subdividem-se ainda quanto forma de execuo no servidor como:
locais; e remotas.
As funes locais so aquelas executadas no servidor, sem que haja a necessidade de se comunicar com qualquer estao da rede de campo. As funes remotas exigem, obrigatoriamente, a comunicao com a rede de campo na sua execuo.
25
cpia da requisio no seu estado inicial. O estado inicial de uma requisio deve indicar que nenhuma resposta foi recebida ainda e, portanto, uma RI esperada (PCI_WAIT_RI). O processo receptor responsvel pelo controle interno de recebimento das respostas, modicando o estado das requisies e retirando-as de BC1. Quando uma RI do tipo acknowledge recebida, o estado da requisio correspondente deve ser alterado de modo a indicar que uma RD aguardada (PCI_WAIT_RD). Caso a RI seja do tipo not acknowledge, a requisio deve ser eliminada de BC1, pois indica que o servidor no ser capaz de process-la, e o usurio deve ser noticado. No recebimento de uma RD, o resultado deve ser repassado ao usurio e a sua requisio correspondente deve ser eliminada de BC1. O recebimento de uma RD para uma requisio no estado PCI_WAIT_RI viola o protocolo de comunicao e, portanto, a resposta deve ser descartada. O mesmo deve acontecer no recebimento de uma RI para uma requisio correspondente no estado PCI_WAIT_RD. A busca por uma requisio correspondente s respostas deve ser feita comparando-se o campo ID dos quadros PCI. A inexistncia de uma requisio em BC1 correspondente a uma resposta recebida com um ID positivo deve fazer com que o cliente despreze tal resposta. As respostas com ID negativo devem ser processadas sem a busca por uma requisio correspondente, pois so originadas de requisies internas do servidor que podem indicar a ocorrncia de avisos ou alarmes. O processo de vericao deve percorrer BC1 a cada perodo de tempo estabelecido para o timeout intermedirio e avaliar o tempo decorrido desde a chegada de cada requisio no buffer. Se a requisio estiver no estado PCI_WAIT_RI e esse tempo for maior que o timeout, caracteriza-se a ocorrncia de algum problema de comunicao na rede local de superviso que deve ser informado ao usurio. Caso a requisio esteja no estado PCI_WAIT_RD e esse tempo seja maior o tempo estabelecido para o timeout nal, houve algum problema no processamento da requisio e, provavelmente, no servidor do sistema. O usurio tambm deve ser noticado neste caso. O acesso concorrente memria compartilhada representada por BC1 torna necessria a criao de uma zona de excluso mtua, ZEMC1, para esse buffer. Para gerenciar o acesso a essa zona utiliza-se um semforo de djkistra, ou mutex [Tan95], denominado de MC1. O funcionamento do processo transmissor ilustrado na gura 3.5 utilizando-se uma rede de petri [CV97] e pode ser descrito nos seguintes passos: Passo 1: processo ca bloqueado aguardando solicitaes do usurio. Passo 2: monta uma requisio com ID inequvoco positivo para a solicitao. Passo 3: processo ca bloqueado aguardando acesso ZEMC1, tentando decrementar MC1. Passo 4: insere cpia da requisio no estado PCI_WAIT_RI em BC1, juntamente com o momento do armazenamento.
27
Aguardando Solicitao
MC1
Montando Requisio
Figura 3.5: Processo Transmissor A rede de petri na gura 3.6 mostra o funcionamento do processo receptor. Uma descrio mais detalhada da atividade realizada por este processo na aplicao cliente feita nas seguintes etapas: Passo 1: processo ca bloqueado esperando a chegada de respostas. Passo 2: verica ID da resposta. Passo 3: se ID 0, toma ao programada para o aviso recebido e retorna ao Passo 1. Passo 4: se ID 0, processo ca bloqueado aguardando acesso ZEMC1, tentando decrementar MC1. Passo 5: busca requisio correspondente vericando ID das requisies em BC1. Passo 6: se no existe requisio correspondente, descarta resposta, incrementa MC1 e retorna ao Passo 1. Passo 7: se existe requisio correspondente, analisa requisio. Passo 8: se a requisio correspondente est no estado PCI_WAIT_RI, analisa resposta. Passo 9: se a resposta uma RI, verica o tipo da RI.
( )
28
Passo 10: se a RI do tipo acknowledge, muda o estado para PCI_WAIT_RD, incrementa MC1 e retorna ao Passo 1. Passo 11: se a RI do tipo not acknowledge, informa ao usurio que o servidor no foi capaz de processar a requisio e retorna ao Passo 1. Passo 12: se a resposta uma RD, descarta resposta, incrementa MC1 e retorna ao Passo 1. Passo 13: se a requisio correspondente est no estado PCI_WAIT_RD, analisa resposta. Passo 14: se a resposta uma RI, descarta a resposta, incrementa MC1 e retorna ao Passo 1. Passo 15: se a resposta uma RD, incrementa MC1, exibe resultado ao usurio e retorna ao Passo 1. O processo de vericao, ilustrado na gura 3.7, realiza as seguintes atividades: Passo 1: processo ca bloqueado aguardando acesso ZEMC1, tentando decrementar MC1. Passo 2: Enquanto no houver requisies em BC1, incrementa MC1, bloqueia por 10 ms e retorna ao Passo 1. Passo 3: seleciona uma requisio em BC1. Passo 5: analisa o estado da requisio e mede o tempo passado desde a sua chegada ao buffer. Passo 6: se o estado for PCI_WAIT_RI e o tempo medido for maior que 200 ms, informa ao usurio problema de comunicao com o servidor e retira requisio de BC1. Passo 7: se o estado for PCI_WAIT_RD e o tempo medido for maior que 5 s, informa ao usurio problema no servidor e retira requisio de BC1. Passo 8: retorna ao Passo 2.
29
PCI_WAIT_RI
Analisa Resposta RI RD
RI
RD
Descarta Resposta
Descarta Resposta
Requisio No Processada
30
No H
H Requisies
Bloqueia por 10 ms
Seleciona Requisio
PCI_WAIT_RI
PCI_WAIT_RD
t < 200 ms
t > 200 ms
t>5s
Verifica Tempo
t<5s
ela armazenada em um buffer de requisies, denominado de BS1. Caso a requisio contenha alguma funo remota, ela armazenada em outro buffer de requisies, chamado de BS2. O segundo processo, chamado de processo local, processa as requisies em BS1 retirando-as do buffer, executando a funo solicitada ao servidor e armazenando a RD em um buffer de respostas, chamado de BS3. O terceiro processo, chamado de processo remoto, processa as requisies em BS2 retirando-as do buffer, comunicando-se com alguma estao da rede de campo e armazenando a RD em BS3. O quarto processo, denominado processo escritor, retira as RDs de BS3 e as envia aos clientes. O quinto processo, chamado de processo interno, utilizado para gerar as requisies internas. Portanto, pode ser utilizado na gerao de alarmes e avisos.
31
A criao de buffers e processos distintos para armazenar e tratar as requisies que contm funes locais e remotas de forma diferenciada se deve diferena de velocidade do processamento inerente aos tipos de funes. Tratar estas requisies da mesma maneira introduziria um atraso desnecessrio no tempo de resposta a requisies processadas rapidamente. Ao contrrio das requisies, as RDs so processadas nos clientes. Portanto, no servidor, so tratadas da mesma forma, utilizando um nico buffer para armazen-las e um nico processo para envi-las. Para evitar que os processos local e remoto quem em espera ocupada enquanto no houver requisies nos buffers BS1 e BS2, respectivamente, so utilizados dois semforos bloqueantes denominados de SBS1 e SBS2 que sinalizam a existncia de requisies nos buffers. A esperada ocupada no processo escritor evitada utilizando-se um semforo bloqueante, chamado de SBS3, que sinaliza a existncia de respostas em BS3. O acesso simultneo s zonas de excluso mtua ZEMS1, ZEMS2 e ZEMS3 representadas, respectivamente, pelos buffers BS1, BS2 e BS3 pode ser evitado utilizando-se os semforos de dijkstra MS1, MS2 e MS3. Antes de inserir cada requisio ou resposta nos seus respectivos buffers, necessrio vericar a existncia de, pelo menos, uma vaga disponvel no buffer em que ser inserido o dado. Para isso, so utilizados os semforos no-bloqueantes SNS1, SNS2 e SNS3 que sinalizam a existncia de vagas em BS1, BS2 e BS3, respectivamente. Esses semforos devem ser inicializados com o tamanho mximo permitido em cada buffer. A existncia de vaga em BS1 ou BS2 indica que o servidor ser capaz de processa a requisio recebida. Assim, uma RI do tipo acknowledge dever ser enviada para o emissor da requisio. Caso no haja vaga no buffer para a requisio recebida, o servidor no processar a requisio, devendo enviar uma RI do tipo not acknowledge para o emissor da requisio. A indisponibilidade de vagas em BS3 indica que o processo escritor no est conseguindo enviar as respostas em tempo hbil. Esta situao jamais deve ocorrer, pois os processos local e remoto, por processarem as requisies, so bem mais lentos que o processo escritor. Caso ocorra, esta situao indicar um falha no funcionamento do servidor e deve ser tratada, no prprio servidor, como uma exceo fatal. O funcionamento do processo leitor, ilustrado na gura 3.8, pode ser descrito nos seguintes passos: Passo 1: processo ca bloqueado aguardando recebimento de requisies. Passo 2: l a requisio recebida e identica o tipo de funo. Passo 3: se a funo local, verica se h espao em BS1 tentando decrementar SNS1. Passo 4: se no h espao em BS1, envia RI do tipo not acknowledge para o emissor da requisio e retorna ao Passo 1. Passo 5: se h espao em BS1, processo bloqueia aguardando acesso ZEMS1, tentando decrementar MS1. Passo 6: coloca requisio em BS1. Passo 7: incrementa MS1, liberando o acesso ZEMS1. Passo 8: SBS1 sinaliza requisio em BS1. Passo 9: envia RI do tipo acknowledge para o emissor da requisio e retorna ao Passo 1.
32
Passo 10: se a funo remota, verica se h espao em BS2 tentando decrementar SNS2. Passo 11: se no h espao em BS2, envia RI do tipo not acknowledge para o emissor da requisio e retorna ao Passo 1. Passo 12: se h espao em BS2, processo bloqueia aguardando acesso ZEMS2, tentando decrementar MS2. Passo 13: coloca requisio em BS2. Passo 14: incrementa MS2, liberando o acesso ZEMS2. Passo 15: SBS2 sinaliza requisio em BS2. Passo 16: envia RI do tipo acknowledge para o emissor da requisio e retorna ao Passo 1.
SBS1
MS1
SNS1
MS2
SBS2
Remota
Envia RI NACK
Envia RI ACK
Envia RI ACK
Figura 3.8: Processo Leitor O processo local, cujo funcionamento pode ser observado na gura, 3.9, realiza as
33
Passo 1: processo ca bloqueado aguardando requisies em BS1. Passo 2: processo ca bloqueado aguardando acesso ZEMS1, tentando decrementar MS1. Passo 3: retira requisio de BS1. Passo 4: incrementa MS1, liberando o acesso ZEMS1. Passo 5: sinaliza vaga em BS1 incrementado SNS1. Passo 6: processa a requisio executando uma funo local. Passo 7: verica se h espao em BS3 tentando decrementar SNS3. Passo 8: se no h espao em BS3, pra a aplicao servidora, indicando falha no processo escritor. Passo 9: se h espao em BS3, processo bloqueia aguardando acesso ZEMS3, tentando decrementar MS3. Passo 10: coloca resultado da requisio em uma RD e insere em BS3. Passo 11: incrementa MS3, liberando o acesso ZEMS3. Passo 12: SBS3 sinaliza resposta em BS3 e retorna ao Passo 1.
SNS1
MS1
SBS1
SNS3
MS3
SBS3
Pra Servidor
Sinaliza RD em BS3
34
No Passo 8 possvel observar a ocorrncia de uma situao anormal. O processo local o responsvel direto pela execuo das funes locais. Considerando que a atividade do processo escritor limita-se a retirar as respostas do buffer de respostas e enviar as RDs aos clientes, conclui-se que esse processo bem mais rpido do que aquele. Assim, razovel supor que o buffer de respostas jamais dever estar cheio, pois o uxo de sada bem maior que o de entrada. Desta forma, a situao de ausncia de vagas nesse buffer deve ser tratada como uma exceo fatal no funcionamento do sistema. Para representar esta situao, na gura 3.9 utiliza-se de um recurso que no faz parte do padro de modelagem por Redes de Petri, o arco inibidor. Normalmente, para que uma transio seja disparada necessrio que haja pelo menos uma marca em todos os estados que condicionam o disparo dessa transio. O arco inbidor representa a operao complementar a esta. A existncia de uma marca em qualquer estado que condicione o disparo de uma transio atravs de um arco inibidor impedir o disparo da transio. As guras 3.10 e 3.11 ilustram as condies de disparo de uma transio atravs de um arco inibidor.
arco inibidor
no habilita transio
habilita transio
transio disparada
Figura 3.11: Transio Habilitada O funcionamento do processo remoto, mostrado na gura 3.12, semelhante ao do
35
processo local, pois processa requisies e gera respostas. A principal diferena est no tempo de processamento. Os passos de execuo deste processo so descritos a seguir:
SNS2 MS2 SBS2 SNS3 MS3 SBS3
Pra Servidor
Sinaliza RD em BS3
Figura 3.12: Processo Remoto Passo 1: processo ca bloqueado aguardando requisies em BS2. Passo 2: processo ca bloqueado aguardando acesso ZEMS2, tentando decrementar MS2. Passo 3: retira requisio de BS2. Passo 4: incrementa MS2, liberando o acesso ZEMS2. Passo 5: sinaliza vaga em BS2 incrementado SNS2. Passo 6: processa a requisio executando uma funo remota e se comunicando com alguma estao na rede de campo. Passo 7: verica se h espao em BS3 tentando decrementar SNS3. Passo 8: se no h espao em BS3, pra a aplicao servidora, indicando falha no processo escritor. Passo 9: se h espao em BS3, processo bloqueia aguardando acesso ZEMS3, tentando decrementar MS3. Passo 10: coloca resultado da requisio em uma RD e insere em BS3. Passo 11: incrementa MS3, liberando o acesso ZEMS3.
36
Passo 12: SBS3 sinaliza resposta em BS3 e retorna ao Passo 1. O processo escritor, cujo funcionamento mostrado na gura 3.13, pode ser descrito nos seguintes passos: Passo 1: Passo 2: Passo 3: Passo 4: Passo 5: Passo 6: processo ca bloqueado aguardando respostas em BS3. processo bloqueia aguardando acesso ZEMS3, tentando decrementar MS3. retira resposta de BS3. incrementa MS3, liberando o acesso ZEMS3. sinaliza vaga em BS3 incrementado SNS3. envia resposta para o cliente e retorna ao Passo 1.
SBS3 MS3 SNS3
Figura 3.13: Processo Escritor O processo interno responsvel pela gerao das requisies internas. Esse processo envia requisies com funes de aviso para o processo leitor. As requisies so processadas pelo processo local ou remoto, e o aviso deve ser enviado aos clientes pelo processo escritor. O funcionamento do processo interno, observado na gura 3.14, descrito nos seguintes passos: Passo 1: processo executado ciclicamente at surgir a necessidade de enviar um aviso ao(s) cliente(s).
37
Sim
No
Recebeu
No Recebeu
38
40
4.4.1 Projeto
Para que se pudesse denir todas as funcionalidades e caractersticas essenciais para o funcionamento do ADSPetro, foi necessrio adquirir junto a alguns engenheiros da Petrobras um conhecimento maior sobre o processo fsico. Desta maneira, foi possvel estabelecer as atividades desejveis para o software, inferindo os requisitos essenciais para o seu funcionamento. Os principais requisitos inferidos dizem respeito capacidade do ADSPetro de permitir:
acesso remoto aos dados do poo a partir da Petrobras; comunicar-se com poos controlados por qualquer tipo de controlador ou CLP; visualizar a situao de funcionamento dos poos; ativar alarmes visuais que identiquem condio de falha nos poos; ligar/desligar o poo remotamente; vericar o estado do sistema de controle dos poos; congurar o poo em relao sua instrumentao, bem como calibrar os seus instrumentos remotamente; avaliar os parmetros de controle do processo, bem como alter-los remotamente; vericar o comportamento de um poo em um perodo de tempo passado;
41
REDE DE CAMPO
MESTRE
SERVIDOR
REDE DE SUPERVISO
visualizar atravs de grcos o comportamento das variveis do processo; e restringir o acesso ao sistema para determinados usurios
A m de viabilizar a execuo das atividades requeridas para o ADSPetro, elaborouse um modelo para o software. Visando organizar o projeto do ADSPetro e permitir a sua implementao baseada na arquitetura cliente/servidor, o modelo dividiu o software em duas aplicaes, chamadas de servidor e cliente. As aplicaes so divididas em mdulos que organizam as funes e devem ser projetados para permitir a utilizao do protocolo PCI. A aplicao do servidor se divide em quatro mdulos servidores: Mdulo de Armazenamento de Dados (MSAD): responsvel pelo armazenamento dos dados de gerncia do sistema, de controle dos usurios e das variveis que denotam o comportamento dos poos; Mdulo do Sistema de Segurana (MSSS): responsvel pela segurana do sistema. Ele gera alarmes na ocorrncia de falhas e armazena qualquer evento incomum em arquivos especcos.
42
Mdulo de Gerenciamento de Informaes (MSGI): gerencia a chegada das requisies e o envio das respostas. Basicamente, executa as atividades pertinentes aos processos leitor e escritor. Mdulo de Execuo da Funes (MSEF): Executa as funes solicitadas pelos clientes. Suas tarefas esto diretamente relacionadas com a execuo dos processos local e remoto. A aplicao cliente foi dividida em 3 mdulos: Mdulo de Interao Humana (MCIH): realiza a interao homem-mquina, apresentando os dados para o usurio em um ambiente amigvel. Esta funo representa o que chamado de upload, enviando informaes do nvel mais baixo (poo) para o nvel mais alto (usurio) na pirmide de automao observada na Figura 1.1. responsvel ainda por fornecer os meios necessrios para o envio de informaes de controle e calibrao dos isntrumentos para o poo. Estas funes so classicadas como download de dados, pois enviam dados do nvel mais alto (usurio) para o nvel mais baixo (poo). Mdulo de Gerenciamento de Requisies (MCGR): gerencia as requisies enviadas para o servidor. Basicamente, este mdulo representa as atividades desempenhadas pelo processo transmissor. Mdulo de Tratamento de Respostas (MCTR): trata os dados recebidos em resposta s requisies, inclusive avaliando o seu tempo de chegada. Suas atividades esto diretamente relacionadas com os processos receptor e de vericao. A Figura 4.2 ilustra uma simulao da interaao entre os mdulos do ADSPetro. Neste exemplo, o usurio do software solicita a presso de uxo no fundo do poo.
Usurio em contato com o software MCIHM Solicita Pffp MCGR Envia requisio ao servidor MSGI
Exibe o resultado
Solicita execuo
MSEF
43
4.4.2 Implementao
A fase de implementao do software visa cumprir os requisitos do projeto. Desta maneira, importante ressaltar as solues de implementao para os requisitos do ADSPetro. As aplicaes cliente e servidor ADSPetro foram desenvolvidas atravs da linguagem de programao C++. Com o auxlio da ferramenta de programao visual Borland C++ Builder 5.0 um conjunto de telas foi elaborado, a m de tornar o software de superviso uma ferramenta computacional amigvel para o usurio. Estas atividades, como visto anteriormente, so gerenciadas pelo mdulo MCIH. Com o objetivo de proteger o sistema de usurios no autorizados, agregaram-se base de dados do sistema informaes cadastrais dos usurios contendo, inclusive, dados de identicao para permitir o acesso ao supervisrio. A identicao do usurio feita na inicializao da aplicao cliente e deve ser conrmada pelo servidor. A Figura 4.3 ilustra essa situao.
Figura 4.3: Login do Usurio Para permitir uma viso geral da situao dos poos e o gerenciamento dos alarmes que identicam condies de falha nos poos, elaborou-se a tela de interface com o usurio ilustrada na Figura 4.4. As indicaes coloridas sinalizam o estado dos poos. A instrumentao do poo, a requisio de dados especcos, o acionamento do modo de funcionamento (manual/automtico) e a ao de ligar/desligar o poo possvel atravs da interface fornecida pela observada na Figura 4.5. A implementao do ADSPetro na arquitetura cliente/servidor atravs de sockets utilizando a tecnologia TCP/IP [Tan97] garante que os usurios do sistema podero ter acesso remoto aos dados de qualquer poo conectado ao sistema supervisrio. O mdulo MSGI o responsvel pela comunicao entre os clientes e o servidor. Ao utilizar o protocolo PCI nas aplicaes cliente e servidor, o ADSPetro possibilita que os dados do poo sejam adquiridos independentemente do tipo de controlador utilizado. A comunicao com a rede de campo feita exclusivamente atravs do servidor e
44
Figura 4.4: Gerenciamento dos Poos portanto somente este elemento do sistema precisar conhecer o protocolo de comunicao com a rede de campo. Deste modo, qualquer aplicao cliente acessa os dados dos poos de forma transparente em relao comunicao com a rede de campo. O servidor ADSPetro utiliza o protocolo SCPHI [Tec04] para se comunicar com os controladores da HI Tecnologia atravs de um driver cedido pela empresa. O mdulo MSEF viabiliza a execuo das funes e, para tanto, determina como ser realizada a comunicao com os controladores. Se for necessrio acrescentar qualquer outro controlador ao sistema, basta implementar a sua forma de comunicao no MSEF, sem que haja a necessidade de qualquer alterao nas aplicaes cliente.
4.5 Resultados
Algumas das funes PCI criadas para realizar as tarefas do ADSPetro foram: PCI_READ_PFFP: funo remota responsvel por ler o valor atual da presso de uxo no fundo do poo; PCI_PID_QGI: funo remota utilizada para congurar os parmetros da malha de controle PID responsvel pela vazo de gs injetado no poo; PCI_SCAN: funo remota responsvel pela captura e armazenamento dos dados mais relevantes do poo, a m de formar uma base de dados histrica; e PCI_CLOSE_PORT: funo local utilizada para forar o fechamento do canal de comunicao com a rede de campo. Uma das mais importantes funes do sistema implementado a PCI_SCAN. Esta funo permite avaliar o comportamento das variveis de controle e processo no tempo. Ela adquire uma base de dados histrica do controlador e armazena em um banco de
4.5. RESULTADOS
45
Figura 4.5: Interveno em um Poo dados. Por este motivo responsvel pela aquisio da maior quantidade de dados de uma s vez. Com o objetivo de no sobrecarregar a rede de comunicao e, consequentemente, o sistema de superviso, foram criadas duas formas distintas de executar esta funo. A primeira consiste em programar uma execuo automtica pelo servidor em horrios em que o sistema tem pouco ou nenhum uso. O processo interno do servidor ADSPetro o responsvel pela execuo do scan automtico. Todavia, faz-se necessrio, algumas vezes, saber como o processo se comportava h alguns instantes de tempo. Neste caso, a segunda forma de execuo da funo permite que determinados usurios executem esta funo a qualquer tempo. Avaliaremos a seguir o comportamento do sistema de superviso implementado quando da execuo da funo PCI_SCAN solicitada por um usurio.
46
No caso de sucesso na execuo da funo os dados histricos do poo podem ser visualizados em uma tela como a ilustrada na Figura 4.6.
4.5. RESULTADOS
47
Observando a tabela 4.1 pode-se concluir que o nmero de usurios utilizando o sistema de superviso no exerce uma forte inuncia no tempo de resposta intermediria (TRI ). Isto ocorre porque a janela de tempo entre as requisies feitas pelos clientes (1s) relativamente grande em relao ao tempo de resposta de uma RI (100ms). Como o processamento de uma RI no servidor no deve ser demorado, a velocidade da rede local de superviso ter muito mais inuncia sobre TRI . Ao contrrio das RIs, o tempo de resposta das RDs (TRD ) tem um alto grau de dependncia do nmero de usurios requisitando informaes do sistema. Neste caso, o perodo passado entre as solicitaes de um cliente curto em relao ao tempo de processamento e retorno da RD testada (500ms). importante ressaltar que a requisio da Pffp de um poo contm uma funo PCI remota e, portanto, naturalmente mais demorada. possvel inferir que, no pior caso, o tempo de resposta de uma RD, para o teste realizado, obtido multiplicando-se o nmero de usurios pelo tempo de resposta de uma RD quando h somente um usurio conectado ao sistema. Portanto, TRD Nx500, em que TRD o tempo de resposta, em ms, da RD com a Pffp e N o nmero de usurios requisitando esta funo. Ao implementar um sistema supervisrio, podem-se utilizar os tempos medidos na Tabela 4.1 como referncia para denio dos timeouts intermedirio e nal conceituados no Captulo 3. importante avaliar a velocidade da rede local de superviso ao se denir o timeout itermedirio do sistema. Para se denir um limite de tempo que represente o timeout nal, faz-se necessrio avaliar a velocidade da rede de campo e o tempo de resposta mximo aceitvel para o sistema a ser implementado. necessrio observar que TRD depende tambm da complexidade da funo a ser executada pelo servidor e, portanto, deve inuenciar na escolha do timeout nal.
0
48
Captulo 5 Concluses
Atualmente existem solues para sistemas de superviso que tornam transparente a comunicao com a rede de campo. O protocolo OPC - OLE for Process Control a mais conhecida. Todavia, para que o OPC funcione necessrio utilizar a ferramenta DCOM - Distributed Component Object Model distribuda exclusivamente pela empresa Microsoft, o que torna a soluo completamente dependente do sistema operacional. O protocolo PCI permite que a sua implementao seja feita utilizando sockets, o que o torna exvel para ser utilizado em qualquer sistema operacional. Um fator importante a ser considerado na utilizao da metologia descrita neste trabalho que somente o elemento de interconexo, o servidor, precisa conhecer os detalhes da comunicao com as estaes escravas. Consequentemente, o acesso aos dados do processo pelo cliente ser realizado de forma transparente e independente do hardware utilizado na rede de campo. No sistema de superviso utilizado nos testes de implementao da arquitetura, e para qualquer sistema com caractersticas e elementos semelhantes a este, ser possvel agregar outros dispositivos de controle e comunicao com o processo simplesmente criando funes utilitrias que atendam s necessidades do usurio. A adoo da metodologia proposta implica uma converso da topologia mestre/escravo em cliente/servidor. Uma das principais vantagens da arquitetura proposta neste trabalho a sua aplicabilidade a solues de acesso remoto. O acesso s informaes do processo podero ser feitas remotamente por qualquer usurio com acesso rede de superviso. mister raticar a potencialidade de conexo simultnea ao mesmo processo por vrios usurios neste tipo de arquitetura. Os sistemas de superviso que s permitem o acesso de um usurio por vez s informaes do processo no aproveitam o canal de comunicao quando o usurio est conectado ao sistema, porm sem solicitar informaes. Neste caso, a comunicao com a rede de campo estar totalmente comprometida com este usurio. Na arquitetura proposta o servidor gerencia o acesso rede de campo e portanto aproveita muito melhor o canal de comunicao com esta rede. A baixa velocidade da rede de campo fator limitante no tempo de resposta do sistema. Por este motivo, uma grande quantidade de usurios utilizando o supervisrio tende a tornar o sistema mais lento. Cada sistema de superviso tem suas peculiaridades em relao quantidade de usurios e o tempo mximo aceitvel de resposta do sistema. Essas
50
CAPTULO 5. CONCLUSES
so caractersticas que devem ser considerados na implementao do sistema. Uma possvel soluo seria limitar a quantidade de usurios simultneos do sistema, o que garantiria um tempo mximo de resposta. Uma aplicao baseada na arquitetura proposta poder ser projetada e implementada em tipos diversos de interface com o usurio, tais como aplicaes dedicadas ou Web Browsers. Esta caracterstica pode ser denominada de multi-clientes e se deve independncia de qualquer sistema operacional inerente a este tipo de sistema. Outro fator relevante a ser abordado nesta arquitetura a sua capacidade de interconectar a rede de superviso a vrias redes de campo ao mesmo tempo atravs de um nico servidor. Neste caso, o servidor desempenha as funes de mestre em cada uma das redes de campo. A arquitetura proposta pode ento ser classicada tambm como uma soluo multi-mestres.
Referncias Bibliogrcas
[AdSdB 01] Dario Jos Aloise, Andra Cynthia dos Santos, Carlos Avelino de Barros, Maurcio Cardoso de Souza, and Thiago Ferreira de Noronha. Um algoritmo grasp reativo aplicado ao problema da unidade mvel de pistoneio. In XXXIII Simpsio Brasileiro de Pesquisa Operacional, 2001.
[BJP99]
Leandro Buss Becker, Wilson Pardi Junior, and Carlos Eduardo Pereira. Proposal of an integrated object-oriented environment for the design of supervisory software for real-time industrial automation systems. In Fourth International Workshop on Object-Oriented Real-Time Dependable Systems, 1999. Giovanni Bucci and Carmine Landi. A distributed measurement architecture for industrial applications. IEEE Transactions on Instrumentation and Measurement, 52(1), February 2003. Douglass L. Campbell. How customer need focused the development of a new renote terminal unit line. In IEE Computer Applications in Power, 1988. Janette Cardoso and Robert Valette. Redes de Petri. Editora da UFSC, 1997. Gianluca Cena and Adriano Valenzano. A high performance eld network based on a tree topology. In IEEE International Workshop on Factory Communication Systems, pages 105109, Vsters, Sweden, August 2002. Manuel de Almeida Barreto Filho. Gerao de carta dinamomtrica de fundo para diagnstico do bombeio mecnico em poos de petrleo. Masters thesis, Universidade Estadual de Campinas, 1993. Luiz Affonso Henderson Guedes de Oliveira. Curso de redes para automao industrial. http://www.dca.ufrn.br/~affonso, Julho 2003. Axel Daneels and Wayne Salter. What is SCADA? In International Conference on Accelerator and Large Experimental Physics Control Systems, Trieste, Italy, October 1999. 51
[BL03]
[Cam88]
[CV97] [CV02]
[dABF93]
[dO03] [DS99]
52 [EHH 00]
REFERNCIAS BIBLIOGRFICAS
Yoshio Ebata, Hideki Hayashi, Yoshiaki Hsegawa, Satoshi Komatsu, and Kuniaki Suzuki. Development of the intranet-based SCADA (supervisory control and data acquisition system) for power system. In IEEE Summer Meeting, 2000. Soumitra K. Ghosh. Changing role of SCADA in manufacturing plant. In Thirty-First IAS Annual Meeting, 1996. Ryszard Kemplous, Barbara Lyakowska, and Jan Nikodem. A data acquisition and processing system. In IEEE AFRICON99, 1999. Zhihao Ling and Jinshou Yu. The design of SCADA based on industrial ethernet. In 4th World Congress on Intelligent Control and Automation, June 2002. Andr Laurindo Maitelli. Controladores lgicos programveis. http:// www.dca.ufrn.br/~maitelli, 2003. Joaquim Melendez, Joan Colomer, and Josep Luis de la Rosa. Expert supervision based on cases. In 8th IEEE International Conference on Emerging Technologies and Factory Automation, 2001. John Marcuse, Brad Menz, and Jeffrey R. Payne. Servers in SCADA applications. In IEEE Transactions on Industry Applications, 1997. Modicon Industrial Automation Systems. Modbus protocol reference. http://www.eecs.umich.edu/~modbus, 2003. Engin Ozdemir and Mevlut Karacor. Run time position estimation with basic sensors in real time SCADA applications. In 7th International Workshop on Advanced Motion Control, 2002. Carlos Eduardo Pereira and Wilson Pardi Junior. A supervisory tool for real-time industrial automation systems. In Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003. PROFIBUS. Descrio tcnica probus 2002. http://www.profibus. org.br/, 2002. Chen Qizhi. Optimization of a SCADA system based on client/server mode. In International Conference on POWERCON98, 1998. Wu Sitao and Qian Qingquan. Using device driver software in SCADA systems. In IEEE Power Engineering Society Winter Meeting, 2000. Alan Tait. Internets and intranets for industrial applications. In Hypermedia in Manufacturing Seminar, 1998.
[Mai03] [MCdlR01]
[PJ03]
REFERNCIAS BIBLIOGRFICAS
[Tan95] [Tan97] [Tec04] [Tho01] [Tru95]
53
Andrew S. Tanenbaum. Sistemas Operacionais Modernos. Prentice Hall do Brasil, 1995. Andrew S. Tanenbaum. Redes de Computadores. Editora Campus, 1997. HI Tecnologia. Empresa hi tecnologia. http://www.hitecnologia.com. br, 2004. Jos Eduardo Thomas. Fundamentos de Engenharia de Petrleo. Editora Intercincia, 2001. Duong Trung. Modern SCADA systems for oil pipelines. In IEEE Petroleum and Chemical Industry Conference, pages 299305, Denver, USA, September 1995. Sa Uddin, Khalid Mohamed Nor, and Sayeed Salam. Integration technique for an expert system on to a real-time system. In Proceedings of the TENCON2000, 2000. Marcelo Martins Werneck. Transdutores e Interfaces. Livros Tcnicos e Cientcos, 1996. G. Zecevic and Z. Jovanovic. Company intranet access to SCADA information. In International Conference on PowerTech, 1999. Liu Zhi, Jiang Shi Qin, Tang Bao Yu, Zhang Jun Hu, and Zhong Hao. The study and realization of SCADA system in manufacturing enterprises. In IEEE World Congress on Intelligent Control and Automation, Hefei, China, June-July 2000.
[UNS00]