Kwp wykl cz3

background image

Simulink - co to jest?

„SIMULINK jest aktywnym pakietem

przeznaczonym do modelowania, symulacji i

analizy, dynamicznych układów ciągłych,

układów dyskretnych w czasie oraz mieszanych

tzn. dyskretno-ciągłych”

[B. Mrozek, Z. Mrozek]

Simulink jest zintegrowany z Matlabem.

Nie jest możliwe

używanie Simulinka bez zainstalowania pakietu Matlab

background image

Simulink a Matlab.

Stateflow

Stateflow

Stateflow

Blocksets

Code Generation,
RTW, SF Coder

Toolboxes

Desktop Applications
Automated Reports

DAQ cards
Instruments

background image

Simulink a Matlab - cd.

Implementacja

Narzędzia

Embedded

Software/DSP

Narzędzia EDA

Rozwiązania

sprzętowe

Rozwiązania

programowe,

DSP

RTW, platformy docelowe

Narzędzia firm trzecich

Projektowanie systemu

M

ATLAB

Projektowanie algorytmów

i analiza systemu

S

IMULINK

• Projektowanie zstępujące
• Testowanie działania

systemu we wczesnej fazie
procesu projektowania

• Obniżenie kosztów i ryzyka
• Skrócenie czasu

projektowania nowego
produktu

background image

Składniki pakietu Simulink

• Biblioteka bloków
• Algorytmy numeryczne do rozwiązywania układów

równań różniczkowych zwyczajnych

• Funkcje do symulacji modeli Simulinka z okna poleceń

Matlaba

• Funkcje do konstruowania modeli i maskowania
• Interfejsy graficzne użytkownika (Tools)
• Dodatkowe pakiety bloków i narzędzi pochodzące z

toolboxów i dodatkowych bibliotek (blocksets)

background image

Jak rozpocząć pracę z Simulinkiem?

>> simintro

background image

Podstawowa biblioteka bloków

background image

Podstawowa biblioteka bloków - przykłady

background image

Podstawowa biblioteka bloków - przykłady cd

background image

Budowanie schematów

background image

Ustawianie parametrów i uruchamianie symulacji

background image

Jak działa Simulink? - Inicjalizacja

• Przypisanie parametrom wartości numerycznych
• Spłaszczenie modeli hierarchicznych (z wyj.

podsystemów wykonywanych warunkowo)

• Sortowanie bloków
• Sprawdzanie połączeń między blokami (typ,

wymiar)

background image

Jak działa Simulink? - Symulacja

• Wyznaczanie wyjścia każdego bloku w kolejności

sortowania

• Obliczanie pochodnych stanu dla poszczególnych

bloków

• Całkowanie numeryczne (nowe wartości wektora

stanu)

• Aktualizacja bloków wizualizacji i próbkujących

background image

Dodatkowe biblioteki bloków

• Aerospace Blockset
• CDMA Reference Blockset
• Communications Blockset
• DSP Blockset
• Dials & Gauges Blockset
• Fixed-Point Blockset
• Nonlinear Control Design

Blockset

• Sim Mechanics
• Sim Power Systems
• Virtual Reality Toolbox

Bloki dołączone do

Toolboxów Matlaba

• Control System
• Fuzzy Logic
• Neural Network
• System Identification

background image

Przykład - Silnik elektryczny

J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
printsys(num,den)

background image

Przykład - Silnik elektryczny cd.

» printsys(num,den)

num/den =

0.01
---------------------------
0.005 s^2 + 0.06 s + 0.1001

background image

Przykład - Silnik elektryczny cd.

background image

Przykład - Silnik elektryczny cd.

background image

Przykład - Silnik elektryczny cd.

background image

Tworzenie podsystemów

background image

Maskowanie podsystemów

background image

Co to jest S - Funkcja?

S-Funkcja pozwala na definiowanie własnych bloków

Simulinka (o niemal dowolnej funkcjonalności)

• S-Funkcję dołącza się do schematu Simulinka za

pomocą bloku „S-Function” z biblioteki „User-
Defined Functions” (w starszych wersjach:
„Nonlinear”)

• Może mieć postać:

– m-pliku funkcyjnego o zdefiniowanej strukturze
– mex-pliku o zdefiniowanej strukturze napisanego w

jednym z języków programowania: C, C++, Ada,
Fortran

background image

S - Funkcja - Budowa

function [sys,x0,str,ts] = timestwo(t,x,u,flag)
%
% Dispatch the flag. The switch function controls the calls to
% S-function routines at each simulation stage of the S-function.
%
switch flag,
%%%%%%%%%%%%%%%%%%
% Initialization %
%%%%%%%%%%%%%%%%%%
% Initialize the states, sample times, and state ordering strings.
case 0
[sys,x0,str,ts]=mdlInitializeSizes;

%%%%%%%%%%%
% Outputs %
%%%%%%%%%%%
% Return the outputs of the S-function block.
case 3
sys=mdlOutputs(t,x,u);

%%%%%%%%%%%%%%%%%%%
% Unhandled flags %
%%%%%%%%%%%%%%%%%%%
% There are no termination tasks (flag=9) to be handled.
% Also, there are no continuous or discrete states,
% so flags 1,2, and 4 are not used, so return an emptyu
% matrix
case { 1, 2, 4, 9 }
sys=[];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % Unexpected flags (error handling)% %%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
% Return an error message for unhandled flag values.
otherwise
error(['Unhandled flag = ',num2str(flag)]);

end

% end timestwo

background image

%=========================================================
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%=========================================================
function [sys,x0,str,ts] = mdlInitializeSizes()

sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = -1; % dynamically sized
sizes.NumInputs = -1; % dynamically sized
sizes.DirFeedthrough = 1; % has direct feedthrough
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str = [];
x0 = [];
ts = [-1 0]; % inherited sample time

% end mdlInitializeSizes
%=========================================================
% mdlOutputs
% Return the output vector for the S-function
%=========================================================
function sys = mdlOutputs(t,x,u)
sys = u * 2;
% end mdlOutputs

S - Funkcja - Budowa cd.

background image

Narzędzia Simulinka - Edytor

background image

Narzędzia Simulinka - Debugger

background image

Narzędzia Simulinka - Profiler

background image

Rozszerzenia Simulinka - Real Time Workshop

• Automatycznie generuje ANSI C
• Pozwala ingerować w

generowany kod

• Przyspiesza symulację (po

kompilacji)

• Platformy docelowe

– PC
– DSP
– Mikrokontroler
– Dedykowana - użytkownika

background image

Rozszerzenia Simulinka - Stateflow

• Projektowanie układów

sterowanych
zdarzeniami

• Graficzne

programowanie
układów z
wykorzystaniem teorii
automatów
skończonych

• Integracja z

Simulinkiem i Matlabem

background image

Wyszukiwarka

Podobne podstrony:
Kwp wykl cz1
Kwp wykl cz2
wykl 8 Mechanizmy
Stomatologia czesc wykl 12
Wykł 1 Omówienie standardów
Wykl 1
KOMPLEKSY POLAKOW wykl 29 03 2012
Wykł 1B wstępny i kinematyka
Ger wykł II
olejki eteryczne cz3
Wykł BADANIA KLINICZNO KONTROLNE I PRZEKROJOWE
Wykł 05 Ruch drgający

więcej podobnych podstron