Kaksinopeuksisen vilkun ohjaus
461 531 626
Nuohoinohjelmassa tarvitaan vilkkua. Jos automaatiojärjestelmän ohjattavaksi tarvitaan vilkkuvaloa, se toteutetaan yleensä erillisellä vilkkuvalolla ja järjestelmästä tulee vain ohjaus vilkku päälle/pois päältä. Esitän tässä kuitenkin kaksi menetelmää vilkkulähdön toteuttamiseksi, koska ko. toiminteelle saattaa olla muutakin käyttöä.
Alla oleva ohjelma vilkuttaa tai polttaa koko ajan lähtöön kytkettyä valoa kolmen binääritiedon mukaan:
Huomaa, että jos bittejä on yhtä aikaa päällä, in2 voittaa in1:n ja in3 voittaa muut.
Ohjelman toiminta perustuu bo-tietotyyppiin. Tämä tyyppi koostuu jäsenistä bv (Binary Value) ja pw (Pulse Width). Jäsen bv sisältää varsinaisen bitin tilan, pw määrittelee bitin päälläoloajan millisekunneissa. Alla olevassa esimerkissä nopea vilkutus saadaan aikaan kirjoittamalla BOU-kanavaan 250 ms pituinen ykkönen. Kirjoittaminen tapahtuu moduulin suoritusvälein. Esimerkin suoritusväli on 500 ms, joten lähtökanava on 'päällä' 250 ms ajan, jonka jälkeen se menee 'pois päältä' 250 ms ajaksi, jolloin seuraava suoritusväli on vuorossa ja moduuli kirjoittaa taas ykkösen BOU-kanavaan.
Alla oleva sovellus vaihtaa signaalin tilaa joka toisella moduulin suorituskerralla. Esimerkkisovellus suoritetaan 500 ms välein (Execution 500 ms), joten tuloksena on 1 Hz signaali.
<< Edellinen (11) Hälytys binääritiedosta | Sivu 12/30 | Seuraava >> (13) Käytössä olevan PIC-osoitteen selvittäminen |