Jak zatrzymać pętlę

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Karol
Posty: 1
Rejestracja: 26 paź 2004 00:00

Jak zatrzymać pętlę

Post autor: Karol »

Mam program w który zawiera trzy zagnieżdzone pętle typu for i while. Mam pytanie jak za pomocą jednego przycisku zatrzymać wszystkie te pętle w dowolnym momencie??
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Problem

Post autor: bogdani »

Może zapytam w ten sposób po co używasz pętli for, skoro chcesz mieć możliwość łatwego wyjścia z pętli ??
Możesz użyć pętli while i użyć warunku liczbowego do jej zakończenia. Dodatkowo do wszystkich pętli możesz użyć poprzez and przycisku boolean kończącego pracę wszystkich pętli przekazując wartość tego przycisku do tych pętli. Ważne jest aby pamiętać, iż przycisk ten będzie aktywny w pętli, która się aktualnie wykonuje, chyba że użyjesz detekcji zdarzeń events w osobnej równoległej pętli do wykrycia naciśniecią przyciśku i następnie przekażesz jego wartość do warunków pętli.
bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
Gość
Posty: 656
Rejestracja: 10 lis 2003 00:00

Post autor: Gość »

mozesz to zrobić za posrednictwem zmiennych lokalnych a sprawa jest prosta
oczywiscie nie wiem jak przerwać działanie pętli for a le pętle while da się

do warunków zakonczenia pętli drutujesz zmienną lokalną i ustawiasz na read

change to read

a do przycisku tę samą zmienną i ustawiasz na WRITE

change To WRite

przycisk nie musi byc umieszczony w rzadnej pętli poniewaz on zapisuje do zmiennej a odzcytać zmienną musisz w pętli którą chcesz nadzorować
Defiant
Posty: 9
Rejestracja: 07 maja 2004 00:00
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Lublin
Kontakt:

Re: Jak zatrzymać pętlę

Post autor: Defiant »

:D Zobacz sobie przykład o nazwie Queue Basics.vi
Generalnie podejdź do tematu jak do synchronizacji układu, będziesz miał wtedy pewność że zakończysz wykonywanie pętli w żądanym momencie

Niech MOC będzie z Tobą
Defiant
GG: 222363
Gość
Posty: 656
Rejestracja: 10 lis 2003 00:00

Re: Jak zatrzymać pętlę

Post autor: Gość »

Karol pisze:Mam program w który zawiera trzy zagnieżdzone pętle typu for i while. Mam pytanie jak za pomocą jednego przycisku zatrzymać wszystkie te pętle w dowolnym momencie??
Jeśli faktycznie są to pętle zagnieżdżone w sobie i faktycznie chcesz je zatrzymać w tej samej chwili to pozostaje przycisk "Abort VI" - to trzeci z kolei od lewej w górnej listwie nad diagramem. Można róznież zrobić to w sposób bardziej zaawansowany za pomocą metod VIServera z innego VIja, korzystając z węzłów właściwości i metod :P
A teraz poważnie: pętla for, jeśli już otrzyma informację o N
- jawnie przez podpięcie do terminala w lewym górnym rogu pętli lub niejawnie przez indeksowanie tunelu do którego jest podpięty drut z tablicą -
wykona się tyle razy ile wynosi N. Tego się nie da zatrzymać, gdzyż wtedy pętla FOR przeczyła by swojej definicji, czyli nie była by pętlą FOR
ODPOWIEDZ