Buscar

Simulink-EESC_2011

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 316 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 316 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 316 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SIMULINK SIMULINK 
Escola de Engenharia de São Carlos Escola de Engenharia de São Carlos -- EESC EESC 
Abril / Maio de 2008
SIMULINK SIMULINK 
Curso Básico
2011
Prof. Prof. Dr. Marcelo Dr. Marcelo BeckerBecker
CONTATO
PROF. DR. MARCELO BECKER
Laboratório de Mecatrônica
SEM - EESC – USP
Prédio da Engª. Mecatrônica - Sala 29122
2
Prédio da Engª. Mecatrônica - Sala 29122
Av. do Trabalhador São-carlense, 400
São 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
BIBLIOGRAFIA RECOMENDADA
LIVRO EM PORTUGUÊS
Simulink 5 – Fundamentos, Élia Yathie Matsumoto, 
Editora Érica, 204p., 2ª Edição, 2009. 
3
OBS. - A maior parte do material deste curso foi baseado 
nesse livro.
website
www.mathworks.com
 M. Becker 2008
SUMÁRIO
� INTRODUÇÃO
� AMBIENTE DO SIMULINK
� MANIPULAÇÕES DE BLOCOS
� EXIBIÇÃO DE GRÁFICOS E SIMULAÇÃO� EXIBIÇÃO DE GRÁFICOS E SIMULAÇÃO
� SOLVERS
� MODELOS, MÁSCARAS E SUBSISTEMAS
� SIMULINK E MATLAB
� BIBLIOTECAS DE BLOCOS
� EXERCÍCIOS
4 M. Becker 2008
SUMÁRIO
�
5 M. Becker 2008
INTRODUÇÃO:
O que é Simulink?
Aplicativo do MatLab que permite analisar o 
comportamento de sistemas dinâmicos a partir da comportamento de sistemas dinâmicos a partir da 
construção do modelo matemático;
Utiliza-se diagramas de blocos que são simulados pelo 
MatLab.
6 M. Becker 2008
INTRODUÇÃO:
O que é Sistema Dinâmico?
Sistema cuja saída (resultado e estado) muda ao longo do 
tempo. A maioria dos eventos do mundo real são sistemas 
dinâmicos.
tempo. A maioria dos eventos do mundo real são sistemas 
dinâmicos.
Ex.: Circuitos Elétricos, Sistemas de Amortecedor, Sistemas de 
Freios, Sistemas Termodinâmicos, etc.
7 M. Becker 2008
INTRODUÇÃO:
Onde se pode acionar o Simulink?
2 modos: 
1. Através do ícone na barra de ferramentas do 
MatLab.
2. Diretamente na linha de comando do MatLab
8 M. Becker 2008
INTRODUÇÃO:
Onde se pode acionar o Simulink?
1. Através do ícone na barra de 
ferramentas do MatLab.ferramentas do MatLab.
2. Diretamente na linha de 
comando do MatLab
9 M. Becker 2008
SUMÁRIO
�
�
10 M. Becker 2008
AMBIENTE DO SIMULINK:
Janela Inicial do Simulink
Simulink Library Browser
11
Barra de Ferramentas
Área de Descrição
Diagramas de Blocos 
Disponíveis para a 
montagem dos modelos
 M. Becker 2008
AMBIENTE DO SIMULINK:
Menus Pop-up
Na Janela Simulink Library Browser há 
4 menus
[File]: manipulação de arquivos de 
modelos e ambiente
[New]: cria novo modelo
[Open]: abre modelo existente
[Close]: fecha modelo corrente
[Preferences...]: abre janela 
de configurações 
12 M. Becker 2008
AMBIENTE DO SIMULINK:
Menu Pop-up [Preferences...]
13 M. Becker 2008
AMBIENTE DO SIMULINK:
Menus Pop-up
Na Janela Simulink Library Browser
há 4 menushá 4 menus
[Edit]: manipulação 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
14 M. Becker 2008
AMBIENTE DO SIMULINK:
Menus Pop-up
Na Janela Simulink Library Browser
há 4 menushá 4 menus
[View]: modo de visualização do Simulink
[Toolbar]: ativa / desativa a visualização da barra de ferramentas
[Status bar]: ativa / desativa exibição da barra de status
[Description]: ativa / desativa exibição da barra de descrição
[Stay on top]: força a exibição da janela do Simulink sempre na frente 
[Collapse entire Browser]: mostra apenas os títulos das bibliotecas
15 M. Becker 2008
AMBIENTE DO SIMULINK:
Menus Pop-up
Na Janela Simulink Library Browser
há 4 menushá 4 menus
[View]: modo de visualização 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 parâmetros do 
bloco selecionado
16 M. Becker 2008
AMBIENTE DO SIMULINK:
Menus Pop-up
Na Janela Simulink Library Browser
há 4 menushá 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 Descrição
17 M. Becker 2008
AMBIENTE DO SIMULINK:
Barra de Ferramentas
A Janela de Ferramentas apresenta
4 opções (já vistas nos Menus 4 opções (já vistas nos Menus 
Pop-up...):
18
[Create a new Model]
[Open a Model] [Stay on top]
[Find]
 M. Becker 2008
AMBIENTE DO SIMULINK:
Library Browser
Divide-se em 2 janelas:
Lado esquerdo: exibe 
19
Lado esquerdo: exibe 
bibliotecas disponíveis
Lado direito: exibe 
os blocos de cada 
bibliotecas em 
ordem alfabética
 M. Becker 2008
AMBIENTE DO SIMULINK:
Library Browser
Divide-se em 2 janelas:
20
Usando o botão direito 
do mouse...
 M. Becker 2008
AMBIENTE DO SIMULINK:
Janela do Modelo
Criar um novo modelo
21 M. Becker 2008
AMBIENTE DO SIMULINK:
Janela do Modelo
Expandir a biblioteca do 
Simulink
22 M. Becker 2008
AMBIENTE DO SIMULINK:
Janela do Modelo
Inserir bloco de osciloscópio no 
modelo
Localizar o item [Sinks]
Localizar o bloco [Scope]
23 M. Becker 2008
AMBIENTE DO SIMULINK:
Janela do Modelo
Inserir bloco de osciloscópio no 
modelo
Clique e arraste o bloco 
[Scope] para dentro da 
janela do modelo...
24 M. Becker 2008
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...
25 M. Becker 2008
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 
exibição...
26 M. Becker 2008
AMBIENTE DO SIMULINK:
Janela do Modelo
Simule o modelo (clique no 
ícone [Start Simulation])
27
 M. Becker 2008
AMBIENTE DO SIMULINK:
Configurar Parâmetros de 
Simulação
A opção [Configuration Parameters...] 
abre a janela de parâmetros do abre a janela de parâmetros do 
Simulink
28
 M. Becker 2008
AMBIENTE DO SIMULINK:
29
 M. Becker 2008
AMBIENTE DO SIMULINK:
Configurar Parâmetros de 
Simulação
Altere o parâmetro [Stop Time] 
para 50.0 e simule novamente 
Altere o parâmetro [Stop Time] 
para 50.0 e simule novamente 
o modelo
Curva “dentada”...
Volte à Janela de Configurações
30
 M. Becker 2008
AMBIENTE DO SIMULINK:
Configurar Parâmetros de 
Simulação
Altere o parâmetro [Refine factor] para 10.0 e Altere o parâmetro [Refine factor] para 10.0 e 
simule novamente o modelo
31
 M. Becker 2008
AMBIENTE DO SIMULINK:
32 M. Becker 2008
AMBIENTE DO SIMULINK:
Configurar Parâmetros de 
Simulação
Assim...Assim...
33 M. Becker 2008
AMBIENTE DO SIMULINK:
Configurar Parâmetros de 
Blocos
As características de cada loco 
podem ser alteradas através de 
As características de cada loco 
podem ser alteradas através de 
um duplo clique no bloco...
Por exemplo, alterando a 
freqüência e amplitude da 
onda de seno
34 M. Becker 2008
AMBIENTE DO SIMULINK:
Configurar Parâmetros de 
Blocos
Configure os parâmetros [Amplitude] 
de 1 para 5 e [Frequency] de 1 para 2de 1 para 5 e [Frequency] de 1 para 2
Simule o modelo...
35
 M. Becker 2008
AMBIENTE DO SIMULINK:
Configurar Parâmetros de 
Blocos
Configure os parâmetros [Amplitude] 
de 1 para 5 e [Frequency] de 1 para 2de 1 para 5 e [Frequency] de 1 para 2
Simule o modelo...
 M. Becker 2008
SUMÁRIO
�
�
37 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Na Janela de Comando do MatLab: 
Selecione corretamente o diretório de trabalho e digite tutorial_01Selecione corretamente o diretório de trabalho e digite tutorial_01
38
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Para visualizar o Library Browser:
Selecionar no Menu pop-up [View] a opção [Library Browser]Selecionar no Menu pop-up [View] a opção [Library Browser]
39 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocose Ligações 
1. Salvar o arquivo tutorial_01 como tutorial_02
2. Inserir um novo bloco [Sine Wave] no modelo2. Inserir um novo bloco [Sine Wave] no modelo
3. Apague a ligação 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 faça as ligações conforme o 
esquema do próximo slide...
40 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Dê um duplo clique no bloco 
[Sum] para visualizar a janela de 
parâmetros (2 principais)parâmetros (2 principais)
[Icon Shape]: define o formato do 
ícone
[round]: redondo
[rectangular]: retangular
[List of Signs]: define a operação 
que será aplicada a cada entrada 
41 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Dê um duplo clique no bloco 
[Sum] para visualizar a janela de 
parâmetros (2 principais)parâmetros (2 principais)
[Icon Shape]: define o formato do 
ícone
[round]: redondo
[rectangular]: retangular
[List of Signs]: define a operação 
que será aplicada a cada entrada 
42 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
O gráfico exibido em [Scope] é a 
soma de duas curvas de seno 
com amplitude 1 e freqüência 1, 
ou seja, uma curva com 
com amplitude 1 e freqüência 1, 
ou seja, uma curva com 
amplitude 2 e freqüência 1...
Para visualizar cada onda seno, 
salve o modelo como 
tutorial_03, insira mais 2 blocos 
[Scope] e faça as ligações 
conforme o próximo slide...
43 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Clique os 2 novos blocos Clique os 2 novos blocos 
[Scope] para visualizar os 
sinais
Simule o modelo...
44 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
45
Curva 1 Curva 2 Soma das Curvas
 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Alterando o valor de amplitude da curva [Sine Wave 1] para 10 e 
simulando...
46
Curva 1 Curva 2 Soma das Curvas
 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Alterando o valor de freqüência da curva [Sine Wave 1] para 10 e 
simulando...
47
Curva 1 Curva 2 Soma das Curvas
 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Alterando o [Stop Time] para facilitar a visualização...
48
Curva 1 Curva 2 Soma das Curvas
 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Alterando o valor de amplitude da curva [Sine Wave 1] para 1 e 
simulando...
49
Curva 1 Curva 2 Soma das Curvas
 M. Becker 2008
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Utilizando um bloco [Gain] ao invés de alterar a amplitude do 
sinal... No item [Math Operators] localize o bloco [Gain] e insira-o 
no módulo.no módulo.
50
MANIPULAÇÕES DE BLOCOS:
Blocos e Ligações 
Alterando o valor fator de ganho do bloco [Gain] para 3 e 
simulando...
51
Curva 1 Curva 2 Soma das Curvas
 M. Becker 2008
SUMÁRIO
�
�
52 M. Becker 2008
Gráficos e Resultados
Salve o modelo tutorial_03 como tuturial_04
Insira um bloco [Mux] do item [Signal Routing] para combinar 
várias entradas e gerar uma única saída
EXIBIÇÃO DE GRÁFICOS:
várias entradas e gerar uma única saída
Elimine os blocos [Scope 1], 
[Scope 2] e [Gain]
53 M. Becker 2008
Gráficos e Resultados
O bloco [Mux] receberá os sinais das 2 senóides 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
EXIBIÇÃO DE GRÁFICOS:
ícone do bloco [Mux] e configure [Number of inputs] para 3
54 M. Becker 2008
Gráficos e Resultados
Faça as ligações conforme o esquema abaixo
EXIBIÇÃO DE GRÁFICOS:
55
Faça as seguintes configurações:
Bloco [Sine Wave] com
amplitude 3 e freqüência 1
Bloco [Sine Wave 1] com 
amplitude 1 e freqüência 10
 M. Becker 2008
Gráficos e Resultados
Assim:
As curvas foram exibidas 
EXIBIÇÃO DE GRÁFICOS:
56
As curvas foram exibidas 
simultaneamente no mesmo 
gráfico com as seguintes cores:
[Sine Wave]: amarelo
[Sine Wave 1]: azul
[Sum]: púrpura
 M. Becker 2008
Gráficos e Resultados
Para obter vários gráficos em um único bloco [Scope], salve o 
modelo tutorial_04 como tutorial_05
EXIBIÇÃO DE GRÁFICOS:
Elimine o bloco [Mux], dê um duplo 
clique no bloco [Scope] e clique no
ícone [Parameters] para abrir a 
Janela de Configurações
57 M. Becker 2008
Gráficos e Resultados
Configure o parâmetro [Number of
axes], que determina o número de 
eixos que serão exibidos, para 3
EXIBIÇÃO DE GRÁFICOS:
eixos que serão exibidos, para 3
Clique em [Apply]
Conecte os blocos como o próximo 
slide e execute a simulação...
58 M. Becker 2008
Gráficos e Resultados
Curva 1
EXIBIÇÃO DE GRÁFICOS:
59
Soma das
Curvas
Curva 2
 M. Becker 2008
Gráficos e Resultados
Definindo os nomes dos sinais e rótulos para os gráficos: dê um 
duplo clique na linha e escolha o nome desejado
EXIBIÇÃO DE GRÁFICOS:
60 M. Becker 2008
Gráficos e Resultados
EXIBIÇÃO DE GRÁFICOS:
61 M. Becker 2008
Gráficos e Resultados
Como configurar os parâmetros do bloco [Scope]?
[Print]: imprime o(s) gráfico(s) exibidos no bloco
EXIBIÇÃO DE GRÁFICOS:
[Print]: imprime o(s) gráfico(s) exibidos no bloco
[Parameters]: abre janela de configuração de parâmetros
[Zoom]: zoom-in
[Zoom X-axis]: zoom-in no eixo x
[Zoom Y-axis]: zoom-in no eixo y
[Autoscale]: ajusta a visualização
[Save current axes settings]: armazena configuração
[Restore saved axes settings]: restaura configuração
62 M. Becker 2008
Gráficos e Resultados
Os eixos dos gráficos podem ser configurados individualmente... Por 
exemplo, posicione o cursor no gráfico “Curva 2” e clique no botão 
direito do mouse para abrir o menu flutuante
EXIBIÇÃO DE GRÁFICOS:
direito do mouse para abrir o menu flutuante
63
É possível configurar os valores mínimo e 
máximo do eixo Y e o título
Reconfigure o título: Gráfico do 
%<SignalLabel>
 M. Becker 2008
Gráficos e Resultados
Assim:
EXIBIÇÃO DE GRÁFICOS:
64 M. Becker 2008
MECANISMOS DE SIMULAÇÃO
Introdução 
O ambiente do Simulink é basicamente composto por 2 
componentes:
1. Bibliotecas de Blocos: conjunto de símbolos
2. Editor de Diagrama de Blocos: ambiente no qual os blocos 2. Editor de Diagrama de Blocos: ambiente no qual os blocos 
são inseridos
O diagrama de blocos permite a visualização do sistema modelado 
de forma modular, o que facilita a compreensão do fluxo do 
processo estudado
65 M. Becker 2008
Blocos
Representam elementos do sistema dinâmico cujo 
comportamento está sendo simulado... Cada bloco é composto 
por:
1. Representação visual (símbolo disponível na biblioteca)
MECANISMOS DE SIMULAÇÃO
1. Representação visual (símbolo disponível na biblioteca)
2. Conjunto de dados de entrada
3. Conjunto de dados de saída
4. Conjunto de estados (opcional)
66
x
(estados)
u
(entrada)
y
(saída)
 M. Becker 2008
Estados
Blocos podem ou não ter estados. Se um bloco tiver estado, então 
estado é uma variável cujo valor tem o seguinte comportamento:
1. É uma função de seus valores anteriores e/ou dos valores de entrada 
do bloco
2. Determina o valor de saída do bloco
MECANISMOS DE SIMULAÇÃO
2. Determina o valor de saída do bloco
Quando um bloco possui estados que dependem de valores anteriores, esses 
estados são chamados de “persistentes” (persistent states) e diz-se que o bloco 
“possui memória”
Exemplo de bloco sem estado: bloco [Sum] usado nos tutoriais. Dados de 
entrada: [Sin Wave] e [Sin Wave 1]. Dado de saída: soma dos valores de entrada
67 M. Becker 2008
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 saída: valor anterior
MECANISMOS DE SIMULAÇÃO
Conjunto de Estados: estado anterior (t-1) e estado atual (t)
Inicial: armazena o valor inicial corrente
Próximos: armazena o valor corrente e retorna o valor armazenado anteriormente 
tutorial_07: exemplo de aplicação. Usar o bloco [Memory] para gerar 
um sinal Si tal que: 
68
S0 = k, k constante
Si = Si-1+S0, para i>0
 M. Becker2008
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]
MECANISMOS DE SIMULAÇÃO
69 M. Becker 2008
Estados
Execute o tutorial_07 e visualize o resultado
S = 1
MECANISMOS DE SIMULAÇÃO
70
S0 = 1
Si = Si-1+S0, para i>0
O bloco [Memory] 
implementou a seqüência 
Si-1+S0
 M. Becker 2008
Estados
Altere o valor do bloco constante para 3, execute o tutorial_07 e 
visualize o resultado
MECANISMOS DE SIMULAÇÃO
71 M. Becker 2008
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
MECANISMOS DE SIMULAÇÃO
72 M. Becker 2008
Estados
Configure:
[Variable name]: “sequencia”
MECANISMOS DE SIMULAÇÃO
[Variable name]: “sequencia”
[Save format]: “Array”
Os valores salvos em MatLab
estão em um vetor chamado
sequencia
73 M. Becker 2008
Estados
Execute a simulação e verifique
os valores armazenados na 
janela [Workspace] do MatLab:
MECANISMOS DE SIMULAÇÃO
janela [Workspace] do MatLab:
tout: vetor de tempo
sequencia: valor exportado
A seqüência gerada: [3,6,9,12,...]
satisfaz: 
74
S0 = 3
Si = Si-1+S0, para i>0
 M. Becker 2008
Tempo e Passos de Simulação
Abra a janela de configurações de parâmetro do modelo
MECANISMOS DE SIMULAÇÃO
[Simulation Time]: Tempo de Simulação
[Start time]: início
[Stop time]: fim
75 M. Becker 2008
Tempo e Passos de Simulação
[Solver options]: opções de solvers
[Type]: tipos
MECANISMOS DE SIMULAÇÃO
[Type]: tipos
[Variable-step]: utilizar passo variado
[Fixed-step]: utilizar passo fixo
76 M. Becker 2008
Tempo e Passos de Simulação
[Solver options]: opções de solvers
[ode45(Domand-Prince)], etc.: próximo tópico
[Max step size]: passo máximo
[Min step size]: passo mínimo
MECANISMOS DE SIMULAÇÃO
[Initial step size]: passo inicial
[Relative (Absolute) tolerance]: tolerância relativa (absoluta) a ser 
empregada para monitorar e controlar o erro a cada passo 
durante as interações
77
Tempo e Passos de Simulação
No caso do tutorial_07 não há interação. Logo, vamos alterar o 
parâmetro [Max step size]. Configurá-lo de “auto” para:
[Max step size] = ([Stop time]-[Initial time])/50 
MECANISMOS DE SIMULAÇÃO
Ou seja, tutorial_07 será simulado 51 vezes no intervalo de 0 a 10 
unidades de tempo.
78
Tempo e Passos de Simulação
No bloco [Scope]:
MECANISMOS DE SIMULAÇÃO
Na Janela de Comando do MatLab:
79 M. Becker 2008
Tempo e Passos de Simulação
Reconfigurando o parâmetro [Max step size] para 1 e executando a 
simulação: 
MECANISMOS DE SIMULAÇÃO
80
11 divisões no eixo x
 M. Becker 2008
Tempo e Passos de Simulação
Criar o modelo tutorial_08: gera uma P.A. tal que:
A0 = k, k constante (k = 10)
A = A +R, para i>0 e razão R = 5
MECANISMOS DE SIMULAÇÃO
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 simulação;
[Switch], localizado no item [Signal Routing]: controla o fluxo de sinais.
81
Ai = Ai-1+R, para i>0 e razão R = 5
 M. Becker 2008
Tempo e Passos de Simulação
Assim, para a condição de “valor inicial” tem-se:
MECANISMOS DE SIMULAÇÃO
82 M. Becker 2008
Tempo e Passos de Simulação
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 
MECANISMOS DE SIMULAÇÃO
2. O 2º sinal de entrada é utilizado no teste condicional definido pelo 
parâmetro [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 número 
positivo (eps), então “0” é passado para frente; caso contrário, “10”, 
ou seja, A0 é passado para frente
Para implementar a condição da seqüência, o bloco [Constant] é 
configurado de “0” para “5”
83 M. Becker 2008
Tempo e Passos de Simulação
Assim, o algoritmo: se o valor do [clock] for maior ou igual ao menor 
número positivo (eps), então “5” (R) é passado para frente; caso 
contrário, “10”, ou seja, A0 é passado para frente”
MECANISMOS DE SIMULAÇÃO
84
Tempo e Passos de Simulação
O resto do algoritmo é implementado conforme a figura abaixo:
MECANISMOS DE SIMULAÇÃO
85 M. Becker 2008
Tempo e Passos de Simulação
Configure o bloco [To workspace] com:
[Variable name]: “SeqPA”
MECANISMOS DE SIMULAÇÃO
[Variable name]: “SeqPA”
[Save format]: “Array”
Configure o parâmetro de simulação [Max step size] com valor “1”
Execute a simulação...
86 M. Becker 2008
Tempo e Passos de Simulação
No [Scope]: Na tela do MatLab:
MECANISMOS DE SIMULAÇÃO
87 M. Becker 2008
Sinais
Os valores de saída de bloco são comumente denominados 
“sinais”. Possuem como propriedades:
MECANISMOS DE SIMULAÇÃO
“sinais”. Possuem como propriedades:
1. Nome
2. Tipo de dado (inteiro de 8-bits, 16-bits, etc.)
3. Tipo numérico (real ou complexo)
4. Dimensão / canal (vetor/matriz)
Alguns blocos aceitam qualquer tipo de dados, outros não...
88 M. Becker 2008
Sinais
tutorial_09: utilização de sinais com mais de uma 
dimensão. Crie um novo modelo com os seguintes locos:
[Random Number] do item [Sources]
MECANISMOS DE SIMULAÇÃO
[Random Number] do item [Sources]
[Scope]
89 M. Becker 2008
Sinais
tutorial_09: no bloco [Random Number] configure as 
propriedades:
[Mean]: média da distribuição normal
MECANISMOS DE SIMULAÇÃO
[Mean]: média da distribuição normal
[Variance]: variância da distribuição normal
[Initial Seed]: número inteiro positivo que será a “semente” para 
a geração da seqüência de números aleatórios. O ideal é que 
esse número varie a cada execução: utilize a expressão do 
MatLab: “100*rand”
90 M. Becker 2008
Sinais
tutorial_09: Assim...
MECANISMOS DE SIMULAÇÃO
91 M. Becker 2008
Sinais
tutorial_09: Executando várias vezes a simulação...
MECANISMOS DE SIMULAÇÃO
92 M. Becker 2008
Sinais
tutorial_09: Para evitar a mensagem no MatLab: 
MECANISMOS DE SIMULAÇÃO
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 função “fix” do MatLab: fix(100*rand) pois ela
converte número real em inteiro
93 M. Becker 2008
Sinais
tutorial_09: O parâmetro [Initial seed] pode ser um vetor 
1xN, em que N representa a quantidade de números 
aleatórios que devem ser gerados simultaneamente... 
MECANISMOS DE SIMULAÇÃO
aleatórios que devem ser gerados simultaneamente... 
94 M. Becker 2008
Sinais
tutorial_09: para visualizar as 3 curvas separadamente, 
utiliza-se o bloco [Demux] do item [Signal Routing]... 
MECANISMOS DE SIMULAÇÃO
95 M. Becker 2008
Sinais
tutorial_09: Assim...
MECANISMOS DE SIMULAÇÃO
96 M. Becker 2008
Sinais
tutorial_09: O simulink pode ser configurado para exibir 
informações sobre as propriedades dos sinais
MECANISMOS DE SIMULAÇÃO
No menu pop-up [Format], ative as opções:
[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 número de canais
[Port data types]: mostra o tipo numérico de cada sinal
97 M. Becker 2008
Sinais
tutorial_09: Assim...
MECANISMOS DE SIMULAÇÃO
98 M. Becker 2008
Sinais
tutorial_10: Composição dos tutorial_08 e tutorial_09 que 
forma um modelo simplificado de simulação “Monte 
Carlo”...
MECANISMOS DE SIMULAÇÃO
Carlo”...Modelo:
Em que: k1 e k2 são constantes reais
αi,j e βi,j são variáveis aleatórias com distribuição normal
NS é o número de seqüências aleatórias a serem geradas
99
S0 = Sinicial
Si,j = Si-1,j + k1*αi,j + k2*βi,j , j = 1:NS
 M. Becker 2008
Sinais
salve o tutorial_08 como tutorial_10:
MECANISMOS DE SIMULAÇÃO
100 M. Becker 2008
Sinais
Elimine o bloco [Constant] chamado “R” e altere o bloco [Constant] 
chamado “A0” para “S0” e reconfigure para o valor “100” 
MECANISMOS DE SIMULAÇÃO
101 M. Becker 2008
Sinais
Altere o valor da variável de saída do bloco [To workspace] para 
“SeqMC” 
MECANISMOS DE SIMULAÇÃO
102 M. Becker 2008
Sinais
Assim, para implementar a seqüência Si, precisamos de 2 gerações de 
números aleatórios, semelhantes ao tutorial_09:
MECANISMOS DE SIMULAÇÃO
103 M. Becker 2008
Sinais
Cuidado na configuração do bloco [Gain] para “Matrix Gain”:
MECANISMOS DE SIMULAÇÃO
104
Sinais
Utilize os seguintes dados numéricos para a simulação:
S = 100; k = 0.01; k = 0.02 e NS = 10 (os blocos [Random Number] 
MECANISMOS DE SIMULAÇÃO
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))”)
105 M. Becker 2008
Sinais
Assim...
Cuidado com [Swtich] �
MECANISMOS DE SIMULAÇÃO
106
�
Sinais
Acertando a formatação...
MECANISMOS DE SIMULAÇÃO
107 M. Becker 2008
Sinais
Alterando NS para 100... �
Cuidado com [Swtich]
MECANISMOS DE SIMULAÇÃO
108
�
Sinais
Plotando os valores no MatLab...
MECANISMOS DE SIMULAÇÃO
109 M. Becker 2008
SUMÁRIO
�
�
110 M. Becker 2008
SOLVERS:
Introdução
Um modelo do Simulink retorna os valores derivados no tempo de 
seus estados (contínuos ou discretos) e não os valores de seus seus estados (contínuos ou discretos) e não os valores de seus 
estados propriamente ditos.
Logo, o Simulink, simulando um sistema, tem que calcular os 
estados integrando numericamente os estados derivados...
→ Equações Diferenciais Ordinárias – ODE solvers
111 M. Becker 2008
SOLVERS:
Introdução
Para selecionar o solver desejado deve-se acessar [Solver] em 
[Confiuration Parameters] [Confiuration Parameters] 
112 M. Becker 2008
SOLVERS:
Simulation Time
[Start time]: início
[Stop time]: fim[Stop time]: fim
Pode-se configurar o instante inicial e final para a execução da simulação. Os 
valores default são “0.0” e “10.0” unidades de tempo, respectivamente.
Deve-se observar que o tempo efetivamente gasto para executar a simulação não 
é o simulation time, visto que depende de vários fatores relativos à configuração 
do computador...
113 M. Becker 2008
SOLVERS:
Solver Options
Solvers podem ter passo variável (variable-step) ou fixo (fixed-step). 
O passo variável permite: modificar o intervalo de tempo entre as 
interações (passo) e detectar estados de “error control” e “zero 
crossing”. 
No caso de passo fixo, não é possível alterar o passo, sendo este 
constante e determinado automaticamente pela equação (Stop
time – Start time)/50. 
114 M. Becker 2008
SOLVERS:
Solver Options
Caso o usuário não queira definir o solver a ser empregado, os 
solver default são: solver default são: 
ode45 – para modelos com estados contínuos
discrete – para modelos com estados não contínuos
115 M. Becker 2008
SOLVERS:
Solver Options
Solvers de passo variável: 
ode45 - Runge-Kutta(4,5) solver tipo non-stiff de ordem média
ode23 - Runge-Kutta(2,3) solver tipo non-stiff de ordem baixa
ode113 - Adams-Bahforth Moulton PECE solver tipo non-stiff de ordem variável
ode15s - NDF (Numerical Differentiation Formulas) solver
ode23s - solver Rosenblock de ordem 2
ode23t - solver de ordem baixa (regra trapezoidal / interpolação livre)
ode23tb - solver TR-BDF2 de ordem baixa
discrete - solver discreto
116 M. Becker 2008
SOLVERS:
Solver Options
Solvers de passo fixo: 
discrete - solver discreto
ode5 - versão discreta do solver Runge-Kutta(4,5) 
ode4 - versão discreta do solver Runge-Kutta(2,3) 
ode3 - versão discreta do solver Bogacki-Shampine
ode2 - método de Heun (Euler melhorado)
ode1 - método de Euler
ode14x - extrapolação
117 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: exemplo de aplicação dos 
solvers.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...
118 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: executando, obtemos:
No 1º gráfico observamos o sinal constante No 1º gráfico observamos o sinal constante 
“1” e, no 2º, a sua integral que é a função 
identidade, visto que:
Acrescente o bloco [To workspace] para 
poder observar os efeitos das alterações que 
serão inseridas no modelo...
119
dx
dt
= 1
 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: faça a seguinte 
configuração no bloco [To workspace]:configuração no bloco [To workspace]:
[Variable Name]: “Integral”
[Save format]: “Struct with Time”
120
Assim, o sinal gerado pelo bloco [Integrator] será armazenado em uma variável 
no MatLab com o nome “Integral” tipo “struct” com os campos: “time” e 
“signal.values”
 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: faça a seguinte configuração para os parâmetros de 
simulação:simulação:
[Start Time]: “0.0”
[Stop Time]: “10.0”
Solver Options [Type]: “variable-step”
[Solver]: “ode45”
[Max step size]: “auto”
121 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: executando a simulação, temos em:
Integral.time – 51 elementos, um para cada passo.
Usando o MatLab para visualizar os valores dos passos, temos:Usando o MatLab para visualizar os valores dos passos, temos:
122 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: utilizando a função do MatLab “diff” para verificar a 
diferença entre os passos empregados pelo solver “ode45”, 
verificamos que o valor máximo do passo é: “0.2”verificamos que o valor máximo do passo é: “0.2”
123 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: altere os seguintes parâmetros de simulação:
Solver Options [Type]: “fixed-step”Solver Options [Type]: “fixed-step”
[Solver]: “ode5”
Execute a simulação e gere os mesmos gráficos. É possível observar 
que a diferença entre os valores do passo é “praticamente” fixa e 
igual a “0.2”
124 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: Assim...
125 M. Becker 2008
SOLVERS:
Solver Options
tutorial_11: configurando o [Fixed-step size] em “1”, tem-se:
126 M. Becker 2008
SOLVERS:
Solver Options
tutorial_12: modelagem de um corpo em queda livre
1. Salve o modelo em tutorial_11 como tutorial_12;1. Salve o modelo em tutorial_11 como tutorial_12;
2. Restaure os parâmetros iniciais de simulação:
–[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. Faça as conexões conforme a figura a seguir...
127 M. Becker 2008
SOLVERS:
Solver Options
tutorial_12: assim...
128 M. Becker 2008
SOLVERS:
Solver Options
tutorial_12: podemos interpretar o sinal como a aceleração, sua 
integral 1ª como a velocidade e sua integral 2ª como a posição de um 
objeto. objeto. 
Configurando o bloco [Constant] para o valor da aceleração da 
gravidade “-9.81” e renomeando os sinais, conforme a figura a seguir, 
concluímos o modelo desejado...
129 M. Becker 2008
SOLVERS:
Solver Options
tutorial_12: assim...
130 M. Becker 2008
SOLVERS:
Solver Options
tutorial_13: modelo de um sistema massa-mola-amortecedor
131
Equação: 
Onde: m – massa do corpo
g – aceleração da gravidade
k – coeficiente de elasticidade
b – coeficiente de amortecimento
y – deslocamento do corpo
y” = g – (k/m).y – (b/m).y’
my
k
b
 M. Becker 2008
SOLVERS:
Solver Options
tutorial_13: modelando em Simulink, temos:
132
m
y” =g – (k/m).y – (b/m).y’
y
k
b
 M. Becker 2008
SOLVERS:
Solver Options
tutorial_13: Configurando os blocos para os valores...
133
y” = g – (k/m).y – (b/m).y’
m: 60 kg
g: - 9.81 m/s2
k: 10 N/m
b: 5 N.s/m
 M. Becker 2008
SOLVERS:
Solver Options
tutorial_13: Configurando o [Stop time] 
para “100” segundos e executando a 
simulação...simulação...
Observa-se que o corpo desce aproximadamente 
100 m, atingindo uma velocidade máxima 
aproximada em módulo de 20 m/s e o movimento se 
estabiliza em 60 m de altura.
Aumentando a massa para 80 kg...
134 M. Becker 2008
SOLVERS:
Solver Options
tutorial_13: Assim...
135
60 kg 80 kg
SOLVERS:
Modelagem de Sistemas Contínuos Simples
exemplo_01: modelo desenvolvido a partir do tutorial_13.
Sistemas contínuos simples podem ser expressos pela seguinte Sistemas contínuos simples podem ser expressos pela seguinte 
equação diferencial:
Implementando o modelo desta equação para os valores a = 1 e b = 2...
136
x”(t) = – a.x’(t) – b.x(t) + u(t)
 M. Becker 2008
SOLVERS:
Modelagem de Sistemas Contínuos Simples
exemplo_01: assim... x”(t) = – a.x’(t) – b.x(t) + u(t)
137 M. Becker 2008
SOLVERS:
Modelagem de Sistemas Contínuos Simples
exemplo_02: modelo semelhante ao exemplo_01 mas muito mais 
compacto...
Substituindo na equação
x”(t) por s”.x, obtemos a equação no formato de função de 
transferência:
Implementando o modelo desta equação para os valores a = 1 e b = 2...
138
x”(t) = – a.x’(t) – b.x(t) + u(t)
x = 1 
u s” + a.s’ + b
 M. Becker 2008
SOLVERS:
Modelagem de Sistemas Contínuos Simples
exemplo_02: o Simulink possui o bloco [Transfer Fcn] localizado 
no item [Continuous] que implementa diretamente funções de 
transferênciatransferência
assim:
139
x = 1 
u s” + a.s’ + b
 M. Becker 2008
SOLVERS:
Modelagem de Sistemas Contínuos Simples
exemplo_02: configurando [Transfer Fcn] x = 1 
u s” + a.s’ + b
140 M. Becker 2008
SOLVERS:
Modelagem de Sistemas Contínuos Simples
exemplo_02: executando a simulação...
141
Idêntico ao modelo anterior...
 M. Becker 2008
SUMÁRIO
�
�
142 M. Becker 2008
MODELOS:
Menus de Modelos do Simulink
Ícones relativos a procura de erros, visualização de modelos 
grandes, etc.: grandes, etc.: 
143 M. Becker 2008
MODELOS:
Menus de Modelos do Simulink
[Print]: Impressão
144 M. Becker 2008
MODELOS:
Menus de Modelos do Simulink
[Simulation Mode]: configura a velocidade de simulação
145 M. Becker 2008
MODELOS:
Menus de Modelos do Simulink
[Toggle Model Browser]: ativa / desativa a janela “browser” que 
permite visualizar o detalhamento do modelo
146 M. Becker 2008
MODELOS:
Menus de Modelos do Simulink
[Debug]: depura o diagrama a procura de erros
147 M. Becker 2008
MODELOS:
Propriedades dos Modelos
No menu [File], a opção [Model properties] mostra a janela de 
propriedades do modelo composta por 4 pastas:
148
MODELOS:
Propriedades dos Modelos
[Model properties], pasta [Main]: informações principais
149
MODELOS:
Propriedades dos Modelos
... pasta [Callbacks]: chamada de funções ou m.files em pontos 
específicos da execução da
simulação do modelo...simulação 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 invés de alterar os parâmetros de cada bloco, pode-
se configurar esses parâmetros com nomes de variáveisse configurar esses parâmetros com nomes de variáveis
Dessa forma, vamos definir 3 variáveis:
Massa – massa do bloco
Coef_k – coeficiente de rigidez da mola
Coef_b – coeficiente de amortecimento do amortecedor
Configure os blocos [Gain] com essas variáveis...
152 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: assim...
153 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: Para definir os valores das 3 
variáveis, podemos criar um “m.file” no MatLab e 
configurá-lo em um dos campos da pasta [Callbacks]. 
Assim:Assim:
1º arquivo: tutorial14_inic que chama uma interface gráfica para 
permitir ao usuário fornecer os dados
2º arquivo: tutorial14_dados que é uma callback function da 
tutorial14_inic que cria as variáveis desejadas (Massa, Coef_k e 
Coef_b) a partir dos dados fornecidos na janela exibida pela 
tutorial_14_inic.
154 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: 1º arquivo
Ele é criado pelo comando GUIDE do MatLab e contém uma 
chamada para a função / m-file “tutorial14_dados.m” chamada para a função / m-file “tutorial14_dados.m” 
155 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: 2º arquivo
“tutorial14_dados.m” 
156 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: para fazer com que a função 
“tutorial14_inic” seja chamada quando o modelo é carregado:
• Configure a opção [Model pre-load function] do modelo:
Menu pop-up [File], item [Model Properties], [Callbacks]... 
157 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: Execute o modelo. Caso as variáveis 
Coef_k, Coef_b e Massa não tenham sido declarados no MatLab, 
aparecerá uma janela de erro...aparecerá uma janela de erro...
Para corrigir esse erro...
158 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14:
• Configure a opção [Model pre-load function] do modelo:• Configure a opção [Model pre-load function] do modelo:
Menu pop-up [File], item [Model Properties], [Callbacks]... 
159 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14:
• Configure a opção [Model Initialization function] do modelo:• Configure a opção [Model Initialization function] do modelo:
Menu pop-up [File], item [Model Properties], [Callbacks]... 
160 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14:
• Configure a opção [Simulation Start function] do modelo:• Configure a opção [Simulation Start function] do modelo:
Menu pop-up [File], item [Model Properties], [Callbacks]... 
161 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: quando o modelo é executado, o 
Simulink automaticamente utiliza os dados iniciais para a 1ª 
simulação. Os dados inseridos no modelo através da interface GUI simulação. Os dados inseridos no modelo através da interface GUI 
serão empregados nas simulações seguintes...
162
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: Assim...
163 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: Assim...
164 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: Assim...
165 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14: Assim...
166 M. Becker 2008
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”.os dados em formato tipo “Array”.
167
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14b:
• Configure a opção [Simulation Stop function] do modelo:• Configure a opção [Simulation Stop function] do modelo:
Menu pop-up [File], item [Model Properties], [Callbacks]... 
168 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14b: o arquivo m-file: tutorial14_final...
169 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14b: o arquivo m-file: tutorial14_final...
170 M. Becker 2008
MODELOS:
Propriedades dos Modelos
[Callbacks] - tutorial_14b: Assim...
171 M. Becker 2008
MODELOS:
Propriedades dos Modelos
... pasta [History]: permite registrar e exibir o histórico do 
modelo...
172 M. Becker 2008
MODELOS:
Propriedades dos Modelos
... pasta [Description]: permite registraruma descrição do 
modelo...
173 M. Becker 2008
SUBSISTEMAS:
Introdução
Um conjunto de blocos pode ser agrupado, gerando um 
bloco único denominado subsistema. Isso é útil para:bloco único denominado subsistema. Isso é útil para:
1. Reduzir o número de blocos exibidos na janela do modelo, 
simplificando a sua visualização;
2. Agrupar um conjunto de blocos relacionados por 
funcionalidade;
3. Criar uma hierarquia de diagrama de blocos para modelos 
mais complexos
174 M. Becker 2008
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 incluídos no 
retângulo em evidência na figura abaixo...retângulo em evidência na figura abaixo...
175 M. Becker 2008
SUBSISTEMAS:
tutorial_15:
3. Selecione a área demarcada 
na figura anterior com o 
mouse;mouse;
4. No menu pop-up [Edit] 
selecione a opção [Create
Subsystem];
5. Todos os blocos selecionados 
são substituídos por um 
único bloco [Subsystem]...
176 M. Becker 2008
SUBSISTEMAS:
tutorial_15:
6. Para visualizar os blocos de subsistema, basta dar um duplo-
clique no bloco [Subsystem]
177 M. Becker 2008
SUBSISTEMAS:
tutorial_15:
7. A organização dos subsistemas de um modelo pode ser 
visualizada ativando a opção [Model Browser] no menu pop-
up [View]up [View]
178 M. Becker 2008
MÁSCARAS:
Introdução
O Simulink permite definir uma janela para interface 
para os subsistemas chamada máscara (mask). Essa 
janela permite:
para os subsistemas chamada máscara (mask). Essa 
janela permite:
1. Criar uma janela de interface;
2. Definir os parâmetros de entrada para o subsistema;
3. Criar um ícone especial para o subsistema;
4. Definir a função de inicialização.
179 M. Becker 2008
MÁSCARAS:
Introdução
O Simulink permite definir uma janela para interface 
para os subsistemas chamada máscara (mask). Essa 
janela permite:
para os subsistemas chamada máscara (mask). Essa 
janela permite:
1.1. Criar uma janela de interface;Criar uma janela de interface;
2.2. Definir os parâmetros de entrada para o subsistema;Definir os parâmetros de entrada para o subsistema;
3. Criar um ícone especial para o subsistema;
4. Definir a função de inicialização.
180 M. Becker 2008
MÁSCARAS:
Criar o tutorial_16 a partir do 
tutorial_15:
1. Abra o modelo tutorial_15 e salve-
o como tutorial_16;o como tutorial_16;
2. Selecione o bloco [Subsystem] que 
nomeamos como “Dados de 
Entrada”, clique com o botão direito 
do mouse para abrir o menu 
flutuante de edição e selecione a 
opção [Mask subsystem].
181 M. Becker 2008
MÁSCARAS:
tutorial_16:
3. Selecione a pasta [Parameters] para definir os parâmetros de 
entrada.
182
MÁSCARAS:
tutorial_16:
Os parâmetros de entrada são: 
– S0: valor inicial;– S0: valor inicial;
– K1: constante real 1;
– K2: constante real 2
– NS: número de seqüências
4. Clique no botão [Add] para adicionar os parâmetros de 
entrada...
183 M. Becker 2008
MÁSCARAS:
tutorial_16:
Deve-se fornecer: 
– [Prompt]: texto de chamada– [Prompt]: texto de chamada
– [Variable]: nome da variável
– [Type]: tipo de entrada de variável
– [Edit]: caixa de edição de texto
– [Checkbox]: opção ativa / desativa
– [Pop-up]: lista de seleção
5. Crie os 4 parâmetros com as seguintes propriedades...
184 M. Becker 2008
MÁSCARAS:
tutorial_16:
Prompt Variable Type
Valor Inicial S0 edit
6. Clique OK para fechar a janela...
185
Valor Inicial S0 edit
Constante Real K1 K1 edit
Constante Real K2 K2 edit
Número de Seqüências NS edit
 M. Becker 2008
MÁSCARAS:
tutorial_16:
Assim... 
186 M. Becker 2008
MÁSCARAS:
tutorial_16:
7. Com a máscara, um duplo clique no 
bloco [Subsystem] abre a janela de 
parâmetros.parâmetros.
8. Clique com botão direito do mouse no 
bloco [Subsystem] e selecione a opção 
[Look under Mask]. Essa opção abrirá 
uma nova janela contendo o diagrama 
do subsistema
187 M. Becker 2008
MÁSCARAS:
tutorial_16:
9. No diagrama do subsistema, configure os blocos com os nomes 
das variáveis criadas na máscara
188 M. Becker 2008
MÁSCARAS:
tutorial_16:
Assim...
189 M. Becker 2008
MÁSCARAS:
tutorial_16:
10. Feche o subsistema e dê um duplo clique no bloco [Subsystem] 
para configurar os parâmetros com os valores indicados...
190 M. Becker 2008
MÁSCARAS:
tutorial_16:
Execute a simulação...
191 M. Becker 2008
MÁSCARAS:
Introdução
O Simulink permite definir uma janela para interface 
para os subsistemas chamada máscara (mask). Essa 
janela permite:
para os subsistemas chamada máscara (mask). Essa 
janela permite:
1. Criar uma janela de interface;
2. Definir os parâmetros de entrada para o subsistema;
3.3. Criar um ícone especial para o subsistema;Criar um ícone especial para o subsistema;
4. Definir a função de inicialização.
192 M. Becker 2008
MÁSCARAS:
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 botão direito do mouse 
para abrir o menu flutuante de edição e selecione a opção 
[Edit Mask] para abrir a janela [Mask Editor].
para abrir o menu flutuante de edição e selecione a opção 
[Edit Mask] para abrir a janela [Mask Editor].
193 M. Becker 2008
MÁSCARAS:
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 descrição da [Examples of drawing Commands] fornece a descrição da 
sintaxe desses comandos
194 M. Becker 2008
MÁSCARAS:
tutorial_17 :
4. Usar a função “plot” no campo [Drawing Commands]. Digite 
‘plot([0 1 2 3],[1 1.5 4 4.5])’ e clique [Apply]
195 M. Becker 2008
MÁSCARAS:
tutorial_18 : [Show part labels] habilita / desabilita a 
exibição de labels em blocos de subsistemas
1. Abra o modelo tutorial_17 e salve-o como tutorial_18;
2. Limpe a formatação feita anteriormente no campo [Drawing2. Limpe a formatação feita anteriormente no campo [Drawing
Commands] da janela [Mask Editor]. 
196 M. Becker 2008
MÁSCARAS:
tutorial_18 : 
3. Selecione com o mouse o bloco 
[SubSystem] e clique no menu 
pop-up [Edit] e selecione a 
opção [Subsystemopção [Subsystem
Parameters...]
197 M. Becker 2008
MÁSCARAS:
tutorial_18 :
4. No item [Parameters] selecione em 
[Show port labels] a opção [none]
198 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: disponibiliza recursos para auxiliar a 
localização e diagnóstico de erros em modelos.
1. Configuração de breakpoints;
2. Simulação passo-a-passo;2. Simulação passo-a-passo;
3. Monitoramento de sinais de entrada e saída.
Pode ser acionado no menu pop-up [Tools] do modelo Simulink
que abre a janela [Simulink debugger]
199 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]:
200 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]:
Os comandos estão disponíveis nos ícones da barra de 
ferramentasferramentas
201 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]:
Comandos que permitem o avanço da execução da simulação 
para próximos passos, blocos, métodos, etc.para próximos passos, blocos, métodos, etc.
Ficam habilitadas apenas durante a execução da simulação
202 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]:
Comandos que permitem iniciar, pausar e finalizar a execução da 
simulação.simulação.
Pausar e finalizar a simulação são habilitadas apenas durante a 
execução da simulação
203 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]:
Comandos que permitem mostrar ou não dados I/O de blocos 
selecionados e parar a simulação em um bloco selecionado.selecionados e parar a simulação em um bloco selecionado.
204 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]:
Comandos que permitem alterar parâmetros de animação.
Habilitar ou Desabilitar a animação da simulação é possível 
apenas durante a execução da simulação
205 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
1. Nomodelo 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 exibição dos sinais de entrada e 
saída do bloco;
4. O bloco [Sum] aparecerá na área [Break/Display points]
206 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Assim...
207 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
5. Clique no ícone para iniciar o processo de Debug;
208
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
6. Observa-se que:
• O modelo é executado até o breakpoint (um passo antes da 1ª 
passagem pelo bloco [Sum]);passagem pelo bloco [Sum]);
209 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
6. Observa-se que:
• A pasta [Outputs] exibe as mensagens do sistema apresentadas 
durante a execução e os valores dos sinais de entrada e saída;durante a execução e os valores dos sinais de entrada e saída;
210 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
6. Observa-se que:
• A pasta [Sorted List] exibe a ordem de execução dos blocos durante a 
simulação;simulação;
211 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
6. Observa-se que:
• A pasta [Status] exibe informações do sistema e da simulação, p.e.: 
tempo de simulação, status, etc.tempo de simulação, status, etc.
212 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
7. Clique no ícone para avançar a execução para o próximo 
bloco
213 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
8. Elemime o breakpoint clicando no botão [Remove selected
point] e configure [Break at time] com valor “4”;
9. Clique no ícone para fazer a simulação prosseguir até o 
instante “4”;
10. Observe o gráfico de [Scope]...
214 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
215 M. Becker 2008
DEPURAÇÃO DE MODELOS:
[Simulink debugger]: Exemplo
216 M. Becker 2008
SUMÁRIO
�
�
217 M. Becker 2008
SIMULINK E MATLAB:
Troca de Dados
A troca de dados entre MatLab e Simulink é realizada através de 4 
blocos:blocos:
No item [Sources]:
[From Workspace]: traz o conteúdo de uma variável do workspace do 
MatLab para o Simulink
[From File]: traz o conteúdo de um arquivo *.mat para o Simulink
No item [Sinks]:
[To workspace]: exporta o conteúdo de um sinal para uma variável no 
workspace do MatLab
[To File]: exporta o conteúdo de um sinal para um arquivo *.mat
218 M. Becker 2008
SIMULINK E MATLAB:
[tutorial_19]: troca de dados entre o MatLab e Simulink. 
Baseado no tutorial_10, vamos modificar a geração de 
números aleatórios.
1. Salve o tutorial_10 como tutorial_19, delete os dois blocos 
[Random Number], substituindo-os pelos blocos [From Workspace] [Random Number], substituindo-os pelos blocos [From Workspace] 
e [From File], conforme a figura abaixo. 
219
SIMULINK E MATLAB:
[tutorial_19]:
2. Configure os parâmetros de simulação como:
[Start time]: “0.0”;
[Stop time]: “10.0”;
[Solver Options]: “fixed-step”;[Solver Options]: “fixed-step”;
[Fixed step size]: “1”. 
3. Configure o bloco [From Workspace] para receber os dados da variável 
“entrada1” que deve ser previamente armazenada no workspace do 
MatLab.
220 M. Becker 2008
SIMULINK E MATLAB:
[tutorial_19]:
4. Conferindo o Array no MatLab:
221 M. Becker 2008
SIMULINK E MATLAB:
[tutorial_19]:
5. Gere os dados da variável “entrada1” no workspace do MatLab, com o 
seguinte formato:
• A primeira coluna contém o vetor de tempo;
• As demais colunas contêm os valores dos dados para cada instante de • As demais colunas contêm 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 são 11 seqüências de 10 números aleatórios
• No MatLab:
222 M. Becker 2008
SIMULINK E MATLAB:
[tutorial_19]:
6. Para criar automaticamente a variável “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]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 diretório de trabalho). Caso esse arquivo não exista, o 
Simulink retorna uma mensagem de erro...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 características:
• A primeira linha contém o vetor de tempo;
• As demais linhas contêm os valores dos dados para cada 
instante de tempo
• As demais linhas contêm 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 são 11 seqüências de 10 números aleatórios
• No MatLab:
225
SIMULINK E MATLAB:
[tutorial_19]:
9. Conferindo o Array no MatLab:
226 M. Becker 2008
SIMULINK E MATLAB:
[tutorial_19]:
10. Configure o bloco [To File] para 
armazenar os dados em uma 
variável chamada “saída” e gravá-
la em um arquivo chamado 
“saida.mat”. Esse arquivo tem as “saida.mat”. Esse arquivo tem as 
seguintes características:
• A 1ª linha contém o vetor de 
tempo;
• As demais linhas contêm os 
valores dos dados para cada 
instante de tempo.
11. Execute a simulação...
227 M. Becker 2008
SIMULINK E MATLAB:
[tutorial_19]:
Assim...
228 M. Becker 2008
SIMULINK E MATLAB:
[tutorial_19]:
12. Para visualizar os dados no MatLab: 
229 M. Becker 2008
SIMULINK E MATLAB:
Execução de Funções do MatLab
No item [User-defined functions] do [Library Browse] tem-se 6 blocos 
que permitem executar funções do MatLab dentro do Simulink. As 4 
mais importantes são:
• [Fcn]: executa uma expressão genérica do MatLab. Utiliza 
a variável “u” como parâmetro de entrada;
• [S-Function]: executa uma s-function;
• [S-Function Builder]: utilitário que auxilia a construção de s-
functions ;
• [MATLAB Fcn]: aplica uma função ou expressão do MatLab
como sinal de entrada no Simulink.
230 M. Becker 2008
SIMULINK E MATLAB:
Execução de Funções do MatLab
231 M. Becker 2008
SIMULINK E MATLAB:
Bloco [Fcn]: exemplo_03
Utiliza o bloco [Fcn] para implementar a função:
f(u) = sin(u)*exp(0.2*u)f(u) = sin(u)*exp(0.2*u)
O sinal de entrada é gerado pelo bloco [Ramp] localizado no item 
[Sources]. Este bloco gera uma seqüência de números 
N(t) = n0*S(t)
Sendo: n0 o número inicial e S a inclinação da rampa (slope).
232 M. Becker 2008
SIMULINK E MATLAB:
Bloco [Fcn]: exemplo_03
Assim...
233 M. Becker 2008
SIMULINK E MATLAB:
Bloco [Fcn]: exemplo_04
Utiliza o bloco [Fcn] para implementar a função:
f(u) = u(1) + u(2)f(u) = u(1) + u(2)
O sinal de entrada é um sinal com 2 canais. Ele é gerado por um bloco 
[Random Number] configurado com parâmetro:
[Initial Seed] = “fix(1000*rand(1,2))”
234 M. Becker 2008
SIMULINK E MATLAB:
Bloco [Fcn]: exemplo_04
Assim:
235 M. Becker 2008
SIMULINK E MATLAB:
Bloco [MATLAB Fcn]: exemplo_05
Esse bloco é empregado para implementar uma PG com valor inicial 
A0 = 3 e razão Q = 2, codificada no “m-file” ‘pg_A0_3_Q_2.m’.
A função é codificada em um “m-file” que recebe um dado de entrada A função é codificada em um “m-file” que recebe um dado de entrada 
e retorna um dado de saída para cada instante da simulação
236 M. Becker 2008
SIMULINK E MATLAB:
Bloco [MATLAB Fcn]: exemplo_05
Assim...
237 M. Becker 2008
SIMULINK E MATLAB:
Bloco [MATLAB Fcn]: exemplo_05
O gráfico:
238 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]
É a implementação de um bloco do Simulink em linguagem de 
programação. Podem ser codificadas em:
• “m-file”, ou seja, a linguagem de programação do MatLab;• “m-file”, ou seja, a linguagem de programação do MatLab;
• C/C++;
• Fortran;
• ADA.Vamos focar apenas aplicações em “m-file”...
O uso de s-functions expande enormemente os recursos do Simulink, 
pois com ela é possível modelar qualquer sistema dinâmico, 
“customizando” o modelo.
239 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]
De modo simplificado, uma s-function implementa os estágios de 
simulação de um bloco:
• Conjunto de dados de entrada;
• Conjunto de dados de saída;
• Conjunto de estados.
240
x
(estados)
u
(entrada)
y
(saída)
 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Função ‘Limited integrator’ localizado no item [S-function Examples], 
subitem [M-files], subsubitem [Level 1 M-files]. 
241 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Função ‘Limited integrator’ localizado no item [S-function Examples], 
subitem [M-files], subsubitem [Level 1 M-files]. 
242 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Este modelo implementa um
Integrador limitado por parâmetros 
fornecidos pelo usuário.fornecidos pelo usuário.
O bloco [S-Function] está 
“mascarado” e espera 3 
parâmetros de entrada:
• lb: lower band
• ub: upper band
• xi: initial condition
243 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
244 M. Becker 2008
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...
245 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Assim...
246 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Cont...
247 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Cont...
248 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Cont...
249
Estabelece o valor inicial
 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Cont...
Aqui são implementadas 
250
Aqui são implementadas 
as condições de corte de-
finidas pelos parâmetros 
lb e ub. Se o valor estiver 
fora dos limites, a fç retor-
na o valor “0”, senão, o 
próprio valor.
 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Final...
251 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function]: Limited integrator
Executando a função
para limites [-0.5, 0.5]...
252 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function Builder]
É um utilitário que auxilia a 
construção de s-functions
253 M. Becker 2008
SIMULINK E MATLAB:
Bloco [S-Function Builder]
254 M. Becker 2008
SUMÁRIO
�
�
255 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
Bibliotecas disponíveis na janela [Simulink Library
Browser]
256 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Continuous]:
257 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Continuous]: Exemplo_06
258 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Discontinuities]:
259 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Discontinuities]: Exemplo_07
260 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Discrete]
261 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Discrete]: Exemplo_08
262 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Lookup Tables]
263 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Lookup Tables]: Exemplo_09
0 1 2 3 4 5 
264
0
 1
 2
 3
 4
 5
 
 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Lookup Tables]: Exemplo_10
265 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Math Operations]
266 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Math Operations]: Exemplo_11
267 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Math Operations]: Exemplo_12
268 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Math Operations]: Exemplo_13
269 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Math Operations]: Exemplo_14
270 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Model Verification]
271 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Model Verification]: Exemplo_15
272 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Model Verification]: Exemplo_15
273 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Signal Attributes]
274 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Signal Attributes ]: Exemplo_16
275 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Signal Routing]
276 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Signal Routing ]: Exemplo_17
277 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Sinks]
278 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Sinks]: Exemplo_18
279 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Sinks]: Exemplo_18
280 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Sinks]: Exemplo_18
281 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Sources]
282 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Sources]: Exemplo_19
283
BIBLIOTECAS DE BLOCOS:
[Sources]: Exemplo_19
284 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[User-Defined Functions]
285 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[User-Defined Functions]: Exemplo_04
286 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Logic and Bit Operations]
287 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Ports and Subsystems]
288 M. Becker 2008
BIBLIOTECAS DE BLOCOS:
[Model-Wide Utilities ]
289 M. Becker 2008
SUMÁRIO
�
�
290 M. Becker 2008
EXERCÍCIOS:
1 – Elabore um diagrama que gere um sinal composto 
por 3 harmônicos com freqüências diferentes que 
seguem a seguinte equação:
S(t) = 4*sin(5*t) – cos(20*t) + sin(50*t)
291 M. Becker 2008
EXERCÍCIOS:
2 – Elabore um diagrama que gere um sinal composto por 2 harmônicos 
com freqüências diferentes que seguem a seguinte equação:
S(t) = 4*sin(5*t) – cos(20*t)
Acrescente um atraso de 1 unidade de tempo no primeiro harmônico 
(4*sin(5*t))
Acrescente um atraso de 1 unidade de tempo no primeiro harmônico 
(4*sin(5*t))
292 M. Becker 2008
EXERCÍCIOS:
2 –
293 M. Becker 2008
EXERCÍCIOS:
3 – Elabore um diagrama que implemente a PG com as 
seguintes características:
• Valor inicial G0 = 3• Valor inicial G0 = 3
• Razão = 2
• Seqüência da PG: GN = GN-1 * Q, para N > 0 e Razão Q
• Fórmula Geral da PG: GN = G0 * Q
(N-1), para N > 0 e 
Razão Q
294 M. Becker 2008
EXERCÍCIOS:
3 –
295 M. Becker 2008
EXERCÍCIOS:
4 – Construa um diagrama que implemente o sorteio de 
um número entre 1 e n, sendo n um parâmetro de 
entrada:
• Sugestões: crie um subsistema com máscara para criar o 
parâmetro de entrada n; utiliza o bloco [Scope] para exibir o 
resultado do sorteio; utilize o bloco [Uniform Random Number] 
para gerar os números aleatórios; utilize o bloco [MATLAB Fcn] 
para obter um número entre 1 e n; e o bloco [Unit Delay] para 
controlar a velocidade de sorteio.
296 M. Becker 2008
EXERCÍCIOS:
4 –
297 M. Becker 2008
EXERCÍCIOS:
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’.
298 M. Becker 2008
EXERCÍCIOS:
5 –
299 M. Becker 2008
EXERCÍCIOS:
6 – Crie um subsistema e uma máscara para o modelo 
criado no exercício anterior.
300 M. Becker 2008
EXERCÍCIOS:
7 – Acrescente um bloco [S-Function] ao modelo criado 
no exercício 6 para implementar a animação do corpo 
em queda.
Sugestão: utilize o bloco [Unit Delay] para controlar a 
velocidade de animação
301 M. Becker 2008
EXERCÍCIOS:
8 – Exemplo de Aplicação de Simulink em Controle 
(Capítulo 11 – Dorf and Bishop, 11ª Ed., p. 795) Um 
sistema de teste e inspeção automático utiliza um 
motor DC com encoder para mover a mesa (figuras nos 
próximos slides) e medir o deslocamento e velocidade. próximos slides) e medir o deslocamento e velocidade. 
As variáveis de estado selecionadas são: 
E, as variáveis de controle:
302
x1= θ, x2= dθ/dt e x3= if
u = [-K1 -K2 -K3 ]x + r → u = -K1x1 -K2x2 -K3x3 + r
 M. Becker 2008
EXERCÍCIOS:
8 – Cont... Sistema de Inspeção Automático
303 M. Becker 2008
EXERCÍCIOS:
8 – Cont... Detalhe do Motor DC
304 M. Becker 2008
EXERCÍCIOS:
8 – Cont...Malha Aberta do Sistema
305
x1= θ, x2= dθ/dt e x3= if
 M. Becker 2008
EXERCÍCIOS:
8 – Cont... Malha Fechada do Sistema
306 M. Becker 2008
EXERCÍCIOS:
8 – Cont... Root Locus – Lugar das Raízes do Sistema
307 M. Becker 2008
EXERCÍCIOS:
8 – Cont... Resposta a uma entrada Degrau.
308 M. Becker 2008
EXERCÍCIOS:
9 – Exemplo de Aplicação de Simulink em Controle 
(Capítulo 11 – Dorf and Bishop, 11ª Ed., p. 798) Uma 
locomotiva diesel-elétrica é mostrada na figura da 
próximo slide. A eficiência do motor a combustão 
interna diesel é muito sensível às velocidades de interna diesel é muito sensível às velocidades de 
rotação dos motores elétricos. Deseja-se desenvolver 
um controlador para os motores elétricos que permita 
o emprego dessa locomotiva em trens. A locomotiva é 
acionada por motores elétricos DC localizados em 
cada um de seus eixos. Deseja-se controlar a rotação 
ω0 para um dado valor de ωr.
309 M. Becker 2008
EXERCÍCIOS:
9 – Cont... Esquema da locomotiva.
310
EXERCÍCIOS:
9 – Cont... Parâmetros para Simulação.
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
311
10 100 0.62 1 1 0.2 1 1 0.1 1 1 0.1 1
 M. Becker 2008
EXERCÍCIOS:
9 – Cont... Exemplo do 
processo de projeto de 
sistema de controle
312
EXERCÍCIOS:
9 – Cont.
Fluxo de Sinais do Controlador
313
Diagrama de Blocos do Controlador
EXERCÍCIOS:
9 – Cont... Diagrama de Blocos da Locomotiva
314 M. Becker 2008
EXERCÍCIOS:
9 – Cont... Localização dos Polos desejada
315 M. Becker 2008
9 – Cont...
EXERCÍCIOS:
R
e
s
p
o
s
ta
 d
o
 
S
is
te
m
a
 e
m
 M
a
lh
a
 
F
e
c
h
a
d
a
 a
 u
m
a
 e
n
tr
a
d
a
 d
e
g
ra
u
s
316
R
e
s
p
o
s
ta
 d
o
 
S
is
te
m
a
 e
m
 M
a
lh
a
 
F
e
c
h
a
d
a
 a
 u
m
a
 e
n
tr
a
d
a
 d
e
g
ra
u
s

Continue navegando