UNIVERSIDADE FEDERAL DE SANTA CATARINA
CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO INDUSTRIAL
Simulação para a Análise e Projeto de
Controladores em Processos da Indústria
Petroquímica
Monografia submetida à Universidade Federal de Santa Catarina
como requisito para a aprovação da disciplina:
DAS 5511 Projeto de Fim de Curso
Jessé Felipe Müller
Florianópolis, Maio de 2003
Relatório Final de Bolsista Aluno
Período informado
Junho de 2001 a Maio de 2003
Identificação
Nome: Jessé Felipe Müller
CPF: 024633159/38
Matrícula PRH-ANP/MCT N0: 2001.0490-0
Tipo de Bolsa: Graduação
Orientador: Júlio Elias Normey Rico
Tema: Simulação para a Análise e Projeto de Controladores em Processos
da Indústria Petroquímica.
Em Florianópolis, Junho de 2003.
Agradecimentos
A Deus.
A minha família, pelo amparo financeiro e principalmente pelo apoio
emocional durante todo o período de realização do presente projeto.
Aos professores do DAS, em especial ao meu orientador Júlio E. NormeyRico, por seu tempo e paciência dedicados.
Aos todos os meus colegas de classe e de pesquisa, que em muito
contribuíram para a realização deste trabalho, especialmente Raúl Alves e Letícia
Gomes Moura que estiveram ao meu lado sempre que precisei.
Agradeço ainda o apoio financeiro da Agência Nacional do Petróleo, Gás
Natural (ANP) e da Financiadora de Estudos e Projetos (FINEP), por meio do
Programa de Recursos Humanos da ANP para o Setor do Petróleo e Gás PRH-34
ANP/MCT, o CNPq-CTPetro projeto 460214/01-2 e a FEESC pelo financiamento
da pesquisa.
A RSI, empresa fornecedora do software INDISS, que nos cedeu o uso
gratuitamente.
Resumo
Este relatório apresenta uma análise de um simulador de processos e as
suas interfaces de comunicação como ferramentas para o estudo de processos e
projeto de controladores para a indústria do petróleo e gás natural. Utilizando o
simulador INDISS, estudaram-se duas aplicações. Na primeira, implementou-se
um processo de controle de temperatura e nível em um reservatório com o
objetivo de analisar o desempenho do simulador e a possibilidade de aplicação de
algoritmos de controle avançado. O segundo processo estudado, uma coluna de
destilação depropanizadora, foi utilizado para avaliar a capacidade do simulador
para trabalhar com modelos de grande porte e testar a sua fidelidade. Para
permitir a programação de algoritmos de controle avançado de forma simples e
eficiente, foi desenvolvida uma interface que permite o acesso externo ao
simulador a partir do software MATLAB. Os resultados de utilização desta
interface são ilustrados com o uso de um controlador aplicado ao processo de
controle de temperatura de topo na coluna de destilação.
Abstract
This report presents the analysis of a process simulator and its
communication interfaces as tools used for the analysis and design of oil and gas
industry process controllers. Two applications were studied using the INDISS
simulator. In the first one, a temperature and level control process in a reservoir is
used to analyze the performance of the simulator and the possibility of application
of advanced control algorithms. The second implementation consists of a
depropaniser distillation column, which has been used to evaluate the capacity and
fidelity of the simulator when working with large-scale models. To allow the
programming of advanced control algorithms in a simple and efficient way, an
interface was developed allowing the external access to the simulator from the
software MATLAB. Some simulation results with a control structure illustrate the
use of the proposed interface.
Sumário
Período informado ........................................................................................ 2
Identificação ................................................................................................. 2
Agradecimentos............................................................................................ 4
Resumo ........................................................................................................ 5
Abstract ........................................................................................................ 6
Sumário ........................................................................................................ 7
Capítulo 2: Simulação................................................................................. 11
2.1: Introdução ........................................................................................ 11
2.2: O Simulador INDISS ........................................................................ 13
2.2.1: Instalação .................................................................................. 13
2.2.2: O Simulador e Seus Componentes ........................................... 14
2.2.3: Início da Utilização do INDISS................................................... 16
Capítulo 3: Processos Estudados............................................................... 18
3.1: Reservatório..................................................................................... 18
3.2: Coluna de Destilação ....................................................................... 20
Capítulo 4: Interface entre o MATLAB e o INDISS ..................................... 22
4.1: Implementação da Interface............................................................. 22
4.2: Aplicação: Controlador PID 2DOF ................................................... 25
4.3: Análise ............................................................................................. 27
5.1: O Processo ...................................................................................... 34
5.2: Aplicação de Controle PI.................................................................. 38
Capítulo 6: Conclusões e Perspectivas ...................................................... 45
Bibliografia:................................................................................................. 48
ANEXOS..................................................................................................... 50
Capítulo 1: Introdução
Este relatório apresenta as principais atividades do trabalho realizado nos
laboratórios de pesquisa do programa “Automação, Controle, e Instrumentação
para a Indústria do Petróleo e Gás - (ACIPG)” - ANP - DAS – UFSC.
O tema central da pesquisa, a técnica de simulação para processos
contínuos, já é bastante difundida na indústria do petróleo e gás, visto que
proporciona um ambiente favorável ao estudo aprofundado de processos, sem
que seja necessário o contato direto com o processo real. Assim é possível o
treinamento de operadores sem por em risco a segurança da instalação, o que
conseqüentemente garante a qualidade do produto final. A simulação também se
apresenta como uma ferramenta eficaz para o estudo de estratégias avançadas
de controle, que se tornaram uma necessidade urgente nas indústrias do petróleo
e gás, dado que os processos produtivos tiveram que ser adaptados às novas
características do mercado internacional [ 1 ].
O propósito deste trabalho foi utilizar a técnica de simulação como
ferramenta básica para o estudo de processos da indústria do petróleo e gás,
adquirindo com isto conhecimento necessário para posterior projeto e ajuste de
controladores nestes processos. Para tal, buscam-se os seguintes objetivos
básicos:
•
Estudo de simuladores industriais para modelagem mais precisa dos
processos produtivos do setor de petróleo;
•
Estudo de técnicas de controle local para processos específicos da
indústria petroquímica: controladores PID, compensadores de tempo morto,
controladores por pré-alimentação [ 2 ];
•
Aplicação de técnicas de controle SISO a diversos processos da industria
petroquímica comparando as diversas técnicas existentes na literatura;
•
Desenvolvimento de estratégias de ajuste.
Como resultados da pesquisa realizada esperava-se:
•
Adquirir, do ponto de vista teórico, um melhor entendimento dos problemas
associados ao projeto, implementação e ajuste dos controladores para
processos petroquímicos;
•
Melhorar o conhecimento relacionado com a modelagem e simulação de
processos petroquímicos;
•
Estabelecer estudos comparativos entre diferentes controladores quando
utilizados para processos petroquímicos;
•
Estar capacitado a implementar e utilizar sistemas de simulação e seus
controladores.
Para isto, este trabalho apresenta uma análise do simulador de processos
INDISS e de uma interface com o MATLAB [ 3 ], implementada para ampliar as
possibilidades de uso deste simulador comercial.
O relatório está organizado da seguinte forma: No próximo capítulo é
apresentado o simulador INDISS. No capítulo 3 são apresentados os processos
que foram utilizados para a realização do trabalho. No capítulo 4, analisa-se o
sistema de comunicação e a interface desenvolvida para a conexão entre o
INDISS e o MATLAB. No capítulo 5 são apresentados resultados de aplicação do
controle de temperatura utilizando o simulador INDISS e o sistema de
comunicação em uma coluna de destilação. O relatório é finalizado com as
conclusões.
Capítulo 2: Simulação
Este capítulo começa com uma breve introdução sobre o tema simulação.
Na seqüência, é apresentado o simulador comercial utilizado para a realização do
plano de trabalho do estágio.
2.1: Introdução
A técnica de simulação já é bastante difundida na indústria do petróleo e
gás, visto que proporciona um ambiente favorável ao estudo aprofundado de
processos, sem que seja necessário o contato direto com o processo real. Desta
forma, operadores inexperientes podem ser treinados em simuladores até que
atinjam um grau de capacitação e conhecimento exigidos para a operação de
processo. Isto é, eles devem ser capazes de conduzir o processo e detectar
eventuais anomalias, tomando as devidas providências para garantir seu bom
funcionamento [ 4 ]. Assim, evitam-se eventuais problemas graves tanto de
segurança, como de qualidade do produto a que se destina o processo, que
possam ocorrer devido à inexperiência no manuseio da planta, como também da
falta de conhecimento do processo.
Do mesmo modo, através do uso de simuladores, torna-se viável o estudo e
o aprimoramento de estratégias avançadas de controle, que se tornaram uma
necessidade urgente nas indústrias, dado que os processos produtivos tiveram
que ser adaptados às novas características do mercado internacional [ 1 ].
O desenvolvimento de simuladores é realizado tradicionalmente com
linguagens de propósito geral, como C ou FORTRAN, ou com linguagens de
simulação,
como
SIMULA,
ACSL,
SIMSCRIPT,
etc.,
que
facilitam
o
desenvolvimento de simulações de processos.
Nos últimos anos têm surgido outros tipos de linguagens de simulação mais
avançados, com orientação a objetos e componentes reutilizáveis. Um exemplo
disto é a linguagem EL utilizada pelo software EcosimPro [ 5 ]. Está é uma
linguagem de simulação orientada a objetos que permite desenvolver bibliotecas
de componentes para a reutilização posterior no desenvolvimento de simuladores.
O objetivo principal destas novas linguagens é diminuir o tempo de
desenvolvimento e conseqüentemente os custos, ao usar componentes que já
foram provados, e ser capazes de reutilizar facilmente componentes anteriormente
desenvolvidos.
Com esta idéia surgiu o projeto CAPE-OPEN (Computer Aided Process
Engineering – Open Simulation Environment), procurando uma modelagem rápida,
precisa e efetiva para a síntese, projeto, monitoração e otimização de processos
químicos e relacionados [ 6 ]. Este projeto propõe um padrão para as interfaces
dos componentes utilizados em simulações, que deve ser respeitado por aqueles
que os desenvolvem, a fim de permitir a integração e troca destes entre diferentes
fabricantes [ 7 ]. Um destes fabricantes é a empresa francesa RSI [ 8 ], que
desenvolveu o software de simulação INDISS (Industrial and Integrated Simulation
Software), capaz de representar o sistema real como um todo no desenvolvimento
de processos simulados.
Existem basicamente dois tipos de simuladores industriais utilizados
atualmente. O primeiro tipo dispõe de uma vasta biblioteca de componentes
padronizados. Na concepção de um novo processo, basta utilizar os componentes
disponibilizados pelo simulador e somente fazer suas interligações e o ajuste dos
parâmetros, de acordo com o processo a ser simulado. Estes normalmente não
permitem a criação de novos componentes e são muito utilizados para o
treinamento de novos operadores de processo.
Já o segundo tipo de simuladores, utilizados para aplicações mais restritas,
permite não só a edição de componentes existentes, como também a criação de
novos, tornando muito mais flexível sua utilização em diferentes tipos de
processos. Devido a esta flexibilidade, estes são muito utilizados na pesquisa, pois
permitem que novos processos ou novas técnicas de controle sejam simulados e
estudados, possibilitando um estudo de viabilidade destes.
Após a criação de novos processos em simuladores, há a necessidade de
se fazer a validação do modelo. Esta pode ser realizada através da comparação
dos resultados de simulação com o processo real ou com outro modelo de
simulação já implementado e validado em outro simulador. A opinião de
operadores experientes também desempenha vital importância na validação [ 9 ].
2.2: O Simulador INDISS
Para a execução do plano de trabalho do estágio, foi feito o uso do
simulador de processos INDISS. Este simulador tem como finalidade reproduzir
fielmente as características das partes principais do processo produtivo de
upstream da indústria do petróleo e gás natural. Este software está sendo utilizado
para realização desta pesquisa devido a um acordo feito em 2002 entre a empresa
RSI, fornecedora do software, e a UFSC.
Este INDISS pertence ao primeiro tipo de simuladores citados no capítulo
anterior, funcionando tanto no modo estático quanto no dinâmico. Tem como
característica um código fechado, impossibilitando a edição e criação de novos
componentes. Isto é, somente componentes disponíveis em suas bibliotecas
podem ser utilizados. Apesar disto, este simulador possui um servidor de
automatização OLE que permite acessar uma simulação que se está sendo
executada, sendo possível altera-la fora do próprio simulador desde que uma
interface seja desenvolvida.
Pode ser utilizado como uma ferramenta para [ 10 ]:
•
Projeto e desenvolvimento de processos;
•
Otimização de sistemas de controle e procedimentos de operação;
•
Treinamento de operadores;
•
Ensino em cursos técnicos e de engenharia.
2.2.1: Instalação
O INDISS foi instalado em um computador com a seguinte configuração:
•
CPU: Intel® Pentium® 4 CPU 1.60GHz.
•
RAM: 512 MB
•
Sistema Operacional: Microsoft Windows 2000.
2.2.2: O Simulador e Seus Componentes
O simulator é o mais alto grau de organização do INDISS. É nele que são
definidos todos os componentes que serão utilizados. Dentro do arquivo de um
simulator encontram-se processos inteiros com seus arquivos associados.
Os componentes do simulator são de dois tipos:
•
Process Diagram, que permite descrever todo o processo a ser simulado de
uma maneira esquemática, através da manipulação de vários elementos
gráficos. Estes elementos representam os componentes reais de um
processo e estão disponibilizados em bibliotecas no ambiente de
desenvolvimento do INDISS.
Como exemplo ilustrativo, é apresentado na Figura 1 abaixo um Process
Diagram de um processo de uma coluna de destilação juntamente com seu
ambiente de desenvolvimento:
Figura 1- Ambiente de desenvolvimento de um Process Diagram de uma coluna
de destilação
•
Mimic Display, que permite a criação de uma interface homem-máquina
para operar o processo simulado.
É apresentado na Figura 2 abaixo, a título de exemplo, o Mimic Display
associado ao Process Diagram da coluna de destilação mostrado anteriormente
na Figura 1:
Figura 2 - Mimic Display da coluna de destilação
O simulador traz quatro definições de usuário, com diferentes níveis de
acesso:
•
Mantenance: dá acesso completo a todas as funções;
•
Engineer: tem a função de desenvolver o processo no simulador;
•
Instructor: para treinamento e preparação de cursos;
•
Trainee: restrito a operação de processos.
2.2.3: Início da Utilização do INDISS
Como uma primeira etapa do trabalho realizado, foi dado início ao estudo
do simulador INDISS como ferramenta para execução do plano de trabalho junto
ao projeto de pesquisa 460214/01-2 do CNPq (Conselho Nacional de
Desenvolvimento Científico e Tecnológico).
Para tal, começou-se um estudo a partir dos manuais do software INDISS [
10 ], a fim de adquirir conhecimento necessário para conceber modelos de
processos que nos possibilitassem a execução do plano de trabalho. Estes
modelos serviriam tanto para estudo de processos como para estudo de
controladores industriais e ajuste de seus parâmetros.
Porém, o processo de aprendizado do simulador se mostrou difícil e
demorado, exigindo desta forma bastante experiência para a concepção de
processos. Existem inúmeras variáveis associadas a cada componente de
simulação e o grau de complexidade de cada um deles é enorme.
Tendo em vista este cenário, optou-se inicialmente em montar um processo
simples para o início da utilização do simulador. Desta forma, também poderíamos
sentir o grau de dificuldade na elaboração de um novo processo. Este processo
serviria, portanto, como um “curso” extra, objetivando o estudo detalhado do
simulador.
Foi concebido então um modelo de processo simples com um tanque, um
trocador de calor e uma válvula, associados a controladores PID para controle de
nível e temperatura. A concepção deste modelo foi de fundamental importância
para um maior entendimento do funcionamento do software. Este processo será
apresentado no próximo capítulo.
Capítulo 3: Processos Estudados
São estudados neste capítulo dois casos de utilização do simulador
INDISS. O primeiro trata-se de um processo com controle de nível e temperatura
em um reservatório através de controladores PID (Proporcional, Integral,
Derivativo). Este tem como objetivo analisar o desempenho do simulador e a
possibilidade de aplicação de algoritmos de controle avançado. O segundo caso
estudado é o controle de uma coluna de destilação do tipo depropanizadora,
utilizada para avaliar a capacidade do simulador para trabalhar com modelos de
grande porte e testar a sua fidelidade.
3.1: Reservatório
O processo considerado consiste em um reservatório, um trocador de calor
e uma válvula, associados a controladores PID para controle de temperatura e
nível de fluidos em um tanque atmosférico. O controle de temperatura é feito
através da variação de potência de um aquecedor elétrico na alimentação do
reservatório. O controle de nível por sua vez é realizado atuando na abertura da
válvula de controle associada à tubulação na saída do reservatório. O fluxo do
fluido, na ordem de 11,54kg/s, é conseqüência da energia potencial disponível na
alimentação do reservatório, uma vez que esta se encontra dois metros acima da
saída do tanque. O reservatório possui a forma cilíndrica com as seguintes
dimensões: um metro de altura e meio metro de diâmetro.
Figura 3 - Process Diagram do processo Reservatório
A concepção deste modelo de processo se fez utilizando as bibliotecas de
componentes disponíveis no ambiente de desenvolvimento, bastando somente as
interligações entre os componentes o ajuste dos seus parâmetros de acordo com
o desejado.
Uma tela de operação deste processo foi desenvolvida tendo em vista a
disponibilidade de criação oferecida pelo simulador. Nesta pode ser visualizada a
evolução das variáveis de interesse no tempo, neste caso o nível desejado para o
reservatório, seu nível atual e a porcentagem de abertura da válvula associada ao
tanque. Alem disto, através desta tela pode ser feita a definição dos parâmetros do
controlador PI associado à válvula de atuação. A Figura 4 apresenta a tela de
operação, Mimic Display, deste sistema:
Figura 4 - Tela de operação do processo Reservatório
3.2: Coluna de Destilação
O segundo processo utilizado trata-se de um processo de destilação
industrial. Este é um sistema bem mais complexo, que envolve uma coluna de
destilação do tipo depropanizadora como unidade principal, e muitos outros
equipamentos periféricos tais como válvulas, sensores, controladores, trocadores
de calor, entre outros. Está coluna possui 12 metros de altura e 30 pratos. Sua
alimentação varia entre misturas de diversas composições de propano, n-butano,
isobutano, pentano e hexano. Uma parte do desenho esquemático, Process
Diagram, desta coluna pode ser visualizado na Figura 1, assim como sua tela de
operação, Mimic Display, na Figura 2:
Como um dos objetivos neste trabalho foi utilizar um modelo mais
complexo, uma coluna para refino de petróleo e derivados era uma excelente
alternativa. Esta coluna serviria também para a realização do trabalho de
mestrado da aluna Letícia Gomes Moura que também estava utilizando o INDISS.
O objetivo final neste caso era a validação de uma Rede Neural como modelo não
linear na identificação da dinâmica do processo representado por uma coluna de
destilação.
Assim sendo, foi realizada a modelagem de uma coluna de destilação do
tipo depropanizadora. Está foi implementada em cooperação com a mestranda do
curso de Engenharia Química Letícia Gomes Moura e a empresa RSI, fornecedora
do software INDISS. A participação da empresa foi de fundamental importância,
uma vez que a modelagem de um sistema como este através do INDISS requer
experiência na modelagem de sistemas complexos. Este sistema se encaixou
perfeitamente com as necessidades, propiciando a continuação dos trabalhos.
Capítulo 4: Interface entre o MATLAB e o INDISS
Apesar das vantagens do simulador INDISS e sua fidelidade na
representação de modelos reais, ele tem como inconveniente principal a
característica de ter um código fechado, não tornando possível a criação de novos
componentes, diferentes daqueles que vem junto com o pacote do simulador. Isto
impossibilita, por exemplo, o uso de controladores avançados, diferentes daqueles
que estão disponíveis na biblioteca do INDISS. Neste capítulo trata-se justamente
do desenvolvimento de uma interface entre o simulador e o software MATLAB [ 3
], que vem suprir esta carência. É apresentada também uma análise desta
interface assim como exemplos de sua aplicação para controle de processos.
4.1: Implementação da Interface
Foi concebida, em cooperação com o doutorando Raul Alves Santos, uma
interface entre o software MATLAB e o simulador INDISS. Esta foi desenvolvida a
partir de um exemplo de acesso externo ao simulador disponível em uma das
aplicações do INDISS. Este exemplo é composto por uma série de macros
escritas em Visual Basic Script (VBS) para o acesso ao simulador.
Pelo fato de o simulador INDISS ter sido desenvolvido em Microsoft
Windows, ele tem uma série de facilidades para sua comunicação com outras
aplicações por meio da sua interface OLE/COM (Object Linking and Embedding /
Component Object Model) [ 11 ] e com componentes desenvolvidos de acordo
com o padrão CAPE-OPEN. Também permite o uso de componentes incluídos em
DLL’s (Dinamic-Link Library) desenvolvidos externamente, incluindo um SDK
(Software Develpment Kit) para o desenvolvimento deles.
O acesso ao simulador através da sua interface OLE é direto a partir de
aplicações que podem acessar a um servidor de automatização OLE, como Excel
ou Visual Basic, como pode ser observado na Figura 5:
Figura 5 - Comunicações entre INDISS e outras aplicações
O procedimento para o acesso consiste na criação de um objeto do tipo da
aplicação INDISS que uma vez criado, pode-se acessar às funções definidas na
interface OLE:
•
Public INDISSOLE As Object
•
Public Const ApplicationName As String = “Builder.Application”
•
Set INDISSOLE = CreateObject(ApplicationName)
•
INDISSOLE.RunSimulation
As funções mais importantes para o acesso ao simulador INDISS através
do seu servidor OLE são apresentadas na Tabela 1.
Tabela 1. Funções de acesso ao servidor OLE do INDISS
Função
Ação
RunSimulator
Inicia a simulação que esteve carregada no INDISS
StopSimulator
Para a simulação
EvaluateExpression
Lê um dado da simulação
SetVariableValue
Escreve um dado na simulação
GetSimulationTime
Captura o tempo da simulação
Existem outras séries de funções que permitem, por exemplo, alterar a
velocidade da simulação, obter a lista de variáveis disponíveis e carregar uma
simulação.
Um dos objetivos do trabalho é o acesso ao simulador, através do seu
servidor de automatização OLE, a partir do MATLAB. Em princípio não é possível
levar a cabo de um modo direto a comunicação com o INDISS. Para isto,
desenvolveu-se um controle ActiveX em Visual Basic, o qual encapsula todo o
acesso às funções do INDISS, de forma que atua como ponte de comunicação
entre ambos.
Para acessar a partir do MATLAB as funções do controle ActiveX criado,
existe uma série de funções de acesso geral a controles ActiveX. A Tabela 2
mostra um exemplo de como são as chamadas às funções a partir de um
programa MATLAB.
Ação
Sentença em MATLAB
Criação do ActiveX
INDISS = actxserver('
CONTROL.INDISS'
);
Início da simulação
invoke(INDISS,'
RunSimulation'
)
Captura do tempo
invoke(INDISS,'
GetSimulationTime'
);
Leitura de um dado da simulação
invoke(INDISS,'
EvaluateExpression'
,strPV);
Escritura de um dado na simulação
invoke(INDISS,'
SetVariableValue'
,strMV, U);
Espera
invoke(INDISS,'
delay'
,T*1000);
Parada da simulação
invoke(INDISS,'
StopSimulation'
)
Tabela 2 - Chamadas às funções a partir do MATLAB
A primeira ação a ser feita é a criação do controle ActiveX. Quando este já
estiver criado, pode-se chamar as funções nele contidas. A partir das chamadas
às funções, pode-se gerar programas em MATLAB para capturas de dados,
controle, etc.
Esta facilidade tornou possível tanto a aquisição de dados do INDISS pelo
MATLAB quanto à definição de variáveis do INDISS através do MATLAB. Assim,
possibilitou a aquisição de dados do INDISS a fim de fazer identificação de
modelos através de simulações. Também tornou possível a concepção de
controladores diferentes dos clássicos disponíveis no INDISS fora de seu
ambiente.
4.2: Aplicação: Controlador PID 2DOF
Como uma primeira aplicação da interface desenvolvida entre o simulador
INDISS e o software de programação MATLAB, foi programado em MATLAB um
modelo de controlador PID com dois graus de liberdade (PID 2DOF) [ 2 ]. Este
controlador, diferentemente dos controladores PID tradicionais, é adequado
quando se deseja controlar sistemas com especificação de resposta tanto para o
seguimento de referência como para a rejeição de perturbações. A Figura 6
apresenta o diagrama de blocos deste controlador:
Figura 6. Diagrama de blocos do controlador (PID 2DOF)
Este controlador foi utilizado para vários processos como por exemplo o
controle de nível do reservatório citado na seção 3.1. As variáveis utilizadas pelo
controlador (neste caso o nível atual e o nível desejado), são lidas do INDISS para
o MATLAB, é realizado o cálculo da lei de controle no MATLAB e finalmente a
ação de controle é aplicada no processo simulado no INDISS (neste caso, no valor
de abertura da válvula). Além disso, esta interface também permite que os dados
de simulação sejam gravados, possibilitando a criação de arquivos de histórico
para posterior análise. O código deste controlador é apresentado abaixo:
T = 5;
Kc = -100;
Ti=0.008;
Td=0;
Yr=45.5;
b=1;
c=1;
ek=0;
ek1=0;
ekd1=0;
%período de amostragem – em segundos
%ganho do controle proporcional
%parametro da acao integral
%parametro da acao derivativa
%referencia para controlador PID
%fator de ponderacao da acao proporcional
%fator de ponderacao da acao derivativa
%erro da iteracao atual
%erro da iteracao anterior
%erro com ponderacao na acao derivativa
Uint1 = 2417.63;
tempo = [];
controle1 = [];
controle2 = [];
pv = [];
sp = [];
i = 0;
%acao integral inicial
%iteracao inicial
INDISS = actxserver('CONTROL.INDISS');
strPV = 'TC117.ProcessValue';
strMV1 = 'FRC122.SetPoint';
strMV2 = 'FRC122.ControllerOutput';
invoke(INDISS,'RunSimulation');
while i < 700
tic
Yk=invoke(INDISS,'EvaluateExpression',strPV);
ek=Yr-Yk;
ekp=b*Yr-Yk;
ekd=c*Yr-Yk;
%calculo do erro simples
%calculo do erro com ponderacao na acao proporcional
%calculo de erro com ponderacao na acao derivativa
Uk=Kc*ekp;
Uint=Uint1+(Kc*Ti)*(T/2)*(ek1+ek);
Uder=(Kc*Td)*(1/T)*(ekd-ekd1);
%calculo da acao de controle proporcional
%calculo da acao de controle integral
%calculo da acao de controle derivativa
U=Uk+Uint+Uder;
%acao de controle final do PID
if U<0
U=0;
elseif U>7000
U=7000;
end
%implementacao da saturacao
invoke(INDISS,'SetVariableValue',strMV1, U);
ek1=ek;
ekd1=ekd;
Uint1=Uint;
%acao de controle aplicada ao processo
%atualizacao do valor do erro simples
%atualizacao do erro com ponderacao na acao derivativa
%atualizacao do valor da acao integral do controle
tempo = [tempo invoke(INDISS,'GetSimulationTime')];
controle1 = [controle1 U];
controle2 = [controle2 invoke(INDISS,'EvaluateExpression',strMV2)];
pv = [pv Yk];
i = i+1
invoke(INDISS,'delay',T*1000);
% sleep com T em segundos
toc
end
invoke(INDISS,'StopSimulation');
%Plota dados
figure;
hold on;
plot(tempo,pv,'g')
plot(tempo,controle1,'r')
plot(tempo,controle2,'m')
hold off;
grid
A validação deste controlador se fez através de sua aplicação no modelo do
reservatório citado na seção 3.1. Este controlador foi utilizado para a análise da
interface desenvolvida, que será apresentada na seção 4.3.
4.3: Análise
Com a finalidade de avaliar a interface concebida entre o simulador INDISS
e o MATLAB, foram feitos vários testes de utilização desta interface, verificando
desta forma eventuais problemas de administração do tempo quando esta for
utilizada para controle. Isto pode ser verificado através da comparação entre a
resposta temporal de um processo controlador diretamente pelo INDISS, e o
mesmo processo controlado indiretamente por um controlador programado no
MATLAB, utilizando a mesma estrutura de controle e os mesmos parâmetros. A
estrutura do controlador PID do INDISS pode ser visualizada no documento “PID
Controler User Manual” em anexo.
Para realizar tal avaliação, foi escolhido o processo de controle de nível do
reservatório citado na seção 3.1 por este ser um processo rápido, característica
que ressalta problemas de tempo real quando estes estiverem presentes.
Verificou-se que para controlar processos com respostas rápidas (constantes de
tempo pequenas), o controle realizado pelo MATLAB não se mostra eficaz,
levando o sistema a instabilidade. Pode-se observar isto através da comparação
entre a resposta temporal deste processo com o controle realizado diretamente
pelo INDISS, Figura 7 , e o controle realizado pelo MATLAB, Figura 8, onde u =
abertura da válvula (%) e PV = nível do reservatório (%):
Figura 7. Controle diretamente pelo INDISS
Figura 8. Controle realizado indiretamente pelo MATLAB
Isto acontece devido aos atrasos nas comunicações entre o MATLAB e o
INDISS, uma vez que a diferença entre o tempo de leitura de variáveis e o tempo
de atuação no INDISS não é desprezível para processos rápidos.
Foram feitas alterações consecutivas na dinâmica deste processo para
determinar qual a mínima constante de tempo de processos, em que o tempo de
comunicação entre os dois softwares não alterasse significativamente a resposta
temporal do sistema. Estas alterações foram realizadas nas dimensões do tanque,
de tal forma que a dinâmica deste processo se tornasse mais lenta. A Figura 9 e
Figura 10 ilustram a avaliação da comunicação para um processo mais lento
(constante de tempo aproximadamente igual a 4s) que o apresentado
anteriormente.
Figura 9. Controle diretamente pelo INDISS
Figura 10. Controle realizado indiretamente pelo MATLAB
Observa-se agora que este sistema não instabiliza quando controlado a
partir do MATLAB. Porém, a resposta utilizando o controlador do INDISS ainda é
bem diferente da resposta obtida ao aplicar-se o controlador programado no
MATLAB. Logo, o processo foi novamente alterado, tornando-o mais lento
(constante de tempo aproximadamente igual a 10s). A avaliação da comunicação
é apresentada a seguir:
Figura 11. Controle diretamente pelo INDISS
Figura 12. Controle realizado indiretamente pelo MATLAB
Observa-se que a resposta do sistema controlado pelo MATLAB para este
sistema além de não instabilizar já se assemelha com a resposta calculada pelo
INDISS. Pode-se concluir então que para sistemas com constante de tempo maior
que 10s, a interface pode ser utilizada para controle de tal forma que o atraso
entre as comunicações dos softwares não afete de forma significativa a resposta
temporal do sistema.
Alterando–se substancialmente a dinâmica do processo (constante de
tempo aproximadamente igual a 100s), foi novamente realizada a avaliação da
comunicação. Os gráficos das abaixo, Figura 13 e Figura 14, ilustram esta
comparação:
Figura 13. Controle diretamente pelo INDISS
Figura 14. Controle realizado indiretamente pelo MATLAB
É notório que para processos lentos (constantes de tempo grandes), como
são os processos que serão utilizados dentro do plano de trabalho, a interface se
mostrou muito útil, podendo ser utilizada para aplicações com controladores mais
complexos que os clássicos disponíveis na biblioteca de controladores do INDISS,
sem que problemas de tempo real interfiram significativamente na resposta do
sistema.
Observa-se ainda que, teoricamente, a diferença entre as respostas do
processo controlado pelo INDISS e pelo MATLAB só tenderá a zero quando o
período de amostragem do controlador discreto programado no MATLAB for igual
a zero. Isto deve-se ao fato de que o INDISS utiliza uma função de controle com
passo de integração variável e suficientemente pequeno, aproximando-se desta
forma de um controlador contínuo.
Como resultado desta análise, foi publicado um artigo no 2o Congresso
Brasileiro de Pesquisa e Desenvolvimento em Petróleo e Gás, intitulado
“Desenvolvimento e Análise de Interfaces de Comunicação entre um Simulador
Comercial e Softwares de Programação”. Este artigo está em anexo.
Capítulo 5: Controle de Temperatura Aplicado a Coluna
de Destilação
Uma das variáveis de maior importância em uma coluna de destilação é sua
temperatura de topo. A partir do momento em que o fluido deixa o topo da coluna,
este é resfriado através de trocadores de calor. O controle de temperatura do
fluido após estes trocadores é essencial para um bom desempenho e eficiência da
coluna. Este capítulo trata especificamente do controle da temperatura do fluido a
jusante do trocador de calor 2T63A da coluna de destilação citada na seção 3.2.
5.1: O Processo
É apresentada na Figura 15 a seguir o diagrama esquemático deste
processo:
Figura 15. Trocador de calor no topo da coluna
Observa-se neste diagrama que o controle da temperatura é realizado
através de dois controladores PI em cascata. Primeiramente, o transmissor TT117
faz a medição da temperatura. Após isto, o controlador de temperatura TC117 da
malha externa controla a referência do controlador FRC122 da malha interna, que
por sua vez, controla o fluxo de fluido refrigerante do trocador de calor pela
abertura da válvula FV047. O valor do fluxo é medido e mostrado constantemente
pelo indicador de fluxo FI122.
Como primeira etapa para o controle de temperatura neste sistema, foi
realizada a identificação do processo com o controlador da malha externa, TC117,
desativado. Já o controlador da malha interna permaneceu em malha fechada.
Este ensaio teve como objetivo encontrar a função de transferência representativa
deste processo controlado pelo controlador TC117. Este controlador recebe como
entrada a temperatura em oC e como saída à vazão em t/d (toneladas por dia).
Para a realização deste ensaio, foi dado um degrau na referência de fluxo do
FRC122 (controlador interno) de 2417.63 para 2124.73. A resposta do ensaio
(temperatura) é mostrada na Figura 16 a seguir:
Figura 16. Resposta do processo do trocador de calor com o TC117 desativado
A partir das informações de ganho (k), sobre-passo (So) e tempo em que a
saída atinge seu pico (tp) contidas nesta resposta temporal, foi realizada a
modelagem deste sistema usando-se função de transferência, aproximando-o
através de uma função de segunda ordem na forma apresentada a seguir:
k
s
2.ξ .s
+
+1
2
wn
wn
G (s) =
2
( 1)
As formulas utilizadas para encontrar os coeficientes da equação ( 1) são
mostradas abaixo:
k=
Y final − Yinicial
−
So = e
tp =
( 2)
U final − U inicial
ξ .π
1−ξ 2
, com So =
π
wn 1 − ξ 2
y max − y ∞
y∞ − y0
, com tp = tempo em que a saída atinge seu pico.
( 3)
( 4)
A função de transferência final, após pequenos ajustes nos coeficientes
encontrados a partir das equações ( 2), ( 3) e ( 4), é apresentada abaixo:
− 6,51314 × 10 −3
G (s) =
26000.s 2 + 155.s + 1
( 5)
A Figura 17 a seguir mostra a simulação da resposta temporal do modelo
levantado deste processo:
Figura 17. Resposta da simulação do modelo do processo do trocador de calor
Para uma melhor comparação e visualização entre o modelo de segunda
ordem encontrado e a resposta do processo, Figura 18 a seguir apresenta a
ambos os gráficos sobrepostos:
Figura 18. Comparação entre o resposta do processo e seu modelo
5.2: Aplicação de Controle PI
O que é proposto neste item, é uma analise do controlador da malha
externa TC117 seguida de posterior ajuste dos parâmetros deste controlador ou
até mesmo a substituição deste por controladores mais avançados, de tal forma
que se consiga melhorias no desempenho da coluna.
Inicialmente, foram feitos ensaios em malha fechada no processo, sem
alterar os parâmetros de nenhum dos dois controladores (ganho integral e
proporcional), através de um degrau na referência de temperatura do controlador
TC117 de 45.0884 para 47 oC, o que viabilizou avaliar seu comportamento
dinâmico. As respostas temporais obtidas são apresentadas a seguir:
Figura 19. Resposta temporal do Processo
Figura 20. Ação de Controle do TC117
Figura 21. Ação de Controle do FRC122
Como uma segunda etapa, foi realizada a substituição do controlador PI
TC117, pelo controlador PI programado no MATLAB apresentado na seção 4.2,
utilizando os mesmos parâmetros do controlador original do INDISS. O objetivo
desta simulação é reforçar o fato de que a interface programada entre o INDISS e
o MATLAB pode ser usada para controle sem maiores problemas para processos
onde as constantes de tempo dominantes são maiores que 10 segundos. Os
gráficos a seguir apresentam os resultados da simulação:
Figura 22. Resposta temporal do Processo
Figura 23. Ação de Controle do PI programado no MATLAB
Figura 24. Ação de Controle do FRC122
Pode-se observar através dos gráficos acima, que os parâmetros originais
dos controladores PI não estão bem ajustados para condições de mudança de
referência. O controle desta variável (temperatura) pode ser melhorado ajustandose melhor os parâmetros dos controladores ou até mesmo através da aplicação de
técnicas de controle avançado. Como exemplificação disto, foi feito um ajuste
somente do controlador PI da malha externa TC117 pelo método da tentativa e
erro tendo como objetivo melhorar a resposta dinâmica deste processo para
mudança de referência. Os gráficos são apresentados a seguir:
Figura 25. Resposta temporal do Processo
Figura 26. Ação de Controle do TC117
Figura 27. Ação de Controle do FRC122
Fica claro através da análise destes resultados que, se forem conhecidos
os requisitos de controle desejados, com por exemplo pouco sobre-passo,
consegue-se uma resposta dinâmica satisfatória simplesmente procedendo o
ajuste adequado dos parâmetros do controlador.
Porém, todo controlador tem suas limitações, o que faz com que muito
requisitos de controle só possam ser atingidos através da utilização de técnicas de
controle mais avançadas. Uma destas técnicas é o controle preditivo, que tem sido
implementado com êxito em muitas aplicações industriais, principalmente na
indústria petroquímica, mostrando um bom comportamento e um certo grau de
robustez. O controlador preditivo pode resolver muitos problemas de controle para
uma ampla gama de plantas com um número razoável de variáveis de projeto que
são especificadas pelo operador dependendo do conhecimento prévio do
processo e dos objetivos do controle.
Estudos realizados recentemente mostram que existe um alto grau de
satisfação por parte dos usuários destes controladores no ambiente industrial e
que além dos bons resultados obtidos no presente, há uma grande expectativa no
que se refere as melhorias que poderão vir a ser obtidas com o melhor uso destas
técnicas de controle [ 12 ].
Como continuação do trabalho realizado até o momento, deseja-se
implementar um controlador preditivo multi-variável que controle as referências de
todos os controladores PID do sistema da coluna de destilação estudada ao longo
do presente trabalho. Para tal, já estão sendo feitos estudos e testes de algoritmos
de controladores preditivos neste sistema, assim como o levantamento dos
modelos de cada processo envolvido na coluna, uma vez que estes são
necessários para a implementação deste controlador.
Capítulo 6: Conclusões e Perspectivas
A realização do plano de trabalho mostrou-se de suma importância para a
completa formação do estudante, uma vez que torna possível o contato com
problemas reais vistos no decorrer do programa, levando ao aprimoramento e a
solidificação dos conhecimentos adquiridos. Este embasamento teórico, obtido
nas áreas de controle, informática industrial e simulação foi indispensável para o
bom desenvolvimento dos trabalhos.
Do ponto de vista da formação pessoal, o programa para a formação de
profissionais para o setor do petróleo e gás permitiu o desenvolvimento de
iniciativa própria, trabalho em equipe, assim como automotivação para enfrentar
novos desafios.
Como relação aos trabalhos desenvolvidos, várias são as conclusões a que
se chega nas diversas etapas. Os resultados obtidos até o momento comprovam a
importância da simulação para a indústria de petróleo e gás. Desde que seja bem
modelado, o processo simulado comporta-se praticamente igual ao processo real.
As vantagens deste fato são enormes, pois permitem a realização de uma gama
de experimentos no processo simulado que seria impossível realizar na planta
real, devido a uma série de limitações do tipo econômica e principalmente de
segurança.
O INDISS mostrou ser um excelente e versátil simulador de processos, e
que o torna uma ótima ferramenta para pesquisa e desenvolvimento.
A interface de comunicação concebida trouxe uma série de vantagens na
utilização do INDISS como ferramenta para o estudo de processos, tais como:
aquisição de dados do simulador a fim de fazer identificação de modelos através
de ensaios em malha aberta; manter arquivos de histórico de dados de
simulações; projeto de controladores avançados no MATLAB controlando
processos no INDISS.
O software de programação MATLAB apresenta uma série de vantagens
para projeto de controladores visto que contém várias funções e ferramentas
especialmente concebidas para este fim. Sua linguagem de programação é
bastante simples e intuitiva. Muitos algoritmos de controle avançado tem sido
programados utilizando este software. Estes podem ser facilmente testados e
avaliados em processos simulados no INDISS por intermédio da interface
desenvolvida.
A inclusão no INDISS de um servidor OLE permite uma fácil comunicação
com outros programas, diretamente ou através de alguma interface intermediária,
como o caso do controle ActiveX no MATLAB. A principal dificuldade na
comunicação com o simulador é a manipulação do tempo. A interface OLE não
tem funções específicas para o avanço controlado da simulação, o que dificulta a
sincronização do simulador com os programas que o acessam. Assim sendo, deve
ser evitada a utilização da mesma para controle de processos com constantes de
tempo inferiores a 10s, de forma tal que o atraso entre as comunicações dos
softwares não afete significativamente a resposta temporal do sistema.
Outro exemplo de aplicação da interface ocorreu no estudo da coluna de
destilação descrita na seção 3.2 para a realização da dissertação de mestrado da
aluna Letícia Gomes Moura. Neste trabalho, a interface foi utilizada para obtenção
e armazenamento dos dados do processo com o objetivo final do treinamento de
uma Rede Neural para posterior controle avançado da coluna. O desenvolvimento
de um sistema de comunicação entre os dois softwares permitiu avaliar o
processo e suas modificações. O MATLAB iniciava o processo simulado no
INDISS; 500 variáveis eram amostradas a cada 2 segundos de tempo de máquina
e periodicamente modificações eram impostas ao processo. Foi observado que a
comunicação entre o MATLAB e o INDISS não prejudicou o desempenho da
simulação, tanto em termos de velocidade de cálculo e armazenamento quanto à
fidelidade dos dados.
Observou-se que tanto para controle como para formação de banco de
dados, a interface entre o MATLAB e o INDISS funcionou satisfatoriamente
mostrando que pode ser utilizada com sucesso em trabalhos de pesquisa e
desenvolvimento, combinando as excelentes características de simulação de
processos do INDISS e a versatilidade de programação de outros softwares como
o MATLAB.
Como trabalhos futuros, continuarão sendo realizados estudos no processo
da coluna de destilação citada anteriormente a fim de propor modificações do seu
sistema de controle e melhorar seu comportamento dinâmico. Um dos objetivos a
priori é a inclusão de um controlador preditivo multi-variável que controle as
referências de todos os controladores PID deste sistema.
Bibliografia:
[ 1 ] E. Camacho and C. Bordons, “Model Predictive Control”. Springer Verlag,
1999.
[ 2 ] J. E. Normey-Rico, “Projeto de Controladores PID Industriais”.
[ 3 ] “The MathWorks”, www.mathworks.com, acessado em abril de 2003.
[ 4 ] C.de Prada, F. Acebes, R. Alves, A. Merino, S. Pelayo, A Garcia, A. Rueda, G.
Gutiérrez & M. García: “Un Simulador de Alcance Total para la Formación
de los Operarios de Sala de Control de Factorias Azucareras”. II Taller
Iberoamericano de Informática Industrial, Octubre 2002.
[ 5 ] EcosimPro by EA Internaciona, “Dynamic Modeling & Simulation Tool”,
www.ecosimpro.com, acessado em abril de 2003.
[ 6 ] CAPE-OPEN, www.colan.org, acessado em abril de 2003.
[ 7 ] BRAUNSCHWEIG B., PAEN D., ROUX P., VACHER P., INTITUT FRANÇAIS
DU PÉTROLE, RSI. “The use of CAPE-OPEN interfaces for interoperability
of Unit Operations and Thermodynamic Packages in Process Modelling”.
ERTC Computing, Paris, France. 2002.
[ 8 ] RSI, www.rsi-france.com, acessado em abril de 2003.
[ 9 ] P. J. Freitas Filho, “Introdução a Modelagem e Simulação de Sistemas”.
[ 10 ] Manuais do simulador INDISS: “Presentation”, “Graphic Editor”, “Operating
the Simulator”, “Process Diagram Builder”, “Quick Refefences for Instructor
Mode”, “PID Conroler User Manual”. 2002.
[ 11 ] Microsoft MSDN, msdn.microsoft.com, acessado em abril de 2003.
[ 12 ] J. E. Normey Rico, “Prediction for Control”. PhD thesis, Escuela Sup. De
Ingenieros, Univ. de Sevilla, 1999.
Jessé Felipe Muller
ANEXOS
Download

Jessé Felipe Muller