Xcos 2. XCOSIN KÄYTÖN PERUSTEET MALLIEDITORIN KOMENTOJA...9

Samankaltaiset tiedostot
SIMULINK 5.0 Harjoitus. Matti Lähteenmäki

Harjoitus 5: Simulink

Tilayhtälötekniikasta

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II

12. Differentiaaliyhtälöt

Lyhyt tutustumiskierros Simulink-ohjelman käyttöön hydrauliikan simuloinnissa

Harjoitus 7: Dynaamisten systeemien säätö (Simulink)

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

Harjoitus 6: Simulink - Säätöteoria. Syksy Mat Sovelletun matematiikan tietokonetyöt 1

Säätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia

Differentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle /

Lukujonot Z-muunnos Z-muunnoksen ominaisuuksia Z-käänteismuunnos Differenssiyhtälöt. Z-muunnos. 5. joulukuuta Z-muunnos

2. kierros. 2. Lähipäivä

Normaaliryhmä. Toisen kertaluvun normaaliryhmä on yleistä muotoa

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Kompleksiluvun logaritmi: Jos nyt z = re iθ = re iθ e in2π, missä n Z, niin saadaan. ja siihen vaikuttava

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Säätötekniikkaa. Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla

Lukujonot Z-muunnos Z-muunnoksen ominaisuuksia Z-käänteismuunnos Differenssiyhtälöt. Z-muunnos. 1. joulukuuta Z-muunnos

Harjoitus (15min) Prosessia P säädetään yksikkötakaisinkytkennässä säätimellä C (s+1)(s+0.02) 50s+1

SaSun VK1-tenttikysymyksiä 2019 Enso Ikonen, Älykkäät koneet ja järjestelmät (IMS),

Käy vastaamassa kyselyyn kurssin pedanet-sivulla (TÄRKEÄ ensi vuotta ajatellen) Kurssin suorittaminen ja arviointi: vähintään 50 tehtävää tehtynä

Kun järjestelmää kuvataan operaattorilla T, sisäänmenoa muuttujalla u ja ulostuloa muuttujalla y, voidaan kirjoittaa. y T u.

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Luento 2: Liikkeen kuvausta

Ensimmäisen ja toisen kertaluvun differentiaaliyhtälöistä

Harjoitus 7: Dynaamisten systeemien säätö (Simulink)

Differentiaaliyhtälöryhmä

LIITE 1 1. Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa.

Laskuharjoitus 9, tehtävä 6

(s 2 + 9)(s 2 + 2s + 5) ] + s + 1. s 2 + 2s + 5. Tästä saadaan tehtävälle ratkaisu käänteismuuntamalla takaisin aikatasoon:

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

RAKE-vastaanotinsimulaatio. 1. Työn tarkoitus. 2. Teoriaa. 3. Kytkentä. Tietoliikennelaboratorio Versio

DIFFERENTIAALI- JA INTEGRAALILASKENTA

Derivointiesimerkkejä 2

Differentiaali- ja integraalilaskenta 3 Mallit laskuharjoitukseen 3 /

Harjoitus 7: Dynaamisten systeemien säätö (Simulink)

SIMULINK 5.0 Aloitusopas. Matti Lähteenmäki

Vektoriarvoiset funktiot Vektoriarvoisen funktion jatkuvuus ja derivoituvuus

1 Di erentiaaliyhtälöt

3 TOISEN ASTEEN POLYNOMIFUNKTIO

H(s) + + _. Ymit(s) Laplace-tason esitykseksi on saatu (katso jälleen kalvot):

plot(f(x), x=-5..5, y= )

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä?

järjestelmät Luento 8

Integrointi ja sovellukset

GeoGebra-harjoituksia malu-opettajille

5. Z-muunnos ja lineaariset diskreetit systeemit. z n = z

MATLAB harjoituksia RST-säädöstä (5h)

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2

4. Differentiaaliyhtälöryhmät 4.1. Ryhmän palauttaminen yhteen yhtälöön

FUNKTION KUVAAJAN PIIRTÄMINEN

Juuri 12 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

ACKERMANNIN ALGORITMI. Olkoon järjestelmä. x(k+1) = Ax(k) + Bu(k)

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

Lisämateriaalia: tilayhtälön ratkaisu, linearisointi. Matriisimuuttujan eksponenttifunktio:

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 2 Kevät 2017

5.3 Ensimmäisen asteen polynomifunktio

Juuri 7 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty c) sin 50 = sin ( ) = sin 130 = 0,77

Differentiaaliyhtälöryhmän numeerinen ratkaiseminen

SIMULINK S-funktiot. SIMULINK S-funktiot

Matemaattinen Analyysi

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin

6. Differentiaaliyhtälösysteemien laadullista teoriaa.

Tehtävä 1. Vaihtoehtotehtävät.

3. kierros. 1. Lähipäivä

Differentiaaliyhtälöt II, kevät 2017 Harjoitus 5

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 1 Kevät y' P. α φ

x + 1 πx + 2y = 6 2y = 6 x 1 2 πx y = x 1 4 πx Ikkunan pinta-ala on suorakulmion ja puoliympyrän pinta-alojen summa, eli

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/

Y (s) = G(s)(W (s) W 0 (s)). Tarkastellaan nyt tilannetta v(t) = 0, kun t < 3 ja v(t) = 1, kun t > 3. u(t) = K p y(t) K I

Esimerkki: Tarkastellaan korkeudella h ht () putoavaa kappaletta, jonka massa on m (ks. kuva).

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

2 Pistejoukko koordinaatistossa

Derivaatan sovellukset (ääriarvotehtävät ym.)

y=-3x+2 y=2x-3 y=3x+2 x = = 6

Säätötekniikkaa. Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla

y = 3x2 y 2 + sin(2x). x = ex y + e y2 y = ex y + 2xye y2

A-osa. Ratkaise kaikki tämän osan tehtävät. Tehtävät arvostellaan pistein 0-6. Taulukkokirjaa saa käyttää apuna, laskinta ei.

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 10: Ensimmäisen kertaluvun differentiaaliyhtälö

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

x (t) = 2t ja y (t) = 3t 2 x (t) + + y (t) Lasketaan pari käyrän arvoa ja hahmotellaan kuvaaja: A 2 A 1

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

TIMMI-TILAVARAUSOHJELMISTO

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Juuri 12 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Värähtelevä jousisysteemi

Kuvaus. Määritelmä. LM2, Kesä /160

Differentiaali- ja integraalilaskenta 2 (CHEM) MS-A0207 Hakula/Vuojamo Kurssitentti, 12.2, 2018, arvosteluperusteet

Transkriptio:

XCOS Timo Mäkelä

2 Sisällysluettelo 1. YLEISTÄ...1 2. XCOSIN KÄYTÖN PERUSTEET...1 2.1 2.2 2.3 2.4 DEMOT...1 KÄYNNISTÄMINEN...2 MALLIN RAKENTAMINEN...4 SIMULOINTI...7 3. MALLIEDITORIN KOMENTOJA...9 3.1 3.2 3.3 3.4 LOHKOIHIN LIITTYVIÄ KOMENTOJA...9 SIGNAALIVIIVOIHIN LIITTYVIÄ KOMENTOJA...10 MALLIEDITORIN KOMENTOJA...11 KONTEKSTI...11 4. ALIJÄRJESTELMÄT...13 4.1 ALIJÄRJESTELMÄN LUONTI...13 5. TULOSTEN ANALYSOINTI...18 5.1 PIIRTO...18 5.2 TALLENNUS SCILABIIN...23 6. ESIMERKKEJÄ...27 6.1 JATKUVA JÄRJESTELMÄ...27 6.1.1 Differentiaaliyhtälön lohkokaavioesitys...28 6.1.2 Siirtofunktioesitys...35 6.1.3 Tilaesitys...38 6.2 DISKREETTI JÄRJESTELMÄ...41 6.2.1 Differenssiyhtälön lohkokaavioesitys...41 6.2.2 Siirtofunktioesitys...45 6.2.3 Tilaesitys...48 6.3 LENTORATA HEITTOLIIKKEESSÄ...51 6.3.1 Ilmanvastusta ei huomioida...51 6.3.2 Ilmanvastus huomioidaan...55 6.4 TAKAISINKYTKETTY JÄRJESTELMÄ JA PID-SÄÄDIN...59 6.4.1 PID-säädin...59 6.4.2 Pinnankorkeuden säätäminen...61

3 7. LOHKOJEN ESITTELY...64 7.1 SOURCES...64 7.2 SINKS...68 7.3 MATHEMATICAL OPERATIONS...70 7.4 CONTINUOUS TIME SYSTEMS...73 7.5 DISCRETE TIME SYSTEMS...75 7.6 SIGNAL ROUTING...77 7.7 DISCONTINUITIES...78 7.8 LOOKUP TABLES...83 7.9 MATRIX...84 7.10 EVENT HANDLING...84 7.11 ZERO CROSSING DETECTION...84 7.12 COMMONLY USED BLOCKS...85 7.13 USER-DEFINED FUNCTIONS...85 7.14 PORT & SUBSYSTEMS...85

1. 1 YLEISTÄ on Scilabissa oleva graafinen, vuorovaikutteinen simulointiohjelma, jolla voi mallintaa simuloida analysoida dynaamisia järjestelmiä. illa voi tutkia mm. mekaanisia, sähköisiä ja termodynaamisia järjestelmiä. Järjestelmät voivat olla lineaarisia tai epälineaarisia aikajatkuvia1, aikadiskreettejä tai sekajärjestelmiä. Mallintamiseen tarjoaa graafisen käyttöliittymän, jossa järjestelmä luodaan hiirtä käyttäen. Mallit ovat hierarkkisia. Tämä mahdollistaa mallin rakentamisen top-down tai bottom-up menetelmällä mallin tarkastelun korkealla hierarkiatasolla, jossa alemman hierarkiatason osat ovat mustia laatikoita. Simulointituloksia voidaan tarkastella graafisesti. Mallin analysoinnissa ovat käytettävissä Scilabin monipuoliset analysointikomennot. Järjestelmän tutkiminen koostuu seuraavista vaiheista: 1. Luodaan järjestelmän malli mallieditorilla. Malli kuvaa graafisesti järjestelmän sisäänmenojen, ulostulojen ja tilojen välisiä yhteyksiä. 2. Simuloidaan järjestelmän käyttäytymistä. 3. Analysoidaan tuloksia. Mahdollisesti korjataan mallia. Työskentely on usein iteratiivista: mallia vuorotellen muokataan ja analysoidaan. Tavoitteena on mallin haluttu käyttäytyminen. 2. XCOSIN KÄYTÖN PERUSTEET 2.1 Demot iin tutustumisessa voi käyttää apuna valmiita demoja. Demot saa käyttöön painikkeella tai valikkokomennolla?: Scilab Demonstrations, jolloin aukeaa valintaikkuna Demos. Tästä valitaan. Siitä edelleen haluttu demotyyppi ja sitten haluttu demo. 1 Seuraavassa aikajatkuvia järjestelmiä sanotaan lyhyesti jatkuviksi järjestelmiksi ja aikadiskreettejä järjestelmiä diskreeteiksi järjestelmiksi.

2 Demo ajetaan painamalla painiketta tai valikkokomennolla Simulation: Start. Simulointi voidaan tarvittaessa lopettaa ja keskeyttää painikkeella tai valikkokomennolla Simulation: Stop. Simulointiparametreja voi muuttaa valikkokomennolla Simulation: Setup. Lohkojen parametrien arvoja voi muuttaa ja kokeilla niiden vaikutuksia. Demo suljetaan normaaliin Windowstapaan oikean yläkulman ruksista. Jos demon parametrien arvoja on muutettu, tulee seuraava kysymys: Tähän on syytä vastata No, jotta perusdemoihin ei tehtäisi pysyviä muutoksia. Jos muutettu demo halutaan tallentaa, on se hyvä tallennettaa käyttäjän omaan työhakemistoon valikkokomennolla File: Save as 2.2 Käynnistäminen Kun Scilab on käynnistetty, voidaan käynnistää painikkeella antamalla valikkokomento Applications:. Kirjoittamalla Scilabin komentoikkunassa komento xcos. Tällöin aukeavat in mallieditori ja lohkoselain. Simuloitava järjestelmä rakennetaan mallieditoriin.

3 Editori-ikkunan valikkokomennolla File: Open tai painikkeella aloitetaan vanhan mallin muokkaus. Editori-ikkunassa voidaan antaa komentoja painikkeita, valikoita tai putkahdusvalikoita käyttäen. Help toimii seuraavasti: Painetaan painiketta tai näppäintä F1 tai annetaan valikkokomento?: xcos Help Valitaan hiirellä lohko, painetaan hiiren oikeaa painiketta ja valitaan komento Block Help. Simuloitavan järjestelmän malli rakennetaan käyttäen valmiita lohkoja, jotka sijaitsevat lohkoselaimessa. Jos lohkoselain ei ole esillä, sen saa esille valitsemalla mallieditorin valikostosta View kohta Palette browser. Lohkopaletistot on ryhmitelty ikkunan vasemmalle puolelle. Oikealla puolella ovat paletistot lohkot.

2.3 4 Mallin rakentaminen Dynaamisen järjestelmän malli määritetään graafisesti lohkokaaviomuodossa. Tämä tapahtuu seuraavasti: 1. Mallin lohkot kopioidaan lohkoselaimesta mallieditoriin. Lohkoissa on sisäänmenoja ja/tai ulostuloja. 2. Lohkojen välillä kulkevat signaalit luodaan vetämällä viivoja lohkojen ulostulojen ja sisäänmenojen välille. Signaali voidaan haaroittaa useampaan haaraan. 3. Määritetään mallin parametreille arvot lohkojen parametri-ikkunoissa. ESIMERKKI: Tutustuminen. Luodaan malli, joka integroi sinikäyrän y =3 sin( 2 π x ) piirtää integroidun käyrän ja alkuperäisen sinikäyrän. Mallin lohkokaavio on seuraavanlainen: Luodaan tämä malli: 1. Avataan in mallieditori esim. Scilabin valikkokomennolla Applications:. 2. Kopioidaan lohkot lohkoselaimen paletistoista. Lohkon kopiointi tapahtuu hiirellä vetämällä. Mallin lohkot löytyvät seuraavista lohkopaletistoista1: Sin generator: Sources Integration: Continuous time system tai Commonly Used Blocks Multiplexer: Signal Routing tai Commonly Used Blocks Single display scope: Sinks Activation clock: Event handling tai Sources Lohkoa voi siirtää hiirellä vetämällä. Virheellinen lohko voidaan poistaa klikkaamalla hiirellä lohkoa ja painamalla Delete-näppäintä. Malli näyttää nyt seuraavanlaiselta: 1 Lohkoille on käytetty lohkon helpissä olevaa nimeä.

5 Mallin lohkossa Sin generator on vain yksi ulostulo Single display scope on yksi normaalin1 signaalin sisäänmeno ja yksi ajastussignaalin sisäänmeno Integration on yksi sisäänmeno ja yksi ulostulo Multiplexer on kaksi sisäänmenoa ja yksi ulostulo Activation clock on yksi ajastussignaalin ulostulo 3. Yhdistetään lohkot signaaliviivoilla. Tämä tapahtuu aloittamalla viivan veto lohkon ulostuloportista hiiren vasen näppäin painettuna, vetämällä se lohkon sisäänmenoportin päälle ja klikkaamalla hiiren vasenta näppäintä. Viiva voidaan vetää myös sisäänmenoportista ulostuloporttiin. Malli sisältää yhden signaalin haaroituksen. Tämä toteutetaan vetämällä sisäänmenoportista signaaliviiva haaroitettavan signaalin päälle2. Malli sisältää myös signaaliviivan mutkia. Nämä saadaan aikaiseksi näppäämällä hiirellä mutkan kohdalla ja sitten jatkamalla viivan vetoa haluttuun suuntaan. Viivan voi poistaa klikkaamalla hiirellä viivaa ja painamalla Delete-näppäintä. Mallissa on kahdenlaisia viivoja: Mustat viivat välittävät mallin signaaleja Punaiset viivat välittävät ajastussignaaleja. Malli on nyt seuraavanlainen: 1 2 Normaalia signaalia sanotaan usein lyhyesti signaaliksi. Tämä toiminto ei tuntuu toisinaan vähän takkuilevan.

6 4. Määritetään mallin parametreille arvot. Lohkon parametrit asetetaan lohkon parametri-ikkunassa, joka aukaistaan kaksoisklikkaamalla lohkoa tai painamalla hiiren oikeaan painiketta lohkon päällä ja valitsemalla Block Parameters. Asetetaan lohkon Sin generator parametrit kuvan mukaisesti: Asetetaan lohkon Activation clock parametrit kuvan mukaisesti:

7 Malli voidaan tallentaa editori-ikkunan valikkokomennolla File: Save. 2.4 Simulointi Ennen simulointia on syytä asettaa simulointiparametrit. Tämä tapahtuu valikkokomennolla Simulation: Setup. Tällöin aukeaa ikkuna, jossa voidaan mm1. asettaa lopetusaika (Final integration time). Simuloinnin aloitusaika on aina 0. säätää integroinnin tarkkuutta (Integrator absolute tolerance, Integrator relative tolerance) määrittää suurin askelpituus (maximum step size) Simulointi käynnistetään painikkeella voidaan lopettaa painikkeella tai valikkokomennolla Simulate: Start. tai valikkokomennolla Simulation: Stop. Normaalisti lopetuskomentoa ei tarvitse antaa: simulointi pysähtyy, kun lopetusaika on saavutettu. 1 Kaikkien parametrien merkitystä en tiedä.

8 ESIMERKKI: Tutustuminen (jatkoa). Suoritetaan mallin simulointi aikavälillä 0 5. Simulointiparametrien asetukset näkyvät edellä olevassa kuvassa. Simuloinnin ulostulo tulee grafiikkaikkunaan, jonka parametreja voidaan säätää lohkossa Single display scope. Lohkon asetukset ovat seuraavat: Simuloinnin tulos on seuraavanlainen:

3. MALLIEDITORIN KOMENTOJA 3.1 Lohkoihin liittyviä komentoja 9 in mallit rakennetaan lohkoista. Lohkoilla voi olla sisäänmenoja ja ulostuloja, joita yhdistetään toisiinsa signaaliviivoilla. Signaaliviivoja on kahdenlaisia: normaali signaali ajastussignaali. Lohkoihin liittyviä toimenpiteitä saadaan aikaiseksi valitsemalla lohko ja antamalla putkahdusvalikkokomento tai valikkokomento. Tässä esitetään pääasiassa putkahdusvalikkokomentoja. Vastaava valikkokomento löytyy yleensä valikosta Edit. Lohkoparametrien asettamien: Lohkon parametreja voidaan asettaa aukaisemalla lohkon parametri-ikkuna kaksoisklikkaamalla lohkoa tai valitsemalla putkahdusvalikosta komento Block Parameters... Parametri voi olla luku tai mallin kontekstissa määriteltyjä muuttujia sisältävä lauseke. Kopiointi/Liittäminen: Lohko kopioidaan mallin sisällä joko vetämällä hiirellä Ctrlnäppäin painettuna tai putkahdusvalikkokomennoilla Copy/Paste. Kopiolla on samat parametrit kuin alkuperäisellä lohkolla. Poistaminen: Lohkoja voidaan poistaa normaaliin Windows-tyyliin. Siirtäminen: Mallissa olevia lohkoja voi siirtää hiirellä vetämällä. Siirto voi kohdistua myös useaan valittuun elementtiin. Suunnan muuttaminen: Oletusarvoisesti signaalit kulkevat lohkossa vasemmalta oikealle: sisäänmeno on vasemmalla ja ulostulo oikealla. Suunnan voi muuttaa putkahdusvalikonkomennoilla o Rotate (Ctrl + R), joka kiertää lohkoa 90 vastapäivään o Mirror (Ctrl+M), joka peilaa lohko vaakasuunnassa o Flip (Ctrl+F), joka peilaa lohkon pystysuunnassa. o Flip Block, joka kiertää lohkoa 180 Lohkon koon muuttaminen: Lohkon koon voi muuttaa vetämällä hiirellä lohkon ympärillä olevista vihreistä neliöistä. Lohkon ulkonäön muuttaminen: Komennolla Format: Edit... aukeaa ikkuna, josta voi muuttaa lohkon ulkonäköä.

10 Help: Lohkon helpin saa esille komennolla Block Help 3.2 Signaaliviivoihin liittyviä komentoja Mallissa on kahdenlaisia viivoja: Mustat viivat välittävät mallin signaaleja Punaiset viivat välittävät ajastussignaaleja. Seuraavassa on esitetty signaaliviivoihin liittyviä toimintoja: Viivan vetäminen lohkojen välille tapahtuu tapahtuu aloittamalla viivan veto lohkon ulostuloportista hiiren vasen näppäin painettuna, vetämällä se lohkon sisäänmenoportin päälle ja klikkaamalla hiiren vasenta näppäintä. Viiva voidaan vetää myös sisäänmenoportista ulostuloporttiin. Viivan mutkat saadaan näppäämällä hiirellä mutkan kohdalla ja sitten jatkamalla viivan vetoa haluttuun suuntaan. Viivan haaroittaminen: Haaroittamalla olemassa oleva viiva voidaan sama signaali syöttää usealle lohkolle. Haaroitus toteutetaan o vetämällä lohkon sisäänmenoportista viiva haaroitettavan signaalin päälle tai o klikkaamalla hiirellä haaroitettavaa viivaa ja vetämällä viiva lohkon sisäänmenoporttiin. Viivan vetäminen keskeytetään painamalla Esc-näppäintä. Viivan poistaminen tapahtuu klikkaamalla hiirellä viivaa ja painamalla Delete-näppäintä. Viivan muokkaaminen tapahtuu klikkaamalla viivaa ja vetämällä hiirellä vasen näppäin painettuna. Viivan muodon muuttaminen: Putkahdusvalikkokomennolla Format: Edit... aukeaa ikkuna, josta voi muuttaa viivan ulkonäköä, mm. väriä.

11 Viivan liittymäsuunta: Putkahdusvalikkokomennolla Link Style voi määrittää sen missä suunnassa viiva liittyy lohkoon (Horizontal, Straigth, Vertical). Lohkojen asettaminen samalle linjalle tapahtuu putkahdusvalikkokomennolla Format: Align Blocks. 3.3 Mallieditorin komentoja Valikkokomennolla Format: Diagram background... voi asettaa mallieditorin pohjavärin Format: Grid voi asettaa verkon, joka auttaa mallin elementtien kohdistamisessa. Edit: Undo/Redo voi peruuttaa/antaa uudelleen komennon Valikkokomentoja löytyy myös putkahdusvalikoista. Mallin vapaalle alueelle saa tekstiä kaksoisklikkaamalla pariin kertaan mallin taustaa ja kirjoittamalla tai kopioilla malliin tekstilohko Text lohkokirjastosta Commonly Used Blocks. 3.4 Konteksti Jokaisella mallilla on oma kontekstinsa, jossa on omat muuttujansa. Tämä mahdollistaa muuttujien käyttämisen mallin parametrien määrittämisessä. Mallin konteksti luodaan valikkokomennolla Simulation: Set Context tai putkahdusvalikkokomennolla set Context. Tällöin aukeaa ikkuna, jossa voi määritellä muuttujia. ESIMERKKI: Tutustuminen (jatkoa). Luodaan mallille seuraava konteksti:

12 Käytetään tässä määriteltyjä muuttujia lohkon Sin generator parametreina: Simulointitulos on nyt seuraavanlainen:

4. 13 ALIJÄRJESTELMÄT Laajat järjestelmät on syytä rakentaa alijärjestelmiä käyttäen. Tällöin mallin rakenne on paremmin hahmotettavissa, sillä voidaan rakentaa hierarkkisia kaavioita, jossa järjestelmä on jaettu toiminnan mukaisiin alijärjestelmiin. lohkot, jotka suorittavat tietyn tarkasti rajatun osa-alueen, voidaan pitää yhdessä. malli-ikkunassa olevien lohkojen määrä vähenee. 4.1 Alijärjestelmän luonti Alijärjestelmiä voidaan rakentaa kahdella eri tavalla: rakentamalla alusta lähtien ryhmittämällä olemassa olevia lohkoja. Alusta lähtien rakentaminen tapahtuu seuraavasti: 1. Kopioidaan malliin lohko Super block lohkopaletistosta Port & Subsystem. 2. Avataan lohko Super block kaksoiklikkaamalla. 3. Rakennetaan alijärjestelmä, jonka o sisäänmenoihin käytetään lohkokirjaston Port & Subsystem tai Sources lohkoa Input Port. o ulostuloihin käytetään lohkokirjaston Port & Subsystem tai Sinks lohkoa Output Port. Sisäänmeno- ja ulostulolohkot on numeroitava juoksevasti kokonaisluvusta 1 lähtien aukaisemalla lohkon parametri-ikkuna kaksoisklikkaamalla lohkoa.

14 Olemassa olevien lohkojen ryhmittäminen tapahtuu seuraavasti: 1. Valitaan hiirellä lohkot ja signaalit, jotka halutaan sisällyttää alijärjestelmään. 2. Annetaan putkahdusvalikkokomento Region to superblock tai valikkokomento Edit: Region to superblock. 3. Siirrytään alijärjestelmään ja laitetaan sinne sisäänmeno- ja ulostulolohkot. Siirtyminen järjestelmästä alijärjestelmään tapahtuu kaksoisklikkaamalla lohkoa Super block. alijärjestelmästä yläjärjestelmään tapahtuu putkahdusvalikkokomennolla Show parent diagram tai valitsemalla yläjärjestelmä ikkuna. ESIMERKKI 1. Alijärjestelmän rakentaminen alusta lähtien. Jakolasku voidaan toteuttaa seuraavalla alijärjestelmällä1: Alijärjestelmässä on käytetty lohkopaletiston Mathematical Operations lohkoja Multiplication ja Inverse. Alijärjestelmää voidaan käyttää seuraavassa jakolaskun suorittavassa järjestelmässä: 1 Jakolasku voidaan toteuttaa suoraan lohkopaletiston Mathematical Operations lohkolla Product

15 Järjestelmässä on käytetty lohkoja Constant lohkopaletistosta Sources Display lohkopaletistosta Sinks. ESIMERKKI 2. Alijärjestelmän rakentaminen olemassa olevien lohkoja ryhmittämällä. Piirretään funktion f ( x )=5 e 0,3 x sin 2 π x kuvaaja. Toteutetaan tämä seuraavalla mallilla1. Järjestelmässä on käytetty seuraavia lohkoja Lohkopaletistosta Sources: o Constant, Time, Activation clock Lohkopaletistosta Mathematical Operations: o Multiplication, Product, Gain, Exponential, Trigonometric function Lohkopaletistosta Sinks: 1 Malli voitaisiin toteuttaa yksinkertaisemmin lohkopaletiston User-Defined Function lohkolla Mathematical Expression.

o Single Display Scope Lohkojen parametreille on asetettu seuraavia arvoja: Lohko Product: Kolmen kertolasku saadaan aikaan seuraavasti: Lohko Single Display Scope: Lohko Activation clock: Simulointi välillä 0..10 tuottaa seuraavan tuloksen: 16

17 Luodaan funktiosta alijärjestelmä seuraavasti: 1. Maalataan hiirellä kaikki muut lohkot paitsi Time, Single Display Scope ja Activation clock. 2. Annetaan putkahdusvalikkokomento Region to Super Block. Tällöin järjestelmässä hiirellä maalattu osa korvautuu lohkolla Super block, jolloin järjestelmä on seuraavanlainen (hieman muokattuna): Alijärjestelmä, johon päästään kaksoisklikkaamalla muodostunutta lohkoa Super block sisältää nyt sisäänmeno- ja ulostulolohkot.

18 Uuden järjestelmän simulointi tuottaa tietenkin saman tuloksen. 5. TULOSTEN ANALYSOINTI 5.1 Piirto Simuloinnissa esiintyvien signaalien kuvaajia voidaan piirtää johtamalla signaalit lohkopaletiston Sinks lohkoihin1 Single Display Scope Multi Display Scope y=f(x) permanent viewer ESIMERKKI 1. Piirretään sykloidi 1 Muitakin lohkoja voidaan käyttää.

19 x=t sin t, t [0, 4 π ]. {y=1 cos t Käyrä on annettu parametrimuodossa: x- ja y-koordinaatit ovat parametrin t muuttujia. Sykloidin piirto tapahtuu seuraavalla mallilla. Mallissa on käytetty lohkoja Time lohkopaletistosta Sources Activation clock lohkopaletistosta Sources Mathematical expression lohkopaletistosta User-Defined Functions y=f(x) permanent viewer lohkopaletistosta Sinks. Lohkojen Mathematical expression alapuolelle on lisätty tekstit x ja y. Lohkojen parametreille on asetettu seuraavia arvoja: Lohko Mathematical expression x: yksi sisäänmeno, muuttuja u1. Lohko y=f(x) permanent viewer: color 1 (musta), x:n ja y:n välit asetettu.

20 Simulointi välillä [0, 15] tuottaa seuraavanlaisen kuvaajan: ESIMERKKI 2 Piirretään funktiot { y =t sin t y =1 cos t, t [0,4 π ] y =t samaan kuvaan ja eri kuviin. Toteutetaan piirto seuraavalla mallilla.

21 Mallissa on käytetty lohkoja Time lohkopaletistosta Sources Activation clock lohkopaletistosta Sources Mathematical expression lohkopaletistosta User-Defined Functions Multiplexer lohkopaletistosta Signal Routing Multi Display Scope lohkopaletistosta Sinks Single Display Scope lohkopaletistosta Sinks Lohkojen parametreille on asetettu seuraavia arvoja: Lohko Multi Display Scope: Asetettu kolme sisäänmenoa kohdassa input ports sizes, y:n arvovälit kullekin sisäänmenolle kohdissa Ymin vector ja Ymax vector, piirtovälit kohdassa Refesh period.

22 Lohko Single Display Scope: Asetettu y:n arvoväli kohdissa Ymin ja Ymax, piirtovälit kohdassa Refesh period. Simulointi toteutetaan välillä [ 0, 4π ]. Lasketaan päätepisteen numeerinen arvo Scilabissa: -->4*%pi ans = 12.566371 Asetetaan simulointivälin päätepisteelle valikkokomennolla Simulation: Setup arvo 12,566. Tulkset: Multi Display Scope:

23 Single Display Scope: 5.2 Tallennus Scilabiin Simulointitulos voidaan tallentaa Scilabin työtilaan johtamalla signaali lohkopaletiston Sinks lohkoon Data to Scilab workspace Lohkon parametri-ikkuna on seuraavanlainen: Parametri-ikkunan kohdassa Size of buffer asetetaan ulostulomuuttujan maksimikoko. Sen on oltava niin iso, että koko haluttu data mahtuu siihen. Jos koko data ei mahdu ulostulomuuttujaan, niin datan alku vuotaa pois. Scilab variable name annetaan ulostulomuuttujan nimi. Ulostulomuuttuja on lista, joka koostuu simulointiajoista ja simulointiarvoista. Jos ulostulomuuttuja on A, niin simulointiajat on muuttujassa A.time ja simulointiarvot muuttujassa A.values. Inherit määritetään milloin data tallennetaan:

24 o 0: aktivointisignaalin määrääminä ajankohtina. Tällä voidaan vaikuttaa ulostulodatan kokoon. o 1: datan muodostuksen tahdissa. ESIMERKKI 1: Tallennus datan muodostuksen tahdissa. Tarkastellaan siirtofunktiona annetun järjestelmän vastetta, kun herätteenä on askelfunktio. Järjestelmän malli on seuraava: Mallissa on piirretty kuvaaja myös lohkoa Single Display Scope käyttäen. Mallin muita lohkoja ovat: Step function generator lohkopaletistosta Sources. Continuous transfer function lohkopaletistosta Continuous time systems. Lohkojen parametriasetukset ovat seuraavat: Step function generator: Continuous transfer function:

25 Data to Scilab workspace: Simuloinnin ulostulo tallennetaan muuttujaan y. Varataan taulukon kooksi 1000. Ulostulo on tapahtumaohjattu (Inherit: 1). Single Display Scope: Kohdassa Accept herited events valinta 1 merkitsee sitä, että ajastussignaalia ei tarvitse vetää. Ajastussignaali on kuitenkin tuotettava loh.kolla Activation clock Suoritetaan simulointi välillä [0, 20 ]. Single Display Scope antaa seuraavan kuvan:

26 Siirrytään nyt Scilab ja tulostetaan y: -->y y = values: [911x1 constant] time: [911x1 constant] Muuttuja y on siis lista, joka koostuu simulointiajoista y.time ja simulointiarvoista y.values. Simulointidataa voidaan nyt analysoida Scilabin komennoilla. Viimeinen tallennettu ajanhetki on -->y.time($) ans = 20. Kuvaaja voidaan piirtää Scilabin komennolla. -->plot2d(y.time,y.values,rect=[0,0,20,1.5]) Kuvaaja on samanlainen, kuin aiemmin saatu. ESIMERKKI 2: Tallennus aktivointisignaalin määrääminä ajankohtina. Muunnetaan Esimerkin 1 malli seuraavanlaiseksi:

27 Tässä lohkon Data to Scilab workspace parametriasetukset ovat ja aktivointisignaalilohkon Activation clock parametriasetukset ovat Simulointi välillä [0, 20 ] tuottaa muuttujan seuraavanlaisen muuttujan z: -->z z = values: [200x1 constant] time: [200x1 constant] ja viimeinen tallennettu ajanhetki on -->z.time($) ans = 19.9 Esimerkin 2 tavassa ulostulodatan koko on siis ennakoitavissa. 6. ESIMERKKEJÄ 6.1 Jatkuva järjestelmä Differentiaaliyhtälöiden numeerisesta ratkaisemisesta simulaattorilla illa voidaan todeta seuraavaa: Epälineaarinen differentiaaliyhtälö on ratkaistava lohkokaavioesitystä käyttäen.

28 Lineaarinen vakiokertoiminen differentiaaliyhtälö, jonka alkuarvot ovat nollia voidaan ratkaista joko lohkokaavioesitystä tai siirtofunktioesitystä käyttäen. 6.1.1 Differentiaaliyhtälön lohkokaavioesitys Differentiaaliyhtälön esittäminen lohkokaaviona perustuu lohkopaletiston Continuous time systems lohkoon Integration. Lohkopaletistosta löytyy kaksi Integration-lohkoa Näistä jälkimmäisen lohkon parametriasetukset ovat vähän monipuolisemmat. Lisäksi jälkimmäinen lohko integroi vektori-signaalia. Tästä syystä seuraavassa on käytetty jälkimmäistä lohkoa. Myös1 edellistä lohkoa voidaan käyttää skalaarisignaalin tapauksessa. Lohkon Integration sisäänmenona on funktio f (t ) Lohkon parametri-ikkunassa kohdassa2 Initial Condition voidaan asettaa integraalin alkuarvo F0. Lohkon ulostulona on integraali t F (t )= f (u) du+f 0 0 Derivoimalla saadaan tämä muotoon 1 2 En tiedä, onko toiminnassa eroja, jos sisäänmenona on skalaarisignaali. Muita kohtia ei normaalisti tarvitakaan.

29 { F ' (t )= f (t ) F (0)= F 0 Derivoidussa muodossa lohkokaavio voidaan esittää seuraavasti Tässä lohko Integration sisältää funktion F ( t ) alkuehdon F 0. On huomattava, että lohkon Integration sisäänmenossa on ulostulon derivaatta lohkon alkuarvo on ulostulon alkuarvo simuloinnin alkuhetkellä 0. Lohko voidaan esittää myös muodossa missä lohkon Integration alkuarvo on nolla. Tässä esityksessä alkuehto voidaan laskea mallissa. Toinen derivaatta toteutetaan kahdella peräkkäisellä integraattorilla kolmas derivaatta kolmella peräkkäisellä integraattorilla jne. Kertalukua n olevan differentiaaliyhtälön alkuarvoprobleema voidaan ratkaista, jos korkein derivaatta pystytään ratkaisemaan. Differentiaaliyhtälö on tällöin muotoa y (n)= f (t, y, y ', y ' ',, y (n 1)) y (0)= y 0, y ' (0)= y 1, y ' ' (0)= y 2,, y(n 1) (0)= y n 1. Differentiaaliyhtälö ratkaistaan käyttäen seuraavia periaatteita: Muodostetaan n peräkkäin olevaa integraattoria. Näistä ensimmäisen sisäänmeno on y (n), toisen sisäänmeno y (n 1) viimeisen sisäänmeno y ' ja ulostulo y. Integraattoreissa otetaan huomioon alkuehdot. Muodostetaan takaisinkytkentä, joka perustuu differentiaaliyhtälön algebralliseen lausekkeeseen.

30 Differentiaaliyhtälöryhmien alkuarvoprobleemien ratkaisemisessa voidaan käyttää samanlaisia periaatteita. Takaisinkytkentä voidaan toteuttaa avoimena lohkokaaviona, joka sisältää lohkokaaviomuodossa differentiaaliyhtälön lausekkeen suljettuna lohkokaaviona, joka toteutetaan lohkopaletiston User-Defined Functions lohkoa Mathematical Expression käyttäen. Lohko Mathematical Expression sisältää algebrallisessa muodossa differentiaaliyhtälön lausekkeen. ESIMERKKI. van der Polin yhtälö. Ratkaistaan van der Polin yhtälö y ' ' (1 y 2 ) y '+ y=0 alkuehdoilla y (0)=2, y ' (0)=0. Yhtälö on epälineaarinen, joten se on ratkaistava lohkokaavioesitystä käyttäen. Ratkaistaan korkein derivaatta: y ' ' =(1 y 2 ) y ' y Tapa 1: Avoin lohkokaavioesitys: Takaisinkytkennän muodostamisessa on käytetty mm. lohkoja Matrix summation lohkopaletistosta Mathematical Operations Multiplication lohkopaletistosta Mathematical Operations Power lohkopaletistosta Mathematical Operations Constant lohkopaletistosta Sources Joidenkin lohkojen suunta on käännetty putkahdusvalikkokomennolla Format: Mirror. Differentiaaliyhtälön alkuehdot on asetettu Integration-lohkoihin. Tapa 2: Suljettu lohkokaavioesitys:

31 Lohko Mathematical Expression sisältää toisen derivaatan y ' ' lausekkeen: Simuloinnin tulos aikavälillä 0..20 on seuraavanlainen: Edellä differentiaaliyhtälön alkuehdot on annettu pisteessä 0. Jos differentiaaliyhtälön alkuehdot on annettu pisteessä t 0, suoritetaan muuttujan vaihto: asetetaan t=t 0 +u u=t t 0.

32 Tällöin funktiolle z (u)= y (t 0 +u) pätee z (k ) (u)= y (k )(t 0 +u) kaikilla k =0,1,2,. Jos funktio y (t ) toteuttaa differentiaaliyhtälön y (n)= f (t, y, y ', y ' ',, y (n 1)) niin funktiolle z (u) pätee z (n) (u)= y(n) (t 0+u) = f (t 0+u, y (t 0 +u), y ' (t 0 +u), y ' ' (t 0+u),, y(n 1) (t 0+u )) = f (t 0+u, z (u), z ' ( u), z ' ' (u),, z(n 1) (u)) Alkuehtoa y (t 0 )= y0, y ' (t 0 )= y 1, y ' ' (t 0 )= y 2,, y(n 1) (t 0 )= y n 1 vastaa alkuehto z (0)= y 0, z ' (0)= y 1, z ' ' (0)= y 2,, z (n 1) (0)= y n 1. Siis Alkuarvoprobleeman (n) y = f (t, y, y ', y ' ',, y (n 1) ) y (t 0 )= y0, y ' (t 0 )= y1, y ' ' (t 0 )= y 2,, y(n 1)(t 0 )= y n 1 ratkaisu y (t ) välillä [ t 0, t end ] saadaan muunnetun alkuarvoprobleeman z (n)= f (t 0+t, z, z ', z ' ',, z (n 1)) z (0)= y 0, z ' (0)= y 1, z ' ' (0)= y 2,, z (n 1) (0)= y n 1 ratkaisusta z (t ) välillä [ 0,t end t 0 ] asettamalla y (t )=z (t t 0 ) välillä [ t 0, t end ] Ratkaisu saadaan siis aika-akselin siirrolla t t+t 0. ESIMERKKI: Ajasta riippuva differentiaaliyhtälö. Alkuhetki nollasta eroava. Ratkaistaan alkuarvoprobleema xy ' ' yy ' x=0, y ( 2)=1, y ' (2)=0,5 välillä [2, 5]. Siirretään alkuehdot hetkeen 0: ratkaistaan muunnettu alkuarvoprobleema ( x+2) y ' ' yy ' ( x+2)=0, y (0)=1, y ' (0)=0,5 Ratkaistaan korkein derivaatta: y y' y''= +1. x+2 Ratkaisu on funktio t y (t+2)..

Tapa 1: Avoin lohkokaavioesitys: Takaisinkytkennän muodostamisessa on käytetty mm. lohkoja Product lohkopaletistosta Mathematical Operations Time lohkopaletistosta Sources. y = f(x) permanent viewer lohkopaletistosta Sinks. Lohkon Product parametrit on asetettu seuraavasti: Lohkon y = f(x) permanent viewer parametrit on asetettu seuraavasti: 33

Simuloinnin tulos aikavälillä 0..3 on seuraavanlainen: Tapa 2: Suljettu lohkokaavioesitys: 34

35 Lohkon Mathematical Expression parametrit ovat seuraavat: TEHTÄVIÄ 1. Ratkaise differentiaaliyhtälöt x ' 2 x=sin t, x(0)=1 välillä [0, 20] a) y ' ' +1,5 y '+0,5 y=sin 2 x+ x, y (0)=1, y ' (0)= 3 välillä [0, 30 ]. b) y ' ' '+3,4 y ' ' +3,2 y '+0,8 y=3sin 5 x+cos 2 x, c) y (0)=0, y ' (0)=2, y ' ' (0)= 1 2. Ratkaise differentiaaliyhtälöpari x (0)=1000 x 0,001 xy, { {xy '' ==0,001 y (0)=1000 xy 2 y välillä [0, 20]. Piirrä ratkaisujen kuvaajat sekä faasikuva. 6.1.2 Siirtofunktioesitys Lineaarinen vakiokertoiminen differentiaaliyhtälö tai differentiaaliyhtälöryhmä, jonka alkuarvot ovat nollia, voidaan ratkaista siirtofunktioesitystä käyttäen. Siirtofunktioesitys perustuu Laplace-muunnokseen, joka asettaa ajan funktiota f (t ) vastaamaan kompleksimuuttujan funktion F ( s). Tätä vastaavuutta merkitään lyhyesti f (t ) F ( s). Funktiota F ( s) sanotaan funktion f (t ) Laplace-muunnokseksi ja funktiota f (t ) funktion F ( s) Laplace-käänteismuunnokseksi. Laplace-muunnos noudattaa seuraavia sääntöjä: Laplace-muunnos on lineaarinen (a ja b ovat vakioita): a f (t )+b g (t) a F ( s)+b G (s) Kertalukua n olevan derivaatan Laplace-muunnos on f (n) (t) s n F ( s) sn 1 f (0) s n 2 f ' (0) f (n 1) (0) Jos alkuarvot ovat nollia

f (0)= f ' (0)= f ' ' (0)= = f tulee sääntö yksinkertaiseen muotoon (n 1) 36 (0)=0 f (n) (t) s n F ( s). Tarkastellaan nyt n:nnen kertaluvun vakiokertoimista lineaarista differentiaaliyhtälöä1 a n y (n)+a n 1 y(n 1)+ +a 1 y ' +a 0 y=b0 f (t) jonka alkuehdot ovat nollia y (0)= y ' (0)= y ' ' (0)= = y (n 1) (0)=0. Tämän Laplace-muunnos on a n s n Y ( s)+a n 1 sn 1 Y ( s)+ +a 1 s Y ( s)+a 0 Y ( s)=b0 F (s). Siirtofunktioiden yhteydessä differentiaaliyhtälöä ajatellaan lineaarisena järjestelmänä, jonka sisäänmeno2 on f (t ) ja ulostulo on differentiaaliyhtälön ratkaisu y (t ). Siirtofunktio on ulosy ( s) tulon ja sisäänmenon Laplace-muunnoksien suhde. Siten edellä olevasta yhtälöstä saaf ( s) daan siirtofunktioksi b0 Y ( s) =. F ( s) a n sn +a n 1 s n 1 + +a 1 s+a 0 Siirtofunktio voidaan toteuttaa lohkopaletiston Continuous time systems lohkolla Continuous transfer function Lohkossa siirtofunktio esitetään ilmoittamalla osoittaja- ja nimittäjäpolynomit. ESIMERKKI. Tarkastellaan differentiaaliyhtälöä y ' ' '+2,4 y ' ' +1,8 y '+2,1 y=2,1 u(t ), missä oikealla puolella on askelfunktio { u (t )= 0, kun t<1 3, kun t 1 Alkuarvot ovat nollia: y (0)= y' (0)=0. Siirtofunktioesityksessä differentiaaliyhtälö voidaan ratkaista seuraavalla kaaviolla: 1 2 Tässä a n 0. Sisäänmenossa voi esiintyä myös f:n derivaattoja.

Tämän differentiaaliyhtälön siirtofunktio on 2,1 3 2 s +2,4 s +1.8 s+2,1 joten lohkon Continuous transfer function parametrit ovat seuraavat: Differentiaaliyhtälön lohkokaavioesitys saadaan ratkaisemalla korkein derivaatta y ' ' '= 2,4 y ' ' 1,8 y ' 2,1 y+2,1 u(t ). Avoin lohkokaavioesitys on seuraava: Simuloinnin tulos aikavälillä [0, 20] on seuraavanlainen: 37

38 6.1.3 Tilaesitys Jatkuva lineaarinen järjestelmä x ' = Ax+ Bu y=cx+ Du voidaan toteuttaa lohkopaletiston Continuous time systems lohkolla Continuous state-space system Lohkon parametri-ikkunassa voidaan matriisit syöttää Scilab-tyylin tai käyttää mallin kontekstissa määriteltyjä matriiseja. ESIMERKKI. Tarkastellaan lineaarista järjestelmää x ' = Ax+ Bu y =Cx+ Du, missä [ A= 3 2 1 1 ], B= ja ohjaussignaali eli syöte on [ ]. u(t )= sin t sin t Järjestelmän alkutila on [ 1 2 0 1 ], C= [ 0 2 1 3 ] [ ], D= 0 0 0 0

39 [ ]. x(0)= 1 1 Järjestelmä on toteutettu seuraavana lohkokaaviona. Mallin matriisit määritellään mallin kontekstissa antamalla valikkokomento Simulation: Set Context: Lohkokaaviossa syöte on muodostettu lohkopaletiston Sources lohkolla Sin generator. Lohkon ulostulo on johdettu lohkopaletiston lohkoon Multiplexer, joka tuottaa 2-dimensioisen vektorisignaalin. järjestelmä on toteutettu lohkolla Continuous state-space system. Lohkon parametri-ikkunassa on käytetty mallin kontekstissa määriteltyjä matriiseja.

40 ulostulo on piirretty käyttäen lohkokirjaston Sinks o lohkoa Single Display Scope, jolloin saadaan näkyviin ulostulon koordinaatit ajanfunktiona. o lohkoa y = f(x) permanent viewer, jolloin saadaan faasikuva: 1. koordinaatti on x-koordinaatti ja 2. koordinaatti on y-koordinaatti. Tätä varten on ulostulon koordinaatit erotettu lohkopaletiston Signal Routing lohkolla Demultiplexer. Simuloinnin tulos aikavälillä 0..30 on seuraavanlainen:

41 6.2 Diskreetti järjestelmä Differenssiyhtälöiden numeerisesta ratkaisemisesta illa voidaan todeta seuraavaa: Epälineaarinen differenssiyhtälö on ratkaistava lohkokaavioesitystä käyttäen. Lineaarinen vakiokertoiminen differenssiyhtälö, jonka alkuarvot ovat nollia voidaan ratkaista joko lohkokaavioesitystä tai siirtofunktioesitystä käyttäen. 6.2.1 Differenssiyhtälön lohkokaavioesitys Differenssiyhtälön esittäminen lohkokaaviona perustuu lohkokirjaston Discrete time systems lohkoon Delay operator. jossa sisäänmenona on signaali f ( k +1) ja ulostulona yhden näytteenottovälin viivästetty signaali f ( k ). Ulostulon alkuarvo f (0) annetaan lohkon parametri-ikkunan kohdassa initial condition.

42 Lohkon singaalit voivat on skalaari- tai vektoriarvoisia. Mallin ajastussignaali luodaan lohkopaletiston Sources lohkolla Activation Clock, jonka parametrit asetetaan seuraavasti1: Asettamalla useampia Delay operator-lohkoja peräkkäin voidaan toteuttaa pidempiä viiveitä esim. Tässä lohkojen alkuarvoilla on seuraava merkitys: Oikean puoleisen lohkon Delay operator alkuarvo asettaa arvon f (0). Vasemman puoleisen lohkon Delay operator alkuarvo asettaa arvon f (1). Kertalukua n olevan differenssiyhtälön alkuarvoprobleema voidaan ratkaista, jos korkeinta indeksiä vastaava muuttuja pystytään ratkaisemaan. Differenssiyhtälö on tällöin muotoa y k+ n= f (k, y k, y k +1, y k+ 2, y k +n 1 ) y 0 = y 0, y 1= y 1, y 2= y 2,, y n 1= y n 1, missä y 0, y 1, y 2,, y n 1 ovat annettuja vakioita. Differenssiyhtälö ratkaistaan käyttäen seuraavia periaatteita: Muodostetaan n peräkkäin olevaa Delay operator-lohkoa. Näistä ensimmäisen sisäänmeno on y k+ n, toisen sisäänmeno y k+ n 1 viimeisen sisäänmeno ja ulostulo y k. Lohkoissa Delay operator otetaan huomioon alkuehdot. Muodostetaan takaisinkytkentä, joka perustuu differenssiyhtälön algebralliseen lausekkeeseen. 1 Differenssiyhtälöiden alkuhetki on indeksin arvolla 0.

43 Differenssiyhtälöryhmien alkuarvoprobleemien ratkaisemisessa voidaan käyttää samanlaisia periaatteita. Kuten differentiaaliyhtälön tapauksessa takaisinkytkentä voidaan toteuttaa avoimena lohkokaaviona, joka sisältää lohkokaaviomuodossa differenssiyhtälön lausekkeen suljettuna lohkokaaviona, joka toteutetaan lohkopaletiston User-Defined Functions lohkoa Mathematical Expression käyttäen. Lohko Mathematical Expression sisältää algebrallisessa muodossa differenssiyhtälön lausekkeen. ESIMERKKI. Ratkaistaan differenssiyhtälö y k+2 y k +1 6 y k =k 2 alkuehdoilla { y 0 =1 y 1= 2 Ratkaistaan ensin y k+2 : y k+2 = y k +1+6 y k + k 2 Tapa 1: Avoin lohkokaavioesitys: Differenssiyhtälön alkuehdot on syötetty lohkojen Delay operator parametri-ikkunoihin. Mallin muodostamisessa on käytetty mm. lohkoja Sum, Gain ja Power lohkopaletistosta Mathematical Operations. Ratkaisu on ohjattu Scilabin työtilan muuttujaan y lohkokirjaston Sinks lohkolla Data to Scilab workspace. Tapa 2: Suljettu lohkokaavioesitys:

44 Lohkon Mathematical Expression parametrit ovat seuraavat: Simuloidaan järjestelmää välillä1 [0 ; 10,1 ]. Tulostetaan simuloinnin tulos Scilabissa -->y y = values: [11x1 constant] time: [11x1 constant] -->[y.time, y.values] ans = 0. 1. 1. - 2. 2. 4. 3. - 7. 4. 21. 5. - 12. 6. 130. 7. 83. 8. 899. 9. 1446. 10. 6904. TEHTÄVIÄ 1 Huomaa simuloinnin lopetusaika! Tällöin saadaan indeksiä 10 vastaava arvo.

45 1. Ratkaise differenssiyhtälö y k+2 +2 y k +1 4 y k =k +1 alkuehdoilla { y 0 =3 y 1= 1 Tulosta ratkaisu Scilabin komentoikkunaan indeksin arvoilla 0..20. Tee ratkaisu sekä avoimena että suljettuna lohkokaaviona. 6.2.2 Siirtofunktioesitys Lineaarinen vakiokertoiminen differenssiyhtälö tai differenssiyhtälöryhmä, jonka alkuarvot ovat nollia, voidaan ratkaista siirtofunktioesitystä käyttäen. Siirtofunktioesitys perustuu z-muunnokseen, joka asettaa lukujonoa y k vastaamaan kompleksimuuttujan funktion Y ( z ). Tätä vastaavuutta merkitään lyhyesti yk Y (z). Funktiota Y ( z ) sanotaan lukujonon y k z-muunnokseksi ja lukujonoa y k funktion Y ( z ) z-käänteismuunnokseksi. z-muunnos noudattaa seuraavia sääntöjä: z-muunnos on lineaarinen (a ja b ovat vakioita): a x k +b y k a X ( z)+by ( z ) Lukujonon y k+ n z-muunnos on (n>0) y k+ n z n Y ( z ) y 0 z n y 1 z n 1 y n 1 z Jos alkuarvot ovat nollia y 0 = y1 = = y n 1=0 tulee sääntö yksinkertaiseen muotoon y k+ n z n Y ( z ). Tarkastellaan nyt n:nnen kertaluvun vakiokertoimista lineaarista differenssiyhtälöä a n y k+n +a n 1 y k +n 1 + +a 0 y k =b 0 f k jonka alkuehdot ovat nollia y 0 = y1 = = y n 1=0. Tämän z-muunnos on a n z n Y ( z)+a n 1 z n 1 Y ( z)+ +a 1 z Y ( z )+a 0 Y ( z)=b 0 F ( z ). Siirtofunktioiden yhteydessä differenssiyhtälöä ajatellaan lineaarisena järjestelmänä, jonka sisäänmeno1 on f k ja ulostulo on differenssiyhtälön ratkaisu y k. Siirtofunktio on ulostulon ja Y ( z) sisäänmenon z-muunnoksien suhde. Siten edellä olevasta yhtälöstä saadaan siirtofunkf (z) tioksi 1 Sisäänmenossa voi esiintyä myös viiveellisiä arvoja f k 1, f k 2,

46 b0 Y ( z) =. n n 1 F ( z ) a n z +a n 1 z + +a 1 z+a 0 Siirtofunktio voidaan toteuttaa lohkokirjaston Discrete time systems lohkolla Discrete Transfer Function Lohkossa siirtofunktio esitetään ilmoittamalla osoittaja- ja nimittäjäpolynomit. ESIMERKKI. Tarkastellaan differenssiyhtälöä y k+3 + y k +2+ y k +1+ y k =sin k. Alkuarvot ovat nollia: y 0 = y1 = y 2 =0. Siirtofunktioesityksessä differenssiyhtälö voidaan ratkaista seuraavalla kaaviolla: Tämän differenssiyhtälön siirtofunktio on 1 3 2 z + z + z +1 joten lohkon Continuous transfer function parametrit ovat seuraavat: Lohkon Single Display Scope parametri-ikkunassa piirtotyypin parametriksi on valittu negatiivinen luku

47 jolloin kuvaajan pisteet esitetään merkkeinä. Simuloinnin tulos aikavälillä [0, 30] on seuraavanlainen: Jos halutaan piirtää simulointitulos yhtenäisenä viivana, on lohkoon Single Display Scope asetettava oma ajastussignaalinsa jonka parametrit voidaan laittaa kuvan mukaisesti: Kuvaaja on nyt seuraavanlainen (Single Display Scope: piirtotyyppi 1)

48 Jos halutaan piirtää myös sisäänmenevä sinisignaali, on lohkopaletiston Discrete time systems lohkolla Sample and hold otettava näytteitä sinisignaalista. Sinisignaalin kuvaaja on seuraavanlainen: 6.2.3 Tilaesitys Diskreetti lineaarinen järjestelmä x k+1 = Ax k + Bu k y k =Cx k + Du k

49 voidaan toteuttaa lohkopaletiston Discrete time systems lohkolla Discrete state-space system Lohkon parametri-ikkunassa voidaan matriisit syöttää Scilab-tyylin tai käyttää mallin kontekstissa määriteltyjä matriiseja. ESIMERKKI. Fibonaccin luvut määritellään seuraavasti: ensimmäinen luku on 1 toinen luku on 1 sen jälkeen luku on kahden edellisen summa. Aloittamalla indeksointi nollasta, voidaan tämä lausua alkuarvoprobleemana f 0=1 f 1=1 f k +2 = f k + f k +1 (k 0) Avoimena lohkokaavioesityksenä tämä voidaan ratkaista seuraavasti: Muodostetaan vielä Fibonaccin differenssiyhtälölle tilaesitys1 Määritetään lukujonot { x 1 ( k )= f k x 2 (k )= f k +1 Tällöin x1 ( k +1)= f k +1= x 2 (k ) x2 (k +1)= f k+ 2= f k + f k+1= x 1 ( k )+ x 2 ( k ) 1 Tässä muodostetaan differenssiyhtälöä vastaava normaaliryhmä.

Tämä voidaan kirjoittaa muodossa [ ] [ ][ ] x1 (k +1) = 0 1 x 1 ( k ) 1 1 x 2 (k ) x 2 (k +1) Ulostulo on y ( k )= f k = x 1 ( k ), joka voidaan kirjoittaa muodossa [ ] y ( k )=[ 1 0 ] x 1 (k ) x 2 (k ). Alkuehdot ovat x1 (0)= f 0 =1 x2 (0)= f 1=1 eli [ ][] x1 (0) = 1 1 x 2 (0). Tämä voidaan toteuttaa seuraavana lohkokaaviona jossa lohkon lohkolla Discrete state-space system parametri-ikkuna on täytetty seuraavasti: 50

51 Simuloidaan järjestelmää välillä1 [0, 15] ja tulostetaan simuloinnin tulos Scilabissa -->fib fib = values: [16x1 constant] time: [16x1 constant] -->[fib.time fib.values] ans = 0. 1. 1. 1. 2. 2. 3. 3. 4. 5. 5. 8. 6. 13. 7. 21. 8. 34. 9. 55. 10. 89. 11. 144. 12. 233. 13. 377. 14. 610. 15. 987. 6.3 Lentorata heittoliikkeessä Tarkastellaan kappaleen lentorataa heittoliikkeessä. Jos tuulen nopeutta ei oteta huomioon, tapahtuu liike pystysuorassa tasossa. Asetetaan tähän tasoon xy-koordinaatisto siten, että x-akseli on vaakasuunnassa, y-akseli pystysuoraan ylös ja kappaleen lähtöpiste koordinaatiston origossa. 6.3.1 Ilmanvastusta ei huomioida Tarkastellaan ensin tilannetta, jossa ilman vastusta ei otetaan huomioon. Tarkastellaan kahta tapaa suorittaa simulointi. Tapa 1: Yhtälöesitys. [ ] ajan t funktiona määräytyy yhtälöstä x Kappaleen sijainti x = y 1 2, x=v 0 t + g t 2 missä [ ] v 0= v 0 x v0 y g= 0 g on kappaleen lähtönopeus ja [ ] on putoamiskiihtyvyys maan pinnalla, g = 9,81 m/s Jos kappaleen lähtönopeus on v 0 ja 1 Simuloinnin lopetusaika oli 15,1. 2

lähtökulma α on [ ] v 0=v 0 cos sin. Siis 1 0 2 x=v 0 cos α t+ t. 2 g sin α [ ] [ ] Tämän simulointi on toteutettu seuraavalla mallilla. Lohkojen Multiplexer ja Demultiplexer välissä olevat signaalit ovat vektorisignaaleja. Mallin lähtötietoina ovat kappaleen alkunopeus v0, yksikkö m/s lähtökulma asteina. Nämä arvot annetaan mallin kontekstissa valikkokomennolla Simulation: Set Context. 52

53 Lohkossa Gain 1 muunnetaan asteet radiaaneiksi: Lohkon Gain 2 syöttö on 2-vektori ja ulostulo 2-vektori, jolloin sen sisällön on oltava matriisi: Lohkon Gain 3 syöttö on skalaari ja ulostulo 2-vektori. Sen sisältö on 2-vektori: Mallin simuloinnin on päätyttävä, kun kappaleen korkeus muuttuu negatiiviseksi. Tämä on toteutettu käyttäen lohkoja Treshold positive to negative lohkopaletistosta Zero crossing detection Halt lohkopaletistosta Event handling

54 Koska mallissa ei ole jatkuvaa1 sisäistä tilaa, lohkon Treshold positive to negative käyttö vaatii, että mallissa on ylimääräinen lohko Dummy lohkopaletistosta Continuous time systems. Lentorata on piirretty lohkolla y=f(x) permanent viewer. Jos lähtönopeus on 50 m/s ja lähtökulma 35, on lentorata seuraavan kuvan mukainen: Tapa 2: Differentiaaliyhtälöesitys. Käytetään dynamiikan peruslakia F=m a Koska kappaleeseen vaikuttava ainoa voima F on maan vetovoima ja kappaleen kiihtyvyys a on kappaleen sijainnin x toinen derivaatta, saadaan seuraava differentiaaliyhtälö m x ' ' =m g eli [ ], x ' '= 0 g missä g = 9,81 m/s2. Differentiaaliyhtälön alkuehdot ovat2 [ x 0 =0, x ' 0 = v 0 cos v 0 sin 1 2 ] Jos järjestelmässä on differentiaaliyhtälö, ei Dummy-lohkoa tarvita. Nopeus on sijainnin 1. derivaatta.

55 Tämän simulointi on toteutettu seuraavalla mallilla. Mallissa lohkojen Integration sisäänmenot ovat vektorisignaaleja ja integraalien alkuarvot on parametri-ikkunoissa asetettu nollavektoreiksi: Ensimmäisen integraalin alkuarvo on laskettu mallissa. Malli tuottaa samanlaisen tuloksen kuin tavan 1 malli. 6.3.2 Ilmanvastus huomioidaan Otetaan mallissa ilmanvastus huomioon. Oletetaan, että ilmanvastus on suoraan verrannollinen nopeuden suuruuden neliöön. Ilmanvastus on liikesuunnan vastainen voima. Jos kappaleen nopeus on v, on ilmanvastus1 F i = D v v, missä kerroin D= C A. 2 Tässä ρ on ilman tiheys A on kappaleen liikesuuntaa vastaan kohtisuoran pinnan poikkileikkauksen ala C on vastuskerroin, joka riippuu kappaleen muodosta. 1 Merkintä v tarkoittaa vektorin v normia.

56 Jos kappaleen sijainti on x t, niin kappaleen nopeus v= x ' t kiihtyvyys a=v '= x ' ' t Dynamiikan peruslain F=m a mukaan kappaleen sijainti toteuttaa siis differentiaaliyhtälön m x ' ' =m g D x ' x ' eli D x ' x '. m Tässä m on kappaleen massa ja x ' ' = g [ ], g= 0 g missä g = 9,81 m/s2. Differentiaaliyhtälön alkuehdot ovat [ x 0 =0, x ' 0 = v 0 cos v 0 sin ] Tämän simulointi voidaan toteuttaa mallilla, joka saadaan muokkaamalla edellisen luvun differentiaaliyhtälöesitysmallia. Mallissa on toteutettu baseballin lentoradan simulointi. Kerroin D on laskettu seuraavia arvoja käyttäen: ρ = 1,2 kg/m3 A = π r 2, missä r = 0,0366 m C = 0,5 Baseballin massa on

57 m = 0,145 kg. Kaikki lähtöarvot annetaan mallin kontekstissa valikkokomennolla Simulation: Set Context. Lohkossa Mathematical expression on laskettu lausekkeen D x ' arvo: m D/m*(u1^2+u2^2)^0.5 Lohkon parametriasetus on seuraavanlainen: Jos lähtönopeus on 50 m/s ja lähtökulma 35, on lentorata seuraavan kuvan mukainen.

58 Malli voidaan toteuttaa myös käyttämällä enemmän lohkokaaviota Mathematical expression: Tässä mallissa lähtökulma ja lähtönopeus annetaan suoraan omissa lohkoissaan 1, joten ne muuttujat eivät ole mallin kontekstissa. Mallin lohkojen Mathematical expression lausekkeet ovat seuraavat: Mat.1: u2*sin(%pi/180*u1) Mat.2: u2*cos(%pi/180*u1) Mat.1: -g-d/m*u2*(u1^2+u2^2)^0.5 Mat.1: -D/m*u1*(u1^2+u2^2)^0.5 1 Tämä olisi tietenkin voitu toteuttaa aiemmissakin malleissa.

6.4 59 Takaisinkytketty järjestelmä ja PID-säädin 6.4.1 PID-säädin Prosessien säätö toteutetaan usein takaisinkytkentää käyttäen. Takaisinkytketty säätöjärjestelmä voidaan kuvata seuraavalla kaaviolla. häiriö SÄÄDIN PROSESSI TOIMILAITE asetusarvo toimisuure ohjaus lähtösuure MITTAUS mittaussuure Prosessin ulostulosta (lähtösuure) otetaan mittauksia. Saadaan mittaussuure, joka yhdessä asetusarvon kanssa on säätimen sisäänmeno. Säädin tuottaa ohjaussuureen, joka toimilaiteen välityksellä menee prosessin toimisuureeksi. Prosessissa voi olla häiriöitä1. Yleisin teollisuudessa käytettävä säädin on PID-säädin. Sen sisäänmenona on asetusarvon ja lähtösuureen erotus, erosuure. Kyseessä on negatiivinen takaisinkytkentä, joka yksikertaisimmillaan voidaan esittää seuraavana kaaviona. yref(t) + asetusarvo e(t) _ u(t) PID-säädin PROSESSI ohjaus erosuure y(t) lähtösuure Kaaviossa erosuure e (t )= y ref (t) y (t ), missä y ref (t ) on asetusarvo ja y (t ) on prosessin lähtösuure eli ulostulo. PID-säätimen tuottama ohjaus on t u(t )= K P e (t )+ K I e (t) dt +K D 0 d e (t). dt PID-säätimen ohjaus on siten kolmen eri termin2 1 2 Häiriöitä voi olla myös säätöjärjestelmän muissa osissa kuten mittaus ja toimilaite. Termi PID tuleen englannin kielisistä sanoita propotional integral, derivative. (1)

60 suhdetermin K P e (t ) t integraalitermin K I e (t )dt 0 d e (t) dt summa. Näillä on seuraavat merkitykset: derivaattatermin K D Suhdetermi on riippuu nykyisestä erosuureesta. Integraalitermi muuttuu aina, kun erosuure ei ole nolla. Se pyrkii poistamaan pysyvän poikkeaman, mutta saattaa lisätä värähtelyjä. Derivaattatermi reagoi erosuureen muutoksiin yrittäen vastustaa niitä. Se poistaa värähtelyjä, mutta on herkkä viiveille ja korkeataajuisille häiriöille. PID-säätimen virittäminen tarkoittaa kertoimien K P, K I ja K D määrittämistä siten, että järjestelmän käyttäytyminen on halutunlainen. Asettamalla jokin kertoimista nollaksi saadaan erilaisia variaatioita PID-säätimestä, esim. P-säädin ja PI-säädin. Laplace-muuntamalla yhtälö (1) saadaan 1 U ( s)= K P E (s)+ K I E ( s)+ K D s E ( s), s josta PID-säätimen siirtofunktioksi saadaan U ( s) 1 =K P+K I +K D s E ( s) s issa PID-säädin löytyy lohkopaletistosta Continuous time systems. Kun lohkoa kaksoisklitaan aukeaa lohkon parametri-ikkuna, jossa asetetaan parametrit Proportional ( K P ), Integral ( K I ) ja Derivative ( K D ).

61 6.4.2 Pinnankorkeuden säätäminen Yhden säiliön ainetasomalli on dv = F i F o, dt missä V on säiliön nestemäärä, F i on sisäänvirtaus ja F o on ulosvirtaus. Fi V Fo Tarkastellaan säiliösysteemiä, joka koostuu kahdesta säiliöstä. Systeemin ulkopuolelta johdetaan nestettä ylempää säiliöön. Säiliöt ovat siten, että ylemmästä säiliöstä neste pääsee pohjassa olevan venttiilin läpi virtaamaan alempaan säiliöön, josta neste virtaa pois systeemistä pohjassa olevan venttiilin läpi. Fi h1 F12 h2 Fo Säiliöiden nestevirtaukset ovat F i ylempään säiliöön ulkopuolelta tuleva nestevirtaus F 12 nestevirtaus ylemmästä säiliöstä alempaan säiliöön F o nestevirtaus alemmasta säiliöstä systeemin ulkopuolelle. Säiliöt ovat lieriön muotoisia. Ylemmän säiliön pohjan pinta-ala on A1 ja alemman säiliön pohjan pinta-ala A2. Olkoot säiliöiden nestepinnan korkeudet on vastaavasti h 1 ja h 2. Koska säiliöiden nestemäärien tilavuudet ovat (i = 1, 2) V i = Ai h i,

62 on säiliösysteemin ainetasomalli { dh1 =F i F 12 dt dh A2 2 = F 12 F o dt A1 Oletetaan, että nestevirtaukset riippuvat nestepinnan korkeudesta seuraavasti F 12= K 1 h 1 F o= K 2 h 2 missä K 1 ja K 2 ovat vakioita. Siten säiliösysteemin ainetasomalli voidaan kirjoittaa muodossa { dh 1 F i K 1 h 1 = dt A1 dh 2 K 1 h 1 K 2 h2 = dt A2 Mallin parametrit ovat seuraavat: A1=4 m 2 A2 =2m2 5 2 K 1=0,5 m min 5 m2 K 2 =1,2 min Rakennetaan säiliösysteemin malli. Annetaan mallin parametrit mallin kontekstissa (Simulation: Set Context):

63 Seuraavassa mallissa sisäänmenovirtaukseen tehdään askelmainen muutos alemman säiliön pinnankorkeus mitataan alussa säiliöt ovat tyhjiä, joten lohkojen Integration alkuehdot ovat nollia. Tehdään säiliösysteemistä alijärjestelmä seuraavasti. Valitaan kaikki muut lohkot paitsi sisäänmeno-lohko Step function generator ja ulostulolohko1 Single Display Scope ja Activation clock. Annetaan putkahdusvalikkokomento Region to Super Block. Alijärjestelmä on prosessi, jonka sisäänmeno on ulkoapäin tuleva nestevirtaus ylempään säiliöön. 1 Lohkot Single Display Scope ja Activation clock on vedetty ennen valintaa hieman erilleen.

64 ulostulo on alemman säiliön pinnankorkeus. Pyritään säätämään alemman säiliön pinnankorkeutta. Tätä varten rakennetaan kuvan mukainen säätöjärjestelmä. Järjestelmää on simuloitu asettamalla asetusarvo arvoon 5 hetkellä 1. PID-säätimen parametrit ovat K I = 10, K I = 0,1 ja K D = 1. Simulointiväli on [0, 80]. Kuvassa on ulostulo. Huomaa, kuinka ulostulo asettuu arvon 5. TEHTÄVIÄ. 1. Yritä parantaa säätötulosta muuttamalla PID-säätimen parametreja. Hyvyyskriteerejä voivat olla ylitys ja säädön nopeus. 2. Kokeile P-säädintä ja PI-säädintä. Miten nämä eroavat eroja havaitset? 3. Kokeile I-säädintä ja D-säädintä. 7. LOHKOJEN ESITTELY Tässä luvussa esitellään joitain tärkeitä lohkoja. Lohkot esitellään paletistoittain. Käyttäjän on syytä pääpiirteittäin tuntea millaisia lohkoja kussakin paletistossa on. 7.1 Sources Paletisto sisältää lohkoja, joilla voidaan muodostaa erilaisia signaaleja. Constant Vakiosignaali Lohko muodostaa vakiosignaalin, joka voi olla skalaari, vektori tai matriisi.

65 Step function generator Askelfunktio Lohko muodostaa askelfunktion, jonka arvo on Initial value (oletusarvo 0), jos aika on pienempi kuin Step time (oletusarvo 1) Final value (oletusarvo 1), muuten. Askelfunktio voi olla vektoriarvoinen. Ramp Pengerfunktio Lohko muodostaa jatkuvan pengerfunktion, jonka arvo on vakio Initial output (oletusarvo 0), jos aika on pienempi kuin Start time (oletusarvo 0) sellaisen ensimmäisen asteen polynomifunktion arvo, jonka kulmakerroin on Slope (oletusarvo 0), kun aika on suurempi Start time Curve Käyrä Lohkossa piirretään jatkuva käyrä graafisesti editori-ikkunassa. Määrittelyalueen ulkopuolella funktion arvo vakio, joka on lähin annettu arvo. Valikkokomennolla Edit: Size voidaan muuttaa vaaka- ja pystyakseleita. Muutokset on tallennettava valikkokomennolla Edit: Ok. Sin generator Siniaalto Lohko muodostaa sinifunktion y = Magnitude*sin(Frequency*t+phase), jonka parametrit annetaan parametri-ikkunassa. Square wave generator Suorakulmiopulssijono Lohko muodostaa suorakulmion muotoisia pulsseja, joiden arvo on M tai M. Pulssin amplitudi M annetaan parametri-ikkunassa. Lohkoon tuleva ajastussignaali määrittää ajankohdan, jolloin pulssin arvo muuttuu. Sawtooth generator Sahalaitapulssijono Lohko muodostaa sahalaitamuotoisia pulsseja ajastussignaalin määräämässä tahdissa. Ajatussignaali asettaa arvon nollaan, josta signaalin arvo nousee suoraviivaisesti kulmakertoimella 1, kunnes seuraava ajastussignaali nollaa funktion arvon ja sama toistuu.

66 Random generator Satunnaispulssijono Lohko tuottaa suorakulmiopulsseja, joiden arvo on satunnaisesti jakautunut. Joka kerta, kun lohko saa ajastussignaalin pulssin arvo muuttuu satunnaisesti. Pulssien arvot voivat olla tasan tai normaalisti jakautuneita. Lohko voi tuottaa myös vektorisignaalin. Kuvan parametri-ikkunassa on muodostettu normaalisti jakautuneita vektorisignaaleja. Parametri-ikkunan kohdassa SEED annetaan satunnaislukugeneraattorin siemenluku 2-vektorina. Vektorin 1. koordinaatti antaa siemenluvun satunnaisluvun reaaliosalle ja 2. koordinaatti imaginaariosalle. Jos halutaan muuttaa satunnaispulssijonoa, on siemenluku muutettava. Signal creator/generator Signaalin muodostaja Lohkolla voidaan muodostaa jaksollisia signaaleja käyttäen splinejä. Lohkon parametri-ikkunassa määritetään splinin tyyppi (Spline Method), pisteet joiden kautta splini kulkee (x, y), signaalin jaksollisuus (Periodic signal). Kohdan Launch graphic window valinnalla y aukeaa grafiikka-ikkuna, jossa voi hiirtä käyttäen muodostaa signaalin. Grafiikkaikkunan valikosta Spline voi valita splinin tyypin. Grafiikkaikkunasta poistutaan valikkokomennolla joko Exit: Exit without save (muutoksia ei tallenneta) tai Exit: Sace/Exit (muutokset tallennetaan). Counter Laskurijono Lohko muodostaa jaksollisia peräkkäisten kokonaislukujen jonoja. Laskutapa joko alhaalta ylös tai ylhäältä alas.

67 Modulo counter Modulolaskuri Lohko muodostaa jaksollisia peräkkäisten kokonaislukujen jonoja. Time Aika Lohko tuottaa simuloinnin aikasignaalin. Activation Clock Ajastussignaali Lohko tuottaa ajastussignaalin, joka tahdistaa joidenkin lohkojen toimintaa. Eri lohkoilla voi olla eri ajastussignaaleja. Jos aloitusaika (Init time) on negatiivinen, ei tahdistussignaalia muodosteta. Input Port Sisäänmenoportti Lohkoa voidaan käyttää vain lohkossa Super Block sisäänmenoporttina. Sisäänmenoportit on numeroitava juoksevasti luvusta 1 lähtien. Input activation port Sisäänmenevä ajastusportti Lohkoa voidaan käyttää vain lohkossa Super Block ajastuksen sisäänmenoporttina. Portit on numeroitava juoksevasti luvusta 1 lähtien. ESIMERKKI. Muodostetaan pulssijono, jonka jakso on 4 ja arvot 0 ja 1. Pulssigeneraattorin ajastussignaali on seuraavanlainen:

68 Kuva: 7.2 Sinks Paletisto sisältää lohkoja, jotka piirtävät tai tulostavat signaaleja. Single Display Scope Signaalien piirtäminen samaan kuvaan Lohko piirtää signaalin simulointiajan funktiona. Lohkon sisäänmeno voi olla pystyvektorisignaali, jolloin lohko piirtää vektorin komponentit. Lohko vaatii ajastussignaali, joka määrittää piirron aika-akselin askelpituuden. Vektorisignaalit esitetään eri väreillä. Lohkossa voidaan asettaa mm. y-akselin välit ja piirrettävän aikavälin pituus (Refresh period). Multi Display Scope Signaalien piirtäminen eri kuviin Lohko piirtää sisäänmenevät signaalit simulointiajan funktiona. Lohkossa voi olla useita sisäänmenoja. Kullakin sisäänmenolla on oma y-akselinsa, jonka välit annetaan vektoreina. Lohko vaatii ajastussignaali, joka määrittää piirron aika-akselin askelpituuden. Lohkossa voidaan asettaa piirrettävän aikavälin pituus kullekin signaalille erikseen vektorina (Refresh period). y=f(x) permanent viewer xy-kuvan piirto Lohko piirtää signaalin xy-kuvan. Lohko piirtää käyrän vektoreiden x ja y määräämien xy-tason pisteiden kautta, missä x on sisäänmenoportin 1 signaali ja y on sisäänmenoportin 2 signaali. Sig-

69 naaleja voi olla enemmänkin kuin 1 (Number of Curves). Ne annetaan silloin vektoreina, joiden vastinkoordinaatit määrittävät käyrät. Käyrien värit määritetään kohdassa Color. x- ja y-akselien välit määritetään ao. kohdissaan. Display Arvon näyttö Lohko näyttää sisäänmenosignaalin numeerisen arvon. Parametri-ikkunassa voi määrittää kuinka monella desimaalilla luvut esitetään1 (Number of rational part digits). Lohkon sisäänmeno voi olla skalaari tai vektori. Sisäänmenon tyyppi määritetään parametri-ikkunan kohdassa Input size. Data to Scilab workspace Työtilaan tallentaminen Lohko tallentaa sisäänmenon ajastussignaalin määrääminä hetkinä Scilabin työtilaan. Lohkoa on käsitelty luvussa 5.2 Tallennus Scilabiin. Output Port Ulostuloportti Lohkoa voidaan käyttää vain lohkossa Super Block ulotuloporttina. Ulostuloportit on numeroitava juoksevasti luvusta 1 lähtien. Lohkoa on käsitelty luvussa 4.1 Alijärjestelmän luonti. Output activation port Ulostuleva ajastusportti Lohkoa voidaan käyttää vain lohkossa Super Block ajastuksen ulostuloporttina. Portit on numeroitava juoksevasti luvusta 1 lähtien. ESIMERKKI. Lohkon Display kokeilua. Simuloidaan seuraava malli Display-lohkon parametriasetukset ovat seuraavat: 1 Tämä ei tunnu toimivan, ks. Esimerkki. Lohko ei muutenkaan tunnu toimivan oikein esim. matriisien tapauksessa.

70 Lohko ei tunnu toimivan spesifikaatioiden mukaan, sillä näytössä pitäisi olla 5 desimaalia. 7.3 Mathematical Operations Paletisto sisältää lohkoja, jotka suorittavat matemaattisia operaatioita tai muodostavat matemaattisia funktioita. Scalar or vector Addition/Substraction Yhteenlasku ja/tai vähennyslasku Lohko muodostaa sisäänmenosignaalien summan ja/tai erotuksen tai yleisemmin vahvistuksen. Sisäänmenosignaalit voivat olla skalaareja tai pystyvektoreita. Lohkon parametri-ikkunassa määritetään sisäänmenoportit vaakavektorina, jonka pituus on porttien lukumäärä. Pituus voi olla myös 1. alkiot määrittävät porttien vahvistuskertoimen. Erityisesti: +1: yhteenlasku, 1: vähennyslasku. Matrix Addition/Substraction Yhteenlasku ja/tai vähennyslasku Lohko muodostaa sisäänmenosignaalien summan ja/tai erotuksen. Sisäänmenosignaalit voivat olla skalaareja, vektoreita tai matriiseja. Lohkon parametri-ikkunan kohdassa Number of inputs or sign vector (of +1,-1) määritetään sisäänmenoportit vaakavektorina, jonka pituus on porttien lukumäärä. Jos pituus on 1 lasketaan vektorin koordinaattien tai matriisin alkioiden summa.

71 alkiot määrittävät1 laskuoperaation tyypin: +1: yhteenlasku, 1: vähennyslasku. Addition Yhteenlasku Lohko muodostaa sisäänmenosignaalien summan. Sisäänmenosignaalit voivat olla skalaareja tai pystyvektoreita. Lohkoon on kolme sisäänmenoa. Kaikkia niitä ei tarvitse käyttää. Element-wise vector multiplication/division Kerto- ja/tai jakolasku Lohko muodostaa sisäänmenosignaalien tulon ja/tai osamäärän koordinaateittain. Sisäänmenosignaalit voivat olla skalaareja tai pystyvektoreita. Lohkon parametri-ikkunassa määritetään sisäänmenoportit pystyvektorina, jonka pituus on porttien määrä alkiot määrittävät portin tyypin: +1: kertolasku, 1: jakolasku Element-wise product - Kertolasku Lohko muodostaa sisäänmenosignaalien tulon koordinaateittain. Sisäänmenosignaalit voivat olla skalaareja tai pystyvektoreita. Lohkoon on kaksi sisäänmenoa. Gain Vahvistus Sisäänmenosignaali kerrotaan vahvistuksella. Sisäänmeno voi olla skalaari tai pystyvektori. Vahvistus on skalaarin tapauksessa skalaari pystyvektorin tapauksessa matriisi, jonka sarakkeiden lukumäärä on sama kuin pystyvektorin dimensio. Inverse Käänteisluku Lohko muodostaa sisäänmenevän signaalin alkioittaisen käänteisluvun. Sisäänmenevä signaali voi olla skalaari tai pystyvektori. Square root Neliöjuuri Lohko määrittää sisäänmenevän signaalin alkioittaisen neliöjuuren. Sisäänmenevä signaali voi olla skalaari tai pystyvektori. Sisäänmenevän signaalin alkioiden on syytä olla positiivisia. 1 Tämä tuntuu toimivan vain pystyvektoreilla.

72 Array power Potenssi Lohko muodostaa sisäänmenevän signaalin alkioittaisen potenssin. Potenssi annetaan lohkon parametri-ikkunassa. Sisäänmenevä signaali voi olla skalaari tai pystyvektori. Exponential of a scalar - Eksponenttifunktio Lohko muodostaa sisäänmenevän signaalin alkioittaisen esponenttifunktion arvo. Eskponenttifunktion kantaluku (oletusarvo e) annetaan lohkon parametri-ikkunassa. Sisäänmenevä signaali voi olla skalaari tai pystyvektori. Logarithm Logaritmifunktio Lohko muodostaa sisäänmenevän signaalin alkioittaisen logaritmifunktion arvo. Logaritmifunktio kantaluku annetaan lohkon parametri-ikkunassa (oletusarvo e). Sisäänmenevä signaali voi olla skalaari tai pystyvektori. Sisäänmenevän signaalin alkioiden on oltava positiivisia1. Trigonometric function Trigonometrinen funktio Lohko muodostaa sisäänmenevän signaalin alkioittaisen trigonometrisen funktion, hyperbolisen funktio tai näiden käänteisfunktion arvon. Sisäänmenevä signaali voi olla skalaari tai pystyvektori. Funktiot sini, kosini ja tangentti voi muodostaa myös suoraan seuraavilla lohkoilla: Absolute value - Itseisarvo Lohko muodostaa sisäänmenevän signaalin alkioittaisen itseisarvon. Sisäänmenevä signaali voi olla skalaari tai pystyvektori. Sign Etumerkki Lohko muodostaa sisäänmenevän signaalin etumerkin: 1, jos positiivinen, -1, jos negatiivien, 0, jos nolla. Lohko toimii vektorille alkioittain. 1 Jos jokin alkio ei ole positiivinen, niin kaikki ulostulot ovat nollia.

73 Maximum or minimum of vector's elements Maksimi tai mimini Lohko muodostaa sisäänmenevien vektorisignaalien minimin tai maksimin. Lohkon parametriikkunassa määritellään toiminto (Min tai Max). Lohkon toiminto määräytyy sisäänmenosignaalien määrästä: Sisäänmenosignaaleja 1: Lohkon ulostulosignaali on skalaari, joka on sisäänmenevän vektorin koordinaattien maksimi- tai miniarvo. Sisäänmenosignaaleja 2: Lohkon ulostulosignaali on vektori, jonka koordinaatit ovat sisäänmenevän vektorien koordinaattien maksimi- tai miniarvot. Sisäänmenevän vektorisignaalin koordinaattien maksi- tai minimiarvot voidaan muodostaa myös suoraan lohkoilla 7.4 Continuous time systems Paletisto sisältää lohkoja, jotka liittyvät aikajatkuviin järjestelmiin. Integration Signaalin integrointi. Ulostulo on sisäänmenon integraali. Lohkossa voidaan asettaa alkuehto (Initial condition), jonka oletusarvo 0. Lohkon sisäänmeno- ja ulostulosignaalit voivat olla vektoreita. Tällöin alkuehdon on oltava samandimensioinen vektori. Lohkoa on käsitelty luvussa 6.1.1. Skalaarisen signaalin integrointi voidaan suorittaa myös lohkolla Derivative Signaalin derivointi. Ulostulo on sisäänmenon derivaatta. Lohkon sisäänmeno- ja ulostulosignaalit voivat olla pystyvektoreita. Continuous sate-space system Jatkuvan lineaarisen järjestelmän tilaesitys. Lohko toteuttaa jatkuvan lineaarisen järjestelmän tilaesityksen

74 x ' = Ax+ Bu y =Cx+ Du missä x on tila (dimensio n) u on sisäänmeno (dimensio m) y on tulostulo (dimensio r) Järjestelmä kuvataan antamalla kerroinmatriisit n m n A B r C D A kertalukua n n B kertalukua n m C kertalukua r n D kertalukua r m alkutila, oletusarvo 0. Lohkoa on käsitelty luvussa 6.1.3. Continuous transfer function Jatkuvan lineaarisen järjestelmän siirtofunktioesitys Lohko toteuttaa jatkuvan SISO-lineaarisen järjestelmän siirtofunktioesityksen F ( s). Järjestelmä kuvataan antamalla osoittajapolynomi ja nimittäjäpolynomi. Osoittajapolynomin asteluvun on oltava pienempi kuin nimittäjäpolynomin asteluku. Järjestelmän alkutila on aina 1 nolla. Lohkoa on käsitelty luvussa 6.1.2. PID regulator PID-säädin Lohko toteuttaa PID-säätimen. Lohkon parametri-ikkunassa annetaan säätäjän vahvistuksen kerroin Proportional (oletusarvo 1) integraattorin kerroin Integral (oletusarvo 1) derivaattorin kerroin Derivation (oletusarvo 1). Lohkoa on käsitelty luvussa 6.4. Time Delay Signaaliviive Lohko viivästää sisäänmenosignaalia tietyn vakioajan verran. Viive on ei-negatiivinen luku, joka annetaan parametri-ikkunan kohdassa Delay. Lohkon ulostulo on alkuarvo (Initial input), kun simulointiaika on pienempi kuin viive viiveen verran viivästetty signaali, kun simulointiaika on suurempi tai yhtä suuri kuin viive. 1 Ilmeisesti ei ollut helpissä.

75 Lohko tallentaa sisäänmenot ja ajat puskuriin, jonka alkukoko määrätään kohdassa Buffer size. Variable delay Muuttuva signaaliviive Lohko viivästää sisäänmenosignaalia tietyn muuttuvan ajan verran. Viiveen pituuden ei tarvitse olla vakio. Lohkossa on kaksi sisäänmenoa: viivästettävä signaali (ylempi sisäänmeno) muuttuva viive (alempi sisäänmeno) Viiveen maksimipituus annetaan kohdassa Max delay. Lohkon ulostulo on alkuarvo (Initial input), kun simulointiaika on pienempi kuin viive viiveen verran viivästetty signaali, kun simulointiaika on suurempi tai yhtä suuri kuin viive. Lohko tallentaa sisäänmenot ja ajat puskuriin, jonka koko määrätään kohdassa Buffer size. Dummy Tyhjä lohko Tämä on irrallinen lohko, joka on oltava sellaisessa järjestelmässä, jossa esiintyy nollan ylityslohko ja järjestelmällä ei ole jatkuvaa1 sisäistä tilaa. Vertaa luvun 6.3.1 tapoja 1 ja 2. 7.5 Discrete time systems Paletisto sisältää lohkoja, jotka liittyvät aikadiskreetteihin järjestelmiin. Delay operator Signaaliviive yhden näytteenottovälin verran Lohko viivästää sisäänmenosignaalia yhden ajastussignaalivälin verran. Tämä vastaa z-tasossa siirtofunktiota z 1. Lohkon parametri-ikkunassa annetaan ulostulon alkuarvo (Initial condition) ensimmäisellä askeleella (oletusarvo 0). Lohkon sisäänmeno- ja ulostulosignaalit voivat olla pysytvektoreita. Alkuehdon dimensio määrittää käsiteltävän signaalin dimension. Lohkoa on käsitely luvussa 6.2.1. Sample and hold Nollannen kertaluvun pito. Lohko toteuttaa sisäänmenosignaalin näytteenoton ja arvon pidon yhden ajastussignaalivälin ajan. Lohkolla on yksi sisäänmeno ja yksi ulostulo, jotka voivat olla skalaareja tai pystyvektoreita. Lohkoa voidaan käyttää signaalien diskretisointiin A/D-muuntimen toteuttamisessa. 1 Jos järjestelmässä on differentiaaliyhtälö, ei Dummy-lohkoa tarvita.

76 Discrete state-space system Diskreetin lineaarisen järjestelmän tilaesitys. Lohko toteuttaa diskreetin lineaarisen järjestelmän tilaesityksen x k+1 = Ax k + Bu k y k =Cx k + Du k missä x k on tila (dimensio n) u k on sisäänmeno (dimensio m) y k on tulostulo (dimensio r) Järjestelmä kuvataan antamalla kerroinmatriisit A kertalukua n n B kertalukua n m n m n A B r C D C kertalukua r n D kertalukua r m alkutila, oletusarvo 0. Lohkon ajastus tulee ajastussignaalista. Lohkoa on käsitelty luvussa 6.2.3. Discrete transfer function Diskreetin lineaarisen järjestelmän siirtofunktioesitys Lohko toteuttaa diskreetin lineaarisen SISO-järjestelmän siirtofunktioesityksen F ( z ). Järjestelmä kuvataan antamalla osoittajapolynomi ja nimittäjäpolynomi Osoittajapolynomin asteluvun on oltava pienempi kuin nimittäjäpolynomin asteluku. Järjestelmän alkutila on aina1 nolla. Lohkoa on käsitelty luvussa 6.2.2. ESIMERKKI. Sample and hold. Kuvan mallissa on lohkoa Sample and hold käyttäen otettu näytteitä sinisignaalista. Näytteenottoväli on 0,3. Alkuperäinen ja näytteistetty signaali on piirretty samaan kuvaan. 1 Ilmeisesti ei ollut helpissä.

77 Näyteajastus on toteutettu seuraavasti: Kuvaaja on seuraavanlainen: 7.6 Signal Routing Paletisto sisältää lohkoja, joilla mm. voi yhdistää, jakaa ja haaroittaa signaaleja. Multiplexer Signaalien yhdistäminen vektorisignaaliksi Lohko yhdistää sisäänmenevät skalaari- ja pystyvektorisignaalit yhdeksi ulostulevaksi pystyvektorisignaaliksi ylhäältä alkaen. Sisäänmenevien signaalien määrä voidaan määrittää lohkon parametri-ikkunassa. Demultiplexer Vektorisignaalin jakaminen komponentteihin Lohko jakaa sisäänmenevän vektorisignaalin komponenteiksi. Ulostulo koostuu näistä erotetuista komponenteista. Ulostulevien signaalien määrä voidaan määrittää lohkon parametri-ikkunassa vaakavektorina, jonka koordinaatit määrittävät ulostulosignaalien dimensiot. Merge data Signaalien yhdistäminen yhdeksi signaaliksi.

78 Lohko yhdistää sisäänmenosignaalit yhdeksi ulostulosignaaliksi, joka on se sisäänmenosignaali, jonka arvo on viimeksi laskettu. Sisäänmenosignaalien määrä voidaan asettaa lohkon parametriikkunassa. Sisäänmenosignaalit voivat olla skalaareja tai vektoreita. Lohkoa voidaan käyttää esim. vuorotellen toimivien alijärjestelmien rakentamisessa. Extractor Signaalien valitseminen vektorisignaalista. Lohko valitsee sisäänmenevästä pystyvektorisignaalista koordinaatteja. Valittavat koordinaatit annetaan lohkon parametri-ikkunassa vaakavektorina. Switch2 Valinta kahdesta Lohko valitsee kahdesta sisäänmenevästä skalaari- tai vektorisignaalista toisen ulostuloon. Lohkossa on kolme sisäänmenosignaalia, joista keskimmäisen arvon perusteella valitaan joko ensimmäinen tai kolmas signaali ulostuloon. Valintakriteeri määritetään lohkon parametri-ikkunassa. 7.7 Discontinuities Paletisto sisältää lohkoja, jotka muodostavat epäjatkuvia signaaleja. Saturation Saturaatio Lohko rajoittaa ulostulosignaalin arvoa. Parametri-ikkunassa asetetaan Upper limit: yläraja Lower limit: alaraja Kun sisäänmenosignaali on näitten rajojen välissä, se tulee suoraan ulostuloon, muuten signaali leikataan ylä- tai alarajaan. Quantization Kvantisointi Lohko muodostaa sisäänmenon kvantisoinnin. Sisäänmeno muutetaan porrasfunktioksi Lohkon parametri-ikkunassa annetaan kvantisointiväli ja kvantisointitapa, joita ovat 1 pyöristys, katkaisu, lattia ja katto. Lohkoa voidaan käyttää lukujen erilaisiin pyöristyksiin. Hystheresis Rele Lohkon ulostulolla on kaksi mahdollista arvoa. Lohkon parametri-ikkunassa annetaan seuraavat arvot: 1 Helpisssa näitä tapoja ei ole esitetty, joten...

79 Switch on att: päällemenopiste, oletusarvo 1 Switch off att: poismenopiste, oletusarvo 0. Output when on: arvo, kun päällä, oletusarvo 1 Output when off: arvo, kun pois päältä, oletusarvo 0 Lohkon toiminta on seuraava: Kun rele on päällä, se pysyy päällä, kunnes sisäänmenon arvo tipahtaa alle poismenopisteen. Kun rele ei ole päällä, se pysyy poissa päältä, kunnes sisäänmenon arvo nousee yli päällemenopisteen. Päällemenopisteen on oltava suurempi tai yhtä suuri kuin poismenopisteen. Tällä voidaan toteuttaa hystereesi. Deadband Nolla-alue Lohko tuottaa alueen, jossa ulostulo on nolla. Lohkon parametri-ikkunassa annetaan nolla-alueen yläraja (End of dead band), oletusarvo 0,5. alaraja (Start of dead band), oletusarvo 0,5 Lohkon ulostulo on nolla, jos sisäänmeno on nolla-alueella sisäänmeno yläraja, jos sisäänmeno on nolla-alueen yläpuolella sisäänmeno alaraja, jos sisäänmeno on nolla-alueen alapuolella Saturation Saturaatio Lohko ulostulo rajoitetaan välille Lower limit Upper limit. Nämä parametrit määritetään parametri-ikkunassa. Lohkon ulostulo on sisäänmenevä signaali, jos sisäänmenevä signaali on välillä Lower limit Upper limit Upper limit, jos sisäänmenevä signaali on suurempi kuin Upper limit Lower limit, jos sisäänmenevä signaali on pienempi kuin Lower limit ESIMERKKI. Quantization. Kuvan mallissa on lohkoa Quantization käyttäen kvantisoitu sinisignaalista. Näytteenottoväli on 0,3, kvantisointitapa 1 (pyöristys?). Alkuperäinen ja kvantisoitu signaali on piirretty samaan kuvaan.

80 Lohkon parametrit ovat oletusarvoiset. Kuvaaja on seuraavanlainen: ESIMERKKI. Hystheresis. Kuvan mallissa on kokeiltu lohkoa Hystheresis. Lohkoon sisäänmenevä signaali on sinisignaali. Alkuperäinen ja lohkon ulostulosignaali on piirretty samaan kuvaan. Huomaa mallissa oleva lohko Dummy. Lohkon parametrit on asetettu seuraavasti:

81 Kuvaaja on seuraavanlainen: ESIMERKKI. Deadband. Kuvan mallissa on kokeiltu lohkoa Deadband. Lohkoon sisäänmenevä signaali on sinisignaali. Alkuperäinen ja lohkon ulostulosignaali on piirretty samaan kuvaan. Huomaa mallissa oleva lohko Dummy. Lohkon parametrit on asetettu seuraavasti:

82 Kuvaaja on seuraavanlainen: ESIMERKKI. Saturation. Kuvan mallissa on kokeiltu lohkoa Saturation. Lohkoon sisäänmenevä signaali on sinisignaali. Alkuperäinen ja lohkon ulostulosignaali on piirretty samaan kuvaan. Huomaa mallissa oleva lohko Dummy. Lohkon parametrit on asetettu seuraavasti:

83 Kuvaaja on seuraavanlainen: 7.8 Lookup Tables Paletisto sisältää lohkoja, jotka annetun datan perusteella jatkuvia funktioita. Lookup table Graafisesti määritelty funktio Lohkossa piirretään jatkuva käyrä graafisesti editori-ikkunassa. Määrittelyalueen ulkopuolella funktio muuttuu samalla nopeudella kuin lähinnä alueen sisällä. Valikkokomennolla Edit: Size voidaan muuttaa vaaka- ja pystyakseleita. Muutokset on tallennettava valikkokomennolla Edit: Ok. Lohkon vaatii sisäänmenosignaalin. Joka voi olla esimerkiksi aika. Interpolation Interpolaatio Lohko käyttää lineaarista interpolointia ulostulon muodostamiseen. Interpolointidata annetaan lohkon parametri-ikkunassa.