UNIVERSIDADE POTIGUAR – UNP PRÓ-REITORIA ACADÊMICA PROGRAMA DE MESTRADO PROFISSIONAL EM ENGENHARIA DE PETRÓLEO E GÁS NATURAL - MPEPG DANILO YURI ALVES DE LIMA INFERÊNCIA DO TEOR 85% ASTM DO DIESEL NATAL 2014 DANILO YURI ALVES DE LIMA INFERÊNCIA DO TEOR 85% ASTM DO DIESEL Dissertação apresentada ao Programa de Mestrado Profissional em Engenharia de Petróleo e Gás, área de concentração em Automação de Processos na Indústria do Petróleo e Gás, da Universidade Potiguar – UnP, como requisito parcial para obtenção do título de Mestre em Engenharia de Petróleo e Gás. ORIENTADOR: Profo. Pelicano Ribeiro NATAL 2014 Dr. Marcílio DANILO YURI ALVES DE LIMA INFERÊNCIA DO TEOR 85% ASTM DO DIESEL Dissertação apresentada ao Programa de Mestrado Profissional em Engenharia de Petróleo e Gás, área de concentração em Automação de Processos na Indústria do Petróleo e Gás, da Universidade Potiguar – UnP, como requisito parcial para obtenção do título de Mestre em Engenharia de Petróleo e Gás. Aprovado em 30/06/2014. BANCA EXAMINADORA _______________________________________ Profo. Dr. Marcílio Pelicano Ribeiro Orientador Universidade Potiguar – UnP _______________________________________ Profª. Dra. Janusa Soares de Araújo Coorientadora Universidade Potiguar - UnP ________________________________________ Profª Drª – Francisco Wendell Bezerra Lopes Universidade Potiguar - UnP ________________________________________ Prof Dr – Max Chianca Pimentel Filho Examinador Externo Universidade Federal Rural do Semi-Árido - UFERSA i Dedico este trabalho à minha família, que me ensinaram que com fé, amor, alegria, determinação, paciência e coragem, todos os dias podem ser felizes e bonitos. ii AGRADECIMENTOS Sempre dou graças a Deus por vós, pela graça de Deus que vos foi dada em Cristo Jesus; porque em tudo fostes enriquecidos nele, em toda palavra e em todo o conhecimento; A minha família, vocês foram os pegureiros das minhas ações, das minhas determinações; e aos familiares, amigos, irmãos na fé, colegas de trabalho e do Mestrado; Ao meu orientador, Prof. Dr. Marcílio Pelicano Ribeiro, incentivador deste trabalho, pela confiança, pelo comprometimento e esforço. Obrigado por despertar um espírito científico e pensamento reflexivo a despeito da pesquisa; Aos professores Marcos Ferreira de Lima e Max Chianca Pimentel Filho, pelo suporte intelectual, que foi dado no projeto precursor deste estudo; Aos funcionários do sistema PETROBRAS, em especial a: José Hilton da Silva por desenvolver a planta no PETROX; Laerte de Medeiros Barros Júnior por fornecer dicas de processo e orientações; Luiz Paulo da Silva Vasconcellos por orientar a implementação da interface PI com PETROX; Marcos Ferreira de Lima por ser o elo entre todos. A todos os docentes do curso de Engenharia de Petróleo e Gás da Universidade Potiguar - UnP, pelo conhecimento que foi transmitido, as dúvidas esclarecidas, pela amizade e paciência que para comigo tiveram; A todos que de uma maneira ou de outra me incentivaram, me apoiaram, contribuíram e continuam participando da realização desse projeto, meus mais sinceros agradecimentos. E por fim, mas igualmente relevante, à Universidade Potiguar – UnP. Obrigado. Agradeço todas as dificuldades que enfrentei. Elas foram adversárias dignas e tornaram minhas vitórias muito mais saborosas. iii “Talvez não tenha conseguido fazer o melhor, mas lutei para que o melhor fosse feito. Não sou o que deveria ser, mas Graças a Deus, não sou o que era antes” (Martin Luther King) iv RESUMO Este trabalho apresenta o estudo e implementação de um analisador virtual para inferência da qualidade do diesel em uma coluna de destilação, capaz de estimar em tempo real, a qualidade do produto, a partir de informações das variáveis de processo, tais como: temperatura, pressão e vazão. Foi usado um software simulador de processo estático para implementar uma planta virtual de destilação de diesel padrão para a elaboração da inferência da temperatura em que 85% do diesel é vaporizado, fundamentada em técnicas estatísticas lineares e não lineares para elaboração dos modelos. Também foi elaborada uma interface de comunicação entre a planta virtual e um banco de dados de tempo real para armazenar os dados gerados e usados em um software de estatística para gerar as correlações. A metodologia proposta se mostra bastante simples e eficaz na determinação da qualidade estatística de inferências, cujos resultados podem ser usados numa aplicação industrial em tempo real. . Palavras-chave: Analisador Virtual, Inferência, qualidade do diesel, coluna de destilação. v ABSTRACT This work presents the study and implementation of a virtual analyzer to determine the diesel’s standard in a distillation column, capable of estimate in real time, the quality of the product, from data of process variables, such as: temperature, pressure and flow. A static process software simulator was used to implement a virtual plant of diesel’s distillation, to elaborate the temperature’s inference which 85% of diesel is vaporized, grounded in linear and nonlinear statistics techniques to design the models. Likewise, it was developed a communication interface between the virtual plant and a real time database to store the data generated and that data was used in a statistics software to generate correlations. The methodology proposed shows to be simple and effective to determine the statistic quality of the inferences, whose results can be used in a real time industrial application. . Palavras-chave: Virtual analyzer, Soft-sensor, diesel standard, distillation column. vi LISTA DE ABREVIATURAS E SIGLAS ANP Agência Nacional de Petróleo, Gás Natural e Biocombustíveis ASTM American Society for Testing and Materials ASTM D-86 Standard Test Method for Distillation of Petroleum Products at Atmospheric Pressure OPC Object Linking and Embedding for Process Control PETROBRAS Petróleo Brasileiro S.A. PETROX Process Simulator for Refining, oil and gas production and petrochemical processes PI Plant Information PIE Ponto Inicial de Ebulição PFE Ponto Final de Ebulição RAT Resíduo Atmosférico RC Refluxo Circulante SCADA Supervisory Control and Data Acquisition TC Controlador de Temperatura T85% Temperatura em que 85% do diesel vaporiza em condições de pressão e volume controlados VEB Vaporização por Expansão Brusca vii LISTA DE FIGURAS Figura 2.1 Pressão de vapor .................................................................................... 18 Figura 2.2 Diagrama de Equilíbrio Líquido-vapor para a Mistura Benzeno e Tolueno ................................................................................................................................. 20 Figura 2.3 Pontos a, b e c do equilíbrio benzeno-tolueno ......................................... 22 Figura 2.4 Pontos a, b, d, e, f do equilíbrio benzeno-tolueno.................................... 25 Figura 2.5 Destilação integral adiabática .................................................................. 26 Figura 2.6 Destilação integral não adiabática ........................................................... 27 Figura 2.7 Destilação ASTM .................................................................................... 28 Figura 2.8 Destilação multi-estágio com refluxo ....................................................... 29 Figura 2.9 Coluna de destilação convencional ......................................................... 31 Figura 2.10 Transferência de massa e calor com 01 passagem .............................. 34 Figura 2.11 Transferêncai de massa e calor com 02 passagens .............................. 34 Figura 2.12 Sistema usual de controle de temperatura de topo ............................... 36 Figura 2.13 Árvores da Estrutura dos elementos do PETROX ................................. 44 Figura 3.1 Fluxograma da planta virtual ................................................................... 47 Figura 3.2 Fluxo de dados da planta virtual e o Servidor PI ..................................... 48 Figura 4.1 Gráfico de tendência a TI_4 x AI_85%ASTM.PTX .................................. 51 Figura 4.2 Gráfico de tendência TI_050 x AI_85%ASTM.PTX ................................. 52 Figura 4.3 Gráfico de tendência PI_3 x AI_85%ASTM.PTX ..................................... 52 Figura 4.4 Gráfico de tendência FI_1 x AI_85%ASTM.PTX ..................................... 53 Figura 4.5 Gráfico de tendência TI_4 NL x AI_85%ASTM.PTX ................................ 55 Figura 4.6 Gráfico de tendência TI_2_NL x AI_85%ASTM.PTX ............................... 56 Figura 4.7 Gráfico de tendência FI_1_NL x AI_85%ASTM.PTX ............................... 57 viii Figura 4.8 Gráfico de tendência PI_3_NL x AI_85%ASTM.PTX ............................... 58 Figura 4.9 Gráfico comparativo das inferências com AI_85%ASTM.PTX ................. 60 Figura 4.10 Gráfico comparativo da inferência linear e não linear com AI_85%ASTM.PTX................................................................................................... 61 ix LISTA DE TABELAS Tabela 2.1 Equilíbrio benzeno-tolueno ..................................................................... 22 Tabela 3.1 Correlação entre variáveis ...................................................................... 49 Tabela 4.1 Correlação entre as principais variáveis e o Ponto 85% ASTM .............. 54 Tabela 4.2 Correlações não-lineares ....................................................................... 58 x SUMÁRIO 1. INTRODUÇÃO .............................................................................................................. 12 1.1 OBJETIVOS ................................................................................................ 15 1.2 OBJETIVOS ESPECÍFICOS ....................................................................... 15 2. FUNDAMENTAÇÃO TEÓRICA .................................................................................... 16 2.1 DESTILAÇÃO ATMOSFÉRICA ................................................................... 16 2.1.1 Fundamentos da Destilação Atmosférica .............................................. 16 2.2 PROCESSO DE DESTILAÇÃO .................................................................. 24 2.2.1 Destilação Integral (Flash ou Expansão Brusca) .................................... 25 2.2.2 Destilação diferencial (simples) ............................................................... 27 2.2.3 Destilação fracionada ............................................................................... 28 2.3 COMPONENTES E SEÇÕES DA COLUNA DE DESTILAÇÃO CONVENCIONAL ................................................................................................. 30 2.3.1 Seções da coluna de destilação .............................................................. 32 2.4 VARIÁVEIS DE PROCESSO ...................................................................... 35 2.4.1 Temperatura de topo ................................................................................ 36 2.4.2 Pressão ...................................................................................................... 37 2.4.3 Vazões e temperaturas dos refluxos circulantes.................................... 37 2.5 SIMULADOR DE PROCESSOS DE REFINO E PETROQUÍMICA .............. 41 2.5.1 Elementos de Simulação no PETROX ..................................................... 42 3 METODOLOGIA ........................................................................................................... 46 3.1 FLUXOGRAMA DE ENGENHARIA DA PLANTA VIRTUAL ........................ 46 3.2 FLUXO DE DADOS DA PLANTA VIRTUAL COM O BANCO DE DADOS .. 47 3.3 COLETA E ANÁLISE DOS DADOS COLETADOS ..................................... 48 xi 4 5 RESULTADOS E DISCUSSÃO .................................................................................... 50 4.1 CORRELAÇÕES LINEARES IDENTIFICADAS .......................................... 50 4.2 CORRELAÇÕES NÃO-LINEARES ............................................................. 54 CONCLUSÃO................................................................................................................ 62 Referências Bibliográficas .................................................................................................... 63 ANEXO A ................................................................................................................................. 65 ANEXO B ................................................................................................................................. 67 12 1. INTRODUÇÃO Independentemente da finalidade do petróleo, praticamente todos os processos de refino a que o mesmo é submetido passam pela destilação atmosférica, mostrando a importância deste processo em uma refinaria de petróleo. Segundo Brasil et al (2012) a destilação atmosférica é um processo físico de separação, baseado na diferença entre os diversos pontos de ebulição dos compostos coexistentes numa mistura líquida. As operações de destilação ocorrem em equipamentos específicos designados como torres ou colunas de destilação. Sabendo que a coluna de destilação tem como entrada petróleo cru com pontos de ebulição diferentes na mistura, e que os hidrocarbonetos presentes na mistura aumentam o ponto de ebulição com um aumento do peso molecular, variando as condições de aquecimento do petróleo, obtém-se correntes de leves, GLP, intermediários, nafta e querosene, pesados, gasóleo atmosférico e um resíduo muito pesado, resíduo atmosférico. O petróleo bruto oriundo do processamento primário é transportado por navios, oleodutos, ou ambos até os terminais regionais, de onde é transferido para a refinaria. Devido ao grande volume de produção de uma refinaria de petróleo, percebe-se a necessidade de ter um controle adequado da produção, pois qualquer ajuste pode alterar o rendimento da planta e gerar impactos de milhares de dólares. Nos processos industriais um problema muito comum é a difícil medição de algumas variáveis cruciais para avaliação contínua do seu desempenho e qualidade, como composição e qualidade dos produtos. A origem desta dificuldade pode estar associada à falta de instrumentos que meçam essas grandezas ou à necessidade de amostragem e análises de laboratório demoradas. Neste último caso, a demora pode inviabilizar uma operação satisfatória do processo. Algumas alternativas utilizadas para contornar esta situação são análises a partir da instrumentação convencional juntamente com modelos matemáticos, como correlações ou redes neurais, para inferir as variáveis que não foram medidas ou são medidas com baixa frequência. 13 Na literatura internacional, utiliza-se a palavra soft-sensor que nada mais é que a união das palavras software com sensor, uma vez que a inferência no meio industrial é a utilização de um código computacional para medição de uma variável. No Brasil, utiliza-se com frequência os termos inferência e analisador virtual. De acordo com Facchin (2005) há uma diferenciação entre estes nomes, onde inferência refere-se ao modelo matemático em si e analisador virtual é o conjunto que engloba o modelo matemático e o sistema de correção baseado no erro entre a predição do modelo e a medição da variável inferida. Segundo Aguirre (2007) modelos matemáticos utilizados para inferência podem ser classificados em várias categorias, uma destas agrupa os modelos em: caixa branca, caixa preta e caixa cinza. A modelagem caixa branca necessita conhecer bem o sistema em estudo, bem como as leis físicas que o descrevem. Este modelo tem como vantagens o poder de extrapolação e a possibilidade de capturar não linearidades do processo, mas a obtenção dos parâmetros costuma ser difícil despendendo-se muito tempo no equacionamento dos fenômenos envolvidos, não sendo muito viável seguir este procedimento. A modelagem caixa preta, também conhecida como empírica, é baseada em dados. Uma das características dessa técnica é que pouco ou nenhum conhecimento prévio do sistema é necessário, logo este modelo não necessita de nenhum conhecimento teórico. A sua desvantagem é que necessita de uma grande quantidade de dados para que o modelo tenha boa qualidade. O terceiro tipo de modelo, conhecido como caixa cinza, utiliza-se de conhecimento fenomenológico do processo, mas a parte mais complexa do modelo é feita utilizando dados históricos do sistema de forma análoga ao caixa preta. Uma classificação de modelos caixa preta na literatura é sua separação em estáticos, estacionários e dinâmicos. Modelos estacionários são definidos como modelos derivados de dados em estado estacionário. Modelos estáticos são análogos aos estacionários, porém usam dados dinâmicos de processo. Já os modelos dinâmicos, usam os mesmos dados dos estáticos, porém incluem dados amostrados em tempos diferentes como entradas. De acordo com Kadlec, Gabrys et al. (2009) as inferências podem auxiliar no monitoramento dos estados do processo, ajudando a identificar anormalidades na 14 planta. Geralmente o operador realiza esta tarefa, feita de forma monovariável, utilizando-se da sua experiência. Porém ao se utilizar ferramentas multivariáveis é possível tomar ações mais rápidas e precisas para correção destes distúrbios. Como está se analisando a interação de diversas variáveis em um processo contínuo (pressão e temperatura das várias panelas da torre atmosférica e vazão dos produtos) leva-se um tempo de 6 a 12 horas para que o produto chegue aos pontos de amostragem e apareçam na curva de destilação. A especificação de um produto é uma tarefa bastante complexa, pois são utilizados diversos tipos de petróleo como carga de entrada em uma refinaria, e mesmo que existam modelos para cada carga utilizada, a interação entre diversas cargas modifica a temperatura em que se obtém as frações da destilação do petróleo. Para ajustar com precisão os pontos de corte conforme o especificado pela Agência Nacional de Petróleo, Gás Natural e Biocombustíveis – ANP, perde-se tempo e consequentemente dinheiro na operação da unidade. Então, com a utilização da inferência da curva de destilação destes produtos, busca-se reduzir o “tempo morto” e aumentar a confiabilidade do produto. A especificação do diesel é feita através do parâmetro de qualidade T85%, que corresponde ao ponto 85% da curva de destilação Standard Test Method for Distillation of Petroleum Products at Atmospheric Pressure (ASTM D-86) do diesel produto (temperatura quando 85% do volume de uma amostra do produto são evaporados). O problema analisado consiste na inferência da qualidade do diesel produto, que é composto pela mistura da corrente da torre atmosférica de diesel e de querosene. Como o tempo entre a retirada de uma amostra até o laboratório enviar o resultado para a operação pode chegar a 12 horas, identificou-se a necessidade de desenvolver uma ferramenta que auxilie a operação a “nortear” este resultado com um menor intervalo. Assim, o objetivo principal desta dissertação é a elaboração de uma inferência, fundamentada em técnicas estatísticas, para indicar aos operadores de uma torre de destilação atmosférica padrão se o diesel está aproximando-se ou distanciando-se do parâmetro de qualidade T85%, utilizando um simulador de processo estático como uma planta de destilação padrão, um banco de dados 15 industrial para armazenar os dados gerados e software STATISCA para gerar as correlações. Esta dissertação está organizada em cinco capítulos, incluindo esta introdução. O próximo capítulo, intitulado Fundamentação Teórica, trata de uma introdução teórica dos conceitos fundamentais para compreender os princípios da destilação atmosférica. No capítulo III, intitulado Metodologia, discute-se sobre a simulação de uma torre de destilação genérica. No capítulo IV, intitulado Resultados e Discussões, é apresentado os resultados da simulação assim como a interpretação dos dados analisados. O quinto capítulo, intitulado Conclusões, apresenta-se os principais ganhos, vantagens e desvantagens da abordagem empregada neste estudo e sugestões para trabalhos futuros. 1.1 OBJETIVOS Desenvolver uma ferramenta de apoio aos operadores de plantas de destilação de petróleo, cujo foco desta planta seja produzir diesel dentro das especificações de qualidade exigida pela Agência Nacional do Petróleo, Gás Natural e Biocombustível – ANP. 1.2 OBJETIVOS ESPECÍFICOS Implementar uma arquitetura de comunicação entre um banco de dados industrial e um simulador de processos estático; Determinar quais variáveis do processo melhor correlacionam-se com o teor de 85% de leves do diesel; Comparar equações lineares e não-lineares que melhor representem a tendência do ponto 85%. 16 2. FUNDAMENTAÇÃO TEÓRICA 2.1 DESTILAÇÃO ATMOSFÉRICA O petróleo cru deve ser submetido à destilação para que o potencial energético possa ser efetivamente aproveitado. Nas unidades de destilação atmosférica ocorre a separação das frações do petróleo cru em função das diferentes faixas de ponto de ebulição dos subprodutos. A destilação atmosférica é basicamente um processo físico, assim, espera-se que as propriedades físicas dos componentes não sejam modificados, já que o sistema deve operar de forma que não ocorram reações químicas (FARAH, 2012). Entretanto, as elevadas temperaturas de operação na faixa das frações mais pesadas acabam ocasionando o craqueamento térmico. Este processo físico de separação foi desenvolvido devido aos diferentes pontos de ebulição dos compostos que coexistem em uma mistura líquida de petróleo cru. Como os hidrocarbonetos presentes na mistura possuem pontos de ebulição mais altos com o aumento do peso molecular, ao variarmos as condições de aquecimento é possível vaporizar compostos leves, intermediários e pesados, que, ao se condensarem, podem ser separados. Neste processo também há a formação do resíduo atmosférico. Ou seja, os produtos da destilação atmosférica não são puros e diferentes entre si, eles são misturas complexas de hidrocarbonetos e contaminantes, diferenciadas por suas faixas de ebulição (BRASIL; ARAÚJO; SOUSA, 2012). 2.1.1 Fundamentos da Destilação Atmosférica Para inferir-se o parâmetro de qualidade do diesel Temperatura em que 85% do diesel vaporiza em condições de pressão e volume controlados (T85%) deve-se compreender o funcionamento de uma torre de destilação atmosférica. 17 Desta forma, neste capítulo descrevem-se os conceitos fundamentais para um melhor entendimento do processo de destilação do petróleo e seus derivados. 2.1.1.1 Conceitos Fundamentais 2.1.1.1.1 Volatilidade É a capacidade de uma substância passar do estado sólido ou líquido para o estado gasoso ou de vapor. O petróleo por ser constituído por uma combinação de hidrocarbonetos miscíveis e em geral, na química orgânica, quanto menor o tamanho da cadeia de uma molécula, maior é a volatilidade. Então, o metano é mais volátil que o etano, que é mais volátil que o propano (BRASIL, 2005). 2.1.1.1.2 Pressão de Vapor É a pressão exercida por um vapor quando se encontra em equilíbrio termodinâmico com o líquido que lhe deu origem, ou seja, a quantidade de líquido que evapora é a mesma que se condensa. Pode-se concluir que quanto maior for à pressão de vapor, mais volátil será o líquido, e menor será a temperatura de ebulição quando comparado a outros líquidos com menor pressão de vapor à mesma temperatura de referência (SILVESTRE, 2005). Em termos cinéticos, qualquer líquido sempre tenderá a vaporizar até atingir o equilíbrio termodinâmico com o vapor, ou seja, esse equilíbrio se manifesta quando a taxa de líquido vaporizado é igual à taxa de vapor condensado conforme a Figura 2.1. 18 Figura 2.1 Pressão de vapor Supondo que a temperatura aumente, a energia cinética das moléculas na superfície do líquido aumentará, fazendo com que um maior número de moléculas passe do estado líquido para o vapor até que seja estabelecido um novo equilíbrio e a taxa de vaporização seja igual à taxa de condensação. Desta maneira, concluí-se que, a pressão de vapor de um líquido varia com a temperatura, e é tanto maior quanto mais alta for esta temperatura. E chega-se a lei fundamental da pressão de vapor que diz: A pressão máxima de vapor de um líquido depende somente da natureza do líquido e da temperatura (BRASIL, 2005). 2.1.1.1.3 Influência da pressão externa A pressão externa influencia a temperatura de vaporização de um líquido, tal afirmação pode ser compreendida utilizando-se a água como exemplo. Considerando que a água seja um líquido puro, a 30º C a pressão atmosférica padrão é de 101,3 kPa e nesta temperatura a pressão de vapor da água é 4,24 kPa. 19 Aquecendo o recipiente com água, cede-se calor a água (calor sensível), aumentando a temperatura e a pressão de vapor do líquido. Ao atingir 100º C, a água começará a ferver, e todo o calor fornecido nesta temperatura será utilizado para vaporização do líquido, até que todas as moléculas encontrem-se no estado de vapor. Neste momento a pressão será de 101,3 kPa e obtém-se o ponto de ebulição normal da água a 100º C, pois a pressão de vapor tornou-se igual à pressão atmosférica. Este exemplo permite a seguinte conclusão, um líquido puro entra em ebulição a uma dada temperatura, quando a pressão de vapor correspondente a esta temperatura iguala a pressão que o líquido está submetido. Desta forma, se a pressão externa a que o líquido está submetida for aumentada, o líquido necessitará de uma maior temperatura para entrar em ebulição, pois a pressão de vapor precisa igualar-se à pressão externa. Analogamente, se a pressão externa diminui, a temperatura de ebulição de um líquido puro também será reduzida (BRASIL, 2005). 2.1.1.1.4 Ponto de Bolha e Ponto de Orvalho Diferentemente de um composto puro, uma mistura líquida não entra em ebulição em uma única temperatura, sob pressão constante. Em uma mistura, a vaporização e a condensação não dependem apenas da pressão de vapor de seus componentes, pois se verifica que os componentes mais voláteis exercem um efeito de arraste sobre os componentes mais pesados ou menos voláteis. Estes, consequentemente, tem uma ação aceleradora sobre a condensação dos componentes mais leves. Sabendo disto, chega-se a dois conceitos considerando que a pressão é constante. Ponto de bolha é a temperatura em que se forma a primeira bolha na massa líquida; Ponto de orvalho é a temperatura em que é condensado a primeira gota de líquido de uma mistura vaporizada (SILVESTRE, 2005). 20 Esses pontos mudam de posição para cada composição da mistura, gerando duas curvas. Como exemplo considerou-se uma mistura binária de benzeno-tolueno a pressão atmosférica. A figura 2.2 mostra o diagrama de equilíbrio temperatura versus composição para esta mistura. Figura 2.2 Diagrama de Equilíbrio Líquido-vapor para a Mistura Benzeno e Tolueno Observando a Figura 2.2, vê-se que o benzeno é o componente mais volátil entre os dois e o ponto de ebulição normal é de 80,1 °C. Já o tolueno é o menos volátil, com ponto de ebulição de 110,6 °C. Dependendo da fração molar da mistura, há diferentes pontos de bolha e pontos de orvalho, sendo a curva inferior o ponto de bolha e a curva superior o ponto de orvalho. A região abaixo da curva de bolha é a de líquido sub-resfriado a região acima da curva de ponto de orvalho é a de vapor superaquecido e a região entre as duas curvas há uma fração líquida e outra vapor. 21 2.1.1.1.5 Pressão de vapor de uma mistura liquida Quando substâncias puras são misturadas, a pressão de vapor não depende apenas da mistura, mas também da composição. Por exemplo, considerando as pressões de vapor do tolueno e do benzeno a 82º C, as pressões de vapor são respectivamente, 41,597 kPa e 107,325 kPa. A pressão de vapor não será a soma das duas pressões de vapor, ou seja, cada componente contribuirá com uma parcela da pressão de vapor da mistura. Ao considerar-se uma mistura ideal, pode-se calcular a contribuição de cada componente na pressão de vapor da mistura, por: (1) = pressão parcial de vapor do componente A na mistura líquida. = pressão de vapor do componente A na temperatura do sistema. = fração molar do componente A no líquido. 2.1.1.1.6 Principio geral da destilação O estudo da destilação necessita do conhecimento do equilíbrio líquido-vapor, e quando uma mistura líquida estiver em equilíbrio com o vapor correspondente, a pressão de vapor desta mistura será igual à pressão total do sistema (NILO; ARAÚJO, SOUSA, 2012). Utilizando como exemplo a mistura líquida de benzeno-tolueno contendo 60% molar de benzeno, submetida à pressão atmosférica. Foi calculado que a pressão de vapor dessa mistura é de 81,034 kPa a 82 °C, ou seja esta pressão é inferior a pressão atmosférica (101,325 kPa), e dizemos que esta mistura líquida é subresfriada. 22 Figura 2.3 Pontos a, b e c do equilíbrio benzeno-tolueno Na figura 2.3, esta condição é representada pelo ponto “a”. Mas, ao se aquecer essa mistura até 89,4 °C, a pressão de vapor da mistura será de 101,325 kPa, igualando à pressão atmosférica padrão e este vapor de equilíbrio com a mistura líquida passa a ser chamado de ponto de bolha, sendo representado pelo ponto “b”. Tabela 2.1 Equilíbrio benzeno-tolueno Componente Fração molar Pressão de vapor a Pressão parcial de 89,4 °C / kPa vapor / kPa Benzeno 0,60 133,989 80,393 Tolueno 0,40 52,329 20,932 1,00 101,325 O vapor, que está em equilíbrio com a mistura líquida no ponto “b”, aparece no ponto “c” do mesmo gráfico. 23 Enunciando a Lei de Raoult e a Lei de Dalton, podem-se relacionar estas duas equações para obter a composição deste vapor. Lei de Raoult: A pressão parcial de vapor de um dado componente numa mistura líquida é dada pelo produto da sua composição molar no líquido pela sua pressão de vapor na temperatura do sistema, conforme equação 1. Lei de Dalton: A pressão parcial de um dado componente em uma mistura gasosa é dada pelo produto da pressão total e pela sua composição molar na mistura. (2) = pressão parcial do componente A na fase vapor. = pressão total do sistema. = fração molar do componente A na fase vapor. Combinando as duas equações, têm-se: ( ) (3) Esta equação só faz sentido quando há um vapor em equilíbrio com o líquido. Pela equação, percebe-se que um componente no vapor é diretamente proporcional à composição no líquido, assim como a sua pressão de vapor, e é inversamente proporcional à pressão total do sistema. 24 Considerando um comportamento ideal, através da Lei de Raoult e da Lei de Dalton pode-se obter a composição do ponto de orvalho, representada pela letra “c” na figura 3: Benzeno: Tolueno: Com isso pode-se concluir que o vapor em equilíbrio com um líquido sempre será mais rico no componente mais volátil do que o líquido. A diferença entre composições do líquido e do vapor em uma mistura multicomponentes em equilíbrio é o princípio em que toda a destilação é baseada. Em resumo, o processo de destilação industrial é baseado no fato de uma mistura líquida em ebulição torna-se rica no componente menos volátil, pois o mais volátil tende a escapar do líquido mais facilmente, e o vapor em processo de condensação também fica rico no componente mais volátil, já que o menos volátil tende a liquefazer-se (NILO; ARAÚJO, SOUSA, 2012). 2.2 PROCESSO DE DESTILAÇÃO A destilação é um processo físico de separação, logo, não ocorre alteração química dos hidrocarbonetos constituintes do petróleo processado (BRASIL, 2005). No passado, os métodos de destilação do petróleo eram rudimentares, sendo realizados em alambiques e “em batelada”. E não havia a qualidade exigida atualmente. De forma geral, têm-se três tipos de destilação: Destilação integral Destilação diferencial 25 Destilação fracionada 2.2.1 Destilação Integral (Flash ou Expansão Brusca) É a destilação em uma única etapa ou estágio, onde a carga é separada em 2 produtos: um vapor e um líquido que estão em equilíbrio termodinâmico. Esta destilação mantém o vapor produzido em contato íntimo com o líquido residual, mantendo os produtos ligados por relações de equilíbrio (SILVESTRE, 2005). Considerando novamente a mistura líquida benzeno-tolueno com 60% molar de benzeno, e aquecendo-a até a temperatura de 92 °C têm-se esta condição representada pela ponto “d” na figura 2.4. Neste ponto têm-se duas fases em equilíbrio líquido-vapor, representada pelos pontos “e” e “f”. Figura 2.4 Pontos a, b, d, e, f do equilíbrio benzeno-tolueno 26 O ponto “e” representa o ponto de bolha e a concentração de benzeno no líquido é de 51%. Já no ponto “f”, ponto de orvalho, o vapor será composto por 72,2% de benzeno. Conclui-se que o vapor ficou mais enriquecido em benzeno do que a carga e, o líquido ficou mais enriquecido em tolueno. A destilação integral pode ser adiabática ou não, ou seja, sem ou com troca de calor com o exterior. O exemplo anterior é um exemplo de destilação não adiabática e um exemplo de destilação adiabática é a vaporização parcial de um líquido por abaixamento da pressão total, também conhecido como Vaporização por Expansão Brusca (VEB), em que uma mistura líquida ao passar por uma válvula de controle, gera uma mistura de líquido e vapor em equilíbrio a uma pressão e temperatura menores que a anterior (BRASIL, 2005). Figura 2.5 Destilação integral adiabática 27 Figura 2.6 Destilação integral não adiabática 2.2.2 Destilação diferencial (simples) É uma destilação descontínua, exemplificando, uma carga de uma mistura é introduzida em um vaso com sistema de aquecimento. A carga ao receber calor, aumenta a temperatura até entrar em ebulição e o vapor formado é separado para um vaso condensador que liquefaz o produto. Após um tempo, têm-se dois líquidos com composições diferentes, o condensado mais rico no componente mais volátil e o líquido residual, mais rico no componente menos volátil, mas não haverá relação de equilíbrio entre os dois líquidos (BRASIL, 2005). Uma das vantagens da destilação diferencial é que é possível aquecer a carga até um ponto desejado, possibilitando que porções sejam coletadas, também conhecidas como cortes, e servem como referência para aferir a pureza dos produtos destilados (SILVESTRE, 2005). Um exemplo clássico é a destilação ASTM, feita em laboratório para controle de qualidade dos produtos de petróleo. 28 Figura 2.7 Destilação ASTM 2.2.3 Destilação fracionada É um processo de separação de componentes baseados nos diferentes pontos de ebulição presente na mistura, por intermédio de vaporizações e condensações sucessivas, tornando possível a obtenção de dois produtos, um com vapor com componentes mais voláteis e a parte líquida com componentes menos voláteis (BRASIL, 2005). Esta destilação é uma evolução da destilação integral, já que, de maneira simplificada é uma destilação simples com múltiplos estágios. Sendo empregada para produzir produtos com maior grau de pureza, que muitas vezes não pode ser alcançado em um único estágio. Esta operação de separação de componentes é a mais utilizada por indústrias de grande porte, e como este processo geralmente se dá de forma contínua, utilizam-se equipamentos denominados por torres ou colunas de destilação (SILVESTRE, 2005). 29 O processo de condensações e vaporizações parciais e sucessivas é capaz de obter produtos de alta pureza, mas em quantidades muito pequenas. Em contrapartida, há uma grande quantidade de produtos de composição intermediária sem uma aplicação específica e também são necessários muitos permutadores, condensadores ou vaporizadores intermediários entre os estágios de equilíbrio. Um melhor aproveitamento do processo é remover os permutadores intermediários, colocando apenas um condensador de maior capacidade no último estágio de purificação do componente mais volátil, devolvendo ao estágio inferior parte do líquido condensado, que vai servir como fonte para resfriar os vapores. Analogamente, coloca-se um vaporizador de maior capacidade no último estágio da seção do componente menos volátil. O vapor gerado é reutilizado como fonte de aquecimento dos líquidos (BRASIL, 2005). Figura 2.8 Destilação multi-estágio com refluxo 30 Observa-se na figura 2.8 que em cada estágio um vapor quente e saturado (ponto de orvalho) entra em contado com um líquido frio e saturado (ponto de bolha), resultando em: Uma temperatura final intermediária entre as temperaturas do vapor e do líquido; Um vapor e um líquido de composições diferentes dos originais devido a condensação do mais pesado presente no vapor e de uma vaporização do mais leve presente no líquido. Estas ações de vaporização e condensação parciais ocorrerão em todos os estágios da sequência, resultando nas seguintes conclusões: Quanto maior for o número de estágios empregados na sequência, maior será o grau de pureza dos produtos; Quanto mais condensado retorna para cada estágio, melhor será o grau de separação, pois maior será o grau de enriquecimento do vapor no componente mais volátil. Este retorno é denominado refluxo. Estas duas variáveis: número de estágios e a vazão de refluxo, são as variáveis que se levam em conta em um projeto para se obter um grau de separação desejado (BRASIL, 2005). 2.3 COMPONENTES E SEÇÕES DA COLUNA DE DESTILAÇÃO CONVENCIONAL Uma coluna de destilação convencional possui os seguintes componentes adicionais: o condensador, o tambor ou vaso de topo e o refervedor. 31 Figura 2.9 Coluna de destilação convencional O vapor que sai da coluna é condensado total ou parcialmente no condensador de topo. O condensado juntamente com uma parcela de vapor não condensado (quando houver condensação parcial) vai para o tambor de topo, o qual permitirá a separação mecânica entre o líquido e o vapor. Parte do líquido frio retorna para a torre através de uma bomba e é chamado de refluxo, sendo sua vazão controlada por uma válvula que garante uma determinada temperatura no topo da torre. A outra parte do condensado é o produto de topo que é chamado de destilado (BRASIL; ARAÚJO; SOUSA, 2012). O líquido que sai pelo fundo da torre de destilação vai para um trocador de calor, chamado de refervedor, onde ocorrerá a vaporização de parte deste líquido. Os vapores formados serão a fonte de calor para a coluna, permitindo a 32 revaporização dos componentes mais leves dos líquidos que descem para a seção inferior, com a consequente condensação dos componentes mais pesados desse vapor. A parte não vaporizada constituirá o produto de fundo, também chamado de resíduo. 2.3.1 Seções da coluna de destilação A carga é inserida em um ponto intermediário da coluna e, baseado no estado térmico e/ou da composição, este ponto estará abaixo ou acima do ponto médio da altura da coluna. O local de introdução da carga divide a coluna em duas seções. Não é recomendado chamar este local de zona de flash, vaporização ou expansão, pois este fenômeno ocorreu antes da introdução da carga na torre. A parte superior da torre é conhecida por: seção de enriquecimento, de absorção ou de retificação. O termo enriquecimento significa que a fase vapor está sendo enriquecida no componente mais volátil, o termo absorção é utilizado para mostrar que os componentes mais pesados do vapor serão incorporados ao líquido, e o termo retificação é aplicado para mostrar a interação entre o vapor que sobe na coluna com o líquido produzido por condensação parcial de um vapor mais leve, ou seja, todos os termos são utilizados para expressar que há enriquecimento do vapor nos componentes mais leves (BRASIL; ARAÚJO; SOUSA, 2012). A seção inferior também é conhecida por seção de esgotamento e tem como objetivo remover os componentes leves do líquido que descem da zona de separação da carga. A seção de esgotamento opera de forma inversa a seção de enriquecimento, pois o objetivo é que os componentes mais voláteis do líquido sejam removidos (BRASIL; ARAÚJO; SOUSA, 2012). 2.3.1.1 Mecanismo convencional de funcionamento de uma torre de destilação 33 Há três possibilidades para a carga que entra em uma torre de destilação, dependendo do seu estado térmico. 1. Carga líquida (temperatura da carga ≤ ponto de bolha): A carga vai para seção de esgotamento, misturando-se com refluxo interno que desce da seção de absorção. 2. Carga vapor (temperatura ≥ ponto de orvalho): A carga sobe para a seção de enriquecimento. 3. Carga parcialmente vaporizada (líquido + vapor): a parte líquida vai para o prato superior da seção de esgotamento e o vapor sobe para o prato inferior da seção de absorção. O vapor ao atingir um prato superior ao seu interage com o líquido, que está com composição e temperatura diferentes. Esta interação ocasiona condensação dos componentes mais pesados do vapor, pois o líquido está com menor temperatura e o calor liberado pela condensação destes componentes permite a vaporização preferencial dos componentes mais voláteis do líquido. Desta forma, o vapor que deixa um prato, além de ter uma menor temperatura, também tem uma maior concentração de componentes mais voláteis do que o vapor que chega a este prato, pois o vapor ao subir por um prato deixa os componentes menos voláteis no líquido e retira do líquido os componentes mais voláteis. Já o líquido que abandona um prato possui maior temperatura e concentração de componentes menos voláteis do que o líquido que está chegando no mesmo prato. Estas vaporizações e condensações que ocorrem por contato direto entre o vapor e o liquido é considerada como uma troca de massa e calor entre o líquido e o vapor que passam pela coluna de destilação. A figura abaixo ilustra a transferência de massa e calor. 34 Figura 2.10 Transferência de massa e calor com 01 passagem Figura 2.11 Transferêncai de massa e calor com 02 passagens 35 Quanto maior a altura da torre, mais frio tornam-se os vapores e maior a concentração de componentes voláteis. De forma inversa, quanto mais baixo, maior será a temperatura na torre e haverá mais componentes menos voláteis. Resumindo, o topo da torre de destilação é onde existem as menores pressões e temperaturas do sistema e maior concentração de componentes menos voláteis, já no fundo da torre encontra-se as maiores pressões e temperaturas, assim como uma concentração de componentes menos voláteis. A diferença de temperatura entre o topo e o fundo da torre é gerado pelo refluxo externo, derivado da condensação de parte dos vapores que saem pelo topo. O refluxo externo gera o refluxo interno, que desce de prato em prato, e ajuda a remover os compostos pesados do vapor que sobem pela torre, melhorando o fracionamento na seção de retificação (BRASIL; ARAÚJO; SOUSA, 2012). A seção de esgotamento possui funcionamento inverso, quanto mais vapor subir pelo fundo, mais componentes leves serão retirados do líquido. 2.4 VARIÁVEIS DE PROCESSO A temperatura e a pressão são as variáveis mais importantes de uma torre de destilação, e controlando-as define-se o ponto final de ebulição da corrente produzida. Além destas variáveis, a vazão e a temperatura de refluxo circulante são variáveis importantes, pois elas alteram a qualidade do fracionamento (BRASIL; ARAÚJO; SOUSA, 2012). Uma coluna de destilação atmosférica tem como objetivo separar o petróleo em diversas frações ou cortes, com qualidades definidas para serem utilizadas, quase sempre, como combustíveis. Estas especificações podem ser expressas em termos de propriedades físicas tais como: pressão de vapor, ponto de fulgor, viscosidade, densidade, ponto de congelamento e resíduo de carbono, entre outras, todas associadas com a faixa de destilação ASTM da fração. As propriedades citadas são chamadas de medidas inferenciais, porque mantêm uma relação direta 36 com a composição, ou seja, a composição pode ser inferida por meio delas (BRASIL; ARAÚJO; SOUSA, 2012). 2.4.1 Temperatura de topo As temperaturas dos diversos pratos da torre estão relacionadas com o Ponto Final de Ebulição (PFE) da fração que está no prato, mas a única temperatura que é controlada diretamente é a temperatura de topo da torre. Este controle é efetuado por um controlador de temperatura que opera em cascata, modificando o valor de referência (set point) do controlador de vazão de refluxo de topo. Figura 2.12 Sistema usual de controle de temperatura de topo Na figura acima, considerando que a pressão de topo é constante, quanto maior estiver a temperatura, maior será o PFE de produto de topo. Desta forma, aumentando o set point do Controlador de Temperatura (TC), menor será a vazão de refluxo de topo, consequentemente, o refluxo interno também será reduzido, permitindo que hidrocarbonetos mais pesados, se incorporem ao produto de topo, aumentando o PFE. O produto inferior perderá esses componentes que foram incorporados ao produto de topo, e, o Ponto Inicial de Ebulição (PIE) e o ponto de fulgor do primeiro produto lateral ficarão maiores. De forma análoga, uma redução 37 no valor de referência na temperatura de topo ocasionará um efeito inverso no PFE do produto de topo e no PIE do produto lateral. 2.4.2 Pressão A pressão na torre não é uma variável utilizada para os ajustes normais de operação, devendo ser mantida constante garantindo uma operação estável. Uma redução na pressão aumenta as volatilidades relativas dos componentes e aumenta a porcentagem vaporizada na zona de introdução da carga, acarretando em uma redução na produção de resíduo atmosférico e um consequente aumento na produção das frações destiladas, que apresentarão um PFE mais alto, resumindo, todos os produtos da torre ficarão mais pesados (BRASIL; ARAÚJO; SOUSA, 2012). Desta forma, quanto menor a pressão utilizada na torre, maior o rendimento obtido em correntes destiladas e, também, melhor o fracionamento. Porém, a redução da pressão pode não ser viável em unidades que não possuem a torre préfracionadora, porque a condensação de componentes leves presente no produto de topo seria prejudicada. 2.4.3 Vazões e temperaturas dos refluxos circulantes Geralmente, as torres de destilação atmosférica possuem de dois a três refluxos circulantes, cujo objetivo é remover carga térmica ao longo da coluna e aumentar a recuperação de energia da unidade. Uma redução na temperatura de topo ou aumento na vazão de retorno do refluxo circulante faz com que aumente a corrente fria na torre, aumentando a condensação de vapores, fazendo com que diminua a temperatura dos vapores que sobem em direção ao topo. O controlador de temperatura de topo ao ser acionado reduz a vazão do refluxo de topo, assim, reduz o refluxo interno e piora o fracionamento na região acima do retorno do refluxo circulante. O fracionamento abaixo da região Refluxo Circulante (RC) não será afetado, pois o refluxo interno se manterá devido a condensação dos vapores promovido pelo RC (BRASIL; ARAÚJO; SOUSA, 2012). 38 2.5 CORRELAÇÃO MATEMÁTICA As correlações foram estimadas utilizando o método dos mínimos quadrados. Inicialmente será demonstrado como obter os parâmetros para sistemas com solução única e em seguida, será mostrado como determinar os parâmetros para o caso sobredeterminado, ou seja, quando há mais equações do que incógnitas. 2.5.1 Sistemas com solução única Pode-se definir um conjunto de equações, considerando uma função escalar definida por e com vários valores dados por: No caso vetorial, depende de um vetor de n parâmetros, . Diz- se que a função é parametrizada por (AGUIRRE, 2007) e pode ser representada por: Considerando que x pode ser um vetor de variáveis independentes ou regressoras, tem-se: 39 Conhecendo os conjuntos possível determinar e , pode-se questionar se é e . Fazendo algumas considerações: A função e o vetor não variam de uma restrição para outra, assegurando que eles de fato, pertencem a mesma equação; A equação pode ser reescrita como Serão tomadas determinar os ;e restrições, a fim de se ter elementos de , nesse caso equações para . A primeira consideração explica por que em problemas de identificação de sistemas dinâmicos normalmente supõe-se que o sistema seja invariante no tempo e que os sinais medidos sejam estacionários (AGUIRRE, 2007). Se o sistema for variante no tempo, ou (ou ambos) seriam diferentes entre restrições, dificultando bastante o uso de um único consideração implica e a estimação de um único ser linear nos parâmetros, se . A segunda não fosse poder-se-ia estimar por métodos de estimação não lineares. A partir, de todas as considerações, podese reescrever a equação na forma: [ ] [ ][ ] Desde que X seja não singular, é possível determinar o vetor de parâmetros invertendo tal matriz. 2.5.2 Sistemas sobredeterminados Se restrições forem tomadas, tem-se um sistema de equações sobredeterminado (AGUIRRE, 2007), têm-se . 40 Como a matriz X não é quadrada, ela não pode ser invertida. Entretanto, utilizando as propriedades matriciais pode-se multiplicar em ambos os lados, Que é chamada de equação normal. Como o produto de uma matriz pela sua transposta é uma matriz quadrada, tem-se [ Caso ] não seja singular. A matriz [ ] é conhecida como matriz pseudo-inversa. Este resultado foi obtido através de manipulações algébricas aplicadas a matrizes e pode ser utilizado sempre que for necessário determinar um vetor de um conjunto de equações com mais restrições do que incógnitas. 2.5.3 O Método de Mínimos Quadrados Sabe-se que a equação concomitantemente todas as é a única solução que satisfaz restrições do sistema de equações e [ ] é apenas uma das infinitas soluções do sistema sobredeterminado (AGUIRRE, 2007). Então, busca-se uma solução para o sistema sobredeterminado que possua “significado intuitivo”. Desta forma, assumindo que é conhecido o valor estimado do vetor de parâmetros ̂, e que há um erro vetor de regressores ao tentar explicar o valor observado a partir do e de ̂, ̂ Sabendo que aplicações e representando a equação na forma matricial, tem-se ̂ 41 Como o erro pertence ao conjunto dos números reais, deve-se pensar em uma solução em que o ̂ reduza o erro , em algum sentido. Uma forma de tornar a resposta mais precisa, é utilizando o somatório do quadrado do erro, que nada mais é que um indicador da qualidade do ajuste de ̂ ao vetor de dados ‖ ‖ ∑ com relação a ̂, é necessário resolver a Para minimizar a função custo derivada parcial da função custo em função do valor estimado, ̂, igualando a zero, 0. Obtendo, ̂ [ ] Esta abordagem chega aos mesmos resultados que a solução utilizando a matriz pseudo-inversa. Esta solução também é conhecida como estimador de mínimos quadrados clássico e a equação pode ser escrita na forma mais geral: ̂ Sendo [ ] , tem-se que este estimador linear é fundamental na teoria de identificação de sistemas. 2.6 SIMULADOR DE PROCESSOS DE REFINO E PETROQUÍMICA Foi utilizado um simulador de processos de refino e petroquímica, Process Simulator for Refining, oil and gas production and petrochemical processes (PETROX®), para simular a operação de uma unidade industrial. O PETROX é um simulador estático e sequencial-modular. A simulação estática recebe esse nome por reproduzir a operação em regime estacionário não levando em conta as variações ao longo do tempo. O tipo sequencial-modular indica que o simulador calcula as operações unitárias como módulos isolados, ligando uns aos outros apenas por correntes de processo, e seguindo uma sequência pré-determinada. 42 O PETROX tem sido utilizado com sucesso nos projetos de várias unidades de produção da Petróleo Brasileiro S.A. (PETROBRAS), sendo o simulador padrão de diversos grup5os de projeto, acompanhamento e melhoria de processos da companhia. Principais características do PETROX: a) Banco de dados proprietário de propriedades de petróleos, contendo parâmetros de interação ajustados especialmente para o simulador e características levantadas em laboratórios próprios de todos os petróleos nacionais e dos principais internacionais; b) Qualidade de Produtos – Métodos de cálculo de propriedades especiais da área de refino, como intemperismo, destilação ASTM, formação de hidratos, etc.; c) Funcionamento em rede ou stand alone; d) A operação do programa se faz em quatro etapas: e) Entrada de dados ou pré-processamento; f) Construção do problema; g) Execução da simulação e; h) Emissão dos relatórios ou pós-processamento. 2.6.1 Elementos de Simulação no PETROX Na simulação de processos existem dois elementos principais: correntes e módulos. Corrente é uma mistura multicomponente da qual se conhece, ou se quer determinar, temperatura, pressão, vazão e composição. Módulo é a representação do equipamento ou do processo unitário que se quer simular, mas existem alguns módulos sem correspondência física com uma unidade de processo que, ainda assim, promovem alterações em correntes. Então, em última análise, módulos são transformadores de correntes. O PETROX é um simulador de processos e, como tal, pode ser classificado de formas distintas. Em relação aos modelos matemáticos, o PETROX é um simulador estático, ou seja, reproduz o comportamento da unidade de processo no estado estacionário. Em relação à estratégia de resolução dos 43 modelos, o PETROX é sequencial modular, ou seja, o cálculo é feito módulo a módulo, numa determinada sequencia. A abordagem sequencial modular exige que, para que um determinado módulo seja calculado, todas suas alimentações (correntes de entrada) e os seus parâmetros (condições operacionais) sejam conhecidos. Com estes dados as correntes de saída são determinadas. Para fazer a simulação de um processo é necessário um conjunto de informações, que independe do simulador que se pretende empregar e da maneira como estes dados serão fornecidos. De um modo geral, estes dados podem ser classificados em cinco seções: 1. Dados gerais: título do projeto, descrição, data, nome do usuário, sistema de unidades, opções de impressão, tolerâncias para os cálculos iterativos. 2. Dados dos componentes: é necessário que se especifique todos os componentes que estarão presentes na simulação, não só os que aparecem nas correntes de entrada, mas também aqueles que serão formados em reações químicas. 3. Métodos de cálculo de propriedades e equilíbrio: nesta seção são definidos os métodos empregados nos cálculos de equilíbrio de fases e na determinação de propriedades físicas. 4. Correntes: é necessário fornecer um conjunto de dados que permita determinar o estado termodinâmico de cada corrente proveniente do ambiente, ou seja, as alimentações da unidade devem estar com vazão, composição, temperatura e pressão (ou algum outro par de variáveis que definam as condições de temperatura e pressão) especificada. 5. Módulos: nesta seção são selecionados os módulos que farão parte da simulação. No PETROX, estes elementos estão organizados numa árvore, conforme a estrutura da figura 2.13. 44 Figura 2.13 Árvores da Estrutura dos elementos do PETROX Dados básicos - Nos Dados básicos, o usuário define quais serão as unidades, as tolerâncias de cálculo, os componentes, os conjuntos termodinâmicos e outros dados importantes da simulação. Dados das correntes - A implementação da paleta e do fluxograma da simulação proporcionam ao usuário a possibilidade de executar funções relacionadas a correntes que antes só eram possíveis através da árvore. Pela paleta, pode-se criar corrente e pelo fluxograma pode-se editar, eliminar, habilitar/desabilitar correntes. Dados dos módulos - Existe uma lista com todos os módulos disponíveis na versão atual do simulador. Para saber que módulos já foram inseridos, basta procurar o sinal de (+) ao lado do nó correspondente ao tipo de módulo. Todo módulo deve ter um identificador, contendo um a quatro caracteres alfanuméricos. Não é permitido o uso do mesmo identificador em mais de um módulo Sequencia de cálculo e reciclos - O simulador PETROX possui um robusto conjunto de rotinas exclusivamente dedicado à identificação e solução automática de reciclos. Para a grande maioria dos casos, recomenda-se a utilização do procedimento automático para determinação da sequência de cálculo. Entretanto, o usuário pode optar por informar a sequência manualmente. 45 Utilitários - A análise de sensibilidade é opcional e tem como objetivo analisar como certas variáveis são influenciadas por perturbações em uma propriedade de um módulo ou corrente do fluxograma. Esta análise é feita através da repetição da simulação, alterando-se o valor de uma variável e recolhendo-se os valores das que se deseja monitorar. Pode-se monitorar diversas variáveis. É permitido realizar a análise de sensibilidade manipulando mais de um parâmetro, variando cada um deles de forma (multivariável). independente ou todos os parâmetros simultaneamente 46 3 METODOLOGIA Este capítulo tem como objetivo explicar como foram realizadas as simulações realizadas para determinar a inferência do ponto 85% da curva de destilação ASTM D-86 do diesel. 3.1 FLUXOGRAMA DE ENGENHARIA DA PLANTA VIRTUAL O fluxograma da Figura 3.1 apresenta de forma simplificada a planta virtual desenvolvida no simulador de processo PETROX, onde têm-se uma carga de petróleo com as seguintes características: vazão de 250 m3/h, uma temperatura de 361°C e pressão de 0,79 kgf/cm2. No fundo da torre têm-se um trocador de calor e uma saída do RAT (Resíduo Atmosférico). Na torre T-1 (fracionadora) com 14 pratos, na altura da bandeja nº 12, tem a retirada lateral de produtos intermediários (diesel + frações leves), que é enviado para a T-2 (torre retificadora), acima da bandeja nº 1, que opera com uma temperatura de fundo em 240ºC e pressão de 0,70 Kgf/cm2. Pelo topo da T-1 sai um fluxo de hidrocarbonetos leves – Nafta a uma temperatura de 104ºC que é resfriado pelo condensador seguindo para o vaso acumulador onde trabalha com uma temperatura média de 58ºC e uma pressão de 0,28 Kgf/cm2. Parte da Nafta produzida é bombeada como refluxo com objetivo de retificar os produtos da torre. 47 Figura 3.1 Fluxograma da planta virtual Pelo topo da torre T-2 de diesel sai hidrocarbonetos vaporizados, retornando para torre T-1 (fracionadora), entrando abaixo da bandeja nº 6. A carga térmica necessária ao processo de retificação do diesel é fornecida pelo refervedor. Parte do produto de fundo da torre de retificação do diesel circula pelo refervedor, entrando com 245ºC e saindo com 256ºC, onde é vaporizada parcialmente retornando à T-1 na seção de esgotamento, abaixo da bandeja nº 6. O diesel, produto de fundo da torre retificadora, é retirado através da bomba e enviado para armazenamento caso o ponto 85% ASTM esteja dentro do especificado pela ANP. 3.2 FLUXO DE DADOS DA PLANTA VIRTUAL COM O BANCO DE DADOS A Figura 3.2 apresenta o fluxo de dados, a planta virtual foi configurada para ser executada a cada minuto, sendo a interface criada (ver ANEXO B) responsável pela troca de dados entre o simulador Petrox e o banco de dados PI – Plant Information. Os dados de uma planta real similar a planta virtual enontravam-se no mesmo servidor, permitindo à interface alimentar o simulador com dados práticos. A 48 interface construída também recebe os resultados gerados pelo simulador e armazena em um servidor. Têm-se duas interfaces disponíveis para consulta e análise dos dados, o DataLink que é um suplemento do excel para uso de planilha eletrônica e o Process Book que é uma interface gráfica, ambas de propriedade da Osisoft. Figura 3.2 Fluxo de dados da planta virtual e o Servidor PI A vantagem desta arquitetura, é a possibilidade de usar dados oriundos de uma planta real através de um servidor OPC permitindo a comunicação com um Sistema de Supervisão e Aquisição de Dados, SCADA com um servidor PI e através da interface PI-PETROX enviar e receber dados da planta virtual. 3.3 COLETA E ANÁLISE DOS DADOS COLETADOS Os primeiros passos no processo de desenvolvimento de uma inferência são a coleta de dados relativos ao problema e a sua separação de um conjunto de variáveis correlacionadas para encontrar uma expressão que represente essa correlação. Esta tarefa requer uma análise cuidadosa sobre o problema para minimizar ambigüidades e erros nos dados. Além disso, os dados coletados devem ser significativos e cobrir amplamente o domínio do problema; não devem cobrir apenas as operações normais ou rotineiras, mas também as exceções e as 49 condições nos limites do domínio do problema. Normalmente, os dados coletados de uma planta real tendem a ficar próximos do ponto operacional o que dificulta a generalização da expressão. Os dados usados nesse projeto, foram produzidos por 2881 simulações da planta virtual com pequenas modificações nas variáveis de entradas garantindo a convergência do simulador. A Tabela 3.1 apresenta as correlações entre as variáveis usadas no fluxograma da planta virtual, onde destaca-se com preenchimento na cor verde as maiores correlações entre as variáveis de processo e o ponto 85% ASTM do diesel determinado pelo simulador. Tabela 3.1 Correlação entre variáveis TI_4 TI_5 TI_1 TI_2 FI_2 FI_1 PI_1 PI_3 PI_2 AI_ASTM_85.PTX TI_4 1,000000 0,062127 -0,018588 0,312445 0,197830 -0,549400 -0,494193 -0,515347 -0,204539 0,941893 TI_5 0,062127 1,000000 0,789120 0,116648 -0,067177 0,307219 0,037038 0,110900 -0,114599 -0,058698 TI_1 -0,018588 0,789120 1,000000 0,128420 -0,252571 0,412627 0,204048 0,325325 -0,010040 -0,197137 TI_2 0,312445 0,116648 0,128420 1,000000 0,006365 -0,362080 -0,100085 -0,102784 0,334837 0,279064 FI_2 0,197830 -0,067177 -0,252571 0,006365 1,000000 -0,333285 -0,432176 -0,474689 -0,332355 0,470476 FI_1 -0,549400 0,307219 0,412627 -0,362080 -0,333285 1,000000 0,661318 0,724952 0,097411 -0,635508 PI_1 -0,494193 0,037038 0,204048 -0,100085 -0,432176 0,661318 1,000000 0,910509 0,560776 -0,564187 PI_3 -0,515347 0,110900 0,325325 -0,102784 -0,474689 0,724952 0,910509 1,000000 0,559667 -0,613624 PI_2 -0,204539 -0,114599 -0,010040 0,334837 -0,332355 0,097411 0,560776 0,559667 1,000000 -0,275216 AI_ASTM_85.PTX 0,941893 -0,058698 -0,197137 0,279064 0,470476 -0,635508 -0,564187 -0,613624 -0,275216 1,000000 50 4 RESULTADOS E DISCUSSÃO Este capítulo tem como objetivo comentar e discutir as simulações realizadas para determinar a inferência do ponto 85% da curva de destilação ASTM D-86 do diesel. Os gráficos de dispersão foram elaborados através do software statistica da StatSoft com a mesma tabela de dados usada para encontrar as correlações. O software fornece o gráfico de dispersão em azul e uma reta em vermelho para a regressão linear entre as variáveis. 4.1 CORRELAÇÕES LINEARES IDENTIFICADAS A Figura 4.1 apresenta o gráfico de dispersão entre a temperatura de diesel não especificado na entrada da torre retificadora TI_4 e o ponto 85% ASTM. Os pontos em azul no gráfico, representa o resultado do ponto 85% calculado pelo PETROX e a reta em vermelho a regressão linear calculada para a base de dados em estudo. 51 Figura 4.1 Gráfico de tendência a TI_4 x AI_85%ASTM.PTX O TI_4 e o AI_85% apresentam uma forte correlação diretamente proporcional o que comprova o entendimento operacional que, quanto maior a temperatura têm-se mais partículas pesadas o que eleva a temperatura do ponto 85%. O TI_052 é uma ótima indicação da qualidade do diesel produzido na torre T-2 e por isso de máxima importância na operação da planta. A Figura 4.2 apresenta o gráfico de dispersão entre a temperatura no topo da torre fracionadora TI_2 e o ponto 85% ASTM. A correlação é diretamente proporcional. Uma correlação R=0,279 é considerada fraca e não se usa essa variável na inferência do ponto 85%. A temperatura no topo da torre T-1 está fortemente relacionada com a qualidade da Nafta produzida, mas baixa correlação com a qualidade da corrente de saída do prato 12 que nosso ponto de interesse. 52 Figura 4.2 Gráfico de tendência TI_050 x AI_85%ASTM.PTX A Figura 4.3 apresenta o gráfico de dispersão entre a pressão abaixo do prato de retirada para a torre 2 PI_3 e o ponto 85% ASTM. A correlação é inversamente proporcional, pois com um aumento da pressão, menos partículas serão vaporizadas. Figura 4.3 Gráfico de tendência PI_3 x AI_85%ASTM.PTX 53 A Figura 4.4 apresenta o gráfico de dispersão entre a vazão do refluxo circulante FI_1 e o ponto 85% ASTM. A correlação é inversamente proporcional, pois com um aumento da vazão, maior será a corrente fria na torre, aumentando a condensação de vapores pesados que tendem a subir a torre. Refluxo é o líquido que flui no sentido descendente, contracorrente com os vapores ascendentes, no interior de uma fracionadora. O refluxo controla a temperatura do topo da torre e, conseqüentemente, controla o produto. É fator de maior importância na eficiência de separação. A vazão de refluxo deveria ser a variável manipulada para o controle da temperatura de topo e conseqüentemente o controle da composição do produto. Figura 4.4 Gráfico de tendência FI_1 x AI_85%ASTM.PTX O coeficiente de determinação múltipla, também conhecido por R², é uma medida de ajustamento de um modelo estatístico linear generalizado, como a Regressão linear, em relação aos valores observados. O R² varia entre 0 (zero) e 1 (um), indicando o quanto o modelo consegue explicar os valores observados entre as variáveis. Quanto mais próximo de 1 (um) é R², mais explicativo é o modelo e melhor ele se ajusta à amostra. Desta forma, foram geradas expressões lineares de 1º grau combinando as variáveis que apresentaram as maiores correlações com o Ponto 85% ASTM. 54 Tabela 4.1 Correlação entre as principais variáveis e o Ponto 85% ASTM Item Regressão de Ponto 85% ASTM: AI_ASTM_85.PTX R R² 1 - 3,0840 + 1,3347 * TI_4 0,9419 0,8871 2 13,7315 + 3,1486* TI_2 0,2791 0,0779 3 382,8617 – 1,0167 * FI_1 0,6355 0,4039 4 465,9029 – 171,9479 * PI_3 0,6136 0,3765 5 205,425+2,463*TI_2-165,660*PI_3 0,6508 0,4236 6 42,0050 + 1,2030 * TI_4 - 0,2704 * FI_1 0,9524 0,9071 7 65,3475 + 1,2071 * TI_4 - 48,9234 * PI_3 0,9537 0,9095 8 68,2707 + 1,1751 * TI_4 - 0,1513 * FI_1 - 32,9791 * 0,9557 0,9134 PI_3 4.2 CORRELAÇÕES NÃO-LINEARES Na busca de encontrar correlações maiores entre as variáveis de processo e a temperatura de vaporização de 85% do diesel, considerando as não linearidades existentes entre as mesmas, realizamos ajustes nas correlações considerando uma potência da variável independente. A Figura 4.5 apresenta o gráfico de dispersão entre a temperatura de diesel não especificado na entrada da torre retificadora elevada a uma potência e o ponto 85% ASTM. Os pontos em azul no gráfico representa o resultado do ponto 85% calculado pelo Petrox e a reta em vermelho a regressão não linear calculada para a base de dados em estudo. 55 Figura 4.5 Gráfico de tendência TI_4 NL x AI_85%ASTM.PTX O TI_4 não linear e o AI_85% apresentam uma forte correlação diretamente proporcional e apresenta resultado similar ao encontrado por regressão linear visto na Figura 4.1. A Figura 4.6 apresenta o gráfico de dispersão entre a temperatura de diesel não especificado na entrada da torre retificadora elevada a uma potência e o ponto 85% ASTM. A correlação é diretamente proporcional. Uma correlação R=0,2791 é considerada fraca e não usaremos essa variável na inferência do ponto 85%. 56 Figura 4.6 Gráfico de tendência TI_2_NL x AI_85%ASTM.PTX A Figura 4.7 apresenta o gráfico de dispersão entre a temperatura de diesel não especificado na entrada da torre retificadora elevada a uma potência e o ponto 85% ASTM. Os pontos em azul no gráfico representa o resultado do ponto 85% calculado pelo Petrox e a reta em vermelho a regressão não linear calculada para a base de dados em estudo. A correlação é inversamente proporcional, pois com um aumento da vazão, maior será a corrente fria na torre, aumentando a condensação de vapores pesados que tendem a subir a torre. 57 Figura 4.7 Gráfico de tendência FI_1_NL x AI_85%ASTM.PTX A Figura 4.8 apresenta o gráfico de dispersão entre a temperatura de diesel não especificado na entrada da torre retificadora elevada a uma potência e o ponto 85% ASTM. Os pontos em azul no gráfico representa o resultado do ponto 85% calculado pelo Petrox e a reta em vermelho a regressão não linear calculada para a base de dados em estudo. A correlação é inversamente proporcional, pois com um aumento da pressão, menos partículas serão vaporizadas. 58 Figura 4.8 Gráfico de tendência PI_3_NL x AI_85%ASTM.PTX Por fim, foi gerada uma tabela com as expressões não-lineares com o valor do coeficiente de determinação múltipla para auxiliar na comparação de quais expressões melhor estimam o ponto 85% ASTM. Tabela 4.2 Correlações não-lineares Item Regressão de Ponto 85% ASTM: AI_ASTM_85.PTX R R² 1 0,9420 0,8873 2 0,2791 0,0779 3 0,6340 0,4019 4 0,6120 0,3745 5 0,9562 0,9142 6 0,9610 0,9235 59 A coleta das variáveis de uma planta em operação trás uma limitação, pois em condições normais as variáveis de processo têm uma pequena variação, e por questões operacionais, não se pode perturbá-la, pois se corre o risco de tirar o produto de especificação. Tentou-se solucionar essa limitação, escolhendo entre os dados aqueles com maior variação. Outra dificuldade prática foi a falta de sincronismo entre os dados de processo da planta real com o resultado da análise de laboratório, impossibilitando a calibração da planta virtual. Os horários das amostras enviadas para o laboratório não correspondiam aos horários das variáveis de processo da planta real no banco de dados, impossibilitando encontrar uma correlação confiável entre as variáveis. Considerando os resultados apresentados na Tabela 4.1 onde constatou-se que o somente o TI_4 explica 88,71% do ponto 85% do diesel passamos a utilizar essa temperatura em todos os modelos. Mesmo com a temperatura constante podese ter uma variação na qualidade do produto em função da pressão ou de outros componentes. A inferência 6 da Tabela 4.1 usando o TI_4 e FI_1 esclarece 90,71% do teor 85%, enquanto o modelo 7 utilizando o TI_4 e PI_3 explica 90,95% e modelo 8 com as variáveis TI_4, FI_1 e PI_3 explica 91,34%. A Figura 4.9 apresenta o gráfico de tendência com 250 dados usados para validação dos modelos. Verificou-se que todos os modelos acompanham a tendência dos resultados do ponto 85% calculado pelo PETROX e que podem ser usados para monitoração e/ou controle da qualidade do diesel. 60 Figura 4.9 Gráfico comparativo das inferências com AI_85%ASTM.PTX Como o objetivo desta regressão é encontrar um modelo simples (relativamente poucos parâmetros) e que ao mesmo tempo ofereça aderência aos dados, pode-se escolher a estimativa do Ponto 85% ASTM através da expressão utilizando a temperatura e a vazão de refluxo uma vez que a pressão no topo da torre não é uma variável normalmente manipulada pela operação. A Figura 4.10 apresenta o gráfico de tendência com 250 dados usados para validação dos modelos, comparando os modelos lineares e não lineares. Foi considerado a temperatura do diesel não especificado TI_4 e a vazão de refluxo FI_1 como variáveis independentes dos modelos. Verificamos que tanto o modelo linear como não linear acompanham a tendência dos resultados do ponto 85% calculado pelo PETROX e que podem ser usados para monitoração e/ou controle da qualidade do diesel. 61 Figura 4.10 Gráfico comparativo da inferência linear e não linear com AI_85%ASTM.PTX Resultados mais precisos certamente poderão ser obtidos com uma excursão mais longa das variáveis de processo, conseguida através de simuladores de processo calibrados onde se pode variar entrada por vez, permanecendo as demais variáveis constantes e observando-se o resultado de saída. A arquitetura proposta nesse trabalho mostra os passos básicos para implementação de uma inferência do ponto 85% do diesel e que pode ser utilizados para inferir a qualidade de produtos de uma forma geral. 62 5 CONCLUSÃO Inferências podem ser desenvolvidas através de diversos métodos, utilizando diferentes tipos de modelos, técnicas de pré-tratamento e validação. A metodologia utilizada representa apenas mais uma alternativa, na busca em ampliar as possibilidades nesse campo da ciência. Somado a isso, a estabilidade de plantas industriais torna os métodos de inferência estatísticas tão confiáveis quantos métodos não lineares. No desenvolvimento do estudo de caso, a etapa da correlação das variáveis percebeu-se a importância do conhecimento do processo para escolha das variáveis relevantes para a inferência. Pois, o custo computacional não seria um obstáculo para a determinação das variáveis presentes na equação. Este trabalho alcançou o objetivo de desenvolver uma ferramenta de inferência com fácil implementação para a indústria de processo de refino de petróleo, capaz de direcionar os operadores a manter a planta mais próxima das especificações exigidas pela ANP para a qualidade do diesel, antes de receber o resultado definitivo do laboratório. 5.1 SUGESTÕES PARA TRABALHOS FUTUROS Visando a continuidade do estudo, há uma série de pontos neste trabalho que dão margem para desenvolvimentos posteriores, avanços e melhorias que podem ser realizadas, como: Fazer um estudo comparativo com outros métodos, como PLS, PCA e Redes Neurais Artificias. Podem-se obter resultados mais precisos utilizando simuladores dinâmicos e profissionais com conhecimentos em processo industrial para calibrar os simuladores e torna-los semelhantes a plantas reais. 63 REFERÊNCIAS BIBLIOGRÁFICAS AGUIRRE, Luís Antônio. INTRODUÇÃO À IDENTIFICAÇÃO DE SISTEMAS: Técnicas Lineares e Não-Lineares Aplicadas a Sistemas Reais. 3ª ed. Belo Horizonte: UFMG, 2007. BRASIL, Nilo Indio do. Destilação de Petróleo. 5ª ed. Rio de Janeiro, 2005. BRASIL, Nilo Indio do; ARAÚJO, Maria Adelina Santos; SOUSA, Elisabeth Cristina Molina de. Processamento de petróleo e gás: petróleo e seus derivados; processamento primário; processos de refino; petroquímica; meio ambiente. Rio de Janeiro: Livros Técnicos e Científicos, 2012. FARAH, Marco Antônio. Petróleo e seus derivados: definição, constituição, aplicação, especificações e características de qualidade. Rio de Janeiro: Livros Técnicos e Científicos, 2012. FLECK, T. D. Nova Metodologia para Desenvolvimento de Inferências Baseadas em Dados. 2012. 90f. Dissertação (Mestrado) – PPGEQ, UFRGS, Porto Alegre, 2012. FREITAS, K. P. Ferramentas estatísticas para monitoramento de modelos inferenciais. 2009. 114f. Dissertação (Mestrado) – COPPE, UFRJ, Rio de Janeiro, 2009. LIMA, M. F. Projeto e implementação de sistema baseado em Redes Neurais para inferência de pentano em uma torre de destilação. 2001. Dissertação (Mestrado) – PPGEEC, UFRN, 2001. OLIVEIRA, L. A. Probabilidade e Estatística para Engenheiros. 1999, UFSCar, São Paulo. 64 Resolução ANP Nº 65, 9 de Dezembro de 2011: Regulamenta as especificações do óleo diesel de uso rodoviário. Retificada no DOU em 12/12/2011. SILVESTRE, D. S. Inferência da Curva de Destilação ASTM da Destilação Atmosférica para Controle Avançado. 2005. 109f. Monografia. UFSC, Florianópolis, 2005. ZANATA, D. R. P. Desenvolvimento de sensor virtual empregando redes neurais para medição da composição em uma coluna de destilação. 2005. 229f. Dissertação (Mestrado) – Departamento de Engenharia de Telecomunicações e Controle, Universidade de São Paulo. São Paulo, 2005. 65 ANEXO A Plant Information System ™ PI System ™ é um Conjunto de programas baseados na arquitetura Cliente/Servidor da OSIsoft, projetados para automatizar completamente a COLETA, o ARMAZENAMENTO e a APRESENTAÇÃO de informações da planta e/ou processo. O PI System ™ traz todos os dados operacionais para um único sistema e oferece essa informação aos usuários em todos os níveis da empresa - desde o chão de fábrica até o nível corporativo. O PI System mantém os dados críticos de negócios sempre online e disponíveis em um banco de dados de séries temporais. Os usuários clientes em outros computadores podem obter dados do PI Server e exibi-lo com ferramentas clientes (por exemplo, PI ProcessBook, PI DataLink para Excel). O PI Server é o coração do seu sistema de PI, ele recebe e disponibiliza os dados em tempo real para toda a empresa tornando possível que todos possam trabalhar a partir de um conjunto comum de dados em tempo real. A figura A.1 apresenta uma arquitetura básica com interfaces redundantes comunicando com supervisórios e/ou CLPs através de interfaces OPC e enviando os dados coletados para um PI Server (HA) redundante de alta disponibilidade. A arquitetura de alta disponibilidade (HA) usada funciona em dois computadores que são automaticamente sincronizados e agi como um servidor PI lógico, chamado de servidor PI coletivo. Esses computadores podem ser geograficamente dispersos. 66 Figura A.1 – Arquitetura Básica do PI Fluxo de Dados Um dado passa por dois testes antes de ser armazenado no PI Archives: o teste de exceção e o teste de compressão conforme figura A.2. Figura A.2 – Fluxo de Dados Teste de Exceção O teste de exceção é realizado na interface. O valor instantâneo atual é comparado com o valor anterior e verificado se está dentro da faixa ± ExcDev (Desvio de Exceção) ou pelo tempo máximo decorrido da última exceção violada conforme figura A.3. Figura A.3 – Teste de Exceção O teste de exceção é, basicamente, uma forma de filtrar os dados. Novos valores fora da caixa violam o teste de exceção e tanto o valor atual quanto o anterior são enviados para o servidor de PI. A figura A.4 mostra graficamente os valores recebidos e da aplicação do teste de exceção. 67 Figura A.4 – Teste de Exceção Teste de Compressão O teste de compressão é feito no nível do servidor. O algoritmo de compressão determina qual valor do snapshot será armazenado. Quando recebe um novo dado, o anterior é avaliado de acordo com as especificações de compressão para ver se é um evento significativo. Se assim for, ele é enviado para a fila de evento. Se não, ele é descartado. Este processo é chamado de compressão. O ponto de teste de compressão é para armazenar apenas os dados suficientes para reproduzir com precisão o sinal original. O método de compressão é chamado de swinging door compression e é executado no PI Server. O algoritmo consiste em um paralelogramo que se estende entre o último valor registrado e o novo valor, com uma largura igual a duas vezes o desvio de compressão especificado conforme figura A.5. Quando um novo valor entre o último evento arquivado e o valor atual está fora do paralelogramo, ele viola o teste de compressão. Neste caso, o valor anterior ao atual será arquivado. Figura A.5 – Teste de Compressão Observação: foram desligados os algoritmos de compressão e exceção de todas as variáveis usadas na inferência do ponto 85% ASTM. ANEXO B 68 Rotina para troca de dados entre o PI e o Petrox /* ----------------------------------------------------------------------------Programa para troca de dados entre o PI e Petrox ----------------------------------------------------------------------------Include Microsoft header files */ #include <string> /* * Include Petrox Tempo Real e PI */ #include "piapi.h" #include "petroxtr.h" /* * Define o número máximo de variaveis lidas e/ou escritas no PI */ #define NVAR_ENT_PI 34 #define NVAR_SAI_PI 2 /* * Define o número máximo de variaveis lidas e/ou escritas no Petrox */ #define NVAR_ENT_PTR 34 #define NVAR_SAI_PTR 2 /* * Declaração da struct de dados para o PI */ typedef struct { int pontoPi; // Ponto no PI float valor; char tag[50]; // Tag do instrumento } PONTO_PI; using namespace std; /*=========================================================== * Variaveis Globais *=========================================================== * Estrutura de dados constantes para inicialização do PetroxTR */ constPetroxTR cstPetroxTR; /* * Estrutura de valores de processo */ varPetroxTR vpPetroxTR; 69 /* * Informações de processo provenientes do PI */ PONTO_PI VariavelProcesso_E[NVAR_ENT_PI]; PONTO_PI VariavelProcesso_S[NVAR_SAI_PI]; float valor_Anterior[NVAR_SAI_PI]; /* * Horário de execução */ char timestring[20]; /* * Bias Laboratório x Petrox (Valor inicial: 1.78) */ float bias; /* * Configuração do servidor PI */ char procname[] = "Nome_Servidor_PI"; char procname_1[] = "IP do Servidor PI primário"; char procname_2[] = "IP do Servidor PI secundário"; /* * Protótipo das funções */ void escreve_Dados_Processo(); void inicializa_PI(); void inicializa_Petrox(); int le_Dados_Processo(); void valor_PI_PTR(); void valor_PTR_PI(); /*-----------------------------------------------------------------------* * FUNCÃO: main() * PROPÓSITO: Ler e escrever os dados em arquivo, verificar os dados lidos * e executar o Petrox * RETORNO: NENHUM *-----------------------------------------------------------------------*/ void main () { int i; int ret; /* * Informa o diretório de execução */ 70 system("cd"); /* * Chama a rotina de inicialização das variáveis de processo lidas do PI. * Nesta rotina são definidos o tag, ponto no PI e descritor */ inicializa_PI(); /* * Realiza a leitura dos dados */ ret = le_Dados_Processo(); if(ret) { /* * Define alguns parâmetros usados pelo PetroxTR */ cstPetroxTR.nMaxEntrada = NVAR_ENT_PTR; // Número de variáveis de entrada cstPetroxTR.nMaxSaida = NVAR_SAI_PTR; // Número de variáveis de saída cstPetroxTR.imprimeDados = 1; // Habilita ou não a impressão dos dados de entrada vpPetroxTR.execRelato = 1; // Habilita ou não a escrita mínima do TAPE76 vpPetroxTR.imprimeSaida = 1; // Habilita ou não a impressão na tela DOS vpPetroxTR.partidaQuente = 1; // Habilita ou não a partida a quente // Diretório e nome do arquivo Petrox cstPetroxTR.nomeArquivoPetrox = "C:\\PetroxTR\\arquivo.px"; /* * Chama a rotina de inicialização do PetroxTR */ if (iniciaPetroxTR(&cstPetroxTR, &vpPetroxTR)) { printf ("\nNão foi possível alocar memória. Programa terminado !!!"); exit(0); } /* * Chama a rotina de inicialização do Petrox. Nesta rotina são definidos * os descritores */ inicializa_Petrox(); /* * Passa os valores lidos do PI para o PetroxTR */ valor_PI_PTR(); 71 /* * Chama a rotina de cálculo do PetroxTR */ if (PetroxTR(cstPetroxTR.nMaxEntrada, cstPetroxTR.nMaxSaida, &vpPetroxTR)) { /* * Não convergiu !?!?!?!?!? Assume o valor anterior para não convergência. Máximo de 10 variáveis */ for (i=0; i<NVAR_SAI_PTR; i++) vpPetroxTR.valorSaida[i] = valor_Anterior[i]; } /* * Passa os valores calculados do PetroxTR para o PI */ valor_PTR_PI(); /* * Realiza o tratamento dos dados */ verifica_Ajusta_Saida(); /* * Desaloca a memória utilizada pelo PetroxTR */ finalizaPetroxTR(); } else { /* * Assume o valor de erro na leitura de dados */ for (i=0; i<NVAR_SAI_PI; i++) VariavelProcesso_S[i].valor = valor_Anterior[i]; } /* * Envia os resultados para o PI */ escreve_Dados_Processo(); } /* ----------------------------------------------------------------------------Função: escreve_Dados_Processo Realiza a escrita dos dados de processo calculados no arquivo ----------------------------------------------------------------------------*/ void escreve_Dados_Processo() { int i; int32 PIPTR istat; 72 int32 len=20; int32 PIPTR privilegio; int32 ret; int32 PIPTR timedate = 0; char username[] = "Usuário"; char senha[] = "senha"; /* * Estabelece a conexão com o PI */ ret = piut_connect (procname_1); if (!ret) printf ("\n\nComunicacao para escrita estabelecida com o servidor PI Nome Servidor Primário - IP: do Servidor PI primário!!!\n\n"); else { ret = piut_connect (procname_2); if (!ret) printf ("\n\nComunicacao para escrita estabelecida com o servidor PI Nome Servidor Secundário - IP: do Servidor PI Secundário !!!\n\n"); else { printf ("\n\nNão foi possível estabelecer comunicacao de escrita com qualquer servidor PI. Programa terminado !!!\n\n"); exit(0); } } /* * Realiza o login no PI para obter permissão de escrita */ ret = piut_login (username, senha, &privilegio); /* * Escreve o resultado no PI */ istat = 0; for (i=0; i<NVAR_SAI_PI; i++) { ret = pisn_putsnapshot (VariavelProcesso_S[i].pontoPi, VariavelProcesso_S[i].valor, istat, timedate); if (ret) printf ("Não foi possível escrever a variável: %s\n", VariavelProcesso_S[i].tag); } /* * Termina a conexão com o PI */ piut_disconnect (); } 73 /* ----------------------------------------------------------------------------Função: inicializa_Petrox Realiza a inicialização dos descritores ----------------------------------------------------------------------------*/ void inicializa_Petrox() { /*=========================================================== * Definição das Variaveis de Processo *=========================================================== * * Define o valor e o descritor das variáveis de entrada * * Vazão de óleo cru B01A/B (FI-004) #1 */ vpPetroxTR.descritorEntrada[0] = "S.RGNT.VAZ_VOL_L20C{25,m3/h}"; /* * Temperatura de óleo da estocagem (TI-022) #2 */ vpPetroxTR.descritorEntrada[1] = "S.RGNT.TEMPERATURA{17,Celsius}"; /* * Pressão de óleo da estocagem (PI-002) #3 */ vpPetroxTR.descritorEntrada[2] = "S.RGNT.PRESSAO{15,kgf/cm2 man}"; /* * Vazão de BSW nas B01A/B (FI-004.F_PTX) #4 */ vpPetroxTR.descritorEntrada[3] = "S.BSW .VAZ_VOL_L20C{25,m3/d}"; /* * Temperatura de óleo da estocagem (TI-022) #5 */ vpPetroxTR.descritorEntrada[4] = "S.BSW .TEMPERATURA{17,Celsius}"; /* * Pressão de óleo da estocagem (PI-002) #6 */ vpPetroxTR.descritorEntrada[5] = "S.BSW .PRESSAO{15,kgf/cm2 man}"; /* * Temperatura de óleo da estocagem (TI-022) #7 */ 74 vpPetroxTR.descritorEntrada[6] = "M.BSW .TEMPERATURA{17,Celsius}"; /* * Pressão de óleo da estocagem (PI-002) #8 */ vpPetroxTR.descritorEntrada[7] = "M.BSW .PRESSAO{15,kgf/cm2 man}"; /* * Temperatura de óleo da estocagem (TI-022) #9 */ vpPetroxTR.descritorEntrada[8] = "M.N2 .TEMPERATURA{17,Celsius}"; /* * Pressão de óleo da estocagem (PI-002) #10 */ vpPetroxTR.descritorEntrada[9] = "M.N2 .PRESSAO{15,kgf/cm2 man}"; /* * Pressão na saída das B01A/B (PI-007) #11 */ vpPetroxTR.descritorEntrada[10] = "M.B1 .PRESSAO{15,kgf/cm2 man}"; /* * Vazão de água abrandada (FI-002) #12 */ vpPetroxTR.descritorEntrada[11] = "S.AGPD.VAZ_VOL_L20C{25,m3/d}"; /* * Temperatura de óleo no P04B (TI-005) #13 */ vpPetroxTR.descritorEntrada[12] = "S.AGPD.TEMPERATURA{17,Celsius}"; /* * Pressão na entrada das B01A/B (PI-001) #14 */ vpPetroxTR.descritorEntrada[13] = "S.AGPD.PRESSAO{15,kgf/cm2 man}"; /* * Temperatura de óleo da estocagem (TI-022) #15 */ vpPetroxTR.descritorEntrada[14] = "S.N2 .TEMPERATURA{17,Celsius}"; /* * Pressão de óleo da estocagem (PI-002) #16 */ vpPetroxTR.descritorEntrada[15] = "S.N2 .PRESSAO{15,kgf/cm2 man}"; /* * Pressão diferencial entre PI015 e PI027 #17 */ 75 vpPetroxTR.descritorEntrada[16] = "M.LT .DPRES{36,kgf/cm2}"; /* * Vazão de água abrandada (FI-003) #18 */ vpPetroxTR.descritorEntrada[17] = "S.AGDE.VAZ_VOL_L20C{25,m3/d}"; /* * Temperatura de óleo no P04B (TI-005) #19 */ vpPetroxTR.descritorEntrada[18] = "S.AGDE.TEMPERATURA{17,Celsius}"; /* * Pressão na entrada das B01A/B (PI-001) #20 */ vpPetroxTR.descritorEntrada[19] = "S.AGDE.PRESSAO{15,kgf/cm2 man}"; /* * Temperatura de óleo no P04B (TI-005) #21 */ vpPetroxTR.descritorEntrada[20] = "M.BAT1.TEMPERATURA{17,Celsius}"; /* * Pressão na entrada das B01A/B (PI-001) #22 */ vpPetroxTR.descritorEntrada[21] = "M.BAT1.PRESSAO{15,kgf/cm2 man}"; /* * Temperatura na DL01B (TI-007) #23 */ vpPetroxTR.descritorEntrada[22] = "M.MDES.TEMPERATURA{17,Celsius}"; /* * Pressão na entrada das B01A/B (PI-001) #24 */ vpPetroxTR.descritorEntrada[23] = "M.MDES.PRESSAO{15,kgf/cm2 man}"; /* * Pressão diferencial entre PI007 e PI008 #25 */ vpPetroxTR.descritorEntrada[24] = "M.BAT2.DPFRIO{15,kgf/cm2 man}"; /* * Temperatura no P08B (TI-011) #26 */ vpPetroxTR.descritorEntrada[25] = "M.BAT2.ESPEC[1]{17,Celsius}"; /* * Carga Térmica (QI-031) #27 */ 76 vpPetroxTR.descritorEntrada[26] = "M.TATM.PUMPA_CALOR{34,MMkcal/h}"; /* * Temperatura gás residual na saída do V01 (TI-057) #28 */ vpPetroxTR.descritorEntrada[27] = "M.TATM.ESPEC[1]{17,Celsius}"; /* * Temperatura de topo da T01 (TI-050) #29 */ vpPetroxTR.descritorEntrada[28] = "M.TATM.ESPEC[2]{17,Celsius}"; /* * Vazão de querosene (FI-001A) #30 */ vpPetroxTR.descritorEntrada[29] = "M.TATM.ESPEC[3]{25,m3/h}"; /* * Vazão de diesel para P13 (FI-010) #31 */ vpPetroxTR.descritorEntrada[30] = "M.TATM.ESPEC[4]{25,m3/h}"; /* * Carga Térmica da stripper (QI-033) #32 */ vpPetroxTR.descritorEntrada[31] = "M.TATM.SIDES_CALOR[1]{34,MMkcal/h}"; /* * Temperatura na saída do F01 para T01 (TI-040) #27 */ vpPetroxTR.descritorEntrada[32] = "M.FORN.TEMPERATURA{17,Celsius}"; /* * Pressão na saída do F01 para T01 (PI-015) #28 */ vpPetroxTR.descritorEntrada[33] = "M.FORN.PRESSAO{15,kgf/cm2 man}"; /* ----------------------------------------------------------------------------* Define o descritor da variável de saída ----------------------------------------------------------------------------/* * Ponto ASTM 85 do Diesel na B06 #1 */ vpPetroxTR.descritorSaida[0] = "S.DL .ASTM-D86[85]{17, Celsius}"; /* * Temperatura da panela de Diesel no Petrox #2 */ 77 vpPetroxTR.descritorSaida[1] = "S.DL .TEMPERATURA{17, Celsius}"; } /* ----------------------------------------------------------------------------Função: inicializa_PI Realiza a inicialização das variáveis de processo ----------------------------------------------------------------------------*/ void inicializa_PI() { /*=========================================================== * Definição das Variaveis de Processo * Define as informações necessárias para acesso ao PI (variáveis de entrada) *=========================================================== * * Declaração de variáveis */ size_t len = 50; /* ----------------------------------------------------------------------------* Corrente: RGTN * Vazão de óleo cru B01A/B (FI-004) #1 * Temperatura de óleo da estocagem (TI-022) #2 * Pressão de óleo da estocagem (PI-002) #3 ----------------------------------------------------------------------------*/ VariavelProcesso_E[0].pontoPi = 549; strcpy_s (VariavelProcesso_E[0].tag, len, "Vazão de óleo cru B01A/B"); VariavelProcesso_E[1].pontoPi = 684; strcpy_s (VariavelProcesso_E[1].tag, len, "Temperatura de óleo da estocagem"); VariavelProcesso_E[2].pontoPi = 637; strcpy_s (VariavelProcesso_E[2].tag, len, "Pressão de óleo da estocagem"); /* ----------------------------------------------------------------------------* Corrente: BSW * Vazão de BSW nas B01A/B (FI-004.F_PTX) #4 * Temperatura de óleo da estocagem (TI-022) #5 * Pressão de óleo da estocagem (PI-002) #6 ----------------------------------------------------------------------------*/ 78 VariavelProcesso_E[3].pontoPi = 12584; strcpy_s (VariavelProcesso_E[3].tag, len, "Vazão de BSW nas B01A/B"); VariavelProcesso_E[4].pontoPi = 684; strcpy_s (VariavelProcesso_E[4].tag, len, "Temperatura de óleo da estocagem"); VariavelProcesso_E[5].pontoPi = 637; strcpy_s (VariavelProcesso_E[5].tag, len, "Pressão de óleo da estocagem"); /* ----------------------------------------------------------------------------* Módulo Flash Térmico: BSW * Temperatura de óleo da estocagem (TI-022) #7 * Pressão de óleo da estocagem (PI-002) #8 ----------------------------------------------------------------------------*/ VariavelProcesso_E[6].pontoPi = 684; strcpy_s (VariavelProcesso_E[6].tag, len, "Temperatura de óleo da estocagem"); VariavelProcesso_E[7].pontoPi = 637; strcpy_s (VariavelProcesso_E[7].tag, len, "Pressão de óleo da estocagem"); /* ----------------------------------------------------------------------------* Módulo Flash: N2 * Temperatura de óleo da estocagem (TI-022) #9 * Pressão de óleo da estocagem (PI-002) #10 ----------------------------------------------------------------------------*/ VariavelProcesso_E[8].pontoPi = 684; strcpy_s (VariavelProcesso_E[8].tag, len, "Temperatura de óleo da estocagem"); VariavelProcesso_E[9].pontoPi = 637; strcpy_s (VariavelProcesso_E[9].tag, len, "Pressão de óleo da estocagem"); /* ----------------------------------------------------------------------------* Módulo Bomba: CRUB * Pressão na saída das B01A/B (PI-007) #11 ----------------------------------------------------------------------------*/ VariavelProcesso_E[10].pontoPi = 638; strcpy_s (VariavelProcesso_E[10].tag, len, "Pressão na saída das B01A/B"); /* ----------------------------------------------------------------------------- 79 * Corrente: AGPD * Vazão de água abrandada (FI-002) #12 * Temperatura de óleo no P04B (TI-005) #13 * Pressão na entrada das B01A/B (PI-001) #14 ----------------------------------------------------------------------------*/ VariavelProcesso_E[11].pontoPi = 547; strcpy_s (VariavelProcesso_E[11].tag, len, "Vazão de água abrandada"); VariavelProcesso_E[12].pontoPi = 670; strcpy_s (VariavelProcesso_E[12].tag, len, "Temperatura de óleo no P04B"); VariavelProcesso_E[13].pontoPi = 635; strcpy_s (VariavelProcesso_E[13].tag, len, "Pressão na entrada das B01A/B"); /* ----------------------------------------------------------------------------* Corrente: N2 * Temperatura de óleo da estocagem (TI-022) #15 * Pressão de óleo da estocagem (PI-002) #16 ----------------------------------------------------------------------------*/ VariavelProcesso_E[14].pontoPi = 684; strcpy_s (VariavelProcesso_E[14].tag, len, "Temperatura de óleo da estocagem"); VariavelProcesso_E[15].pontoPi = 637; strcpy_s (VariavelProcesso_E[15].tag, len, "Pressão de óleo da estocagem"); /* ----------------------------------------------------------------------------* Módulo Flash Adiabático: LT * Pressão diferencial entre PI015 e PI027 #17 ----------------------------------------------------------------------------*/ VariavelProcesso_E[16].pontoPi = 12582; strcpy_s (VariavelProcesso_E[16].tag, len, "Pressão diferencial entre PI015 e PI027"); /* ----------------------------------------------------------------------------* Corrente: AGDE * Vazão de água abrandada (FI-003) #18 * Temperatura de óleo no P04B (TI-005) #19 * Pressão na entrada das B01A/B (PI-001) #20 ----------------------------------------------------------------------------*/ VariavelProcesso_E[17].pontoPi = 548; strcpy_s (VariavelProcesso_E[17].tag, len, "Vazão de água abrandada"); VariavelProcesso_E[18].pontoPi = 670; strcpy_s (VariavelProcesso_E[18].tag, len, "Temperatura de óleo no P04B"); 80 VariavelProcesso_E[19].pontoPi = 635; strcpy_s (VariavelProcesso_E[19].tag, len, "Pressão na entrada das B01A/B"); /* ----------------------------------------------------------------------------* Módulo Flash: BAT1 * Temperatura de óleo no P04B (TI-005) #21 * Pressão na entrada das B01A/B (PI-001) #22 ----------------------------------------------------------------------------*/ VariavelProcesso_E[20].pontoPi = 670; strcpy_s (VariavelProcesso_E[20].tag, len, "Temperatura de óleo no P04B"); VariavelProcesso_E[21].pontoPi = 635; strcpy_s (VariavelProcesso_E[21].tag, len, "Pressão na entrada das B01A/B"); /* ----------------------------------------------------------------------------* Módulo Flash: MDES * Temperatura na DL01B (TI-007) #23 * Pressão na entrada das B01A/B (PI-001) #24 ----------------------------------------------------------------------------*/ VariavelProcesso_E[22].pontoPi = 672; strcpy_s (VariavelProcesso_E[22].tag, len, "Temperatura na DL01B"); VariavelProcesso_E[23].pontoPi = 635; strcpy_s (VariavelProcesso_E[23].tag, len, "Pressão na entrada das B01A/B"); /* ----------------------------------------------------------------------------* Módulo Trocador: BAT2 * Pressão diferencial entre PI007 e PI008 #25 * Temperatura no P08B (TI-011) #26 ----------------------------------------------------------------------------*/ VariavelProcesso_E[24].pontoPi = 12583; strcpy_s (VariavelProcesso_E[24].tag, len, "Pressão diferencial entre PI007 e PI008"); VariavelProcesso_E[25].pontoPi = 676; strcpy_s (VariavelProcesso_E[25].tag, len, "Temperatura no P08B"); /* 81 ----------------------------------------------------------------------------* Coluna de Destilação: TATM * Carga Térmica (QI-031) #26 * Temperatura gás residual na saída do V01 (TI-057) #27 * Temperatura de topo da T01 (TI-050) #28 * Vazão de querosene (FI-001A) #29 * Vazão de diesel para P13 (FI-010) #30 * Carga Térmica da stripper(QI-033) #31 ----------------------------------------------------------------------------*/ VariavelProcesso_E[26].pontoPi = 659; strcpy_s (VariavelProcesso_E[26].tag, len, "Carga Térmica"); VariavelProcesso_E[27].pontoPi = 709; strcpy_s (VariavelProcesso_E[27].tag, len, "Temperatura gás residual na saída do V01"); VariavelProcesso_E[28].pontoPi = 1891; strcpy_s (VariavelProcesso_E[28].tag, len, "Temperatura da panela de diesel da T02"); VariavelProcesso_E[29].pontoPi = 577; strcpy_s (VariavelProcesso_E[29].tag, len, "Vazão de querosene"); VariavelProcesso_E[30].pontoPi = 550; strcpy_s (VariavelProcesso_E[30].tag, len, "Vazão de diesel para P13"); VariavelProcesso_E[31].pontoPi = 661; strcpy_s (VariavelProcesso_E[31].tag, len, "Carga Térmica da stripper"); /* ----------------------------------------------------------------------------* Módulo Flash: FATM * Temperatura na saída do F01 para T01 (TI-040) #27 * Pressão na saída do F01 para T01 (PI-015) #28 ----------------------------------------------------------------------------*/ VariavelProcesso_E[32].pontoPi = 663; strcpy_s (VariavelProcesso_E[32].tag, len, "Temperatura na saída do F01 para T01"); VariavelProcesso_E[33].pontoPi = 643; strcpy_s (VariavelProcesso_E[33].tag, len, "Pressão na saída do F01 para T01"); /* 82 ----------------------------------------------------------------------------* Define as informações necessárias para acesso ao PI (variáveis de saída) ----------------------------------------------------------------------------* */ /* * ASTM_85_B06 (AI-B06.ASTM_85) #1 */ VariavelProcesso_S[0].pontoPi = 12580; strcpy_s (VariavelProcesso_S[0].tag, "Ponto 85% ASTM simulado pelo Petrox"); /* * Temperatura panela de diesel (TI-052.PTX) #2 */ VariavelProcesso_S[1].pontoPi = 20984; strcpy_s (VariavelProcesso_S[1].tag, "Temperatura de Diesel simulada pelo Petrox"); } /* ----------------------------------------------------------------------------Função: le_Dados_Processo Realiza a leitura dos dados de processo ----------------------------------------------------------------------------*/ int le_Dados_Processo() { int i; int qualidade = 1; /* * Define o tempo da atraso calculado pela correlação */ int32 ret; int32 PIPTR istat; int32 len=20; int32 PIPTR privilegio; int32 PIPTR timedate; int32 tempo_Atual; // float PIPTR rval; // char username[] = "pidemo"; char senha[] = ""; /* * Estabelece a conexão com o PI 83 */ ret = piut_setdefaultservernode(procname_1); ret = piut_connect (procname_1); if (!ret) printf ("\nComunicacao de leitura estabelecida com o servidor PI nome do Servidor Primário - IP: do Servidor PI primário !!!\n\n"); else { ret = piut_setdefaultservernode(procname_2); ret = piut_connect (procname_2); if (!ret) printf ("\nComunicacao de leitura estabelecida com o servidor PI nome do Servidor Secundário - IP: do Servidor PI secundário !!!\n\n"); else { printf ("\nNão foi possível estabelecer comunicacao de leitura com qualquer servidor PI. Programa terminado !!!\n\n"); exit(0); } } /* * Realiza o login no PI para obter permissão de leitura */ ret = piut_login (username, senha, &privilegio); /* * Lê o tempo atual */ pitm_servertime (&tempo_Atual); pitm_formtime(tempo_Atual, timestring, len); /* * Lê os valores Entrada do processo no PI */ for (i=0; i<NVAR_ENT_PI; i++) { ret = pisn_getsnapshot (VariavelProcesso_E[i].pontoPi, &rval, &istat, &timedate); VariavelProcesso_E[i].valor = rval; if(istat == 0) ret = 0; // Leitura OK! else ret = -9999; teste1 += ret; } /* * Lê os valores de Saída no PI */ for (i=0; i<NVAR_SAI_PI; i++) { 84 ret = pisn_getsnapshot (VariavelProcesso_S[i].pontoPi, &rval, &istat, &timedate); if (istat == 0) valor_Anterior[i] = rval; // Leitura OK! else valor_Anterior[i] = 0.0f; } /* * Termina a conexão com o PI e a função */ piut_disconnect (); return qualidade; } /* ----------------------------------------------------------------------------Função: valor_PI_PTR Realiza a passagem dos valores lidos do PI para o PetroxTR ----------------------------------------------------------------------------*/ void valor_PI_PTR() { /* * Vazão de óleo cru B01A/B (FI-004) #1 */ vpPetroxTR.valorEntrada[0] = VariavelProcesso_E[0].valor; /* * Temperatura de óleo da estocagem (TI-022) #2 */ vpPetroxTR.valorEntrada[1] = VariavelProcesso_E[1].valor; /* * Pressão de óleo da estocagem (PI-002) #3 */ vpPetroxTR.valorEntrada[2] = VariavelProcesso_E[2].valor; /* * Vazão de BSW nas B01A/B (FI-004.F_PTX) #4 */ vpPetroxTR.valorEntrada[3] = VariavelProcesso_E[3].valor; /* * Temperatura de óleo da estocagem (TI-022) #5 */ vpPetroxTR.valorEntrada[4] = VariavelProcesso_E[4].valor; /* * Pressão de óleo da estocagem (PI-002) #6 85 */ vpPetroxTR.valorEntrada[5] = VariavelProcesso_E[5].valor; /* * Temperatura de óleo da estocagem (TI-022) #7 */ vpPetroxTR.valorEntrada[6] = VariavelProcesso_E[6].valor; /* * Pressão de óleo da estocagem (PI-002) #8 */ vpPetroxTR.valorEntrada[7] = VariavelProcesso_E[7].valor; /* * Temperatura de óleo da estocagem (TI-022) #9 */ vpPetroxTR.valorEntrada[8] = VariavelProcesso_E[8].valor; /* * Pressão de óleo da estocagem (PI-002) #10 */ vpPetroxTR.valorEntrada[9] = VariavelProcesso_E[9].valor; /* * Pressão na saída das B01A/B (PI-007) #11 */ vpPetroxTR.valorEntrada[10] = VariavelProcesso_E[10].valor; /* * Vazão de água abrandada (FI-002) #12 */ vpPetroxTR.valorEntrada[11] = VariavelProcesso_E[11].valor; /* * Temperatura de óleo no P04B (TI-005) #13 */ vpPetroxTR.valorEntrada[12] = VariavelProcesso_E[12].valor; /* * Pressão na entrada das B01A/B (PI-001) #14 */ vpPetroxTR.valorEntrada[13] = VariavelProcesso_E[13].valor; /* * Temperatura de óleo da estocagem (TI-022) #15 */ vpPetroxTR.valorEntrada[14] = VariavelProcesso_E[14].valor; /* * Pressão de óleo da estocagem (PI-002) #16 86 */ vpPetroxTR.valorEntrada[15] = VariavelProcesso_E[15].valor; /* * Pressão diferencial entre PI015 e PI027 #17 */ vpPetroxTR.valorEntrada[16] = VariavelProcesso_E[16].valor; /* * Vazão de água abrandada (FI-003) #18 */ vpPetroxTR.valorEntrada[17] = VariavelProcesso_E[17].valor; /* * Temperatura de óleo no P04B (TI-005) #19 */ vpPetroxTR.valorEntrada[18] = VariavelProcesso_E[18].valor; /* * Pressão na entrada das B01A/B (PI-001) #20 */ vpPetroxTR.valorEntrada[19] = VariavelProcesso_E[19].valor; /* * Temperatura de óleo no P04B (TI-005) #21 */ vpPetroxTR.valorEntrada[20] = VariavelProcesso_E[20].valor; /* * Pressão na entrada das B01A/B (PI-001) #22 */ vpPetroxTR.valorEntrada[21] = VariavelProcesso_E[21].valor; /* * Temperatura na DL01B (TI-007) #23 */ vpPetroxTR.valorEntrada[22] = VariavelProcesso_E[22].valor; /* * Pressão na entrada das B01A/B (PI-001) #24 */ vpPetroxTR.valorEntrada[23] = VariavelProcesso_E[23].valor; /* * Pressão diferencial entre PI007 e PI008 #25 */ vpPetroxTR.valorEntrada[24] = VariavelProcesso_E[24].valor; /* * Temperatura no P08B (TI-011) #26 87 */ vpPetroxTR.valorEntrada[25] = VariavelProcesso_E[25].valor; /* * Carga Térmica (QI-031) #27 */ vpPetroxTR.valorEntrada[26] = VariavelProcesso_E[26].valor; /* * Temperatura gás residual na saída do V01 (TI-057) #28 */ vpPetroxTR.valorEntrada[27] = VariavelProcesso_E[27].valor; /* * Temperatura de topo da T01 (TI-050) #29 */ vpPetroxTR.valorEntrada[28] = VariavelProcesso_E[28].valor; /* * Vazão de querosene (FI-001A) #30 */ vpPetroxTR.valorEntrada[29] = VariavelProcesso_E[29].valor; /* * Vazão de diesel para P13 (FI-010) #31 */ vpPetroxTR.valorEntrada[30] = VariavelProcesso_E[30].valor; /* * Carga Térmica da stripper (QI-033) #32 */ vpPetroxTR.valorEntrada[31] = VariavelProcesso_E[31].valor; /* * Temperatura na saída do F01 para T01 (TI-040) #27 */ vpPetroxTR.valorEntrada[32] = VariavelProcesso_E[32].valor; /* * Pressão na saída do F01 para T01 (PI-015) #28 */ vpPetroxTR.valorEntrada[33] = VariavelProcesso_E[33].valor; } /* ----------------------------------------------------------------------------Função: valor_PTR_PI 88 Realiza a passagem dos valores calculados pelo PetroxTR para o PI ----------------------------------------------------------------------------*/ void valor_PTR_PI() { /* * ASTM_85_B06 #1 */ VariavelProcesso_S[0].valor = (float)vpPetroxTR.valorSaida[1]; /* * Temperatura panela diesel #2 */ VariavelProcesso_S[1].valor = (float)vpPetroxTR.valorSaida[3]; }