Pytanie o warunek do pętli

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.
pawlik.ps
Posty: 17
Rejestracja: 20 cze 2010 12:32
Wersja środowiska: LabVIEW 2009

Pytanie o warunek do pętli

Post autor: pawlik.ps »

Witam,

mam taki mały problemik z warunkiem do pętli i bardzo prosiłbym o pomoc.
w pętli while mam narysowany 1 okres impulsu prostokątnego, wszystko w prosty sposób oparty o tablice.
problem tkwi w tym że chce zwrócić wartość prawda lub fałsz jeśli wystąpi logiczna jedynka. Oczywiście dawałem warunek większe od zera itp ale zwraca mi tablice wartości boolean a mnie interesuje pojedyncza wartość. chodzi mi o to że jeśli wystąpi loginczna "prawda" to ma mi sie uruchamiać inna pętla a
dla 0 ma się nic nie wykonać.
Próbowałem stosować funkcję "Or array elements" ale nie działa poprawnie.
w załączniku przesyłam ten mały programik (ver. 8.6). Bardzo prosiłbym o pomoc
pozdrawiam
Załączniki
pytanie.vi
(10.64 KiB) Pobrany 226 razy
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Pytanie o warunek do pętli

Post autor: Nowszy »

W każdej iteracji pętli którą masz teraz operujesz na całej tablicy wartości (zauważ że w obecnej wersji twoja pętla wykonuje się tylko 1 raz). Jeśli chcesz sprawdzać punkt po punkcie, to napisz program tak, żeby pętla wykonywała się tyle razy ile masz punktów.

Zobacz przykład w załączniku
Załączniki
przyklad.png
przyklad.png (16.89 KiB) Przejrzano 4795 razy
Pozdrawiam, Maciek Antonik
Edu4Industry
pawlik.ps
Posty: 17
Rejestracja: 20 cze 2010 12:32
Wersja środowiska: LabVIEW 2009

Re: Pytanie o warunek do pętli

Post autor: pawlik.ps »

Dzięki za podpowiedz :)
no ale laik to ze mnie straszny i dalej nie działa ... ;/
Ta pętla ma się wykonać tylko raz i od razu ma powstać tablica z punktami (0,0) lub (0,5) i niby to robi
do wyjściowej tablicy spróbowałem podpiąć pętle for, która wykona się tyle razy ile jest elementów w tablicy. przy każdym wykonaniu sprawdza element tablicy ale dalej coś nie tak robię bo nie działa, wygląda to tak jakby pętla sprawdzała tylko oś y a nie x.
jeśli miałbyś chwilkę to bardzo prosiłbym o poprawienie tego "czegoś" z załącznika. Byłbym bardzo wdzięczny za pomoc.
pozdrawiam
Załączniki
pytanie.vi
(12.53 KiB) Pobrany 234 razy
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Re: Pytanie o warunek do pętli

Post autor: bogdani »

Po pierwsze to posprzątaj sobie kod, a od razu zobaczysz co i jak masz połączone, bo w tej chwili masz niezły bałagan.

Twoja pętla for działa poprawnie, możesz się o tym przekonać uruchamiając kod z żarównką (tryb debugowania) lub wrzucając do pętli opóźnienie jak to pokazałem poniżej.
For_TF.png
Podpowiem ci, że jeśli podać na do pętli For tablicę i włączysz indeksowanie na jej wejściu, to nie musisz już podłączać nic do wejścia N, indeksowanie tablicy wymusi odpowiednią ilość iteracji pętli For.
Sprawa druga, to warunek w pętli =0 sprawdza elementy z tablicy, która zawiera wartości (czyli Y) a nie argumenty (czyli X), więc twoja sugestia jest zła. Sprawdź na żarówce jak działa twój program.

Ostatnia sprawa, skoro pętla ma się wykonać tylko raz (pętla While) to po co ci pętla? Nie potrzebujesz jej żeby przechowywać w niej informacje z poprzednich iteracji pętli, więc jest ona nie potrzebna.

bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
pawlik.ps
Posty: 17
Rejestracja: 20 cze 2010 12:32
Wersja środowiska: LabVIEW 2009

Re: Pytanie o warunek do pętli

Post autor: pawlik.ps »

Witam,

dzięki za cenne podpowiedzi, mam jeszcze tylko jedno pytanko.
w załączniku mam tą pętle rysująca ten mój sygnał w niby postaci cyfrowej, w pętli wstawiłem warunek że dla wartości dodatnich Y ma zapalić się ta kontrolka, a dla 0 nie. obok jest mały schemacik który ma zliczać impulsy. Startuje na wartość prawda a inaczej wpisuje 0.
I
Clipboard01.jpg
kontrolką ilość punktów mogę regulować szerokość mojego impulsu, wiem że pewnie da się to prościej i bardziej elegancko zrobić no ale cóż, dobrze że działa :).
Nie wiem tylko jak zrobić aby na wartość true z indykatora x>y? dało się uruchomić zliczanie impulsów. Mamy tu różnice typów i nie wiem jak to zamienić.
przepraszam że być może zadaje głupie pytania ale jestem laikiem z lab view a muszę mały programik przygotować.
pozdrawiam
Załączniki
pytanie.vi
(11.76 KiB) Pobrany 208 razy
ODPOWIEDZ