Apostila_simulink

  • Uploaded by: Daniele Ramos
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Apostila_simulink as PDF for free.

More details

  • Words: 14,374
  • Pages: 89
Loading documents preview...
UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITÉCNICA

MODELAGEM, SIMULAÇÃO E CONTROLE DE SISTEMAS DINÂMICOS CONTÍNUOS ATRAVÉS DO AMBIENTE SIMULINK

Márcio André Fernandes Martins, M.Sc. [email protected]

Salvador-BA Última revisão: 11 de março de 2013.

Lista de Figuras Figura 3:1 - Botão de comando para acesso ao Simulink. ....................................... 11 Figura 3:2 - Janela inicial do Simulink. ..................................................................... 11 Figura 3:3 - Janela para criação de um modelo. ...................................................... 12 Figura 3:4 - Blocos do Simulink referentes ao ícone Commonly Used Blocks. ........ 12 Figura 3:5 - Janela com o bloco Sine Wave. ............................................................ 13 Figura 3:6 - Janela com o bloco Sine Wave e o bloco Integrator. ............................ 13 Figura 3:7 - Janela com os blocos Sine Wave, Integrator e Scope. ......................... 14 Figura 3:8 - Janela com os blocos conectados......................................................... 14 Figura 3:9 - Gráfico após simulação. ........................................................................ 15 Figura 3:10 - Como acessar o help de um bloco. ..................................................... 16 Figura 4:1 - Elementos de um modelo Simulink. ...................................................... 17 Figura 5:1 - Configurações do bloco Integrator. ....................................................... 22 Figura 5:2 - Tanque industrial com descarga succionada por uma bomba centrífuga. ................................................................................................................................. 23 Figura 5:3 - Caixa de diálogo do bloco Fcn. ............................................................. 24 Figura 5:4 - Modelo em Simulink para um tanque industrial com descarga bombeada por bomba centrífuga. .............................................................................................. 25 Figura 5:5 - Caixa de diálogo do bloco Step. ............................................................ 26 Figura 5:6 - Caixa de diálogo do bloco Add. ............................................................. 27 Figura 5:7 - Caixa de diálogo do bloco Product. ....................................................... 27 Figura 5:8 - Nível do tanque no Scope. .................................................................... 28 Figura 5:9 - Nível do tanque no XY Graph................................................................ 28 Figura 5:10 – Dispositivo do termopar submerso no fluido de processo. ................. 29 Figura 5:11 – Modelo de um termopar. .................................................................... 30 Figura 5:12 – Inserção da condição inicial da temperatura do termopar. ................. 31 Figura 5:13 – Comportamento dinâmico da temperatura do termopar. .................... 31 Figura 5:14 - Modelo de um tanque aquecido via função de transferência. ............. 33 Figura 5:15 - Temperatura do tanque aquecido. ...................................................... 33 Figura 5:16 - Vazão de vapor no tanque. ................................................................. 33 Figura 5:17 - Diagrama de blocos de uma malha de controle. ................................. 35

Sumário

[email protected]

2 de 89

Figura 5:18 - Sistema função de transferência com dados de processamento selecionado. ............................................................................................................. 36 Figura 5:19 - Sistema função de transferência após inserção do subsistema. ......... 36 Figura 5:20 - Parte interior do subsistema. ............................................................... 37 Figura 5:21 - Subsistema configurado. ..................................................................... 38 Figura 5:22 - Tela principal de uma máscara. .......................................................... 39 Figura 5:23 – Modelo de um transmissor analógico. ................................................ 40 Figura 5:24 – Modelo do controlado PID. ................................................................. 41 Figura 5:25 – Modelo de uma válvula de controle. ................................................... 42 Figura 5:26 – Modelo em malha fechada. ................................................................ 43 Figura 5:27 – Comando disp e plot para a máscara do transmissor. ....................... 44 Figura 5:28 – Funções utilizadas para a construção da máscara do transmissor. ... 44 Figura 5:29 - Comando disp e plot para a máscara da válvula................................. 45 Figura 5:30 - Funções utilizadas para a construção da máscara da válvula. ........... 45 Figura 5:31 - Modelo em malha fechada após construção das máscaras. ............... 46 Figura 5:32 – Comparação entre o valor da PV com o SP. ...................................... 47 Figura 5:33 – Valor da vazão manipulada após mudança no set-point. ................... 47 Figura 5:34 – Caixa de diálogo do bloco State Space. ............................................. 48 Figura 5:35 – Modelo em espaço de estados de um tanque com bomba. ............... 50 Figura 5:36 – Nível do tanque com bomba através da resposta do bloco espaço de estados. .................................................................................................................... 50 Figura 5:37 - Volume do tanque com bomba através da resposta do bloco espaço de estados. .................................................................................................................... 51 Figura 5:38 - Volume do tanque com bomba através da resposta do bloco espaço de estados. .................................................................................................................... 51 Figura 5:39 – Tanque com descarga por gravidade. ................................................ 51 Figura 5:40 – Modelo de um tanque por gravidade em espaço de estados. ............ 54 Figura 5:41 – Resposta do nível de um tanque por gravidade. ................................ 55 Figura 5:42 – Reator CSTR com descarga por gravidade. ....................................... 55 Figura 5:43 – Código fonte para carregar as matrizes do espaço de estados no Simulink. ................................................................................................................... 58 Figura 5:44 – Matriz do sistema escrita no arquivo tipo.m (Matrizes.m). .................. 59 Figura 5:45 – Matriz de entrada do sistema escrita no arquivo tipo.m (Matrizes.m). 59 Sumário

[email protected]

3 de 89

Figura 5:46 – Matrizes C e D construídas arquivo tipo.m (Matrizes.m). ................... 60 Figura 5:47 - Modelo do reator CSTR usando o bloco State Space. ........................ 60 Figura 5:48 – Inserção das matrizes do modelo espaço de estados no bloco State Space. ...................................................................................................................... 61 Figura 5:49 – Modelo do reator CSTR usando o bloco State Space com máscara.. 61 Figura 5:50 – Modelo CSTR com o bloco Subsystem. ............................................. 62 Figura 5:51 – Comando para link entre um arquivo.M e um arquivo.mdl. ................ 63 Figura 5:52 – Modelo CSTR com máscara............................................................... 63 Figura 5:53 – Dinâmica do nível após perturbação na vazão de vapor. ................... 64 Figura 5:54 - Dinâmica da concentração de A após perturbação na vazão de vapor. ................................................................................................................................. 65 Figura 5:55 - Dinâmica da concentração de B após perturbação na vazão de vapor. ................................................................................................................................. 65 Figura 5:56 - Dinâmica da temperatura após perturbação na vazão de vapor. ........ 66 Figura 5:57 – Inserção do bloco S-Function. ............................................................ 67 Figura 5:58 – Declaração de um arquivo tipo.m para a S-Function.......................... 69 Figura 5:59 – Caixa de dialogo do bloco S-Function. ............................................... 70 Figura 5:60 – Tanque industrial com duas alimentações. ........................................ 71 Figura 5:61 – Arquivo tipo.m para uso da S-Function do tanque com 2 alimentações. ................................................................................................................................. 71 Figura 5:62 – Modelo de um tanque industrial com duas alimentações. .................. 72 Figura 5:63 – Caixa de dialogo da vazão de alimentação 1. .................................... 73 Figura 5:64 - Caixa de dialogo da vazão de alimentação 2. ..................................... 73 Figura 5:65 – Configurando o bloco S-Fucntion. ...................................................... 74 Figura 5:66 – Modelo inserindo os parâmetros do modelo. ...................................... 75 Figura 5:67 – Modelo do tanque com duas alimentações com máscara. ................. 76 Figura 5:68 - Nível do tanque com duas alimentações. ............................................ 76 Figura 5:69 – Vazão de descarga do tanque com duas alimentações. .................... 77 Figura 5:70 - Reator CSTR com um componente inerte no meio reacional. ............ 78 Figura 5:71 – Parte do arquivo reator_CSTR.m referente ao flag igual a 0. ............. 80 Figura 5:72 - Parte do arquivo reator_CSTR.m referente ao flag igual a 1. ............. 80 Figura 5:73 - Parte do arquivo reator_CSTR.m referente ao flag igual a 3. ............. 81 Figura 5:74 – Modelo do reator CSTR com componente inerte. .............................. 82 Sumário

[email protected]

4 de 89

Figura 5:75 – Configuração do bloco S-Function do reator CSTR com componente inerte. ....................................................................................................................... 83 Figura 5:76 – Configuração dos parâmetros do modelo CSTR com componente inerte. ....................................................................................................................... 83 Figura 5:77 - Comportamento dinâmico do nível do reator CSTR com componente inerte. ....................................................................................................................... 85 Figura 5:78 – Comportamento dinâmico da concentração de A do reator CSTR com componente inerte. ................................................................................................... 85 Figura 5:79 - Comportamento dinâmico da concentração de B do reator CSTR com componente inerte. ................................................................................................... 86 Figura 5:80 - Comportamento dinâmico da concentração de C do reator CSTR com componente inerte. ................................................................................................... 86 Figura 5:81 - Comportamento dinâmico da temperatura do reator CSTR com componente inerte. ................................................................................................... 87 Figura 5:82 - Comportamento dinâmico da carga térmica do reator CSTR com componente inerte. ................................................................................................... 87 Figura 5:83 - Comportamento dinâmico da vazão de descarga do reator CSTR com componente inerte. ................................................................................................... 88

Lista de Tabelas Tabela 4:1 - Comandos para manusear os blocos do Simulink................................ 19 Tabela 4:2 - Métodos numéricos do Simulink. .......................................................... 21 Tabela 5:1 – Função dos valores de flag do bloco S-Function. ................................ 67

Sumário

[email protected]

5 de 89

SUMÁRIO Lista de Figuras ......................................................................................................... 2 Lista de Tabelas......................................................................................................... 5 1

Apresentação ............................................................................................ 8

2

Introdução ................................................................................................. 9

3

Conhecendo o ambiente SIMULINK ...................................................... 11

3.1

Acessando o Simulink .............................................................................. 11

3.2

Barra de ferramentas do Simulink ............................................................ 11

3.3

Utilizando o Help do Simulink ................................................................... 15

4

Construção de modelos no SIMULINK ................................................. 17

4.1

Principais elementos de um modelo ......................................................... 17

4.2

Manusear blocos do Simulink. .................................................................. 18

4.3

Métodos Numéricos do Simulink. ............................................................. 18

5

Modelos de sistemas contínuos no tempo........................................... 22

5.1

Modelos lineares....................................................................................... 22

5.1.1

Tanque industrial com descarga succionado por uma bomba ............. 23

5.1.2

Modelo de um termopar ............................................................................ 29

5.1.3

Blocos função de transferência ............................................................... 32

5.1.4

Subsistema e máscaras ............................................................................ 34

5.1.5

Modelo de um sistema de malha de controle ......................................... 34

5.1.6

Bloco modelo em espaço de estados...................................................... 47

5.2

Modelos não-lineares ............................................................................... 66

5.2.1

O bloco S-Function ................................................................................... 66

5.2.2

Tanque Industrial com duas alimentações ............................................. 70

5.2.3

Reator CSTR com componente inerte ..................................................... 77

Sumário

[email protected]

6 de 89

6

Bibliografia .............................................................................................. 89

7

Referências Bibliográficas ..................................................................... 89

Sumário

[email protected]

7 de 89

EP-UFBA

Curso de SIMULINK

1 Apresentação O presente trabalho visa fornecer diretrizes básicas para elaboração de modelos dinâmicos no ambiente Simulink - simulador do software comercial MATLAB® (Matrix Laboratory) - aos pesquisadores, engenheiros e profissionais da área de computação ou aos que trabalham na área de modelagem, simulação e controle de processos. O trabalho é dividido de forma didática, laconicamente configurado da maneira como segue. Inicia-se pelas formas básicas de utilização do Simulink, posteriormente um avanço para construção de modelos lineares e não lineares e, por fim, demonstra-se a utilização/elaboração de máscaras e subsistemas. A título de melhor entendimento, em todas as etapas são utilizados exemplos de fixação de maneira a fornecer melhores esclarecimentos ao leitor. Entenda esse material como uma fonte de ensino, o qual pode ser submetido a várias revisões o quanto for possível e/ou necessário. O autor endossa que sugestões por parte dos leitores são sempre bem-vindas para o aperfeiçoamento deste material. Doravante, o autor deseja que este instrumento de ensino contribua de forma significativa com o aprendizado dos futuros usuários do Simulink. Boa aprendizagem!

Capítulo 1

[email protected]

8 de 89

EP-UFBA

2

Curso de SIMULINK

Introdução

A construção de modelos matemáticos na engenharia química são atividades triviais em quase sua totalidade de atuação. Não obstante, a não linearidade é quase sempre regra nos processos químicos, ou seja, em última análise, esses são sistemas complexos, o que exige do engenheiro elaborações minuciosas na modelagem do processo, de tal modo que se possam compreender melhor os fenômenos físicoquímicos envolvidos nesses processos. À luz do contexto apresentado anteriormente, técnicas de simulação de modelos são também de importância contumaz, assim, a exigência de ferramentas matemáticas robustas podem fornecer uma descrição mais próxima e precisa dos sistemas modelados. Dentro de um contexto prático, duas possíveis opções surgem como auxílio ao engenheiro químico na simulação de processos, a saber: a primeira, é o uso de uma linguagem de programação, e.g. FORTRAN, C, Visual Basic etc.; a segunda, é a busca de um simulador (software comercial) que possa ajudá-lo, de uma maneira mais rápida, na descrição do processo em estudo. Em geral, a primeira opção requer maior dispêndio de tempo e esforço de engenharia - que na maioria dos casos os engenheiros não possuem tal disponibilidade pelo fato de ter outras demandas a serem priorizadas -, o que acaba se tornando inviável essa opção. Por outro lado, na segunda opção a maior dificuldade é encontrar simuladores que descrevam os processos sob o regime transiente, visto que grande parte dos simuladores comerciais descreve os sistemas sob o regime permanente. Sob uma perspectiva de projeto, os simuladores estáticos são de extrema utilidade, entretanto eles se tornam limitantes do ponto de vista operacional (controle) do processo. Neste viés de atuação exigem-se simulações que descrevam o comportamento dinâmico dos processos, pois conhecendo a dinâmica dos processos pode-se melhor projetar seus sistemas de controle e otimização.

Capítulo 2

[email protected]

9 de 89

EP-UFBA

Curso de SIMULINK

Um simulador capaz de fornecer aos engenheiros uma análise dos sistemas dinâmicos, sejam esses lineares ou não lineares, é o simulador do software comercial MATLAB® - Simulink. Esse simulador se aplica a sistemas contínuos, discretos no tempo ou híbridos. Como qualquer outro simulador, ele utiliza uma interface gráfica baseado em diagramas de blocos, em que cada bloco do simulador possui pacotes numéricos que executam funções específicas do mesmo. Os blocos estão localizados em uma biblioteca, agrupados por tipo de característica, tais como: contínuos, discretos, fontes, saídas etc. Uma vantagem adicional do Simulink consiste em sua fácil interação com a linguagem do MATLAB, de tal modo que a execução e a escolha de algoritmos de resolução de modelos podem ser oriundas de menus do Simulink ou de comandos do MATLAB. Além disso, os resultados obtidos da simulação podem ser exportados para o MATLAB - quaisquer variáveis de uma simulação podem ser salvas no Workspace do MATLAB, ou serem salvas em outro formato adequado do software. Portanto, essa ferramenta é muito útil caso haja necessidade de um futuro processamento ou visualização dos dados simulados no MATLAB.

Capítulo 2

[email protected]

10 de 89

EP-UFBA

Curso de SIMULINK

3

Conhecendo o ambiente SIMULINK

3.1

Acessando o Simulink

Para acessar o Simulink, deve-se primeiramente abrir o software Matlab. O Simulink pode ser acessado digitando-se o comando simulink no prompt ou então através de botão específico localizado na barra de ferramentas do Matlab (Figura 3:1). Cada modelo montado no Simulink é salvo em arquivos com a extensão mdl.

Figura 3:1 - Botão de comando para acesso ao Simulink.

3.2

Barra de ferramentas do Simulink

Ao abrir o Simulink, a janela a ser aberta será

Figura 3:2 - Janela inicial do Simulink.

Essa janela mostra a biblioteca do Simulink. Nela, a biblioteca apresenta todos os comandos necessários para criar um modelo. Para criar um modelo, deve-se apertar o botão novo, ou no ícone File na opção New clicando em Model, ou usar o atalho Ctrl + N, onde a janela que aparecerá será (Figura 3:3):

Capítulo 3

[email protected]

11 de 89

EP-UFBA

Curso de SIMULINK

Figura 3:3 - Janela para criação de um modelo.

Nessa janela é onde se cria o modelo que se deseja. Inicialmente essa vem intitulada de untitled, que posteriormente deve mudar de nome até ser salva com o nome que o usuário achar conveniente. Como visto na Figura 3:3, para criação de um modelo, o usuário deve saber quais blocos devem ser utilizados para seu modelo específico. Os blocos estão agrupados por ícones específicos do Simulink, tais como: Continuous, Math Operation, dentre outros. Para ter acesso a esses blocos, deve-se clicar no ícone específico, em que podem ser visualizados os blocos. Um exemplo disso pode ser observado na Figura 3:4.

Figura 3:4 - Blocos do Simulink referentes ao ícone Commonly Used Blocks.

Para criação do modelo, basta arrastar os blocos da biblioteca para a janela do modelo (espaço em branco). Um exemplo de fixação pode ser acompanhado através da criação de um modelo que consiste em obter a integral de uma onda senoidal. Capítulo 3

[email protected]

12 de 89

EP-UFBA

Curso de SIMULINK

Primeiro passo é clicar no ícone Source, arrastar o bloco Sine Wave, ver Figura 3:5:

Figura 3:5 - Janela com o bloco Sine Wave.

Segundo passo é clicar no ícone Continuous, arrastar o bloco Integrator, ver Figura 3:6.

Figura 3:6 - Janela com o bloco Sine Wave e o bloco Integrator.

Terceiro passo é clicar no ícone Sinks, arrastar o bloco Scope, ver Figura 3:7.

Capítulo 3

[email protected]

13 de 89

EP-UFBA

Curso de SIMULINK

Figura 3:7 - Janela com os blocos Sine Wave, Integrator e Scope.

Quarto passo é conectar os blocos, para isso basta arrastar com o mouse as setas de saída de bloco para a entrada do outro bloco, vide Figura 3:8.

Figura 3:8 - Janela com os blocos conectados.

Quinto passo é simular, para isso basta clicar no botão play, ou clicar no ícone Simulation na opção Start, ou usar o atalho Ctrl+T. Feito isso, basta dar um duplo clique no bloco Scope para visualizar o gráfico da simulação, conforme pode ser visualizado na Figura 3:9.

Capítulo 3

[email protected]

14 de 89

EP-UFBA

Curso de SIMULINK

Figura 3:9 - Gráfico após simulação.

Com término da simulação, pode-se salvar o arquivo através do ícone file no local (diretório) desejado do usuário, o modelo será salvo com o nome e extensão mdl, a ser utilizado em outra ocasião. Lembrando que para abri-lo novamente, tal arquivo deve está no diretório do MATLAB. Depois do exemplo mostrado, pode-se constatar que o usuário está habilitado para construir um modelo qualquer de sua preferência. Agora, basta tão somente o usuário realizar muitos outros exemplos (lembre-se: quanto mais praticar, mais habilidade o usuário terá com o software). Além disso, somente com outros exemplos que o usuário conhecerá a funcionalidade dos blocos do Simulink.

3.3

Utilizando o Help do Simulink

O Simulink possui um extensivo sistema de ajuda (help on-line). Os arquivos de help foram desenvolvidos para serem visualizados por navegadores de internet, como Netscape ou Firefox. Uma detalhada documentação on-line para todos os blocos do Simulink está disponível no Block-Browser. Um detalhado help também está disponível clicando no botão help na caixa de diálogo que se abre quando se seleciona Simulation: Parameters na barra de menu. Para se consultar o help sobre um bloco qualquer, deve-se inicialmente dar um clique duplo sobre o bloco desejado. A seguir clica-se no botão help (Figura 3:10) que aparece na caixa de diálogo.

Capítulo 3

[email protected]

15 de 89

EP-UFBA

Curso de SIMULINK

Figura 3:10 - Como acessar o help de um bloco.

Capítulo 3

[email protected]

16 de 89

EP-UFBA

Curso de SIMULINK

4

Construção de modelos no SIMULINK

4.1

Principais elementos de um modelo

Um modelo Simulink consiste num sistema lógico que segue basicamente três tipos de elementos, são estes: as fontes (entradas do modelo), os estados do sistema (o modelo propriamente dito), as saídas do modelo (as variáveis de saídas do modelo). Um fluxo esquemático dessa lógica pode ser visto na Figura 4:1.

Entradas

Modelo: Processamento

Saídas

Figura 4:1 - Elementos de um modelo Simulink.

No Simulink, as entradas do modelo podem ser inseridas através da biblioteca do ícone Sources. As fontes de entrada podem incluir os blocos de constantes, geradores de funções, tais como: números randômicos, senóides, degrau etc. Além disso, as entradas podem ser usadas direto de arquivos gerados do MATLAB, como arquivos com extensão do tipo .m ou .mat. Os blocos referentes às saídas do modelo incluem dispositivos de saídas, tais como: gráficos, osciloscópios, arquivos de saídas, dentre outros. Esses dispositivos são obtidos através do ícone Sink da biblioteca do Simulink. A principal parte do modelo dinâmico trata de componentes que descrevem o sistema propriamente dito – os assim conhecidos como blocos de processamento são que constituem a parte importante de um modelo, dentre os vários blocos existentes pode-se citar os blocos integradores, ganhos, somas e produtos. Esses blocos estão distribuídos em diferentes ícones da biblioteca do Simulink; vários desses blocos são abordados nos exemplos mostrados ao longo deste material.

Capítulo 4

[email protected]

17 de 89

EP-UFBA

Curso de SIMULINK

Geralmente os modelos seguem o arcabouço genérico apresentado na Figura 4:1. No entanto, podem existir modelos em que são usados apenas blocos do sistema dinâmico (etapa de processamento) e os blocos de saídas sem utilizar os blocos de entradas. Ou podem usar blocos de entradas com os blocos do modelo sem utilizar os blocos de saídas. Ou seja, esta combinação depende de cada modelo específico que queira utilizar.

4.2

Manusear blocos do Simulink.

A construção de modelos sofisticados no Simulink exige amplo conhecimento dos blocos, os quais estão localizados ou agrupados nos ícones da biblioteca. No item 3.2 foi mostrado um exemplo simples de um modelo, o que impossibilitou apresentar boa parte dos comandos de manipulação da biblioteca de blocos. Logo, serão mostrados na Tabela 4:1, retiradas do trabalho de FILHO et al. (2008), os principais comandos de manipulação dos blocos do Simulink.

4.3 Métodos Numéricos do Simulink. O Simulink fornece diferentes tipos de algoritmos de solução para equações diferenciais. A maioria dos algoritmos são resultados de recentes pesquisas em integração numérica e estão entre os mais rápidos e precisos métodos disponíveis na literatura. Geralmente se usam métodos de passo variáveis, pois eles ajustam continuamente o passo de integração maximizando a eficiência enquanto mantém uma precisão especificada. A seguir serão mostrados na Tabela 4:2 os métodos disponíveis do Simulink (SILVA et al., 2008).

Capítulo 4

[email protected]

18 de 89

EP-UFBA

Curso de SIMULINK

Tabela 4:1 - Comandos para manusear os blocos do Simulink. Selecionar objeto (blocos linhas de sinais) Clique no objeto com o botão esquerdo do mouse. Pressione a tecla SHIFT e clique no outro

Selecionar outro objeto

objeto Selecionar com uma caixa de seleção

Clique com o botão esquerdo do mouse no local onde se deseja que seja uma das quinas da caixa de seleção. Continue com a tecla do mouse pressionada e arraste a caixa para encobrir a área desejada.

Copiar um bloco de uma biblioteca ou de outro modelo

Selecione o bloco e arraste para a janela do modelo para o qual se quer copiar. Selecione o bloco e no menu Format:Flip

Inverter blocos

Block. Tecla de atalho: CTRL-f. Selecione o bloco e no menu Format:Rotate

Rotacionar blocos

Block. Tecla de atalho: CTRL-r Redimesionar blocos

Selecione o bloco e arraste o canto

Adicionar sombra Editar o nome de um bloco

Selecione o bloco e no menu Format:Show Drop Shadow. Clique no nome.

Ocultar o nome de um bloco

Selecione o nome, no menu Format:Hide Name Selecione o nome, no menu Format:Flip

Inverter o nome de um bloco

Name Selecione o objeto, no menu Edit:Clear. Te-

Apagar objetos

cla de atalho: Del. Copiar objetos para a área de transferência

Selecione o objeto, no menu Edit:Copy. Tecla de atalho: CTRL-c

Recortar objetos para a área transferência

Selecione o objeto, no menu Edit:Cut. Tecla de atalho: CTRL-x.

Capítulo 4

[email protected]

19 de 89

EP-UFBA

Curso de SIMULINK

Colar objetos a partir da área de transferência Traçar uma linha de sinal Traçar uma linha de sinal em segmentos

No menu Edit:Copy. Tecla de atalho: CTRLv. Arrastar com o mouse da saída do bloco para a entrada do outro. Arraste com o mouse da saída do bloco até o primeiro ponto. Repetir deste ponto até o seguinte e assim por diante.

Mover um segmento de linha

Mantenha a tecla CTRL pressionada e clique sobre a linha de origem. Tecla de atalho: Clicar com o botão direito do mouse a partir da linha de origem. Selecione a linha. Mantendo a tecla SHIFT pressionada, clique e arraste o novo vertex para a posição desejada. Clique e arraste o segmento desejado.

Mover um vertex de um segmento.

Clique e arraste o vertex desejado.

Nomear uma linha de sinal

Duplo clique na linha e digite o nome.

Mover o nome de uma linha de sinal

Clique e arraste o nome para a posição desejada. Mantendo a tecla CTRL pressionada, arraste o nome para a posição desejada. Tecla de atalho: clique e arraste com o botão direito do mouse para a posição desejada. Dê um nome aos sinais conhecidos (entrada)

Traçar uma linha ligada a outra

Separar uma linha

Copiar o nome de uma linha de sinal

Sinais de propagação numa linha de sinal

com um único caracter e nas linhas em que se deseja saber seu conteúdo, deve-se digitar somente o caracter “<”. Após isso, no menu Edit:Update Diagram. Acrescentar anotação ou observação no modelo

Capítulo 4

Dê um duplo clique no local em que se deseja e digite o texto.

[email protected]

20 de 89

EP-UFBA

Curso de SIMULINK

Tabela 4:2 - Métodos numéricos do Simulink. CARACTERÍSTICAS MÉTODO DE SOLUÇÃO

ODE45

ODE23

ODE113

ODE15S

ODE23S

Fixed-and-Variable-Step Discrete ODE5 ODE4 ODE3 ODE2 ODE1

Capítulo 4

Excelente método de propósito geral de passo simples. É baseado nos métodos de Dormand-Prince e de Runge-Kutta para Quarta/Quinta ordem. ODE45 é o método default e é geralmente uma boa primeira opção. Usa os métodos Bogacki-Shampine e RungeKutta de Segunda/Terceira ordem. Ás vezes funciona melhor do que ODE45 na presença de pouca flexibilidade. Geralmente requer um passo menor do que ODE45 para atingir a mesma precisão. Utiliza o método de ordem variável de Adams Bashforth-Moulton. Já que ODE113 utiliza as soluções de pontos em tempos anteriores para se determinar a solução do tempo corrente, deve então produzir a mesma precisão dos métodos ODE45 ou ODE23 com menor número de cálculos e com isto tendo uma melhor performance. Não é apropriado para sistemas com descontinuidades. Sistema de ordem variável de multi passos para sistemas inflexíveis. É baseado em pesquisas recentes que utilizam fórmulas numéricas de diferença. Se a simulação executar lentamente utilizando ODE45, tente ODE15S. Ordem fixa de passo simples para sistema inflexíveis. Devido ao fato de ser um método de passo simples, em muitas das vezes é mais rápido do que ODE15S. Se um sistema parecer inflexível é uma boa idéia tentar ambos os métodos para este tipo de sistema para se determinar qual dos dois tem melhor performance. Método especial para sistemas que contém estados descontínuos. Versão de passo fixo de ODE45. Fórmulas clássicas de Quarta ordem de Runge-Kutta utilizando passo de tamanho fixo. Versão de passo fixo de ODE23. Método de Runge-Kutta de passo fixo de Segunda ordem, também conhecido por Método de Heun. Método de Euler utilizando passo de tamanho fixo.

[email protected]

21 de 89

EP-UFBA

Curso de SIMULINK

5 Modelos de sistemas contínuos no tempo Um sistema contínuo é um sistema dinâmico que pode ser descrito por um conjunto de equações diferenciais e/ou equações algébricas. Como a maioria dos processos químicos são geralmente contínuos, na sequência deste trabalho serão mostrados exemplos aplicados com essa característica, em que será construído também para cada exemplo os seus respectivos modelos em Simulink.

5.1 Modelos lineares Na elaboração de um modelo linear do Simulink, devem-se utilizar os blocos da biblioteca contínuos (Continuous) juntamente com os blocos de entrada (Sources) e saída (Sink), além do uso de blocos mais comuns (Commonly used blocks) da biblioteca. Para esses modelos o bloco de maior importância é o integrador (Integrator), pois como o próprio nome diz, ele tem a função de integrar continuamente as equações diferenciais do modelo partindo de uma condição inicial que o usuário fornece (ver Figura 5:1).

Figura 5:1 - Configurações do bloco Integrator.

Capítulo 5

[email protected]

22 de 89

EP-UFBA

Curso de SIMULINK

5.1.1 Tanque industrial com descarga succionado por uma bomba Nas indústrias é comum existir diversos tipos de tanque em que uma bomba centrífuga descarrega seu inventário. Então, é muito importante conhecer o comportamento dinâmico do nível do vaso de pressão (tanque), haja vista que uma operação mal feita pode ocasionar transbordamento ou secagem do tanque, prejudicando assim o funcionamento da bomba. Neste exemplo simula-se a dinâmica de um tanque industrial, ver Figura 5.2, e, posteriormente verifica-se o comportamento do nível quando submetido a qualquer perturbação proveniente das vazões de alimentação ou descarga.

Figura 5:2 - Tanque industrial com descarga succionada por uma bomba centrífuga.

Para simular o comportamento do nível do tanque deve-se aplicar a equação fundamental da continuidade (FOX et al., 2006). Logo, aplicando-se essa equação em torno do tanque, tem-se: dm = ρ1 q1 − ρ 2 q2 dt

(5:1)

Na modelagem de um sistema, hipóteses sempre são bem-vindas para simplificação do modelo, mas não a ponto de torná-lo tão simplista. Neste caso, algumas hipóteses simplificadoras são consideradas, a saber: H:01 - A variação da temperatura é desprezível, logo a massa específica não varia no tempo. H:02 - A altura do nível do tanque pouco influencia a vazão de descarga, pois essa depende da rotação que está submetida a bomba. Então, considerando as hipóteses do modelo, a equação (5:1) torna-se:

Capítulo 5

[email protected]

23 de 89

EP-UFBA

Curso de SIMULINK

dh q1 − q2 = dt A

(5:2)

em que A é a área transversal do tanque. De posse do modelo que descreve o sistema dinâmico, o próximo passo é criar um modelo no Simulink e elaborar simulações sobre o mesmo, ou seja, neste caso será dado um degrau na vazão de alimentação com uma amplitude de 0,05 m3/s. Para este estudo de caso considere os seguintes dados iniciais: Diâmetro do tanque: 0,5 m; Vazão de alimentação: 1m3/s; Vazão de descarga: 1m3/s; Condição inicial h(t=0): 1m. Para criar este modelo, deve-se abrir o MATLAB e posteriormente o Simulink e criar um arquivo novo. Ir à biblioteca Continuous e arrastar o bloco Integrador. Este bloco vai integrar a equação diferencial ordinária obtida na modelagem do sistema. Contudo nos dados fornecidos não foi fornecido a área transversal do tanque, mas seu diâmetro, logo deve-se criar um bloco para realizar esta operação matemática. Para realizar tal operação, o bloco utilizado será Fcn. Esse bloco pode ser encontrado na biblioteca User-Defined Functions, e sua sintaxe é apresentada na Figura 5:3.

Figura 5:3 - Caixa de diálogo do bloco Fcn.

Capítulo 5

[email protected]

24 de 89

EP-UFBA

Curso de SIMULINK

O bloco Fcn pode receber como entrada um escalar ou um vetor, em que cada entrada é chamada de u(i), em que i=1 representa a entrada 1, i=2 representa a entrada 2 e assim por diante. Além dos blocos citados será necessário utilizar os blocos Constant, Step, Add, Product, Clock, XY graph, Display e Scope. O modelo pode ser visto na Figura 5:4.

Figura 5:4 - Modelo em Simulink para um tanque industrial com descarga bombeada por bomba centrífuga.

Como pode-se ver na Figura 5:4, utiliza-se o bloco Step para fornecer o degrau na vazão de alimentação, cuja configuração dos valores inseridos na caixa de diálogo são apresentados na Figura 5:5.

Capítulo 5

[email protected]

25 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:5 - Caixa de diálogo do bloco Step.

Como pode ser visto na caixa de dialogo do bloco Step, existem três campos principais a serem preenchidos pelo o usuário. No primeiro campo o usuário deve inserir o instante de tempo em que deve acontecer o degrau (neste exemplo o tempo foi de 5). Nos segundo e terceiro campos devem-se fornecer os valores inicial (neste exemplo foi de 1) e final da variável a ser configurada (neste exemplo foi de 1.05), conforme solicitado no enunciado do problema. Os blocos Add e Product também devem ser configurados, pois suas configurações padrão (default) representam sinais de soma e multiplicação, respectivamente, contudo no modelo em construção são necessários sinais de subtração e divisão. Dessa forma, para configurá-los devem-se abrir as caixas de diálogo de ambos e inserir na ordem os sinais de menos (-) e divisão (/), como mostrado nas Figura 5:6 e Figura 5:7.

Capítulo 5

[email protected]

26 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:6 - Caixa de diálogo do bloco Add.

Figura 5:7 - Caixa de diálogo do bloco Product.

Capítulo 5

[email protected]

27 de 89

EP-UFBA

Curso de SIMULINK

Os blocos constants devem ser configurados com seus respectivos valores fixos ao longo da simulação. Quanto aos blocos scope e XY graph, suas funções são mostrar o(s) gráfico(s) da(s) variável(is) de saída do modelo. É importante enfatizar aqui que existe uma ressalva com relação ao bloco XY graph,: seu uso requer um conhecimento prévio das faixas das variáveis de saída, mesmo antes do início da simulação, por isso deve-se configurar em sua caixa de diálogo os valores de máximo e mínimo tanto da abscissa como da ordenada para mostrar a curva desejada. Por último, o bloco display tem a finalidade de mostrar os valores simulados da variável em tempo real, apresentado o último valor ao fim da simulação. Uma vez configurado os blocos do modelo com os valores solicitados, executase a simulação do modelo, cujos resultantes comportamentos do sistema são apresentados nas Figura 5:8 e Figura 5:9.

Figura 5:8 - Nível do tanque no Scope.

Figura 5:9 - Nível do tanque no XY Graph.

Como visto nas Figuras 5:8 e 5:9, no instante de tempo igual 5, momento em que foi inserido o degrau da vazão de alimentação, o nível do tanque começa a aumentar. Como a vazão de descarga não muda de valor, a tendência natural é que o nível começar a subir continuamente, ou seja, trata-se de um processo não autoregulado, assim para que o tanque opere da melhor forma possível, se faz necessário um sistema de controle para o nível; exemplos de sistemas de controle são abordados mais adiante neste trabalho.

Capítulo 5

[email protected]

28 de 89

EP-UFBA

Curso de SIMULINK

5.1.2 Modelo de um termopar Um modelo dinâmico linear é conseguido quando se deseja avaliar o comportamento dinâmico do elemento primário de um instrumento de medição de temperatura do tipo termopar. Neste estudo de caso, por exemplo, assume-se que o dispositivo primário do termopar, o qual estará em contato com o fluido, possua uma forma aproximadamente esférica, conforme mostrado na Figura 5:10.

Figura 5:10 – Dispositivo do termopar submerso no fluido de processo.

Para a construção do modelo aplica-se a equação da primeira lei da termodinâmica (conservação de energia) (FOX, et al, 2006) no entorno da esfera metálica do termopar (volume de controle). Neste caso a energia acumulada (dissipada) na esfera é igual a energia perdida (acumulada) pelo fluido através do mecanismo de transferência de calor por convecção, em termos matemático resulta em: dE = − h∞ A(T − T∞ ) dt

(5:3)

Na modelagem deste sistema é razoável assumir a hipótese do método capacidade concentrada (INCROPERA e DEWITT, 2003) sobre a esfera, i.e., a variação espacial de energia é desprezível no interior da esfera maciça. Então, considerando a hipótese apresentada acima, o modelo resultante para o sistema torna-se:

Capítulo 5

[email protected]

29 de 89

EP-UFBA

Curso de SIMULINK

dT h AT h∞ AT∞ =− ∞ + dt ρVCp ρVCp

(5:4)

Para a simulação em questão, são considerados os seguintes dados do problema: Termopar

Fluido

Massa específica: ρ= 8500 kg/m3

Coeficiente de convecção: h∞ = 400 W/(m2.K)

Calor específico: Cp = 400 J/(kg.K)

Temperatura constante: T∞ = 200ºC

Diâmetro: d = 7,06×10-4 m Temperatura inicial: Ti = 25ºC

O modelo construído em Simulink com as informações deste estudo de caso é apresentado na Figura 5:11. Para iniciar a simulação deve-se inserir a condição inicial no bloco integrator como mostrado na Figura 5:12.

Biblioteca Sources

Biblioteca Continuous

Biblioteca Sink

Figura 5:11 – Modelo de um termopar.

Capítulo 5

[email protected]

30 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:12 – Inserção da condição inicial da temperatura do termopar.

O comportamento dinâmico da temperatura do termopar é mostrado na Figura 5:13. Como pode-se ver nesse gráfico, a temperatura do termopar alcançou em 5s a temperatura do fluido, ou seja, esse termopar está bem dimensionado para o serviço.

Figura 5:13 – Comportamento dinâmico da temperatura do termopar.

Capítulo 5

[email protected]

31 de 89

EP-UFBA

Curso de SIMULINK

5.1.3 Blocos função de transferência Estes tipos de blocos são mais utilizados em sistemas de controle. Matematicamente a função de transferência é definida como a razão da transformada de Laplace da entrada (em desvio) pela saída (em desvio) do sistema dinâmico (OGATA, 1982; STEPHANOPOULOS, 1984; SEBORG et al., 1989; LUYBEN, 1990; CORRIPIO e SMITH, 2008), em que em controle de processos químicos os pontos de referência representam o estado estacionário do sistema. Para ilustrar o uso deste bloco será considerado um exemplo que descreve um sistema dinâmico de um tanque com aquecimento regido pelas funções de transferência que foram obtidas empiricamente via identificação de modelo por métodos já consolidados na literatura. As funções de transferência obtidas foram: GT − Fv =

0.93283 ºC 3 4.3239 s + 1 m / min

GT − Fi =

−0.9027 −1.969 s º C e 8.8581s + 1 t / min

Em que: GT − Fv - representa a função de transferência da temperatura com a vazão de vapor. GT − Fi - representa a função de transferência da temperatura com a vazão de alimentação. Além disso, os valores de referência (estado estacionário) do modelo são: T SS = 57, 3 º C Fi SS = 1,5

t min

FVSS = 0, 3942

m3 min

Na simulação deve-se perturbar em degrau a vazão de vapor e verificar o comportamento da temperatura. Lembrando que, o degrau da vazão de vapor deve ser feita no tempo igual a 5 minutos para um valor de 10% a mais do valor atual. Além disso, pede-se conhecer todos os valores dos principais fluxos de informação (usar o bloco display). O bloco função de transferência pode ser obtido na biblioteca Continuous (Transfer Fcn).

Capítulo 5

[email protected]

32 de 89

EP-UFBA

Curso de SIMULINK

Uma vez conhecido os valores de estado estacionário, a amplitude e o instante de tempo em que deve ocorre a perturbação degrau, bem como os parâmetros das funções de transferência, podem-se configurar as caixas de diálogo dos blocos que serão usados para construção do modelo. Um modelo em Simulink deste sistema pode ser representado pela Figura 5:14.

Biblioteca Sources Biblioteca Continuous

Biblioteca Sink

Figura 5:14 - Modelo de um tanque aquecido via função de transferência.

Face à construção deste modelo, após execução da simulação, seus resultados são apresentados nas Figura 5:15 e Figura 5:16.

Figura 5:15 - Temperatura do tanque aquecido.

Figura 5:16 - Vazão de vapor no tanque.

Como exposto nos resultados obtidos, quando se aumenta a vazão de vapor na serpentina do tanque a temperatura também aumenta, o que já era esperado pelo fato de que fisicamente o vapor tem a função de aquecer a parte interna do tanque.

Capítulo 5

[email protected]

33 de 89

EP-UFBA

Curso de SIMULINK

Agora, se aumentarmos a vazão de alimentação com a mesma vazão de vapor o que acontecerá com a temperatura? Refaça o modelo anterior e simule o sistema quando um degrau na vazão de alimentação de 10% do valor inicial for inserido.

5.1.4 Subsistema e máscaras A maior parte das linguagens de programação utiliza subprogramas ou subrotinas. O Matlab usa funções em arquivo do tipo M como subrotinas. O Simulink, por sua vez, possui uma utilidade semelhante, conhecido como subsistemas. Duas grandes razões para se utilizar subprogramas são: a abstração dos detalhes e a reutilização do software. Particularmente, quando os modelos construídos em Simulink vão se tornando complexos, o entendimento dos fluxos de informação provenientes dos modelos torna-se comprometido. Os subsistemas resolvem este problema fazendo que um complexo e grande modelo seja subdividido em grupos hierárquicos de modelos menores. Nada obstante, no Simulink existe a possibilidade de atribuir propriedades específicas aos subsistemas criados, dando origem às máscaras. Os subsistemas com máscaras são blocos hierárquicos com características próprias, blocos simples que têm uma caixa de diálogo com parâmetros de configuração de entrada de informação semelhante aos blocos da biblioteca do Simulink. Em muitos exemplos que serão mostrados nos itens subsequentes, será necessário o uso de subsistemas com máscaras uma vez que são modelos complexos e com fluxos de informação extensos.

5.1.5 Modelo de um sistema de malha de controle Um campo de aplicação da engenharia química é o controle de processos. Um sistema de controle é constituído de malhas de controle, as quais possuem uma série de elementos. Entre estes elementos, está o controlador PID que tem a função de executar um comando sobre uma determinada variável manipulada (MV, do inglês manipulated variable) de modo a manter o valor da variável de process ou controlada (PV, do inglês process variable) igual o próximo ao valor desejado ou setpoint (SP).

Capítulo 5

[email protected]

34 de 89

EP-UFBA

Curso de SIMULINK

Pela sua importância a um processo, a simulação de modelos de processos com a inclusão de algoritmos PID é de suma importância para analisar o comportamento dinâmico do processo em malha fechada. De uma forma genérica, um sistema PID é formado por uma equação linear com parâmetros de ajuste definidos (parâmetros de sintonia), ver livro-texto de referência sobre o assunto (STEPHANOPOULOS, 1984). Os parâmetros de sintonia de um controlador PID podem ser ajustados de uma forma ad hoc, contudo, métodos sofisticados de sintonia requerem, em quase sua totalidade, modelos lineares que representam a dinâmica do processo em uma dada faixa de operação, entre as representações possíveis de modelos lineares, aquela mais comumente adotada é a função de transferência. Baseado no exemplo anterior (item 5.1.3), será elaborado um modelo de um controlador PID para controlar a temperatura (PV) manipulando a vazão de vapor (MV). Também será elaborado um modelo para cada elemento de uma típica malha de controle, são estes: transmissor, válvula de controle e conversor I/P. Mais ainda, neste exemplo será mostrado como criar um subsistema e atribuí-lo uma máscara. A malha de controle pode ser analisada por meio de um diagrama de blocos (ver Figura 5:17), que é sempre representada por variáveis na forma do domínio de Laplace.

Figura 5:17 - Diagrama de blocos de uma malha de controle.

No caso do bloco referente ao processo (Gp) utiliza-se o modelo feito no item 5.1.3. Como se trata de um modelo com certa complexidade (Figura 5:10), esse será transformado em um subsistema. Para criá-lo (subsistema) basta selecionar a parte de processamento de dados do modelo, conforme apresentado na Figura 5:18, ir ao ícone Edit e selecionar a opção Create Subsystem. Feito isso, o modelo resultante obtido é aquele apresentado na Figura 5:19.

Capítulo 5

[email protected]

35 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:18 - Sistema função de transferência com dados de processamento selecionado.

Figura 5:19 - Sistema função de transferência após inserção do subsistema.

Como visto na Figura 5.19, foi criado um subsistema e para ter acesso à sua parte interna basta dar um duplo clique sobre o bloco. A parte interna do subsistema criado é mostrada na Figura 5:20.

Capítulo 5

[email protected]

36 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:20 - Parte interior do subsistema.

Além disso, todo subsistema possui como default em suas portas de entrada e saída, as palavras In e Out, respectivamente. Logo, para alterá-las selecione a palavra existente e insira a palavra que deseja. Neste exemplo será digitado na entrada In1 “vazão de vapor”, na entrada In2 “vazão de alimentação” e na saída Out1 “temperatura”, como pode ser visto na Figura 5:21.

Capítulo 5

[email protected]

37 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:21 - Subsistema configurado.

Criado o subsistema, pode-se lhe atribuir uma máscara, tornando mais flexível a inserção dos parâmetros das funções de transferência do modelo, através da caixa de diálogo criada ao subsistema. Para isso, inicialmente deve-se digitar nas caixas de diálogo das funções de transferências um nome para os ganhos e as constantes de tempo do processo. Particularmente, neste exemplo, os nomes atribuídos serão Kp1, Kp2, Tal1 e Tal2, respectivamente. Para criar a máscara basta clicar no bloco Processo e com o botão direito do mouse selecione a opção Mask Subsystem, a tela que aparecerá é:

Selecione a opção Parameters e ao clicar no botão add deve-se digitar uma breve descrição da variável no campo Prompt, ao passo que no campo Variable devese digitar os nomes das variáveis que foi digitado nos blocos funções de transferência, ver Figura 5:22. Após tal procedimento aperte o botão Apply.

Capítulo 5

[email protected]

38 de 89

EP-UFBA

Curso de SIMULINK

Botão add

Figura 5:22 - Tela principal de uma máscara.

Então, feito a etapa anterior, após um duplo clique no bloco Processo aparecerá a caixa de diálogo configurada, vide a seguinte ilustração:

Depois de criar o subsistema e atribuí-lo uma máscara, deve-se agora elaborar os modelos dos outros elementos da malha. Estes serão obtidos da forma como segue.

Capítulo 5

[email protected]

39 de 89

EP-UFBA

Curso de SIMULINK

• Transmissor A função do transmissor é enviar o sinal do campo para o controlador localizado na sala de controle, i.e., nesse transporte de sinal, o transmissor recebe o sinal do elemento primário de medição e envia em unidades de corrente (mA) para o controlador. O sinal padrão do transmissor é de 4 a 20 mA, a transformação é apenas linear com o sinal do elemento primário, ou seja, 4 mA corresponde ao valor mínimo medido e 20 mA corresponde a valor máximo medido. Além disso, é necessário conhecer a faixa de operação do instrumento: valores de máximo e mínimo da variável medida. Um modelo proposto para o transmissor pode ser visto na Figura 5:23, no qual a entrada (In 1) recebe o sinal de temperatura (T) e a saída (Out 1) fornece seu respectivo valor em unidade de corrente. Na construção deste modelo foi utilizado o bloco subsistema obtido na biblioteca Commonly Used Blocks (Subsystem).

Figura 5:23 – Modelo de um transmissor analógico.

• Controlador PID A função do PID é enviar um sinal de comando para a válvula de controle de modo que a variável controlada busque o valor da variável desejada. O controlador recebe o sinal do transmissor e, posteriormente executa seu algoritmo, que em seguida envia um sinal para a válvula de controle.

Capítulo 5

[email protected]

40 de 89

EP-UFBA

Curso de SIMULINK

Para a construção do modelo PID, se utilizará aqui o bloco Subsystems, como foi visto na construção do transmissor. A equação que rege um PID é baseada na ação proporcional, integral e derivativa ou combinações dessas, maiores detalhes sobre tal algoritmo são extensamente visualizados em qualquer livro texto de controle. Logo, o modelo proposto pode ser visto na Figura 5:24.

Figura 5:24 – Modelo do controlado PID.



Válvula de controle

A função da válvula de controle é manipular a passagem do fluido de maneira a atender o controle desejado. A válvula de controle recebe o sinal do controlador e executa o comando para a abertura (ou fechamento) que forneça a vazão necessária para o controle. Um modelo proposto para a válvula pode ser representada pela Figura 5:25. Naquele modelo, pode ser visto que foi inserido um modelo de conversor I/P. Esse conversor consiste em transformar o sinal mA, proveniente do controlador, em sinal pneumático (psig), pois a válvula de controle é usualmente acionada por esse tipo de sinal. O sinal pneumático padrão é 3 a 15 psig, logo, através de uma relação linear, pode-se transformar um sinal padrão de corrente em pneumático.

Capítulo 5

[email protected]

41 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:25 – Modelo de uma válvula de controle.

É passível de observação também que no modelo da válvula de controle utilizase o bloco GO TO (nome: FI_403), esse bloco consiste em levar o valor recebido para onde o usuário queira, contudo para receber seu valor (sinal) utiliza-se um bloco específico chamado de From (que será mostrado posteriormente). Isso será necessário quando for conectar todos os blocos da malha. • Modelo da malha de controle fechada Após construção dos modelos dos elementos constituintes da malha de controle, assim como suas conexões, o modelo em malha fechada pode ser representada pela Figura 5:26 e, como observado nessa figura, houve uma considerável mudança do modelo proposto inicialmente em malha aberta (Figura 5:21). Diante dessa nova configuração, pode-se ainda atribuir uma máscara a cada subsistema criada para os elementos da malha. A saber. Para o transmissor e o controlador será construído um bloco no formato de círculo e sobre sua parte interna será inserido uma nomenclatura padrão de um transmissor e um controlador de temperatura, conforme norma regulamentadora do assunto (ISA,1984). Para a válvula de controle será feito um bloco na sua representação mais formal e, igualmente aos outros elementos da malha, será atribuído à nomenclatura padrão. Capítulo 5

[email protected]

42 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:26 – Modelo em malha fechada.

Para construção das máscaras desses elementos, o que devemos fazer? Ora, como já foi realizado para o subsistema processo, o usuário deve saber como o fazer. Então, na construção da máscara do transmissor na opção Icon deve-se digitar os seguintes passos, ver Figura 5:27. Como pode ser observado na Figura 5:27, se o usuário quiser que apareça qualquer nome no subsistema, basta usar o comando disp. Além disso, para a construção do círculo executa-se o comando plot. Mas, a título de curiosidade o usuário pode se pergunta sobre a origem de tais variáveis. Simplesmente as variáveis que aparecem na Figura 5:27 estão definidas na opção Inicialization, como pode ser observado na Figura 5:28. Como o objetivo é construir um círculo sobre a parte externa do subsistema, nada mais lógico de utilizar a equação de um círculo. Basta apenas definir uma variável com certo intervalo e criar mais duas variáveis para representar um círculo, conforme apresentado na Figura 5:28.

Capítulo 5

[email protected]

43 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:27 – Comando disp e plot para a máscara do transmissor.

Figura 5:28 – Funções utilizadas para a construção da máscara do transmissor.

Para a construção do controlador, basta executar os mesmos passos da construção da máscara do controlador e ao invés de digitar TT deve-se digitar TC. Tente fazer e veja o resultado!!! O procedimento de elaboração da máscara da válvula de controle é análogo aos outros. Entretanto, a construção diagrama padrão da válvula de controle requer a definição de algumas variáveis, vide resultado nas Figura 5:29 e Figura 5:30.

Capítulo 5

[email protected]

44 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:29 - Comando disp e plot para a máscara da válvula.

Figura 5:30 - Funções utilizadas para a construção da máscara da válvula.

No processo de personalização das máscaras verifica-se que os comandos utilizados são exatamente os mesmos utilizados no Matlab, demonstrando a fácil interação entre os ambientes. A Figura 5:31 apresenta o modelo resultante em malha fechada após a construção das máscaras.

Capítulo 5

[email protected]

45 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:31 - Modelo em malha fechada após construção das máscaras.

Construído o modelo geral, agora é hora de simular!! Neste modelo o usuário deve utilizar os seguintes valores para os parâmetros de sintonia do controlador: ganho, Kc= 0,039 %/%, constante de tempo integral, τi= 2.2872 min, e constante de tempo derivativo, τd = 0,3553 min; a obtenção desses parâmetros foram baseados na sintonia IMC (KALID, 2007; CAMPOS e TEIXEIRA, 2002). Para o bloco set-point deve-se perturbar em 10% para mais o valor inicial, que é de 57,3 ºC, no tempo 25 min. Os valores encontrados depois da simulação são mostrados nas Figura 5:32 e Figura 5:33.

Capítulo 5

[email protected]

46 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:32 – Comparação entre o valor da PV com o SP.

Figura 5:33 – Valor da vazão manipulada após mudança no set-point.

Neste mesmo modelo faça uma perturbação na vazão de alimentação de 10% a mais do valor do estado estacionário no tempo igual 400 min e verifique o comportamento da variável controlada e a vazão da variável manipulada. Dica: Para realizar tal perturbação utilize o bloco degrau.

5.1.6 Bloco modelo em espaço de estados Em sistemas dinâmicos é usual representar modelos lineares em modelos do tipo espaço de estados. Esse tipo de modelo é representado da seguinte maneira: Capítulo 5

[email protected]

47 de 89

EP-UFBA

Curso de SIMULINK

xɺ = A x + B u y = C x + Du

,

(5:5)

em que: xɺ vetor das derivadas dos estados do sistema, x vetor dos estados do sistema, u vetor das entradas do sistema, y vetor das saídas do sistema, enquanto que A , B , C e D são matrizes que correlaciona as entradas e estados com as saídas. A forma habitual de simular modelos desse tipo no Simulink é utilizando o bloco State Space, que é obtido da biblioteca Continuous. Ao abrir a caixa de diálogo desse bloco, o usuário deve inserir as matrizes A , B , C e D e as condições iniciais das respectivas equações diferenciais ( xɺ ) conforme demonstrado na Figura 5:34.

Figura 5:34 – Caixa de diálogo do bloco State Space.

Com o intuito de elucidar um melhor entendimento desse tipo de modelo, alguns exemplos ilustrativos são apresentados na sequência como segue. • Modelo de um tanque com descarga succionada por uma bomba. Um exemplo simples que requer o uso do bloco State Space é o sistema da Figura 5:2. Trata-se de um sistema relativamente simples, pois possui apenas uma EDO. Para elaboração do modelo, pede-se como variáveis de saída o próprio nível (h), volume (V) e massa (m) acumulada no tanque. As equações para obtenção do volume e massa são: Capítulo 5

[email protected]

48 de 89

EP-UFBA

Curso de SIMULINK

V = Ah

(5:6)

m = ρV

(5:7)

Para a simulação do modelo em questão, as seguintes características são inicialmente consideradas: massa específica (ρ) = 1000 kg/m3; área transversal do tanque (A) = 0.5 m2; vazão de alimentação (q1)= 1,5 m3/min; vazão de descarga (q2) = 1,5 m3/min; condição inicial: h(t=0) = 1m. Aplicando a Equação 5:5 para este sistema, obtêm-se a seguinte expressão:

[ h ]1x1 =

 q1  A1x1 [ h ]1x1 + B1x 2    q2  2 x1

, h   q1  V  = C h 3 x1 [ ]1 x1 + D3 x 2      q2  2 x1  m  3 x1 em que as matrizes A , B , C e D são:

1 1 A1x1 = [ 0]1x1 ; B1x 2 =  −  A 1x 2 A .  1  0 0     C3 x1 =  A  ; D3 x 2 = 0 0   ρ A 3 x1 0 0  3 x 2 Logo, conhecida as matrizes do modelo em espaço de estado, pode-se construir o modelo utilizando o bloco State Space. Para a simulação será aplicado um degrau na vazão de descarga de 10% a mais do valor inicial (q2=1,5 m3/min) no tempo igual a 5 min. O modelo construído em Simulink para este sistema pode ser visto na Figura 5:35.

Capítulo 5

[email protected]

49 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:35 – Modelo em espaço de estados de um tanque com bomba.

A Figura 5:34 mostra a inserção dos valores contidos nas matrizes. Os gráficos dinâmicos do nível, volume e massa são visualizados nas Figura 5:36, Figura 5:37 e Figura 5:38.

Figura 5:36 – Nível do tanque com bomba através da resposta do bloco espaço de estados.

Capítulo 5

[email protected]

50 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:37 - Volume do tanque com bomba através da resposta do bloco espaço de estados.

Figura 5:38 - Volume do tanque com bomba através da resposta do bloco espaço de estados.

Como observado nas Figuras 5:37 e 5:38, constata-se o mesmo comportamento que aquele do nível, ou seja, um modelo não auto-regulado. Isso acontece, pois tanto o volume como a massa é uma combinação linear do nível. • Modelo de um tanque com ação gravitacional. Neste exemplo considere um tanque no qual a vazão de descarga é por gravidade, como mostrado na Figura 5:39, e, portanto, a vazão de saída do tanque é dependente da perda de carga da válvula e do nível do tanque (FOX, et al, 2006).

Figura 5:39 – Tanque com descarga por gravidade.

Aplicando a equação da continuidade ao redor do tanque e, considerando que a massa específica é a mesma dentro e fora, o acúmulo de massa no seu interior é obtido segundo a equação:

Capítulo 5

[email protected]

51 de 89

EP-UFBA

Curso de SIMULINK

dh q1 k h = − dt A A

(5:8)

Como observado na equação 5:8 a modelagem desse tipo de tanque forneceu uma equação diferencial ordinária (EDO) não linear em relação à variável nível, o que inviabiliza o uso do bloco State Space. Contudo, um modelo não linear pode ser aproximado para um modelo linear. Ou seja, pode-se linearizar um modelo não linear pela expansão da série de Taylor em torno de um ponto de referência, pr = pr (tr, xr, ur). Assim, o modelo em espaço de estados linearizado será: xɺ ≅ f r + A ( x − x r ) + B( u − u r ) y ≅ hr + C ( x − x r ) + D ( u − u r )

(5:9)

Visto que se assume que o ponto de referência é o estado estacionário, os valores de f r e h r são nulos. Logo a equação se tornará: xɺ = A ( x − x r ) + B ( u − u r ) y = C ( x − xr ) + D ( u − u r )

(5:10)

A matriz A representa a matriz Jacobiana do sistema em relação aos estados. Ou seja, a derivada parcial de cada EDO em relação a cada variável de estado. Definindo a função f i como: f i = xɺ i .

Os elementos da matriz A são obtidos pela seguinte maneira:

aij =

∂f i . ∂x j

A matriz B é a matriz Jacobiana do sistema em relação às entradas. Portanto, os elementos dessa matriz são obtidos da seguinte maneira:

bij =

∂f i . ∂u j

Agora, definindo a função gi como:

gi = y i .

Capítulo 5

[email protected]

52 de 89

EP-UFBA

Curso de SIMULINK

As matrizes C e D são obtidas de forma análoga as matrizes A e B , ou seja, cada elemento da matriz será obtido pela derivada parcial de cada saída do sistema em relação aos estados e entradas do mesmo, respectivamente. Os elementos da matriz C são obtidos da forma:

cij =

∂gi , ∂x j

ao passo que os elementos da matriz D são derivados da expressão:

dij =

∂gi . ∂u j

Definindo as variáveis desvio, isto é:

x = (x − xr ) u = (u − ur ) y = (y − y ) r

Pode-se reescrever a Equação 5:10 de uma forma mais conveniente, a saber:

xɺ = A x + B u

(5:11)

y =C x+D u

Logo, aplicando a linearização na Equação 5:8 em torno do estado estacionário do tanque: hSS = 1 m; q1ss = 1,5 m3/min; VSS = 0,5 m3; mSS = 500 kg e, considerando a constante k = 1,5 m5/2/min, o modelo encontrado usando a Equação 5:11 será: dh   = A1x1[h]1x1 + B1x1[q1 ]1x1  dt 1x1 h    V  = C3 x1[h]1x1 + D3 x1[q1 ]1x1    m  3 x1

As matrizes A , B , C e D são obtidas da seguinte forma:

Capítulo 5

[email protected]

53 de 89

EP-UFBA

Curso de SIMULINK

 g1   h  dh     f1 = e  g2  = V   dt  g 3   m    ∂f1   − q1 A1x1 =   =  ∂h   2k h SS 

(

 ∂g1  ∂h  ∂g C3 x1 =  2  ∂h   ∂g3  ∂h

)

  ; B =  ∂f1  =  1  1 x1      ∂q1   A 1x1  1x1

 ∂g1     ∂q1 1    =  A  ; D =  ∂g 2  3 x1     ∂q1  ρ A  3 x1   ∂g3    3 x1  ∂q1

   0    = 0  0    3 x1

    3 x1

Então, construindo o modelo para este sistema, vide Figura 5:40, e fazendo uma perturbação degrau na vazão de alimentação de 10% acima do valor inicial no instante de tempo igual 5s, o resultado encontrado após a simulação é visto na Figura 5:41.

Figura 5:40 – Modelo de um tanque por gravidade em espaço de estados.

Capítulo 5

[email protected]

54 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:41 – Resposta do nível de um tanque por gravidade.

Agora o leitor é convidado a realizar outras perturbações na vazão de alimentação, bem como a alterar também o valor da constante da válvula, e comparar os resultados. • Modelo de um reator CSTR Outro sistema interessante para simulação em espaço de estados é um reator CSTR representado pela Figura 5:42.

Figura 5:42 – Reator CSTR com descarga por gravidade.

Capítulo 5

[email protected]

55 de 89

EP-UFBA

Curso de SIMULINK

Neste sistema químico o reagente A, sob condições impostas no reator, produz o produto B por meio de uma reação irreversível e endotérmica1 e seu interior é aquecido pela serpentina com vapor saturado. Aplicando as equações de balanço de massa, balanço molar por componente e energia no reator, obtém o seguinte modelo: dh qi k h = − dt A A

(5:12)

(

)

(5:13)

(

)

(5:14)

E − dC A C Ai − C A qi = − kO e RT C A dt Ah E − dCB CBi − CB qi = + kO e RT C A dt Ah



E

F λ dT qi (Ti − T ) ∆H r kO e RT C A = − + vap dt Ah ρ Cp ρ CpAh

(5:15)

Dessa forma, é obtido um sistema de EDOs não lineares que serão linearizadas em torno de um estado estacionário estabelecido, este é:

kmol kmol ; C BSS = 0.6528 3 i i m m3 kmol kmol C ASS = 7.6064 ; C BSS = 14.2639 3 m m3 m3 q iSS = 1,5 ; LSS = 1, 0 m min C ASS = 16.224

Ti SS = 383, 9 ºC; T SS = 57, 3 ºC; FvapSS = 602

kg min

E os parâmetros do modelo são: 1 kg ; ρ = 1000 3 min m J J J ; λ = 2,2572x106 ; Cp = 1,815x105 ∆H r = 1,972x108 kmol kg kg.ºC A = 2,3249 m 2 ; kO = 51,2566

k = 6,37 1

m5/2 J J ; E = 1,182x107 ; R = 8314.39 min kmol kmol.K

Uma reação endotérmica é uma reação que necessita de energia externa para ocorrer.

Capítulo 5

[email protected]

56 de 89

EP-UFBA

Curso de SIMULINK

Aplicando a Equação 5:11 a este sistema, obtêm-se a seguinte expressão: dh     dt   d CA     dt  = A4 x 4  d CB     dt   dT     dt  4 x1

 qi    h  C Ai      C A    + B4 x 5 CBi    CB  Ti  T    4 x1   T  5 x1

 qi    h  h  C Ai        C C  A  A = + C D CBi   4 x 4 4 x 5     C C   B B     Ti  T  T    4 x1   4 x1   T  5 x1 Logo a matrizes A , B , C e D são obtidas de forma similar aos itens anteriores. Para este sistema as matrizes obtidas serão:  dh   dt  f  1   dC   g1   h   f   A   g  C   2  =  dt  e  2  =  A   f 3   dCB   g 3  CB             g 4  T  dt f  4  dT     dt 

Capítulo 5

[email protected]

57 de 89

EP-UFBA

A4 x 4

C4 x 4

Curso de SIMULINK

 ∂f1  ∂h   ∂f 2  ∂h =  ∂f3   ∂h  ∂f 4   ∂h

∂f1 ∂C A

∂f1 ∂CB

∂f 2 ∂C A

∂f 2 ∂CB

∂f 3 ∂C A

∂f 3 ∂CB

∂f 4 ∂C A

∂f 4 ∂CB

 ∂g1  ∂h   ∂g 2  ∂h =  ∂g3   ∂h  ∂g 4   ∂h

∂g1 ∂C A

∂g1 ∂CB

∂g 2 ∂C A

∂g 2 ∂CB

∂g 3 ∂C A

∂g 3 ∂CB

∂g 4 ∂C A

∂g 4 ∂CB

∂f1 ∂f1 ∂f1 ∂f1   ∂f1 ∂f1   ∂qi ∂C Ai ∂CBi ∂Ti ∂Fvap  ∂T       ∂ ∂ ∂ ∂ ∂ f f f f f ∂f 2  2 2 2 2 2   ∂q ∂C Ai ∂CBi ∂Ti ∂Fvap  ∂T  ; B =  i 4 x5  ∂f ∂f 3  ∂f 3 ∂f 3 ∂f 3 ∂f 3  3    ∂T   ∂qi ∂C Ai ∂CBi ∂Ti ∂Fvap    ∂f 4  ∂f 4 ∂f 4 ∂f 4 ∂f 4 ∂f 4    ∂T   ∂qi ∂C A ∂CB ∂Ti ∂Fvap   i i  ∂g1 ∂g1 ∂g1   ∂g1 ∂g1 ∂g1   ∂q ∂C Ai ∂CBi ∂Ti ∂Fvap  ∂T   i    ∂g 2 ∂g 2 ∂g 2 ∂g 2 ∂g 2  ∂g 2    ∂qi ∂C Ai ∂CBi ∂Ti ∂Fvap  ∂T    ; D4 x 5 =  ∂g ∂g 3  ∂g 3 ∂g 3 ∂g3 ∂g3  3    ∂T   ∂qi ∂C Ai ∂CBi ∂Ti ∂Fvap    ∂g 4  ∂g 4 ∂g 4 ∂g 4   ∂g 4 ∂g 4  ∂T   ∂qi ∂C Ai ∂CBi ∂Ti ∂Fvap 

Como este já é um modelo que exige um esforço analítico maior que os modelos anteriores, as matrizes serão construídas no arquivo tipo.m do MATLAB, em concordância ao apresentado nas Figuras 5:43, 5:44, 5:45 e 5:46.

Figura 5:43 – Código fonte para carregar as matrizes do espaço de estados no Simulink.

Capítulo 5

[email protected]

58 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:44 – Matriz do sistema escrita no arquivo tipo.m (Matrizes.m).

Figura 5:45 – Matriz de entrada do sistema escrita no arquivo tipo.m (Matrizes.m).

Capítulo 5

[email protected]

59 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:46 – Matrizes C e D construídas arquivo tipo.m (Matrizes.m).

O modelo em Simulink construído para este sistema pode ser visto na Figura 5:47. As matrizes que serão inseridas no bloco State Space levará o nome da variável definida no arquivo Matrizes.m, como mostrado na Figura 5:48.

Figura 5:47 - Modelo do reator CSTR usando o bloco State Space.

Capítulo 5

[email protected]

60 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:48 – Inserção das matrizes do modelo espaço de estados no bloco State Space.

Para este modelo foi construído um subsistema e criado uma máscara para o mesmo de forma a tornar mais didática a simulação. Logo, o modelo da Figura 5:49 torna-se:

Figura 5:49 – Modelo do reator CSTR usando o bloco State Space com máscara.

Capítulo 5

[email protected]

61 de 89

EP-UFBA

Curso de SIMULINK

Um exercício que o leitor pode fazer é construir este mesmo subsistema e atribuir a máscara igual a Figura 5:49. Construído o modelo, agora pode-se simular. Porém, um link entre o arquivo.m do Matlab e o arquivo.mdl construído deve ser realizado. Uma das maneiras de fazer isso é através do bloco Subsystem. Insira um bloco deste no arquivo.mdl, dê um duplo clique neste e delete as portas In e Out, bem como a linha que os ligam, e volte para o modelo. A ilustração resultante é igual aquela apresenta na Figura 5:50.

Figura 5:50 – Modelo CSTR com o bloco Subsystem.

Agora, clique no bloco e com o botão direito do mouse selecione a opção block proparties: Subsystem. Na opção callbacks selecione o item Openfcn e no campo em branco digite o nome do arquivo.m, como mostrado na Figura 5:51.

Capítulo 5

[email protected]

62 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:51 – Comando para link entre um arquivo.M e um arquivo.mdl.

Edite a máscara deste subsistema dando-lhe o seguinte nome: Carregar dados, como demonstrado na Figura 5:52.

Figura 5:52 – Modelo CSTR com máscara

Para executar a simulação dê um duplo clique no bloco Carregar dados para que este execute o arquivo Matrizes.m e deixe disponível no Workspace. Para realizar a simulação faça uma perturbação do tipo degrau na vazão de vapor (aumento de 10%) e verifique os resultados. Capítulo 5

[email protected]

63 de 89

EP-UFBA

Curso de SIMULINK

Os resultados obtidos são mostrados nas Figuras 5:53, 5:54, 5:55 e 5:56. Analisando-os, constata-se que com o aumento da vazão de vapor, a temperatura aumenta diretamente e, consequentemente, a taxa da reação também aumenta, dessa forma a concentração de B (produto) aumenta enquanto a concentração de A (reagente) diminui. Como a vazão de vapor não influencia diretamente o nível do reator, este se manteve estável. Agora, como exercício, faça perturbações nas demais variáveis e interprete os resultados.

Figura 5:53 – Dinâmica do nível após perturbação na vazão de vapor.

Capítulo 5

[email protected]

64 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:54 - Dinâmica da concentração de A após perturbação na vazão de vapor.

Figura 5:55 - Dinâmica da concentração de B após perturbação na vazão de vapor.

Capítulo 5

[email protected]

65 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:56 - Dinâmica da temperatura após perturbação na vazão de vapor.

5.2 Modelos não-lineares Até o momento foi discutido diversos exemplos de modelos lineares ou linearizados. Contudo, nem sempre um modelo não linear que é linearizado gera resultados esperados, principalmente aqueles oriundos da modelagem fenomenológicas de processos químicos. Assim sendo, tais modelos devem ser resolvidos na sua forma original. Nesta seção será abordado o problema para solucionar modelos não lineares no ambiente Simulink. Para a solução desses tipos de modelos será utilizado um bloco específico que possui uma interface com o MATLAB, o chamado bloco S-Function.

5.2.1 O bloco S-Function Como dito anteriormente, para solucionar modelos não lineares será utilizado o bloco S-function do Simulink. Esse bloco tem o objetivo de integrar as EDO’s dos modelos não lineares que compõem o sistema dinâmico. Ele é inserido através da biblioteca User-Defined Functions, como mostrado na Figura 5:57.

Capítulo 5

[email protected]

66 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:57 – Inserção do bloco S-Function.

Na construção de uma S-Function deve-se fazer um arquivo tipo.m que deve seguir estritamente regras bem estabelecidas, de tal modo que o Simulink possa acessar corretamente as informações do MATLAB. Nesse arquivo tipo.m algumas variáveis são definidas, tais como: sys, x0, t, x, u, flag. A variável sys representa a saída de modelo, cujo significado depende da variável flag; x0 é o vetor de condições iniciais das EDO’s; t representa o tempo de simulação; x representa o vetor das variáveis de estados; u representa o vetor das variáveis de entradas e flag é um parâmetro que informa o tipo de informação que o solver espera receber. O tipo de informação contido na variável flag é codificado por valores estabelecidos, os quais são passados ao solver do bloco. Esses valores podem ser: 0, 1, 2, 3, 4 e 9. Na tabela abaixo os valores de flag mais usados e a função de cada um deles sobre os sistemas contínuos. Tabela 5:1 – Função dos valores de flag do bloco S-Function.

Capítulo 5

Valor do Flag

Dados Pedidos

0

Inicialização: a) Configura o tamanho dos vetores tradas/Saídas do modelo e o tipo de va-

[email protected]

67 de 89

EP-UFBA

Curso de SIMULINK

1

3

riável para o modelo b) Especifica as condições iniciais para as variáveis de estados. Atualização das equações diferenciais: a) Cálculos envolvendo o vetor das variáveis de entrada do modelo b) Cálculos das derivadas Cálculos de saídas: Avaliar as variáveis de saída como uma função dos elementos do vetor das variáveis de estados e em alguns casos como uma função dos elementos do vetor das variáveis de entrada.

Os argumentos de saída da S-Function, sys e x0, para valor de flag igual a zero, merece uma atenção especial. O argumento x0 é vetor que deve conter as condições iniciais das EDO’s, esse argumento é utilizado apenas para esse valor de flag. Já o argumento sys representa a quantidade e o tipo de variáveis que o modelo possui, assim tal vetor pode ser representado da forma sys = [a,b,c,d,e,f], em que: a = Números de variáveis de estados contínuos do modelo. b = Números de variáveis de estados discretas. c = Número de variáveis de saída do modelo (não necessariamente igual ao numero de variáveis de estado). d = número de variáveis de entrada do modelo. e =Marcador de alimentação direta, este pode ser 0 ou 1. Se as variáveis de saída do modelo necessita de variáveis de entrada deve-se marcar como 1 (um) caso contrário utiliza-se o valor 0 (zero). f = Tempo de amostragem (para processos contínuos, configura-se este igual a 1). Na Figura 5:58 é mostrado como fazer uma declaração em um arquivo do tipo.m para a S-Function.

Capítulo 5

[email protected]

68 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:58 – Declaração de um arquivo tipo.m para a S-Function.

Ao dar um duplo clique neste bloco, este exige que se insira o nome do arquivo que compõe o modelo e os parâmetros do sistema (os quais podem ser utilizados na resolução do problema), como mostrado na Figura 5:59.

Capítulo 5

[email protected]

69 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:59 – Caixa de dialogo do bloco S-Function.

5.2.2 Tanque Industrial com duas alimentações Para aplicar o uso da função S do Simulink, será considerado um tanque industrial representado na Figura 5:60. Esse tanque possui duas alimentações (variáveis de entrada do modelo) e a vazão de descarga sofre influência da altura do líquido dentro do tanque. Aplicando a equação do balanço de massa em torno do tanque, considerando que a massa específica é aproximadamente igual em todas as correntes, a seguinte EDO é obtida: dh q1 q2 k h = + − dt A A A

Capítulo 5

[email protected]

(5:16)

70 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:60 – Tanque industrial com duas alimentações.

Logo, para solucionar este modelo e simulá-lo através da S-Function, se faz necessário criar um arquivo tipo.m especificando as propriedades necessárias do modelo, lembrando que o nome da função criada deve ser necessariamente igual ao nome do arquivo. Nesse arquivo, além de definir as variáveis internas (t, x, u, flag), deve-se definir como parâmetros: a área transversal do tanque (A) e a constante da válvula (R). Além disso, será necessário definir a condição inicial do nível, que neste estudo de caso é 0 (zero) metro. O código fonte escrito para este modelo pode ser visto na Figura 5:61.

Figura 5:61 – Arquivo tipo.m para uso da S-Function do tanque com 2 alimentações.

Capítulo 5

[email protected]

71 de 89

EP-UFBA

Curso de SIMULINK

Como observado na Figura 5:61, quando o flag é igual a zero, foi inserido a condição inicial do nível e definiu-se os tipos de variáveis para o modelo por meio do argumento sys, que neste caso foi: sys = [1 0 2 2 0 1], o que representa a sentença: uma variável de estado contínua (h), nenhum estado discreto, duas variáveis de saída (o próprio nível h e a vazão de descarga), duas variáveis de entrada (vazões de alimentação), nenhuma alimentação direta e o tempo de amostragem para sistemas contínuos usa-se 1 (um). Para o flag igual a 1 (um) definiu-se as variáveis de entrada (q1 e q2) e a equação diferencial do nível. Para o flag igual a 3 (três) definiu-se as variáveis de saída que se deseja. Construído o arquivo tanque.m, deve-se simular o sistema no ambiente Simulink. Um modelo proposto para o mesmo pode ser visualizado na Figura 5:62.

Figura 5:62 – Modelo de um tanque industrial com duas alimentações.

Capítulo 5

[email protected]

72 de 89

EP-UFBA

Curso de SIMULINK

Nos blocos Steps das vazões de alimentação do tanque, deve-se perturbar a vazão de entrada 1 no tempo 0 minuto de 0 a 1 e perturbar a vazão de entrada 2 no tempo 5 minutos com os mesmos valores de vazão de entrada 1. Essa configuração é mostrada nas Figuras 5:63 e 5:64.

Figura 5:63 – Caixa de dialogo da vazão de alimentação 1.

Figura 5:64 - Caixa de dialogo da vazão de alimentação 2.

Capítulo 5

[email protected]

73 de 89

EP-UFBA

Curso de SIMULINK

Configurado as entradas do modelo, agora é o momento de configurar o bloco S-Function, é aqui que se deve informar ao Simulink qual arquivo tipo.m ele deve usar para execução da simulação. Além disso, os valores dos parâmetros (A e R) devem ser passados ao solver para iniciar a simulação corretamente. Para realizar tal procedimento, dê um duplo clique sobre o bloco S-Function. No campo S-function name insira o nome do arquivo tipo.m (tanque.m) construído para o modelo, e no campo S-function parameters insira o nome dos parâmetros do modelo.

Figura 5:65 – Configurando o bloco S-Fucntion.

O próximo passo é criar uma máscara para o bloco, para isso clique com o botão direito do mouse e escolha a opção: Mask S-Function..., aperte o ícone Parameters, no campo Prompt digite uma breve descrição de cada parâmetro (uma em cada linha), no campo Variable digite a mesma variável declarada em tanque.m de cada parâmetro, ver procedimento na Figura 5:66.

Capítulo 5

[email protected]

74 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:66 – Modelo inserindo os parâmetros do modelo.

Depois de criado a máscara ao bloco S-Function, ao dar um duplo clique sobre o mesmo o usuário terá a opção de inserir os valores que deseja para os parâmetros. Para este estudo de caso, os valores são A=0,5 m2 e R = 1,5 m2,5/min. A inserção desses valores é esquematicamente apresentada na Figura 5:67.

Capítulo 5

[email protected]

75 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:67 – Modelo do tanque com duas alimentações com máscara.

Feito isso, pode simular o modelo. Os resultados são apresentados nas Figura 5:68 e Figura 5:69.

Figura 5:68 - Nível do tanque com duas alimentações.

Capítulo 5

[email protected]

76 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:69 – Vazão de descarga do tanque com duas alimentações.

5.2.3 Reator CSTR com componente inerte Um sistema dinâmico não linear a ser modelado aqui é um reator CSTR. O modelo que será utilizado é semelhante ao exemplo da Figura 5:42. Contudo uma pequena diferença entre ambos é configurada aqui. Neste sistema se acrescenta um componente inerte (C) ao modelo, ou seja, esse componente não participa da reação. Ainda assim, uma EDO adicional será requerida para solução do problema.

Capítulo 5

[email protected]

77 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:70 - Reator CSTR com um componente inerte no meio reacional.

Realizando os balanços de massa, de quantidade de matéria e de energia, o sistema dinâmico é modelado pelas seguintes EDO’s: dh qi k h = − dt A A

(

)

(5:18)

(

)

(5:19)

E − dC A C Ai − C A qi RT = − kO e C A dt Ah E − dCB CBi − CB qi RT = + kO e C A dt Ah

(

)

dCC CCi − CC qi = dt Ah

dT = dt

(5:17)

qi (Ti − T ) Ah

Capítulo 5





E RT

F λ ∆H r kO e C A + vap η Cp η CpAh

[email protected]

(5:20)

(5:21)

78 de 89

EP-UFBA

Curso de SIMULINK

Como já é sabido, o primeiro passo é escrever o arquivo tipo.m para inserir as equações do modelo, assim como foi feito no exemplo anterior. Lembrando que os parâmetros que devem ser passados como argumento da S-Function são: Área transversal do reator ( A ), a energia de ativação da reação ( E ), constante universal do gases ( R ), fator pré-exponencial ( ko ), a concentração molar da mistura reacional ( η ), o calor específico molar da mistura ( Cp ), o calor latente do vapor ( λ ), o calor de reação ( ∆H r ). Os valores desses parâmetros são: 1 kmol ; η = 19,20 min m3 J J J ∆H r = 1,972x108 ; λ = 2,2572x106 ; Cp = 1,815x105 kmol kg kmolºC A = 2,3249 m 2 ; kO = 64,4295

m 5/2 J J k = 1,5 ; E = 1,182x107 ; R = 8314.39 min kmol kmolK As condições iniciais para o modelo são:

kmol m3 kmol kmol C A = 7, 6 CC = 2, 2 3 m m3 T = 57,3ºC h = 1, 0 m

CB = 14, 6

Para o modelo em ênfase, é assumido que as variáveis de saída são as próprias variáveis de estado, além das variáveis: vazão de descarga e a carga térmica do reator. Logo, sete variáveis de saída devem ser configuradas no arquivo tipo.m (aqui denotado por reator_CSTR.m). Nas Figuras 5:71, 5:72 e 5:73 podem ser visualizadas partes do arquivo reator_CSTR.m elaborado.

Capítulo 5

[email protected]

79 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:71 – Parte do arquivo reator_CSTR.m referente ao flag igual a 0.

Figura 5:72 - Parte do arquivo reator_CSTR.m referente ao flag igual a 1.

Capítulo 5

[email protected]

80 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:73 - Parte do arquivo reator_CSTR.m referente ao flag igual a 3.

Capítulo 5

[email protected]

81 de 89

EP-UFBA

Curso de SIMULINK

Construído o arquivo reator_CSTR.m, deve-se simular o sistema no ambiente Simulink. Um modelo em Simulink proposto para este problema é apresentado na Figura 5:74.

Figura 5:74 – Modelo do reator CSTR com componente inerte.

Como realizado no exemplo 5.2.2 deve-se configurar o bloco S-Function e atribuir uma máscara ao mesmo (criando uma caixa de diálogo para os parâmetros). O resultado deste procedimento é mostrado nas Figura 5:75 e Figura 5:76.

Capítulo 5

[email protected]

82 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:75 – Configuração do bloco S-Function do reator CSTR com componente inerte.

Figura 5:76 – Configuração dos parâmetros do modelo CSTR com componente inerte.

Capítulo 5

[email protected]

83 de 89

EP-UFBA

Curso de SIMULINK

Realizado as devidas configurações do modelo, pode-se, subsequentemente, simulá-lo. No presente sistema deve ser realizado uma perturbação do tipo degrau na vazão de vapor de 20% acima do valor atual no tempo 20 minutos, uma perturbação do tipo degrau na vazão de alimentação de 10% acima do valor atual no tempo 40 minutos e, por último, uma perturbação do tipo degrau na temperatura na corrente de alimentação de 30% acima do valor atual no tempo 80 minutos. Os resultados de simulação encontrados para este modelo são mostrados nas Figuras 5:77, 5:78, 5:79, 5:80, 5:81, 5:82 e 5:83. Como mostrado nas figuras supracitadas, verifica-se que após a perturbação da vazão de vapor nada acontece com o nível e a vazão de descarga, pois a vazão de vapor não influencia diretamente tais variáveis. Contudo, as concentrações de A, B e C variam como esperado, a concentração de A diminui enquanto que a concentração de B aumenta e a concentração de C permanece inalterada. A explicação disso decorre do fato de que o aumento da concentração de B é compensado pela diminuição da concentração de A, não variando assim, a concentração do inerte C. Esse cenário ocorre, pois o aumento da vazão de vapor aumenta a temperatura interna do reator e, como consequência, um aumento no avanço da reação será manifestado. Na perturbação realizada na vazão de alimentação houve um aumento do nível e da vazão de descarga. Já a concentração de A aumenta, pois a corrente de alimentação é mais rica neste componente, logo um aumento na vazão aumentará também a concentração de A e, assim, uma diminuição da concentração de B. Além disso, a temperatura do reator tende a diminuir haja vista que uma maior massa está presente no reator para uma mesma vazão de vapor. Na terceira perturbação, o aumento da temperatura da corrente de alimentação favorece ao avanço da reação uma vez que essa corrente entra no reator mais aquecida. Portanto, uma maior concentração de B e uma menor concentração de A é alcançada em relação ao estado estacionário anterior. Por outro lado a temperatura interna também aumenta. As variáveis nível e vazão de descarga não se alteram, pois não dependem da temperatura da corrente de entrada do reator, conforme apresentado nas equações do modelo. Capítulo 5

[email protected]

84 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:77 - Comportamento dinâmico do nível do reator CSTR com componente inerte.

Figura 5:78 – Comportamento dinâmico da concentração de A do reator CSTR com componente inerte.

Capítulo 5

[email protected]

85 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:79 - Comportamento dinâmico da concentração de B do reator CSTR com componente inerte.

Figura 5:80 - Comportamento dinâmico da concentração de C do reator CSTR com componente inerte.

Capítulo 5

[email protected]

86 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:81 - Comportamento dinâmico da temperatura do reator CSTR com componente inerte.

Figura 5:82 - Comportamento dinâmico da carga térmica do reator CSTR com componente inerte.

Capítulo 5

[email protected]

87 de 89

EP-UFBA

Curso de SIMULINK

Figura 5:83 - Comportamento dinâmico da vazão de descarga do reator CSTR com componente inerte.

Capítulo 5

[email protected]

88 de 89

EP-UFBA

Curso de SIMULINK

6 Bibliografia DABNEY, James B.; HARMAN, Thomas L. (2004) Master SIMULINK. Editora Pearson/Prentice Hall. FILHO, Bernardo S. S. et al. (2008) Apostila: Curso de Simulink 2.0: Modelagem, Simulação e Análise de Sistemas Dinâmicos. Laboratório de Engenharia Elétrica da Universidade do Estado do rio de Janeiro (UERJ).

7 Referências Bibliográficas CAMPOS, M.C.; TEIXEIRA, H.C.G. Controle típicos de Equipamentos e Processos Industriais. Editora Edgard Blucher, Rio de Janeiro, 2006. FOX, R.W.; McDONALD, A.T.; PRITCHARD, P.J. Introdução a Mecânica dos Fluidos. Editora LTC, 5ª edição, Rio de Janeiro, 2006. INCROPERA, F.P.; DEWITT, D.P. Fundamentos de Transferência de Calor e de Massa. 5ª. Edição, Rio de Janeiro: LTC, 2003. KALID, R.A. Apostila: Controle de Processos. Escola Politécnica da UFBA. Salvador, 2007. LUYBEN, W.L. Process Modeling, Simulation and Control for Chemical Engineers. Editora McGraw Hill Book Company, 2ª Edição, Singapore, 1990. OGATA, K. Engenharia de Controle Moderno. Editora Prentice Hall do Brasil, Rio de Janeiro, 1982. SEBORG, D.E.; EDGAR, T.F.; MELLICHAMP, D.A. Process Dynamics and Control. Editora John Wiley & Sons, Singapore, 1989. SMITH, C.A.; CORRIPIO, A. Princípios e Prática de Controle Automático de Processo. Editora LTC, 3ª edição, Rio de Janeiro, 2008. STEPHANOPOULOS, G. Chemical Process Control: An Introduction to Theory and Practice. Editora Prentice Hall International, London, 1984. THE INSTRUMENT, SYSTEM AND AUTOMATION. Instrumentation Symbols and Identification. ANSI/ISA – S5.1, 1984.

Capítulo 6

[email protected]

89 de 89

More Documents from "Daniele Ramos"

Apostila_simulink
January 2021 0
Anatomia_della_fascia.pdf
January 2021 0
January 2021 1
Jam Session 2
January 2021 1