torstai 1. huhtikuuta 2004
Järjestelmän laitteisto- ja ohjelmistoarkkitehtuuri
Laitteissa on plugandplay-tuki, jota BusMaster ohjaa. Kun väylälle liitetään laite, antaa BusMaster onbus-viestin, jolla MCU saa tiedon uudesta laitteesta. Vastaavasti jos väylältä katoaa laite, BusMaster antaa offbus-viestin.
Kussakin laitteessa on sisäänrakennettu jännitevalvonta, joka lähettää väylälle viestin, jos käyttöjännite muuttuu tai syöttösähkössä on epätasaisuutta. Näin BusMaster osaa kertoa MCU:lle väylän jännitetasot kustakin väylällä olevasta noodista. Tällä järjestelyllä havaitaan helposti, jos väyläkaapeloinnissa on epäluotettavia kohtia. Toisaalta jos jännitetasot putoavat väylän päässä liian alas, voidaan väylään lisätä lisäsyöttöjä.
Järjestelmän PC-pohjaisen MCU:n ohjelmistoarkkitehtuuri tehtiin noudattamaan täsmällisesti laitteistoarkkitehtuuria. Kustakin järjestelmän fyysisestä osasta tehtiin vastaava oliopohjainen komponentti. Näin esim. olio TWSU, TbusMaster ja TECU on peritty oliosta TCanNode. Näin TCanNode osaa tulkita kaikkien eri noodityyppien perusviestit, esim. OnBus ja OffBus-viestit, jännitemuutosviestit ja hälytykset. Esim. tästä oliosta peritty TECU sisältää toiminnot, joita perus TCanNode ei tunne (releiden ohjaus, dac-himmenninohjaus). Vastaavasti TWBSU-olio osaa tulkita nappien painamisviestejä ja ohjata WBSU:n ledejä.
PC-pohjaisen MCU:n rooli on toimia järjestelmän ytimenä. Kun väylälle liitetään laitteita, MCU alustaa muistiin vastaavia olioita. Tietokoneen muistissa on siis järjestelmän fyysisiä kytkentöjä seuraava ohjelmallinen malli. Toisaalta MCU:n säännöstöt ohjaavat, miten väylän tapahtumat saavat aikaan väylän kautta tehtäviä ohjauksia.
PC:ksi valittiin tehokas teollisuus-PC, jossa ei ole lainkaan liikkuvia osia, kuten tuulettimia.
maanantai 1. maaliskuuta 2004
Tapahtumankäsittelijän toimintamalli (MCU)
Kukin rele tai DA-muunnin nimetään. Nimeämistapa on määritelty tyyliin
ECU:16,1=WC
ECU:16,2=Eteinen
ECU:16,3=Olohuone
Määrityksissä =-merkin vasemmalla puolella oleva lyhytnimi (esim. ”ECU:16,1” --> ECU-noodin jonka CAN ID = 16, rele numero 1) on muissa määrityksissä käytettävä määritys --- Käyttöliittymä voi näyttää tekstinimen (WC).
Kullekin painikkeelle voidaan opettaa sääntö, mitä päällekytkentä ohjaa. Ohjauksia voi olla yksi tai useampia.
Sääntö on muotoa:
WBSU:40,1=ECU:16,1 ; ECU16,2 ; WBSU:42,1 ; WBSU:40,1
Selitys: Mikäli WBSU noodin 40 ledi 1 ei pala -> WBSU-noodin 40 painike 1 ohjaa päälle ECU-noodin 16 releet 1 ja 2. Samaisen kytkimen ledi sytytetään, mutta myös WBSU-noodin 42 napin 1 ledi sytytetään myös. Tässä tapauksessa WBSU-noodi numero 42 nappi 1 on ”masterkytkin” isommalle määrälle valaisimia (esim. koko yläkerran sammutus).
Ledin sytytys tarkoittaa myös sitä, että ko. napin ”pinoon” (pino sijaitsee MCU:lla) lisätään tieto releistä, joita on ohjattu päälle. Mikäli painetaan painiketta, jonka ledi palaa, ohjataan kaikki pinoon lisätyt releet/painikeledit 0-asentoon.
Huom! Vaikka WBSU sisältää vain 3 lediä, samaa toimintamallia voi käyttää kaikille WBSU- outputeille. On MCU:n vastuulla hoitaa tämä pinologiikka ja lähettää väylälle lediohjausviesti vain niille ledeille, joita laitteessa oikeasti on.
Huom! Esimerkkikuvissa näkyvä Web-käyttöliittymä generoidaan automaattisesti sääntökuvauksesta. Samalla kun kuvataan järjestelmän toiminta fyysisille kytkimille syntyy myös selain- ja mobiilikäyttöliittymät.
sunnuntai 1. helmikuuta 2004
Järjestelmän kuvaus
SmartPirtti on CAN-väyläpohjainen järjestelmä, jossa samassa väylässä on erilaisia noodeja:
WBSU = Wall Button Swicth Unit
ECU = Electric Central Unit
BMU = Bus Master Unit
MCU = Master Control Unit
Wall Button Swicth Unit (WBSU)
WBSU:lla on yksilöllinen CAN ID (16-48) ja se pystyy lukemaan n-kpl painikkeita. Väylälle lähetetään viesti sekä painikkeen alas- että päästötilasta. WBSU:lla on 3 ohjattavaa lediä, joiden kirkkautta voidaan säätää 0-100%.
Kuva: WBSU:n toimintamalli. WBSU:hun
Electric Central Unit (ECU)
ECU:lla on yksilöllinen CAN ID (16-48) ja se pystyy ohjaamaan 14 relettä (1-14), neljää himmennintä (DA) ja lukemaan neljää ulkoista input-tietoa.
Bus Master Unit (BMU)
BMU liittyy väylään ja se muuntaa CAN-väyläviestit esim. PC:llä käsiteltäväksi sarjaliikenneviesteiksi. Sarjaliikenteellä voidaan vastaavasti lähettää CAN-viestejä väylällä oleville noodeille ja näin ohjata esim. ECU:n releitä tai WBSU:iden ledien tiloja.
Master Control Unit (MCU) - Tapahtumankäsittelijä
MCU on laite tai ohjelma, jolle voidaan opettaa toiminnallisuuksia, mitä ohjauksia tapahtuu haluttujen tapahtumien seurauksena. Näin esim. valopainikkeen (WBSU) painaminen saa aikaan rele-ohjauksen halutulla ECU:lla sekä sytyttää valopainikkeen LEDin.
Ensimmäisessä toteutuksessa MCU:n rooli hoidetaan PC-ohjelmalla, joka on liitetty väylään BMU:lla. Kakkosvaiheessa PC:llä tehty ja testattu toimintomalli voidaan tallentaa väylällä olevalle MCU:lle, joka voi olla esim. BMU:hun tai ECU:un lisätty toiminnallisuus.
torstai 1. tammikuuta 2004
Skenaariokertomus
Seppo painaa ovenpielestä painikkeesta 2 seinävalon päälle. Painikkeen 2 ledi kirkastuu.
Seppo painaa painiketta 10. Koska siinä on kirkas merkkivalo (tarkoittaen, että valot on päällä), sammuu sekä kattovalo että seinävalo.
Sekä painike 1 että 2 on opetettu ohjaamaan myös painikkeen 10 lediä ja näin yhdellä napilla voidaan sammuttaa useita valaisimia. Painikkeen 10 päällekytkentätoiminto voi ohjata vain esim. seinävaloa, eli kyseessä on perinteistä ”nappula – valo-ohjaus”-ryhmittelyä älykkäämpi toimintamalli.
Kaikki yläkerran painikkeet voidaan myös liittää alakerrassa olevaan ”Koko yläkerta”-nappiin. Näin alakerrassa syttyy ledi kirkkaana kun yläkerrassa on yksikin valo päällä. Alakerran nappia painamalla sammuu kaikki yläkerran valot.