SIMULINK

    Je to program pro simulaci a modelování dynamických systémů, který využívá algoritmy MATLABu pro numerické řešení nelineárních diferenciálních rovnic. S jeho pomocí lze určit časové průběhy výstupních veličin v závislosti na časovém průběhu veličin vstupních a počátečním stavu. Nabízí jednoduchý přístup k propracovaným metodám MATLABu, prostředky pro snadný zápis problému (vytvoření modelu) a vizualizaci výsledků a automatické řešení mnoha problémů, které při řešení vznikají.

 

 Hlavní menu knihovny SIMULINKu:

Obr.2.1. Knihovna Simulinku

 

    Poskytuje uživateli možnost rychle a snadno vytvářet modely dynamických soustav ve formě blokových schémat a rovnic. Nový přístup k řešení diferenciálních rovnic dovoluje simulovat i rozsáhlé systémy rychle, přesně a s efektivním využitím paměti počítače. Simulink nově umožňuje spouštět určité části simulačního schéma na základě výsledku logické podmínky. Tyto spouštěné a povolované subsystémy umožňují použití programu v náročných simulačních experimentech. Samozřejmostí je otevřená architektura, která dovoluje uživateli vytvářet si vlastní funkční bloky a rozšiřovat již tak bohatou knihovnu Simulinku. Hierarchická struktura modelů umožňuje koncipovat i velmi složité systémy do přehledné soustavy subsystémů prakticky bez omezení počtu bloků. Simulink, stejně jako MATLAB, dovoluje připojovat funkce napsané uživateli v jazyce C. Vynikající grafické možnosti Simulinku je možné přímo využít k tvorbě dokumentace. Mezi neocenitelné vlastnosti Simulinku patří nezávislost uživatelského rozhraní na počítačové platformě. Přenositelnost modelů a schémat mezi různými typy počítačů umožňuje vytvářet rozsáhlé modely, které vyžadují spolupráci většího kolektivu řešitelů na různých úrovních.

 

        Simulink je schopen simulovat smíšené systémy obsahující spojité části, diskrétní části i s různými periodami vzorkování a s posunutými okamžiky vzorkování. Je schopen simulovat i nelineární bloky a aproximovat chování systémů obsahujících algebraické smyčky, na které ovšem před simulací upozorňuje.

    Dynamické vlastnosti lineárních částí lze popisovat komplexními přenosy, maticemi systémů nebo přímo použít bloky reprezentující přímo sčítání, integraci, diferenci, násobení konstantou a další elementární operace. V knihovně nelineárních bloků jsou předdefinovány paměťové bloky, přepínače, releové charakteristiky, násobení a dělení signálů, zdroje hodinových impulsů a mnoho dalších.

    Většinu systémů, které mohou být řešeny v diskrétním čase (lze je diskretizovat) je možno přes Real Time Workshop převést přímo do zdrojového kódu v jazyku C, který lze po doplnění zdrojovými texty pro uživatelem definované s-funkce přímo kompilovat do strojových jazyků počítačů určených k řízení. Pak vytvoření i složitého regulačního systému může vypadat tak, že návrhář staví model navrhovaného regulátoru z předdefinovaných bloků Simulink a po stisknutí jediného tlačítka (je-li již správně zvolena konfigurace) dojde ke kompletnímu překladu a přenosu výsledného kódu do řídící jednotky.

Interaktivní způsob tvorby a simulace modelů se spouští z příkazové řádky systému Matlab příkazem simulink. Po spuštění je vytvořeno okno pro tvorbu nového modelu a okno obsahující základní nabídku otvírání knihoven zdrojů signálů, základních spojitých, diskrétních a nelineárních bloků a bloků pro zobrazování a ukládání signálů. Pod touto interaktivní obálkou se skrývá systém velmi podobný grafickému subsystému s obdobnými funkcemi simget a simset. Další vrstva funkcí umožňuje již komfortnější neinteraktivní tvorbu modelů systémů. 

 

Popis nejdůležitějších bloků knihovny simulinku :

   Menu Sinks: 

- bloky tohoto menu se používají pro zobrazení výstupů

Výstupem tohoto bloku je graf, v něm je dále možné posouvat graf v osách x a y. Tlačítko autoscale zobrazí graf v automatickém měřítku

 

Obr.2.2.Ukázka grafu

 

Na liště grafu jsou ikony pro tisk, nastavení dalších parametrů a zoom v ose x a y.

 

Blok To Workspace se používá v případě kdy chceme s grafem pracovat později například v prostředí matlabu. Vytvoří proměnné, které ukládá do pole (array). S těmito hodnotami je pak možné dále pracovat.

 

Obr.2.3. Menu bloku To Workspace

 

Aby bylo možné pracovat se získanými hodnotami je nutné vybrat hodnotu Save format jako Array.

    Menu Sources:

  - bloky tohoto menu se používají pro realizaci vstupů obvodu

Tento blok se používá v případě kdy potřebujeme mít na vstupu do obvodu po celou dobu simulce   stále stejnou hodnotu.

 

Tento blok může číst hodnoty dat uložených v proměnné typu pole v pracovním prostředí Matlabu, a ty dále posílat na vstup obvodu.

 

Blok Step realizuje skok mezi dvěma definovatelnými hladinami v určitém čase.

 

                                                                                                                  

Step Time (t) - hodnota času po kterém se skokově změní hodnota vstupu z počáteční na konečnou.

Initial value (a) - počáteční hodnota
Final value (b) - konečná hodnota
Sample time - vzorkovací perioda

Ukázka grafu pro nastavené hodnoty:

Obr.2.4. Menu bloku Step

                                                                                   

Blok Pulse Generator generuje obdélníkové pulsy v určitých časových intervalech.

 

Pulse type - pro simulaci s proměnným krokem musíme nastavit variantu Time Based, pro simulaci v reálném čase, kde se používá pevný krok simulace musíme nastavit variantu Sample-based.

Amplitude (y) - amplituda signálu
Period (T) - perioda signálu
Pulse width - šířka pulsu signálu v procentech z periody (h)
Phase delay (t) - zpoždění signálu

Ukázka grafu pro nastavené hodnoty:

 

Obr.2.5. Menu bloku Pulse Generator

 

Blok Sine Wave generuje sinusový signál.

                                                                                                          

Sine type - pokud zvolíme parametr Time based, bude mít sinusoida spojitý průběh. Zvolíme-li parametr Sample-based můžeme dále ovlivnit počet vzorků za jednu periodu a průběh bude diskréní.
Amplitude - amplituda sinusoidy
Bias - posunutí na ose y
Frequency - frekvence kmitů
Phase - fázové posunutí
Sample time - vzorkovací perioda

Obr.2.6. Menu bloku Sinusoida

    Menu Continuous:

 - bloky tohoto menu se používají pro realizaci soustavy v obvodech se spojitými signály.

Blok Transfer function představuje přenos soustavy

 

Numerator - představuje čitatel  soustavy
Denominator - představuje jmenovatel soustavy
Hodnoty se zapisují vektorově, přenos soustavy tedy bude vypadat následovně:

Obr.2.7. Menu bloku Transfer Fcn

                                                                                                           

Blok Zero-Pole má stejnou funkci jako blok Transfer function

 

Používá se pro soustavy s přenosy, kde je vytknutý parametr s:

Zeros - v čitateli se nevyskytuje s proto pole zůstane  prázdné
Poles - zde se zapisují koeficienty, které po dosazení za s nulují jmenovatel
Gain - zde zapíšeme číselnou hodnotu zlomku, který násobí celý přenos

Obr.2.8.Menu bloku Zero - Pole

 

Blok Transport Delay zpožďuje vstupní signál o předem stanovenou hodnotu.

 

Blok Derivative derivuje vstupní signál podle času.

 

Blok Integrator integruje vstupní signál v aktuálním časovém okamžiku.

Pokud se chceme vyhnout přesažení definovaných úrovní výstupu, zaškrtneme políčko Limit output. Tím se zpřístupní políčka:
Upper saturation limit - nastavení horní hranice
Lower saturation limit - nastavení dolní hranice
Takto můžeme definovat meze ve kterých se budou pohybovat hodnoty integrálu.

Obr.2.9. Menu bloku Integrator

    Menu Discontinuous:

- bloky tohoto menu se používají pro realizaci nespojitostí v obvodech.

Blok Relay realizuje pohyb výstupní hodnoty mezi dvěma stanovenými hranicemi. Využívá se například pro realizaci dvoupolohové regulace.

Switch on point - hodnota při které se výstup zapne, hodnota tohoto parametru musí být vždy vyšší než hodnota Switch off point.
Switch off point - hodnota při ketré se výstup vypne.
Output when on - hodnota které dosáhne výstup při zapnutí
Output when off - hodnota které dosáhne výstup při vypnutí
Rozdíl mezi hodnotou Switch on point a Switch of point je hystereze.

Obr.2.10. Menu bloku Relay

                                                                                                         

Blok Saturation se používá pro limitování signálu do určitých mezí.

                                                                                                     

Upper limit - horní hranice.
Lower limit - dolní hranice.
Pokud je vstupní signál v rozmezí určeném dolní a horní hranicí projde tímto blokem beze změny. Pokud je ale mimo tohle rozmezí, změní se jeho hodnota na dolní nebo horní mez.

  Obr.2.11. Menu bloku Saturation

                                                                                                             

    Menu Math Operations:

- obsahuje bloky pro matematické a logické operace.

Blok Gain se používá pro zesilování signálu.

 

Blok Sum se používá pro sčítání nebo odečítání signálu, a především realizaci zpětné vazby v obvodech.

 

      Menu Ports & Subsystems:

- obsahuje bloky, které pomáhají vytvářet subsystémy.

    Menu Simulink Extras - Additional Linear:

- obsahuje bloky pro realizaci regulátoru a soustavy s počátečními podmínkami.

Blok PID Controller se používá pro realizaci regulátorů typu P, I, D, PI, PD a PID.

 

Proportional - proporcionální složka
Integral - integrační složka
Derivative - derivační složka

  Obr.2.12. Menu bloku PID Controller

                                                                                                         

Blok Transfer Fcn(with initial conditions) se používá pro realizaci soustavy. Je zde také možnost nastavení počátečních podmínek.

Zpět na začátek stránky