On/Off na zegarze problem
On/Off na zegarze problem
Witam
Mam problem z stworzeniem kodu, który umożliwiałby mi załączanie i wyłączanie w określonym czasie. A dokładniej zegar 24h/ lecz w szybszej wersji 60 s . 10 s off 50s on. Czy ktoś mógłby mi podpowiedzieć z czego powinienem skorzystać ? Próbuję na timed loop lecz nie wychodzi mi zbyt oraz elapsed time otoczonej pętlą while. To drugie przy testach bardziej chyba odpowiada tym wymaganiom lecz skonfigurowanie graniczy z cudem
Pozdrawiam
Mam problem z stworzeniem kodu, który umożliwiałby mi załączanie i wyłączanie w określonym czasie. A dokładniej zegar 24h/ lecz w szybszej wersji 60 s . 10 s off 50s on. Czy ktoś mógłby mi podpowiedzieć z czego powinienem skorzystać ? Próbuję na timed loop lecz nie wychodzi mi zbyt oraz elapsed time otoczonej pętlą while. To drugie przy testach bardziej chyba odpowiada tym wymaganiom lecz skonfigurowanie graniczy z cudem
Pozdrawiam
On/Off na zegarze problem
While loop, moim zdaniem najlepiej mieć timer restartujący się co 60 s i jeden warunek: jeżeli większe lub równe 50 to true.
-
- Posty: 96
- Rejestracja: 20 lut 2012 12:30
- Wersja środowiska: LabVIEW 2014
- Lokalizacja: Katowice / Ruda Śląska
Re: On/Off na zegarze problem
A może po prostu potrzebujesz wziąć aktualny czas systemowy i sprawdzić czy sekunda jest mniejsza czy większa niż 10? Możesz to zrobić albo dzieląc czas modulo 60 (patrz załącznik), albo wyciągając z niego wartość sekund aktualnej godziny.
- Załączniki
-
- 10OFF50ON.png (3.58 KiB) Przejrzano 12089 razy
Re: On/Off na zegarze problem
A nie prościej zwykła while loop jak w załączniku. Nie obciążamy procka. Minimalna ilość kodu. A prosty benchmarking pokazuje dokładność na poziomie 1 ms.
- Załączniki
-
- solution.png (12.02 KiB) Przejrzano 12087 razy
-
- benchmark.png (21.68 KiB) Przejrzano 12087 razy
-
- Posty: 96
- Rejestracja: 20 lut 2012 12:30
- Wersja środowiska: LabVIEW 2014
- Lokalizacja: Katowice / Ruda Śląska
On/Off na zegarze problem
TMa, nie do końca zrozumiałem czy twoja odpowiedź odnosi się do pytania pritu czy do mojej propozycji "rozwiązania"? W jaki sposób twoja kręcąca się co sekundę pętla ma spowodować, że coś będzie przez 10 sekund wyłączone a przez 50 włączone?
pritu, mógłbyś może jakoś dokładniej sprecyzować czego tak naprawdę potrzebujesz? Timed loop jest tak naprawdę do czegoś innego więc twoje informacje o trudnościach z konfiguracją nie wnoszą niczego konstruktywnego w pytanie. Napisz dokładnie jak to włączanie / wyłączanie ma wyglądać.
pritu, mógłbyś może jakoś dokładniej sprecyzować czego tak naprawdę potrzebujesz? Timed loop jest tak naprawdę do czegoś innego więc twoje informacje o trudnościach z konfiguracją nie wnoszą niczego konstruktywnego w pytanie. Napisz dokładnie jak to włączanie / wyłączanie ma wyglądać.
On/Off na zegarze problem
Do mojej propozycji wystarczy podpiąć do terminala "i" część kodu z twojego rozwiązania (tę obliczającą resztę i komparator).TMa, nie do końca zrozumiałem czy twoja odpowiedź odnosi się do pytania pritu czy do mojej propozycji "rozwiązania"? W jaki sposób twoja kręcąca się co sekundę pętla ma spowodować, że coś będzie przez 10 sekund wyłączone a przez 50 włączone?
W rozwiązaniu may start mamy nieustalony. Pierwszy stan nie ma zdefiniowanej długości, ponieważ dąży do pełnej minuty. Potem kod działa na całkowitych minutach systemowych a nie minutach wzg startu aplikacji. Nie wspomnę że proces przy wejściu do takiej petli wykonuje ją conajmniej kilkadziesiąt razy na sekundę - przez co staje się niedokładny (zależny od momentu wykonania).
Ostatnio zmieniony 18 gru 2014 12:57 przez TMa, łącznie zmieniany 1 raz.
On/Off na zegarze problem
Panowie robię projekt inteligentnego domu. Zakładamy że rolety na noc się zamykają i otwierają. Lecz by osoba która widzi ten projekt nie czekała pol dnia aż rolety się zamkną, trzeba ten proces przyśpieszyć. Podobnie muszę zrobić np z czajnikiem który po otwarciu rolet załączy się na 5 s i wyłaczy, a następne jego załączenie będzie dopiero przy ponownym otwarciu rolet. A dodając jeszcze w nocy która będzie trwać 10 sekund ma się załączyć światło w jednym pokoju, lecz to już będzie kosmetyka bo podepnę się pod rolety
- semper fidelis
- Posty: 74
- Rejestracja: 28 paź 2014 20:45
- Wersja środowiska: LabVIEW 2013
Re: On/Off na zegarze problem
Moja propozycja w zalaczniku.
Prosta realizacja state machine ktora trwa okreslona ilosc czasu. Pozniej mozesz przejsc do dowolnego Case i tam wrzucic petle ktora bedzie znow wykonywac sie przez okreslony czas i kolejne przejscie.
W przykladzie w kolko 50s pozniej 10s.
Prosta realizacja state machine ktora trwa okreslona ilosc czasu. Pozniej mozesz przejsc do dowolnego Case i tam wrzucic petle ktora bedzie znow wykonywac sie przez okreslony czas i kolejne przejscie.
W przykladzie w kolko 50s pozniej 10s.
- Załączniki
-
- state machine - time elapsed.vi
- (11.46 KiB) Pobrany 421 razy
Gdy wszyscy wiedzą, że coś jest niemożliwe, przychodzi ktoś, kto o tym nie wie, i to robi...
Re: On/Off na zegarze problem
semper fidelis pisze:Moja propozycja w zalaczniku.
Prosta realizacja state machine ktora trwa okreslona ilosc czasu. Pozniej mozesz przejsc do dowolnego Case i tam wrzucic petle ktora bedzie znow wykonywac sie przez okreslony czas i kolejne przejscie.
W przykladzie w kolko 50s pozniej 10s.
A bęziesz tak dobry i podasz mi screena bądź w wersji 12, iż takową posiadam tylko i nie mogę otworzyć
- semper fidelis
- Posty: 74
- Rejestracja: 28 paź 2014 20:45
- Wersja środowiska: LabVIEW 2013
Re: On/Off na zegarze problem
Daje w wersji 12.
- Załączniki
-
- state machine - time elapsed.vi
- (7.72 KiB) Pobrany 396 razy
Gdy wszyscy wiedzą, że coś jest niemożliwe, przychodzi ktoś, kto o tym nie wie, i to robi...