O laboratoriju
Osebje
Objave
Raziskave
Pravila
Predmeti/ vaje
Izpitni roki
Rezultati
Naloge
Informacije
Real-time Systems Laboratory

Vaje - Sistemi v realnem času, RI VS/2

New Page 1

Gradivo za vaje

Priročnik za PEARL90 (pdf, 664kb)
Uvodna predavanja za vaje (pdf, 133kb)
Opis V/I vmesnika (pdf, 17kb)
Osnovna navodila za izvedbo vaj (pdf, 36kb)
Dokumentacija za temperaturni senzor: (a) , (b) , (c) 
Dokumentacija za gonilnik motorčkov

Splošna navodila

Pri predmetu Sistemi v realnem času je pred opravljanjem teoretičnega dela izpita potrebno opraviti in zagovarjati vaje. Naloge so ovrednotene s točkami. Vsaka točka  pomeni eno oceno, vendar le v primeru, če je naloga popolnoma opravljena. Za pridobitev podpisa, možnosti pristopa k izpitu in za pozitivno oceno je potrebno uspešno opraviti naloge za vsaj šest točk.

Pred izdelavo naloge je potrebno izvesti analizo in predlagati rešitev problema v obliki psevdokode, diagrama poteka, grobe strukture programa ipd. Rezultat je potrebno pripravit v (neformalni) pisni obliki, ki je sestavni del opravljene naloge. Za osnovo lahko uporabite Obrazec za pripravo vaj. Dokument je praviloma potrebno pripraviti pred prihodom na vaje.

Besedila vaj

  1. Vzporedno delovanje opravil (1 točka)
    Izdelajte program,ki bo ponazoril vzporedno delovanje več opravil (vsaj 3). Preizkusite različne možnosti aktivacije, razvrščanja in drugih operacij nad opravili (ACTIVATE, TERMINATE, SUSPEND, CONTINUE, PREVENT, RESUME). Za ponazoritev delovanja uporabite izpis na terminalski zaslon.
    V program vključite tudi nekaj testnih procedur in funkcij ter preučite razlike med klicanjem procedur in aktivacijo opravil.

  2. Sinhronizacija med opravili (1 točka)
    Izdelajte program, s katerim boste demonstrirali delovanje sinhonizatorskih mehanizmov semafor in zapah (SEMA in BOLT). Preučite vse možne operacije za delo s sinhronizatorji (REQUEST, RELEASE, TRY, PRESET, ENTER, LEAVE, RESERVE, FREE) in skušajte čim bolj nazorno prikazati njihovo delovanje.
    Preučite kaj je to smrtni objem in implementirajte scenarij pri katerem bo do smrtnega objema prišlo.

  3. Delo z datotekami (1 točka)
    Izdelajte program, s katerim boste demonstrirali delovanje podatkovnih postaj. Uporabite vse vrste podatkovnih postaj (serijski vmesnik (ALPHIC), disk, binarne datoteke, BU). Preučite vse možne operacije za delo z njimi (odpiranje, zapiranje, branje, pisanje), ki jih podpira razvojni sistem in skušajte čim bolj nazorno prikazati njihovo delovanje.

  4. Sledilec svetlobnega vira (1 točka)
    Izdelajte robota, ki se bo obračal proti najmočnejšemu viru svetlobe. Na navpično os montirajte dva svetlobna senzorja zamaknjena za določen kot. Os povežite na motorček preko reduktorja. Senzorji zaznavajo jakost svetlobe in producirajo signal v razponu od 0 do 2,5 V. Ker ima procesna karta samo en A/D pretvornik, uporabite analogno stikalo, ki ga krmilite preko enega izmed digitalnih izhodov.

  5. Regulator temperature v prostoru (1 točka)
    Izdelajte program s katerim boste nadzorovali temperaturo v nekem prostoru. Na razpolago imate temperaturni senzor, ki toploto pretvarja v analogno napetost. Želeno temperaturo nastavite preko tipkovnice. Če temperatura preveč odstopa od nastavljene, naj se vklopi ventilator (motorček) oz. grelec.

  6. Semaforizacija križišča (2 točki)
    Izdelajte program, ki bo služil za krmiljenje semaforjev v križišču. Za osnovo si oglejte delovanje katerega izmed dejanskih križišč in ga poskušajte posnemati. Dodajte tudi gumbe za prehod za pešce in "nočni režim" delovanja ko utripajo samo rumene luči. Na eno izmed cest namestite tudi "magnetno zanko", ki zazna prihod avtomobila, ter ustrezno prilagodi režim delovanja. Za rešitev problema uporabite več opravil, ki se medsebojno sinhronizirajo.

  7. Pralni stroj (3 točke)
    Preučite delovanje pralnega stroja in izdelajte program za njegov programator. V ta namen imate na razpolago model pralnega stroja, ki ima boben (motorček), simulacijo črpalke za vodo ter greleca vode. Na modelu se nahaja tudi senzor, ki pove ali je boben odprt. Implementirajte več "pralnih programov". Na zaslonu prikazujte trenutne faze v "pranju". Hitrost vrtenja "bobna" regulirajte s pulzno širinsko modulacijo. Za popestritev naloge lahko uporabite zvočne efekte, ki jih ima model na razpolago. Podrobnejša navodila o modelu pralnega stroja najdete v Model pralnega stroja.

  8. Želva (2 do 3 točke)
    Izdelajte enostavni model robota, ki se pomika s pomočjo dveh z motorji gnanih koles. Smer premikanja je določena z razliko hitrosti poganjanja posameznih koles. Omogočite krmiljenje robota z ukazi preko tipkovnice oz. preko naprej napisanega seznama ukazov iz datoteke. Za dodatno točko robota opremite tudi s senzorjema svetlobe in ga sprogramirajte tako, da se bo samostojno pomikal proti najmočnejšemu viru svetlobe.

  9. Dvigalo (2 točki)
    Izdelajte program s katerim boste krmilili dvigalo v večnadstropni hiši. Vsako nadstropje je opremljeno z gumbom za klicanje dvigala. Vrata v vsakem nadstropju imajo senzor za to ali so odprta in posebno varnostno stikalo, ki omogoča ali preprečuje odpiranje vrat. V kabini dvigala se nahajajo gumbi za izbiro posameznega nadstropja. Kabina ima svoja vrata s senzorjem, ki pove ali so vrata zaprta ter senzor, ki pove ali je kabina prazna. Kabino dviguje in spušča motor. V vsakem nadstropju so nameščeni senzorji, ki povedo ali je kabina na poziciji vstopa v dvigalo. Delovanje programa simulirajte z motorčkom, tipkami in in lučkami.

  10. Prodajni avtomat (1 točka)
    Izdelajte program, ki bo ponazoril krmiljenje prodajnega avtomata. Prodajni avtomat sprejema žetone. Uporabnik lahko izbira med več izdelki. Avtomat zazna, če kakšnega izdelka ni več na voljo in to tudi signalizira. Uporabnik si lahko tudi premisli in zahteva vračilo žetona. Model simulirajte s pomočjo tipk, lučk in izpisovanja na zaslonu.

  11. Porazdeljeno izvajanje nalog (2 točki)
    Izdelajte aplikacijo, ki bo omogočila povezavo dveh razvojnih plošč preko paralelnega komunikacijskega vmesnika ali kako drugače. Za demonstracijo delovanja izdelajte program pri katerem se bo na obeh razvojnih ploščah izvajalo nekaj opravil, si izmenjavalo podatke in se medsebojno sinhronizirale.

  12. Polnilna linija (1 točka)
    Izdelajte program, ki bo nadzoroval polnilno linijo za polnjenje pijač. Prazne steklenice se pomikajo po tekočem traku in ko pridejo do določenega mesta se v njih spusti šoba in jih napolni s pijačo. Delovanje programa ponazorite s pomočjo stikal, lučk in izpisov na zaslon.

  13. Drive by wire (2 točki)
    Izdelajte program, ki bo ponazoril upravljanje avtomobila po principu "Drive by wire". Volan in stopalke komand ne prenašajo direktno temveč se generira ustrezna električna napetost, ki preko krmilnega sistema poganja servo mehanizme. Za zajemanje vhodov uporabite potenciometre za servo mehanizme pa uporabite motorčke.

Povezave

Vsebina predmeta
Rezultati izpitov

Na vrh | Prva stran | O laboratoriju | Osebje | Inštitut za informatiko | E-pošta

 

RTS UM Inštitut za informatiko FERI FERI