You are on page 1of 124

Modelagem, Simulao e Anlise de Sistemas Dinmicos

Modelagem, Simulao e Anlise de Sistemas Dinmicos Modelagem, Simulao e Anlise de Sistemas Dinmicos
Faculdade de
Engenharia
Laboratrio de
Engenharia Eltrica
Programa Prodenge / Sub-Programa Reenge
Universidade do Estado do Rio de Janeiro
Curso de
SIMULINK 2.0
Curso de
SIMULINK 2.0
1
a
EDIO
1
a
EDIO
Curso de Introduo ao SIMULINK
I
AGRADECIMENTOS
Estas breves notas sobre o SIMULINK verso 2.0 baseadas nas obras The Student Edition of
SIMULINK e Mastering SIMULINK dos autores James B. Dabney e Thomas L. Harman resultam
do trabalho dedicado de alunos da Faculdade de Engenharia da UERJ, tanto de forma direta como
indireta. De forma direta envolveu-se no trabalho o aluno e bolsista de Iniciao Tecnolgica do
Projeto REENGE Csar Cunha de Souza. Um extenso grupo de pessoas se envolveu tambm
ativamente dando suporte de hardware, software e ainda o valioso apoio pessoal nas tarefas dirias
do laboratrio. Neste grupo incluem-se no s alunos como os tambm bolsistas Hlio Justino
Mattos Filho e Karla Karraz Valder, os estagirios Fbio da Silva Porto, Flvia Delduque Lima,
Hellen Nathalia Trevisan, Marcos Paulo dos Santos, Valdeir Gomes de Arajo Filho, como tambm
os funcionrios do Laboratrio de Engenharia Eltrica, cujos membros contriburam valorosamente
dando suporte e infra-estrutura para que este trabalho fosse bem sucedido. Um muito obrigado
equipe do LEE formada por Alberto Avelar Santiago, Andr Vallim Stachlewski, Antnio Marcos
Medeiros Corra, Jos Emlio Gomes, Jair Medeiros Jnior, Joo Elias Souza da Costa, Luiz
Roberto Franco Fagundes Filho, Marcos Augusto Mafra, Paulo Bulkool Batalheiro, Sueli Ferreira dos
Santos e a Srta. Carla Aparecida Caldas de Almeida. Um reconhecimento especial deve ser feito ao
diretor da Faculdade de Engenharia Dr. Nival Nunes de Almeida, coordenador geral do REENGE
por ter possibilitado inmeras atividades no s no LEE em particular mas em toda a Faculdade de
Engenharia. Prof.
a
Maria Eugnia Mosconi de Gouveia, vice-diretora da Faculdade de
Engenharia, que em trabalho conjunto com o diretor vem se empenhando em viabilizar as
solicitaes de estgio interno no LEE. Um muito obrigado tambm aqueles colaboradores
silenciosos que de forma direta ou indireta contriburam para o xito deste trabalho. O nosso
agradecimento ao CNPq que mediante os recursos alocados pela FINEP, patrocinou as bolsas que
permitiram este trabalho.
Bernardo Severo da Silva Filho
Orientador e Chefe do Lab. de Engenharia Eltrica
Curso de Introduo ao SIMULINK
ndice
I
NDICE
Apresentao.....................................................................................................
1
Captulo 1 Introduo Terica.......................................................................
2
1.1 Diagrama em Blocos................................................................................................
2
1.1.1 Smbolos........................................................................................................ 3
1.2 Transformada de Laplace........................................................................................ 3
1.2.1 Definio da Transformada de Laplace......................................................... 4
1.2.2 Transformao Inversa.................................................................................. 4
1.2.3 Propriedades da Transformada de Laplace.................................................. 5
1.3 Transformada Z........................................................................................................ 6
1.3.1 Definio da Transformada Z........................................................................ 7
1.3.2 Transformada de Funes Comuns.............................................................. 8
1.3.3 Inverso da Transformada Z......................................................................... 8
1.3.4 Propriedades da Transformada Z.................................................................. 9
1.3.5 A Funo de Transformada Discreta no Tempo............................................ 10
Captulo 2 Conhecendo o SIMULINK............................................................
11
2.1 Acessando o SIMULINK........................................................................................... 11
2.2 Construindo um Modelo Simples............................................................................. 11
2.3 Outro Modelo............................................................................................................ 14
2.4 Usando o HELP do SIMULINK................................................................................. 21
Captulo 3 Construindo Modelos SIMULINK................................................
23
3.1 Elementos de Modelos............................................................................................. 23
3.2 Manipulando Blocos................................................................................................. 24
3.3 Fontes...................................................................................................................... 26
3.3.1 Fontes Comuns............................................................................................. 26
3.3.2 Importando do MATLAB................................................................................ 28
3.3.3 Importando Arquivos Gerados no MATLAB.................................................. 29
3.4 Dispositivos de Sada............................................................................................... 29
3.4.1 Osciloscpio.................................................................................................. 29
3.4.1.1 Dando ZOOM na Tela do Osciloscpio............................................ 30
3.4.1.2 Propriedades do Osciloscpio.......................................................... 31
3.4.2 Grfico XY..................................................................................................... 33
3.5 Configurando a Simulao....................................................................................... 33
3.5.1 Solver Page................................................................................................... 34
3.5.1.1 Solver Type...................................................................................... 35
3.5.1.2 Opes de Sada.............................................................................. 37
3.5.2 Pgina Workspace I/O................................................................................... 38
3.5.2.1 Vetores de Estado Internos do SIMULINK....................................... 38
3.5.2.2 Salvar para a rea de Trabalho....................................................... 39
3.5.2.3 Estados............................................................................................. 39
3.5.2.4 Save Options.................................................................................... 39
Curso de Introduo ao SIMULINK
ndice
II
3.5.3 Pgina de Diagnsticos................................................................................. 40
3.6 Executando uma Simulao..................................................................................... 41
3.7 Imprimindo um Modelo............................................................................................. 42
3.7.1 Imprimindo um Modelo Utilizando os Menus................................................. 42
3.7.2 Enviando o Modelo para um Documento...................................................... 42
3.7.3 Utilizando o Comando Print do MATLAB....................................................... 42
Captulo 4 Sistemas Contnuos no Tempo...................................................
45
4.1 Sistemas Escalares Lineares................................................................................... 45
4.1.1 Bloco Integrador............................................................................................ 45
4.1.2 Bloco Funo de Transferncia..................................................................... 50
4.2 Vetores em Sistemas Lineares................................................................................ 52
4.2.1 Linhas de Sinais Vetoriais............................................................................. 52
4.2.2 Espao de Estados........................................................................................ 54
4.2.3 Bloco de Espao de Estados......................................................................... 56
4.3 Modelando Sistemas No Lineares......................................................................... 58
4.3.1 Blocos de Funo.......................................................................................... 61
4.3.1.1 Bloco Fcn.......................................................................................... 62
4.3.1.2 Bloco MATLAB Fcn.......................................................................... 62
Captulo 5 Sistemas Discretos no Tempo....................................................
67
5.1 Viso Geral............................................................................................................... 67
5.2 Sistemas Discretos no Tempo Lineares Escalares.................................................. 68
5.2.1 Atraso Unitrio............................................................................................... 68
5.2.2 Integrador Discreto no Tempo....................................................................... 69
5.2.2.1 Integrao Trapezoidal..................................................................... 70
5.2.3 Bloco de Funo de Transferncia Discreta.................................................. 71
5.3 Blocos Lgicos......................................................................................................... 73
5.4 Sistemas Discretos no Tempo Vetoriais.................................................................. 75
5.5 Sistemas Discretos com Diferentes Taxas de Amostragem Simultneas............... 77
5.6 Sistemas Hbridos.................................................................................................... 79
Captulo 6 Subsistemas e Mscaras.............................................................
82
6.1 Subsistemas SIMULINK........................................................................................... 82
6.1.1 Encapsulando um Subsistema...................................................................... 84
6.1.2 Bloco de Subsistema..................................................................................... 85
6.2 Blocos de Mscaras................................................................................................. 88
6.2.1 Convertendo um Subsistema em um Sistema com Mscara........................ 89
6.2.2 Pgina de Documentao do Editor de Mscaras........................................ 91
6.2.2.1 Campo Tipo de Mscara.................................................................. 91
6.2.2.2 Campo Descrio do Bloco.............................................................. 91
6.2.2.3 Bloco de Auxlio................................................................................ 91
6.2.3 Pgina de Inicializao do Editor de Mscara............................................... 92
6.2.3.1 Campo Tipo de Mscara.................................................................. 92
6.2.3.2 Seo de Prompt da Caixa de Dilogo do Bloco............................. 92
6.2.3.3 Comandos de Inicializao............................................................... 97
Curso de Introduo ao SIMULINK
ndice
III
6.2.3.4 Configurando os Blocos do Subsistema........................................... 97
6.2.3.5 Variveis Locais............................................................................... 98
6.2.4 Pgina de cone do Editor de Mscara.......................................................... 100
6.2.4.1 Campo Moldura do cone................................................................. 101
6.2.4.2 Campo Transparncia do cone....................................................... 101
6.2.4.3 Campo Rotao do cone................................................................. 102
6.2.4.4 Campo Coordenadas de Desenho................................................... 102
6.2.4.5 Comandos de Desenho.................................................................... 103
6.2.5 Olhando sob a Mscara e Removendo Mscaras......................................... 106
6.2.6 Criando uma Biblioteca de Blocos................................................................. 107
6.3 Subsistemas com Execuo Condicionada............................................................. 107
6.3.1 Subsistemas com Habilitao........................................................................ 107
6.3.2 Subsistemas com Gatilho.............................................................................. 112
6.3.3 Subsistemas com Habilitao e Gatilho........................................................ 113
6.3.4 Subsistemas Discretos com Execuo Condicionada................................... 113
Captulo 7 Animao no SIMULINK...............................................................
114
7.1 Toolbox de Animao.............................................................................................. 114
7.2 Usando a Toolbox de Animao.............................................................................. 114
7.2.1 Propriedades dos Objetos de Animao....................................................... 116
7.2.2 Configurando uma Animao........................................................................ 117
7.2.3 Propriedades da Figura................................................................................. 117
7.2.3.1 Escala da Figura............................................................................... 117
7.2.4 Modificando uma Animao.......................................................................... 117
7.2.5 Configurando Entradas Iniciais...................................................................... 117
7.3 Salvando e Carregando Arquivos de Animao...................................................... 118
Bibliografia........................................................................................................
119
Curso de Introduo ao SIMULINK
1
Apresentao
SIMULINK um programa utilizado para modelagem, simulao e anlise de
sistemas dinmicos. O programa se aplica a sistemas lineares e no lineares,
contnuos e/ou discretos no tempo.
Utiliza uma interface grfica com o usurio para construo dos modelos a partir de
diagramas em blocos, atravs de operaes de clique-e-arraste do mouse. Com
esta interface podem-se criar modelos da mesma forma que se faz com papel e
caneta. SIMULINK o resultado de uma longa evoluo de pacotes de simulao
anteriores que necessitavam a formulao de equaes diferenciais ou de
equaes de diferenas em linguagens de programao. Inclui bibliotecas de blocos
contendo fontes, visualizadores, componentes lineares, no lineares e conectores,
com a opo de criao ou personalizao de blocos.
Aps a definio do modelo, a simulao pode ser feita com diferentes algoritmos
de resoluo, escolhidos a partir dos menus do SIMULINK ou da linha de comando
do MATLAB. Os menus so particularmente convenientes para o trabalho interativo,
enquanto a linha de comando tem sua utilidade na simulao repetitiva a qual se
deseja somente mudar parmetros. Usando osciloscpios (Scopes) ou outros
visualizadores, tm-se o resultado grfico da simulao enquanto esta est sendo
executada. Os resultados da simulao podem ser exportados para o MATLAB
para futuro processamento ou visualizao.
As ferramentas de anlise de modelos incluem ferramentas de linearizao e ajuste
(Trimming) que podem ser acessadas a partir da linha de comando do MATLAB,
assim como vrias ferramentas do MATLAB e suas TOOLBOXES especficas.
Sendo o MATLAB e o SIMULINK integrados, pode-se simular, analisar e revisar os
modelos em qualquer dos dois ambientes.
Curso de Introduo ao SIMULINK
Cap.1 - Introduo Terica
2
Captulo 1 Introduo Terica
1.1 - Diagrama de Blocos
A representao dos sistemas fsicos por meio de equaes nem sempre deixa
clara a relao entre as funes de entrada e de sada desses sistemas. portanto
conveniente e desejvel sistematizar a descrio matemtica de um sistema, de tal
forma que aquela relao seja expressa claramente.
Uma forma de apresentao das equaes diferenciais de um sistema consiste no
emprego de Diagramas de Bloco, em que cada bloco representa uma operao
matemtica, associando pares entrada-sada.
Quando o sistema linear, ou puder ser linearizado, possvel tomar as
transformadas de Laplace das equaes do sistema, considerando condies
iniciais nulas.
A relao entre cada grandeza de sada e a correspondente grandeza de entrada se
chama funo de transferncia.
Usando as transformadas de Laplace, essas funes so em geral, funes de s.
Quando essas funes so colocadas em vrios blocos, o diagrama chamado
Diagrama de Bloco.
Em geral, os diagramas de bloco so teis na visualizao das funes dos
diversos componentes do sistema, bem como permitem estudos de signal-flow.
Os diagramas e bloco so mais fceis de desenhar do que os circuitos que eles
representam. Partindo-se de um diagrama de bloco, possvel, mediante a
utilizao de regras especiais, denominadas lgebra dos diagramas de Bloco
reduzir o diagrama a um nico bloco e, assim, achar a funo global de
transferncia do problema, sem necessidade de resolver o sistema inicial de
equaes diferenciais que, algumas vezes, exige muito tempo devido ao elevado
nmero de equaes envolvidas.
Curso de Introduo ao SIMULINK
3
1.1.1 - Smbolos
Os smbolos utilizados na tcnica de diagramas de bloco so muito simples, e se
encontram representados a seguir:
Varivel X(s)
Operador
Varivel de entrada X(s)
Varivel de sada Y(s)
Funo de transferncia G(s)
Relao representada Y(s)=G(s) X(s)
Somador
Relao representada
F(s) = X(s) t Y(s)
Tomada de Varivel
Observar que a tomada de uma varivel
no altera seu valor. A varivel X(s)
chega ao n e as variveis transmitidas
so iguais a X(s).
1.2 - Transformada de Laplace
A soluo de equaes diferenciais com excitaes descontnuas ou de ordem
superior a dois muito trabalhosa atravs do mtodo clssico. Alm disso, a
introduo de condies para a determinao das constantes de integrao requer
a soluo de um sistema de equaes algbricas em nmero igual ordem da
equao diferencial. Com o objetivo de facilitar e sistematizar a soluo de
equaes diferenciais ordinrias lineares, a coeficientes constantes, utiliza-se
exaustivamente o mtodo da transformada de Laplace. Podem ser enumeradas as
seguintes vantagens deste mtodo moderno, que utiliza as transformadas:
1. Ele inclui as condies iniciais ou de contorno.
2. O trabalho envolvido na soluo simplesmente algbrico.
3. O trabalho sistematizado.
4. A utilizao de tabelas de transformadas reduz o volume de trabalho
requerido.
5. Pode-se tratar excitaes apresentando descontinuidades.
6. Os componentes transitrio e de regime permanente da soluo so obtidos
simultaneamente.
X(s)
G(s)
X(s) Y(s)

X(s)
Y(s)
+
t
F(s)
X(s) X(s)
X(s)
Curso de Introduo ao SIMULINK
Cap.1 - Introduo Terica
4
A desvantagem dos mtodos com transformadas que se forem utilizados
mecanicamente, sem conhecimento da teoria realmente envolvida, conduzem
algumas vezes a resultados errneos. Alm disso, algumas equaes particulares
podem ser resolvidas mais simplesmente e com menos trabalho atravs do mtodo
clssico.
1.2.1 - Definio da Transformada de Laplace
A transformada direta de Laplace de uma funo f(t), seccionalmente contnua no
intervalo (0,), com valor f(t) dada por:
[ ]


0
) ( ) ( ) ( s F dt e t f t f
st
L
O valor da integral resulta numa funo F(s), tendo s como varivel. Este parmetro
s uma grandeza complexa da forma j + . Deve-se ressaltar que os limites de
integrao so zero e infinito e que, portanto, no interessam os valores de f(t) para
instantes negativos ou nulos.
1.2.2 - Transformao Inversa
A aplicao da transformada de Laplace transforma uma equao diferencial em
equao algbrica. A partir da equao algbrica, obtm-se prontamente a
transformada da funo resposta. Para completar a soluo deve-se encontrar a
transformada inversa. Em alguns casos, a operao de transformao inversa
[ ] ) ( ) (
1
s F L t f

pode ser efetuada por referncia direta a tabelas de transformadas ou por meio de
programas de computador. Quando no possvel encontrar em tabelas a
transformada da resposta, a tcnica geral consiste em exprimir F(s) sob a forma de
uma soma de fraes parciais com coeficientes constantes. As fraes parciais
apresentam no denominador monmios ou binmios e suas transformadas so
encontradas diretamente em tabelas. A transformada inversa completa a soma
das transformadas inversas das fraes.
A transformada da resposta F(s) pode ser expressa em geral atravs da relao
entre dois polinmios P(s) e Q(s). Considere-se que estes polinmios sejam de
graus w e n, respectivamente, e que so ordenados segundo as potncias
decrescentes da varivel s; assim,
0 1
1
1
0 1
1
1
...
...
) (
) (
) (
b s b s b s
a s a s a s a
s Q
s P
s F
n
n
n
w
w
w
w
+ + + +
+ + + +

Os elementos a e b so constantes reais e o coeficiente da maior potncia em s no


denominador reduzido unidade. Sero consideradas somente as funes F(s)
que so fraes prprias para as quais n maior que w. O primeiro passo fatorar
Q(s) em fatores do primeiro grau e em binmios com coeficientes reais:
) )...( )...( )( (
) (
) (
) (
) (
2 1 n k
s s s s s s s s
s P
s Q
s P
s F


Curso de Introduo ao SIMULINK
5
Os valores s
1
, s
2
... s
n
, finitos que anulam o denominador, so chamados zeros do
denominador. Estes valores de s, que podem ser reais ou complexos, tambm
tornam |F(s)| infinito e, e decorrncia so chamados plos de F(s). Em
conseqncia, os valores s
1
, s
2
... s
n
so referidos como zeros do denominador ou
plos finitos da funo completa, isto , h n plos de F(s).
A transformada F(s) pode ser expressa como uma soma de fraes. Se os plos
so simples (no repetidos), o nmero de fraes igual a n (nmero de plos de
F(s)). Em tais casos a funo F(s) pode ser expressa sob a forma
n
n
k
k
s s
A
s s
A
s s
A
s s
A
s Q
s P
s F

+ +

+ +

... ...
) (
) (
) (
2
2
1
1
O problema agora a determinao das constantes A
1
, A
2
, ..., A
n
correspondentes
aos plos s
1
, s
2
... s
n
. Os coeficientes A
1
, A
2
, ..., A
n
so chamados resduos de F(s)
nos plos correspondentes.
1.2.3 - Propriedades das Transformadas de Laplace
Funo Transformada
Af(t) AF(s)
f
1
(t)+f
2
(t) F
1
(s)+F
2
(s)
) (t f
dt
d
sF(s)-f(0)
) (
2
2
t f
dt
d
s
2
F(s)-sf(0)-f(0)
) (t f
dt
d
n
n
S
n
F(s)-


n
k
k n
f s
k
1
) 0 (
) 1 (

dt t f ) (
[ ]
0
) (
1 ) (

+
t
dt t f
s s
s F

t
dt t f
0
) (
s
s F ) (
) (t f e
at
F(s+a)
f(t-a)1(t-a),
1(t-a)=

'

>
a t
a t
, 0
, 1
) (s F e
as
Curso de Introduo ao SIMULINK
Cap.1 - Introduo Terica
6
tf(t)
ds
s dF ) (

t
2
f(t)
) (
2
2
s F
ds
d
) (
1
t f
t

s
ds s F ) (
) (
a
t
f
aF(as)
f
1
(t)*f
2
(t)=



t
t
d t f t f
d f t f
0
2 1
0
2 1
) ( ) (
) ( ) (


F
1
(s).F
2
(s)
f(t).g(t)
) ( * ) (
2
1
s G s F
j
* indica o produto de convoluo.
1.3 - Transformada Z
Os problemas de engenharia que utilizam a transformada Z surgiram da anlise de
sistemas de controle a dados amostrados, durante a Segunda Guerra Mundial,
quando tais sistemas adquiriram proeminncia. Sistemas a dados amostrados
operam com funes discretas no tempo (ou amostrados), pou uma ou duas razes.
Pode ser que os dados sejam disponveis somente em instantes discretos (como
num radar de explorao). possvel, por outro lado, que o uso dos dados
amostrados permita projetar um sistema desempenho dinmico melhor que o
possvel com dados contnuos no tempo. Como a transformada de Laplace era a
principal ferramenta para estudar sistemas de controle contnuos no tempo, sua
extenso a sistemas de dados amostrados era inteiramente natural.
A introduo da transformada Z motivada pelas mesmas consideraes que
fazem a transformada de Laplace til: as equaes de diferenas que governam o
comportamento do sistema discreto so transformadas em equaes algbricas,
freqentemente mais simples de resolver que as equaes originais, e capazes de
dar melhor viso daquele comportamento.
Curso de Introduo ao SIMULINK
7
Em anlise de sistemas discretos no tempo por meio da transformada Z, os
mesmos passos so empregados: os sinais discretos no tempo so substitudos por
suas respectivas transformadas; o sistema representado por uma funo de
transferncia discreta no tempoque, como no caso contnuo, pode ser obtida pela
combinao algbrica das funes de transferncia discretas de seus componentes.
A transformada Z da resposta discreta no tempo ser igual ao produto da funo de
transferncia do sistema psla transformada Z do sinal de entrada. Como ltimo
passo, a resposta real no domnio do tempo (discreta) ser obtida por inverso da
transformada Z da sada.
As principais diferenas entre a transformada de Laplace e a transformada Z so: a
funo elementar na qual os sinais so decompostos para obter a transformada Z
z
n
(z uma varivel complexa), em vez de e
st
; a transformada Z definida como uma
soma em vez de integral.
1.3.1 - Definio da transformada Z
A transformada Z de um sinal discreto no tempo, f(n), definida como uma srie de
potncias em z
-1
cujos coeficientes so amplitudes do sinal. Como no caso da
transformada de Laplace, podemos definir uma transformada Z unilateral e uma
bilateral. Estas definies so, respectivamente,
L
I
[f(n)]=F
II
(z)=

0
) (
n
n
z n f
L
II
[f(n)]=F
II
(z)=

0
) (
n
n
z n f
Para ser til em anlise de sistemas, desejvel que estas sries sejam exprimveis
em forma fechada. Como o coeficiente de z
-n
no desenvolvimento em srie f(n),
segue-se que o desenvolvimento da forma fechada em uma srie de potncias em
z
-n
gerar o sinal. Portanto, a transformada Z pode ser descrita como a funo
geratriz do sinal discreto no tempo ao qual ela corresponde. As potncias negativa
z
-n
so mais usadas que as positivas z
n
porque isso est de acordo com o uso mais
freqente em engenharia. Na literatura matemtica sobre funes geratrizes e em
alguma literatura sobre sistemas de controle a dados amostrados, os coeficientes
das potncias positivas de z, geralmente correspondem aos valores de f(n) para
n>0.
Se f(n) = 0 para n < 0, as transformadas unilateral e bilateral so idnticas; porm,
se f(n) 0 para algum n < 0 as duas definies produziro expresses diferentes. A
transformada Z bilateral obviamente incorpora informaes sobre os valores f(n) em
todos os instantes discretos em que definida. A unilateral, s nos instantes no
negativos.
Curso de Introduo ao SIMULINK
Cap.1 - Introduo Terica
8
1.3.2 - Transformadas de Funes Comuns
Funo
f(n)
Transformada Z
F(z)
Raio de
Convergncia
a

) ( k n
1
z
0
) (
1
n
1
1
1

z
1
n
a
1
1
1

az
a
n
2 1
1
) 1 (

z
z
1
1.3.3 - Inverso da Transformada Z
Para determinar o sinal f(n) correspondente a uma dada F(z), isto , para gerar f(n),
necessrio desenvolver F(z) em srie de potncias de z
-1
. Como, em qualquer
regio de convergncia, o desenvolvimento em srie de potncias nica. O
mtodo a empregar uma questo de convenincia.
Obviamente, o mtodo mais simples procurar numa tabela adequada a funo
discreta no tempo no tempo correspondente transformada que se quer inverter.
possvel inverter a maioria das transformadas Z que aparecem em problemas de
engenharia, por meio de uma pequena tabela e a tcnica de decomposio em
fraes parciais.
Uma tcnica mais elegante e geral de usar a frmula de inverso:

C
n
dz z z F
j
n f
1
) (
2
1
) (

onde C um crculo de raio r >


a
, isto , um crculo envolvendo todas as
singularidades de F(z)z
n-1
.
O clculo real da equao anterior muito eficientemente executado por meio do
clculo de resduos. Especificamente, a equao pode ser escrita como:
f(n) = soma de resduos do produto F(z) z
n-1
,
em seus plos internos ao crculo de convergncia de F(z).
Observe que, quando n = 0, F(z) z
n-1
pode ter um plo na origem mesmo quando
F(z) no tem o resduo de F(z) z
-1
deve ser a calculado.
Curso de Introduo ao SIMULINK
9
Um terceiro mtodo, que pode ser aplicado quando F(z) racional, exprimir
numerador e denominador de F(z) em polinmios em z
-1
; ento, usando a diviso
contnua da lgebra, dividir o numerador pelo denominador, e assim obter uma
srie em potncias z
-1
. Este mtodo que no tem similar na transformada de
Laplace muito eficiente quando falta conhecimento dos plos de F(z) e as tabelas
de transformada Z ou a frmula de inverso no podem ser usadas. Somente os
valores de f(n), e no sua expresso geral, podem ser assim obtidos.
1.3.4 - Propriedades da transformada Z
Propriedade Funo do tempo Transformada Z
Linearidade
) ( ) ( n bg n af + ) ( ) ( z bF z aF +
Diferenas
a. Avanadas
b. atrasadas
) (n f
k

) (n f
k




1
0
1
) 0 ( ) 1 (
) ( ) 1 (
k
j
j j k
k
f z z
z F z



1
0
1 1
1
) 1 ( ) 1 (
) ( ) 1 (
k
j
j j k
k
f z
z F z
Somas


n
k
k f ) (

+
+

1
1
1
) (
1
1
) (
1
1
k
k f
z
z F
z
Translao
) ( k n F + 0 > k
j
k
j
k k
z j f z z F z

) ( ) (
1
0
Multiplicao por a
n
) (n f a
n
) (
1
z a f

Multiplicao por n
k
) (n f n
k
) (
1
1
z F
dz
d
z
,
_

Convoluo


n
k
k x k n h n y
0
) ( ) ( ) (
) ( ) ( ) ( z X z H z Y
Produto de duas
funes
) ( ) ( n g n f


C
dw
w
zw G w F
j
) ( ) (
2
1
1

Mudana de escala
) (an f a inteiros
) (
a
z F

Valor inicial
) ( lim ) 0 ( z F f
z

Valor final
) ( ) 1 ( lim ) (
1
1
z F z f
z


se ) ( ) 1 (
1
z F z

analtico para 1 z
Curso de Introduo ao SIMULINK
Cap.1 - Introduo Terica
10
1.3.5 - A Funo de Transferncia Discreta no Tempo
Como a funo de transferncia de sistema contnuo, a funo de transferncia
discreta no tempo definida para um sistema fixo e discreto como a trasnformada Z
da resposta unitria h(n). Assim,
H(z) = Z[h(n)]
Para um sistema de entradas e sadas mltiplas, podemos definir a matriz de
transferncia discreta no tempo H(z) cujo elemento H
ij
(z) a transformada Z da
correspondente resposta unitria h
ij
(n).
Como conseqncia da propriedade de convoluo, a relao de entrada e sada no
domnio do tempo:


n
k
k x k n h n y
0
) ( ) ( ) (
convertida na relao algbrica no domnio z:
Y(z)=H(z)Z(z)
Esta propriedade simplifica consideravelmente a anlise dos sistemas fixos
discretos no tempo; ela permite que tais elementos sejam analisados calculando as
funes de transferncia de cada um dos componentes e os combinando de acordo
com as regras algbricas conhecidas. A resposta do sistema a uma dada entrada
ento obtida invertendo o produto da funo de transferncia pela transformada da
entrada. A tcnica acompanha a de sistemas contnuos.
Em muitos casos, no necessrio executar esta ltima etapa; muitas propriedades
teis da resposta podem ser obtidas diretamente da funo de transferncia
discreta no tempo. Dentre tais propriedades est a estabilidade do sistema e os
valores final e inicial da resposta.
A funo de transferncia de um sistema contnuo no tempo pode ser interpretada
como o quociente da resposta uma exponencial complexa e
st
por esta entrada
fictcia e
st
. Uma interpretao similar possvel para a transformada Z. Considere
um sistema H ao qual a seqncia de entrada {..., z
-2
, z
-1
, 1, z, z
2
, ...} aplicada
comeando em n . A resposta :



n
k
k
z k n h n y . ) ( ) (
Com a mudana de ndice m = n k, fica


0
). ( ) ( ) (
m
n m n
z H z z m h n y
Portanto segue-se que
n
n
z
z resposta
z H ) ( .
Curso de Introduo ao SIMULINK
11
Captulo 2 Conhecendo o SIMULINK
2.1 - Acessando o SIMULINK
Para acessar o SIMULINK deve-se primeiro abrir o MATLAB, pois apesar de ser
uma aplicao especfica, este no trabalha independente e utiliza suas ferramentas
de clculo.
A partir do Windows 95/98, deve-se clicar duas vezes no cone do MATLAB. Aberto
o programa deve-se ento clicar no cone Start Simulink na barra de ferramentas
do MATLAB ou digitar simulink na linha de comando e pressionar enter logo em
seguida, como mostrado a seguir:
>> simulink <enter>
2.2 - Construindo um Modelo Simples
Exemplificando a utilizao do SIMULINK, temos um modelo a criar. Este deve
resolver a equao diferencial:
) sen(t x &
,
onde
0 ) 0 ( x
.
Sendo o SIMULINK uma extenso do MATLAB, este deve ento ser carregado a
partir do MATLAB. Inicie o SIMULINK clicando no seu cone na barra de
ferramentas do MATLAB, como mostrado na figura :
Duas janelas se abriro na tela. A primeira janela a biblioteca de blocos do
SIMULINK mostrado na figura. A segunda uma janela em branco para construo
do modelo, nomeada untitled at que seja salvo com outro nome.
(1) Todos os comandos do
MATLAB so em letras
minsculas.
(2) O MATLAB sensvel
ao tipo de fonte
(maisculo ou
minsculo). Por
exemplo: a varivel x
diferente varivel X.
Curso de Introduo ao SIMULINK
Cap.2 Conhecendo o SIMULINK
12
D um click duplo no cone Sources na janela de bibliotecas do SIMULINK.
Arraste o bloco de onda senoidal (Sine Wave) para a janela do modelo. Uma cpia
deste bloco deve ser criada nesta janela.
Curso de Introduo ao SIMULINK
13
Abra a biblioteca de blocos lineares e arraste um bloco integrador (Integrator) para a
janela do modelo.
Abra a biblioteca dispositivos de sada (Sinks) e arraste um SCOPE para a janela
do modelo em construo.
A seguir, conecte os blocos para completar o modelo como na figura a seguir:
Curso de Introduo ao SIMULINK
Cap.2 Conhecendo o SIMULINK
14
D um duplo click no bloco SCOPE e na barra de menu do SIMULINK clique
SIMULATION:START. A simulao ser executada, resultando no grfico gerado
no bloco SCOPE, mostrado a seguir:
Para verificar se o grfico gerado representa a soluo da equao diferencial
desejada, deve-se resolver a mesma analiticamente, cujo resultado :
) cos( 1 ) ( t t x
,
que corresponde ao grfico apresentado.
2.3 - Outro Modelo
O modelo anterior serviu como exemplo de implementao no SIMULINK, mas est
longe de representar um caso usual de utilizao do software devido pequena
quantidade de blocos e ligaes. Agora ser usado um modelo de um processo
biolgico para ilustrar vrios nveis adicionais de dificuldade na implementao.
Scheinerman descreveu um modelo simples do crescimento de bactrias isoladas
do ambiente externo num pote. Admite-se que as bactrias nascem numa taxa
proporcional ao nmero de bactrias presentes e que elas morrem a uma taxa
proporcional ao quadrado do nmero de bactrias presentes. Se x representa o
nmero de bactrias presentes, a taxa em que as bactrias nascem definida por
Taxa de Natalidade bx
E a taxa em que elas morrem
Taxa de Mortalidade
2
px
A taxa total de mudana na populao de bactrias a diferena entre a natalidade
e a mortalidade de bactrias. O sistema pode ser ento descrito pela equao
diferencial a seguir:
2
px bx x &
Obs.: A integral definida entre
to e tF. Para to = 0, cos(t)=1.
Curso de Introduo ao SIMULINK
15
Partindo disto ser ento construdo o modelo do sistema dinmico supondo que
b=1 bactria/hora e p=0,5 bactria/hora. Ser determinado o nmeros de bactrias
contidas no pote aps 1 hora, admitindo que inicialmente existiam 100 bactrias
presentes.
Crie uma nova janela de modelo na barra de menu escolhendo FILE:NEW.
Este um sistema de 1
a
ordem, o que quer dizer que requer somente um integrador
para resolver a equao diferencial. A entrada do integrador x& e a sada x. Abra
o biblioteca linear e arraste o integrador para a janela do modelo, seguindo a
posio mostrada na figura:
Ainda na biblioteca Linear arraste dois blocos de ganhos (Gain) para a janela do
modelo e posicione-os como na figura. O SIMULINK exige que cada bloco tenha
seu nome nico. Devido a isto, o segundo bloco de ganho ser nomeado GAIN1.
Arraste ainda um bloco de soma (Sum) e a seguir feche a janela da biblioteca linear.
Abra agora a biblioteca de blocos no lineares (Nonlinear) e arraste um bloco de
produto (product) para a posio mostrada. Este bloco ser utilizado para calcular o
valor de
2
x .
boa tcnica fechar todas as janelas que
no esto sendo utilizadas. Isto favorece
uma melhor utilizao da memria
disponvel no microcomputador.
Curso de Introduo ao SIMULINK
Cap.2 Conhecendo o SIMULINK
16
Abra a seguir a biblioteca dispositivos de sada (Sinks) e arraste um bloco SCOPE
para a janela do modelo seguindo a posio mostrada.
A orientao padro do SIMULINK de todos os blocos posicionar entradas
esquerda e sadas direita. Porm este modelo ser muito mais legvel se
invertermos os blocos de ganho e produto. Iniciando com o Produto, deve-se
primeiro clicar sobre ele de modo a selecion-lo. Pequenos quadros pretos
aparecero nas quinas do bloco indicando seleo. No menu do SIMULINK, escolha
FORMAT:FLIP BLOCK. Agora as entradas esto direita e as sadas esquerda.
Repita a operao de inverso para cada bloco de Ganho. O modelo agora deve
estar semelhante figura:
Curso de Introduo ao SIMULINK
17
Trace agora uma linha de sinal da sada do bloco de soma para a entrada do
integrador e outra da sada do integrador para a entrada do SCOPE.
A seguir necessrio conectar a linha que liga o integrador ao SCOPE ao bloco de
ganho situado na parte inferior da janela, pois esta linha contm o valor de x. Para
faz-lo, pressione a tecla CTRL do teclado e clique na linha de sinal. O cursor do
mouse ir mudar para uma cruz. Conserve a tecla do mouse pressionada enquanto
faz a ligao e solte agora a tecla CTRL. Leve a linha at a entrada do bloco de
ganho. O SIMULINK automaticamente ajusta a linha com um ngulo de 90
o
.
Se o mouse possuir trs botes as operaes de clicar e arrastar podem ser feitas
utilizando o boto direito.
Repita a operao ligando a linha de sinal Integrador-SCOPE at a entrada superior
do bloco de produto. Da linha de sinal que liga a entrada superior do bloco de
produto repita a operao de ligao para a entrada inferior do mesmo bloco, de
modo que o bloco execute a operao
2
x x x . Conecte agora a sada do bloco
Curso de Introduo ao SIMULINK
Cap.2 Conhecendo o SIMULINK
18
de produto entrada do ganho na parte superior da janela de modelo. Sua janela
agora deve estar da seguinte forma:
Conecte agora a sada do ganho superior entrada superior do bloco de soma e a
sada do ganho inferior entrada inferior do mesmo bloco de soma.
O modelo agora est completo, mas os blocos devem ser configurados
(parametrizados) para que este represente o sistema desejado. O SIMULINK tem
como default para os blocos de ganho o valor de 1.0, para o bloco de soma duas
entradas positivas e para o integrador o valor inicial 0.0. O valor inicial do integrador
representa o nmero inicial de bactrias presentes no pote.
Ser iniciada agora a parametrizao com os blocos de ganho. D um duplo clique
no ganho da parte superior e mude o valor de 1.0 para 0.5 na caixa de dilogo que
ir aparecer, a seguir clique em Close. Note que o valor do ganho do bloco muda
para 0.5 no diagrama em blocos.
Curso de Introduo ao SIMULINK
19
Agora d um duplo clique no bloco de soma e no campo List of signs mude de ++
para -+ na caixa de dilogo que abrir. Os sinais representam os prprios sinais de
entrada no bloco. A seguir clique em Close. Note agora que no bloco de soma o
sinal superior negativo e o inferior positivo, sendo ento a sada a diferena das
entradas que representa x& de acordo com a equao diferencial aps substituir os
valores de p e b.
No SIMULINK, o sentido no diagrama
representado pelo sentido das caixas de
dilogos.
Curso de Introduo ao SIMULINK
Cap.2 Conhecendo o SIMULINK
20
Para finalizar a configurao, deve-se definir o nmero inicial de bactrias. Para
isto, d um duplo clique no integrador e no campo Initial condition mude para 100,
e aps clique Close.
A durao da simulao definida no tempo default de 0 a 10. Neste caso, deseja-
se saber o resultado aps 1 hora. Para mudar este tempo, seleciona-se na barra de
menu a opo Simulation:Parameters e no campo Stop Time digita-se 1,
fechando em Close logo a seguir.
sempre aconselhvel
salvar o modelo antes de
executar a simulao.
Curso de Introduo ao SIMULINK
21
O modelo agora est completo e pronto para ser executado. Para salvar na barra de
menu clique em File:Save e entre com o nome desejado. O modelo ser salvo com
o nome digitado e a extenso .mdl, e seu nome aparecer na barra de ttulo da
janela de edio.
Abra agora o SCOPE com um duplo clique e a seguir na barra de menu, clique em
Simulation:Start para iniciar a execuo.
O SCOPE nem sempre mostra a figura numa boa escala para visualizao. O boto
Autoscale na barra de ferramentas do SCOPE redimensiona a escala para
acomodar todos os valores.
2.4 - Usando o Help do SIMULINK
O SIMULINK possui um extensivo sistema de help on-line. Os arquivos de help
foram desenvolvidos para serem visualizados por navegadores internet como
Netscape ou Internet Explorer. Uma detalhada documentao on-line para todos os
blocos do SIMULINK est disponvel no Block-Browser. Um detalhado help tambm
est disponvel clicando no boto de help na caixa de dilogo que se abre quando
se seleciona Simulantion:Parameters na barra de menu.
Curso de Introduo ao SIMULINK
Cap.2 Conhecendo o SIMULINK
22
Para se consultar o help sobre um bloco qualquer deve-se inicialmente dar um
clique duplo sobre o bloco desejado. A seguir clica-se no boto de help que aparece
na caixa de dilogo que se abre. O seu Navegador Internet ir abrir o Block Browser
correspondente.
Na janela do Block Browser existem 3 quadros. O superior contm um cone para
cada biblioteca do SIMULINK. O cone selecionado destacado com uma sombra.
O quadro inferior esquerdo contm cones para todos os blocos contidos na
biblioteca selecionada no quadro superior. Clicando num bloco nesta janela o help
correspondente aparece no quadro inferior direito.
No quadro superior existe ainda um campo de pesquisa denominado Search, no
qual pode se localizar rapidamente um bloco, mesmo quando no se sabe a que
biblioteca este pertence.
O help do SIMULINK contm informaes valiosas. boa prtica utiliz-lo com
freqncia.
Outra boa prtica o uso do notebook em anotaes durante a aula. Isto facilita a
execuo de certas rotinas, por muitas vezes modificando somente parmetros de
configurao.
Curso de Introduo ao SIMULINK
23
Captulo 3 Construindo Modelos SIMULINK
3.1 - Elementos de Modelos
Um modelo SIMULINK consiste de 3 tipos de componentes: Fontes, o sistema a ser
modelado e dispositivo de sada.
O elemento central, o sistema, a representao de um diagrama em blocos de um
sistema dinmico a ser modelado no SIMULINK.
As fontes so as entradas aplicadas ao sistema dinmico. Podem incluir constantes,
geradores de funes como senides ou degrau, ou ainda sinais personalizados
pelo usurio criados no MATLAB. So encontrados na biblioteca de fontes
(sources).
A sada do sistema entregue aos dispositivos de sada. Alguns exemplos de so
grficos, osciloscpios e arquivos de sada. Tais blocos so encontrados na
biblioteca de Dispositivos de Sada.
Freqentemente, em modelos SIMULINK um ou mais desses 3 elementos pode
faltar. Por exemplo, pode-se desejar modelar o comportamento na ausncia de
foras de um sistema inicialmente fora de sua condio de equilbrio. Tal modelo
no deve ter entradas mas deve conter blocos de sistema, tais como ganho,
integradores etc, e provavelmente dispositivos de sada. Tambm possvel
construir modelos que possuem fontes e dispositivos de sada, mas nenhum blocos
de sistema. suponha por exemplo que se necessita de um sinal que seja composto
da soma de vrios outros sinais. Tais sinais podem facilmente gerados usando as
fontes do SIMULINK e enviados ao MATLAB ou a um arquivo no disco rgido.
Fontes
Diagrama
em Blocos
do Sistema
Dispositivos
de Sada
Elementos de um Modelo SIMULINK
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
24
3.2 - Manipulando Blocos
A tabela a seguir contm as operaes bsicas de manipulao de blocos como
redimensionar, rotacionar, copiar e renomear blocos.
Selecionar objeto (blocos ou
linhas de sinais
Clique no objeto com o boto esquerdo do
mouse.
Selecionar outro objeto Pressione a tecla SHIFT e clique no outro
objeto.
Selecionar com uma caixa de
seleo
Clique com o boto esquerdo do mouse
no local onde se deseja que seja uma das
quinas da caixa de seleo. Continue com
a tecla do mouse pressionada e arraste a
caixa para encobrir a rea desejada.
Copiar um bloco de uma
biblioteca ou de outro modelo
Selecione o bloco e arraste para a janela
do modelo para o qual se quer copiar.
Inverter blocos Selecione o bloco e no menu Format:Flip
Block. Tecla de atalho: CTRL-f.
Rotacionar blocos Selecione o bloco e no menu
Format:Rotate Block. Tecla de atalho:
CTRL-r.
Redimensionar blocos Selecione o bloco e arraste o canto.
Adicionar sombra Selecione o bloco e no menu
Format:Show Drop Shadow.
Editar o nome de um bloco Clique no nome.
Ocultar o nome de um bloco Selecione o nome, no menu Format:Hide
Name
Inverter o nome de um bloco Selecione o nome, no menu Format:Flip
Name
Apagar objetos Selecione o objeto, no menu Edit:Clear.
Tecla de atalho: Del.
Copiar objetos para a rea de
transferncia
Selecione o objeto, no menu Edit:Copy.
Tecla de atalho: CTRL-c.
Recortar objetos para a rea
de transferncia
Selecione o objeto, no menu Edit:Cut.
Tecla de atalho: CTRL-x.
Curso de Introduo ao SIMULINK
25
Colar objetos a partir da rea
de transferncia
No menu Edit:Copy. Tecla de atalho:
CTRL-v.
Traar uma linha de sinal Arrastar com o mouse da sada do bloco
para a entrada do outro.
Traar uma linha de sinal em
segmentos
Arraste com o mouse da sada do bloco
at o primeiro ponto. Repetir deste ponto
at o seguinte e assim por diante.
Traar uma linha ligada a
outra
Mantenha a tecla CTRL pressionada e
clique sobre a linha de origem. Tecla de
atalho: Clicar com o boto direito do
mouse a partir da linha de origem.
Separar uma linha Selecione a linha. Mantendo a tecla SHIFT
pressionada, clique e arraste o novo
vertex para a posio desejada.
Mover um segmento de linha Clique e arraste o segmento desejado.
Mover um vertex de um
segmento.
Clique e arraste o vertex desejado.
Nomear uma linha de sinal Duplo clique na linha e digite o nome.
Mover o nome de uma linha
de sinal
Clique e arraste o nome para a posio
desejada.
Copiar o nome de uma linha
de sinal
Mantendo a tecla CTRL pressionada,
arraste o nome para a posio desejada.
Tecla de atalho: clique e arraste com o
boto direito do mouse para a posio
desejada.
Sinais de propagao numa
linha de sinal
D um nome aos sinais conhecidos
(entrada) com um nico caracter e nas
linhas em que se deseja saber seu
contedo, deve-se digitar somente o
caracter <. Aps isso, no menu
Edit:Update Diagram.
Acrescentar anotao ou
observao no modelo
D um duplo clique no local em que se
deseja e digite o texto.
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
26
3.3 - Fontes
As entradas de um modelo so chamadas fontes (Sources) e podem ser
encontradas na biblioteca de fontes. Um bloco de fonte no possui entrada e deve
possuir pelo menos uma sada. A documentao detalhada de cada fonte pode ser
encontrada no help do SIMULINK. No texto que segue sero mencionadas somente
os tipos mais comuns e utilizados de fontes. Sero ainda discutidas as operaes
de importao do MATLAB e de arquivos que contenham dados os quais se deseja
inserir no modelo. Tal facilidade permite que se tenha qualquer tipo de sinal de
entrada, exista ele no SIMULINK ou no.
3.3.1 - Fontes Comuns
Muitos tipos de sinais de entrada utilizados em modelos de sistemas dinmicos
esto disponveis na biblioteca de fontes.
O bloco Constante (Constant) produz um sinal fixo que possui a magnitude
escolhida com um duplo clique sobre o bloco.
O bloco Degrau (Step) produz uma funo degrau. Pode-se configurar o instante em
que se aplica o degrau, assim como sua magnitude antes e depois da transio.
O bloco de Onda Senoidal (Sine Wave) permite que se configure a amplitude, a fase
e a freqncia da onda senoidal.
O Gerador de Sinais (Signal Generator) pode produzir ondas senoidais, quadradas,
dente de serra ou sinais aleatrios.
Sinais mais complexos podem ser gerados a partir da combinao destes
apresentados.
Exemplo: Impulso Unitrio
Um sinal muito utilizado para determinar o comportamento dinmico de sistemas o
Impulso Unitrio, tambm conhecido como Funo Delta ou Funo Delta de Dirac.
O Impulso Unitrio ( ) ( ) a t definido como um sinal de durao igual a zero,
tendo as seguintes propriedades:
( )
( )

'


1
, 0
dt t
a t a t

Embora o impulso unitrio seja um sinal que teoricamente no existe, existem boas
aproximaes do caso ideal que so muito comuns. Exemplos fsicos so colises,
como uma roda se chocando com o meio-fio ou um basto rebatendo uma bola ou
ainda mudanas instantneas de velocidade como a de uma bala sendo disparada
de um rifle. Outra utilidade da funo impulso a determinao da dinmica do
sistema. O movimento causado em um sistema que sofre uma fora impulsional
unitria a prpria dinmica inerente ao sistema. Partindo disto, pode-se utilizar a
Curso de Introduo ao SIMULINK
27
resposta um impulso unitrio de um sistema complexo para se determinar sua
freqncia natural e suas caractersticas de vibrao.
Pode-se criar uma aproximao de um impulso unitrio utilizando duas fonte de
funo degrau e um bloco de soma. A idia produzir num tempo definido a um
pulso de durao muito curta d e de magnitude M, tal que M.d=1. A dificuldade
consiste em se definir um valor apropriado para d. Deve ser um valor pequeno
quando comparado mais rpida dinmica do sistema. Porm, se for muito curto,
pode ocorrer problemas numricos como erros de aproximao. Se for muito longo
a simulao no ser adequada um impulso verdadeiro. Usualmente, valores
adequados podem ser determinados experimentalmente.
O modelo na figura acima deve ser ajustado para simular um impulso unitrio
ocorrido aos 0.5 segundos de simulao com uma durao de 0.01 segundos e a
magnitude de 100. A fonte degrau na parte superior deve ter a seguinte
configurao: Step time: 0.5, Initial value: 0, Final value: 100. J a fonte situada
na parte inferior deve ser configurada da seguinte forma: Step time: 0.51, Initial
value: 0, Final value: 100. A simulao deve ser configurada para terminar em 1
segundo. O grfico gerado no SCOPE mostrado na figura abaixo. A sada do
integrador contm o valor da integral do impulso no decorrer do tempo e mostrada
no bloco Display. Se a simulao foi correta tal valor deve ser 1, o que condiz com o
valor terico.
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
28
3.3.2 - Importando do MATLAB (From Workspace Block)
Este bloco permite ao usurio criar seu prprio sinal de entrada. O bloco e sua caixa
de dilogo so mostrados em sua figura a seguir.
Na configurao deste bloco deve-se definir quais sero as matrizes tabela
utilizadas como fonte de sinal. O valor default do SIMULINK so as matrizes [T,U],
que devem ser previamente definidas no MATLAB antes da execuo da simulao.
A primeira coluna da matriz deve ser a varivel independente que corresponde ao
tempo na simulao estritamente crescente. As colunas seguintes so os valores
das variveis independentes correspondente valores das variveis dependentes
da primeira coluna. As sadas sero produzidas por interpolao linear ou
extrapolao utilizando as matrizes definidas.
Exemplo
Para ilustrar o uso do bloco vamos supor que se deseja gerar um sinal definido por:
( )
2
t t u
Inicialmente deve-se gerar a tabela que contenha os valores da funo no MATLAB.
A seguir temos os comandos necessrios que devem ser executados na rea de
trabalho do MATLAB:
>> t=0:0.1:100; % Varivel independente
>> u=t.^2; % Varivel dependente
>> A=[t,u]; % Formato da tabela
importante notar que os sinais devem ser carregados em colunas, o que exige
que se tenha a matriz A composta das matrizes transpostas de u e t.
Criada a tabela, deve-se agora configurar o bloco para que este receba os valores
desejados. Com um duplo clique sobre o bloco, deve-se digitar o nome da matriz
definida no MATLAB, neste caso A, e a seguir clicar no boto Close. O nome da
matriz aparecer sobre o bloco e este est pronto para ser usado como uma fonte
no SIMULINK.
Curso de Introduo ao SIMULINK
29
3.3.3 - Importando Arquivos Gerados no MATLAB (From File Input Block)
Este bloco muito similar ao anterior. A diferena bsica que a matriz agora
carregada a partir de um arquivo gerado no MATLAB, podendo agora o sinal de
entrada ser salvo para diversos usos posteriores. Outra diferena importante que
os sinais devem agora ser carregados em linhas ao invs do caso anterior, em que
eram carregados em colunas.
Aproveitando o resultado anterior, podemos executar no MATLAB os seguintes
comandos:
>> B=A % Varivel independente
>> save exemp B % Varivel dependente
Agora pode-se configurar o bloco para receber os valores digitando no campo File
Name o nome completo do bloco, inclusive sua extenso (.mat), no nosso caso
exemp.mat.
3.4 - Dispositivos de Sada
So as maneiras de se ver ou armazenar os resultados de um modelo. O
osciloscpio e o grfico XY produzem grficos a partir de dados do modelo. O bloco
Display produz uma amostragem digital do valor contido em sua entrada. Pode-se
ainda enviar os dados para a rea de trabalho do MATLAB utilizando o bloco To
Workspace Block ou ainda armazenar os dados em arquivos do MATLAB para usos
posteriores. O bloco de parada (Stop block) causa a parada da simulao quando
sua entrada for diferente de zero. Uma refrencia detalhada de cada bloco pode ser
encontrada no help do SIMULINK. No texto que segue sero discutidas
particularidades do bloco SCOPE e do grfico XY.
3.4.1 - Osciloscpio (Scope)
Este bloco emula um osciloscpio. Plota um grfico do sinal de entrada, podendo
este ser um escalar ou um vetor. Ambas as escalas, vertical e horizontal podem ser
ajustadas para uma melhor visualizao. A escala vertical mostra o valor atual
correspondente ao sinal de entrada. A escala horizontal sempre inicia em zero e
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
30
termina no valor especificado em Time Range. Se por exemplo a faixa de escala
horizontal 10 e o tempo corrente 100, o sinal de entrada correspondente ao
perodo de 90 a 100 que ser mostrado, muito embora a escala horizontal esteja
continue mostrando de 0 a 10. O osciloscpio simplesmente mostra o sinal durante
a simulao, e desprovido de mtodos de salvar a imagem gerada para impresso
ou incluso em outro documento. Mas tem a possibilidade de enviar os dados para
a rea de trabalho do MATLAB para possvel anlise ou plotagem, usando por
exemplo o comando plot do MATLAB.
Pode-se inserir o SCOPE no modelo sem qualquer conexo em sua entrada e deve
ser configurado como Bloco SCOPE Flutuante (Floating Scope Block). Este SCOPE
flutuante ser ento usado para se visualizar qualquer sinal do modelo durante a
execuo da simulao com um simples clique sobre a linha em que se deseja
conhecer o sinal.
A figura abaixo ilustra o bloco SCOPE. Nota-se que h uma barra de ferramentas
que contm seis cones ao longo do topo da janela. Esses botes permite dar um
zoom numa poro da figura, autodimensionar a figura, salvar a configurao para
futuro uso e abrir a caixa de dilogo com as propriedades do bloco SCOPE.
3.4.1.1 - Dando Zoom na tela do Osciloscpio
Considere o modelo mostrado na figura. O bloco gerador de onda senoidal situado
na parte superior est configurado para produzir o sinal sen(t) e o outro bloco para
gerar o sinal 0.4sen(10t).
Abre-se a tela do Osciloscpio com um duplo clique sobre ele. Executa-se ento a
simulao e o resultado obtido deve ser semelhante ao mostrado na figura. Pode-se
Curso de Introduo ao SIMULINK
31
redimensionar a figura clicando no boto Autoescale. Suponha que se deseja
analisar o intervalo de tempo entre 2 e 4 segundos. Para isto, clica-se no boto
Zoom. Aps isto deve-se com o mouse ento envolver a rea desejada como
mostrado na figura.
A tela agora s mostrar o intervalo envolvido.
3.4.1.2 - Propriedades do Osciloscpio
O boto Open properties window abre a caixa de dilogo com as propriedades do
osciloscpio, caixa esta que contm duas pginas.
A primeira pgina (Axes) contm campos para se definir os valores mximos
(Ymax) e mnimos (Ymin) da varivel dependente.
A escala de tempo (Time Range) pode ser configurada para um valor particular ou
para seu modo automtico. Se o modo automtico for escolhido, a escala de tempo
ter o mesmo tamanho da durao da simulao especificada na caixa de dilogo
Simulation:Parameters.
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
32
A segunda pgina (Settings) contm campos para se controlar o nmero de pontos
mostrados e salvar os dados para a rea de trabalho do MATLAB.
A seo General da pgina consiste numa caixa contendo duas opes:
Decimation e Sample time.
Se a opo escolhida for Decimation o campo que contm o fator deve ser um
nmero inteiro. Escolhendo-se Decimation e definindo-se 1 no campo ao lado da
caixa, todo os pontos na entrada do bloco sero plotados. Se define-se 2 para o
campo, a plotagem feita com pontos alternados e assim por diante.
Se for escolhida a opo Sample time, o espaamento absoluto entre os pontos a
serem plotados deve ser digitado no campo.
O osciloscpio armazena os pontos num buffer. Assinala-se a opo Limits rows
to last e digita-se o valor especfico para se definir o tamanho do buffer(o default
5000). As operaes de Autoescala, zoom e salvar os dados para a rea de
trabalho so feitas com este buffer. Se por exemplo ajusta-se o tamanho do buffer
para 1000 pontos e a simulao gera 2000 pontos, somente os ltimos 1000
estaro disponveis para estas operaes quando a simulao terminar.
Curso de Introduo ao SIMULINK
33
Como dito anteriormente, o osciloscpio no possui ferramentas para se imprimir ou
enviar sua tela para outros programas diretamente, como um processador de textos
por exemplo. Porm, os dados enviados ao osciloscpio podem ser armazenados
numa varivel do MATLAB e enviados rea de trabalho, podendo ento ser
utilizadas as muitas capacidades de tratamento destes dados pelo MATLAB. Para
isto deve-se primeiro assinalar a opo Save data to workspace e digitar o nome
da varivel do MATLAB. Depois da simulao terminada, os dados mostrados na
tela do osciloscpio sero armazenados na varivel definida. A varivel ser
composta de uma coluna contendo os valores de tempo e outra coluna para cada
sinal de entrada. Se por exemplo o sinal de entrada for um vetor de sinal com duas
componentes, a varivel ter 3 colunas e o nmero de linhas igual ao nmero de
pontos mostrados na tela do osciloscpio.
3.4.2 - Grfico XY
O bloco de grfico XY produz um grfico idntico ao grfico produzido pelo
comando plot do MATLAB. O grfico XY aceita dois escalares como entrada. Deve-
se configurar ao faixas horizontais e verticais utilizando a caixa de dilogo do bloco.
A caixa de dilogo do bloco grfico XY mostrada na figura que se segue.
3.5 - Configurando a Simulao
Um modelo SIMULINK essencialmente um programa de computador que define
um grupo de equaes diferenciais e de diferenas. Quando se escolhe
Simulation:Start na barra de menu da janela de modelo, o SIMULINK resolve o
grupo de equaes diferenciais e de diferena numericamente, utilizando um dos
seus algoritmos de resoluo.
Antes de se executar uma simulao, deve-se configurar vrios parmetros, como
tempo inicial e final, Step size da simulao e vrias tolerncias. Pode-se escolher
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
34
vrios algoritmos de integrao de alta qualidade. Pode-se tambm configurar o
SIMULINK para obter e enviar dados da rea de trabalho do MATLAB.
Considere-se o modelo mostrado na figura
Este modelo representa a seguinte equao diferencial:
2 x&
Defini-se para condio inicial do integrador valor 1 no campo Initial condition. A
seguir, escolhe-se no menu da janela do modelo Simulation:Parameters e
configura-se o tempo inicial para 0 e o tempo final para 5. A seguir se executa a
simulao. O SIMULINK determinar numericamente os valores da integral para
resolver
( )

+

0
2 1 dt x
e plota os valores de ( ) x no intervalo de 0 a 5. Um algoritmo de integrao
numrica que resolve este tipo de problema (frequentemente chamado de problema
de valor inicial) chamado de algoritmo de resoluo de equaes diferenciais
ordinrias (Ordinary differential equation solver).
Para se configurar os parmetros da simulao escolhe-se Simulation:Parameters
na barra de menu da janela do modelo. A caixa de dilogo que se abrir contm trs
pginas: Solver, workspace I/O e Diagnostics.
Na primeira pgina (Solver) seleciona-se e configura-se o algoritmo de resoluo da
equao diferencial. A seguna pgina (Workspace I/O) contm parmetros
opcionais que permitem obter dados de inicializao da rea de trabalho do
MATLAB e enviar certos dados da simulao para variveis previamente definidas
da rea de trabalho do MATLAB. A terceira pgina (Diagnostics) usada para
selecionar alguns mtodos de diagnsticos muito utilizados para se determinar
problemas na simulao. Cada pgina ser discutida mais detalhadamente.
3.5.1 - Solver Page
Esta pgina consiste em trs sees. A primeira, Simulation time, contm campos
para se definir o tempo inicial e final da simulao. Os valores default so 0 e 10.
As opes Solver contm campos para se selecionar os algoritmos numricos de
integrao para se resolver as equaes diferenciais e configurar parmetros que
controlam o Step Size de integrao. Os mtodos de soluo so agrupados em
duas categorias: Passo varivel e passo fixo. Diferentes algoritmos esto
disponveis para cada categoria.
Curso de Introduo ao SIMULINK
35
Se a opo escolhida for a de Passo varivel, esto disponveis campos para se
configurar o tamanho do mximo passo de integrao, o passo inicial e as
tolerncias absolutas e relativas.
Se a opo escolhida for a de Passo fixo, h um nico campo no qual se define o
tamanho do passo de integrao.
A seo Output options controla o espaamento de tempo nos pontos na trajetria
de sada.
3.5.1.1 - Solver Type
O SIMULINK fornece diferentes tipos de algoritmos de soluo para equaes
diferenciais. A maioria destes algoritmos so resultados de recentes pesquisas em
integrao numrica e esto entre os mais rpidos e precisos mtodos disponveis.
Geralmente se usam mtodos de passo variveis, pois eles ajustam continuamente
o passo de integrao maximizando a eficincia enquanto mantm uma preciso
especificada.
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
36
Os mtodos disponveis so listados e sucintamente discutidos:
MTODO DE
SOLUO
CARACTERSTICAS
ODE45 Excelente mtodo de propsito geral de passo
simples. baseado nos mtodos de Dormand-
Prince e de Runge-Kutta para Quarta/Quinta ordem.
ODE45 o mtodo default e geralmente uma boa
primeira opo.
ODE23 Usa os mtodos Bogacki-Shampine e Runge-Kutta
de Segunda/Terceira ordem. s vezes funciona
melhor do que ODE45 na presena de pouca
flexibilidade. Geralmente requer um passo menor do
que ODE45 para atingir a mesma preciso.
ODE113 Utiliza o mtodo de ordem varivel de Adams-
Bashforth-Moulton. J que ODE113 utiliza as
solues de pontos em tempos anteriores para se
determinar a soluo do tempo corrente, deve ento
produzir a mesma preciso dos mtodos ODE45 ou
ODE23 com menor nmero de clculos e com isto
tendo uma melhor performance. No apropriado
para sistemas com descontinuidades.
ODE15S Sistema de ordem varivel de multi passos para
sistemas inflexveis. baseado em pesquisas
recentes que utilizam frmulas numricas de
diferena. Se a simulao executar lentamente
utilizando ODE45, tente ODE15S.
ODE23S Ordem fixa de passo simples para sistema
inflexveis. Devido ao fato de ser um mtodo de
passo simples, em muitas das vezes mais rpido
do que ODE15S. Se um sistema parecer inflexvel
uma boa idia tentar ambos os mtodos para este
tipo de sistema para se determinar qual dos dois
tem melhor performance.
Fixed-and-
Variable-Step
Discrete
Mtodo especial para sistemas que contm estados
descontnuos.
ODE5 Verso de passo fixo de ODE45.
ODE4 Frmulas clssicas de Quarta ordem de Runge-
Kutta utilizando passo de tamanho fixo.
ODE3 Verso de passo fixo de ODE23.
ODE2 Mtodo de Runge-Kutta de passo fixo de Segunda
ordem, tambm conhecido por Mtodo de Heun.
ODE1 Mtodo de Euler utilizando passo de tamanho fixo.
Curso de Introduo ao SIMULINK
37
3.1.5.2 - Opes de Sada (Output Options)
As opes de sada da pgina s esto disponveis para mtodos de passo
variveis e controlam o espaamento entre pontos na trajetria de sada. Estas
opes no se aplicam mtodos de passo fixo. Os campos de opes de sada
contm uma caixa com trs opes: refinar a sada (Refine output), produzir uma
sada adicional (Produce additional output), e produzir somente uma sada
especificada (Produce specified output only).
A opo Refinar a sada fora o algoritmo a adcionar pontos intermedirios entre os
pontos da soluo fazendo sucessivos passos. O SIMULINK computa os pontos
intermedirios utilizando interpolao, o que muito mais rpido do que reduzir o
tamanho do passo de integrao. uma boa opo quando se deseja que a
trajetria de sada parea mais homognea e no se necessita que o espao entre
os pontos seja fixo. Se esta opo for selecionada deve-se ainda definir o fator de
refinamento (Refine factor). Este fator deve ser inteiro. O SIMULINK divide cada
intervalo de integrao pelo fator na sada. Por exemplo, se o fator for 2, o ponto
mdio de cada intervalo de integrao ser adicionado na trajetria de sada por
interpolao.
A opo de produzir uma sada adicional (Produce additional output) permite forar
o SIMULINK a incluir certos pontos de tempo na trajetria de sada, em adio aos
pontos da soluo no fim de cada intervalo de integrao. Se esta opo for
selecionada, deve-se ento preencher o campo entitulado Tempos De Sada
(Output times). Este campo deve conter um vetor que lista os tempos adicionais
para os quais se deseja conhecer a sada. Se se deseja, por exemplo, incluir a
sada a cada 10 segundos de intervalo e o tempo inicial 0 e o final 100, o vetor
deve ser [0:10:100].
A opo de produzir somente uma sada especificada (Produce specified output
only) utilizada quando se deseja produzir uma trajetria de sada contendo
somente valores especficos de tempo; por exemplo quando se deseja comparar as
diferenas de trajetrias e avaliar os efeitos de mudanas de alguns parmetros. Se
esta opo for selecionada, deve-se preencher o campo chamado tempos de sada
(Output times), o qual deve conter um vetor com os instantes de tempo para os
quais se deseja conhecer a sada.
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
38
3.5.2 - Pgina Workspace I/O
A segunda pgina permite obter e enviar dados para rea de trabalho do MATLAB.
Na seo Carregar da rea de trabalho (Load from workspace), a caixa Entrada
(Input) faz com que o SIMULINK importe do MATLAB o tempo e valores
previamente armazenados nas variveis definidas no campo logo ao lado da caixa.
Esta opo trabalha em conjunto com o bloco Inport encontrado na biblioteca de
conexes (Conections Library). Este bloco deve ser configurado para aceitar dados
escalares ou vetores. Define-se ento o nome das matrizes tempo (default t) e
sinais de entrada (default i) no campo entrada (Input). A primeira matriz (t) um
vetor coluna de valores de tempo e a segunda (u)consiste em uma coluna para
cada varivel de entrada, com cada linha correspondente matriz de tempo. Se
houver mais de um bloco Inport, as colunas da matriz sero ordenadas com o
nmero correspondente ao assinalado no bloco. A primeira coluna corresponder
ao bloco com menor nmero e a ltima coluna ao bloco com maior nmero. Para
um vetor no bloco Inport, deve haver uma coluna na matriz u para cada elemento do
vetor de entrada.
3.5.2.1 - Vetores de estado internos do SIMULINK
Antes de se discutir as sees Salvar para a rea de trabalho (Save to Workspace)
e Estados (States) deve-se discutir brevemente falar das variveis de estado
internas do SIMULINK.
Um modelo SIMULINK pode ser entendido como um grupo de equaes diferenciais
ou de diferena de primeira ordem, possivelmente no lineares simultneas. Alm
das variveis de estado associadas a cada integrador, h tambm variveis de
estado implcitas especificadas associadas com os blocos de funo de
transferncia (Transfer function block), os blocos de Espao de Estados (State
Space block), certos blocos no lineares, alguns blocos discretos e muitos blocos
existentes na biblioteca de Extras.
Freqentemente necessrio ter acesso s variveis de estado do modelo e o
SIMULINK fornece mecanismos que facilitam estas tarefas. Utilizar a pgina
Workspace I/O provavelmente a maneira mais fcil de acessar estas variveis.
Curso de Introduo ao SIMULINK
39
3.5.2.2 - Salvar para a rea de trabalho
Esta seo contm trs campos, cada um ativado com a caixa correspondente.
A opo Tempo (Time) envia a varivel indenpendente para a rea de trabalho com
um nome definido (o default tout).
A opo Estados (States) envia todas as variveis de estado dos modelos para a
rea de trabalho do MATLAB numa matriz especificada (o default xout).
J a opo Sada (Output) trabalha em conjunto com o bloco Outport de maneira
anloga ao bloco Inport, j discutido previamente.
3.5.2.3 - Estados (States)
A seo Estados (States) pode forar o SIMULINK a carregar valores iniciais de
todas as variveis de estados internas a partir do MATLAB e tambm enviar os
valores finais da variveis de estado internas para a rea de trabalho. Todas as
variveis de estado do SIMULINK possuem valores iniciais default, na maioria dos
casos 0. Os estados associados blocos integradores devem ser configurados pela
prpria caixa de dilogo do bloco.
Ao se especificar valores de estados iniciais nesta pgina, o SIMULINK
desconsidera qualquer valor default de inicializao, incluindo valores iniciais
configurados nos blocos integradores. A caixa Load initial configura o valor inicial de
um vetor de estado do modelo para os valores especificados no vetor de entrada
(default xInitial), predefinido na rea de trabalho do MATLAB. O vetor de
inicializao deve ter o tamanho do vetor de estado do modelo.
Na caixa Save Final possvel fazer com que o SIMULINK salve os valores finais
das variveis de estado num vetor especificado (default xFinal) para a rea de
trabalho do MATLAB. A sada desta opo um vetor que pode ser utilizado no
futuro como condies iniciais numa outra simulao, o que corresponde a
continuar de onde a anterior foi interrompida.
3.5.2.4 - Save Options
Esta seo da pgina contm dois campos e trabalham em conjunto com a seo
Save to workspace.
O primeiro campo (Limit rows to last) define-se o nmero de pontos que ser
enviado para o MATLAB. Por exemplo, se no campo for definido 1000, os ltimos
1000 pontos sero enviados para a rea de trabalho do MATLAB. O campo
Decimation configura o intervalo entre os pontos que sero enviados. Este campo
s deve conter nmeros inteiros. Se, por exemplo, for definido o valor 1 neste
campo, todos os pontos sero enviados para o MATLAB.
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
40
3.5.3 - Pgina de Diagnsticos
Esta pgina permite selecionar a ao tomada para cinco condies e tambm
inclui opes para o controle automtico de sada de blocos (Consistency Checking)
e desabilitar a deteco da transio de zero.
H trs escolhas para a resposta de cada um das cinco condies excepcionais. A
primeira None instrui ao SIMULINK a ignorar o evento correspondente. A segunda
escolha, Warning (default) faz com que o SIMULINK emita uma mensagem de erro
cada vez que o evento ocorrer. A opo final Error faz com que o SIMULINK aborte
a simulao toda vez que o evento correspondente ocorrer. Os eventos so
detectados quando a simulao executada. Cada um dos eventos sero
brevemente discutidos.
Um Loop Algbrico (Algebraic loop) um evento no qual a entrada de um bloco
num dado instante de tempo dependente da sada do mesmo bloco no mesmo
instante de tempo. Este tipo de problema causa perdas de velocidade na execuo
da simulao e em alguns casos pode causar erros na execuo da simulao.
comumente aconselhvel configurar Warning como resposta para loops algbricos,
mas se um loop algbrico for detectado e a performance for aceitvel, pode-se
configurar None como resposta.
Uma violao de tamanho do passo mnimo (Min step size violation) ocorre quando
a soluo tende a usar um passo de integrao menor do que o passo mnimo.
Como nem sempre possvel modificar o tamanho do passo mnimo em muitos
mtodos de passo varivel deve-se ento trocar para um mtodo de ordem
superior ao utilizado, que em geral utiliza um maior passo de integrao. Uma outra
opo aumentar o valor da tolerncia absoluta e relativa na primeira pgina de
configurao. Este tipo de erro deve ser sempre configurada para Warning ou Error
porque este tipo de erro indica que a simulao no est produzindo a preciso
desejada.
Um erro Entrada de Bloco Desconectada (Unconnected block input) ocorre quando
um bloco tem uma entrada no utilizada. Geralmente resultado de um erro na
construo do modelo. Deve ser sempre cofigurada para Warning ou Error. Se a
omisso da entrada de um bloco for intencional uma boa prtica conectar esta
entrada a um bloco Terra (Ground).
Curso de Introduo ao SIMULINK
41
Um erro Sada de Bloco Desconectada (Unconnected block output) acontece
quando uma sada de um bloco no est conectada entrada de outro. Este tipo de
erro frequentemente no causa erro simulao, mas muito simples de se
resolver. Para evitar este tipo de erro deve-se conectar todas as sadas no
utilizadas a um bloco Terminator encontrado na biblioteca de conexes
(Connections). Este evento deve ser configurado para Warning ou Error.
O ltimo evento Linha desconectada (unconnected line) pode tambm ser
causado num erro na construo do modelo. Este evento ocorre quando o final de
uma linha de sinal no est conectada a um bloco. Deve ser configurado para
Error.
A Checagem de consistncia (Consistency checking) uma caracterstica de
depurao que detecta certos erros de programao em alguns blocos
personalizados. No necessrio se utilizar esta funo quando se tem somente
blocos do prprio SIMULINK, o que faz com que a simulao seja executada mais
lentamente. Em geral, esta opo deve ser configurada em Off.
Um grande nmero de blocos do SIMULINK possuem comportamento discontnuo.
Como exemplo temos o bloco Sign localizado na biblioteca Nonlinear. Sua sada 1
se a entrada for positiva, 0 se a entrada for nula e 1 se a entrada for negativa. O
bloco ento possui uma descontinuidade em zero. Se for utilizado um mtodo de
passo varivel, o SIMULINK ir ajustar o passo de integrao quando a entrada do
bloco se aproximar de zero para que a mudana ocorra no tempo certo. Este
processo chamado Zero crossing detection. Pode-se determinar se um bloco
necessita desta deteco na tabela de Caractersticas do bloco em suas
configuraes.
Esta deteco melhora a preciso da simulao, mas pode ocasionar uma lentido
da mesma. Ocasionalmente um sistema pode flutuar rapidamente pela
descontinuidade, um fenmeno conhecido por reticncia (chatter). Quando isto
ocorre, o progresso da simulao pode efetivamente parar, j que o passo de
integrao reduzido a valores muito pequenos. O modelo ento ser executado
lentamente quando o mesmo incluir um ou mais blocos com este tipo de deteco
intrnseca. Ao selecionar a opo Disable zero crossing detection na pgina de
diagnsticos pode aumentar significativamente a velocidade de execuo, mas
pode tambm reduzir drasticamente a preciso da simulao. Tal ao deve ento
ser utilizada somente como uma ferramenta para se verificar se est ocorrendo a
reticncia. Se a opo for selecionada e a velocidade de execuo aumentar
consideravelmente, deve-se ento localizar a causa da reticncia e corrigir o
problema.
3.6 - Executando uma Simulao
Pode-se controlar a execuo de um modelo no menu Simulation na barra de
menus da janela do modelo.
Para se iniciar uma execuo, clica-se em Simulation:Start. Pode-se parar a
simulao permanentemente selecionando-se Simulation:Stop. Para parar a
execuo temporariamente clica-se em Simulation:Pause, e para continuar a
execuo do ponto de parada seleciona-se Simulation:Continue.
Enquanto a simulao est sendo executada, pode-se modificar diversos
parmetros. Por exemplo o ganho de um bloco de ganho, modificar o algoritmo
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
42
utilizado na soluo, modificar os parmetros de integrao como o tamanho do
passo mnimo. Pode-se ainda selecionar uma linha de sinal que passar ento a ser
a entrada de um Osciloscpio que esteja sendo configurado como flutuante
(Floating Scope Block). Isto permite que se cheque vrios sinais durante o
progresso da simulao.
3.7 - Imprimindo um Modelo
H uma variedade de mtodos para se imprimir modelos SIMULINK. O mais
simples enviar o modelo diretamente para a impressora. H ainda a possibilidade
de se enviar o modelo para um processador de textos ou outro tipo de arquivo, ou
ainda copiar para a rea de transferncia ou salvar como um arquivo EPS
(Encapsulated PostScript File), utilizado pela maioria dos programas processadores
de textos ou imagens.
3.7.1 - Imprimindo um modelo utilizando os menus
A maneira mais rpida de se obter uma cpia impressa do modelo enviando o
mesmo diretamente para a impressora utilizando os menus. Clicando-se em
File:Printer Setup na barra de menu da janela do modelo pode-se configurar a
impressora como se deseja. A seguir, clicando-se em File:Print o modelo ser
enviado diretamente para a impressora. O SIMULINK ajusta o modelo para que o
mesmo caiba na folha. O usurio no tem controle sobre o tamanho do modelo na
impresso.
3.7.2 - Enviando o Modelo para um Documento
O SIMULINK permite que se insira seus modelos em vrios tipos de programas
modernos como processadores de texto, programas de apresentao, editores de
imagem etc.
Os modelos podem ainda ser salvos como arquivos bitmaps, Windows metafiles ou
EPS.
Para se obter uma figura como arquivo bmp ou wmf, primeiro se deve clicar
Edit:Copy Model na barra de menu da janela do modelo. A seguir deve-se inserir a
figura no documento desejado de acordo com o programa utilizado.
Arquivos Metafile so preferveis porque neste formato a imagem no perde
resoluo quando se amplia, mas nem todos os programas trabalham bem com
este tipo de imagem. Salvar como arquivo Bitmap uma opo mais confivel.
Para se utilizar a opo de arquivo EPS deve-se primeiro salvar a imagem como um
arquivo EPS utilizando o comando print brevemente discutido a seguir. A seguir
inser-lo no documento desejado utilizando procedimentos padres de cada
programa utilizado.
3.7.3 - Utilizando o Comando PRINT do MATLAB
Este comando permite enviar a imagem de modelos para uma impressora, para a
rea de transferncia ou para um arquivo numa variedade de formatos. A sintaxe do
comando
print smodel ddevice filename
Curso de Introduo ao SIMULINK
43
Model uma string do MATLAB que contm o nome do modelo SIMULINK que
deve estar aberto. O modelo mostrado no ttulo da janela do modelo. Se o nome
do modelo contiver espaos, deve ento estar entre apstrofos ( ):
print sSpring Mass System ddevice filename
Se o nome do modelo tiver um Enter deve ento estar entre colchetes ([ ]) com o
Enter separado por apstrofos ( ) e representado pelo seu cdigo ASCII (13):
print s[Damped 13 Spring Mass System] ddevice filename
device uma string MATLAB que especifica o tipo de dispositivo de sada. Pode
incluir impressoras, arquivos e a rea de transferncia do Windows. A tabela a
seguir inclui os dispositivos e seus cdigos.
Device Descrio do dispositivo
ps PostScript
psc PostScript Colorido
ps2 PostScrip Nvel 2
psc2 PostScrip Nvel 2 Colorido
eps Encapsulated PostScript (arquivo)
epsc Encapsulated PostScript colorido (arquivo)
eps2 Encapsulated PostScript Nvel 2 (arquivo)
epsc2 Encapsulated PostScript Nvel 2 Colorido (arquivo)
win Impressora Padro
winc Impressora Padro Colorida
meta rea de transferncia Formato Metafile
bitmap rea de transferncia Formato Bitmap
setup O mesmo que selecionar File:Printer Setup na
barra de menu.
Filename uma string do MATLAB que deve conter o nome do arquivo que ser
salvo. opcional, j que nem sempre se salva como arquivo no disco.
Curso de Introduo ao SIMULINK
Cap.3 Construindo Modelos SIMULINK
44
Exemplo
O objetivo deste exemplo primeiro imprimir na impressora padro um modelo
entitulado xydemo.mdl e a seguir salvar a imagem do modelo como um arquivo EPS
colorido.
Primeiro deve-se abrir o modelo no SIMULINK. A seguir, na rea de trabalho do
MATLAB digita-se:
print sxydemo
O modelo ser impresso na impressora padro do Windows.
A seguir digita-se:
print sxydemo depsc xydemo.eps
O modelo ento ser salvo como um arquivo EPS e poder ser importado por
qualquer programa que aceite este tipo de arquivo.
Curso de Introduo ao SIMULINK
45
Captulo 4 Sistemas Contnuos no Tempo
Aps estudar os captulos anteriores, o usurio j deve se sentir bem mais
confortvel com os mecanismos de construo e execuo de modelos no
SIMULINK. Este captulo explora o uso do SIMULINK na modelagem de sistemas
contnuos.
Um sistema contnuo um sistema dinmico que pode ser descrito por equaes
diferenciais. A maioria dos sistemas e processos so contnuos.
Os sistemas mais simples so escalares e pode-se admitir que so lineares e
invariantes no tempo. Inicialmente o texto tratar destes tipos de sistemas utilizando
blocos da biblioteca linear. A seguir ser mostrado modelos mais complicados
utilizando vetores de sinais e ainda blocos da biblioteca Nonlinear para se modelar
sistemas contnuos no lineares.
4.1 - Sistemas Escalares Lineares
Podem ser modelados utilizando blocos na biblioteca linear. Estes blocos so fceis
de usar, mas o Integrador tem vital importncia na elaborao de diversos sistemas.
Primeiro ser feita uma explicao detalhada do bloco integrador e a seguir ser
ilustrada a modelagem de sistemas contnuos escalares com dois exemplos
4.1.1 - Bloco Integrador (Integrator)
Este bloco pode ser configurado como um integrador simples ou um integrador com
reset. Um integrador com reset leva a sada condio inicial toda vez que seu
sinal de reset dispara. Pode-se tambm configurar o integrador de tal forma que sua
sada fique sempre dentro de certos limites pr-definidos. Pode-se ainda configurar
o integrador para que sua sada inicial seja um valor configurado na sua caixa de
dilogo ou que ele receba o valor inicial atravs de uma entrada adicional.
Com um duplo clique no integrador abre-se sua caixa de dilogo. Para se utilizar um
integrador padro a nica entrada requerida nesta caixa a condio inicial (Initial
Condition), que tem como default 0.
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
46
As opes de reset externo (External reset) esto na caixa de dilogo do bloco
integrador. So elas: None, Rising, falling e either.
Se a opo escolhida for None (default) o reset externo desabilitado. Se qualquer
uma das outras for escolhida o bloco integrador agora um integrador com reset.
Se a opo escolhida for rising, a sada do integrador levada condio inicial
quando o sinal de reset passa pelo zero no sentido crescente. Se a opo for
falling, a situao se repete, s que agora quando o sinal de reset cruza o zero no
sentido descendente. A opo either no leva em conta o sentido do sinal de reset.
A figura a seguir ilustra um modelo simples de um integrador com sinal de reset
configurado para falling.
Curso de Introduo ao SIMULINK
47
Quando o sinal de reset cruza o zero, a sada do integrador retorna ao seu valor
inicial e a simulao continua.
Configurando a Fonte de condio inicial para externa, surgir uma entrada
adicional no integrador. O valor contido neste entrada ser utilizado pelo integrador
como condio inicial quando a simulao for iniciada ou quando o integrador for
resetado.
A opo de limitar a sada (Limit output) faz com que o bloco funcione como um
integrador limitado. Nos campos Limite superior de saturao (Upper saturation
limit) e Limite inferior de saturao (Lower saturation limit) definem o intervalo no
qual o integrador ir funcionar. Os valores default so inf e inf.
A opo Mostrar porta de saturao (Show saturation port) habilita uma sada
adicional no bloco que indica o estado da saturao. Se este sinal for 1 a sada do
integrador esta abaixo do limite inferior de saturao, se for 1 est acima do limite
superior e se for 0 est dentro do intervalo de trabalho definido pelos limites.
A opo Mostrar porta de estado (Show state port) cria uma sada adicional no
bloco. Esta sada contm o estado do integrador que o mesmo sinal de sada do
integrador. Esta sada necessria em duas ocasies: se a sada de um bloco
integrador realimenta (feedback) o mesmo bloco como reset ou condio inicial, a
porta de estado usada ao invs da sada comum do bloco; e se deseja utilizar a
sada do integrador como acionador de um subsistema com execuo condicionada
a este bloco, deve-se ento usar a sada de estado para este acionamento.
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
48
O campo Tolerncia absoluta permite ao usurio desprezar a configurao de
tolerncia absoluta definida no menu Simulation:Parameters, discutida
anteriormente.
Exemplo
Considere o sistema amortecido de segunda ordem
Admite-se que o coeficiente de amortecimento c=1.0, a constante da mola k=2 N/m
e a massa do carro m=5 Kg. No h entradas no sistema. Considerando-se a
deflexo inicial igual 1m da posio de equilbrio.
Para modelar o sistema deve-se primeiro escrever a equao do movimento.
Utilizando uma aproximao Newtoniana, nota-se que h somente duas foras
agindo no carro: a fora da mola e a fora de amortecimento. A fora da mola
kx e a fora de amortecimento x c& . A fora responsvel pela acelerao do carro
x m& & . Desde que no h foras externas, a soma destas trs foras deve ser zero.
Pode-se ento escrever a equao:
0 + + kx x c x m & & &
Sendo um sistema de segunda ordem, necessita-se ento de dois integradores para
modelar seu comportamento. Abre-se ento uma nova janela de modelo para
iniciar a construo.
Curso de Introduo ao SIMULINK
49
Acrescenta-se dois integradores como na figura, nomeando-os velocidade e
posio.
A sada do integrador Velocidade x& , j que sua entrada x& & . Reescrevendo a
equao, tem-se:
x
m
k
x
m
c
x & & &
Substituindo os valores:
x x x 4 . 0 2 . 0 & & &
Com . 0 ) 0 ( , 1 ) 0 ( x x &
Acrescenta-se agora um bloco de soma para calcular o valor de x& & , configurando-o
com dois sinais de menos (--).
Deve-se agora acrescentar dois blocos de ganho para calcular a taxa em que ocorre
o amortecimento e a taxa com que a mola exerce fora sobre a massa.
necessrio ainda acrescentar as linhas de sinal como mostrado na figura a seguir:
Configura-se a condio inicial do bloco integrador que corresponde velocidade
para 0 e a condio inicial que corresponde posio da massa para 1.
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
50
Falta ainda um dispositivo de sada para que se possa obter a resposta do sistema.
Acrescenta-se ento um osciloscpio. O modelo final deve ficar da seguinte forma:
Na barra de menu escolhe-se Simulation:Parameters e ajusta-se o tempo final
(Stop time) para 50. Pode-se agora ento dar incio simulao clicando-se
Simulation:Start.
A resposta pode ser visualizada na tela do osciloscpio.
4.1.2 - Blocos Funo de Transferncia
A notao de funo de transferncia freqentemente utilizada no projeto e
modelagem de sistemas de controle. A Funo de Transferncia pode ser definida
como a razo da transformada de Laplace da entrada de um sistema pela
transformada de Laplace da sada, considerando as condies iniciais nulas. Desta
forma, a funo de transferncia nos fornece uma descrio conveniente do sistema
dinmico.
O SIMULINK fornece dois blocos para se implementar funes de transferncia: O
bloco Funo de Transferncia (Transfer Fcn) e o bloco Zeros-Plos (Zero-Pole).
Os dois blocos so equivalentes, diferindo apenas na notao utilizada para se
representar a funo de transferncia.
Curso de Introduo ao SIMULINK
51
O bloco Funo de Transferncia tem na caixa de dilogo dois campos: Numerador
(Numerator) e denominador (Denominator). O numerador contm os coeficientes do
numerador da funo de transferncia em ordem decrescente de potncias de s. O
denominador contm os coeficientes do denominador de forma semelhante ao
numerador.
O bloco Zeros-Plos possuem uma caixa de dilogo que contm trs campos:
Zeros, Plos e Ganhos. O campo Zeros contm os zeros do numerador da funo
de transferncia. O campo Plos contm os zeros do denominador da funo e o
Ganho ajusta a funo. O help do SIMULINK possui uma documentao detalhada
dos blocos.
Exemplo
A figura a seguir descreve o mesmo exemplo anterior do sistema massa-mola
amortecido com exceo da funo fora F.
Considere-se que o sistema est inicialmente em equilbrio esttico ( 0 , 0 x x & ) e
a funo fora um degrau de 1 N. Ignorando a frico, a equao do movimento
ento:
F kx x c x m + + & & &
Tomando a transformada de Laplace e ignorando as condies iniciais, tem-se:
) ( ) ( ) ( ) (
2
s F s kX s csX s X ms + +
A razo da transformada de Laplace da sada (X(s)) pela transformada de Laplace
da entrada (F(s)) a funo de transferncia (G(s)):
m
k
s
m
c
s
m
s F
s X
s G
+ +

2
1
) (
) (
) ( .
A figura a seguir mostra um modelo SIMULINK deste sistema utilizando blocos
lineares primitivos:
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
52
Agora temos o mesmo sistema utilizando o bloco funo de transferncia. O campo
Numerador da caixa de dilogo deve conter [0.2] e o Denominador [1 0.2 0.4].
4.2 - Vetores em Sistemas Lineares
Nos exemplos anteriores as linhas de sinal continham somente sinais escalares.
Muitas vezes conveniente se utilizar sinais vetoriais, pois eles permitem a
construo de modelos mais compactos e fceis de se entender.
Discutiremos alguns mecanismos que utilizam sinais vetoriais e a seguir os
utilizaremos com o bloco Espao de Estados (State-Space).
4.2.1 - Linhas de Sinais Vetoriais
Pode-se combinar vrios sinais escalares para se formar um vetor de sinal
utilizando o bloco Mux (multiplexador) da biblioteca Connections.
Antes de se utilizar um bloco Mux, deve-se configurar o nmero de entradas na
caixa de dilogo do bloco.
Para facilitar a identificao de linhas de sinais vetoriais deve-se clicar em
Format:Wide Vector Lines na barra de menu da janela do modelo.
Os componentes do vetor de sinal so u(1), u(2), ... ,u(n), onde n o nmero de
componentes. A entrada superior do bloco u(1) e a inferior u(n).
Mux
Curso de Introduo ao SIMULINK
53
O bloco Demux permite ao usurio separar o vetor de sinal em sinais escalares.
Deve ser configurado com o nmero correto de sadas. A notao do Demux
idntica do Mux, u(1) na sada superior e u(n) na sada inferior.
A maioria dos blocos SIMULINK trabalham com entradas vetoriais. O
comportamento do bloco com uma entrada vetorial depender simultaneamente do
tipo de bloco e da configurao do bloco.
Blocos lineares com entradas vetoriais produzem sadas vetoriais na mesma
dimenso da entrada. As configuraes de blocos lineares com entradas vetoriais
devem ter a mesma dimenso da entrada ou ser escalar. No caso de parmetros
escalares, o SIMULINK far automaticamente a expanso escalar, que ir produzir
um vetor parmetro implcito da mesma dimenso da entrada que ter todos os
elementos iguais ao valor escalar.
Como exemplo tem-se uma parte de um modelo SIMULINK. A sada do bloco de
Ganho um vetor com 3 elementos no qual cada elemento corresponde ao vetor de
entrada multiplicado por 2.
Note agora que para o ganho configurado com o vetor [2,3,4], o primeiro elemento
da sada o primeiro elemento da entrada multiplicado por 2, o segundo elemento
da sada o segundo elemento da entrada multiplicado por 3 e o terceiro elemento
a terceira entrada multiplicada por 4.
Mux Demux
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
54
A expanso escalar somente se aplica a blocos com entrada escalar. Por exemplo,
se a entrada do bloco de ganho do exemplo anterior um sinal escalar, o primeiro
elemento da sada ser a entrada multiplicada por 2, o segundo ser a entrada
multiplicada por 3 e o terceiro multiplicada por 4.
Alguns blocos como o Bloco Funo (Fcn block) da biblioteca Nonlinear produzem
somente sadas escalares, independente da entrada. O help de cada bloco tem uma
explicao detalhada sobre o comportamento com sinais vetoriais.
4.2.2 - Espao de Estados (State-Space)
Antes de se descrever o bloco Espao de Estados deve-se discutir o conceito de
variveis de estado. Um vetor de estado um conjunto de variveis de estado
suficiente para descrever o estado da dinmica de um sistema. A forma geral do
modelo espao de estado de um sistema dinmico :
), , , ( t u x f x &
onde x o vetor de estado, u o vetor de entrada e t o tempo. A equao chamada
equao de estado do sistema. Se define tambm a sada do sistema:
). , , ( t u x g y
Esta equao chamada equao de sada. Observe-se que se utilizam caracteres
minsculos em negrito para destacar vetores e caractares mausculos em negrito
para representar matrizes.
As chamadas variveis de estado natural so quantidades simples como posio,
velocidade, temperatura ou corrente eltrica. Para sistemas mecnicos as variveis
de estado natural so posies e velocidades. Para circuitos eltricos podem ser
usadas tenses e correntes.
Porm as variveis de estado natural no so as nicas variveis de estado
disponveis. Pode-se ainda ter uma combinao linear independente de um grupo
de variveis de estado para se ter novas variveis de estado vlidas.
Curso de Introduo ao SIMULINK
55
Exemplo
Considere o pndulo mostrado:
O estado dinmico do pndulo definido pela sua posio e sua velocidade. Uma
escolha natural de variveis de estado o ngulo de deflexo e a taxa de mudana
de deflexo:
.
2
1

&

x
x
A aproximao das variveis de estado uma particularidade muito utilizada na
modelagem de sistemas lineares porque se tem a vantagem de utilizar a notao de
matrizes para descrever sistemas muito complexos em formatos mais simples.
Pode-se ainda calcular a resposta do sistema utilizando aritmtica matricial.
Considere o sistema massa-mola amortecedor apresentado num exemplo anterior.
Este um sistema de segunda ordem com um grau de liberdade, deve-se ento
escolher duas variveis de estado. Escolhe-se
x x
x x
&

2
1
As relaes entre as duas variveis de estado so
F
m
x
m
c
x
m
k
x
x x
1
2 1 2
2 1
+

&
&
Estas equaes podem tambm ser escritas na notao matricial:
Bu Ax x + &

Curso de Introduo ao SIMULINK


Cap.4 Sistemas Contnuos no Tempo
56
Onde
F u
m
m
c
m
k
x
x

1
1
]
1

1
1
]
1

1
]
1

1
0
1 0
2
1
B
A
x
A matriz A freqentemente chamada matriz de sistema. A matriz de sistema
sempre quadrada. A matriz B a matriz de entrada. O nmero de linhas na matriz
de entrada o nmero de variveis de estado, e o nmero de colunas o nmero
de entradas. A equao que envolve as matrizes acima a equao de estado do
sistema para um sistema linear. Note que as matrizes de sistema e de entrada no
so as caractersticas nicas do sistema. Diferentes escolhas de variveis de
estado resultam em diferentes matrizes de estado e de entrada.
Para se definir as variveis de entrada deve-se considerar os estados internos de
um sistema. As variveis de estado no so necessariamente as sadas do sistema.
As sadas podem consistir num subconjunto de estados, ou podem consistir numa
combinao linear dos estados do sistema e suas entradas. A equao de sada
para um sistema linear :
y=Cx+Du
Se a escolha da sada do sistema como sendo a posio da massa (x), tem-se:
[ ]
0
0 1
1

D
C
x y
C chamada matriz de sada. D chamada matriz de transmisso direta porque se
ela no for nula, a entrada ser diretamente transmitida para a sada.
4.2.3 - Bloco Espao de Estados (State-Space block)
Este bloco implementa um modelo linear de um sistema ou uma parte de um
sistema no espao de estados. A caixa de dilogo do bloco contm campos para
cada uma das quatro matrizes de espao de estados (A, B, C, D) e ainda um quinto
campo para condies iniciais. Cada campo deve conter uma matriz no formato
MATLAB.
Curso de Introduo ao SIMULINK
57
Exemplo
Considere novamente o sistema massa mola comentado anteriormente. Deseja-se
agora conhecer a resposta do sistema ao impulso. Substituindo os parmetros do
modelo nas equaes, temos:
), ( 2 . 0 2 . 0 4 . 0
2 1 2
2 1
t x x x
x x
+

&
&
onde ) (t a funo impulso unitrio. A matriz de sistema
,
2 . 0 4 . 0
1 0
1
]
1


A
e a matriz de entrada
.
2 . 0
0
1
]
1

B
Define-se como sada a posio do bloco,
[ ]. 0 1 C
Neste caso no h transmisso direta, ento:
. 0 D
Pode-se aproximar o impulso unitrio como sendo uma funo degrau positiva
seguida de uma funo degrau negativa:
) 01 . 0 ( 100 ) ( 100 ) ( t u t u t .
A figura a seguir mostra o modelo SIMULINK desta formulao de equaes de
movimento e a caixa de dilogo do bloco Espao de Estados. Note que deve-se
incluir condies iniciais para cada varivel de estado.
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
58
4.3 - Modelando Sistemas No Lineares
O SIMULINK fornece uma variedade de blocos para a modelagem de sistemas no
lineares. Esses blocos esto na biblioteca Nonlinear. O comportamento destes
blocos no lineares com respeito a entradas vetoriais pode variar. Alguns blocos
produzem sadas vetoriais na mesma dimenso da entrada. Outros blocos
produzem somente sadas escalares, ou alternando entre escalares ou vetoriais,
dependendo da dimenso das entradas. Uma explicao detalhada do
comportamento de cada bloco est no help do SIMULINK.
Exemplo
Para ilustrar o uso de diversos blocos da biblioteca Nonlinear, ser mostrado a
modelagem do movimento de um carro acionado por foguetes, como mostrado na
figura:
O carro impulsionado por dois foguetes em oposio. O controlador aciona o
motor esquerdo se a soma da velocidade e da posio do carro for negativa, e
acionar o motor direito se a soma for positiva. O objetivo do controlador levar o
carro ao repouso na origem. Este tipo de controle chamado Controle Bang-Bang.
A massa do carro 5 Kg e a fora motor 1 N.
A princpio, a equao do movimento do carro :
F x m & & .
Curso de Introduo ao SIMULINK
59
Este um sistema de segunda ordem, ento dois integradores sero necessrios
para se calcular a posio do carro.
Abre-se uma nova janela de modelo e acrescenta-se a ela dois integradores da
biblioteca Linear. Os integradores recebem os nomes Velocidade e Posio, como
mostrado:
A entrada do primeiro integrador a acelerao. Resolvendo a equao do
movimento para a acelerao, tem-se:
m
F
x & &
Acrescentam-se agora um bloco Ganho que multiplica a fora motora do foguete por
m
1
. A entrada do bloco Ganho ser a fora motora F.
A fora motora F 1.0 se a soma da velocidade e posio for negativa e 1.0 se a
soma for positiva. Pode-se construir um conveniente Controlador Bang-Bang
utilizando um bloco de Soma (Sum) da biblioteca Linear e um Bloco Sign da
biblioteca Nonlinear. A sada de um bloco Sign 1.0 se a entrada for positiva, 1.0
se a entrada for negativa e 0.0 se a entrada for exatamente 0.
Acrescenta-se ento os blocos Sign e de Soma como mostrado. O bloco de Soma
configurado com dois sinais de menos (- -) porque a fora motora oposta ao sinal
da soma da velocidade com a posio.
Para visualizar o resultado da simulao utiliza-se um grfico XY (XY Plot) para se
plotar um Grfico no Plano de Fase (Phase Plot) com o progresso da simulao.
Um Grfico no Plano de Fase um grfico da velocidade x posio.
Acrescenta-se ento um Grfico XY. Conecta-se a sada do integrador Posio
entrada X (superior) e a sada do integrador Velocidade entrada Y (inferior).
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
60
Para monitorar o tempo no progresso da simulao, acrescenta-se um bloco Clock
da biblioteca de fontes (Sources) e um bloco Display da biblioteca de dispositivos de
sada (Sinks) e conectam-se os dois conforme a figura:
No se sabe quanto tempo a soluo demora para atingir a origem, ento por
convenincia, adiciona-se uma lgica ao modelo que pare a simulao quando o
objetivo for atingido. Esta lgica ir parar a simulao quando a soma dos valores
absolutos da velocidade e da posio cair a um valor menor que 0.01. Isto pode ser
feito com xito adicionando um bloco de Parada da Simulao (Stop Block) da
biblioteca de dispositivos de sada (Sinks). Este bloco fora o SIMULINK parar a
simulao quando sua entrada for diferente de zero. Deseja-se que a entrada do
bloco seja zero at que
. 01 . 0 + x x &
Acrescentam-se ento dois blocos de Mdulo (Abs) da biblioteca Nonlinear e um
bloco de soma da biblioteca Linear ao modelo. A seguir acrescenta-se um bloco
Operador Relacional (Relational Operator) e escolhe-se <= na lista Operator.
Insere-se agora um bloco Constante (Constant) da biblioteca de fontes e configura-
se seu valor para 0.01. Finalmente se acrescenta um bloco de Parada (Stop
Simulation) e conecta-se as linhas de sinais como mostrado na figura.
Curso de Introduo ao SIMULINK
61
Supondo que no incio da simulao o carro estava em repouso afastado de 1 N
para a direita. Ento a condio inicial do integrador Velocidade 0 e a do
integrador Posio 1.
O bloco Sign chaveia a sada instantaneamente de acordo com a entrada. Contudo
qualquer sistema fsico de chaveamento realizvel leva um tempo finito para mudar
a sada. Para modelar tal comportamento pode-se utilizar um algoritmo de tamanho
de passo fixo (fixed-step-size). Vamos supor que o tempo de chaveamento seja
0.05 segundos, clica-se ento em Simulation:Parameters na barra de menu e na
opo Type escolhe-se Passo fixo (Fixed-step) e ODE5 (Dormain-Prince). A seguir
configura-se o tamanho do passo para 0.05 e o tempo final (Stop time) 200.
A simulao agora est pronta para ser executada. Clica-se ento em
Simulation:Start e a simulao ser executada at o carro atingir o repouso na
origem. O grfico XY deve ser semelhante figura:
Ao se olhar com ateno nota-se que a trajetria da fase se aproxima da origem
mas oscila na linha x x & . Este fenmeno chamado reticncia.
Tente substituir o bloco Sign por um bloco de Saturao (Saturation) configurando o
limite superior (Upper limit) para 0.05 e o limite inferior (Lower limit) para 0.05.
Tente tambm substituir o bloco Sign por um bloco de Zona Morta (Dead Zone),
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
62
com o incio (Start of dead zone) em 0.05 e fim (End of dead zone) em 0.05. Ao se
utilizar qualquer um destes dois blocos no lugar do bloco Sign pode-se ento
configurar a simulao para um mtodo de passo varivel j que nenhum bloco do
sistema muda instantaneamente de 1 para +1.
4.3.1 - Blocos de Funo (Function Blocks)
Duas utilidades particulares de blocos no lineares so os blocos Fcn (C function) e
MATLAB Fcn. Ambos executam operaes matemticas especificadas na entrada,
mas os blocos tem algumas diferenas importantes.
O SIMULINK executa o bloco Fcn muito mais rpido do que o MATLAB Fcn. Porm
o bloco Fcn no aceita operaes matriciais. Devido vantagem na velocidade,
sempre aconselhvel utilizar o bloco Fcn quando as capacidades especiais do bloco
MATLAB Fcn no forem necessrias.
4.3.1.1 - Bloco Fcn
O bloco Fcn mostrado na figura a seguir:
A caixa de dilogo contm um nico campo que deve conter uma expresso na
sintaxe da linguagem C. A expresso ento executada nos elementos do vetor de
entrada do bloco u[n], onde n a posio do elemento desejado.
Vale lembrar que se devem utilizar os colchetes ([ e ]) no lugar dos parnteses
(( e )) utilizados no MATLAB.
O bloco pode ainda utilizar como parmetro qualquer varivel previamente definida
na rea de trabalho do MATLAB. Se a varivel for um escalar, ela deve ento ser
referida pelo seu nome. Por exemplo, se h uma varivel escalar a e um vetor com
duas entradas no bloco Fcn, uma expresso vlida poderia ser a*(sin(u[1]+u[2]). Se
a varivel da rea de trabalho for um vetor ou matriz, deve-se ento utilizar para
esta varivel a sintaxe adequada ao MATLAB para se referir a esta varivel como
a(1) ou a(2,3).
Curso de Introduo ao SIMULINK
63
O bloco Fcn pode executar todas as funes matemticas escalares padres como
sin, abs, tan etc, operaes relacionais com a sintaxe da linguagem C (==, !=, >, <,
>=, <=) e as operaes lgicas ainda na sintaxe C (&& - AND lgico e | | - OR
lgico). O bloco Fcn produz sempre uma sada escalar.
4.3.1.2 - Bloco MATLAB Fcn
Este bloco mais poderoso do que o anterior pois pode executar operaes
matriciais e produzir sadas vetoriais. Em contrapartida muito mais lento do que o
bloco Fcn, sendo ento usado somente quando o bloco Fcn no for adequado.
O bloco MATLAB Fcn mostrado na figura que se segue:
A caixa de dilogo contm dois campos. O primeiro deve conter uma expresso
vlida com a sintaxe MATLAB. O valor da expresso a sada do bloco. O ensimo
elemento no vetor de entrada do bloco u(n), similar ao bloco Fcn. Se a funo
MATLAB no tiver argumentos como a da figura, a operao executada em todos
os elementos de entrada. O segundo campo especifica a dimenso do vetor de
sada. Entre com 1 se deseja que a sada tenha o mesmo tamanho da entrada.
Independentemente de se especificar explici9tamente a dimenso da sada ou de
se utilizar o valor default, a dimenso do vetor de sada com o resultado da
expresso no campo MATLAB function deve ser a mesma especificada em Output
Width.
O exemplo a seguir ilustra o uso de blocos no lineares na construo de um
modelo simples de um carro e um controle de ganho proporcional. O modelo inclui
arraste aerodinmico, a fora gravitacional na subida de rampas e ainda o vento.
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
64
Exemplo
Considere o deslocamento do automvel numa pista montanhosa como mostrado
na figura que segue:
H trs foras agindo no carro: a fora motriz produzida pelo motor do carro e
transmitida aos pneus (ou fora de frenagem se esta for negativa) (F
e
), a fora
aerodinnica (incluindo o vento) (F
w
) e a componente tangencial da gravidade
quando o carro sobe ou desce as rampas (F
h
). Aplicando a segunda lei de Newton,
a equao do movimento do automvel pode ser escrita da seguinte forma:
h w e
F F F x m & &
onde m representa a massa do automvel e x a distncia percorrida. F
e
deve ter
limites mximos e mnimos. O limite mximo a mxima fora que o motor pode
transmitir pelas rodas para a pista e o limite mnimo a mxima fora de freio.
Ento 1000 2000
e
F , sendo a massa do carro 100 N.
A fora aerodinmica o produto do coeficiente de arraste (C
D
), a rea frontal do
automvel (A) e a presso dinmica (P), onde
2
2
V
P

e representa a densidade do ar e V a soma da velocidade do automvel e do


vento (V
W
). Supondo que
001 . 0
2

A C
D
e que a velocidade do vento varia senoidalmente de acordo com a funo
) 01 . 0 sen( 20 t V
W

ento a fora aerodinmica pode ser aproximada para
2
)) 01 . 0 sen( 20 ( 001 . 0 t x F
W
+ & .
Supondo ainda que o ngulo da pista varie senoidalmente com a distncia de
acordo com a funo
) 001 . 0 sen( 0093 . 0 x .
Curso de Introduo ao SIMULINK
65
A componente tangencial da gravidade ser ento
) 0001 . 0 sen( 30 x F
h
.
O controlador utilizado ser do tipo controle proporcional com a seguinte lei de
controle
) ( x x K F
DESEJADO e C
& &
F
C
a fora do motor comandada de trao ou freio,
DESEJADO
x& a velocidade
controlada (ft/s) e K
e
o ganho de realimentao (feedback). Seguindo esta lei, a
fora comandada do motor ser proporcional ao erro de velocidade. A fora atual do
motor (F
e
), como dito antes, limitada pela fora mxima de trao e fora mxima
de frenagem. O ganho de realimentao utilizado ser K
e
= 50.
Um modelo SIMULINK para este sistema mostrado na figura que se segue:
A entrada do controlador proporcional a velocidade desejada do automvel em
m/s. Este controlador foi implementado com um bloco de ganho do tipo Slider com a
entrada ligada um valor constante. Este bloco permite que se modifique o ganho
no decorrer da simulao.
O controlador proporcional consiste de um bloco de soma (Sum) que calcula o erro
da velocidade (diferena entre a velocidade comandada e a atual) e um bloco de
ganho.
Os limites superior e inferior da fora motora so impostos utilizando blocos
MinMax. As constantes de nome Max Trao e Max Freio junto com os blocos
MinMax so utilizados para se ilustrar o uso destes blocos. Esta parte do modelo
poderia ser substituda por um bloco de Saturao (Saturation) da biblioteca
Nonlinear. (Por que o aluno no tenta faz-lo?)
As foras no lineares devidas rampa e aerodinmica so calculadas pelos
blocos Fcn. O campo Expression da caixa de dilogo do bloco de nome Fora Aero
Curso de Introduo ao SIMULINK
Cap.4 Sistemas Contnuos no Tempo
66
contm 0.001*(u[1]+20*sin(0.01*u[2]))^2. Para o bloco da fora devido ao aclive
deve ser 30*sin(0.0001*u[1]).
O bloco Display serve como um velocmetro (em m/s) e a velocidade mostrada
graficamente no osciloscpio.
Este modelo um bom exemplo de um sistema levemente rgido. Para se observar
o efeito desta rigidez, a simulao deve ser executada utilizando ODE45 e a seguir
deve ser repetida utilizando ODE15S.
Curso de Introduo ao SIMULINK
67
Captulo 5 Sistemas Discretos no Tempo
5.1 - Viso Geral
Um sistema discreto um sistema que pode ser representado utilizando equaes
de diferena e que opera com sinais discretos. Um sinal discreto pode ser
representado como uma seqncia de pulsos, como na figura.
Um sistema discreto tem como entrada um ou mais sinais discretos e produz um ou
mais sinais discretos como sada. Um sistema discreto no tempo um sistema
discreto que s permite mudanas em instantes especficos de tempo. Na maioria
dos sistemas de controle discreto os sinais no so inerentemente discretos.
Nesses sistemas, os sinais discretos so extrados de sinais contnuos por um
processo conhecido como amostragem. A figura a seguir ilustra o processo de
amostragem:
Este tipo de amostragem mostrado na figura anterior utiliza dois dispositivos: um
amostrador e um extrapolador de ordem zero (zero-order hold).
O amostrador fecha uma chave periodicamente por um instante. Cada vez que a
chave fechada, um pulso de durao muito curta (teoricamente zero) e de
magnitude igual ao sinal de entrada produzido. O espaamento entre os pulsos
o perodo de amostragem (T).
Curso de Introduo ao SIMULINK
Cap.5 Sistemas Discretos no Tempo
68
O extrapolador de ordem zero recebe este sinal e mantm na sada o ltimo valor
de sua entrada, produzindo um sinal em degraus. Um controlador discreto requer
uma seqncia de nmeros na entrada. Um conversor A/D (analgico digital)
um dispositivo que converte o sinal em degraus da sada do extrapolador de ordem
zero para uma seqncia de nmeros, representada pela seqncia de pulsos
representada na figura. A combinao do amostrador e extrapolador de ordem zero
mostrada na figura que segue com o bloco SIMULINK equivalente.
O texto se refere a sinais que variam com o tempo utilizando a notao x(t). A
notao correspondente para sinais discretos x(k), onde k o nmero ordinal do
pulso. O mapeamento do espao amostrado para o tempo contnuo
) ( ) ( kT x t x ,
onde T o perodo amostral (sampling).
5.2 - Sistemas Discretos no Tempo Lineares Escalares
Modelar este tipo de sistemas muito similar a modelar sistemas contnuos.
Modelos discreto no tempo podem usar blocos de ganho e soma da biblioteca
linear. Estes blocos se comportam da mesma maneira em sistemas discretos como
em sistemas contnuos. A biblioteca Discreta (Discrete) contm os blocos anlogos
ao integrador e funes de transferncia contnuos.
Em cada bloco discreto admite-se que h um amostrador na entrada e um
extrapolador de ordem zero na sada. Blocos discretos possuem o parmetro
adicional de configurao Sample time. Sample time pode ser tanto um valor
escalar que ser o intervalo entre as amostras quanto um vetor com dois elementos
que definem o intervalo entre as amostras e um deslocamento (offset or time skew).
Por exemplo, se o bloco tiver um intervalo de amostragem de 1.5 segundos e
nenhum offset, Sample time deve ser configurado para 1.5. Se o tempo de
amostragem for 0.75 segundos com 0.25 segundos de offset, o campo Sample
time deve conter [0.75, 0.25].
Todas os algoritmos de soluo mostrados em Simulation:Parameters Solver
options so compatveis com sistemas discretos. Uma opo especial de nome
discreto (sem estados contnuos) a melhor escolha para sistemas puramente
discretos, pois otimizada para este tipo de sistema.
5.2.1 - Atraso unitrio (Unit Delay)
Este um bloco discreto no tempo fundamental. As vezes chamado registrador de
deslocamento (shift register) ou elemento de atraso de tempo (time-delay element).
A sada do bloco atraso unitrio a entrada no instante de amostragem anterior. O
atraso unitrio representa a equao diferena:
) 1 ( ) ( k x k y
ZOH
Curso de Introduo ao SIMULINK
69
onde y a seqncia de sada e x a seqncia de entrada. A caixa de dilogo do
bloco atraso unitrio contm dois campos. O primeiro a Condio Inicial (Initial
Condition). Este campo deve conter o valor da sada do bloco no incio da
simulao. O segundo campo o Sample time.
Exemplo
Neste exemplo ser modelada a amortizao do financiamento de um automvel.
No fim de cada ms, o balano do emprstimo igual soma do balano no incio
do ms mais os juros do ms menos o pagamento do ms. Se o balano do fim do
ms for representado por b(k), o balano ser ento, no fim do ms k
) ( ) 1 ( ) ( k p k rb k b
onde r = 1 + i e i a taxa de juros mensal.
Sabe-se que o valor inicial do financiamento R$15.000,00, a taxa de juros 1% ao
ms (12% ao ano), e a mensalidade R$200,00. Calcule o valor do financiamento
para 100 pagamentos.
A figura a seguir mostra o modelo SIMULINK para este sistema.
O bloco atraso unitrio calcula b(k-1). A condio inicial deste bloco o valor total
do financiamento (15.000). O Sample time do bloco atraso unitrio deve ser 1.
Para este sistema pode-se utilizar o mtodo de passo fixo Discreto (Sem estados
contnuos), o tempo inicial deve ser 0 e o tempo final 100. Depois da simulao
executada, o bloco Display ir mostrar o valor total do financiamento.
5.2.2 - Integrador no Tempo Discreto (Discrete-Time Integrator)
A sada deste bloco uma aproximao da integral no tempo do sinal de entrada.
uma aproximao discreta do integrador contnuo. A sada do Integrador no Tempo
Discreto aproximadamente

+
Tk
k T
dt t u k y k y
) 1 (
) ( ) 1 ( ) (
onde u(t) a entrada do integrador, y(k) a sada e T o perodo de amostragem
(Sample Period).
Curso de Introduo ao SIMULINK
Cap.5 Sistemas Discretos no Tempo
70
Os campos da sua caixa de dilogo so os mesmos do integrador contnuo, com
mais dois campos adicionais. Os dois campos adicionais so Mtodo de Integrao
(Integrator method) e perodo de amostragem (Sample time).
O campo Mtodo de Integrao possui trs opes: Euler adiantado (Forward
Euler), Euler atrasado (Backward Euler) e Trapezoidal. Sendo este integrador um
bloco discreto, ele possui ento um amostrador e um extrapolador de ordem zero
como entrada. A cada passo de integrao, ele ento tem acesso a somente dois
valores de u(t): u(Tk) na entrada e u(T(k-1)) gerado por um atrasador unitrio
interno. Cada uma das trs opes nos mtodos de integrao aproxima u(t) de
maneira diferente.
5.2.2.1 - Integrao Trapezoidal
A integrao trapezoidal baseada na aproximao
2
)) 1 ( ( ) (
) (
+

k T u Tk u
t u
A integrao trapezoidal aproxima ento
2
)) 1 ( ( ) (
) 1 ( ) (
+
+
k T Tu Tk Tu
k y k y .
A funo de transferncia Z correspondente
.
) 1 ( 2
) 1 (
) (
) (

z
z T
z U
z Y
Isto est retratado a seguir
Exemplo
Considere o financiamento do automvel descrito no exemplo anterior. O balano
do financiamento pode ser calculado por

+
Tk
k T
dt p k ib k b k b
) 1 (
) ) 1 ( ( ) 1 ( ) (
Examinando o integrando, pode-se ver que o problema pode ser resolvido utilizando
a Integrao de Euler adiantado (Foward Euler Integration). A figura mostra o
Curso de Introduo ao SIMULINK
71
modelo revisado para se utilizar o integrador no tempo discreto com o mtodo de
integrao de Euler adiantado.
A condio inicial do integrador deve ser configurada para 15.000 e o perodo de
amostragem para 1. Note que neste caso, o ganho de retroao 0.01.
5.2.3 - Blocos de Funo de Transferncia Discreta
Uma funo de transferncia discreta anloga funo de transferncia contnua.
Esta funo definida como a razo da transformada Z do sinal de entrada de um
sistema pela transformada Z do sinal de sada deste sistema. A biblioteca Discreta
fornece 3 blocos que implementam funes de transferncia discreta: Filtro Discreto
(Discrete Filter), Funo de Transferncia Discreta (Discrete Transfer Fcn) e Zeros-
Plos Discretos (Discrete Zero-Pole). Estes blocos so equivalentes, diferindo
apenas nas definies dos coeficientes dos polinmios do numerador e do
denominador.
O bloco Filtro Discreto requer vetores de coeficientes dos polinmios em potncias
ascendentes de z
1
. O bloco Funo de Transferncia Discreta (Discrete Transfer
Fcn) requer vetores com os coeficientes dos polinmios em potncias descendentes
de z. Os dois blocos so idnticos, diferindo somente na maneira de se representar
a funo de transferncia no cone do bloco. O bloco Plos-Zeros Discreto
requerem vetores de zeros (numerador) e plos (denominador) da funo de
transferncia e o ganho que d dimenso da funo de transferncia.
Exemplo
Sistemas de controle freqentemente contm filtros para remover rudos em altas
freqncias dos sinais de entrada. O MATLAB possui uma Toolbox de
processamento de sinais que fornece uma grande variedade de algoritmos de
projetos de filtros. O usurio pode incluir um filtro projetado no MATLAB num
modelo SIMULINK utilizando um bloco Funo de Transferncia Discreta (Discrete
Transfer Fcn).
Suponha que se deseja projetar um sistema de controle com um rudo senoidal na
entrada e precisa-se filtrar este rudo.
O perodo de amostragem (Sampling Period) 0.1 segundo e se deseja remover
sinais com uma freqncia superior a 0.2 Hz.
Curso de Introduo ao SIMULINK
Cap.5 Sistemas Discretos no Tempo
72
A ordem de um filtro , por definio, o nmero de plos existentes na sua funo
de transferncia. importante frisar que quanto maior for a ordem de um filtro mais
a sua resposta se aproximar das curvas ideais.
A resposta Butterworth tambm e denominada resposta plana. Esta denominao
se deve ao fato de que as curvas obtidas no possuem nenhum tipo de ondulao
(ripple). A resposta plana mxima ocorre nas proximidades do ponto f=0 hz. Para o
caso desejado, um filtro Butterworth de quarta-ordem suficiente. O comando
MATLAB para o projeto butter. As seguintes linhas de comando na rea de
trabalho do MATLAB fornecem os coeficientes da funo de transferncia do filtro
Butterworth de quarta-ordem com frequncia de corte em 0.2 Hz.
>> [B,A]=butter(4,0.2)
B =
0.0048 0.0193 0.0289 0.0193 0.0048
A =
1.0000 -2.36952.3140 -1.05470.1874
O filtro pode ser testado com o modelo SIMULINK mostrado na figura:
O bloco de onda senoidal superior configurado para uma freqncia de 0.5 rad/s e
uma amplitude de 1. O bloco inferior tem freqncia 10 rad/s e amplitude 0.4 e
representa o rudo de alta freqncia indesejado.
O campo Numerador da caixa de dilogo do bloco Funo de Transferncia deve
conter o vetor [0.0048 0.0193 0.0289 0.0193 0.0048] e o denominador [1.0000
2.3695 2.3140 1.0547 0.1874]. Sample time pode ser 0.1. O modelo pode ser
configurado para um mtodo de resoluo discreto, j que no h nenhum estado
contnuo. O tempo final pode ser 20 para visualizao total da onda. O bloco Mux
cria um vetor contendo o sinal antes e depois da filtragem. Com a opo Salvar
dado para a rea de trabalho (Save data to workspace) assinalada no osciloscpio
os sinais exibidos na tela do mesmo podem ser plotados de maneira mais legvel
com o comando plot do MATLAB. Os comandos necessrios para isto so listados a
seguir:
>> t = ScopeData(:,1);
>> y_raw = ScopeData(:,2);
>> y_filt = ScopeData(:,3);
>> subplot(2,1,1)
Curso de Introduo ao SIMULINK
73
>> plot(t,y_raw);
>> title(Sinal sem filtragem)
>> grid
>> subplot(2,1,2)
>> plot(t,y_filt);
>> title(Sinal filtrado)
>> xlabel(Tempo (s))
>> grid
5.3 - Blocos Lgicos
Os blocos Operador Lgico e Lgica Combinacional so encontrados na biblioteca
Nonlinear e so muito utilizados na modelagem de sistemas discretos. No
possuem amostradores na entrada e nem extrapolador de ordem zeros na sada.
Apesar de poderem trabalhar com modelos contnuos, so mais comumente
utilizados em modelos discretos no tempo.
O bloco operador lgico pode ser configurado para executar qualquer operao
lgica: E (AND), OU (OR), NO (NAND), NO OU (NOR), OU EXCLUSIVO (XOR)
ou NO(NOT). Este bloco pode ser configurado para ter qualquer nmero de
entradas. Se os sinais de entrada forem vetores, todas as entradas devem ter o
mesmo tamanho e a sada tambm ser um vetor.
Curso de Introduo ao SIMULINK
Cap.5 Sistemas Discretos no Tempo
74
O bloco Lgica Combinacional implementa uma tabela verdade. A entrada deste
bloco um vetor de n elementos. A tabela verdade deve ter 2
n
linhas, arranjadas de
modo que os valores de uma linha de entrada fornea um ndice tabela. Ento se
houver somente uma entrada, deve haver ento duas linhas, a primeira
correspondendo entrada de 0 e a segunda entrada de 1. Se houver duas
entradas, deve existir ento quatro linhas na tabela.
Nos parmetros do bloco, Tabela Verdade (Truth table) consiste de um ou mais
vetores coluna, no qual cada linha representa a sada correspondente ao ndice da
linha. Cada coluna na tabela verdade produz uma sada diferente e um nico bloco
Lgica Combinacional pode implementar mltiplos operadores lgicos. A sada do
bloco no deve conter somente 0 ou 1, qualquer nmero aceitvel.
Exemplo
Deseja-se implementar as trs expresses que seguem utilizando blocos de Lgica
Combinacional e de operadores lgicos, comparando as duas respostas.
Expresso Equivalente
a NO a (NOT a)
ab
a E b (a AND b)
bc ab +
(a AND b) OR (b AND c)
(a AND b) OU (b E c)
A tabela verdade para a mostrada a seguir. O parmetro Tabela Verdade
equivalente do bloco Lgica Combinacional a sada da coluna, [1;0]. Um modelo
SIMULINK que implementa esta expresso usando ambos os tipos de blocos
mostrado na figura abaixo:
A tabela verdade para ab mostrada ao lado da figura do modelo implementado.
Note que se escolhermos a como coluna da esquerda, o vetor de entrada deve ser
[a,b]. O parmetro Tabela Verdade a coluna de sada da tabela mostrada, ou seja,
[0;0;0;1]. O vetor de entrada composto utilizando um Mux na entrada com os
componentes em ordem [a,b].
a Sada
0 1
1 0
Curso de Introduo ao SIMULINK
75
A expresso lgica final bc ab + tem a tabela seguinte tabela verdade:
O parmetro Tabela Verdade deve conter o vetor coluna [0;0;0;1;0;0;1;1].
5.4 - Sistemas Discretos no Tempo Vetoriais
O conceito de Espao de Estados discutido no captulo anterior tambm muito
utilizado em sistemas discreto no tempo. Assim como as variveis de estado em
sistemas contnuos representam derivadas ou combinaes lineares de derivadas,
as variveis de estado em sistemas discretos representam pores de seqncias
ou combinaes de seqncias. A equao discreta equivalente a forma geral de
um modelo discreto de Espao de Estado de um sistema dinmico:
) , , ( ) 1 ( k u x f x + k
onde x, como antes o vetor de estado e u o vetor de entrada. A equao de
sada correspondente
) , , ( ) ( k u x g y k
A notao matricial para sistemas discretos lineares similar ao modelo para
sistemas contnuos. As mesmas 4 matrizes (matriz de sistema, matriz de entrada,
matriz de sada e matriz de transmisso direta) so utilizadas. As equaes de
sistema passam a ser ento:
a b Sada
0 0 0
0 1 0
1 0 0
1 1 1
a b c Sada
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Curso de Introduo ao SIMULINK
Cap.5 Sistemas Discretos no Tempo
76
) ( ) ( ) 1 ( k k k Bu Ax x + +
e a equao de sada:
) ( ) ( ) ( k k k Du Cx y + .
Uma vez obtida a equao no espao de estados, o modelo do sistema pode ento
ser implementado no SIMULINK utilizando o bloco Espao de Estado Discreto
encontrado na biblioteca Discreta. O uso deste bloco anlogo ao bloco Espao de
Estado discutido no captulo anterior.
Exemplo
Este exemplo consiste em desenvolver matrizes no Espao de Estado para uma
sistema descrito pela funo de transferncia
) ( ) 1 ( 2 ) ( ) 1 ( k u k y k y k y + + .
As variveis de estado definidas so
) 1 ( ) (
1
k y k x
) ( ) (
2
k y k x
As equaes de estado so
) ( ) 1 (
2 1
k x k x +
) ( ) ( 2 ) ( ) 1 (
1 2 2
k u k x k x k x + +
Na forma matricial tem-se
u k
1 2
1 0
1) (k
1
]
1

+
1
]
1

+
1
0
) ( x x .
A matriz de sistema ento
1
]
1

1 2
1 0
A
e a matriz de entrada
1
]
1

1
0
B .
J que no h transmisso direta, D zero. Se a sada y(k), ento
[ ] 1 0 C .
Curso de Introduo ao SIMULINK
77
5.5 - Sistemas Discretos com Diferentes Taxas de Amostragem
Simultneas
Muitos sistemas discretos envolvem subsistemas que operam em diferentes taxas
(rates), e com diferentes fases. Por exemplo, um computador comum tem
numerosos subsistemas discretos como a unidade central de processamento, as
controladoras de interface serial e paralela, os drives, as controladoras de vdeo e
ainda dispositivos de entrada como teclado e mouse.
Modelos de sistemas de comunicao e processamento de sinais consistem de
subsistemas que operam em diferentes taxas (rates). Modelar sistemas multi-taxas
discretos com o SIMULINK muito similar modelar sistemas com uma nica taxa.
evidente que sistemas multi-taxas requerem uma ateno especial nos valores de
tempos de amostragem e de offsets.
O SIMULINK utiliza cores diferentes para diferentes taxas, o que de muito ajuda
em sistemas multirate. Ele codifica em cores automaticamente as linhas de sinal
correspondente pelo menos cinco taxas de amostragem diferentes. Para ativar
esta funo clica-se no menu Format:Sample time colors na barra de menu. Se
for feita alguma mudana no modelo aps se ativar esta funo, deve-se ento
clicar em Edit:Update Diagram para atualizar as cores. A tabela a seguir lista as
cores disponveis e seus significados:
Cor Significado
Preto Blocos Contnuos
Magenta Blocos Constantes
Amarelo Hbridos (vrios Sample times ou blocos contnuos e
discretos juntos)
Vermelho Taxa de amostragem mais rpida
Verde Segunda taxa mais rpida
Azul Terceira taxa mais rpida
Azul Claro Quarta taxa mais rpida
Verde Escuro Quinta taxa mais rpida
Ciano Taxas de amostragem disparadas (usado com
subsistemas disparveis)
Blocos inerentemente contnuos no tempo (como integradores) e blocos
inerentemente discretos (como o atraso unitrio) so assinalados com cores dadas
pela tabela. Linhas de sinal e blocos que no sejam inerentemente nem contnuos
nem discretos (como ganho) so assinalados com as cores que se baseiam nas
taxas de amostragem dos sinais em suas entradas. Assim, se uma linha de sinal
vem da sada de um integrador, esta ser preta. Se por ela passar um sinal vindo de
um bloco atraso unitrio, sua cor vai depender da taxa de amostragem do bloco
Curso de Introduo ao SIMULINK
Cap.5 Sistemas Discretos no Tempo
78
atraso unitrio. Se a entrada de um bloco como o de soma consistir de vrios sinais
com taxas de amostragem de todos os sinais mltiplos inteiros da taxa de
amostragem mais rpida, a bloco recebe ento a cor correspondente ao sinal mais
rpido. Se os tempos de amostragem no forem mltiplos inteiros do sinal mais
rpido, o bloco recebe a cor preta.
Somente os cinco sinais com taxas de amostragem mais rpidas recebem cores
prprias. Se houver mais de cinco sinais com diferentes taxas de amostragem,
todos os blocos alm do 5
o
recebero a cor amarela.
Exemplo
Sistemas de controle para processamento discreto freqentemente operam com
freqncias menores que a freqncia de atualizao do processo, respeitando as
limitaes da velocidade do computador. Sistemas de visualizao usualmente so
atualizados numa freqncia suficientemente baixa para que a visualizao seja
legvel. Como um exemplo simples de um sistema multi-taxa, supe-se que algum
processo a ser controlado comporta-se de acordo com as seguintes equaes
discretas no espao de estados:
) ( 1 . 0 ) ( ) 1 (
2 1 1
k x k x k x + +
) ( ) ( 094 . 0 ) ( sen 05 . 0 ) 1 (
2 1 2
k u k x k x k x + + +
onde u(k) a entrada. O processo possui um tempo de amostragem de 0.1
segundo. O processo ser controlado utilizando um controle proporcional com um
tempo de amostragem de 0.25 segundos, e atualizao do dispositivo de
visualizao de 0.5 segundo. Um modelo SIMULINK deste sistema mostrado na
figura que se segue.
Os blocos na seo do modelo com linhas de sinal vermelho esto configurados
para um tempo de amostragem de 0.1 segundos. Esta seo representa o processo
dinmico.
Curso de Introduo ao SIMULINK
79
A seo com linhas de sinal verde o controlador. Este o controlador
proporcional. O bloco Extrapolador de ordem zero faz com que o controlador
atualize o sinal em intervalos de 0.25 segundos. O controlador produz um sinal de
sada que proporcional diferena entre o setpoint (0.75) e o valor de entrada do
bloco Extrapolador de ordem zero (x
1
) no tempo de amostragem mais recente.
A seo com linhas de sinal azul o dispositivo de visualizao, aqui um bloco
osciloscpio. O bloco Extrapolador de ordem zero nesta seo est configurado
para um tempo de amostragem igual a 0.5 segundo.
Executando a simulao, obtm-se o seguinte resultado:
5.6 - Sistemas hbridos
Sistemas hbridos consistem de componentes discretos e contnuos. O sistema
hbrido mais comum o processo fsico controlado por lgica discreta ou um
computador. Modelar sistemas hbridos no SIMULINK simples, como ilustrado no
exemplo a seguir.
Exemplo
Para ilustrar a construo de um modelo hbrido proposto substituir o controlador
contnuo de um exemplo anterior por um controlador proporcional-integral-derivativo
(PID) discreto, com um tempo de amostragem de 0.5 segundos.
Curso de Introduo ao SIMULINK
Cap.5 Sistemas Discretos no Tempo
80
A figura ilustra um controlador PID contnuo.
O controlador consiste de 3 sees, as quais operam com a diferena (v) entre o
sinal de sada do processo a controlar e o valor de offset.
A seo proporcional produz um sinal proporcional diferena entre o valor
desejado e a sada do sistema no valor atual. A sada proporcional ento
v K u
p p

A seo integral do controlador PID tem por objetivo reduzir o erro estacionrio.
Este componente produz uma sada que proporcional integral no tempo do sinal
de erro:

t
i i
vdt K u
0
Um problema com a seo integral que se a resposta do processo a variao do
sinal de entrada (u) for relativamente lenta, u
i
pode crescer rapidamente. Este
fenmeno chamado wind-up. O Wind-up pode ser evitado adicionando limites
inferior e superior ao valor de u
i
.
A seo derivativa proporciona amortecimento. Sua sada proporcional a taxa de
mudana dev& :
v K u
d d
&
Num controlador PID discreto substitui-se a seo integral por um integrador
discreto e a seo derivativa por uma aproximao discreta da derivada. Um
aproximao numrica de primeira ordem da derivada
T
k v k v
k u
d
) 1 ( ) (
) (

A funo de transferncia da aproximao da derivada

,
_

z
z
T
K
z V
z U
d d
1
) (
) (
Curso de Introduo ao SIMULINK
81
A figura a seguir mostra o modelo SIMULINK de um automvel utilizando um
controlador PID discreto com K
p
= 50, K
i
= 0.75 e K
d
= 75.
O modelo idntico ao modelo do exemplo anterior, com exceo do controlador. A
parte proporcional consiste de um bloco Extrapolador de ordem zero e um bloco
ganho proporcional. O ganho proporcional (50) neste controlador o mesmo
utilizado anteriormente no controlador proporcional contnuo.
A parte integral do controlador PID consiste de um Integrador no tempo discreto e
um bloco de ganho (0.75). Este bloco Integrador no tempo discreto deve ser
configurado para trabalhar com limites inferior e superior para a sada em t 100. Isto
feito clicando-se na opo Limite de Sada (Limit Output).
A parte derivativa do controlador construda utilizando um bloco Funo de
Transferncia Discreta e um bloco de ganho (75).
Neste exemplo a simulao foi configurada para um tempo final de 1000 segundos
e o ganho Slider foi ajustado para uma velocidade de 80 m/s. O osciloscpio deve
produzir ento a seguinte imagem:
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
82
Captulo 6 Subsistemas e Mscaras
6.1 - Subsistemas SIMULINK
A maioria de linguagens de programao utilizados em engenharia incluem a
capacidade de se utilizar subprogramas. Em FORTRAN existem subrotinas e
subprogramas funes. Em C, os subprogramas so chamados funes,
subprogramas MATLAB funes em arquivo M. O SIMULINK possui uma utilidade
semelhante chamado subsistemas. Duas grandes razes para se utilizar
subprogramas so a abstrao dos detalhes e a reutilizao do software.
A medida que os modelos crescem e ficam complexos, tendem a ficar difceis de se
entender e executar manuteno. Subsistemas resolvem este problema fazendo
que um complexo e grande modelo em grupos hierrquicos de modelos menores.
Como um exemplo tem-se o modelo do automvel j utilizado em exemplos
anteriores. O modelo SIMULINK mostrado na figura que segue.
Este modelo consiste basicamente em duas partes: A dinmica do automvel e o
controlador. Examinando o modelo, no to claro determinar quais blocos
representam a dinmica do automvel e quais representam o controlador. Na figura
seguinte, foi feita a converso das partes do automvel e do controlador em
subsistemas. Nesta verso, a estrutura conceitual clara, mas os detalhes do
controlador e da dinmica do automvel esto escondidas nos subsistemas. Esta
estrutura hierrquica um exemplo da abstrao do software.
Curso de Introduo ao SIMULINK
83
Subsistemas podem tambm ser vistos como componentes reutilizveis de modelos
futuros. Suponha que se deseja comparar as diferenas de projetos de
controladores utilizando o mesmo modelo de dinmica do automvel. Ao invs de
se construir um modelo completo cada vez que se utiliza um controlador muito
mais conveniente construir somente a parte do modelo referente ao controlador. Isto
no s economiza um tempo considervel mas garante ao usurio que ele est
usando exatamente a mesma dinmica do automvel. Uma vantagem importante na
reutilizao do software a de que uma vez o sistema verificado funcionando
corretamente, no necessrio repetir os testes e o processo de debugg cada vez
que o subsistema for usado em um novo modelo.
Existem dois mtodos de construir subsistemas SIMULINK. O primeiro mtodo
encapsular uma parte de um sistema j existente em um modelo pelo menu
Edit:Create Subsystem. O segundo mtodo utilizar um bloco Subsistema
(Subsystem) da biblioteca de Conexes (Connections). Os dois mtodos sero
discutidos.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
84
6.1.1 - Encapsulando um Subsistema
Para encapsular uma parte de um sistema SIMULINK j existente em um
subsistema, deve-se proceder da seguinte forma:
Selecione todos os blocos e linhas de sinal a serem includos no subsistema usando
uma caixa de contorno com o mouse. Freqentemente necessrio rearranjar
alguns blocos para que a caixa inclua somente os blocos desejados para o
subsistema.
Clique em Edit:Create Subsystem na barra de menu da janela do modelo. O
SIMULINK ir ento substituir os blocos selecionados por um bloco Subsistema com
entrada e sada para cada sinal de entrada ou sada.
O SIMULINK dar nomes default s portas de entrada e sada. Redimensione ento
o bloco para que os nomes das portas sejam legveis e rearranje o modelo da
maneira desejada.
Curso de Introduo ao SIMULINK
85
Para visualizar ou editar o subsistema deve-se dar um duplo clique no bloco. Uma
nova janela se abrir e o seu contedo ser o subsistema. Alm dos blocos originais
surgiro blocos Inport e Outport nos terminais de entrada e sada. Mudando o nome
destes blocos, pode-se mudar os nomes das entradas no cone do bloco. Feche
ento a janela quando terminar a edio do subsistema.
O comando Edit:Create Subsystem no possui a operao inversa. Uma vez
encapsulado um grupo de blocos em um subsistema, no h como reverter o
processo. Por isso sempre uma boa idia salvar o modelo antes de criar o
subsistema. Se o usurio decidir que no deve aceitar o novo formato para seu
sistema, deve ento fechar a janela atual e abrir aquela salva antes de executada a
operao de encapsulamento. Para se reverter manualmente este processo pode-
se selecionar todos os blocos contidos no subsistema e copi-los para uma nova
janela ou para a janela original do modelo.
6.1.2 - Blocos de Subsistema
Se ao se construir um modelo o usurio souber que ir precisar de um subsistema,
conveniente construir o subsistema diretamente numa janela. Isto elimina a
necessidade de se rearranjar os blocos que iro compor o subsistema de modo a
enquadr-los no espao disponvel. Isto permite que o usurio inicie a construo
do modelo aps o subsistema ser encapsulado.
Para criar um subsistema utilizando um Bloco Subsistema, inicialmente se deve
arrastar um destes blocos da biblioteca de Conexes (Connections). A seguir, com
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
86
um duplo clique sobre ele abre-se a janela do subsistema. Nesta janela deve-se
construir o subsistema utilizando os procedimentos padres para construo de
modelos. Utiliza-se blocos Inport para os sinais de entrada do sistema e blocos
Outport para os sinais de sada. Se desejado, pode-se mudar os nomes destes
blocos para identificar a finalidade de cada entrada e sada. Pode-se agora fechar o
subsistema quando este estiver concludo. No necessrio salv-lo antes de
fechar, pois o subsistema parte do modelo e salvo toda vez que o modelo for
salvo.
Exemplo
Suponha que se deseja modelar um sistema massa-mola composto de carros
conectados como mostra a figura a seguir.
O modelo ser construdo a partir de blocos subsistemas que iro modelar cada
carro, como na figura:
A equao do movimento para um carro :
( ) ( ) [ ]
1 1 1
1
+ +
+
n n n n n n
n
n
x x k x x k
m
x& &
Utilizando o procedimento discutido anteriormente, constri-se o subsistema
mostrado na figura.
Curso de Introduo ao SIMULINK
87
Este subsistema ir modelar o carro 1. As entradas de um nico carro so
1 n
x
(posio do carro da esquerda) e
1 + n
x (posio do carro da direita). A sada do
subsistema
n
x (posio do carro). Deve-se notar que cada mola est relacionada
a dois blocos tipo subsistema, ao da esquerda e ao da direita da mola.
Estando o subsistema completo, pode-se fechar sua janela. A seguir necessrio
fazer duas cpias do bloco subsistema e conect-las como na figura:
Neste caso conveniente entrar com as constantes da mola (k1, k2 e k3) e as
massas dos carros (m1, m2 e m3) como variveis MATLAB, e determinar seus
valores utilizando um arquivo .m do MATLAB (nomeado set_x4a.m). A figura a
seguir ilustra as linhas de comando que devem constar no arquivo:
% Configura as constantes das molas e as massas dos carros
k1 = 1;
k2 = 2;
k3 = 4;
m1 = 1;
m2 = 3;
m3 = 2;
Este arquivo deve ser executado na rea de trabalho do MATLAB antes da
execuo da simulao. Note que o arquivo tem a extenso .m e deve ter um nome
diferente daquele do modelo SIMULINK. Por exemplo, se o modelo SIMULINK for
designado por exemp_1.m, o MATLAB ir abrir o modelo SIMULINK quando voc
digitar o comando exemp_1 na rea de trabalho do MATLAB.
Os parmetros dos blocos de cada cpia do subsistema devem ser agora
configurados. Para o carro 1, o valor do ganho do bloco de ganho Mola da Esquerda
deve ser k1 e o do bloco de ganho Mola da Direita k2. A seguir, o bloco 1/massa
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
88
deve ser configurado para ter o ganho 1/m1. A velocidade inicial deve ser 0 e a
posio inicial 1.
Para o carro 2, o valor de ganho para o bloco Mola da Esquerda deve ser k2 e o do
bloco Mola da Direita k3. O ganho do bloco 1/massa deve ser 1/m2. A velocidade
inicial deste bloco 0 e a posio inicial tambm 0.
Para o carro 3, o valor de ganho do bloco Mola da Esquerda deve ser k3 e o bloco
Mola da Direita 0, j que no h mola direita deste carro. O ganho do bloco
1/mass deve ser 1/m3. A velocidade inicial configurada para 0 e a posio inicial
0.
O bloco osciloscpio deve ser configurado para salvar os dados mostrados para a
rea de trabalho do MATLAB, com o tempo inicial 0 e o final 100. Aps executar a
simulao, os dados do osciloscpio podem ser plotados no MATLAB, resultando
na trajetria do carro 3 mostrado logo a seguir:
6.2 - Blocos com Mscara
Mascarar blocos uma capacidade do SIMULINK que estende o conceito de
abstrao. Mscaras permitem ao usurio tratar um subsistema como um bloco
simples. Um bloco com mscara deve ter um cone prprio, e uma caixa de dilogo
com parmetros de configurao para entrada de dados assim como os blocos das
bibliotecas do SIMUKLINK. Os parmetros de configurao devem ser usados
diretamente para inicializar os blocos pertencentes ao subsistemas, ou ento
utilizados para calcular dados para inicializar os blocos.
Para se entender os conceitos de mscaras, considere o modelo mostrado na
figura:
Curso de Introduo ao SIMULINK
89

Este modelo equivalente ao modelo do exemplo anterior, porm muito mais fcil
de se entender. Um clique duplo no bloco de nome Massa-Mola 1 abre a caixa de
dilogo mostrada. Ao invs de se abrir a caixa de dilogo de cada bloco de ganho e
cada integrador para configurar os parmetros, o usurio pode entrar com todos os
parmetros do subsistema com a caixa de dilogo do prprio subsistema.
Esta seo explica os passos para se criar um subsistema com mscara. Os
exemplos iro mostrar como criar um subsistema massa-mola com mscara.
Exemplos adicionais ilustraro outras caractersticas de mscaras.
O processo de produo de um bloco com mscara pode ser resumido em:
1. Construir um subsistema como j discutido.
2. Selecionar o bloco subsistema e clica-se em Edit:Create Mask na barra de
menu do modelo.
3. Utilizar o editor de mscara (Mask Editor) para configurar a documentao da
mscara, a caixa de dilogo e opcionalmente um cone prprio para o bloco.
6.2.1 - Convertendo um Subsistema em um Sistema com Mscara.
O primeiro passo na criao de um subsistema com mscara criar um subsistema
utilizando procedimentos descritos anteriormente. Para ilustrar o processo, ser
construdo um bloco Massa-Mola com mscara a partir de um dos subsistemas no
modelo do exemplo anterior.
Abra o modelo do exemplo anterior. A seguir, abra uma nova janela de modelo.
Arraste uma cpia do bloco Massa-Mola 1 para a nova janela de modelo.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
90
Selecione o bloco e clique em Edit:Create Mask na barra de menu do modelo.
A caixa de dilogo do editor de mscara ir aparecer. Note que o editor de
mscaras tem trs pginas. Cada pgina ser discutida em subsees.
Antes de continuar, deve-se salvar o modelo utilizando o nome spm_msk.
Curso de Introduo ao SIMULINK
91
6.2.2 - Pgina de Documentao do Editor de Mscaras
A pgina de documentao mostrada na figura a seguir contm trs campos. Todos
os campos nesta pgina so opcionais.
Aps preencher os trs campos, clique em Close. A partir deste momento, um duplo
clique no bloco Massa-Mola ir abrir a caixa de dilogo mostrada na figura. Pode-se
retornar ao editor de mscaras clicando em Edit:Edit Mask na barra de menu.
Cada campo desta pgina ser detalhado a seguir.
6.2.2.1 - Campo Tipo de Mscara
O contedo deste primeiro campo ser mostrado no ttulo da caixa de dilogo do
bloco com mscara. Deve-se notar que h dois ttulos na parte superior esquerda
da caixa. O nome na barra de ttulo o nome do bloco selecionado. O nome na
parte interna da caixa o tipo do bloco.
6.2.2.2 - Campo Descrio do Bloco
O segundo campo mostrado na rea interna da caixa. Este campo deve conter
uma breve descrio do bloco, seu propsito e qualquer lembrete necessrio
utilizao do bloco.
6.2.2.3 - Bloco de Auxlio (Help)
O contedo do terceiro campo ser mostrado pelo help do MATLAB quando o boto
de help do bloco for pressionado. Este campo deve conter informaes detalhadas
a respeito do uso, configurao e limitaes do bloco com mscara e dos
subsistemas internos ao bloco.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
92
6.2.3 - Pgina de Inicializao do Editor de Mscara
A pgina de inicializao usada para configurar parmetros do bloco e dos
subsistemas internos ao bloco.
Esta pgina pode ser dividida em trs sees.
A primeira contm o campo Mask Type.
A seo central contm um grupo de campos que definem os campos na caixa de
dilogo do bloco, a varivel local correspondente a cada campo.
A seo inferior contm o campo Comandos de Inicializao. Este campo deve ser
usado para definir variveis adicionais para configurar parmetros na caixa de
dilogo ou na pgina de cone, discutida mais tarde.
6.2.3.1 - Campo Tipo de Mscara
A parte superior desta pgina contm o campo Tipo de Mscara, que idntico ao
campo de mesmo nome na pgina Documentao. Este campo pode ser definido
ou editado nesta pgina, ou em outras pginas do editor de mscara. Modificando
em qualquer pgina, a mudana ser feita em todas as outras pginas.
6.2.3.2 - Seo de Prompt da Caixa de Dilogo do Bloco
A seo central desta pgina usada para criar, editar e deletar campos da caixa
de dilogo que se abre quando se d um duplo clique no bloco. Contm uma lista
dos campos contidos na caixa, botes para adicionar, deletar e mover campos e
ainda mais cinco campos usados para configurar a caixa de dilogo.
Para adicionar o primeiro campo no bloco Massa-Mola deve-se seguir os passos:
Curso de Introduo ao SIMULINK
93
Selecione o bloco e abra o editor de mscara clicando em Edit:Edit Mask na barra
de menu do modelo.
Clique em <<end of parameter list>> e a seguir clique em Add
Uma linha em branco ser inserida na lista de parmetros.
No campo Prompt digite: Constante da mola da esquerda.
No campo Variable field digite: k_esquerda. Note que o prompt e o nome da varivel
aparecem na lista de parmetros.
Clique a seguir em Close. Com um duplo clique no bloco Massa Mola a caixa de
dilogo ir abrir contendo agora o campo para a entrada da varivel k_esquerda.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
94
Acrescente agora as variveis massa com o prompt Massa, k_direita com o prompt
Constante da Mola Direita, x0 com o prompt Posio Inicial e x_dot0 com o prompt
Velocidade Inicial.
Estes passos completam o processo de criao dos campos da caixa de dilogo
dos blocos. Os resultados podem ser vistos com um duplo clique no bloco.
Os botes e campos desta pgina sero agora discutidos com mais detalhes.
H quatro botes esquerda da lista. Estes botes so usados para adicionar,
apagar e reorganizar a caixa de dilogo. Para criar um novo prompt deve-se clicar
na posio em que se deseja que a nova varivel seja criada antes anteriormente
esta posio. Se o novo prompt deve ser criado no fim da caixa de dilogo basta
clicar em <<end of parameter list>> e a seguir clicar em Add. Uma linha em branco
ir aparecer na lista. O boto Delete apaga a linha selecionada. Os botes Up e
Down so utilizados para mover as linhas para se encontrar a disposio adequada
dos campos na caixa de dilogo.
Curso de Introduo ao SIMULINK
95
O campo Control type uma lista que contm trs opes: Edit, Checkbox e
Popup. Edit produz um campo de entrada de dados. o tipo de campo mais
comum. Checkbox produz um campo que possui somente duas possibilidades de
valores, dependendo da condio da caixa, se est selecionada ou no. Popup
produz uma lista de escolhas contidas no campo Popup strings.
O valor atribudo varivel interna associada com o campo na caixa de dilogo do
bloco depender do contedo do campo Assignment. Deve ser configurado como
Evaluate ou Literal. Se a primeira opo for a escolhida, a varivel associada com o
campo ir conter o valor da expresso no campo. Por exemplo, se o campo contiver
k1 e esta varivel for definida na rea de trabalho do MATLAB com o valor 2.0, a
varivel associada com este campo ir assumir o valor 2.0. Se for escolhida a
segunda opo, a varivel associada com o campo assumir a string k1.
Escolher Checkbox no campo Control type produz uma caixa de checagem na caixa
de dilogo. A varivel associada ir assumir dois valores dependendo da escolha
feita em Assignment. Se a escolha for Evaluate a varivel poder assumir 0 se a
caixa no for marcada ou 1 se a caixa for marcada. Se a escolha for Literal a
varivel poder ento assumir no se a caixa no for marcada ou yes se a caixa
for marcada.
Exemplo
Suponha que se deseje configurar um subsistema com mscara de tal forma que
sua caixa de dilogo possua uma caixa de checagem permitindo especificar as
entradas angulares em graus ou radianos. O valor da varivel associada com a
caixa (c_stat) deve ser 0 se a caixa no for marcada e 1 se a caixa for marcada. A
figura que se segue mostra como deve ser a pgina de inicializao para produzir o
efeito desejado.
Neste exemplo o campo Mask type contm Exemplo Check box e o campo Block
description Este bloco ilustra uma opo em check box.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
96
Se o campo Control type for configurado para Popup, o campo Popup strings
usado para definir uma lista de escolhas. A varivel associada ao campo ir assumir
um valor dependendo da escolha em Assignment.
Se Assignment for configurado para Evaluate, a varivel associada ao campo
assumir o nmero ordinal selecionado. Se, por exemplo, for selecionada a primeira
opo, o valor da varivel ser 1. Se a escolha for a segunda opo, a varivel
assumir ento 2. Se Assignment for configurado para Literal, a varivel ir conter o
valor correspondente opo selecionada.
A lista de opes deve estar no campo Popup strings. As opes devem ser
digitadas em seqncia separados por |. Por exemplo se as opes forem muito
quente, quente, morno, frio e gelado, no campo Popup strings deve conter Muito
quente | Quente | Morno | Frio | Gelado.
Exemplo
Suponha que se deseja agora criar um bloco com mscara que produza um sinal de
sada definido numa lista que contenha as opes Muito quente, Quente, Morno,
Frio e Gelado.
Inicialmente abre-se uma nova janela de modelo e arrasta-se um bloco Constante
para a janela do modelo. Seleciona-se ento o bloco e clicando a seguir em
Edit:Create Subsystem na barra de menu da janela. Seleciona-se agora o
subsistema e clicando em seguida em Edit:Create Mask. O campo Mask type deve
conter exemplo Popup e Block description: Este bloco ilustra a opo Popup.
Configura-se ento a pgina de Inicializao do editor de mscara como mostra a
figura:
A seguir, com um duplo clique no bloco, abre-se a caixa de dilogo. Clicando na
caixa de opo pode-se selecionar a escolha desejada.
Curso de Introduo ao SIMULINK
97
6.2.3.3 - Comandos de Inicializao
A seo inferior da pgina de inicializao o campo Initialization commands. Este
campo pode conter uma ou mais declaraes na sintaxe do MATLAB que atribuem
valores a variveis do MATLAB usadas para configurar blocos no subsistema com
mscara. Nas declaraes podem ser usados quaisquer operadores do MATLAB,
funes internas ou externas e funes de controle de fluxo como if,while e end. O
grupo de variveis utilizadas neste campo so locais; variveis definidas na rea de
trabalho do MATLAB no so acessveis neste campo.
O campo Initialization commands mostra inicialmente 4 linhas mas pode conter o
qualquer nmero de linhas que seja necessrio. Pode-se navegar pelas linhas
utilizando as teclas do cursor.
Cada comando neste campo deve ser terminado por um ponto-e-vrgula ( ; ). Se for
omitido, em um comando, o resultado deste comando ser mostrado na rea de
trabalho do MATLAB cada vez que o comando for executado. Isto pode ser
conveniente para a depurao na execuo da simulao.
Exemplo
O cone do bloco Massa-mola necessita de duas rodas. Para preparar o desenho
das rodas, deve-se criar dois vetores, um contendo as coordenadas x de um
pequeno crculo e outro as coordenadas y. Estas variveis sero usadas na
Pgina cone (Icon Page) para desenhar as rodas.
6.2.3.4 - Configurando os Blocos do Subsistema
Os blocos no subsistema com mscara devem ser configurados para o uso de
variveis definidas na pgina de inicializao. Para configurar os blocos no
subsistema Massa-Mola, seleciona-se o subsistema, a seguir escolhe-se Edit:Look
Under Mask na barra de menu da janela do modelo. Com um clique duplo no bloco
de ganho de nome Mola Esquerda, e configura-se o ganho para k_esquerda.
Repete-se o procedimento para o bloco Mola Direita, com o ganho k_direita, assim
como o bloco 1/mass para 1/mass. A condio inicial para o integrador Velocidade
deve ser x_dot0 e do integrador Posio x0.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
98
O subsistema deve agora estar semelhante ao mostrado a seguir. Deve-se agora
fechar a janela do subsistema e salvar o modelo.
6.2.3.5 - Variveis Locais
Uma diferena importante entre subsistemas com e sem mscara est no conjunto
de variveis na caixa de dilogo para os blocos do subsistema.
Blocos em subsistemas sem mscara podem usar qualquer varivel MATLAB
definida na rea de trabalho do MATLAB. Esta caracterstica usada para inicializar
subsistemas como no primeiro exemplo deste captulo. Os blocos em subsistemas
com mscara no podem acessar variveis da rea de trabalho do MATLAB. Um
bloco num subsistema com mscara possui suas prprias variveis com nomes
prprios, independentes da rea de trabalho do MATLAB e qualquer outro
subsistema num modelo SIMULINK. Isto uma caracterstica extremamente valiosa
de subsistemas com mscaras, pois elimina a possibilidade de conflitos de nomes
no intencionais.
As variveis internas de um subsistema com mscara so criadas e assumem
valores definidos no Editor de Mscaras usando comandos de inicializao. Cada
campo define uma varivel interna acessvel somente no subsistema. As variveis
internas adicionais devem ser definidas no campo Initalization Commands na pgina
de inicializao.
As conexes entre a rea de trabalho do MATLAB e um subsistema com mscara
so o contedo dos campos das caixas de dilogo dos blocos contidos no
subsistema. Um campo de entrada numa caixa de dilogo deve conter constantes
ou expresses usando variveis definidas na rea de trabalho do MATLAB. O valor
deste contedo atribudo varivel interna associada a este campo. Esta varivel
interna pode ser usada para definir outras variveis internas no campo Initialization
Commands.
O modelo Massa-mola com trs carros mostrado anteriormente possui subsistemas
configurados como mostrado na figura anterior. A constante da mola para a mola da
esquerda em cada instante definida como k_esquerda. Porm, o contedo do
campo k_esquerda em cada caso diferente. No primeiro bloco este valor assume
k1. k_esquerda para o segundo bloco deve ser k2 e o terceiro bloco deve ser k3.
Curso de Introduo ao SIMULINK
99
Exemplo
Para ilustrar o uso de variveis internas num subsistema com mscara, considere a
atribuio de um valor constante da mola direita no subsistema do carro. Na caixa
de dilogo, o campo Constante da Mola da Direita est associado varivel interna
k_direita. Na figura que se segue tm-se o bloco Ganho de nome Mola da Direita
configurado como k_direita. Quando os comandos j mencionados forem
executados na rea de trabalho, o valor do ganho para o bloco de ganho Mola da
Direita assume o valor particular de 2.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
100
Exemplo
Para o subsistema com mscara do exemplo das temperaturas, deseja-se
configurar o valor da varivel temp_val como a seguir:
Opo do Menu Temp_val
Muito quente 120
Quente 100
Morno 85
Frio 70
Gelado 50
Para executar esta tarefa, deve-se inserir os seguintes comandos no campo
Initialization Commands.
temp_list = [120,100,85,70,50];
temp_val = temp_list(temp_des);
A primeira linha de comando cria um vetor de temperaturas. A segunda linha usa a
varivel temp_des como ndice deste vetor. Clica-se a seguir em Close e a seguir
com o subsistema selecionado Edit:Look Under Mask e configura-se o bloco
Constant para a string temp_val.
6.2.4 - Pgina de cone do Editor de Mscara
Esta pgina permite ao usurio personalizar cones para seus blocos com mscara.
usada para criar e personalizar o cone no bloco do carro para o sistema Massa-
Mola (lembrando que x e y foram definidos no campo Initialization Commands). Esta
pgina consiste de seis campos. O primeiro campo idntico ao campo Mask Type
j mencionado em outras pginas. Drawing commands um campo de linhas
mltiplas no qual devem ser digitados comandos do MATLAB para desenhar e
nomear o cone. A figura a seguir mostra os comandos necessrios para se
desenhar o cone do bloco Massa-Mola.
Curso de Introduo ao SIMULINK
101
O objetivo dos quatros campos a seguir configurar o cone. Explicar o campo
Drawing Commands se torna fcil se antes forem discutidos estes campos de
configurao.
6.2.4.1 - Campo Moldura do cone (Icon Frame)
O primeiro campo de configurao uma lista contendo duas opes: Visvel e
Invisvel. A figura a seguir ilustra o bloco Massa-Mola com e sem moldura.
6.2.4.2 - Campo Transparncia do cone
O segundo campo de configurao do cone uma lista tambm com duas opes:
Transparente e Opaco. A figura mostra o bloco com as duas configuraes
possveis para este cone. Note que com a opo transparente selecionada os
nomes dos blocos Inport e Outport aparecem. Ao selecionar Opaco, estes nomes
ficam escondidos.
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
102
6.2.4.3 - Campo Rotao do cone
O terceiro campo uma lista com as opes: Fixo e Rotacionar. Este campo
determina o comportamento do cone quando os comandos Edit:Flip block e
Format:Rotate block so executados. Se a opo escolhida for fixa, quando o bloco
for rotacionado ou invertido o cone original conserva a mesma orientao do bloco.
A figura mostra as diferentes situaes. A opo Fixa a mais usada,
particularmente em blocos que contenham textos.
6.2.4.4 - Campo Coordenadas de Desenho (Drawing coordinates)
O campo final de configurao do cone determina a escala usada na plotagem dos
grficos do cone e a posio do texto no cone. O campo uma lista com trs
opes: Pixel, Autoescale, e Normalized.
Pixel uma escala absoluta e ir resultar em um cone que no pode ser
redimensionado. As coordenadas do canto inferior esquerdo so (0,0). As unidades
so pixels, e o tamanho de um cone ir depender somente da resoluo do
monitor. A figura mostra o resultado com a opo Pixel.
A opo Autoescale ajusta o tamanho do cone para que caiba exatamente na
moldura do bloco. A figura mostra um bloco com sua mscara com a opo
autoescale. Note que o texto no cone no muda de tamanho quando o bloco
redimensionado.
Curso de Introduo ao SIMULINK
103
Normalized especifica que a escala do desenho assume de 0.0 a 1.0 tanto no eixo
vertical quanto no horizontal. As coordenadas do canto inferior esquerdo do cone
so (0,0) e do canto superior direito (1,1). Quando o bloco redimensionado, as
coordenadas tambm so redimensionadas. O texto no modifica com o tamanho
do cone.
6.2.4.5 - Comandos de Desenho (Drawing Commands)
Vrios comandos MATLAB podem ser inseridos neste campo para se personalizar o
cone do bloco. A tabela a seguir lista estes comandos:
Comando Descrio
disp(string) Mostra a string no centro do cone
text(x,y,string) Mostra a string com incio em (x,y)
fprintf(string,list) Mostra o resultado do comando fprintf no centro
do cone
plot(x_vetor,y_vetor) Desenha um grfico no cone
dpoly(num,denom) Mostra uma funo de transferncia no centro
do cone
dpoly(num,denom,z) Mostra uma funo discreta de transferncia em
potncias ascendentes de z
dpoly(num,denom,z-) Mostra uma funo discreta de transferncia em
potncias descendentes de z
droots(zeros,poles,gain) Mostra uma funo de transferncia no formato
zeros-plos-ganhos
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
104
Trs dos comandos mostram textos no cone. O mais simples. disp(string), mostra
uma cadeia de caracteres (string) no centro do cone. Este comando muito til
para se inserir uma descrio simples no centro do cone. O comando
text(x,y,string) permite colocar uma string em qualquer lugar do cone, usando o
sistema de coordenadas especificado no campo Drawing coordinates. O terceiro
comando de texto, fprintf, idntico ao comando fprintf do MATLAB (veja no help do
MATLAB as opes deste comando). Usando este comando pode-se inserir strings
definidas nas caixas de dilogos ou no campo Initialization Commands na pgina de
inicializao. Para acrescentar uma nova linha de texto, pode-se usar a opo (\n),
produzindo textos de mltiplos linhas. Como o comando disp, fprintf coloca o texto
no centro do cone.
Uma cadeia de caracteres usada para visualizar um texto num cone deve ser uma
string literal ou ento uma varivel string do MATLAB. Uma string literal uma
seqncia de caracteres visualizveis cercado por apstrofos simples. Por exemplo,
para inserir o nome Bloco Especial no centro do cone do bloco, deve-se fazer uso
do comando
Disp(Bloco Especial)
Uma varivel string uma varivel do MATLAB que representa uma cadeia de
caracteres ao invs de um nmero. O MATLAB fornece vrias funes para criao
e manipulao de variveis strings. Estas funes podem ser usadas no campo
Initialization Commands na pgina de inicializao para criar strings para uso dos
comandos de exibio. Uma funo muito til sprintf. Este comando muito
similar ao fprintf, mas escreve a string em uma varivel ao invs de escrever na tela
ou em um arquivo.
Exemplo
Suponha que se deseja mudar o cone do carro no sistema Massa-Mola para que a
massa do carro seja mostrada no cone acima das rodas, em unidades de massa
(kg). Adiciona-se ento a seguinte linha de comando no campo Initialization
Commands na pgina de inicializao do editor de mscaras.
b_label = sprintf(%1.1f kg,m);
A seguir adiciona-se a seguinte linha de comando no campo Drawing Commands na
pgina de cone.
text(0.3,0.35,b_label);
O bloco deve ento ficar como o da figura:
Curso de Introduo ao SIMULINK
105
O comando plot(x_vetor,y_vetor) mostra grficos no cone do bloco. Este comando
similar ao comando plot do MATLAB, mas tem poucas opes. O comando plot do
editor de mscaras no suporta opes para se configurar estilos de linhas, cores, e
no ir plotar matrizes de duas dimenses. Este comando espera pares de vetores
especificando seqncias de coordenadas x e y. Pode haver mais de um par de
vetores em um simples comando plot, e pode tambm haver mais de um comando
plot para a criao de um cone.
Exemplo
Suponha que se deseja mostrar funes seno e coseno num cone. Os seguintes
comandos devem ento ser acrescentados no campo Initialization Commands para
produzirem os vetores necessrios.
x_vetor = [0:0.05:1] ;
y_sin = 0.5 + 0.5*sin(2*pi*x_vetor) ;
y_cos = 0.5 + 0.5*cos(2*pi*x_vetor) ;
A seguir, acrescenta-se o seguinte comando ao campo Drawing Commands:
plot(x_vetor,y_sin,x_vetor,y_cos)
O bloco deve agora ter a aparncia:
Exemplo
O bloco operador lgico pode ser configurado para implementar portas AND ou OR,
mas o cone do bloco continua sendo um retngulo com a funo lgica descrita no
cone. Substituindo cpias destes blocos por subsistemas com mscaras, pode-se
produzir blocos com aparncia semelhante conveno utilizada para estas portas.
Para produzir a porta AND, deve-se iniciar com um bloco Operador Lgico
configurado para implementar a funo AND. Seleciona-se o bloco e clica-se em
Edit:Create subsystem na barra de menu da janela do modelo. A seguir clica-se em
Edit:Create mask. Na pgina de inicializao do editor de mscaras deves-e
acrescentar no campo Initialization Commands a seguinte linha:
t = -pi/2:0.1:pi/2;
O campo Icon Frame deve estar configurado como Invisible e Drawing coordinates
como Normalized. No campo Drawing commands deve conter as linhas:
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
106
plot([0.5 0 0 0.5],[0 0 1 1],0.5+0.5*cos(t),0.5+0.5*sin(t))
text(0.05,0.65,a);
text(0.05,0.2,b);
text(0.75,0.45,ab);
Para produzir a porta OR, o procedimento similar, substituindo somente as linhas
em Drawing Commands:
plot([0 0],[0 1],t,0.5*t.^2,t,1-0.5*t.^2);
text(0.05,0.65,a);
text(0.05,0.2,b);
text(0.75,0.45,a+b);
Os blocos Portas Lgicas devem agora estar como:
Os comandos finais, dpoly(num,denom) e droots(zeros,poles,gain), mostram uma
funo de transferncia no cone do bloco.
dpoly mostra uma funo de transferncia na forma polinomial. Os argumentos num
e denom so vetores contendo os coeficientes do numerador e do denominador da
funo de transferncia em funes descendentes de s. dpoly somente ir mostrar
funes de transferncias em potncias descendentes de z ou ascendentes de 1/z.
Para mostrar funes em potncias descendentes de z, deve-se utilizar o comando
dpoly(num,denom,z). Para mostrar funes em potncias ascendentes de 1/z,
deve-se usar dpoly(num,denom,z-).
droots mostra funes de transferncias na forma fatorada de zeros-plos. zeros
um vetor contendo os zeros da funo de transferncia (razes do numerador), e
poles um vetor contendo os plos da funo de transferncia (razes do
denominador). O ganho deve ser um escalar.
6.2.5 - Olhando sob a Mscara e Removendo Mscaras
Existem dois comandos adicionais para se lidar com mscaras. Eles permitem que
se observe um subsistema sob a mscara e que se apague a mscara.
Para examinar um subsistema com mscara, seleciona-se o bloco e a seguir clica-
se em Edit:Look under mask.
Curso de Introduo ao SIMULINK
107
Para converter um bloco com mscara em um bloco sem mscara seleciona-se o
bloco abrindo o editor de mscaras logo em seguida. Clica-se no boto Unmask na
parte inferior do editor. Se o usurio mudar de idia aps remover a mscara,
clicando-se em Edit:Create mask, as informaes da antiga mscara estaro
disponveis. Mas, uma vez fechado o modelo aps remover a mscara, torna-se
impossvel recuperar tais informaes.
6.2.6 - Criando uma Biblioteca de Blocos
Cada biblioteca do SIMULINK um subsistema com mscara contendo um nmero
de blocos do SIMULINK no conectados entre si. Para verificar isto selecione o
bloco da biblioteca de Fontes clicando a seguir em Edit:Edit Mask. As bibliotecas do
SIMULINK so modelos contendo inmeros blocos, nenhum dos quais contendo
entradas ou sadas.
O usurio pode criar suas prprias bibliotecas. A maneira mais simples de fazer isto
copiar blocos para uma janela de modelo vazia e salvar o modelo a seguir. Para
usar esta biblioteca deve-se clicar em File:Open no SIMULINK ou entrar com o
nome da biblioteca na rea de trabalho do MATLAB.
O usurio pode criar uma biblioteca a partir de um subsistema contendo um ou mais
blocos no conectados com linhas de sinais. Estes subsistemas podem ter
mscaras para ficarem semelhantes s bibliotecas do SIMULINK. O subsistema
com mscara pode ter cones personalizados, mas no podem conter caixa de
dilogo (a seo de prompt na pgina de inicializao deve ficar vazia), e o campo
de descrio do bloco (Bloco description field) deve ficar em branco. Se isto no
acontecer, ao se dar um duplo clique no cone da biblioteca, ao invs de abrir a
biblioteca contendo os blocos, aparecer uma caixa de dilogo.
6.3 - Subsistemas com Execuo Condicionada
A biblioteca de Conexes fornece dois blocos que podem causar a um subsistema
execuo condicionada. O bloco Habilita (Enable) faz com que um subsistema seja
executado somente se uma entrada de controle for positiva. O bloco de disparo
(Triggered) um bloco de subsistema que causa a execuo do subsistema quando
o sinal de disparo for recebido. Acrescentar estes dois blocos ao subsistema faz
com que este seja executado toda vez que o sinal de disparo for recebido somente
quando a entrada de habilitao for positiva.
6.3.1 - Subsistemas com Habilitao (Enabled)
Estes subsistemas permitem ao usurio modelar sistemas que possuem vrios
modos de operao ou fases. Por exemplo, a aerodinmica de um avio
supersnico na configurao de decolagem diferente de sua aerodinmica para o
mesmo avio num vo supersnico. O sistema de controle digital de vo para um
avio deste tipo emprega diferentes algoritmos de controle para diferentes regimes
de vo. Um modelo SIMULINK do avio e do sistema de controle pode precisar
incluir os dois regimes de vo. possvel modelar este tipo de sistema usando
blocos lgicos ou blocos com chaveamento. Se for usada esta aproximao, todo
bloco do modelo ser estimado a cada passo de integrao. A incluso destes
blocos no contribuem para o desempenho da simulao.
Se o usurio converter os vrios subsistemas contendo as dinmicas de vo em
subsistemas com opo de habilitao, somente os subsistemas ativos sero
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
108
calculados durante uma simulao particular. Isto pode significar uma melhoria
computacional significativa.
Um subsistema convertido em um subsistema com opo de habilitao com a
adio do bloco Enable da biblioteca de Conexes. A figura que se segue ilustra um
controlador proporcional simples convertido em um subsistema com opo de
habilitao.
A caixa de dilogos do bloco de habilitao a que se segue:
A caixa possui dois campos. O primeiro campo (States when enabling) permite
escolher a situao do subsistema quando este habilitado. uma caixa com duas
opes: reset e held. A primeira opo faz com que os estados internos do
subsistema seja resetado s suas condies iniciais cada vez que o bloco
habilitado. A segunda opo faz com que todas as variveis internas ao subsistema
assumam os valores da ltima vez que o sistema foi executado. O segundo campo
(Show output port) uma caixa de verificao. Quando selecionada, o bloco Enable
ter uma porta de sada. Esta porta passa adiante o sinal recebido na entrada de
Enable quando o bloco habilitado.
tambm de vital importncia configurar os blocos de sada (Outport) de um
subsistema . A caixa de dilogo do bloco tem trs campos:
Curso de Introduo ao SIMULINK
109
O primeiro campo (Port Number) determina a ordem que as portas iro aparecer no
cone do subsistema. O segundo campo (Output when disable) contm duas
opes: reset e held. A opo reset faz com que a sada seja resetada para o valor
contido no terceiro campo (Initial output). A opo held faz com que a sada
mantenha o seu ltimo valor de sada antes do sistema ser desabilitado.
Um subsistema com enable habilitado quando o sinal de entrada na porta de
enable for positivo. Se o sinal for um vetor, o subsistema habilitado se qualquer
dos elementos do vetor for positivo.
Exemplo
Para ilustrar o uso de subsistemas com opo de habilitao, suponha que se
deseja modificar o controlador de velocidade do automvel do exemplo j citado
para um controlador que possui dois modos de operao, dependendo do erro da
velocidade. Se o valor absoluto do erro
x x v
desejado err
& &
for menor do que o limiar de 2 m/s e o valor absoluto da taxa de variao do erro
err
v&
, for menor que um limiar de 1m/s2, deseja-se que o controlador seja um
controlador Proporcional-Integral (PI). Uma vez que o controlador PI est habilitado,
este deve permanecer at
err
v
ser menor que um valor de limiar de 5 m/s. De outra
forma, o controlador proporcional (P) deve estar habilitado.
O modelo SIMULINK mostrado na figura a seguir:
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
110
O subsistema seletor mostrado na figura:
Este produz duas sadas. A sada PI levada 1.0 se as condies para o
controlador PI forem satisfeitas, e 0.0 na situao contrria. A sada P sempre o
inverso lgico da sada PI.
Curso de Introduo ao SIMULINK
111
O subsistema do controlador proporcional j foi mostrado anteriormente. O
subsistema PI mostrado na figura que segue;
O bloco de Enable e o bloco Outport so configurados para reset.
Executando a simulao, a trajetria da velocidade e a sada P devem ser as
seguintes:
Curso de Introduo ao SIMULINK
Cap.6 Subsistemas e Mscaras
112
6.3.2 - Subsistemas com Gatilho (Triggered)
Um subsistema com gatilho executado cada vez que um sinal de gatilho
recebido. Este tipo de subsistema e a caixa de dilogo do bloco Trigger so
mostrados a seguir:
O primeiro campo da caixa (Trigger type) possui trs opes: rising, falling e either.
Se a opo escolhida for rising, um sinal de gatilho definido quando este cruzar o
zero enquanto estiver crescente. Se falling for escolhido, o sinal de gatilho passa a
ser definido quando a entrada Trigger cruzar o zero no sentido decrescente. Either o
sinal definido quando cruzar o zero em ambos os sentidos. O segundo campo
(Show output port) uma caixa de verificao que permite escolher se uma sada
de trigger ir aparecer no bloco. Esta sada, como no bloco de enable, passa
adiante o sinal gatilho de entrada do subsistema.
Um subsistema com gatilho mantm seu valor de sada aps o sinal de trigger ser
recebido. O valor inicial de sada de um subsistema com gatilho configurado nos
blocos Outport do subsistema.
O sinal de gatilho pode ser escalar ou vetor. Se o sinal for um vetor, o subsistema
disparado quando qualquer elemento satisfizer as condies selecionadas em
Trigger type.
Exemplo
O subsistema com gatilho ilustrado na figura anterior transmite a entrada para a
sada quando um sinal de gatilho for recebido, e est configurado (bloco Outport)
para manter sua sada at um outro sinal de trigger ser recebido. O bloco Outport
inicializado com 0. A figura a seguir ilustra o exemplo anterior com a adio deste
subsistema com sua sada ligada a um bloco Display da biblioteca de dispositivos
de sada (Sinks). O sinal de gatilho conectado ao sinal de habilitao do
controlador PI. O Display ir mostrar 0 at que o controlador PI seja ativado, e a
seguir, mostrar o tempo da mais recente habilitao deste controlador.
Curso de Introduo ao SIMULINK
113
6.3.3 - Subsistemas com Habilitao e Gatilhos
Adicionar os blocos Enable e Trigger simultaneamente a um subsistema, produz um
subsistema com opes de habilitao e disparo. Este subsistema possuir ambas
as entradas Enable e Trigger. Este subsistema ir se comportar como um
subsistema com opo de disparo, mas o sinal de trigger ser ignorado a menos
que o sinal de Enable seja positivo.
6.3.4 - Subsistemas Discretos com Execuo Condicionada
Todos os tipos de execuo condicionada devem servir para blocos contnuos ou
discretos. Blocos discretos em um subsistema com habilitao sero executados
com base no seu tempo de amostragem. Eles usam a mesma referncia de tempo
do resto do modelo SIMULINK; o tempo no subsistema referenciado no incio da
simulao, e no na ativao do subsistema. Consequentemente, uma sada
dependente de um bloco discreto no ir mudar necessariamente no instante da
habilitao do subsistema.
Blocos discretos em subsistemas com gatilho devem ter seus tempos de
amostragem configurados para 1, indicando que eles herdam seus tempos de
amostragem do sinal de controle. Nota-se que blocos discretos que incluem tempos
de atraso (z -1) mudam seu estado cada vez que o subsistema disparado com o
sinal de Trigger.
Curso de Introduo ao SIMULINK
Cap.7 Animao no SIMULINK
114
Captulo 7 Animao no SIMULINK
7.1 - Toolbox de Animao
Esta toolbox uma extenso do SIMULINK que permite ao usurio criar animaes
grficas, de maneira similar construo de um modelo no SIMULINK.
Para construir uma animao, deve-se copiar objetos grficos para a janela de
figuras e em seguida configurar as propriedades dos objetos usando suas caixas de
dilogos.
7.2 - Usando a Toolbox de Animao
Para adicionar uma animao a um modelo deve-se clicar na biblioteca de nome
Blocksets & Toolboxes e a seguir clicar em Simulation Animation. Uma janela ir
abrir contendo um bloco de nome SimAnim. Deve-se arrastar este bloco para a
janela do modelo em construo.
Um clique duplo neste bloco ir abrir a janela com a figura a seguir;
A janela de animao consiste de trs reas: A barra de ferramentas, a barra de
status e a figura de animao.
A barra de ferramentas consiste de um grupo de cones representando os objetos
de animao disponveis: ponto, retngulo, texto, linha e retalho. A barra de status
mostra o estado da animao e fornece botes para controlar a simulao e finalizar
a animao. Quando a simulao est sendo executada, a barra de status contm
um boto de Stop, uma caixa de verificao com a opo de mostrar o rastro da
simulao e um boto para limpar este rastro. A figura de animao a rea em
que a animao criada e mostrada.
Para construir uma animao, deve-se clicar em um dos cones da barra de
ferramentas e a seguir clicar na figura no local desejado para o objeto representado
Curso de Introduo ao SIMULINK
115
pelo co0ne. Uma caixa de dilogo do objeto se abrir. Deve-se ento entrar com os
dados de configurao nesta caixa de dilogo, clicar em Apply e a seguir fechar a
caixa. Deve-se repetir estes passos para cada objeto na figura de animao. O
usurio pode executar a simulao usando a barra de status clicando em Start ou
em Simulation:Start na barra de menu da janela do modelo.
Exemplo
Deseja-se criar uma animao usando a Toolbox de Animao utilizando o modelo
o modelo a seguir;
O modelo consiste em dois blocos de ondas senoidais (Sine Wave) conectados
um Mux para produzir um vetor como sinal. O bloco inferior deve ser configurado
com a fase igual a /2.
Um duplo clique no bloco Animation abre a figura a seguir:
Curso de Introduo ao SIMULINK
Cap.7 Animao no SIMULINK
116
Clica-se a seguir no cone do ponto na barra de ferramentas:
A caixa de dilogo do objeto pode ser aberta com um duplo clique sobre este.
Configura-se os campos desta caixa como mostrado na figura, clicando a seguir em
Ok.
Executa-se agora a simulao clicando em Start. O ponto deve-se mover em
crculo.
7.2.1 - Propriedades dos Objetos de Animao
Cada campo de propriedades contidos na caixa de dilogo pode conter expresses
consistindo de constantes, variveis correntes definidas na rea de trabalho do
MATLAB e elementos do vetor de entrada (u). Pode-se fazer da localizao de um
objeto uma funo da entrada, ou ainda, a cor ou o tamanho do objeto como uma
funo da entrada.
Curso de Introduo ao SIMULINK
117
7.2.2 - Configurando uma animao
O menu View contm vrias opes muito teis na configurao da aparncia de
uma figura de animao.
7.2.3 - Propriedades da Figura
O menu View fornece opes para mostrar ou ocultar muitas propriedades de
figura. Pode-se ocultar ou no os eixos, o reticulado (grid), a borda etc. H tambm
opes para mostrar ou ocultar a barra de status e a barra de ferramentas.
7.2.3.1 - Escala da Figura
View:AutoScale permite controlar ou no a escala de uma figura automaticamente.
O contedo da opo autoscale pode ser muito til determinando limites
apropriados para axis. Uma vez que o usurio encontrou limites aceitveis, a
aparncia da animao pode ser melhorada escolhendo-se Autoscale para off e a
seguir usando View:Change Axis Limits para um ajuste fino dos limites.
7.2.4 - Modificando uma Animao
Aps executar uma simulao o usurio pode adicionar objetos ou modificar alguns
j existentes. Antes de modificar a figura, deve-se clicar em Simulation:Reset na
barra de menu da janela de animao. Pode-se modificar um objeto j existente
com um duplo clique sobre o mesmo.
7.2.5 - Configurando Entradas Iniciais
O usurio pode configurar valores iniciais para as entradas do bloco de animao
(u(1), u(2) etc) clicando em Simulation:Set Initial Inputs. Uma caixa de dilogo se
abrir.
Deve-se entrar com os valores iniciais da entrada na forma de um vetor. Esta
capacidade muito usada devido ao fato de que o bloco de animao no tem
acesso s entradas antes da simulao comear. Inicializando as entradas prev-se
um grande transiente no incio da animao. Configurar as entradas na caixa de
dilogo no causa qualquer efeito nas prprias entradas; seus valores no se
propagam para blocos anteriores ao bloco de animao. O valor inicial padro
zero.
Curso de Introduo ao SIMULINK
Cap.7 Animao no SIMULINK
118
7.3 - Salvando e Carregando Arquivos de Animao
O menu File da janela de animao contm opes para salvar ou carregar uma
animao. A informao que uma Toolbox de animao precisa para gerar uma
figura de animao est armazenada na forma de um arquivo .mat do MATLAB.
Quando o usurio abre uma janela de animao com um duplo clique num bloco de
animao, e se pela ltima vez que o usurio acessou este bloco ele salvou uma
animao associada com o mesmo, haver um Prompt perguntando se o usurio
deseja usar a animao anterior ou iniciar uma nova.
Curso de Introduo ao SIMULINK
119
Bibliografia
The Student Edition of SIMULINK
James B. Dabney / Thomas L. Harman
Mastering SIMULINK
James B. Dabney / Thomas L. Harman
Sistemas Lineares Vol. 2
Ralph J. Schwarz / Bernard Friedland

You might also like