Emulaattorit Ja Simulaattorit

Emulaattorit ja simulaattorit

Pekka Ritamäki

Mikä on simulaattori ja mikä on emulaattori?

Simulaattorit ja emulaattorit kuulostavat melkein samalta. Mitä tarkoittaa simulaattori ja mitä emulaattori? Yritän tässä kirjoituksessa esittää oman mielipiteeni ja kokemukseni asiasta.

Simulaattoreista on hyötyä opeteltaessa uusia asioita tai kun testataan uutta laitetta, ennen kuin se on edes rakennettu. Paperikonesimulaattorit antavat työntekijöille mahdollisuuden tutustua uuteen koneeseen ennenkuin se on valmistunut. Kun ihmiset ovat tutustuneet hyvissä ajoin simulaattorin avulla toimintoihin, varsinainen laite tuntuu heti tutulta. Tietokoneet antavat mahdollisuuden tehdä panssarivaunu-, poliisi- ja sotasimulaattoreita, mutta kaikista puuttuu kuitenkin todellisuuden tuntu.

21Mvoltintestilaite.JPG

Kuva 1 Salamasimulaattori, joka toimii 21 miljoonalla voltilla. Huomaa metsä kuvan alareunassa.Tämä on esimerkki isosta simulaattorista.

Simulaattori on laite tai tietokoneohjelma, jolla matkitaan alkuperäistä laitetta tai ohjelman toimintaa toisella laitteella. Simulaattori on edullisempi rakentaa kuin alkuperäinen laite, mutta siitä puuttuu alkuperäisen laitteen oikeat toiminnat ullkopuoliseen maailmaan. Esimerkiksi öljynjalostamon toimintaa voidaan matkia simulaattoriohjelmalla ilman, että tarvitsee rakentaa kokonainen öljynjalostamo. Samoin lentokoneen toimintoja voidaan matkia simulaattorilla ilman pelkoa, että kone tuhoutuu joka kerta alottelijan käsissä. Raketin toimintoja voidaan matkia rakettisimulaattorilla ilman oikeata rakettia. Koska simulaattorista puuttuu joitakin oikeita toimintoja, se ei voi toimia aivan samoin kuin alkuperäinen laite. Simulaattoreita käytetään silloin kun alkuperäistä laitetta ei voi käyttää tutkimuksessa tai siitä on apua vianetsinnässä. Sillä voidaan tutkia nopeasti monimutkaisia toimintoja, matemaattisia malleja ja algoritmipohjaisia vikoja. Simulaattoria tarvitaan myös silloin kun oikeaa laitetta ei ole vielä olemassa ja halutaan tietää miten se toimisi erilaisissa tilanteissa.

ceibosimulaattori.JPG

Kuva 2 Ceibon Intel 8051 prosessoriemulaattori on esimerkki pienestä emulaattorista

Vaikka simulaattorit ovat edullisempia kuin oikeat laitteet, nekin voivat olla kalliita. Olen käyttänyt Pittsburgissa McGraw Edisonin TNA-simulaattoria 1980, joka oli ison hallin kokoinen. Se simuloi sähköverkoston vikatilanteita ja erityisesti nopeita kuormien muutoksia. New Yorkin kuuluisa kahden päivän black out (sähkön loppuminen) 1965, johtui sähköverkon matalataajuisesta värähtelystä. Tämä noin 35Hz värähtely väänsi suuren määrän sähkögeneraattorien akseleita kieroon ja generaattorit putosivat yksitellen pois verkosta. Verkon oikosulkuteho pieneni ja värähtely voimistui koko ajan kunnes koko verkko oli tuhoutunut. Verkon alitaajuisia värähtelyjä voidaan estää pienentämällä sähkönsiirron vaihemarginaalia sarjakondensaattoriparistoilla tai säädettävillä tyristoriohjatuilla loistehokompensaattoreilla. Juuri näitä laitteita suunnittelin Nokian Kondensaattoritehtaalla 15 vuotta.
Vaikka TNA-simulaattori (Transient Natework Analyzer) oli kallis, niin kuitenkin on edullisempaa tehdä tutkimuksia simulaattorilla kuin sähköverkostolla. Simulaattorit eivät kuitenkaan voi toimia kunnolla, jos sen kaikki osat eivät toimi juuri niin kuin alkuperäisetkin.

pesurobotti_1988.jpg

Kyreilille tehty pesurobotti vuonna 1988

Monesti rakennetaan pienoismalleja, joilla yritetään matkia alkuperäisen isomman laitteen toimintoja. Kehitettäessä erästä ultraäänipesurobottia, tein ensin PC-pohjaisen simulaattoriohjelman. Sen avulla pystyin kehittämään anturipulssit ja suunnittelemaan säätöohjelman ilman oikeaa laitetta ja simuloimaan laitteen kaksiuloitteisia liikkeitä. Kun laite toimitettiin asiakkaalle, Kyrel Oy:lle 1988, niin laite toimi juuri niin kuin pitikin. Asennusaika oli kaksi tuntia. Koko robotin suunnittelu- ja valmistumisaika oli yksi kuukausi. Harvoin uudet tuotteet valmistuvat näin nopeasti.

McGrawEdisonsimulaattori.JPG

Kuva 3 McGraw Edisonin TNA-simulaattorilla tutkitaan sähköverkkojen dynaamisia ongelmia

Samaan aikaan kun teimme TNA-simulointia amerikkalaisten kanssa, teimme venäläisen VEI-instituutin (V.I. Leninille omistettu sähkötekniikan tukimuslaitos) kanssa samasta asiasta suurikokoisen pienoismallin. Tämä nopeasti tyristoreilla ohjattu loistehokompensaattori toimi 10kV jännitteellä ja 10MVA loisteholla. Se oli noin 10*10*5 metrin kokoinen laite. Siinä oli Nokian kondensaattoriparisto, reaktori ja ohjauslaite. Nopea loistehon säätö ja sen normittaminen oli tutkimuksen kohde.

VeiTutkimislaitos.JPG

Kuva 4 Kirjoittaja (oikealla) Togliatissa Neuvostoliitossa tutkimassa SVS (Static Var Systems) simulaattoria. Simulaattorin teho oli 10MVA, joten se läheni jo emulaattoria. Kuva päätyi venäläiseen lehteen Sovietski Export 5/1982, jota julkaistaan kymmenillä eri kielillä.

Venäläisillä oli Togliatissa tyristoritutkimuslaitos, jossa tyristoriosa oli 300 metriä
pitkä, 50 metriä leveä ja 10 metriä korkea, katso kuvaa 11. Tässä tapauksessa simulaattorin tyristoriosa oli suurempi kuin oikeassa laitteessa, mutta koska se oli jo rakennettu, sitä käytettiin testauksessa. Mahtavalla VEI-instituutilla oli neljä tutkimuslaitosta, yksi Moskovassa, yksi Leningradissa, yksi Siperiassa ja yksi Togliatissa. Tutkijoita VEI:llä oli yli 6000. Togliatti on Volgan rannalla ja samassa kaupungissa tehdään myös Tsiguli-autoja, joita myydään Lada- nimisenä Suomessa. Togliatin tutkimuslaitos näytti suurelta muuntajametsältä. Sen lähellä oli suuri Volgan voimalaitos, jonka takia tutkimuslaitos oli sijoitettu juuri tänne. Volga oli tällä kohtaa 30 kilometriä leveä virta. Autotehtaalle menee aamulla 200000 työntekijää. Autoja tehtiin silloin 700000 kappaletta vuodessa.
Metsän reunassa oli 20 miljoonan voltin testigeneraattori (kuva 1). Hallin sisällä testattiin 2.1 miljoonan voltin sähkölaitteita.

Mikä oli tulos? Oliko amerikkalainen vai venäläinen malli parempi?
Amerikkalaisten TNA-tutkimuksiin oli varattu yksi viikko, joten ohjausjärjestelmä simuloitiin tietokoneohjelmalla. Tuloksena oli kauniita kuvia, joissa kaikki tapahtui juuri niinkuin oppikirjoissa. Mitään uutta tietoa ei tutkimus antanut ainakaan minulle.

Venäläisten kanssa simulaattorin rakentaminen ja testaaminen kesti yli vuoden. Tähän simulaattoriin rakensin tietokonepohjaisen tiedonkeräys- ja ohjausjärjestelmän Hewlett Packard- HP-85 tietokoneella. Samoin opin, että venäläiset antavat tyristoriohjaukseen vain yhden lyhyen 10us kestävän ohjauspulssin. Jos verkossa on harmoonista säröä, ohjauspulssi saattaa osua sellaiseen kohtaan missä edellinen tyristori on vielä johtavana. Jos tämä pieni pulssi menee hukkaan ja tyristori jää syttymättä ohjaus menee täysin pilalle. Yhteensopivuuden varmentamiseksi laitteeseen tehtiin uusi mittausyksikkö, joka pidättää liipaisua kunnes jännite tyristorin yli on oikea. Tämän jälkeen laite toimi normaalisti.

Samoin opimme miten venäläisten kanssa pitää kaupallisesti toimia ja saimme myöhemmin monia yhteisiä tilauksia vastaavista laitteista muihin maihin; mm. Turkkiin. Venäläiset taas halusivat tuntea ohjausjärjestelmämme. Koska kaikkien mikropiirien nimet olivat matkalla kuluneet pois, he joutuivat ostamaan piirustukset Nokialta. Laitteissa käytettyjä osia ei kutenkaan saanut Neuvostoliitosta, joten neuvostoliittolaisten rakentamiin kompensaattoreihin tuli suomalaiset ohjaukset, reaktorit ja kondensaattorit.

IEE-laitos_Lontoossa.JPG

Kuva 9. IEE rakennus Lontoon Savoyssa

TeslanKeksint%C3%B6.JPG

Kuva 10. Teslan generaattori. Kuva on Teslan patenttikuvauksesta.

Molempien tutkimusten tulokset esitin Lontoossa IEE (The Institute of Electrical Engineers, Savoy Place) Static Var-konferenssissa 1980. Kuulijoina oli yli sadasta eri maasta tulleita kriittisiä asiantuntijoita. Instituutti ja paikka on sama missä Tesla piti 1892 kuuluisat suuria jännitteitä ja suuria taajuuksia käsittelevät luentonsa.

Togliatinohjauslaite.JPG

Kuva 6 Togliatin kompensaattorisimulaattorin ohjauslaite. Tässä laite on vielä Tampereella Nokian tehtailla simulaattoritesteissä. Taustalla nopea monikanavainen piirturi. Wavetek-funktiogeneraattorilla generoitiin häiriöitä.
Tyristorit olivat pienoiskoossa pöydän alla tehon 3*200W . Edessä HP85 tietokone, jolla tehtiin ohjauksia ja kerättiin tietoa.

Togliatintutkimus.JPG

Kuva 7. Togliatin simulaattorin ohjauspöytä. Takana keskellä Nokian staattisen kompensaattorin ohjauskaappi. Neuvottelemassa kaksi Nokialaista ja kaksi venäläistä. Ohjauspöydän ääressä venäläinen operaattori.

Ohjelmistosimulaattorit

PCSIMULAATTORI.JPG

Kuva 12. Antofunktion säätäminen hiirellä PID-simulaattorissa. Epälineaarisen funktion säätäminen on paljon vaikeampaa kuin lineaarisen funktion. Sumean logiikan säännöillä voidaan ongelmaa ratkaista paloittain.
Kuva PID-CD:n ohjelmasta

Kuvassa 12 on PID-simulaattori, jonka avulla voidaan tutkia säätöjärjestelmän toimintoja ilman, että pitää rakentaa kokonaista ohjaus-, mittaus- ja säätölaitetta. Varsinaisen säätäjän sisäisen toiminnan tutkiminen voi olla hankalaa alkuperäisessä laitteessa. PID-simulaattorissa voidaan asettaa mittauksen eri bittimäärät ( 1-16 bittiä), mittauskohina, mittausviive, kuollut aika säädössä, P-, I- ja D-säätökertoimet ja niiden aikavakiot, annon epälineaarisuus, sumean logiikan säännöt jne.

Simulaattorilla nähdään säädön nopeus, värähtelytilanteet, mittausviiveiden vaikutus säätöön jne.
PID-simulaattori voidaan kytkeä ulkoiseen mittausanturiin ja ohjaukseen, jolloin simulaattori voi toimia aivan kuin alkuperäinenkin säätäjä. Tällöin voidaan simulaattoria jo kutsua PID-emulaattoriksi, koska se korvaa alkuperäisen säätäjän, mutta sillä voidaan tutkia toimintoja paremmin kuin alkuperäisellä säätäjällä.

VeiTyristorit.JPG

Kuva 11 Togliatin kompensaattorisimulaattorin tyristorihalli on täynnä tyristoreita. Laite on Suomen sähköverkkoon liittyvän Viipurin tasavirtamuuttaja-aseman täysikokoinen emulaattori. 50/50 Hz taajuusmuuttaja-asema tarvittiin Neuvostoliiton ja Suomen välisistä taajuuseroista. Neuvostoliitto on suurempi maa ja siellä taajuus vaihtelee 49.11..49.56Hz välillä. Suomessa osataan käyttää vain 50.00 Hz taajuutta.
Tyristorein liipaisu tapahtuu lasereilla ohjauslaitteista jotka ovat noin viiden metrin päässä tyristoreista.

Kuva 12 näyttää miten simulaattorin antofunktiota voidaan asettaa hiiren avulla vastaamaan oikean laitteen epälineaarista toimintaa. PID-simulaattori antaa valmiit säätökaavat ohjeeksi tutkittavalle laitteelle sen hetkisistä säädöistä.
Taulukko 1 on ohjelman antamat säätöfunktiot, joita voi käyttää toimivan PID-säätöohjelman perusteina.

Microchip MPSIM on simulaattori, joka toimii Microchipin kehitysympäristössä MPLAB.

MicrochipSIMULAATTORI.JPG
Kuva 13. Kuva ohjelmistopohjaisesta simulaattorista (MPLAB)

Alla on kuva Microchipin MPSIM, joka simuloi C-kielistä ohjelmaa. Ohjelmalla voi suorittaa simuloidusti c-lähdekielistä tai assemblerkielistä ohjelmaa, tutkia rekistereitä, muuttujia, mitata suoritusaikoja, muuttaa muuttujia, antaa lähdetietoja tuloille, tarkastella UARTIn sarjaliikennettä jne.
Mielestäni tämä on täydellisin simulointiohjelma, mutta tämäkään ei mitenkään vastaa oikeaa laitetestiä. MPLAB-ohjelma on ilmainen (www.microchip.com).

MicrochipSIMULAATTOR2I.JPG

Kuva 14. MPLAB ohjelmasimulaattorin kuva

Muita esimerkkejä simulaattoreista on vanhojen kotitietokoneiden simulointi nykyaikaisella PC:llä, Microsoftin lentokonesimulaattori ja HP:n laskukoneiden simulointi PC:llä.

MathiasSIMULAATTOR2I.JPG

Kuva 15. Prosessorin korvaava emulaattori Mathias (Tech Tools Inc.) Microchip PIC prosessoreille.

Emulaattori on laite, joka korvaa tutkittavan laitteen tai sen osan. Se toimii samalla tavalla tai paremmin kuin alkuperäinenkin laite. Emulaattorin avulla voi tutkia ongelmatilanteita helpommin kuin alkuperäisellä laitteella. Prosessoriemulaattoreissa on mahdollisuus asettaa keskeytyspisteitä ja tutkia prosessorin rekistereitä ja muistipaikkoja. Paremmissa emulaattoreissa on tiedonkeräysmuisti, jolla voidaan tutkia mitä ohjelma on tehnyt ennen katkaisupistettä. Emulaattoreilla tutkitaan tietokoneissa olevia laite- tai ohjelmistovikoja. Emulaattorit ovat kalliita laitteita ja niihin liittyy myös tietokoneohjelma. Esimerkiksi sulautetussa järjestelmässä voi olla ohjelma EPROM:ssa. Korvaamalla EPROM emulaattorilla voidaan laitteeseen muuttaa ohjelma muutamassa sekunnissa. EPROM-emulaattori on periaatteessa oma RAM-muisti, johon voidaan kirjoittaa uusi ohjelma PC:n avulla. Kun vika on selvitetty emulaattori poistetaan ja se korvataan tavallisella EPROM-muistipiirillä. Myös prosessori voidaan korvata emulaattorilla. Riippuen emulaattorin tasosta sillä voidaan tutkia joko ajon aikana (reaaliaikainen emulaattori) tapahtuvia muutoksia tai sitten tutkia keskeytyksen jälkeen prosessorin tietoja (Off line-emulaattori). Kuvassa 8 on Parallaxin prosessoriemulaattori, jolla voidaan tutkia erilaisia prosessoreita vaihtamalla siihen erikoisprosessori (bond out chp), josta voidaan lukea prosessorin sisäiset rekisterit ajon aikana. Tämän emulaattorin on suunnitellut amerikkalainen Chip Gracey Tampereella 1990. Tällainen emulaattori maksaa noin €2000. Nykyään sitä valmistaa Tech Tools Inc.

Intelinkeksij%C3%A4.JPG

Kuva 16. INTEL –8051 emulaattori MDS-80 ja sen keksijä Bob Garrow

IntelEmu.JPG

Ensimmäinen emulaattorini Nokialla oli Intel MDS-80. Tämän Bob Garrow suunnitteleman 8051-prosessoriemulaattorin sain vuonna 1979. Se maksoi silloin kolmen hyvänlaatuisen Mercedes Bentz-auton verran ja siinä oli kaksi 160 kByten 8” levykeasemaa. Laite oli hintansa arvoinen, mutta kyllä valmistajakin sai kohtuullisen korvauksen monistaessaan näitä laitteita.
Nykyään käytän yhä harvemmin emulaattoreita, koska tunnen laitteet paremmin ja emulaattoreiden käyttäminen on edelleen erittäin hidasta. Simulaattoreita sen sijaan käytän melkein jokaisessa projektissa. Ilman jonkinasteista simulaattoria on aivan mahdoton testata laitteiden ominaisuuksia ohjelmaa kehitettäessä. Erityisesti viiveiden ja ajastimien testaus on simulaattorilla tarkempaa ja helpompaa kuin oikeassa laitteessa. Nykyään aivan uudemmat PC-mallit pystyvät simuloimaan joitakin PC-malleja yhtä nopeasti kuin alkuperäinen laite.

Taulukko 1 Yhteenveto simulaattorin ja emulaattorin ominaisuuksista

Yhteenveto Simulaattori Emulaattori
Hinta Halpa Kallis
Toiminta Rajoittunut Yhtä hyvä tai parempi kuin alkuperäinen
IO-laitteet Simuloitu Alkuperäiset
Nopeus Alhaisempi Alkuperäinen
Käyttökynnys Matala Vaatii paljon perehtymistä laitteeseen
Vian selvityskyky 0-50% 99-100%
TurunRobottiauto.JPG

Kuva 17 Hipposautorobotti kiihdyttää ravihevoset lähtöön vuonna 2003 Turun raviradalla.

Kuvassa 17 on Hipposautorobotti, joka toimii automaattisesti ravikilpailuissa lähdössä hevosten edessä. Auto lähtee liikkeelle automaattisesti ilman kuljettajan apua ja tekee kiihdytyksen oikealla nopeusprofiililla eri hevosille. Samalla se hoitaa tiedonkeräystä ja katolla olevaa LED-näyttölaitetta. Sillä annetaan tietoja hevosille tai ohjastajille lähdön alkamisesta ja auton nopeudesta ajon aikana. Ajon loputtua se antaa kiihdytysraportin kirjoittimella.
Ohjelmaa tehdessäni tarvitsin monia simulaattoreita, jotta minun ei tarvinnut käydä testaamassa jokaista kohtaa 200 kilometrin päässä Turussa. Osa testilaitteista oli alkuperäisiä kuten auton katolla oleva oma LED-näyttölaitteeni. Jotkut, kuten matka-anturi, piti korvata simulaattorilla. Auton moottorin tehoprofiilia en voinut tietää ennenkuin pääsin tekemään ensimmäisen mittauksen autorobotilla. Tämä oli erittäin vaikea laite kehittää ilman todellista autoa, rataa ja ravikilpailuja.

Simulaattoritesti

Mistä sitten tietää onko joku laite tai ohjelma simulaattori vai emulaattori?
Katso lompakkoasi, jos sieltä puuttuu enemmän rahaa kuin alkuperäisen laitteen hankkiminen maksaisi, olet hankkinut emulaattorin. Jos pystyt käyttämään hankkimaasi laitetta tai ohjelmaa ilman alkuperästä laittetta, olet ostanut simulaattorin.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License