Você está na página 1de 89

UNIVERSIDADE FEDERAL DA BAHIA

ESCOLA POLITÉCNICA

MODELAGEM, SIMULAÇÃO E CONTROLE DE SIS-


TEMAS DINÂMICOS CONTÍNUOS ATRAVÉS DO AM-
BIENTE SIMULINK

Márcio André Fernandes Martins, M.Sc.


marcioengquimica@gmail.com

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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 6 de 89
6 Bibliografia .............................................................................................. 89

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

Sumário marcioengquimica@gmail.com 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 proces-
sos.
O trabalho é dividido de forma didática, laconicamente configurado da maneira
como segue. Inicia-se pelas formas básicas de utilização do Simulink, posteriormen-
te um avanço para construção de modelos lineares e não lineares e, por fim, de-
monstra-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 suges-
tõ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 marcioengquimica@gmail.com 8 de 89
EP-UFBA Curso de SIMULINK

2 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 sem-
pre 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ísico-
quí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áti-
cas 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 se-
gunda, é 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 de-
mandas 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 des-
crevam os processos sob o regime transiente, visto que grande parte dos simulado-
res comerciais descreve os sistemas sob o regime permanente.
Sob uma perspectiva de projeto, os simuladores estáticos são de extrema utili-
dade, 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 com-
portamento 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 marcioengquimica@gmail.com 9 de 89
EP-UFBA Curso de SIMULINK

Um simulador capaz de fornecer aos engenheiros uma análise dos sistemas di-
nâ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 localiza-
dos 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 lin-
guagem do MATLAB, de tal modo que a execução e a escolha de algoritmos de re-
soluçã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 proces-
samento ou visualização dos dados simulados no MATLAB.

Capítulo 2 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 intitula-
da 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 a-
grupados por ícones específicos do Simulink, tais como: Continuous, Math Operati-
on, dentre outros. Para ter acesso a esses blocos, deve-se clicar no ícone específi-
co, em que podem ser visualizados os blocos. Um exemplo disso pode ser observa-
do 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 atra-
vés da criação de um modelo que consiste em obter a integral de uma onda senoi-
dal.

Capítulo 3 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 Simu-
lation 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 visualiza-
do na Figura 3:9.

Capítulo 3 marcioengquimica@gmail.com 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 lo-
cal (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 habi-
lidade 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, co-
mo 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á dis-
poní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 marcioengquimica@gmail.com 15 de 89
EP-UFBA Curso de SIMULINK

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

Capítulo 3 marcioengquimica@gmail.com 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, ge-
radores 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 exis-
tentes pode-se citar os blocos integradores, ganhos, somas e produtos. Esses blo-
cos 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 marcioengquimica@gmail.com 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 siste-
ma 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 utili-
zar 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 mos-
trados na Tabela 4:1, retiradas do trabalho de FILHO et al. (2008), os principais co-
mandos 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 diferen-
ciais. 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 continua-
mente o passo de integração maximizando a eficiência enquanto mantém uma pre-
cisã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 marcioengquimica@gmail.com 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.
Selecionar outro objeto Pressione a tecla SHIFT e clique no outro
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 Selecione o bloco e arraste para a janela do
modelo para o qual se quer copiar.
outro modelo
Inverter blocos Selecione o bloco e no menu Format:Flip
Block. Tecla de atalho: CTRL-f.
Rotacionar blocos Selecione o bloco e no menu Format:Rotate
Block. Tecla de atalho: CTRL-r
Redimesionar blocos Selecione o bloco e arraste o canto
Adicionar sombra Selecione o bloco e no menu Format:Show
Drop Shadow.
Editar o nome de um bloco Clique no nome.
Ocultar o nome de um bloco Selecione o nome, no menu Format:Hide
Name
Inverter o nome de um bloco Selecione o nome, no menu Format:Flip
Name
Apagar objetos Selecione o objeto, no menu Edit:Clear. Te-
cla de atalho: Del.
Copiar objetos para a área de transferência Selecione o objeto, no menu Edit:Copy. Te-
cla 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 marcioengquimica@gmail.com 19 de 89
EP-UFBA Curso de SIMULINK

Colar objetos a partir da área de transferência No menu Edit:Copy. Tecla de atalho: CTRL-
v.
Traçar uma linha de sinal Arrastar com o mouse da saída do bloco para
a entrada do outro.
Traçar uma linha de sinal em segmentos Arraste com o mouse da saída do bloco até o
primeiro ponto. Repetir deste ponto até o
seguinte e assim por diante.

Traçar uma linha ligada a outra Mantenha a tecla CTRL pressionada e clique
sobre a linha de origem. Tecla de atalho: Cli-
car com o botão direito do mouse a partir da
linha de origem.
Separar uma linha Selecione a linha. Mantendo a tecla SHIFT
pressionada, clique e arraste o novo vertex
para a posição desejada.
Mover um segmento de linha 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 dese-
jada.
Copiar o nome de uma linha de sinal 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.
Sinais de propagação numa linha de sinal Dê um nome aos sinais conhecidos (entrada)
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 mo- Dê um duplo clique no local em que se deseja
e digite o texto.
delo

Capítulo 4 marcioengquimica@gmail.com 20 de 89
EP-UFBA Curso de SIMULINK

Tabela 4:2 - Métodos numéricos do Simulink.


MÉTODO DE SOLUÇÃO CARACTERÍSTICAS
Excelente método de propósito geral de pas-
so simples. É baseado nos métodos de Dor-
ODE45 mand-Prince e de Runge-Kutta para Quar-
ta/Quinta ordem. ODE45 é o método default e
é geralmente uma boa primeira opção.
Usa os métodos Bogacki-Shampine e Runge-
Kutta de Segunda/Terceira ordem. Ás vezes
funciona melhor do que ODE45 na presença
ODE23
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 cor-
ODE113 rente, 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 pes-
ODE15S quisas 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
ODE23S
parecer inflexível é uma boa idéia tentar am-
bos 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
Fixed-and-Variable-Step Discrete
estados descontínuos.
ODE5 Versão de passo fixo de ODE45.
Fórmulas clássicas de Quarta ordem de Run-
ODE4
ge-Kutta utilizando passo de tamanho fixo.
ODE3 Versão de passo fixo de ODE23.
Método de Runge-Kutta de passo fixo de
ODE2 Segunda ordem, também conhecido por Mé-
todo de Heun.
Método de Euler utilizando passo de tamanho
ODE1
fixo.

Capítulo 4 marcioengquimica@gmail.com 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 bi-
blioteca 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 biblio-
teca. 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 marcioengquimica@gmail.com 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 comportamen-
to 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 indus-
trial, 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 des-
carga.

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 (5:1)
dt

Na modelagem de um sistema, hipóteses sempre são bem-vindas para simplifi-


caçã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 va-
ria 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 marcioengquimica@gmail.com 23 de 89
EP-UFBA Curso de SIMULINK

dh q1 − q2
= (5:2)
dt A
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 encontra-
do 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 marcioengquimica@gmail.com 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 en-
trada 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 bom-
ba 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álo-
go são apresentados na Figura 5:5.

Capítulo 5 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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áxi-
mo 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, executa-
se a simulação do modelo, cujos resultantes comportamentos do sistema são apre-
sentados 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 au-
mentar. 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 auto-
regulado, 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 abor-
dados mais adiante neste trabalho.

Capítulo 5 marcioengquimica@gmail.com 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 comportamen-


to 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 pri-
mário do termopar, o qual estará em contato com o fluido, possua uma forma apro-
ximadamente 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 esfe-
ra é igual a energia perdida (acumulada) pelo fluido através do mecanismo de trans-
ferência de calor por convecção, em termos matemático resulta em:
dE
= − h∞ A(T − T∞ ) (5:3)
dt

Na modelagem deste sistema é razoável assumir a hipótese do método capaci-


dade 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 marcioengquimica@gmail.com 29 de 89
EP-UFBA Curso de SIMULINK

dT h AT h∞ AT∞
=− ∞ + (5:4)
dt ρVCp ρVCp

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 ini-
cial 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 transfe-
rê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:
0.93283 ºC −0.9027 −1.969 s º C
GT − Fv = GT − Fi = e
4.3239 s + 1 m / min
3
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 alimen-

tação.
Além disso, os valores de referência (estado estacionário) do modelo são:
T SS = 57, 3 º C
t
Fi SS = 1,5
min
m3
FVSS = 0, 3942
min
Na simulação deve-se perturbar em degrau a vazão de vapor e verificar o com-
portamento 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 Conti-
nuous (Transfer Fcn).

Capítulo 5 marcioengquimica@gmail.com 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 Biblioteca
Sources Sink
Biblioteca
Continuous

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 marcioengquimica@gmail.com 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 ra-
zõ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 tor-
nando complexos, o entendimento dos fluxos de informação provenientes dos mode-
los 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 obstan-
te, no Simulink existe a possibilidade de atribuir propriedades específicas aos sub-
sistemas 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á neces-
sá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 in-
glês manipulated variable) de modo a manter o valor da variável de process ou con-
trolada (PV, do inglês process variable) igual o próximo ao valor desejado ou set-
point (SP).

Capítulo 5 marcioengquimica@gmail.com 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 for-
ma ad hoc, contudo, métodos sofisticados de sintonia requerem, em quase sua tota-
lidade, 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 La-
place.

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 marcioengquimica@gmail.com 35 de 89
EP-UFBA Curso de SIMULINK

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


mento selecionado.

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


tema.

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 marcioengquimica@gmail.com 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 pala-
vra 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 “tem-
peratura”, como pode ser visto na Figura 5:21.

Capítulo 5 marcioengquimica@gmail.com 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 bre-
ve descrição da variável no campo Prompt, ao passo que no campo Variable deve-
se digitar os nomes das variáveis que foi digitado nos blocos funções de transferên-
cia, ver Figura 5:22. Após tal procedimento aperte o botão Apply.

Capítulo 5 marcioengquimica@gmail.com 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 se-
gue.

Capítulo 5 marcioengquimica@gmail.com 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 ele-
mento primário de medição e envia em unidades de corrente (mA) para o controla-
dor. 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 medi-
do 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 cons-
truçã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 en-
via um sinal para a válvula de controle.

Capítulo 5 marcioengquimica@gmail.com 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 contro-
le. 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 a-
tender o controle desejado. A válvula de controle recebe o sinal do controlador e e-
xecuta 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 Fi-
gura 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 marcioengquimica@gmail.com 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 utiliza-
se 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 blo-
co específico chamado de From (que será mostrado posteriormente). Isso será ne-
cessá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ír-
culo e sobre sua parte interna será inserido uma nomenclatura padrão de um trans-
missor e um controlador de temperatura, conforme norma regulamentadora do as-
sunto (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 à no-
menclatura padrão.

Capítulo 5 marcioengquimica@gmail.com 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 fa-
zer.
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, na-
da 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, con-
forme apresentado na Figura 5:28.

Capítulo 5 marcioengquimica@gmail.com 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 cons-


truçã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 marcioengquimica@gmail.com 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 utili-


zados 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 fe-
chada após a construção das máscaras.

Capítulo 5 marcioengquimica@gmail.com 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: ga-
nho, 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 marcioengquimica@gmail.com 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 compor-
tamento 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 ti-


po espaço de estados. Esse tipo de modelo é representado da seguinte maneira:

Capítulo 5 marcioengquimica@gmail.com 47 de 89
EP-UFBA Curso de SIMULINK

xɺ = A x + B u
, (5:5)
y = C x + Du

em que: xɺ vetor das derivadas dos estados do sistema, x vetor dos estados do sis-
tema, 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 des-
se 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, al-


guns 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 vo-
lume e massa são:

Capítulo 5 marcioengquimica@gmail.com 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 inicial-


mente 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:

 q1 
[ h ]1x1 = A1x1 [ h ]1x1 + B1x 2  
 q2  2 x1
h  ,
V  = C h  q1 
  3 x1 [ ]1 x1 + D3 x 2  
 m  3 x1  q2  2 x1

em que as matrizes A , B , C e D são:

1 1
A1x1 = [ 0]1x1 ; B1x 2 =  − 
A A 1x 2
 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 Figu-
ra 5:35.

Capítulo 5 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 50 de 89
EP-UFBA Curso de SIMULINK

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

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 tan-
to 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 gravi-


dade, como mostrado na Figura 5:39, e, portanto, a vazão de saída do tanque é de-
pendente 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 marcioengquimica@gmail.com 51 de 89
EP-UFBA Curso de SIMULINK

dh q1 k h
= − (5:8)
dt A A

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 line-
ar 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 )
(5:9)
y ≅ hr + C ( x − x r ) + D ( u − u r )

Visto que se assume que o ponto de referência é o estado estacionário, os valo-


res de f r e h r são nulos. Logo a equação se tornará:

xɺ = A ( x − x r ) + B ( u − u r )
(5:10)
y = C ( x − xr ) + D ( u − u r )

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. Definin-
do a função f i como:

f i = xɺ i .

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

∂f i
aij = .
∂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:


∂f i
bij = .
∂u j

Agora, definindo a função gi como:

gi = y i .

Capítulo 5 marcioengquimica@gmail.com 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:

∂gi
cij = ,
∂x j

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

∂gi
dij = .
∂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 marcioengquimica@gmail.com 53 de 89
EP-UFBA Curso de SIMULINK

 g1   h 
dh    
f1 = e  g2  = V
dt  
 g 3   m 
 
 ∂f1   − q1  ; B =  ∂f1  =  1 
A1x1 =   =
( )
   
 ∂h   2k h SS  ∂q1   A 1x1
1 x1

 1x1 

 ∂g1   ∂g1 
 ∂h   
  1   ∂q1  0 
C3 x1 =  2
∂g  =  A  ; D =  ∂g 2   
 ∂h      = 0 
 ∂q1
3 x1

   ρ A  3 x1  0  3 x1
 ∂g3   ∂g3 
 
 ∂h  3 x1  ∂q1  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 ins-
tante 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 marcioengquimica@gmail.com 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 re-
sultados.

• 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 marcioengquimica@gmail.com 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 é a-
quecido 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 mode-
lo:
dh qi k h
= − (5:12)
dt A A

=
(
dC A C Ai − C A qi ) −
E
− kO e RT C A (5:13)
dt Ah

=
(
dCB CBi − CB qi )−
E
+ kO e RT C A (5:14)
dt Ah
E

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

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 ASS = 16.224 3
; C BSS = 0.6528
i
m i
m3
kmol kmol
C ASS = 7.6064 3
; C BSS = 14.2639
m m3
m3
q iSS = 1,5 ; LSS = 1, 0 m
min
kg
Ti SS = 383, 9 ºC; T SS = 57, 3 ºC; FvapSS = 602
min

E os parâmetros do modelo são:

1 kg
A = 2,3249 m 2 ; kO = 51,2566 ; ρ = 1000 3
min m
J J J
∆H r = 1,972x108 ; λ = 2,2572x106 ; Cp = 1,815x105
kmol kg kg.ºC
m5/2 J J
k = 6,37 ; E = 1,182x107 ; R = 8314.39
min kmol kmol.K

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

Capítulo 5 marcioengquimica@gmail.com 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 
   qi 
 dt  h   
 d CA    C Ai 
  C A   
 dt  = A4 x 4   + B4 x 5 CBi 
 d CB  CB   
  T  Ti 
 dt    4 x1  
 dT  T  5 x1
 
 dt  4 x1
 qi 
h  h   
    C Ai 
 A
C  A
C  
  = C 4 x 4   + D4 x 5  CBi 
C
 B C
 B  
T  T  Ti 
  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 
 1   dC   g1   h 
f
 f   A   g  C 
 2  =  dt  e  2  =  A 
 f 3   dCB   g 3  CB 
       
f
 4  dt   g 4  T 
 dT 
 
 dt 

Capítulo 5 marcioengquimica@gmail.com 57 de 89
EP-UFBA Curso de SIMULINK

 ∂f1 ∂f1 ∂f1 ∂f1   ∂f1 ∂f1 ∂f1 ∂f1 ∂f1 


 ∂h  ∂qi ∂C Ai ∂CBi ∂Ti ∂Fvap 
∂C A ∂CB ∂T   
 
 ∂f 2 ∂f 2 ∂f 2 ∂f 2   ∂ f 2 ∂f 2 ∂f 2 ∂f 2 ∂f 2

 ∂h  
∂C A ∂CB ∂T  ∂q ∂C Ai ∂CBi ∂Ti ∂Fvap 
A4 x 4 = ; B =  i
 ∂f3 ∂f 3 ∂f 3 ∂f 3 
4 x5  ∂f ∂f 3 ∂f 3 ∂f 3 ∂f 3 
   3

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

 ∂h ∂C A ∂CB ∂T   ∂qi ∂C Ai ∂CBi ∂Ti ∂Fvap 
 ∂g 4 ∂g 4 ∂g 4 ∂g 4   
   ∂g 4 ∂g 4 ∂g 4 ∂g 4 ∂g 4 
 ∂h ∂C A ∂CB ∂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 concor-
dâ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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 61 de 89
EP-UFBA Curso de SIMULINK

Um exercício que o leitor pode fazer é construir este mesmo subsistema e atribu-
ir 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 du-
plo 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 marcioengquimica@gmail.com 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 reali-
zar 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 marcioengquimica@gmail.com 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. Anali-
sando-os, constata-se que com o aumento da vazão de vapor, a temperatura au-
menta 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 (rea-
gente) 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 lineari-


zados. Contudo, nem sempre um modelo não linear que é linearizado gera resulta-
dos 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 marcioengquimica@gmail.com 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 se-
guir estritamente regras bem estabelecidas, de tal modo que o Simulink possa aces-
sar 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 inici-
ais 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âme-
tro 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 estabeleci-


dos, 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.

Valor do Flag Dados Pedidos


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

Capítulo 5 marcioengquimica@gmail.com 67 de 89
EP-UFBA Curso de SIMULINK

riável para o modelo


b) Especifica as condições iniciais para
as variáveis de estados.
Atualização das equações diferenci-
1 ais:
a) Cálculos envolvendo o vetor das vari-
áveis de entrada do modelo
b) Cálculos das derivadas
Cálculos de saídas:
3 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 pos-
sui, 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 con-
trá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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 indus-


trial 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
= + − (5:16)
dt A A A

Capítulo 5 marcioengquimica@gmail.com 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 ne-
cessário criar um arquivo tipo.m especificando as propriedades necessárias do mo-
delo, 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 marcioengquimica@gmail.com 71 de 89
EP-UFBA Curso de SIMULINK

Como observado na Figura 5:61, quando o flag é igual a zero, foi inserido a con-
diçã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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 li-
nha), 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 mo-
delo que será utilizado é semelhante ao exemplo da Figura 5:42. Contudo uma pe-
quena 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 marcioengquimica@gmail.com 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 sis-


tema dinâmico é modelado pelas seguintes EDO’s:
dh qi k h
= − (5:17)
dt A A

=
(
dC A C Ai − C A qi ) −
E
− kO e C A
RT (5:18)
dt Ah

=
(
dCB CBi − CB qi −) E
+ kO e C A
RT (5:19)
dt Ah

(
dCC CCi − CC qi
=
) (5:20)
dt Ah
E

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

Capítulo 5 marcioengquimica@gmail.com 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
A = 2,3249 m 2 ; kO = 64,4295 ; η = 19,20
min m3
J J J
∆H r = 1,972x108 ; λ = 2,2572x106 ; Cp = 1,815x105
kmol kg kmolºC
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
h = 1, 0 m CB = 14, 6
m3
kmol kmol
C A = 7, 6 3
CC = 2, 2
m m3
T = 57,3ºC

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 visualiza-
das partes do arquivo reator_CSTR.m elaborado.

Capítulo 5 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 atri-


buir 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 marcioengquimica@gmail.com 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 marcioengquimica@gmail.com 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 corren-
te 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 supra-
citadas, 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 concen-
traçã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 vari-
ando 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 ali-
mentaçã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 a-
quecida. 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 a-
presentado nas equações do modelo.

Capítulo 5 marcioengquimica@gmail.com 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 componen-


te inerte.

Capítulo 5 marcioengquimica@gmail.com 85 de 89
EP-UFBA Curso de SIMULINK

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


te inerte.

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


te inerte.

Capítulo 5 marcioengquimica@gmail.com 86 de 89
EP-UFBA Curso de SIMULINK

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

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

Capítulo 5 marcioengquimica@gmail.com 87 de 89
EP-UFBA Curso de SIMULINK

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

Capítulo 5 marcioengquimica@gmail.com 88 de 89
EP-UFBA Curso de SIMULINK

6 Bibliografia
DABNEY, James B.; HARMAN, Thomas L. (2004) Master SIMULINK. Editora Pear-
son/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 Proces-
sos Industriais. Editora Edgard Blucher, Rio de Janeiro, 2006.

FOX, R.W.; McDONALD, A.T.; PRITCHARD, P.J. Introdução a Mecânica dos Flui-
dos. 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. Salva-


dor, 2007.

LUYBEN, W.L. Process Modeling, Simulation and Control for Chemical Engi-
neers. 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 Con-
trol. Editora John Wiley & Sons, Singapore, 1989.

SMITH, C.A.; CORRIPIO, A. Princípios e Prática de Controle Automático de Pro-


cesso. 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 marcioengquimica@gmail.com 89 de 89

Você também pode gostar