tab control

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.
gacc
Posty: 11
Rejestracja: 10 gru 2007 19:05
Kontakt:

tab control

Post autor: gacc »

Witam.
Mam problem z przełączaniem zakładek. Mam 6 zakładek, program rozpoczyna się na pierwszej zakładce "start" na której wybiera się odpowiednią procedurę poprzez naciśnięcie przycisku. Powoduje to przełączenie na odpowiednią zakładkę. Wszystko fajnie ale nie mogę spbie poradzić z powrotem na pierwszą zakładkę poprzez naciśnięcie przycisku "powrót". Przycisk " powrót" działa tylko wtedy gdy wykorzystam daną procedurę do obliczeń (gdy zostanie wciśnięty przycisk "wczytaj pomiary). Co w programie należy zmodyfikować aby przycisk "powrót" działał niezależnie?
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: tab control

Post autor: jogurt_owocowy »

Przycisk " powrót" działa tylko wtedy gdy (...) zostanie wciśnięty przycisk "wczytaj pomiary
Tak, bo wtedy dopiero obudzi się event wewnątrz Case'a. Cytat z helpa:
Avoid placing two Event structures in one loop. ("Caveats and Recommendations when Using Events in LabVIEW").
Od tego wypadałoby zacząć.
Jeśli chcesz dopchnąć ten program na chama, byleby działał to zamiast eventów w ramkach Case'a daj kolejne Case'y z przyciskami "Wczytaj" dołączonymi do ich selektorów w któych w ramkach True będą się wykonywać wspomniane procedury.
gacc
Posty: 11
Rejestracja: 10 gru 2007 19:05
Kontakt:

tab control

Post autor: gacc »

z cace'ami chyba się nie da bo stan przycisku "wczytaj" jest ciągle podawany na selektor, jeśli zostanie on wciśnięty (przycisk "wczytaj") to ciągle będzie wyskakiwać okno z wyborem pliku do wczytania, poza tym w przypadku false też coś musi być podłączone do tuneli wyjściowych... trzeba by było wykombinować coś co by podawało na tunele to samo co zostało ostatnio podane w przypadku true. nie jestem pewny czy dobrze rozumuje bo labview uczę się z książki i na zasadzie prób i błędów. może jest jakieś prostrze rozwiązanie??
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: tab control

Post autor: jogurt_owocowy »

stan przycisku "wczytaj" jest ciągle podawany na selektor
Zgadza się, ale jeśli przycisk ma Akcję mechaniczną ustawioną na Latch, to działa to w ten sposób, że jest wciskany, pozostaje wciśnięty do momentu odczytania przez program, wówczas jest samoczynnie wybijany i znów jest FALSE. Jeśli chodzi o tunele wyjściowe to możesz zaptaszkować Use Default If Unwired (tak jak masz w eventach - PKM na tunelu). No i trzeba wtedy coś (mp. 50) podpiąć do klepsydry w evencie który pozostanie w głównej pętli.
Tak jak pisałem: TO NIE JEST DOBRE ROZWIÄ„ZANIE, ale jeśli ma to "tylko" działać to można w ten sposób. Mimo to polecam przemyśleć to od nowa. Np. jaki jest sens przełączania w ten sposób przyciskami zakładek Tab Control'a? To przecież to samo co klikać od razu na jego zakładkach, po co więc komplikować? Chyba, że coś ma być do tego dokładane, ale wtedy tym bardziej trzeba to zrobić porządnie, od nowa, w oparciu o przemyślaną architekturę.
Daj znać co wybierasz ]
Ostatnio zmieniony 18 gru 2007 23:10 przez jogurt_owocowy, łącznie zmieniany 1 raz.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: tab control

Post autor: Mikrobi »

gacc pisze:z cace'ami chyba się nie da bo stan przycisku "wczytaj" jest ciągle podawany na selektor, jeśli zostanie on wciśnięty (przycisk "wczytaj") to ciągle będzie wyskakiwać okno z wyborem pliku do wczytania, poza tym w przypadku false też coś musi być podłączone do tuneli wyjściowych... trzeba by było wykombinować coś co by podawało na tunele to samo co zostało ostatnio podane w przypadku true. nie jestem pewny czy dobrze rozumuje bo labview uczę się z książki i na zasadzie prób i błędów. może jest jakieś prostrze rozwiązanie??
Porponuję : 1. Zacząć korzystać z książki "Slownik języka polskiego z zasadami gramatyki i ortografii" - zakładając że ukończyłeś minimum szkołę podstawową w Polsce. 8) Pisanie na forum publicznym zobowiązuje do zachowania pewnych minimów. :-k
W kwestii LabVIEW: 2. Zmień źródło z którego się uczysz - zastosowanie 9 (dziewięciu) struktur event to już nawet nie jest overkill. Wniosek - pominąłeś coś podczas czytania, albo istotnych informacji o strukturze event w tej książce nie ma.
3. Rozpocznij od czytania pomocy - zwykłej i kontekstowej - oraz manuala do LabVIEW. Tam na prawdę jest bardzo dużo wytłumaczone.
4. Przegladnij forum - kilka krotnie padalo pytanie od czego zacząć. Jest kilka kursów on-line, których adresy są podane na forum.
5. Na LabVIEW Zone bardzo dużo prezentacji odnośnie struktury aplikacji.
6. Zapisz swoje wymagania co do programu - w punktach. To pomoże w realizacji i uprości zadawanie pytań na forum.
Ostatnio zmieniony 19 gru 2007 08:55 przez Mikrobi, łącznie zmieniany 1 raz.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
gacc
Posty: 11
Rejestracja: 10 gru 2007 19:05
Kontakt:

Re: tab control

Post autor: gacc »

Mikrobi pisze: Porponuję : 1. Zacząć korzystać z książki "Slownik języka polskiego z zasadami gramatyki i ortografii" - zakładając że ukończyłeś minimum szkołę podstawową w Polsce. 8) Pisanie na forum publicznym zobowiązuje do zachowania pewnych minimów.
to się kolega zbulwersował... jeśli chodzi o ortografię to znalazłem tylko jeden błąd a co do gramatyki to widzę że dla kolegi jogurt_owocowy była bez problemów zrozumiała więc nie wiem po co się czepiać.
jogurt_owocowy pisze: Np. jaki jest sens przełączania w ten sposób przyciskami zakładek Tab Control'a? To przecież to samo co klikać od razu na jego zakładkach, po co więc komplikować
sens jest taki, że na pierwszej zakładce "start" miała być lista procedur z krótkimi opisami ich zastosowania. po wybraniu jednej, interesującej nas procedury, wykonywała się tylko ona (odpowiedni case). moim zdaniem jest to ciekawa interakcja z użytkownikiem ale jeśli się tak nie da to trudno, mogę z tego zrezygnować.
Co do wymagań i założeń to program ma zawierać kilka niezależnych od siebie procedur analizowania wyników pomiarów. wyniki pomiarów zapisane są w plikach, więc każda procedura musi dawać możliwość wczytania pliku z pomiarami. w każdej procedurze są do wprowadzenia jakieś współczynniki, wskazane by było aby analiza danych rozpoczęła się po ich wprowadzeniu (albo analiza ciągła reagująca na zmianę tych współczynników). konieczna jest też możliwość zmiany procedury w czasie działania programu. ważnym elementem jest zobrazowanie wyników analizy poprzez histogramy, wykresy itp. koniec.
założenia znacie więc może będziecie mieli propozycje jak ten program uprościć lub zreorganizować?
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: tab control

Post autor: Mikrobi »

gacc pisze:
Mikrobi pisze: Porponuję : 1. Zacząć korzystać z książki "Slownik języka polskiego z zasadami gramatyki i ortografii" - zakładając że ukończyłeś minimum szkołę podstawową w Polsce. 8) Pisanie na forum publicznym zobowiązuje do zachowania pewnych minimów.
to się kolega zbulwersował... jeśli chodzi o ortografię to znalazłem tylko jeden błąd a co do gramatyki to widzę że dla kolegi jogurt_owocowy była bez problemów zrozumiała więc nie wiem po co się czepiać.
...i w taki sposób idzie w las mniej więcej piętnaście lat edukacji. 8)
gacc pisze:założenia znacie więc może będziecie mieli propozycje jak ten program uprościć lub zreorganizować?
Pewnie tak. :D
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
gacc
Posty: 11
Rejestracja: 10 gru 2007 19:05
Kontakt:

tab control

Post autor: gacc »

szanowny kolego Mikrobi jeśli nie masz nic merytorycznego i pomocnego do powiedzenia to lepiej w ogóle się nie odzywaj
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: tab control

Post autor: Mikrobi »

gacc pisze:szanowny kolego Mikrobi jeśli nie masz nic merytorycznego i pomocnego do powiedzenia to lepiej w ogóle się nie odzywaj
:) Śliczne, zatem do rzeczy:
sens jest taki, że na pierwszej zakładce "start" miała być lista procedur z krótkimi opisami ich zastosowania. po wybraniu jednej, interesującej nas procedury, wykonywała się tylko ona (odpowiedni case). moim zdaniem jest to ciekawa interakcja z użytkownikiem ale jeśli się tak nie da to trudno, mogę z tego zrezygnować.
Co do wymagań i założeń to program ma zawierać kilka niezależnych od siebie procedur analizowania wyników pomiarów. wyniki pomiarów zapisane są w plikach, więc każda procedura musi dawać możliwość wczytania pliku z pomiarami. w każdej procedurze są do wprowadzenia jakieś współczynniki, wskazane by było aby analiza danych rozpoczęła się po ich wprowadzeniu (albo analiza ciągła reagująca na zmianę tych współczynników). konieczna jest też możliwość zmiany procedury w czasie działania programu. ważnym elementem jest zobrazowanie wyników analizy poprzez histogramy, wykresy itp. koniec.
Spróbuj przeczytać to raz jeszcze i wyodrębnić algorytm.
Zaglądnij potem do postu
Temat wiadomości Re: tab control
Opublikowana: 19.12.2007 09:34 AM

Skoro punkty 1-3 są zbyt trudne, zacznij od punktu 4.
Oczywiście miło by było gdyby ktoś za ciebie rozwiązał ten problem, ale odrobina gimnastyki... chyba że to jednak za dużo?;)
Umiejetnośc określenia tego co rzeczywiście ma realizować program jest podstawowym wymogiem tworzenia programu.
W każdym języku.
Pozorna prostota LabVIEW nie zwalania od myślenia. chyba że to jednak ...?;)
Ostatnio zmieniony 19 gru 2007 19:27 przez Mikrobi, łącznie zmieniany 2 razy.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
gacc
Posty: 11
Rejestracja: 10 gru 2007 19:05
Kontakt:

Re: tab control

Post autor: gacc »

Mikrobi pisze: Oczywiście miło by było gdyby ktoś za ciebie rozwiązał ten problem, ale odrobina gimnastyki...
chyba że to jednak za dużo?;)
ze względu na gimnastykę właśnie wybrałem do analizy wyników LabVIEW... cały program to kilka obliczeń statystycznych i generowanie wykresów. idealny do tego celu jest excel ale to właśnie było zbyt proste.
wykorzystanie labview było dla mnie wyzwaniem ale jako początkujący z oczywistych względów nie mogę sobie od razu poradzić ze wszystkim. z trudnościami z którymi, po próbach, nie dałem sobie rady zwróciłem się do Was na forum (po rady a nie gotowe rozwiązania) ale widze że co niektórzy inaczej pojmują sens tworzenia forum społeczności. wg mnie forum powstaje po to aby użytkownicy swoją wiedzą i doświadczeniem pomagali innym anie wywyższali się i "jechali" początkującym.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

tab control

Post autor: Mikrobi »

No to jeszcze raz. Bycie początkującym nie zwalnia od pewnych norm gramatycznych, ale widzę, że to zbyt trudna gimnastyka intelektualna. Tutaj jest oczywiście ewidentene wieszanie, cóż, skoro problemy sprawia pisanie zgodne z regułami gramatyki to faktycznie chyba pozwolę Rosynantowi na zamiane miejsc.
Przynajmniej sobie chabeta odpocznie.
Co do aplikacji Opisałeś program ogólnikowo, potokowym tekstem. Jesli podasz informacje rzeczowo, na przykład w punktach to: - uporządkujesz ją - zobaczysz szkielet rozwiązania.
Z ogólnego opisu wynika, że chcesz stworzyć program o funkcjonalności większej niż jedno zadanie.
Może zatem jednak najpier przeglądnąć podstawowe rozwiązania,
poszukać podstaw i pocwiczyć?
Struktura programu event obsługuje interfejs - wystarczy tylko jeden dla realizacji całego programu. Tak jak napisałem i jak wspominał jogurt - twoje rozwiązanie nie jest właściwą strukturą aplikacji.
While + event czyli forma podstawowa aplikacji była na forum wielokrotnie w wielu wersjach pytań i rozwiązań. Zatem zamiast stosować event na zasadzie "wrzucę jeszcze dwa i sprawdzę jak działa" wystarczy przeglądnąć forum.
Struktura która wystarcza do realizacji twojego programu to while+shift register + event czyli struktura podstawowa.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
gacc
Posty: 11
Rejestracja: 10 gru 2007 19:05
Kontakt:

tab control

Post autor: gacc »

a ty dalej o tej gramatyce... czepiłeś się jak rzep psiego ogona. nie mam z nią problemów, więc może już przestań.

Program który zrobiłem działa. Wczytuje wyniki pomiarów, wykonuje poprawne obliczenia i analizuje zdolność systemu. Problem mam tylko, jak temat wątku wskazuje, z tab control'em, dlatego zapytałem czy przy użytej przeze mnie strukturze da się ten problem rozwiązać. Event'y użyłem do wczytania plików. Wykorzystałem też tą ich właściwość, że są "uśpione" do momentu wciśnięcia przycisku. jest to pomocne przy wprowadzaniu współczynników bo ich wartość zostaje przekazana dopiero po interakcji użytkownika. próbowałem wykonać to samo zadanie przy użyciu struktury case (zaproponowanej przez jogurta) ale nie osiągnąłem pożądanego efektu
jeśli kolejną wskazówką jest tylko odsyłanie do książek i do tematów forum to dziękuję za pomoc, dalej już sobie poradzę
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

tab control

Post autor: Mikrobi »

:D Udało ci się.
No prawie, kilka poprawnie napisanych zdań to już dobry początek.
Brawo! Trzymamy kciuki!

Eventy zastosowałeś nieprawidłowo.
Jeden iterfejs - jeden panel - jeden event.
Pętla while posiada taką ciekawą opcję jak Shift Register. Pozwala ona na przenoszenie informacji między kolejnymi iteracjami pętli.

Trzymam kciuki za Twoje postępy. [-o<
Również w dziedzinie programowania w środowisku LabVIEW.
Ostatnio zmieniony 19 gru 2007 21:49 przez Mikrobi, łącznie zmieniany 1 raz.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: tab control

Post autor: jogurt_owocowy »

gacc, W tej chwili nie mogę spojrzeć w Twój program, bo nie mam LV pod ręka, ale pamiętam chyba jak wyglądał, więc mam nadzieję, że nic nie pomylę.
Lepiej byłoby wrzucić obrazek/viaja, ale muszę się niestety ograniczyć do opisu słownego:
1. Wstaw na diagram dużą (na cały ekran) pętle while, a w niej dużą strukturę event.
2. Wszystkie eventy Value Change ze wszystkich struktur event, które miałeś, przenieś (tzn. ustaw od nowa) w tej nowej strukturze event, a więc w tej jednej strukturze obsługujesz zarówno przyciski przełączające zakładki jak i uruchamiające procedury.
3. Zauważ, że w Twoim programie wszystko dzieje się po naciśnięciu przycisku przełączenie zakładki, obliczenie tego czy tamtego itp.
4. Teraz każdą taką akcję jaka ma być wykonywana umieść w odpowiednich klatkach nowego (lepszego) eventu i to będzie działać.
W evencie przycisku zmieniającego zakładki będzie tylko stała wyprowadzona do Tab Controla (znajdującego się za strukturą event). W evencie "procedurowym" będzie odpowiednia procedura. Jeśli zaistnieje potrzeba skorzystania w danej klatce z danej z innej klatki użyj Shift Register'a. Nie musisz kombinować z Case'm - przecież użytkownik nie naciśnie przycisku na innej zakładce, którego nie widzi, co nie?
5. Żeby wszystko grało jak trzeba na koniec dla przycisku STOP zrób event Value Change, z którego będzie wychodzić TRUE do terminala warunkowego pętli while.
Powodzenia, pozdrawiam ]
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: tab control

Post autor: vugie »

Nie musisz kombinować z Case'm - przecież użytkownik nie naciśnie przycisku na innej zakładce, którego nie widzi, co nie?
Nawet nie wyobrażasz sobie do czego zdolni są użytkownicy...
ODPOWIEDZ