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