Você está na página 1de 316

Escola de Engenharia de So Carlos - EESC

SIMULINK
Curso Bsico
2011

Prof. Dr. Marcelo Becker


Abril / Maio de 2008
CONTATO

PROF. DR. MARCELO BECKER


Laboratrio de Mecatrnica
SEM - EESC USP
Prdio da Eng. Mecatrnica - Sala 29122
Av. do Trabalhador So-carlense, 400
So Carlos SP, Brasil
13566-590

E-mail: m.becker.bh@gmail.com
becker@sc.usp.br
Homepage: http://m.becker.bh.googlepages.com/

M. Becker 2008 2
BIBLIOGRAFIA RECOMENDADA

LIVRO EM PORTUGUS
Simulink 5 Fundamentos, lia Yathie Matsumoto,
Editora rica, 204p., 2 Edio, 2009.

OBS. - A maior parte do material deste curso foi baseado


nesse livro.

website

www.mathworks.com

M. Becker 2008 3
SUMRIO

 INTRODUO
 AMBIENTE DO SIMULINK
 MANIPULAES DE BLOCOS
 EXIBIO DE GRFICOS E SIMULAO
 SOLVERS
 MODELOS, MSCARAS E SUBSISTEMAS
 SIMULINK E MATLAB
 BIBLIOTECAS DE BLOCOS
 EXERCCIOS
M. Becker 2008 4
SUMRIO

M. Becker 2008 5
INTRODUO:

O que Simulink?

Aplicativo do MatLab que permite analisar o


comportamento de sistemas dinmicos a partir da
construo do modelo matemtico;

Utiliza-se diagramas de blocos que so simulados pelo


MatLab.

M. Becker 2008 6
INTRODUO:

O que Sistema Dinmico?

Sistema cuja sada (resultado e estado) muda ao longo do


tempo. A maioria dos eventos do mundo real so sistemas
dinmicos.

Ex.: Circuitos Eltricos, Sistemas de Amortecedor, Sistemas de


Freios, Sistemas Termodinmicos, etc.

M. Becker 2008 7
INTRODUO:

Onde se pode acionar o Simulink?

2 modos:

1. Atravs do cone na barra de ferramentas do


MatLab.
2. Diretamente na linha de comando do MatLab

M. Becker 2008 8
INTRODUO:

Onde se pode acionar o Simulink?

1. Atravs do cone na barra de


ferramentas do MatLab.

2. Diretamente na linha de
comando do MatLab

M. Becker 2008 9
SUMRIO




M. Becker 2008 10
AMBIENTE DO SIMULINK:

Janela Inicial do Simulink

Simulink Library Browser

Barra de Ferramentas

rea de Descrio

Diagramas de Blocos
Disponveis para a
montagem dos modelos

M. Becker 2008 11
AMBIENTE DO SIMULINK:

Menus Pop-up

Na Janela Simulink Library Browser h


4 menus

[File]: manipulao de arquivos de


modelos e ambiente
[New]: cria novo modelo
[Open]: abre modelo existente
[Close]: fecha modelo corrente
[Preferences...]: abre janela
de configuraes

M. Becker 2008 12
AMBIENTE DO SIMULINK:

Menu Pop-up [Preferences...]

M. Becker 2008 13
AMBIENTE DO SIMULINK:

Menus Pop-up

Na Janela Simulink Library Browser


h 4 menus

[Edit]: manipulao de blocos


[Add to the current model]: inclui um elemento no modelo corrente
[Find block...]: procura um bloco na biblioteca de blocos
[Find next block...]: repete a procura

M. Becker 2008 14
AMBIENTE DO SIMULINK:

Menus Pop-up

Na Janela Simulink Library Browser


h 4 menus

[View]: modo de visualizao do Simulink


[Toolbar]: ativa / desativa a visualizao da barra de ferramentas
[Status bar]: ativa / desativa exibio da barra de status
[Description]: ativa / desativa exibio da barra de descrio
[Stay on top]: fora a exibio da janela do Simulink sempre na frente
[Collapse entire Browser]: mostra apenas os ttulos das bibliotecas

M. Becker 2008 15
AMBIENTE DO SIMULINK:

Menus Pop-up

Na Janela Simulink Library Browser


h 4 menus

[View]: modo de visualizao do Simulink


[Expand entire Browser]: mostra todos os cones de todos blocos
[Large icons]: exibe cones grandes
[Small icons]: xibe cones pequenos
[Show Parameters for selected block]: exibe a janela de parmetros do
bloco selecionado

M. Becker 2008 16
AMBIENTE DO SIMULINK:

Menus Pop-up

Na Janela Simulink Library Browser


h 4 menus

[Help]: Textos de ajuda do Simulink


[Help on the selected block]: exibe texto de ajuda para o bloco
selecionado
[Simulink help]: exibe o help do Simulink
[Tip of the day]: exibe uma dica sobre o Simulink na Janela de Descrio

M. Becker 2008 17
AMBIENTE DO SIMULINK:

Barra de Ferramentas

A Janela de Ferramentas apresenta


4 opes (j vistas nos Menus
Pop-up...):

[Find]
[Create a new Model]
[Open a Model] [Stay on top]

M. Becker 2008 18
AMBIENTE DO SIMULINK:

Library Browser

Divide-se em 2 janelas:

Lado esquerdo: exibe


bibliotecas disponveis

Lado direito: exibe


os blocos de cada
bibliotecas em
ordem alfabtica

M. Becker 2008 19
AMBIENTE DO SIMULINK:

Library Browser

Divide-se em 2 janelas:

Usando o boto direito


do mouse...

M. Becker 2008 20
AMBIENTE DO SIMULINK:

Janela do Modelo

Criar um novo modelo

M. Becker 2008 21
AMBIENTE DO SIMULINK:

Janela do Modelo

Expandir a biblioteca do
Simulink

M. Becker 2008 22
AMBIENTE DO SIMULINK:

Janela do Modelo

Inserir bloco de osciloscpio no


modelo
Localizar o item [Sinks]
Localizar o bloco [Scope]

M. Becker 2008 23
AMBIENTE DO SIMULINK:

Janela do Modelo

Inserir bloco de osciloscpio no


modelo
Clique e arraste o bloco
[Scope] para dentro da
janela do modelo...

M. Becker 2008 24
AMBIENTE DO SIMULINK:

Janela do Modelo

Inserir bloco de gerador de


sinal senoidal
Localize o item [Sources]
Localize o bloco [Sine Wave] clique
e arraste-o para dentro da janela
do modelo...

M. Becker 2008 25
AMBIENTE DO SIMULINK:

Janela do Modelo

Conecte os 2 blocos

Save o Modelo com o nome


tutorial_01

D um duplo clique no bloco


[Scope] para abris a tela de
exibio...

M. Becker 2008 26
AMBIENTE DO SIMULINK:

Janela do Modelo

Simule o modelo (clique no


cone [Start Simulation])

M. Becker 2008
27
AMBIENTE DO SIMULINK:

Configurar Parmetros de
Simulao
A opo [Configuration Parameters...]
abre a janela de parmetros do
Simulink

M. Becker 2008
28
AMBIENTE DO SIMULINK:

M. Becker 2008
29
AMBIENTE DO SIMULINK:

Configurar Parmetros de
Simulao

Altere o parmetro [Stop Time]


para 50.0 e simule novamente
o modelo

Curva dentada...

Volte Janela de Configuraes


M. Becker 2008
30
AMBIENTE DO SIMULINK:

Configurar Parmetros de
Simulao
Altere o parmetro [Refine factor] para 10.0 e
simule novamente o modelo

M. Becker 2008
31
AMBIENTE DO SIMULINK:

M. Becker 2008 32
AMBIENTE DO SIMULINK:

Configurar Parmetros de
Simulao

Assim...

M. Becker 2008 33
AMBIENTE DO SIMULINK:

Configurar Parmetros de
Blocos

As caractersticas de cada loco


podem ser alteradas atravs de
um duplo clique no bloco...

Por exemplo, alterando a


freqncia e amplitude da
onda de seno

M. Becker 2008 34
AMBIENTE DO SIMULINK:

Configurar Parmetros de
Blocos
Configure os parmetros [Amplitude]
de 1 para 5 e [Frequency] de 1 para 2

Simule o modelo...

M. Becker 2008
35
AMBIENTE DO SIMULINK:

Configurar Parmetros de
Blocos
Configure os parmetros [Amplitude]
de 1 para 5 e [Frequency] de 1 para 2

Simule o modelo...

M. Becker 2008
SUMRIO




M. Becker 2008 37
MANIPULAES DE BLOCOS:

Blocos e Ligaes

Na Janela de Comando do MatLab:


Selecione corretamente o diretrio de trabalho e digite tutorial_01

38
MANIPULAES DE BLOCOS:

Blocos e Ligaes

Para visualizar o Library Browser:


Selecionar no Menu pop-up [View] a opo [Library Browser]

M. Becker 2008 39
MANIPULAES DE BLOCOS:

Blocos e Ligaes

1. Salvar o arquivo tutorial_01 como tutorial_02


2. Inserir um novo bloco [Sine Wave] no modelo
3. Apague a ligao existente entre os blocos [Sine Wave] e [Scope]
4. Localize no item [Math Operators] o bloco [Sum]
5. Insira o bloco [Sum] no modelo e faa as ligaes conforme o
esquema do prximo slide...

M. Becker 2008 40
MANIPULAES DE BLOCOS:

Blocos e Ligaes

D um duplo clique no bloco


[Sum] para visualizar a janela de
parmetros (2 principais)

[Icon Shape]: define o formato do


cone
[round]: redondo
[rectangular]: retangular
[List of Signs]: define a operao
que ser aplicada a cada entrada

M. Becker 2008 41
MANIPULAES DE BLOCOS:

Blocos e Ligaes

D um duplo clique no bloco


[Sum] para visualizar a janela de
parmetros (2 principais)

[Icon Shape]: define o formato do


cone
[round]: redondo
[rectangular]: retangular
[List of Signs]: define a operao
que ser aplicada a cada entrada

M. Becker 2008 42
MANIPULAES DE BLOCOS:

Blocos e Ligaes
O grfico exibido em [Scope] a
soma de duas curvas de seno
com amplitude 1 e freqncia 1,
ou seja, uma curva com
amplitude 2 e freqncia 1...

Para visualizar cada onda seno,


salve o modelo como
tutorial_03, insira mais 2 blocos
[Scope] e faa as ligaes
conforme o prximo slide...

M. Becker 2008 43
MANIPULAES DE BLOCOS:

Blocos e Ligaes

Clique os 2 novos blocos


[Scope] para visualizar os
sinais

Simule o modelo...

M. Becker 2008 44
MANIPULAES DE BLOCOS:

Blocos e Ligaes

Curva 1 Curva 2 Soma das Curvas

M. Becker 2008 45
MANIPULAES DE BLOCOS:

Blocos e Ligaes
Alterando o valor de amplitude da curva [Sine Wave 1] para 10 e
simulando...

Curva 1 Curva 2 Soma das Curvas


M. Becker 2008 46
MANIPULAES DE BLOCOS:

Blocos e Ligaes
Alterando o valor de freqncia da curva [Sine Wave 1] para 10 e
simulando...

Curva 1 Curva 2 Soma das Curvas


M. Becker 2008 47
MANIPULAES DE BLOCOS:

Blocos e Ligaes
Alterando o [Stop Time] para facilitar a visualizao...

Curva 1 Curva 2 Soma das Curvas


M. Becker 2008 48
MANIPULAES DE BLOCOS:

Blocos e Ligaes
Alterando o valor de amplitude da curva [Sine Wave 1] para 1 e
simulando...

Curva 1 Curva 2 Soma das Curvas


M. Becker 2008 49
MANIPULAES DE BLOCOS:

Blocos e Ligaes
Utilizando um bloco [Gain] ao invs de alterar a amplitude do
sinal... No item [Math Operators] localize o bloco [Gain] e insira-o
no mdulo.

50
MANIPULAES DE BLOCOS:

Blocos e Ligaes
Alterando o valor fator de ganho do bloco [Gain] para 3 e
simulando...

Curva 1 Curva 2 Soma das Curvas


M. Becker 2008 51
SUMRIO




M. Becker 2008 52
EXIBIO DE GRFICOS:
Grficos e Resultados

Salve o modelo tutorial_03 como tuturial_04


Insira um bloco [Mux] do item [Signal Routing] para combinar
vrias entradas e gerar uma nica sada

Elimine os blocos [Scope 1],


[Scope 2] e [Gain]

M. Becker 2008 53
EXIBIO DE GRFICOS:
Grficos e Resultados

O bloco [Mux] receber os sinais das 2 senides e da soma e


enviar os 3 sinais para o bloco [Scope]. D um duplo clique no
cone do bloco [Mux] e configure [Number of inputs] para 3

M. Becker 2008 54
EXIBIO DE GRFICOS:
Grficos e Resultados

Faa as ligaes conforme o esquema abaixo

Faa as seguintes configuraes:


Bloco [Sine Wave] com
amplitude 3 e freqncia 1
Bloco [Sine Wave 1] com
amplitude 1 e freqncia 10

M. Becker 2008 55
EXIBIO DE GRFICOS:
Grficos e Resultados

Assim:

As curvas foram exibidas


simultaneamente no mesmo
grfico com as seguintes cores:

[Sine Wave]: amarelo


[Sine Wave 1]: azul
[Sum]: prpura

M. Becker 2008 56
EXIBIO DE GRFICOS:

Grficos e Resultados
Para obter vrios grficos em um nico bloco [Scope], salve o
modelo tutorial_04 como tutorial_05

Elimine o bloco [Mux], d um duplo


clique no bloco [Scope] e clique no
cone [Parameters] para abrir a
Janela de Configuraes

M. Becker 2008 57
EXIBIO DE GRFICOS:

Grficos e Resultados

Configure o parmetro [Number of


axes], que determina o nmero de
eixos que sero exibidos, para 3

Clique em [Apply]

Conecte os blocos como o prximo


slide e execute a simulao...

M. Becker 2008 58
EXIBIO DE GRFICOS:

Grficos e Resultados

Curva 1

Soma das
Curvas

Curva 2

M. Becker 2008 59
EXIBIO DE GRFICOS:

Grficos e Resultados
Definindo os nomes dos sinais e rtulos para os grficos: d um
duplo clique na linha e escolha o nome desejado

M. Becker 2008 60
EXIBIO DE GRFICOS:

Grficos e Resultados

M. Becker 2008 61
EXIBIO DE GRFICOS:

Grficos e Resultados

Como configurar os parmetros do bloco [Scope]?


[Print]: imprime o(s) grfico(s) exibidos no bloco
[Parameters]: abre janela de configurao de parmetros
[Zoom]: zoom-in
[Zoom X-axis]: zoom-in no eixo x
[Zoom Y-axis]: zoom-in no eixo y
[Autoscale]: ajusta a visualizao
[Save current axes settings]: armazena configurao
[Restore saved axes settings]: restaura configurao

M. Becker 2008 62
EXIBIO DE GRFICOS:

Grficos e Resultados

Os eixos dos grficos podem ser configurados individualmente... Por


exemplo, posicione o cursor no grfico Curva 2 e clique no boto
direito do mouse para abrir o menu flutuante
possvel configurar os valores mnimo e
mximo do eixo Y e o ttulo

Reconfigure o ttulo: Grfico do


%<SignalLabel>

M. Becker 2008 63
EXIBIO DE GRFICOS:

Grficos e Resultados

Assim:

M. Becker 2008 64
MECANISMOS DE SIMULAO
Introduo

O ambiente do Simulink basicamente composto por 2


componentes:
1. Bibliotecas de Blocos: conjunto de smbolos
2. Editor de Diagrama de Blocos: ambiente no qual os blocos
so inseridos
O diagrama de blocos permite a visualizao do sistema modelado
de forma modular, o que facilita a compreenso do fluxo do
processo estudado

M. Becker 2008 65
MECANISMOS DE SIMULAO
Blocos

Representam elementos do sistema dinmico cujo


comportamento est sendo simulado... Cada bloco composto
por:
1. Representao visual (smbolo disponvel na biblioteca)
2. Conjunto de dados de entrada
3. Conjunto de dados de sada
4. Conjunto de estados (opcional)

u x y
(entrada) (estados) (sada)

M. Becker 2008 66
MECANISMOS DE SIMULAO
Estados

Blocos podem ou no ter estados. Se um bloco tiver estado, ento


estado uma varivel cujo valor tem o seguinte comportamento:
1. uma funo de seus valores anteriores e/ou dos valores de entrada
do bloco
2. Determina o valor de sada do bloco
Quando um bloco possui estados que dependem de valores anteriores, esses
estados so chamados de persistentes (persistent states) e diz-se que o bloco
possui memria

Exemplo de bloco sem estado: bloco [Sum] usado nos tutoriais. Dados de
entrada: [Sin Wave] e [Sin Wave 1]. Dado de sada: soma dos valores de entrada

M. Becker 2008 67
MECANISMOS DE SIMULAO
Estados

Exemplo de bloco com estado: bloco [Memory] que retorna o valor anterior
(item [Discrete]).
Conjunto de Dados de entrada: valor corrente
Conjunto de Dados de sada: valor anterior
Conjunto de Estados: estado anterior (t-1) e estado atual (t)
Inicial: armazena o valor inicial corrente
Prximos: armazena o valor corrente e retorna o valor armazenado anteriormente

tutorial_07: exemplo de aplicao. Usar o bloco [Memory] para gerar


um sinal Si tal que:
S0 = k, k constante
Si = Si-1+S0, para i>0

M. Becker 2008 68
MECANISMOS DE SIMULAO
Estados
tutorial_07 - Traga os seguintes blocos para o modelo
[Constant] emite sinal constante (localizado no item [Sources])
[Sum] localizado no item [Math Operations]
[Scope] localizado no item [Sinks]

M. Becker 2008 69
MECANISMOS DE SIMULAO

Estados
Execute o tutorial_07 e visualize o resultado

S0 = 1
Si = Si-1+S0, para i>0

O bloco [Memory]
implementou a seqncia
Si-1+S0

M. Becker 2008 70
MECANISMOS DE SIMULAO

Estados
Altere o valor do bloco constante para 3, execute o tutorial_07 e
visualize o resultado

M. Becker 2008 71
MECANISMOS DE SIMULAO

Estados
Para verificar os valore exatos, insira o bloco [To workspace] do item
[Sinks] que exporta os valores do Simulink para o MatLab e conecte os
blocos como mostrado na figura abaixo

M. Becker 2008 72
MECANISMOS DE SIMULAO

Estados
Configure:

[Variable name]: sequencia


[Save format]: Array

Os valores salvos em MatLab


esto em um vetor chamado
sequencia

M. Becker 2008 73
MECANISMOS DE SIMULAO

Estados
Execute a simulao e verifique
os valores armazenados na
janela [Workspace] do MatLab:

tout: vetor de tempo


sequencia: valor exportado

A seqncia gerada: [3,6,9,12,...]


satisfaz: S =3
0
Si = Si-1+S0, para i>0
M. Becker 2008 74
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao

Abra a janela de configuraes de parmetro do modelo

[Simulation Time]: Tempo de Simulao


[Start time]: incio
[Stop time]: fim

M. Becker 2008 75
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao

[Solver options]: opes de solvers


[Type]: tipos
[Variable-step]: utilizar passo variado
[Fixed-step]: utilizar passo fixo

M. Becker 2008 76
MECANISMOS DE SIMULAO
Tempo e Passos de Simulao
[Solver options]: opes de solvers
[ode45(Domand-Prince)], etc.: prximo tpico
[Max step size]: passo mximo
[Min step size]: passo mnimo
[Initial step size]: passo inicial
[Relative (Absolute) tolerance]: tolerncia relativa (absoluta) a ser
empregada para monitorar e controlar o erro a cada passo
durante as interaes

77
MECANISMOS DE SIMULAO
Tempo e Passos de Simulao
No caso do tutorial_07 no h interao. Logo, vamos alterar o
parmetro [Max step size]. Configur-lo de auto para:

[Max step size] = ([Stop time]-[Initial time])/50

Ou seja, tutorial_07 ser simulado 51 vezes no intervalo de 0 a 10


unidades de tempo.

78
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


No bloco [Scope]:

Na Janela de Comando do MatLab:

M. Becker 2008 79
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


Reconfigurando o parmetro [Max step size] para 1 e executando a
simulao:

11 divises no eixo x

M. Becker 2008 80
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


Criar o modelo tutorial_08: gera uma P.A. tal que:
A0 = k, k constante (k = 10)
Ai = Ai-1+R, para i>0 e razo R = 5
Insira os seguintes blocos no modelo:
2 blocos [Constant], localizado no item [Sources];
[Sum], localizado no item [Math Operations];
[Scope], localizado no item [Sinks];
[Memory], localizado no item [Discrete];
[To workspace]: localizado no item [Sinks];
[Clock], localizado no item [Sources]: emite o tempo de simulao;
[Switch], localizado no item [Signal Routing]: controla o fluxo de sinais.

M. Becker 2008 81
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


Assim, para a condio de valor inicial tem-se:

M. Becker 2008 82
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


O bloco [Switch] recebe 3 sinais de entrada:
1. O 1 sinal de entrada passado para a frente, caso o teste do 2 sinal
seja verdadeiro;
2. O 2 sinal de entrada utilizado no teste condicional definido pelo
parmetro [Criteria for passing first input];
3. O 3 sinal de entrada passado para frente, caso o teste do 2 sinal
seja falso.
O algoritmo: se o valor do [clock] for maior ou igual ao menor nmero
positivo (eps), ento 0 passado para frente; caso contrrio, 10,
ou seja, A0 passado para frente
Para implementar a condio da seqncia, o bloco [Constant]
configurado de 0 para 5

M. Becker 2008 83
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


Assim, o algoritmo: se o valor do [clock] for maior ou igual ao menor
nmero positivo (eps), ento 5 (R) passado para frente; caso
contrrio, 10, ou seja, A0 passado para frente

84
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


O resto do algoritmo implementado conforme a figura abaixo:

M. Becker 2008 85
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


Configure o bloco [To workspace] com:

[Variable name]: SeqPA


[Save format]: Array

Configure o parmetro de simulao [Max step size] com valor 1

Execute a simulao...

M. Becker 2008 86
MECANISMOS DE SIMULAO

Tempo e Passos de Simulao


No [Scope]: Na tela do MatLab:

M. Becker 2008 87
MECANISMOS DE SIMULAO

Sinais

Os valores de sada de bloco so comumente denominados


sinais. Possuem como propriedades:
1. Nome
2. Tipo de dado (inteiro de 8-bits, 16-bits, etc.)
3. Tipo numrico (real ou complexo)
4. Dimenso / canal (vetor/matriz)
Alguns blocos aceitam qualquer tipo de dados, outros no...

M. Becker 2008 88
MECANISMOS DE SIMULAO

Sinais
tutorial_09: utilizao de sinais com mais de uma
dimenso. Crie um novo modelo com os seguintes locos:
[Random Number] do item [Sources]
[Scope]

M. Becker 2008 89
MECANISMOS DE SIMULAO

Sinais
tutorial_09: no bloco [Random Number] configure as
propriedades:
[Mean]: mdia da distribuio normal
[Variance]: varincia da distribuio normal
[Initial Seed]: nmero inteiro positivo que ser a semente para
a gerao da seqncia de nmeros aleatrios. O ideal que
esse nmero varie a cada execuo: utilize a expresso do
MatLab: 100*rand

M. Becker 2008 90
MECANISMOS DE SIMULAO
Sinais
tutorial_09: Assim...

M. Becker 2008 91
MECANISMOS DE SIMULAO

Sinais
tutorial_09: Executando vrias vezes a simulao...

M. Becker 2008 92
MECANISMOS DE SIMULAO

Sinais
tutorial_09: Para evitar a mensagem no MatLab:

Warning: Parameter Seed of 'tutorial_09/Random Number'specifies a negative or


non-integer value. However, this parameter expects an integer value that is greater
than or equal to zero. Simulink has converted the specified value of this parameter
to data type 'uint32'.

Utilizar a funo fix do MatLab: fix(100*rand) pois ela


converte nmero real em inteiro

M. Becker 2008 93
MECANISMOS DE SIMULAO

Sinais
tutorial_09: O parmetro [Initial seed] pode ser um vetor
1xN, em que N representa a quantidade de nmeros
aleatrios que devem ser gerados simultaneamente...

M. Becker 2008 94
MECANISMOS DE SIMULAO

Sinais
tutorial_09: para visualizar as 3 curvas separadamente,
utiliza-se o bloco [Demux] do item [Signal Routing]...

M. Becker 2008 95
MECANISMOS DE SIMULAO

Sinais
tutorial_09: Assim...

M. Becker 2008 96
MECANISMOS DE SIMULAO

Sinais
tutorial_09: O simulink pode ser configurado para exibir
informaes sobre as propriedades dos sinais

No menu pop-up [Format], ative as opes:


[Wide nonscalar lines]: para sinais com mais de um canal,
exibe a linha com espessura mais grossa
[Signal Dimensions]: para sinais com mais de um canal,
exibe o nmero de canais
[Port data types]: mostra o tipo numrico de cada sinal

M. Becker 2008 97
MECANISMOS DE SIMULAO

Sinais
tutorial_09: Assim...

M. Becker 2008 98
MECANISMOS DE SIMULAO

Sinais
tutorial_10: Composio dos tutorial_08 e tutorial_09 que
forma um modelo simplificado de simulao Monte
Carlo...

Modelo: S0 = Sinicial
Si,j = Si-1,j + k1*i,j + k2*i,j , j = 1:NS
Em que: k1 e k2 so constantes reais
i,j e i,j so variveis aleatrias com distribuio normal
NS o nmero de seqncias aleatrias a serem geradas

M. Becker 2008 99
MECANISMOS DE SIMULAO

Sinais
salve o tutorial_08 como tutorial_10:

M. Becker 2008 100


MECANISMOS DE SIMULAO

Sinais
Elimine o bloco [Constant] chamado R e altere o bloco [Constant]
chamado A0 para S0 e reconfigure para o valor 100

M. Becker 2008 101


MECANISMOS DE SIMULAO

Sinais
Altere o valor da varivel de sada do bloco [To workspace] para
SeqMC

M. Becker 2008 102


MECANISMOS DE SIMULAO

Sinais
Assim, para implementar a seqncia Si, precisamos de 2 geraes de
nmeros aleatrios, semelhantes ao tutorial_09:

M. Becker 2008 103


MECANISMOS DE SIMULAO

Sinais
Cuidado na configurao do bloco [Gain] para Matrix Gain:

104
MECANISMOS DE SIMULAO

Sinais
Utilize os seguintes dados numricos para a simulao:

S0 = 100; k1 = 0.01; k2 = 0.02 e NS = 10 (os blocos [Random Number]


devem ser configurados com valor [Initial seed]:
fix(100*rand(1,10)))

M. Becker 2008 105


MECANISMOS DE SIMULAO

Sinais
Assim...
Cuidado com [Swtich] 

106
MECANISMOS DE SIMULAO
Sinais
Acertando a formatao...

M. Becker 2008 107


MECANISMOS DE SIMULAO

Sinais Cuidado com [Swtich]


Alterando NS para 100... 

108
MECANISMOS DE SIMULAO

Sinais
Plotando os valores no MatLab...

M. Becker 2008 109


SUMRIO




M. Becker 2008 110


SOLVERS:

Introduo

Um modelo do Simulink retorna os valores derivados no tempo de


seus estados (contnuos ou discretos) e no os valores de seus
estados propriamente ditos.

Logo, o Simulink, simulando um sistema, tem que calcular os


estados integrando numericamente os estados derivados...

Equaes Diferenciais Ordinrias ODE solvers

M. Becker 2008 111


SOLVERS:

Introduo

Para selecionar o solver desejado deve-se acessar [Solver] em


[Confiuration Parameters]

M. Becker 2008 112


SOLVERS:

Simulation Time

[Start time]: incio


[Stop time]: fim

Pode-se configurar o instante inicial e final para a execuo da simulao. Os


valores default so 0.0 e 10.0 unidades de tempo, respectivamente.

Deve-se observar que o tempo efetivamente gasto para executar a simulao no


o simulation time, visto que depende de vrios fatores relativos configurao
do computador...

M. Becker 2008 113


SOLVERS:

Solver Options

Solvers podem ter passo varivel (variable-step) ou fixo (fixed-step).

O passo varivel permite: modificar o intervalo de tempo entre as


interaes (passo) e detectar estados de error control e zero
crossing.

No caso de passo fixo, no possvel alterar o passo, sendo este


constante e determinado automaticamente pela equao (Stop
time Start time)/50.

M. Becker 2008 114


SOLVERS:

Solver Options

Caso o usurio no queira definir o solver a ser empregado, os


solver default so:

ode45 para modelos com estados contnuos


discrete para modelos com estados no contnuos

M. Becker 2008 115


SOLVERS:

Solver Options

Solvers de passo varivel:

ode45 - Runge-Kutta(4,5) solver tipo non-stiff de ordem mdia


ode23 - Runge-Kutta(2,3) solver tipo non-stiff de ordem baixa
ode113 - Adams-Bahforth Moulton PECE solver tipo non-stiff de ordem varivel
ode15s - NDF (Numerical Differentiation Formulas) solver
ode23s - solver Rosenblock de ordem 2
ode23t - solver de ordem baixa (regra trapezoidal / interpolao livre)
ode23tb - solver TR-BDF2 de ordem baixa
discrete - solver discreto

M. Becker 2008 116


SOLVERS:

Solver Options

Solvers de passo fixo:

discrete - solver discreto


ode5 - verso discreta do solver Runge-Kutta(4,5)
ode4 - verso discreta do solver Runge-Kutta(2,3)
ode3 - verso discreta do solver Bogacki-Shampine
ode2 - mtodo de Heun (Euler melhorado)
ode1 - mtodo de Euler
ode14x - extrapolao

M. Becker 2008 117


SOLVERS:

Solver Options

tutorial_11: exemplo de aplicao dos


solvers.

1. Inicie um novo modelo e insira os


seguintes blocos: [Integrator] localizado
no item [Continuous], [Constant] e
[Scope].
2. Configure o bloco [Scope] para 2 eixos
3. Crie os nomes dos sinais, conforme a
figura...

M. Becker 2008 118


SOLVERS:

Solver Options

tutorial_11: executando, obtemos:

No 1 grfico observamos o sinal constante


1 e, no 2, a sua integral que a funo
identidade, visto que:

dx = 1
dt
Acrescente o bloco [To workspace] para
poder observar os efeitos das alteraes que
sero inseridas no modelo...

M. Becker 2008 119


SOLVERS:

Solver Options

tutorial_11: faa a seguinte


configurao no bloco [To workspace]:

[Variable Name]: Integral


[Save format]: Struct with Time

Assim, o sinal gerado pelo bloco [Integrator] ser armazenado em uma varivel
no MatLab com o nome Integral tipo struct com os campos: time e
signal.values

M. Becker 2008 120


SOLVERS:

Solver Options

tutorial_11: faa a seguinte configurao para os parmetros de


simulao:

[Start Time]: 0.0


[Stop Time]: 10.0
Solver Options [Type]: variable-step
[Solver]: ode45
[Max step size]: auto

M. Becker 2008 121


SOLVERS:

Solver Options
tutorial_11: executando a simulao, temos em:
Integral.time 51 elementos, um para cada passo.
Usando o MatLab para visualizar os valores dos passos, temos:

M. Becker 2008 122


SOLVERS:

Solver Options
tutorial_11: utilizando a funo do MatLab diff para verificar a
diferena entre os passos empregados pelo solver ode45,
verificamos que o valor mximo do passo : 0.2

M. Becker 2008 123


SOLVERS:

Solver Options
tutorial_11: altere os seguintes parmetros de simulao:

Solver Options [Type]: fixed-step


[Solver]: ode5

Execute a simulao e gere os mesmos grficos. possvel observar


que a diferena entre os valores do passo praticamente fixa e
igual a 0.2

M. Becker 2008 124


SOLVERS:

Solver Options
tutorial_11: Assim...

M. Becker 2008 125


SOLVERS:

Solver Options
tutorial_11: configurando o [Fixed-step size] em 1, tem-se:

M. Becker 2008 126


SOLVERS:

Solver Options
tutorial_12: modelagem de um corpo em queda livre

1. Salve o modelo em tutorial_11 como tutorial_12;


2. Restaure os parmetros iniciais de simulao:
[Start Time]: 0.0
[Stop Time]: 10.0
Solver Options [Type]: variable-step
[Solver]: ode45
[Max step size]: auto
3. Elimine o bloco [To workspace] e insira mais um bloco [Integrator] e
mais um eixo no bloco [Scope]
4. Faa as conexes conforme a figura a seguir...

M. Becker 2008 127


SOLVERS:

Solver Options
tutorial_12: assim...

M. Becker 2008 128


SOLVERS:

Solver Options
tutorial_12: podemos interpretar o sinal como a acelerao, sua
integral 1 como a velocidade e sua integral 2 como a posio de um
objeto.

Configurando o bloco [Constant] para o valor da acelerao da


gravidade -9.81 e renomeando os sinais, conforme a figura a seguir,
conclumos o modelo desejado...

M. Becker 2008 129


SOLVERS:

Solver Options
tutorial_12: assim...

M. Becker 2008 130


SOLVERS:

Solver Options
tutorial_13: modelo de um sistema massa-mola-amortecedor

Equao: y = g (k/m).y (b/m).y


k
b Onde: m massa do corpo
g acelerao da gravidade
y m k coeficiente de elasticidade
b coeficiente de amortecimento
y deslocamento do corpo

M. Becker 2008 131


SOLVERS:

Solver Options
tutorial_13: modelando em Simulink, temos:

k
b

y m

y = g (k/m).y (b/m).y
M. Becker 2008 132
SOLVERS:

Solver Options
tutorial_13: Configurando os blocos para os valores...

m: 60 kg
g: - 9.81 m/s2
k: 10 N/m
b: 5 N.s/m

y = g (k/m).y (b/m).y
M. Becker 2008 133
SOLVERS:

Solver Options
tutorial_13: Configurando o [Stop time]
para 100 segundos e executando a
simulao...

Observa-se que o corpo desce aproximadamente


100 m, atingindo uma velocidade mxima
aproximada em mdulo de 20 m/s e o movimento se
estabiliza em 60 m de altura.

Aumentando a massa para 80 kg...

M. Becker 2008 134


SOLVERS:

Solver Options
tutorial_13: Assim...

60 kg 80 kg

135
SOLVERS:

Modelagem de Sistemas Contnuos Simples


exemplo_01: modelo desenvolvido a partir do tutorial_13.

Sistemas contnuos simples podem ser expressos pela seguinte


equao diferencial:

x(t) = a.x(t) b.x(t) + u(t)

Implementando o modelo desta equao para os valores a = 1 e b = 2...

M. Becker 2008 136


SOLVERS:

Modelagem de Sistemas Contnuos Simples


exemplo_01: assim... x(t) = a.x(t) b.x(t) + u(t)

M. Becker 2008 137


SOLVERS:

Modelagem de Sistemas Contnuos Simples


exemplo_02: modelo semelhante ao exemplo_01 mas muito mais
compacto...

Substituindo na equao x(t) = a.x(t) b.x(t) + u(t)


x(t) por s.x, obtemos a equao no formato de funo de
transferncia:

x= 1
u s + a.s + b
Implementando o modelo desta equao para os valores a = 1 e b = 2...

M. Becker 2008 138


SOLVERS:

Modelagem de Sistemas Contnuos Simples


exemplo_02: o Simulink possui o bloco [Transfer Fcn] localizado
no item [Continuous] que implementa diretamente funes de
transferncia

x= 1
u s + a.s + b assim:

M. Becker 2008 139


SOLVERS:

Modelagem de Sistemas Contnuos Simples


exemplo_02: configurando [Transfer Fcn] x= 1
u s + a.s + b

M. Becker 2008 140


SOLVERS:

Modelagem de Sistemas Contnuos Simples


exemplo_02: executando a simulao...

Idntico ao modelo anterior...


M. Becker 2008 141
SUMRIO




M. Becker 2008 142


MODELOS:

Menus de Modelos do Simulink

cones relativos a procura de erros, visualizao de modelos


grandes, etc.:

M. Becker 2008 143


MODELOS:

Menus de Modelos do Simulink


[Print]: Impresso

M. Becker 2008 144


MODELOS:

Menus de Modelos do Simulink


[Simulation Mode]: configura a velocidade de simulao

M. Becker 2008 145


MODELOS:

Menus de Modelos do Simulink


[Toggle Model Browser]: ativa / desativa a janela browser que
permite visualizar o detalhamento do modelo

M. Becker 2008 146


MODELOS:

Menus de Modelos do Simulink


[Debug]: depura o diagrama a procura de erros

M. Becker 2008 147


MODELOS:

Propriedades dos Modelos


No menu [File], a opo [Model properties] mostra a janela de
propriedades do modelo composta por 4 pastas:

148
MODELOS:

Propriedades dos Modelos


[Model properties], pasta [Main]: informaes principais

149
MODELOS:

Propriedades dos Modelos


... pasta [Callbacks]: chamada de funes ou m.files em pontos
especficos da execuo da
simulao do modelo...

150
MODELOS:

Propriedades dos Modelos


[Callbacks]: salve o tutorial_13 como tutorial_14

151
MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: para testar o modelo com dados
diferentes, ao invs de alterar os parmetros de cada bloco, pode-
se configurar esses parmetros com nomes de variveis

Dessa forma, vamos definir 3 variveis:

Massa massa do bloco


Coef_k coeficiente de rigidez da mola
Coef_b coeficiente de amortecimento do amortecedor

Configure os blocos [Gain] com essas variveis...


M. Becker 2008 152
MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: assim...

M. Becker 2008 153


MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: Para definir os valores das 3
variveis, podemos criar um m.file no MatLab e
configur-lo em um dos campos da pasta [Callbacks].
Assim:

1 arquivo: tutorial14_inic que chama uma interface grfica para


permitir ao usurio fornecer os dados
2 arquivo: tutorial14_dados que uma callback function da
tutorial14_inic que cria as variveis desejadas (Massa, Coef_k e
Coef_b) a partir dos dados fornecidos na janela exibida pela
tutorial_14_inic.
M. Becker 2008 154
MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: 1 arquivo
Ele criado pelo comando GUIDE do MatLab e contm uma
chamada para a funo / m-file tutorial14_dados.m

M. Becker 2008 155


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: 2 arquivo
tutorial14_dados.m

M. Becker 2008 156


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: para fazer com que a funo
tutorial14_inic seja chamada quando o modelo carregado:

Configure a opo [Model pre-load function] do modelo:


Menu pop-up [File], item [Model Properties], [Callbacks]...

M. Becker 2008 157


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: Execute o modelo. Caso as variveis
Coef_k, Coef_b e Massa no tenham sido declarados no MatLab,
aparecer uma janela de erro...

Para corrigir esse erro...


M. Becker 2008 158
MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14:

Configure a opo [Model pre-load function] do modelo:


Menu pop-up [File], item [Model Properties], [Callbacks]...

M. Becker 2008 159


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14:

Configure a opo [Model Initialization function] do modelo:


Menu pop-up [File], item [Model Properties], [Callbacks]...

M. Becker 2008 160


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14:

Configure a opo [Simulation Start function] do modelo:


Menu pop-up [File], item [Model Properties], [Callbacks]...

M. Becker 2008 161


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: quando o modelo executado, o
Simulink automaticamente utiliza os dados iniciais para a 1
simulao. Os dados inseridos no modelo atravs da interface GUI
sero empregados nas simulaes seguintes...

162
MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: Assim...

M. Becker 2008 163


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: Assim...

M. Becker 2008 164


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: Assim...

M. Becker 2008 165


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14: Assim...

M. Becker 2008 166


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14b: salve o tutorial_14 como tutorial_14b e
insira 2 blocos [To Workspace], configurando-os para exportarem
os dados em formato tipo Array.

167
MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14b:

Configure a opo [Simulation Stop function] do modelo:


Menu pop-up [File], item [Model Properties], [Callbacks]...

M. Becker 2008 168


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14b: o arquivo m-file: tutorial14_final...

M. Becker 2008 169


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14b: o arquivo m-file: tutorial14_final...

M. Becker 2008 170


MODELOS:

Propriedades dos Modelos


[Callbacks] - tutorial_14b: Assim...

M. Becker 2008 171


MODELOS:

Propriedades dos Modelos


... pasta [History]: permite registrar e exibir o histrico do
modelo...

M. Becker 2008 172


MODELOS:

Propriedades dos Modelos


... pasta [Description]: permite registrar uma descrio do
modelo...

M. Becker 2008 173


SUBSISTEMAS:

Introduo
Um conjunto de blocos pode ser agrupado, gerando um
bloco nico denominado subsistema. Isso til para:
1. Reduzir o nmero de blocos exibidos na janela do modelo,
simplificando a sua visualizao;
2. Agrupar um conjunto de blocos relacionados por
funcionalidade;
3. Criar uma hierarquia de diagrama de blocos para modelos
mais complexos

M. Becker 2008 174


SUBSISTEMAS:

Criar o tutorial_15 a partir do tutorial_10


1. Abra o modelo tutorial_10 e salve-o como tutorial_15;
2. Crie um subsistema composto pelos blocos includos no
retngulo em evidncia na figura abaixo...

M. Becker 2008 175


SUBSISTEMAS:

tutorial_15:
3. Selecione a rea demarcada
na figura anterior com o
mouse;
4. No menu pop-up [Edit]
selecione a opo [Create
Subsystem];
5. Todos os blocos selecionados
so substitudos por um
nico bloco [Subsystem]...

M. Becker 2008 176


SUBSISTEMAS:

tutorial_15:
6. Para visualizar os blocos de subsistema, basta dar um duplo-
clique no bloco [Subsystem]

M. Becker 2008 177


SUBSISTEMAS:

tutorial_15:
7. A organizao dos subsistemas de um modelo pode ser
visualizada ativando a opo [Model Browser] no menu pop-
up [View]

M. Becker 2008 178


MSCARAS:

Introduo
O Simulink permite definir uma janela para interface
para os subsistemas chamada mscara (mask). Essa
janela permite:

1. Criar uma janela de interface;


2. Definir os parmetros de entrada para o subsistema;
3. Criar um cone especial para o subsistema;
4. Definir a funo de inicializao.

M. Becker 2008 179


MSCARAS:

Introduo
O Simulink permite definir uma janela para interface
para os subsistemas chamada mscara (mask). Essa
janela permite:

1. Criar uma janela de interface;


2. Definir os parmetros de entrada para o subsistema;
3. Criar um cone especial para o subsistema;
4. Definir a funo de inicializao.

M. Becker 2008 180


MSCARAS:

Criar o tutorial_16 a partir do


tutorial_15:
1. Abra o modelo tutorial_15 e salve-
o como tutorial_16;
2. Selecione o bloco [Subsystem] que
nomeamos como Dados de
Entrada, clique com o boto direito
do mouse para abrir o menu
flutuante de edio e selecione a
opo [Mask subsystem].

M. Becker 2008 181


MSCARAS:

tutorial_16:
3. Selecione a pasta [Parameters] para definir os parmetros de
entrada.

182
MSCARAS:

tutorial_16:
Os parmetros de entrada so:
S0: valor inicial;
K1: constante real 1;
K2: constante real 2
NS: nmero de seqncias

4. Clique no boto [Add] para adicionar os parmetros de


entrada...

M. Becker 2008 183


MSCARAS:

tutorial_16:
Deve-se fornecer:
[Prompt]: texto de chamada
[Variable]: nome da varivel
[Type]: tipo de entrada de varivel
[Edit]: caixa de edio de texto
[Checkbox]: opo ativa / desativa
[Pop-up]: lista de seleo

5. Crie os 4 parmetros com as seguintes propriedades...

M. Becker 2008 184


MSCARAS:

tutorial_16:

Prompt Variable Type


Valor Inicial S0 edit
Constante Real K1 K1 edit
Constante Real K2 K2 edit
Nmero de Seqncias NS edit

6. Clique OK para fechar a janela...

M. Becker 2008 185


MSCARAS:

tutorial_16:

Assim...

M. Becker 2008 186


MSCARAS:

tutorial_16:
7. Com a mscara, um duplo clique no
bloco [Subsystem] abre a janela de
parmetros.

8. Clique com boto direito do mouse no


bloco [Subsystem] e selecione a opo
[Look under Mask]. Essa opo abrir
uma nova janela contendo o diagrama
do subsistema

M. Becker 2008 187


MSCARAS:

tutorial_16:

9. No diagrama do subsistema, configure os blocos com os nomes


das variveis criadas na mscara

M. Becker 2008 188


MSCARAS:

tutorial_16:

Assim...

M. Becker 2008 189


MSCARAS:

tutorial_16:

10. Feche o subsistema e d um duplo clique no bloco [Subsystem]


para configurar os parmetros com os valores indicados...

M. Becker 2008 190


MSCARAS:

tutorial_16:

Execute a simulao...

M. Becker 2008 191


MSCARAS:

Introduo
O Simulink permite definir uma janela para interface
para os subsistemas chamada mscara (mask). Essa
janela permite:

1. Criar uma janela de interface;


2. Definir os parmetros de entrada para o subsistema;
3. Criar um cone especial para o subsistema;
4. Definir a funo de inicializao.

M. Becker 2008 192


MSCARAS:

Criar o tutorial_17 a partir do tutorial_16:


1. Abra o modelo tutorial_16 e salve-o como tutorial_17;
2. Clique no bloco [Subsystem] com o boto direito do mouse
para abrir o menu flutuante de edio e selecione a opo
[Edit Mask] para abrir a janela [Mask Editor].

M. Becker 2008 193


MSCARAS:

tutorial_17 :
3. O campo [Drawing Commands] da pasta [Icon] aceita
comandos para criar cones para subsistemas. O campo
[Examples of drawing Commands] fornece a descrio da
sintaxe desses comandos

M. Becker 2008 194


MSCARAS:

tutorial_17 :
4. Usar a funo plot no campo [Drawing Commands]. Digite
plot([0 1 2 3],[1 1.5 4 4.5]) e clique [Apply]

M. Becker 2008 195


MSCARAS:

tutorial_18 : [Show part labels] habilita / desabilita a


exibio de labels em blocos de subsistemas
1. Abra o modelo tutorial_17 e salve-o como tutorial_18;
2. Limpe a formatao feita anteriormente no campo [Drawing
Commands] da janela [Mask Editor].

M. Becker 2008 196


MSCARAS:

tutorial_18 :
3. Selecione com o mouse o bloco
[SubSystem] e clique no menu
pop-up [Edit] e selecione a
opo [Subsystem
Parameters...]

M. Becker 2008 197


MSCARAS:

tutorial_18 :
4. No item [Parameters] selecione em
[Show port labels] a opo [none]

M. Becker 2008 198


DEPURAO DE MODELOS:

[Simulink debugger]: disponibiliza recursos para auxiliar a


localizao e diagnstico de erros em modelos.
1. Configurao de breakpoints;
2. Simulao passo-a-passo;
3. Monitoramento de sinais de entrada e sada.

Pode ser acionado no menu pop-up [Tools] do modelo Simulink


que abre a janela [Simulink debugger]

M. Becker 2008 199


DEPURAO DE MODELOS:

[Simulink debugger]:

M. Becker 2008 200


DEPURAO DE MODELOS:

[Simulink debugger]:

Os comandos esto disponveis nos cones da barra de


ferramentas

M. Becker 2008 201


DEPURAO DE MODELOS:

[Simulink debugger]:

Comandos que permitem o avano da execuo da simulao


para prximos passos, blocos, mtodos, etc.

Ficam habilitadas apenas durante a execuo da simulao

M. Becker 2008 202


DEPURAO DE MODELOS:

[Simulink debugger]:

Comandos que permitem iniciar, pausar e finalizar a execuo da


simulao.

Pausar e finalizar a simulao so habilitadas apenas durante a


execuo da simulao

M. Becker 2008 203


DEPURAO DE MODELOS:

[Simulink debugger]:

Comandos que permitem mostrar ou no dados I/O de blocos


selecionados e parar a simulao em um bloco selecionado.

M. Becker 2008 204


DEPURAO DE MODELOS:

[Simulink debugger]:

Comandos que permitem alterar parmetros de animao.

Habilitar ou Desabilitar a animao da simulao possvel


apenas durante a execuo da simulao

M. Becker 2008 205


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo

1. No modelo tutorial_18, abra a janela do [Simulink debugger] e selecione


o bloco [Sum];

2. Clique no cone para configurar um breakpoint;

3. Clique no cone para habilitar a exibio dos sinais de entrada e


sada do bloco;

4. O bloco [Sum] aparecer na rea [Break/Display points]

M. Becker 2008 206


DEPURAO DE MODELOS:

[Simulink debugger]: Assim...

M. Becker 2008 207


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo


5. Clique no cone para iniciar o processo de Debug;

208
DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo


6. Observa-se que:
O modelo executado at o breakpoint (um passo antes da 1
passagem pelo bloco [Sum]);

M. Becker 2008 209


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo


6. Observa-se que:
A pasta [Outputs] exibe as mensagens do sistema apresentadas
durante a execuo e os valores dos sinais de entrada e sada;

M. Becker 2008 210


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo


6. Observa-se que:
A pasta [Sorted List] exibe a ordem de execuo dos blocos durante a
simulao;

M. Becker 2008 211


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo


6. Observa-se que:
A pasta [Status] exibe informaes do sistema e da simulao, p.e.:
tempo de simulao, status, etc.

M. Becker 2008 212


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo


7. Clique no cone para avanar a execuo para o prximo
bloco

M. Becker 2008 213


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo


8. Elemime o breakpoint clicando no boto [Remove selected
point] e configure [Break at time] com valor 4;

9. Clique no cone para fazer a simulao prosseguir at o


instante 4;

10. Observe o grfico de [Scope]...

M. Becker 2008 214


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo

M. Becker 2008 215


DEPURAO DE MODELOS:

[Simulink debugger]: Exemplo

M. Becker 2008 216


SUMRIO




M. Becker 2008 217


SIMULINK E MATLAB:

Troca de Dados

A troca de dados entre MatLab e Simulink realizada atravs de 4


blocos:
No item [Sources]:
[From Workspace]: traz o contedo de uma varivel do workspace do
MatLab para o Simulink
[From File]: traz o contedo de um arquivo *.mat para o Simulink
No item [Sinks]:
[To workspace]: exporta o contedo de um sinal para uma varivel no
workspace do MatLab
[To File]: exporta o contedo de um sinal para um arquivo *.mat

M. Becker 2008 218


SIMULINK E MATLAB:

[tutorial_19]: troca de dados entre o MatLab e Simulink.


Baseado no tutorial_10, vamos modificar a gerao de
nmeros aleatrios.
1. Salve o tutorial_10 como tutorial_19, delete os dois blocos
[Random Number], substituindo-os pelos blocos [From Workspace]
e [From File], conforme a figura abaixo.

219
SIMULINK E MATLAB:

[tutorial_19]:
2. Configure os parmetros de simulao como:
[Start time]: 0.0;
[Stop time]: 10.0;
[Solver Options]: fixed-step;
[Fixed step size]: 1.

3. Configure o bloco [From Workspace] para receber os dados da varivel


entrada1 que deve ser previamente armazenada no workspace do
MatLab.

M. Becker 2008 220


SIMULINK E MATLAB:

[tutorial_19]:
4. Conferindo o Array no MatLab:

M. Becker 2008 221


SIMULINK E MATLAB:

[tutorial_19]:
5. Gere os dados da varivel entrada1 no workspace do MatLab, com o
seguinte formato:
A primeira coluna contm o vetor de tempo;
As demais colunas contm os valores dos dados para cada instante de
tempo

Nesse caso, entrada1 deve ser uma matriz 11x11:


o Vetor tempo: [0 1 2 3 4 5 6 7 8 9 10]
o Os dados so 11 seqncias de 10 nmeros aleatrios
No MatLab:

M. Becker 2008 222


SIMULINK E MATLAB:

[tutorial_19]:
6. Para criar automaticamente a varivel entrada1 no MatLab,
reescreva os comandos do MatLab no item [Model pre-load
function] da pasta [Callback] da janela [Model Properties] do menu
pop-up [File]

223
SIMULINK E MATLAB:

[tutorial_19]:
7. Configure o bloco [From File] para receber os dados do arquivo
entrada2.mat, que deve estar previamente armazenado em disco
(no mesmo diretrio de trabalho). Caso esse arquivo no exista, o
Simulink retorna uma mensagem de erro...

224
SIMULINK E MATLAB:

[tutorial_19]:
8. Para gerar o arquivo entrada2.mat deve-se ter em mente
que o mesmo deve ter as seguintes caractersticas:
A primeira linha contm o vetor de tempo;
As demais linhas contm os valores dos dados para cada
instante de tempo

Nesse caso, entrada2.mat deve ser uma matriz 11x11:


o Vetor tempo: [0 1 2 3 4 5 6 7 8 9 10]
o Os dados so 11 seqncias de 10 nmeros aleatrios
No MatLab:

225
SIMULINK E MATLAB:

[tutorial_19]:
9. Conferindo o Array no MatLab:

M. Becker 2008 226


SIMULINK E MATLAB:

[tutorial_19]:
10. Configure o bloco [To File] para
armazenar os dados em uma
varivel chamada sada e grav-
la em um arquivo chamado
saida.mat. Esse arquivo tem as
seguintes caractersticas:
A 1 linha contm o vetor de
tempo;
As demais linhas contm os
valores dos dados para cada
instante de tempo.
11. Execute a simulao...

M. Becker 2008 227


SIMULINK E MATLAB:

[tutorial_19]:
Assim...

M. Becker 2008 228


SIMULINK E MATLAB:

[tutorial_19]:
12. Para visualizar os dados no MatLab:

M. Becker 2008 229


SIMULINK E MATLAB:

Execuo de Funes do MatLab


No item [User-defined functions] do [Library Browse] tem-se 6 blocos
que permitem executar funes do MatLab dentro do Simulink. As 4
mais importantes so:

[Fcn]: executa uma expresso genrica do MatLab. Utiliza


a varivel u como parmetro de entrada;
[S-Function]: executa uma s-function;
[S-Function Builder]: utilitrio que auxilia a construo de s-
functions ;
[MATLAB Fcn]: aplica uma funo ou expresso do MatLab
como sinal de entrada no Simulink.

M. Becker 2008 230


SIMULINK E MATLAB:

Execuo de Funes do MatLab

M. Becker 2008 231


SIMULINK E MATLAB:

Bloco [Fcn]: exemplo_03


Utiliza o bloco [Fcn] para implementar a funo:

f(u) = sin(u)*exp(0.2*u)

O sinal de entrada gerado pelo bloco [Ramp] localizado no item


[Sources]. Este bloco gera uma seqncia de nmeros

N(t) = n0*S(t)

Sendo: n0 o nmero inicial e S a inclinao da rampa (slope).

M. Becker 2008 232


SIMULINK E MATLAB:

Bloco [Fcn]: exemplo_03


Assim...

M. Becker 2008 233


SIMULINK E MATLAB:

Bloco [Fcn]: exemplo_04


Utiliza o bloco [Fcn] para implementar a funo:

f(u) = u(1) + u(2)

O sinal de entrada um sinal com 2 canais. Ele gerado por um bloco


[Random Number] configurado com parmetro:
[Initial Seed] = fix(1000*rand(1,2))

M. Becker 2008 234


SIMULINK E MATLAB:

Bloco [Fcn]: exemplo_04


Assim:

M. Becker 2008 235


SIMULINK E MATLAB:

Bloco [MATLAB Fcn]: exemplo_05


Esse bloco empregado para implementar uma PG com valor inicial
A0 = 3 e razo Q = 2, codificada no m-file pg_A0_3_Q_2.m.
A funo codificada em um m-file que recebe um dado de entrada
e retorna um dado de sada para cada instante da simulao

M. Becker 2008 236


SIMULINK E MATLAB:

Bloco [MATLAB Fcn]: exemplo_05


Assim...

M. Becker 2008 237


SIMULINK E MATLAB:

Bloco [MATLAB Fcn]: exemplo_05


O grfico:

M. Becker 2008 238


SIMULINK E MATLAB:

Bloco [S-Function]
a implementao de um bloco do Simulink em linguagem de
programao. Podem ser codificadas em:
m-file, ou seja, a linguagem de programao do MatLab;
C/C++;
Fortran;
ADA.
Vamos focar apenas aplicaes em m-file...
O uso de s-functions expande enormemente os recursos do Simulink,
pois com ela possvel modelar qualquer sistema dinmico,
customizando o modelo.

M. Becker 2008 239


SIMULINK E MATLAB:

Bloco [S-Function]
De modo simplificado, uma s-function implementa os estgios de
simulao de um bloco:

Conjunto de dados de entrada;


Conjunto de dados de sada;
u x y
(entrada) (estados) (sada)
Conjunto de estados.

M. Becker 2008 240


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Funo Limited integrator localizado no item [S-function Examples],
subitem [M-files], subsubitem [Level 1 M-files].

M. Becker 2008 241


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Funo Limited integrator localizado no item [S-function Examples],
subitem [M-files], subsubitem [Level 1 M-files].

M. Becker 2008 242


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Este modelo implementa um
Integrador limitado por parmetros
fornecidos pelo usurio.

O bloco [S-Function] est


mascarado e espera 3
parmetros de entrada:
lb: lower band
ub: upper band
xi: initial condition

M. Becker 2008 243


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator

M. Becker 2008 244


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Para visualizar a listagem do programa, d um duplo clique na caixa de texto
destacada pela seta...

M. Becker 2008 245


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Assim...

M. Becker 2008 246


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Cont...

M. Becker 2008 247


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Cont...

M. Becker 2008 248


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Cont...

Estabelece o valor inicial

M. Becker 2008 249


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Cont...

Aqui so implementadas
as condies de corte de-
finidas pelos parmetros
lb e ub. Se o valor estiver
fora dos limites, a f retor-
na o valor 0, seno, o
prprio valor.

M. Becker 2008 250


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Final...

M. Becker 2008 251


SIMULINK E MATLAB:

Bloco [S-Function]: Limited integrator


Executando a funo
para limites [-0.5, 0.5]...

M. Becker 2008 252


SIMULINK E MATLAB:

Bloco [S-Function Builder]


um utilitrio que auxilia a
construo de s-functions

M. Becker 2008 253


SIMULINK E MATLAB:

Bloco [S-Function Builder]

M. Becker 2008 254


SUMRIO




M. Becker 2008 255


BIBLIOTECAS DE BLOCOS:

Bibliotecas disponveis na janela [Simulink Library


Browser]

M. Becker 2008 256


BIBLIOTECAS DE BLOCOS:

[Continuous]:

M. Becker 2008 257


BIBLIOTECAS DE BLOCOS:

[Continuous]: Exemplo_06

M. Becker 2008 258


BIBLIOTECAS DE BLOCOS:

[Discontinuities]:

M. Becker 2008 259


BIBLIOTECAS DE BLOCOS:

[Discontinuities]: Exemplo_07

M. Becker 2008 260


BIBLIOTECAS DE BLOCOS:

[Discrete]

M. Becker 2008 261


BIBLIOTECAS DE BLOCOS:

[Discrete]: Exemplo_08

M. Becker 2008 262


BIBLIOTECAS DE BLOCOS:

[Lookup Tables]

M. Becker 2008 263


BIBLIOTECAS DE BLOCOS:

[Lookup Tables]: Exemplo_09

0 1 2 3 4 5

0 12 3 4 5

M. Becker 2008 264


BIBLIOTECAS DE BLOCOS:

[Lookup Tables]: Exemplo_10

M. Becker 2008 265


BIBLIOTECAS DE BLOCOS:

[Math Operations]

M. Becker 2008 266


BIBLIOTECAS DE BLOCOS:

[Math Operations]: Exemplo_11

M. Becker 2008 267


BIBLIOTECAS DE BLOCOS:

[Math Operations]: Exemplo_12

M. Becker 2008 268


BIBLIOTECAS DE BLOCOS:

[Math Operations]: Exemplo_13

M. Becker 2008 269


BIBLIOTECAS DE BLOCOS:

[Math Operations]: Exemplo_14

M. Becker 2008 270


BIBLIOTECAS DE BLOCOS:

[Model Verification]

M. Becker 2008 271


BIBLIOTECAS DE BLOCOS:

[Model Verification]: Exemplo_15

M. Becker 2008 272


BIBLIOTECAS DE BLOCOS:

[Model Verification]: Exemplo_15

M. Becker 2008 273


BIBLIOTECAS DE BLOCOS:

[Signal Attributes]

M. Becker 2008 274


BIBLIOTECAS DE BLOCOS:

[Signal Attributes ]: Exemplo_16

M. Becker 2008 275


BIBLIOTECAS DE BLOCOS:

[Signal Routing]

M. Becker 2008 276


BIBLIOTECAS DE BLOCOS:

[Signal Routing ]: Exemplo_17

M. Becker 2008 277


BIBLIOTECAS DE BLOCOS:

[Sinks]

M. Becker 2008 278


BIBLIOTECAS DE BLOCOS:

[Sinks]: Exemplo_18

M. Becker 2008 279


BIBLIOTECAS DE BLOCOS:

[Sinks]: Exemplo_18

M. Becker 2008 280


BIBLIOTECAS DE BLOCOS:

[Sinks]: Exemplo_18

M. Becker 2008 281


BIBLIOTECAS DE BLOCOS:

[Sources]

M. Becker 2008 282


BIBLIOTECAS DE BLOCOS:

[Sources]: Exemplo_19

283
BIBLIOTECAS DE BLOCOS:

[Sources]: Exemplo_19

M. Becker 2008 284


BIBLIOTECAS DE BLOCOS:

[User-Defined Functions]

M. Becker 2008 285


BIBLIOTECAS DE BLOCOS:

[User-Defined Functions]: Exemplo_04

M. Becker 2008 286


BIBLIOTECAS DE BLOCOS:

[Logic and Bit Operations]

M. Becker 2008 287


BIBLIOTECAS DE BLOCOS:

[Ports and Subsystems]

M. Becker 2008 288


BIBLIOTECAS DE BLOCOS:

[Model-Wide Utilities ]

M. Becker 2008 289


SUMRIO




M. Becker 2008 290


EXERCCIOS:

1 Elabore um diagrama que gere um sinal composto


por 3 harmnicos com freqncias diferentes que
seguem a seguinte equao:

S(t) = 4*sin(5*t) cos(20*t) + sin(50*t)

M. Becker 2008 291


EXERCCIOS:

2 Elabore um diagrama que gere um sinal composto por 2 harmnicos


com freqncias diferentes que seguem a seguinte equao:
S(t) = 4*sin(5*t) cos(20*t)
Acrescente um atraso de 1 unidade de tempo no primeiro harmnico
(4*sin(5*t))

M. Becker 2008 292


EXERCCIOS:

M. Becker 2008 293


EXERCCIOS:

3 Elabore um diagrama que implemente a PG com as


seguintes caractersticas:

Valor inicial G0 = 3
Razo = 2
Seqncia da PG: GN = GN-1 * Q, para N > 0 e Razo Q
Frmula Geral da PG: GN = G0 * Q(N-1), para N > 0 e
Razo Q

M. Becker 2008 294


EXERCCIOS:

M. Becker 2008 295


EXERCCIOS:

4 Construa um diagrama que implemente o sorteio de


um nmero entre 1 e n, sendo n um parmetro de
entrada:

Sugestes: crie um subsistema com mscara para criar o


parmetro de entrada n; utiliza o bloco [Scope] para exibir o
resultado do sorteio; utilize o bloco [Uniform Random Number]
para gerar os nmeros aleatrios; utilize o bloco [MATLAB Fcn]
para obter um nmero entre 1 e n; e o bloco [Unit Delay] para
controlar a velocidade de sorteio.

M. Becker 2008 296


EXERCCIOS:

M. Becker 2008 297


EXERCCIOS:

5 Construa um diagrama que modele um corpo em


queda livre e em salto bungie-jump (semelhante ao
tutorial_18.mdl) utilizando o bloco [Transfer Fcn].

queda livre: y = g;
bungie-jump: y = g k/m * y b/m * y.

M. Becker 2008 298


EXERCCIOS:

M. Becker 2008 299


EXERCCIOS:

6 Crie um subsistema e uma mscara para o modelo


criado no exerccio anterior.

M. Becker 2008 300


EXERCCIOS:

7 Acrescente um bloco [S-Function] ao modelo criado


no exerccio 6 para implementar a animao do corpo
em queda.

Sugesto: utilize o bloco [Unit Delay] para controlar a


velocidade de animao

M. Becker 2008 301


EXERCCIOS:
8 Exemplo de Aplicao de Simulink em Controle
(Captulo 11 Dorf and Bishop, 11 Ed., p. 795) Um
sistema de teste e inspeo automtico utiliza um
motor DC com encoder para mover a mesa (figuras nos
prximos slides) e medir o deslocamento e velocidade.
As variveis de estado selecionadas so:
x1= , x2= d/dt e x3= if
E, as variveis de controle:
u = [-K1 -K2 -K3 ]x + r u = -K1x1 -K2x2 -K3x3 + r

M. Becker 2008 302


EXERCCIOS:
8 Cont... Sistema de Inspeo Automtico

M. Becker 2008 303


EXERCCIOS:
8 Cont... Detalhe do Motor DC

M. Becker 2008 304


EXERCCIOS:
8 Cont... Malha Aberta do Sistema

x1= , x2= d/dt e x3= if

M. Becker 2008 305


EXERCCIOS:
8 Cont... Malha Fechada do Sistema

M. Becker 2008 306


EXERCCIOS:
8 Cont... Root Locus Lugar das Razes do Sistema

M. Becker 2008 307


EXERCCIOS:
8 Cont... Resposta a uma entrada Degrau.

M. Becker 2008 308


EXERCCIOS:
9 Exemplo de Aplicao de Simulink em Controle
(Captulo 11 Dorf and Bishop, 11 Ed., p. 798) Uma
locomotiva diesel-eltrica mostrada na figura da
prximo slide. A eficincia do motor a combusto
interna diesel muito sensvel s velocidades de
rotao dos motores eltricos. Deseja-se desenvolver
um controlador para os motores eltricos que permita
o emprego dessa locomotiva em trens. A locomotiva
acionada por motores eltricos DC localizados em
cada um de seus eixos. Deseja-se controlar a rotao
0 para um dado valor de r.
M. Becker 2008 309
EXERCCIOS:
9 Cont... Esquema da locomotiva.

310
EXERCCIOS:
9 Cont... Parmetros para Simulao.

Km Kg Kb J b La Ra Rf Lf Kt Kpot Lg Rg
10 100 0.62 1 1 0.2 1 1 0.1 1 1 0.1 1

M. Becker 2008 311


EXERCCIOS:
9 Cont... Exemplo do
processo de projeto de
sistema de controle

312
EXERCCIOS:
9 Cont.

Fluxo de Sinais do Controlador

Diagrama de Blocos do Controlador


313
EXERCCIOS:
9 Cont... Diagrama de Blocos da Locomotiva

M. Becker 2008 314


EXERCCIOS:
9 Cont... Localizao dos Polos desejada

M. Becker 2008 315


Resposta do Sistema em Malha
9 Cont...
Fechada a uma entrada degraus
EXERCCIOS:

316