GOTO

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.
jacobs
Posty: 11
Rejestracja: 04 cze 2004 00:00

GOTO

Post autor: jacobs »

Czy znajdę w Labview funkcję spełniającą zadania goto? Robię program w sekwencji w której kilka rzeczy robi sie jedna po drugiej (wyświetlają się jakieś wykresy itd) ale w pewnych okolicznościach chcę pominąć tę sekwencję i już w pierszym kroku wyjść z niej z pewnymi danymi które zostały w nim wyliczone. Podobna sytuacja jest z pętląmi. Jak to można rozwiązać?
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Post autor: PMaj »

witam

Jeżeli już koniecznie chcesz używać sequence structure i pomijać pewne sekwencje w zależności od pewnego warunku to proponuję użycie struktury 'case' w oknie danej sekwencji. Jeżeli w oknie danej sekwencji, którą zechcesz być moze pominąć umieścisz case, i w nim dopiero kod programu, to po podpięciu odpowiedniego warunku będzie wykonany wpisany kod lub nie (w zależności od zdefiniowanej akji w case).

Pozdrawiam
jacobs
Posty: 11
Rejestracja: 04 cze 2004 00:00

Post autor: jacobs »

To o czym mówisz jest oczywiście prawdą, jednak w tym przypadku nie mam takiej możliowości zastosowania case'a. W pierwszej sekwencji mam pętlę while w której to właśnie sprawdzam ten warunek a poza tym dzieje się mnóstwo innych rzeczy. Oznacza to tyle że jest on sprawdzany nieustannie.Tak więc jakbym włożył cały kod programu w case to warunek ten byłby sprawdzony tylko raz(chyba że bym to umieścił w kolejnej pętli,co odpada). Trudno to wyjąśnić opisowo ale wydaje się że nie ma innego wyjścia jak tylko ominięcie klku sekwencji, tyle że nie wiem czy taka możliwość istnieje. Dzięki jednak za odpowiedz.

Pozdrawiam
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Post autor: bogdani »

Witaj
Zastanawiałeś się nad użyciem funkcji Select z palety Comparison? Funckja ta pozwala od razu wybrać inletesujący cię strumień danych w zależności od zmiennej logicznej (TRUE, FALSE). Fakt, musisz wykonywać rzeczy dla obu strumieni, co nie jest optymalne. Skoro musisz coś ominąć to po prostu w zależności od warunku puszczeszdane z różnych miejsc.
bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: GOTO

Post autor: Mikrobi »

[quote="jacobs"]Czy znajdę w Labview funkcję spełniającą zadania goto? Robię program w sekwencji w której kilka rzeczy robi sie jedna po drugiej (wyświetlają się jakieś wykresy itd) ale w pewnych okolicznościach chcę pominąć tę sekwencję i już w pierszym kroku wyjść z niej z pewnymi danymi które zostały w nim wyliczone. Podobna sytuacja jest z pętląmi. Jak to można rozwiązać?[/quote] Możesz skorzystać z Maszyny Stanów z wykorzystaniem elementu Select o którym wspominał bogdani. Przykład jest tutaj: [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... d%201d.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... tledd2.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... %201d3.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... %201d4.png[/img] [img]http://layer.uci.agh.edu.pl/~mikrobi/St ... %201d5.png[/img]
pozdrawiam Mikrobi
p.s. wiem, to dawny post ;)
ODPOWIEDZ