Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Simulink
Apostila Simulink
ESCOLA POLITÉCNICA
Salvador-BA
Última revisão: 11 de março de 2013.
Lista de Figuras
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
Sumário marcioengquimica@gmail.com 5 de 89
SUMÁRIO
Lista de Tabelas......................................................................................................... 5
1 Apresentação ............................................................................................ 8
2 Introdução ................................................................................................. 9
5.1.1 Tanque industrial com descarga succionado por uma bomba ............. 23
Sumário marcioengquimica@gmail.com 6 de 89
6 Bibliografia .............................................................................................. 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
Capítulo 3 marcioengquimica@gmail.com 11 de 89
EP-UFBA Curso de SIMULINK
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:
Segundo passo é clicar no ícone Continuous, arrastar o bloco Integrator, ver Figura
3:6.
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
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.
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
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.
Capítulo 3 marcioengquimica@gmail.com 15 de 89
EP-UFBA Curso de SIMULINK
Capítulo 3 marcioengquimica@gmail.com 16 de 89
EP-UFBA Curso de SIMULINK
Capítulo 4 marcioengquimica@gmail.com 17 de 89
EP-UFBA Curso de SIMULINK
Capítulo 4 marcioengquimica@gmail.com 18 de 89
EP-UFBA Curso de SIMULINK
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 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
Capítulo 4 marcioengquimica@gmail.com 21 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 22 de 89
EP-UFBA Curso de SIMULINK
Figura 5:2 - Tanque industrial com descarga succionada por uma bomba centrífuga.
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.
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
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
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
Capítulo 5 marcioengquimica@gmail.com 29 de 89
EP-UFBA Curso de SIMULINK
dT h AT h∞ AT∞
=− ∞ + (5:4)
dt ρVCp ρVCp
Biblioteca
Sources
Biblioteca
Continuous
Biblioteca
Sink
Capítulo 5 marcioengquimica@gmail.com 30 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 31 de 89
EP-UFBA Curso de SIMULINK
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
Biblioteca Biblioteca
Sources Sink
Biblioteca
Continuous
Figura 5:15 - Temperatura do tanque aquecido. Figura 5:16 - Vazão de vapor no tanque.
Capítulo 5 marcioengquimica@gmail.com 33 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 34 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 35 de 89
EP-UFBA Curso de SIMULINK
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
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
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
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:
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).
• 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
• 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
Capítulo 5 marcioengquimica@gmail.com 42 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 43 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 44 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 45 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 46 de 89
EP-UFBA Curso de SIMULINK
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
das.
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)
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
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
Capítulo 5 marcioengquimica@gmail.com 49 de 89
EP-UFBA Curso de SIMULINK
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.
Capítulo 5 marcioengquimica@gmail.com 51 de 89
EP-UFBA Curso de SIMULINK
dh q1 k h
= − (5:8)
dt A A
xɺ = A ( x − x r ) + B ( u − u r )
(5:10)
y = C ( x − xr ) + D ( u − u r )
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 .
∂f i
aij = .
∂x j
gi = y i .
Capítulo 5 marcioengquimica@gmail.com 52 de 89
EP-UFBA Curso de SIMULINK
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
∂gi
dij = .
∂u j
x = (x − xr )
u = (u − ur )
y = (y − y )
r
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
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.
Capítulo 5 marcioengquimica@gmail.com 54 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 55 de 89
EP-UFBA Curso de SIMULINK
=
(
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
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
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
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
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
Capítulo 5 marcioengquimica@gmail.com 59 de 89
EP-UFBA Curso de SIMULINK
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.
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.
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
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.
Capítulo 5 marcioengquimica@gmail.com 64 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 65 de 89
EP-UFBA Curso de SIMULINK
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.
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
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.
Capítulo 5 marcioengquimica@gmail.com 67 de 89
EP-UFBA Curso de SIMULINK
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).
Capítulo 5 marcioengquimica@gmail.com 68 de 89
EP-UFBA Curso de SIMULINK
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
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
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.
Capítulo 5 marcioengquimica@gmail.com 72 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 73 de 89
EP-UFBA Curso de SIMULINK
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
Capítulo 5 marcioengquimica@gmail.com 75 de 89
EP-UFBA Curso de SIMULINK
Feito isso, pode simular o modelo. Os resultados são apresentados nas Figura
5:68 e Figura 5:69.
Capítulo 5 marcioengquimica@gmail.com 76 de 89
EP-UFBA Curso de SIMULINK
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
=
(
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
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
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
Capítulo 5 marcioengquimica@gmail.com 79 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 80 de 89
EP-UFBA Curso de SIMULINK
Capítulo 5 marcioengquimica@gmail.com 81 de 89
EP-UFBA Curso de SIMULINK
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
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.
Capítulo 5 marcioengquimica@gmail.com 85 de 89
EP-UFBA Curso de SIMULINK
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.
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.
LUYBEN, W.L. Process Modeling, Simulation and Control for Chemical Engi-
neers. Editora McGraw Hill Book Company, 2ª Edição, Singapore, 1990.
SEBORG, D.E.; EDGAR, T.F.; MELLICHAMP, D.A. Process Dynamics and Con-
trol. Editora John Wiley & Sons, Singapore, 1989.
Capítulo 6 marcioengquimica@gmail.com 89 de 89