Mam zagwostkę. W moim programie potrzebuję wykonać opóźnienie czasowe dopóki jest wartuść true tzn. mam na wejściu typ bolean i próbuje zrobić opóźnienie które po kilku sekundach wartościu true na wejściu poda wartość true na wyjście. Problem moim jest to że nie mogę użyć struktury while bo w między czasie wykonywane są inne struktury i po jej użyciu program się zawiesza. Próbowałem użyć struktury case z elementem "elapsed time" jak w załączniku ale mam problem bo program działa tylko za 1 razem. Licznik nie chce mi się resetować. Zależy mi na tym aby przy każdej zmianie case loop elapsed time się resetował. Czy mogę liczyć na jakiś wskazówki z waszej strony?
Niestety po podpięciu do wejścia autoreset nic się nie zmienia nadal licznik się nie resetuje. Cały program znajduje się już w jednej pętli while gdzie poza nią jest warunek reset=true. Problem w moim przypadku z pętlami while jest następujący: jeżeli wykorzystywana była by pętla while wszystko poza nią nie działa, dopiero jak zatrzymam ją całość ruszy, a poza tym mam dosyć mocno obciążony procesor i obawiam się że jak użyję w tym przypadku jeszcze jednej to się zapcha.
Działanie wygląda na chwilę obecną w ten sposób, że licznik resetuje się po zmianie głównej struktury case której na obrazku nie widać. Licznik po zmianie struktury case na false zatrzymuje się i po zmianie na true startuje na nowo od wartości ostatno zapamiętanej.
Pętle zapychają Ci całego procka, ponieważ wykonują się z maksymalną możliwą częstotliwością. Ogranicz ją np. do 1 Hz i od razu odczujesz różnicę
Przeanalizuj sobie załączony przykład. Jest to VI z mojego projektu, w którym jest zastosowane opóźnienie czasowe, wykorzystujące właśnie Time Elapsed.
Dzięki za odpowiedzi, lecz niestety nic. Podłączone mam dobrze Time Elapsed. Niestety pętle while mam już ograniczone a mocniej nie mogę gdyż mam do nich podłączony serwo silnik który na na bardzie spowolnionych pętlach nie działa za szybko . Mój problem polega na resetowaniu po każdym zmianie z true na false i na odwrót. Szukam rozwiązania jak na jeden cykl wprowadzić true a na resztę false tak aby na samym początku działania był reset (nie zależnie czy wcześniej zegar skończył odliczać czy nie).