Kaksinopeuksisen vilkun ohjaus

Nuohoinohjelmassa tarvitaan kaksinopeuksista vilkkua. Höyryvalo vilkkuu vian ilmaannuttua nopeasti ja vian kuittaamisen jälkeen (jos vika jää päälle) hitaasti. Vian poistuttua ja kuittaannuttua valo jää osoittamaan höyryanturin tilaa.

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.

Toiminta

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.