Você está na página 1de 6

Tópico 01 – Introdução ao SCILAB

Objetivo: Demonstrar a utilização do software SCILAB (Versão 5.3.3), como


ferramenta útil na análise de desempenho de sistemas e no projeto de
controladores.

Características Básicas do SCILAB:


Facilidade de efetuar operações com matrizes e vetores.
Possui uma vasta biblioteca que pode ser utilizada por seus usuários, inclusive
para a confecção de outras bibliotecas.
Possui bibliotecas (Toolboxes) para específicas áreas de conhecimento:
Sistemas de controle (Clássico), Controle Robusto, Identificação de Sistemas
Otimização, Sistemas de Comunicação, Redes Neurais etc...

Estrutura do software
(a) Operações Fundamentais
(b) Funções Fundamentais, Matemáticas, Matriciais, Gráficas
(c) Funções do toolbox de Controle.
(d) Funções Auxiliares

Ambientes de trabalho
(a) Workspace: Ambiente default do scilab, onde as tarefas são solicitadas por
meio de linhas de instrução.
(b) Interfaces gráficas para aplicações específicas: interfaces amigáveis para
tratar um tipo de aplicação com o mínimo possível de esforço por parte do
usuário.
(c) Xcos: Ambiente de Simulação do SCILAB, onde o usuário define seu
“problema” através de um diagrama de simulação, semelhante a um
diagrama de blocos.

Procedimentos Experimentais:
1ªPARTE
1. Trabalhando no workspace:
Digite os comandos abaixo e observe o efeito.
No workspace o prompt é o sinal >> e o sinal de atribuição é =
Toda variável definida fica armazenada na memória enquanto o SCILAB não for
finalizado.
(a) Definindo os Dados
Instrução Ação
>>x= 3 //Atribui à variável x o valor 3, confirma a atribuição.
>>y=3; //Atribui à variável y o valor 3 e retorna o prompt.
>>z=[1 2 3] //Atribui à variável z o vetor linha ( 1 2 3 ).
>>d=[3 ; 4 ; 5] //Atribui à variável d o vetor coluna
>>t=[0:0.1:0.4]; //Atribui à variável t o vetor linha (0 0,1 0,2 0,3 0,4)
>>tc= t’; //Atribui à variável tc a transposta de t
>>w=t(1); //Atribui à variável w o valor do primeiro elemento de t
>>m1=[ 1 2 3; 4 5 6; 7 8 9] //Define m1=
>>m2=[m1;10 11 12] //Define m2 =
>>m3=[[11 12 13]’ m1] //Define m3 =
>>m4= m1( : ,1:2) //Define m4: colunas 1 e 2 de m1 e todas as linhas
>>xa=m3(2,3) //Atribui a xa o valor do elemento da 2ª linha/3ª coluna de m3.
>>z1=3+4*%i //Atribui à variável z1 o número complexo 3+4i.
>>z2=1-8*%i //Atribui à variável z2 o número complexo 1-8i.
>>z3 =complex(2,3) //Atribui a variável z3 o complexo 2+3i

(b) Realizando Operações fundamentais


Abaixo estão os símbolos utilizados no workspace para realizar algumas
operações fundamentais. Experimente utilizá-las definindo:
ma=[0 1;2 3] e mb=[0 -1; -2 3]
>> ms = ma+mb;// Adição ( + )
>> msub = ma-mb;// Subtração ( - )
>> mm = ma*mb;// Multiplicação ( * )
>> y = B/A ; // Divisão a direita ( / )==> B* A-1
>> x = F\C ; // Divisão a esquerda ( \ )==> F-1 *C
>> A2 = A^2 // Potência ( ^ )==> A²
>> A3 = A^3 //==> A³
Atenção:
Se as variáveis utilizadas são matrizes ou vetores, devem possuir a dimensão
adequada para que a operação seja efetuada com sucesso.
Quando operação com matrizes é precedida por um ponto ( . ) significa que a
operação será efetuada em elemento por elemento.
>>A=[1 2;3 4];
>>Ad = A.^2 // Ad =[ 1 4; 9 16]

(c) Executando Operações fundamentais


Defina: O vetor y=[-20 -19 -18 -17.....17 18 19 20];

A variável complexa z=2+3i;

A matriz m=1,8 2 3 ;

456

759
Em seguida execute as instruções abaixo:
Instrução Ação
ry=sqrt(y) Atribui a ry o cálculo da raiz quadrada dos elementos de y.
sy=sin(y) Atribui a sy o cálculo do seno dos elementos de y.
cy=cos(y) Atribui a cy o cálculo do cosseno dos elementos de y.
my=abs(y) Atribui a my o módulo dos elementos de y.
zm=abs(z) Atribui a zm o módulo de z.
zr=real(z) Atribui a zr a parte real de z.
zi=imag(z) Atribui a zi a parte imaginária de z.
zc=conj(z) Atribui a zc o conjugado de z.
mi=inv(m) Atribui a mi a inversa de m.
dm=det(m) Atribui a dm o determinante de m.
[nl,nc]=size(m) Atribui a nl o no de linhas de m e a nc o no de colunas de m.
i=eye(3,3) Define a matriz identidade de 3x3 em i
um=ones(2,3) Atribui 1 a todos os elementos da matriz (2x3)
zero=zeros(4,4) Atribui zero a todos os elementos da a matriz (4x4).

(d) Executando Funções Gráficas


x=[0:1:20] Define x (variável que será plotada no eixo horizontal)
y=2*x+3 Calcula y=2x+3
z=2*x.^2+3*x+4 Calcula z=2x2+3x+4
plot(x,y) Gráfico de x (eixo horizontal) versus y (vertical)
plot(x,z) Gráfico de x (horizontal) versus z (vertical)
plot(x,z,x,y) Gráficos de x (eixo horizontal) versus z e y (vertical)
set(gca(),"grid",[1 1]) Cria uma “grade” no gráfico

o Utilize a função whos para visualizar todas as variáveis do workspace »whos


o Utilize a função clear para deletar todas as variáveis do workspace »clear

(e) Executando Funções do Toolbox de Controle


Instrução Ação
num= 36; Define o numerador.
den= 36+3*%s + %s^2; Define o denominador.
roots(den); Calcula as raízes do denominador (pólos).
t=[0:0.1:10]; Define a base de tempo de 0 a 10 segs (101ptos).
tf=syslin('c',num,den) Define a função de transferência
yi=csim('imp',t,tf); Calcula a resposta ao impulso.
plot(t,yi) Exibe o gráfico da resposta impulsiva
yd=csim('step',t,tf); Calcula a resposta ao degrau.
plot(t,yd) Exibe o gráfico da resposta ao degrau
yr=csim(t,t,tf) Calcula a resposta à rampa
plot(t,yr) Exibe o gráfico da resposta à rampa
u = sin(3*t) Cria um sinal u=sen(3t)
ys=csim(u,t,tf) Calcula a resposta ao seno
plot(t,ys) Plota o gráfico de t x ys
clf() Limpar a figura
evans(tf,100) Traça o LGR para K=[0,100]
sgrid(); Traça uma “grade”
2. Trabalhando no ambiente de simulação xcos
O ambiente xcos é um ambiente de simulação do SCILAB que possibilita definir o
sistema através de diagramas de blocos, facilitando dessa forma a análise de
desempenho das variáveis do sistema em estudo.

a. Acessando o ambiente do xcos


Digite “xcos” na linha de comando do scilab, ou selecione na barra de
ferramentas, conforme mostra a figura:

b. Bibliotecas de Blocos disponíveis.


Biblioteca Simulink
Diretório Utilização dos Blocos
Sistema de tempo contínuo Na representação de sistemas contínuos
Sistema de tempo discreto Na representação de sistemas discretos
Descontinuidades Na representação de não linearidades
Operações Matemáticas Na representação de operações ou funções matemáticas
Fontes Para a geração de sinais de entrada
Receptores Para visualização do desempenho de uma variável

c. Abrindo e salvando o arquivo do Diagrama de Blocos


- Para abrir um novo arquivo: Clique, na barra de ferramentas da janela principal,
em arquivo e depois em Novo diagrama. A janela “sem nome” será aberta. Nela o
diagrama de blocos objeto da simulação será construído.
- Para salvar seu arquivo: Clique, na barra de ferramentas da janela “sem nome”,
em arquivo e depois em salvar ou salvar como.
d. Construção do Diagrama de Blocos
Inserir Bloco: Clique e arraste o bloco desejado da janela principal para a janela
de construção do diagrama de blocos.
Interligar Blocos: Clique na seta de saída do bloco de origem, mantenha
pressionado o botão do mouse, arraste até a seta de saída do bloco destino. Os
blocos estarão interligados se ficar formada uma seta entre eles.
Desconectar Blocos: Clique na seta de interligação que se deseja remover (para
marcar) e utilize em seguida a tecla delete.
Ajustar parâmetros dos Blocos: Clique duas vezes sobre o bloco e uma janela de
definição de parâmetros será aberta.

e. Execução da Simulação
- Na barra de ferramentas da janela “sem nome” escolha simulação e em seguida
configuração: definir passo de integração, tolerância de tempo, etc.
- Iniciar simulação: na barra de ferramentas escolha simulação depois iniciar.
- Interromper simulação:na barra de ferramentas escolha simulação depois parar.

f. Exercitando a utilização do Simulink


1. Construa o diagrama de simulação abaixo.

2. Para ajustar/definir os parâmetros de um bloco clique 2 vezes no bloco. Em


configurações de simulação, limite o tempo final de integração.

3. Para registrar num mesmo gráfico o sinal de saída e entrada selecione


“roteamento de siais” na lista de paletas e em seguida o bloco “mux”
4. Altere a função de transferência de malha aberta para 1/[s(s+1)]
=1/(s²+s).Repita a simulação.

5. Para estabilizar o sistema adicione um controlador Proporcional com ganho 1


(Gp(s)=1) em malha fechada com realimentação unitária negativa

6.Substitua o bloco step pelo bloco “GENSQR_f” (gerador de ondas quadradas).


Ajuste o período do GENSQR para 2 e tempo de inicialização 0. Mantenha para o
SCOPE período 0.1 e tempo inicialização 0. Simule

.
5. Modifique período do GENSQR identifique as consequências no sinal de saída.