Fragment aplikacji sterownika pomieszczenia // Deklaracje #define ON TRUE #define OFF FALSE #define DAY 0x1 #define NIGHT 0x0 #define LIGHT_TIMEOUT 600 #define HEAT_TIMEOUT 1200 //SNVT OUTPUTS ------------------------------------------------------------- network output SNVT_switch nvoRoomState = {0,DAY}; network output SNVT_state nvoIOState; network input SNVT_switch nviMode = {0,DAY}; //IO Blocks ------------------------------------------------------------------------ IO_3 output bit bvoLightOn; IO_10 input bit bviLightSwitch; //zmienne -------------------------------------------------------------------------- short LightAllowed; //obecność – zezwolenie światła short LightSwitch; //zadanie światła stimer TimLightTOut; //timer swiatla // Światło ----------------------------------------------------------------------------------------- // when (io_changes (bviLightSwitch) to ON) //wyłącznik światła ON { LightSwitch = ON; //zadanie światła if (nviMode.state==DAY) //jeżeli tryb dzienny { LightAllowed = TRUE; TimLightOut = LIGHT_TIMEOUT; } } when (io_changes (bviLightSwitch) to OFF) //wyłacznik światła OFF { LightSwitch = OFF; //zadanie światła io_out (bvoLightOn, OFF); //wyłącz światło nvoIOState.bit9 = OFF; //stan światła przepisz do sieci } when (LightSwitch) //zadanie śwaitła { if (nviMode.state==NIGHT) //jeżeli tryb nocny return; //nie załączaj if (LightAllowed) { io_out (bvoLightOn, ON); nvoIOState.bit9 = ON; } else { io_out (bvoLightOn, OFF); nvoIOState.bit9 = OFF; } } // KONIEC Światło
... zobacz całą notatkę
Komentarze użytkowników (0)