1) Simulinkin käynnistäminen

Simulink on MATLABin kanssa toimiva ohjelmisto, ja helpoin tapa käynnistää se on joko MATLAB-komennolla tai klikkaamalla omistettua nappia käyttöliittymässä.

Painamalla nappia pitäisi aueta jotakuinkin tämännäköinen ikkuna. Tässä on aloitusvaihtoehdot, hieman kuin Office-ohjelmistoissa jos luot uuden dokumentin. Examples-välilehdellä voi tutustua kivoihin esimerkkeihin, jos mielenkiintoa on. Tällä kurssilla haluat "Blank Model"-vaihtoehdon.

2) Mallin luominen

Tässä esimerkissä luodaan erittäin yksinkertainen malli, jossa havainnollistetaan Matlab-kytkentä ja jokainen lohkotyyppi.
Jos seurasit edellisiä askelia, pitäisi aueta tämännäköinen ikkuna:

Lohkoja voi selata "Library Browser"-nappulasta aukeavalla ikkunalla, mutta nopein ja käytännöllisin menetelmä (jos tiedät jotakuinkin mitä haluat) on kaksoisklikkaus paikkaan mihin haluat uuden lohkon, jolloin aukeavasta käyttöliittymästä voit hakea lohkoja. Haluamme ensimmäiseksi "Gain"-lohkon:

Nuolinäppäimet+Enter / Leftclick valitsee halutun lohkon, korostettuna kuvassa. Listaan tulevien lohkojen määrä riippuu asentamiesi kirjastojen, työkalulaatikoiden (toolbox) ja itse luomiesi lohkojen määrästä.

Gain-lohko on yksinkertaisesti vakiolla kertominen, eli jos dynaamista systeemiä mallintavassa differentiaaliyhtälössä olisi termi \( a \cdot x(t) \), niin sen voi toteuttaa tällä palikalla. Lohko on kaaviossa kolmion muotoinen, ja kertoo suunnan; ulostulo on sen kärki, sisääntulo sen kanta.
Oletusarvoisesti kertoimen arvo on 1. Lohkon parametrejä voi muokata tuplaklikkauksella tai rightclick-valikosta "Block Parameters (*nimi*)". Aukeaa tämä valikko:

Kyseisellä lohkolla on vain yksi parametri, mutta sille on monia vaihtoehtoja. Kertolaskun tyylin voi muuttaa myös tästä, jos haluaisit suorittaa esimerkiksi matriisituloa. Tätä ei voikkaan tehdä yhdellä numerolla, ja palaamme tähän vielä. Muuta kerroin 1 -> 5 ja sulje ikkuna. Muutoksen pitäisi näkyä kaaviossa.

Tarvitsemme kaavioon vielä kaksi lohkoa; jonkin syötön, ja jonkin mihin viedä tulos. Oppimisen vuoksi käytetään tällä kertaa "Library Browser"-työkalua. Avaa se sen kuvakkeesta (vasen ylälaita, simulation-valikko). Aukeaa tämännäköinen näkymä:


Vaikka samat lohkot saattavat löytyä "Commonly Used Blocks"-alavalikosta, varmasti ne löytyvät "Sinks"- ja "Sources"-valikoista. Etsi ensimmäisestä "Scope", ja vastaavasti toisesta "Sine Wave". Tuplaklikkaamalla avautuu kuvaus- ja parametrikkuna; rightclick+add block to model *nimi* lisää sen kyseiseen malliin. Lisää yksi "Sine Wave"-lohkoa ja kaksi "Scope"-lohkoa. Kun olet lisännyt molemmat, sinulla pitäisi olla nämä lohkot mallissasi:


Asettele ne jotakuinkin näin. Lohkojen yhdistäminen on helppoa: klikkaa nuolenpäätä mistä haluat aloittaa, ja sitten klikkaa sinne minne haluat sen yhdistää. Tämä piirtää nuolen, jonka suunta kertoo mihin suuntaan informaatio kulkee. Yhdestä portista voidaan viedä useampaan; klikkaa nuolta ja sitten toista kohdetta, ja sama tieto viedään myös sinne. Yhdistä siniaaltolähde Gain- ja Scope IN - lohkoihin, ja Gain-lohko Scope OUT-lohkoon, kuten alla. Nimet voi lisätä valitsemalla lohkon, vetämällä kursorin "..." -merkin päälle ja valitsemalla "Show Block Name", ja nimeä voi muokata klikkaamalla. Mallisi pitäisi näyttää tältä:

Jätetään siniaallon parametrit oletusasetuksille. Malli on nyt valmis simuloimista varten.

3) Simuloiminen

Kun malli on valmis simuloimista varten, "Simulation"-valikosta löytyy tälle omistettu osuus. Siitä voi säätää simulaation pituuden, ja simuloida muutamalla erilaisella tavalla. Jätä asetukset paikalleen, ja paina "Run"-nappulaa. Näin yksinkertaisella mallilla ei pitäisi kestää pitkään.

Hetken puksuttamisen jälkeen Simulink palaa alkuperäiseen tilaan. Nähdäksesi tulokset (tällä mallilla) pitää meidän avata kuvaajat: tuplaklikkaa "Scope"-lohkoja, ja aukeaa kummallekkin oma kuvaajaikkuna. Alla olevassa kuvassa on ikkunat viety tasaisesti vierekkäin ja piirretty viiva huipputasolle; nähdään että malli toimii kuten pitäisikin.

Näitä taitoja soveltamalla pääset jo pitkälle. Tehtäviä varten esitellään vielä MATLABiin kytkeminen.

4) MATLABiin kytkeminen ja skriptissä käyttö

Päätämme että haluamme käyttää tätä simulaatiota MATLAB-skriptissä; haluamme ottaa ulostulot työtilaan käyttöön ja määrittää sisääntulot myös työtilassa. Tehdään ensin muutama muutos Simulink-malliin.

  • Ensiksi, poista Scope-lähdöt, ja korvaa esimerkkikuvan "Scope OUT" "To Workspace"-lohkolla.
  • Muuta "To Workspace"-lohkon parametreista tallennusformaatti oletusarvosta "Timeseries" arvoon "Array".
  • Vaihda Sine Wave - lohkon parametreista Amplitude = A ja Frequency = f.
  • Lisäksi, muuta Gain-lohkon parametriksi Gain = a. Halutessasi voit myös muuttaa Workspace-lohkon muuttujan nimeä; esimerkkikuvassa on tehty näin.

Näiden operaatioiden jälkeen malli näyttää tältä:


Kaksi lohkoa hohtavat punaisena, koska Simulink ei tiedä niiden muuttujien arvoa. Ei kuitenkaan tarvitse huolia; tämä korjautuu kun simulaatiota käytetään skriptistä ja muuttujat löytyy MATLABin työtilasta. Siirytään nyt MATLABin puolelle.

Luo uusi MATLAB-skripti ja kopioi tämä koodinpätkä siihen:

%% Malli 1: vakiovahvistettu signaali
% yksinkertainen demonstraatio matlab-kytkennästä.
% Simulink-mallin nimi: simulink_intro.slx
clc, clear

a = 2; % Gain-parametrit
A = 1; f = 1; % Sine Wave - parametrit

out = sim('simulink_intro');
t = linspace(0,10,length(out.signal));

plot(t, out.signal), grid on
hold on
plot(t, sin(t))
hold off

Jotta kaikki toimii luotettavasti, tee kaksi asiaa: tallenna tämä skripti ja simulink-malli samaan kansioon ja aseta working directory tähän kansioon. Tällöin kaiken pitäisi toimia. Ota myös muistiin mallin tiedostonimi, tarvitset sitä pyörittääksesi sen skriptistä. Simulaation käyttäminen tapahtuu sim-komennolla (help sim / doc sim kertoo tarkemmin toiminnasta).

Huomioitavaa on, että out-muuttujaan tallentuu kaikki sim-kommennon paluuarvot, ja haluttu data löytyy out.*to workspace - lohkon parametri* - muuttujasta. Huomaa "dot notation"! Skriptin tulos pitäisi näyttää tältä:


Eli juurikin oikein. Näillä tiedoilla ja taidoilla sinulla on nyt työkalut tehdä Simulink-tehtävä.

Viimeksi muutettu: tiistaina 3. toukokuuta 2022, 15.57