Witam
Głowię się od pewnego czasu nad małym problemem.A więc mam program w który ma załączać triaki o określonym przedziale czasowym. Problem pojawia się przy przejściu zegara przez godzinę 00:00. Początkowo aby zlikwidować ten problem napisałem program w ten sposób:
-O godzinie X ma włączać wyjście,a o Y ma je wyłączyć. Wszystko działa ok,ale gdybym chciał np ustawić godzinę X jako 12:00 ,a Y jako np 13 i ustawić zegar na aktualną godzinę 12:30 to program w tym cyklu już nie zareaguje (zadziała dopiero po następnym przejściu przez godzinę 12.)
W tym wypadku korzystałem tylko z warunków zawierających "="
-Aby zlikwidować niedogodność czekania całej doby na reakcję sterownika,napisałem aby załączał o godzinie większej lub równej X,a wyłączał o godzinie równej Y z dodatkowym ustawianiem flagi wykonania zadania.Przy czym gdy flaga jest ustawiona (cykl się zakończył),to warunek sprawdzania godziny jest w ogóle nie sprawdzany (inaczej układ cały czas by załączał aż do godziny 24:00 ponieważ warunek większy niż byłby cały czas spełniony).Niby pomogło,ale teraz pojawia się problem ustawienia godzin przechodzących przez północ.Np godzina X=23:00 godzina Y=01:00. W tym wypadku gdy nastawię zegar na godzinę 23:30 to układ zareaguje i włączy wyjście.Ale gdy nastawię już np na 00:30 to nie zareaguje,mimo iż moim celem jest że powinien.
(w tym wypadku korzystałem z warunków dla włączania >=,a dla wyłączania tylko z = i ustawienia flagi tak aby wykonywanie tej funkcji było zablokowane,aż nastąpi godzina 00:00 i flaga zostanie odblokowana.
Z takim problemem na pewno spotkał się już niejeden programista i mam gorącą nadzieje że ktoś zna rozwiązanie tego problemu przejścia przez godzinę 00:00.
Głowię się od pewnego czasu nad małym problemem.A więc mam program w który ma załączać triaki o określonym przedziale czasowym. Problem pojawia się przy przejściu zegara przez godzinę 00:00. Początkowo aby zlikwidować ten problem napisałem program w ten sposób:
-O godzinie X ma włączać wyjście,a o Y ma je wyłączyć. Wszystko działa ok,ale gdybym chciał np ustawić godzinę X jako 12:00 ,a Y jako np 13 i ustawić zegar na aktualną godzinę 12:30 to program w tym cyklu już nie zareaguje (zadziała dopiero po następnym przejściu przez godzinę 12.)
W tym wypadku korzystałem tylko z warunków zawierających "="
-Aby zlikwidować niedogodność czekania całej doby na reakcję sterownika,napisałem aby załączał o godzinie większej lub równej X,a wyłączał o godzinie równej Y z dodatkowym ustawianiem flagi wykonania zadania.Przy czym gdy flaga jest ustawiona (cykl się zakończył),to warunek sprawdzania godziny jest w ogóle nie sprawdzany (inaczej układ cały czas by załączał aż do godziny 24:00 ponieważ warunek większy niż byłby cały czas spełniony).Niby pomogło,ale teraz pojawia się problem ustawienia godzin przechodzących przez północ.Np godzina X=23:00 godzina Y=01:00. W tym wypadku gdy nastawię zegar na godzinę 23:30 to układ zareaguje i włączy wyjście.Ale gdy nastawię już np na 00:30 to nie zareaguje,mimo iż moim celem jest że powinien.
(w tym wypadku korzystałem z warunków dla włączania >=,a dla wyłączania tylko z = i ustawienia flagi tak aby wykonywanie tej funkcji było zablokowane,aż nastąpi godzina 00:00 i flaga zostanie odblokowana.
Z takim problemem na pewno spotkał się już niejeden programista i mam gorącą nadzieje że ktoś zna rozwiązanie tego problemu przejścia przez godzinę 00:00.