Hej,
Napisalem taki prosty program (nie jestem pewny czy nie ma błędów), który ma zatrzymywać sie po wykonaniu dwóch wewnętrznych pętli While.
Np. regulator jest ustawiony na wartość =2, y=1, górna pętla sie zatrzymuje i potem nie ma reakcji na zmianę ustawień regulatora
Czy możecie podpowiedzieć gdzie jest błąd?
Pozdrawiam
Wykonanie pętli While
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Wykonanie pętli While
Jeszcze musiałbyś napisać, co się dzieje w Case'ach gdy jest False. Ale generalnie wygląda na to, że problem jest następujący:
- duża pętla kończy się w momencie, gdy zakończą się wewnętrzne pętle, czyli będzie miała tylko 1 iteracje, która będzie czekała na zakończenie wewnętrznych pętli (pętla while przekaże dane do tuneli wyjściowych dopiero po zakończeniu)
- wartość kontrolki 'regulator' zostanie więc odczytana tylko 1 raz przez każdą z małych pętli - przed pierwszą iteracją. Duża pętla będzie uruchomiona tylko raz, więc odczyta wartość regulatora tylko 1 raz.
- duża pętla kończy się w momencie, gdy zakończą się wewnętrzne pętle, czyli będzie miała tylko 1 iteracje, która będzie czekała na zakończenie wewnętrznych pętli (pętla while przekaże dane do tuneli wyjściowych dopiero po zakończeniu)
- wartość kontrolki 'regulator' zostanie więc odczytana tylko 1 raz przez każdą z małych pętli - przed pierwszą iteracją. Duża pętla będzie uruchomiona tylko raz, więc odczyta wartość regulatora tylko 1 raz.
Ostatnio zmieniony 28 kwie 2009 20:38 przez Nowszy, łącznie zmieniany 1 raz.
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
Re: Wykonanie pętli While
Casy są pusteNowszy pisze:Jeszcze musiałbyś napisać, co się dzieje w Case'ach gdy jest False.
o to mi własnie chodzilo zeby wykonała sie tylko razNowszy pisze: - duża pętla kończy się w momencie, gdy zakończą się wewnętrzne pętle, czyli będzie miała tylko 1 iteracje, która będzie czekała na zakończenie wewnętrznych pętli (pętla while przekaże dane do tuneli wyjściowych dopiero po zakończeniu)
czy da się to zmienic zeby wartość regulatora nie była odczytywana tylko raz?Nowszy pisze: - wartość kontrolki 'regulator' zostanie więc odczytana tylko 1 raz przez każdą z małych pętli - przed pierwszą iteracją. Duża pętla będzie uruchomiona tylko raz, więc odczyta wartość regulatora tylko 1 raz.
pozdrawiam
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Re: Wykonanie pętli While
Wrzuć regulator do 1 pętli a do drugiej wrzuć zmienną lokalną powiązaną z tym regulatorem. Musisz tylko zadbać, żeby kontrolkę regulatora dobrze inicjować.
A tak swoją drogą, to po co chcesz zmieniać wartość regulatora skoro duża pętla działa tylko 1 raz? No i po co w ogóle jest ta duża pętla w takim razie?
A tak swoją drogą, to po co chcesz zmieniać wartość regulatora skoro duża pętla działa tylko 1 raz? No i po co w ogóle jest ta duża pętla w takim razie?
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
-
- Administrator
- Posty: 5
- Rejestracja: 19 kwie 2009 17:39
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Gliwice
Wykonanie pętli While
Podobnie jak wyżej, skoro pętla ma się wykonać raz, to po co w ogóle robić to w pętli? ;)
Jeżeli wartość wchodzi do tych małych pętli while, to nie można jej już zmienić, dopóki, pętle się nie zakończą. Chyba że kontrolka znajdzie się wewnątrz tych małych pętli, albo znajdzie się tam zmienna ją reprezentująca. [Pal licho, że operacje są inne - idea ta sama
Swoją drogą, po co ten Time Delay poza pętlą? 100% użycia procesora będzie tak czy siak, dopóki opóźnienia nie będzie w każdej z pętli.
Jeżeli wartość wchodzi do tych małych pętli while, to nie można jej już zmienić, dopóki, pętle się nie zakończą. Chyba że kontrolka znajdzie się wewnątrz tych małych pętli, albo znajdzie się tam zmienna ją reprezentująca. [Pal licho, że operacje są inne - idea ta sama
Swoją drogą, po co ten Time Delay poza pętlą? 100% użycia procesora będzie tak czy siak, dopóki opóźnienia nie będzie w każdej z pętli.
Ostatnio zmieniony 29 kwie 2009 20:31 przez mariush, łącznie zmieniany 1 raz.
Wykonanie pętli While
Ten vi zrobilem w domu i jest on "symulacją" (symulacją bo brak kart itp)tego co chce wykorzystać w pracy.
Spróbuje zmienić diagram zgodnie z waszymi wskazówkami albo w ogóle stworzyc wszystko od nowa.
Pozdrawiam i życzę miłego weekednu
Spróbuje zmienić diagram zgodnie z waszymi wskazówkami albo w ogóle stworzyc wszystko od nowa.
Pozdrawiam i życzę miłego weekednu