Você está na página 1de 18

TUTORIAL DE INTRODUÇÃO

AO SIMULINK (Version 7.6)

Carla Isabel Costa Pinheiro

Departamento de Engª Química e Biológica


do
Instituto Superior Técnico

Setembro de 2012
Introdução ao SIMULINK

Introdução
O SIMULINK é uma ferramenta computacional constituída por uma biblioteca de blocos
integrada no MATLAB, para modelação, simulação e análise dinâmica de sistemas.
O seu ambiente gráfico para modelação permite a construção de modelos na forma de
diagramas de blocos. Suporta sistemas lineares e não lineares, modelados em regime
contínuo, discreto ou em regime híbrido.

0.2 23 breact 1
y
y* K Time Plant
Delay
1
s
Integrator Scope
Divide

52

Cada bloco de um modelo em SIMULINK tem as seguintes características gerais: um


conjunto de entradas (inputs), u, um conjunto de saídas, (outputs), y, e um conjunto de
estados, x:

u x y
(entradas) (estados) (saídas)

O vector dos estados pode consistir em estados contínuos, estados discretos, ou uma
combinação de ambos.
Depois do modelo definido, é possível simulá-lo usando diferentes métodos de integração a
partir dos menus do SIMULINK. A simulação é interactiva, permitindo alterar parâmetros e
imediatamente ver o que acontece.
A análise do modelo inclui a linearização e diversas ferramentas a que se pode aceder através
da linha de comando do MATLAB, e ainda todas as ferramentas das toolboxes do MATLAB.

Construção de um modelo
Iniciar o SIMULINK escrevendo na janela de comando do MATLAB:

>> simulink

1 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Aparece uma janela com a biblioteca dos blocos do SIMULINK:

Significado de alguns blocos:


o Sources
• Constant (gera uma saída constante)
• Step (gera uma alteração em degrau)
• Clock (tem como saída o tempo)
o Sinks
• Scope (representa graficamente o seu valor de entrada em função do
tempo)
• Display (representa em tempo real o seu valor de entrada durante a
simulação)
• To Workspace (grava a variável de entrada para poder ser usada no
espaço de trabalho do Matlab)
o Linear
• Sum (adiciona ou subtrai as suas entradas)
o Nonlinear
• S-Function (função definida pelo utilizador)

2 Carla I.Costa Pinheiro


Introdução ao SIMULINK

- Para criar um novo modelo, escolher New do menu File. O SIMULINK cria uma nova
janela de trabalho.
- Abrir a biblioteca Sources. Aparece uma outra janela que contém todos os blocos da
biblioteca Sources; estes blocos representam diferentes tipos de entrada de sinal.
- Para adicionar blocos ao modelo arraste-os da janela da biblioteca para a janela de trabalho.
Comece por seleccionar e arrastar o bloco Signal Generator da janela Sources.
- Com o rato clique duas vezes no bloco Signal Generator. Este bloco permite escolher o
tipo de onda, bem como a amplitude, frequência e unidades do sinal gerado pelo bloco.
Escolha por exemplo a função seno, a amplitude 5, a frequência 6 e as unidades rad/s. Clique
em OK.
- Em seguida, da biblioteca Sinks seleccione e arraste o bloco Scope para a janela do modelo
à direita do bloco Signal Generator. Clique duas vezes com o rato no bloco Scope e
verifique que este bloco corresponde a uma representação gráfica.
- Carregue no botão esquerdo do rato e manter, para ligar estes dois blocos traçando uma
linha desde a saída do bloco Signal Generator até à entrada do bloco Scope. Aí largue o
botão do rato. O SIMULINK desenha uma linha com uma seta terminal que aponta no sentido
da direcção do fluxo do sinal.
- Mesmo para este modelo tão simples pode iniciar-se a simulação escolhendo no menu
Simulation. Para seleccionar o algoritmo de integração e os parâmetros a serem usados,
escolher Simulation Parameters no menu Simulation. Alterar o parâmetro Maximum Step
Size para 0.01 e o Stop Time para 10, mantendo todos os outros parâmetros. Fazer OK e
iniciar a simulação escolhendo Start no menu Simulation.
- Abra a janela do Scope para obter o gráfico da função 5 * sen (6t).
- Fazer Start no menu Simulation para inicializar a simulação. A simulação pára quando se
atinge o Stop Time definido ou se se escolher Stop no menu Simulation.

Exemplo 1 – Modelo Simples


O modelo seguinte gera uma onda do tipo seno através do bloco Signal Generator. É
introduzido um factor multiplicativo de escala sendo criada uma cópia da mesma onda com
amplitude duas vezes maior fazendo passar o sinal através de um bloco Gain. Ambos os
sinais original e amplificado são guardados num vector sinal usando o bloco Mux. O sinal é
representado graficamente usando o bloco Scope e é guardado como uma variável do espaço
de trabalho do MATLAB com o nome teste.

3 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Crie este modelo utilizando os seguintes blocos:


- Signal Generator (da biblioteca Sources)
- Gain (da biblioteca Math Operations)
- Mux (da biblioteca Signal Routing)
- Scope e To Workspace (da biblioteca Sinks)
A saída do bloco Signal Generator é por defeito uma onda seno com amplitude 1.
Experimente outros tipos de onda e amplitudes.
Abrir o bloco Gain e alterar o parâmetro Gain para 2.
Abrir o bloco To Workspace e alterar o nome da variável para teste. Este é o nome da
variável do espaço de trabalho que guarda os resultados da simulação. Para que seja possível
abrir e ver a variável teste na “área de trabalho” do MATLAB, no mesmo bloco To
Workspace escolher a opção array para o parâmetro Save Format.
Bloco To Workspace:
O bloco To Workspace grava a variável de entrada para poder ser usada no espaço de trabalho do Matlab. O
bloco guarda a variável na forma de uma matriz (array) ou de uma estrutura (structure) que tem o nome
especificado pelo parâmetro do bloco Variable name. O parâmetro Save format determina o formato de saída.
A quantidade de dados guardados nessa variável e os valores de tempo aos quais a variável é guardada são
determinados pelos parâmetros do bloco:
- Limit data points to last, indica quantos pontos da variável são guardados. Para guardar
todos os dados, deve ser indicado o valor inf.
- Decimation, permite guardar dados a cada n pontos, sendo n o factor decimation. O valor
decimation por defeito, 1, permite guardar valores para cada intervalo de tempo.
- Sample time, permite especificar um intervalo de amostragem para a recolha de pontos da
variável. O valor -1 permite este bloco manter o tempo de amostragem do bloco imediatamente anterior para
guardar os valores da variável.

Para criar a linha ramificada da saída do bloco Mux para o bloco To Workspace, carregar na
tecla Ctrl e desenhar a linha ou usar o botão direito do rato.
Abrir o bloco Scope e antes de começar a simulação alterar as escalas dos eixos para 10
(escala do tempo) e o eixo vertical para 3.
O diagrama de blocos deste modelo em SIMULINK é o seguinte:

Signal
Generator Scope

2
teste
Gain
To Workspace
4 Carla I.Costa Pinheiro
Introdução ao SIMULINK

Com a janela Scope aberta correr a simulação durante 10 segundos, tendo ajustado o Stop
Time para 10 e o Maximum Step Size para 0.1.
Para gravar o modelo fazer Save as no menu File.

Exemplo 2 - Resolução de Equações


Para modelar por exemplo, a equação que converte temperatura Centígrada para Fahrenheit:
9
TF  * TC  32
5
Primeiro considerar os blocos necessários para o modelo:
- Um bloco Gain, para multiplicar o sinal de entrada por 9/5
- Um bloco Constant, para definir a constante 32
- Um bloco Sum, para adicionar as duas quantidades
- Um bloco Sine Wave para a entrada do sinal atribuído à temperatura Centígrada
- Um bloco Scope para a representação da variável de saída.
Em seguida una os blocos e construa o modelo abrindo os blocos Gain e Constant e
atribuindo os valores apropriados. Para obter maior variação de temperatura altere a amplitude
do bloco Sine Wave para 10.

9/5

Sine Wave Gain Scope

32

Constant

Exemplo 3 – Simulação baseada em funções de transferência


Considere a simulação de um processo de primeira ordem com um ganho de 2 e uma
constante de tempo de 5 sujeito a uma perturbação em degrau numa variável de entrada. Este
processo pode ser representado por um bloco Transfer Fcn alterando os coeficientes do
numerador e do denominador, uma vez que este bloco tem definida por defeito uma função de
transferência de um sistema integrador a que corresponde um pólo igual a zero. O bloco
Clock pode ser usado para criar um vector tempo. Os blocos To Workspace permitem que os

5 Carla I.Costa Pinheiro


Introdução ao SIMULINK

vectores guardados sejam transferidos para o espaço de trabalho da janela do MATLAB para
posterior manipulação ou representação gráfica.
Uma grande vantagem do SIMULINK em relação ao MATLAB standard é o facto das rotinas
de integração poderem funcionar no caso de sistemas com atraso. Consegue-se introduzir o
atraso no modelo usando o bloco Transport Delay. Experimente um atraso de 5, obtido
através da alteração do valor de 1 existente por defeito no referido bloco. Também tem que
ser dado um valor inicial para a variável de entrada no bloco Transport Delay. Tratando-se
de variáveis de desvio, neste caso esse valor é zero.
No bloco Step Input considere a perturbação em degrau unitário a ocorrer a t = 1.
Corra a simulação para um tempo final de 25.

t
Clock
tempo

2
y
5s+1
Step T ransfer Fcn T ransport saída
Delay

Tal como está definido o modelo, cada vez que quiser alterar os parâmetros do modelo tem
que abrir os blocos respectivos e alterar os parâmetros. Torna-se mais rápido definir
directamente nos blocos nomes de variáveis como k, tau, theta, associados a este sistema de
primeira ordem com atraso. Depois altere simplesmente os valores (de k, tau, theta) na janela
de comando do MATLAB antes de cada simulação. O novo diagrama de blocos é o seguinte:

t
Clock
tempo

k
y
tau.s+1
Step Transfer Fcn Transport saída
Delay

Experimente correr simulações com diferentes parâmetros.

6 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Menu Simulation:
As opções associadas ao método de integração (Solver) estão disponíveis quando se escolhe a opção
Configuration Parameters do menu Simulation. Este menu permite atribuir os tempos de início e de paragem
da simulação, escolher o solver e especificar os seus parâmetros, e seleccionar as opções de saída.
- Simulation Time: podem ser atribuídos os valores do tempo de início e de fim da simulação,
Start time e Stop time.
- Solvers: a simulação de modelos dinâmicos no Simulink envolve a integração numérica de
sistemas de equações diferenciais ordinárias (ODEs). O Simulink permite utilizar diferentes solvers para a
simulação desses modelos. Devido à diversidade do comportamento dinâmico dos sistemas, alguns solvers são
mais eficientes do que outros na resolução de um determinado problema. A escolha do solver e dos respectivos
parâmetros deve ser feita com cuidado de forma a conduzir a resultados rigorosos e rápidos. Por exemplo, para
um modelo contínuo, ode45 é habitualmente um excelente solver. No entanto, se se sabe que o sistema é rígido
(“stiff”), e se o solver ode45 não permitir obter resultados aceitáveis, pode-se tentar utilizar por exemplo, o
ode15s.

Exemplo 4 – Modelização de um sistema contínuo simples

Neste exemplo pretende-se modelar em SIMULINK a seguinte equação diferencial:


dx
 2 x  u
dt
O bloco Integrator (da biblioteca Continuous) integra a sua entrada, dx/dt, e produz a saída
x. Outros blocos necessários para este modelo incluem o bloco Gain e o bloco Sum. Para
gerar uma onda quadrada use o bloco Signal Generator. Novamente visualize a variável de
saída usando o bloco Scope. Unir os blocos e definir o bloco Gain.

u dx/dt 1 x
s
Signal Integrator Scope
Generator
Gain
-2x
-2

Neste modelo, para inverter a direcção do bloco Gain, seleccione-o e faça Ctrl+R ou Rotate
Block do menu Format.
Um conceito importante neste modelo é o ciclo que inclui o bloco Sum, o bloco Integrator e
o bloco Gain. Nesta equação, x é a variável de saída do bloco Integrator e também a variável
de entrada nos blocos que calculam dx/dt. Esta relação é criada usando um ciclo.

7 Carla I.Costa Pinheiro


Introdução ao SIMULINK

O Scope representa x para cada intervalo de tempo. Corra uma simulação para um tempo total
de 10 segundos.
A equação modelada neste exemplo anterior também pode ser expressa na forma de função de
transferência. O modelo usa o bloco Transfer Fcn, que recebe u como variável de entrada e
apresenta x como variável de saída. Aplicando transformadas de Laplace à equação anterior
obtém-se:
X 1

U s2
O bloco Transfer Fcn usa parâmetros para especificar o numerador e o denominador. Neste
caso especificar ambos os termos como vectores de coeficientes sucessivamente decrescendo
na potência de s; neste caso o numerador é [1] e o denominador é [1 2]. Deste modo o modelo
torna-se muito simples: u 1 x
s+2
Signal Transfer Fcn Scope
Generator

Os resultados desta simulação são idênticos aos do modelo na forma acima apresentada.

Exemplo 5 – Linearização
O SIMULINK inclui as funções linmod e dlinmod para obter modelos lineares na forma de
matrizes de variáveis de estado (state-space) A, B, C e D. As matrizes de variáveis de estado
descrevem as relações entrada-saída do tipo:
dx
 Ax  Bu
dt
y = Cx + Du
onde x, u, e y, são respectivamente os vectores das variáveis de estado, de entrada e de saída.
Por exemplo atribua o nome ssmod ao seguinte modelo e grave o respectivo ficheiro numa
directoria sua de trabalho que acrescentou previamente ao addpath no menu File do
MATLAB:
1
y(2)

1
1 2
u s2 +2s+1 y(1)
Processo

1
s+1
Feedback

8 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Para obter o modelo linear correspondente a este modelo em SIMULINK, dar o seguinte
comando na janela de trabalho do MATLAB:
>> [A,B,C,D] = linmod (‘ssmod’)
As entradas e saídas têm que ser definidas usando os blocos Inport e Outport. Neste caso os
blocos Signal Generator e Scope não funcionam como variáveis de entrada e de saída.

Para converter um modelo linear do tipo “state space” para a forma de funções de
transferência:
>> [num, den] = ss2tf ( A, B, C, D);

Depois de ter o modelo na forma “state-space”, pode aplicar funções existentes em outras
Toolboxes do MATLAB como por exemplo:

- Diagramas de Bode
>> bode (A,B,C,D)
- Resposta Linearizada no tempo
>> step ( A,B,C,D)
>> impulse (A,B,C,D)

Exemplo 6 - Criar um Subsistema


À medida que um modelo cresce em tamanho e complexidade, pode simplificá-lo agrupando
blocos em subsistemas. Agrupar blocos é útil por várias razões:
- Ajuda a reduzir o número de blocos representados na janela do modelo.
- Permite manter juntos blocos que de algum modo se relacionam.
- Permite estabelecer de um modo mais fácil um diagrama de blocos mais
hierarquizado.
É possível criar um subsistema de dois modos: adicionando um bloco Subsystem (da
biblioteca Ports & Subystems) ao modelo, e depois adicionando os blocos que ele contém;
ou adicionando os blocos que constituem o subsistema, e depois agrupando esses blocos num
subsistema.
Para criar um subsistema antes de adicionar os blocos que ele contém:
1. Copiar o bloco Subsystem para a janela do modelo.
2. Abrir o bloco Subsystem.

9 Carla I.Costa Pinheiro


Introdução ao SIMULINK

3. Na nova janela vazia criar o subsistema. Utilize os blocos Inport (da biblioteca
Sources) para representar entradas do exterior no subsistema e blocos Outport (da
biblioteca Sinks) para representar saídas do subsistema para o exterior.
No exemplo seguinte os blocos Sum (da biblioteca Math Operations) e Transfer Fcn (da
biblioteca Continuous) são os únicos blocos do subsistema:

1
2
1
In1 s+3 Out1

2
In2

Se já tiver criado os blocos que quer converter num subsistema:


1. Englobar com o rato os blocos e linhas de união que quer incluir no subsistema,
ficando seleccionados.
marcar por aqui

1
1 simout
2. s+1
Constant Processo To Workspace

3. Escolher Create Subsystem do menu Edit. O SIMULINK substitui os blocos no


grupo por um único bloco Subsystem.
O exemplo seguinte mostra o modelo depois de escolher o comando Create Subsystem:

1 In1
Out1 simout

Constant T o Workspace
Subsystem

Exemplo 7 – Modelos com S-Functions


Devido à complexidade de modelos não lineares de média e larga escala, torna-se mais
eficiente usar um sistema de equações diferenciais escritas num m-file. O Simulink pode
aceder a estes m-files através de um bloco S-Function. Deste modo, este método mistura as
vantagens de um m-file que pode utilizar directamente solvers tais como o ode45, com as
ligações gráficas a outros blocos do Simulink.

10 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Por exemplo, no caso de se querer simular um reactor CSTR não isotérmico:

Descrito pelas seguintes equações do modelo dinâmico:

dV
= Fi - F
dt
E
dC A F i i
= (C A - C A ) - k 0 e
-
RT
CA
dt V
E

dT F i C P (T i - T )+ HVk 0 e RT
C A - UA(T - Tc )
=
dt VC P

As variáveis de entrada no modelo são: F i, T i,TC ,F , C iA


Para construir o diagrama deste modelo no Simulink, além dos blocos já anteriormente
utilizados, é também necessário o bloco S-Function que executa uma função definida, escrita
em código-M, de acordo com as regras para criação de S-Functions.
O diagrama do modelo do CSTR é o seguinte:

11 Carla I.Costa Pinheiro


Introdução ao SIMULINK

O bloco Mux (u) do modelo concatena as 5 entradas num vector de 5 elementos. O bloco
Demux (Saída) extrai do vector que recebe da S-Function as saídas do modelo.
O que há de diferente neste modelo é a não linearidade que requer a S-Function (reator.m),
que trabalha directamente com as equações diferenciais do CSTR.
É preciso seguir algumas regras específicas das S-Functions. Quando usamos “solvers” do
MATLAB para integrar ODE’s, usamos sintaxes (dentro do programa principal) do tipo
...
[T, Y] = ode45(‘arq’,TEMPO,Y0,[ ],PAR1,...,PARN)
...
A função “arq” calcula as derivadas com a seguinte sintaxe:
function saida = arq(t,y,flag,PAR1,...,PARN)
onde o vector vazio ([ ]) na chamada da ode45 é um marcador de lugar para o vector de
opções, que desta forma não está a ser alterado (i.e.: defaults do MATLAB são assumidos.
No caso do Simulink, não é necessário chamar a ode45, bastando apenas a declaração da
função que calcula as derivadas, com as regras de chamada desta função.
Esta função não calcula apenas as derivadas do modelo, como também irá informar ao
integrador as condições iniciais.
Uma S-Function deve ser declarada da seguinte forma:

function [sys, x0] = model (t,x,u,flag,PAR1,...,PARN)


Onde
• sys é a saída de model, cujo significado depende de flag
• x0 é o vector de condições iniciais
• t é o tempo de simulação
• x é o vector de estados do modelo
• u é o vector de entradas do modelo
• flag é um parâmetro que informa ao model o tipo de informação que o
integrador espera receber
• PAR1,...,PARN são os parâmetros adicionais que podem ser passados à
função model

12 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Vamos agora tentar entender como funciona a simulação de um modelo usando uma S-
Function. Ao contrário do que acontecia com as funções de transferência, usando uma S-
Function, pode-se trabalhar com valores absolutos das suas derivadas. Para isso, é preciso
conhecer as condições iniciais das variáveis de integração. Além disso, o Simulink precisa de
informações sobre o modelo, se as variáveis são contínuas ou discretas, quantas entradas,
saídas e estados o modelo possui, etc.
Antes de começar a simulação, o Simulink informa o integrador para chamar a função model
com um valor de flag igual a 0. Isso significa que model deve devolver a sys um vector de
configuração do modelo e a x0 o vector de condições iniciais dos estados. Assim, para flag =
0, o vector sys deve conter 6 elementos:

sys = [número de estados contínuos, número de estados discretos, número de saídas,


número de entrada, marcador de alimentação directa, tempo de amostragem]

Quando se simulam modelos contínuos simples, apenas interessam os elementos 1, 3 e 4 do


vetor sys. Os elementos referentes a modelos discretos e à alimentação direta de entradas
devem ter valor zero. O tempo de amostragem para modelos contínuos é zero.
É preciso ter muito cuidado ao inicializar o modelo. Assegure-se que o número de
entradas e saídas correpondem às entradas e saídas do diagrama do Simulink, e que
todos os estados têm sua condição inicial corretamente atribuída no vetor x0.
Ao longo da integração, o Simulinik obriga o integrador a chamar model com vários
valores de flag.
Quando model for chamado com flag = 1, o integrador recebe dele os valores das
derivadas dos estados contínuos. Ou seja, para flag = 1, sys deve conter os valores
das derivadas.
Para flag = 3, são calculados os valores das saídas. Nos casos de modelos simples
(como o do CSTR), as saídas correspondem aos estados.
Leia com atenção o código de reactor.m, a seguir.

13 Carla I.Costa Pinheiro


Introdução ao SIMULINK

function [sys,x0] = reactor(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)


%
% Simula um reactor CSTR (mistura perfeita) no qual se conduz uma
% reação exotérmica (A->B), arrefecido por serpentina
%
U = 150 %BTU/(h.ft2.R), coeficiente de troca térmica
A = 250 %ft2, área de troca térmica
DeltaH = -30000 %BTU/lbm, calor de reação
ro = 50 %lb/ft3, densidade
Cp = 0.75 %BTU/(lbm.R), calor específico
E = 30000 %BTU/lbm, energia de ativação
R = 1.99 %BTU/(lbm.R), constante dos gases
k0 = 7.08e10 %1/h, termo pré-exponencial da constante de reação
%
switch flag

case 0 % Dimensiona o sistema e inicializa os estados

% sys=[estados,0,saídas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condições iniciais
ca = 0.1315; %lbm/ft3, concentração inicial no reactor
T = 584.4115; %R, temperatura do reactor
V = 200; %ft3, volume do reactor
x0 = [ca T V]';

case 1 % Calcula as derivadas


% Atualiza entradas
cai = u(1); %lbm/ft3, concentração da alimentação
Fi = u(2); %ft3/hr, caudal de alimentação
F = u(3); %caudal de saída
Tc = u(4); %R, temperatura do fluido de refrigeração
Ti = u(5); %R, temperatura da alimentação
% Cálculo das derivadas
Ca = x(1);
T = x(2);
V = x(3);
k = k0*exp(-E/(R*T));
dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);
sys = [dCa; dT; dV];

case 3 % Calcula as saídas


sys = [x(1) x(2) x(3)];
otherwise
sys = [];
end

14 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Após escrever o código-M da S-Function, basta inserir um bloco S-Function e configurá-lo. A


configuração exige apenas o nome do m-file e a lista de parâmetros opcionais (caso a função
os possua).
O modelo já pode ser simulado.
O código de reactor.m introduz uma nova estrutura de controle de fluxo de execução, a
estrutura CASO. A sintaxe da estrutura CASO é a seguinte:
AVALIE expressão
CASO valor 1
bloco de código 1
CASO 2
bloco de código 2
...
DE OUTRA FORMA
bloco de código de tratamento de exceções
FIM

Esta sintaxe é escrita da seguinte forma no m-file:

switch <expressão>
case <valor 1>
<bloco de código 1>
case <valor 2>
<bloco de código 2>
...
otherwise
<bloco de código de tratamento de exceções>
end

Exemplo 8 – Criar Masks


Ao usar a função Mask do SIMULINK é possível definir blocos ou subsistemas criando
novas janelas e opcionalmente novos ícones. Uma razão importante para criar um bloco
oculto “masked” é o facto de permitir criar uma nova janela onde são introduzidos os
parâmetros para mais do que um bloco num subsistema.
Criar um bloco oculto envolve os seguintes passos:
- Abrir cada bloco e dar nomes de variáveis aos parâmetros cujos valores se quer dar na
nova janela do bloco.
- Criar o subsistema.
- Seleccionar o bloco do subsistema, e depois escolher Mask do menu Options.
- Preencher a janela do bloco oculto assim definido.

15 Carla I.Costa Pinheiro


Introdução ao SIMULINK

- Clicar o botão OK para criar o bloco oculto. O bloco do subsistema apresentará o


símbolo que tiver sido definido na janela do bloco oculto.
Imagine que quer criar um bloco para um sistema simples de segunda ordem, bem como
definir novo símbolo para o bloco e janela para introdução dos parâmetros. Ao fazer o Mask
do bloco Transfer Fcn é possível definir os seus parâmetros, como o tempo característico
(1/w) e o coeficiente de amortecimento (zeta), como variáveis em vez de se ter que especificar
o numerador e o denominador da função de transferência cada vez que se corre a simulação.
Construa um modelo simples usando o bloco Sine Wave como entrada, o bloco Transfer
Fcn, e o bloco Scope. Na janela do bloco Transfer Fcn defina o numerador como [w^2] e o
denominador como [1 2*zeta*w w^2].
Quando unir os blocos obtém o modelo:

w^2
s2 +2*zeta*ws+w^2
Sine Wave Transfer Fcn Scope

Para fazer o Mask do bloco Transfer Fcn, seleccionar o bloco e depois escolher Mask do
menu Options. Aparece uma janela que permite que defina os seus campos dos parâmetros,
os comandos de inicialização, símbolo e texto para o Help.

Exercícios
1) Obtenha o modelo para um controlador PID na forma das funções de transferência e com
variáveis de desvio. Atribua valores aos parâmetros e variáveis envolvidas e corra uma
simulação para o caso da variável de entrada (erro do controlador) ter uma variação do tipo
sinusoidal.
2) Gere um input em pulso rectangular na forma representada na figura seguinte e represente-o
graficamente:
1
0
1 2 tempo

16 Carla I.Costa Pinheiro


Introdução ao SIMULINK

Bibliografia

 The Mathworks, Inc, www.mathworks.com, 2012.


 Bequette, B.W., Process Dynamics: Modeling, Analysis and Simulation, Prentice Hall
Inc., New Jersey, 1998.
 Seborg, D.E., Edgar, T.F. and Mellichamp, D.A., Process Dynamics and Control,
John Wiley and Sons, New York, 2004.
 Chau, P.C., Process Control: A First Course with MATLAB; Cambridge University
Press, 2002.
 Techniques of Model-Based Control; C. Brosilow and B. Joseph, Prentice Hall PTR,
2002.

Carla Costa Pinheiro


Setembro 2012

17 Carla I.Costa Pinheiro