Buttony
Buttony
Witam,
mam problem może i prosty, ale jakoś no szukalem rozwiazań i nie mogę tego znaleźć, a taka opcja jest odemnie wymagana. Mam w programie 3-4 przyciski chciałbym zrobić z nich przełącznik jak w starej aparaturze pomiarowej badź kaseciaku ;) znaczy sie po wciśnięciu jednego pozostałe odskakują jeżeli były wciśnięte, próbowałem zrobić to na event structure ale aby uzyskać to musiałem usunąć timeout wtedy niestety program czeka ciagle na wciśnięcie przycisku i wtedy dopiero wykonuje się pętla.
Kolejnym problemem jest to ,że chciałbym wiedzieć jak zrobić coś w stylu sample 'n' hold. Robiłem coś podobnego na shift register ale nie zawsze się to da zastosować. Potrzebowałbym taki mechanizm który po wciśnięciu przycisku podawałby pobrany wynik do momentu aż przycisk nie zostanie wciśnięty ponownie.
mam problem może i prosty, ale jakoś no szukalem rozwiazań i nie mogę tego znaleźć, a taka opcja jest odemnie wymagana. Mam w programie 3-4 przyciski chciałbym zrobić z nich przełącznik jak w starej aparaturze pomiarowej badź kaseciaku ;) znaczy sie po wciśnięciu jednego pozostałe odskakują jeżeli były wciśnięte, próbowałem zrobić to na event structure ale aby uzyskać to musiałem usunąć timeout wtedy niestety program czeka ciagle na wciśnięcie przycisku i wtedy dopiero wykonuje się pętla.
Kolejnym problemem jest to ,że chciałbym wiedzieć jak zrobić coś w stylu sample 'n' hold. Robiłem coś podobnego na shift register ale nie zawsze się to da zastosować. Potrzebowałbym taki mechanizm który po wciśnięciu przycisku podawałby pobrany wynik do momentu aż przycisk nie zostanie wciśnięty ponownie.
- Załączniki
-
- test_przyciski_sample.vi
- Plik zapisalem dla wersji 8.0
- (13.18 KiB) Pobrany 350 razy
- skoziate
- Administrator
- Posty: 245
- Rejestracja: 06 mar 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Warszawa
- Kontakt:
Re: Buttony
Pierwszy problem rozwiązany w załączniku.
Nie do końca rozumiem jak miałby ten sample'n'hold działać. Czy chodzi o to, żeby wcisnąć przycisk i dopóki jest wciśnięty zbierać wyniki do tablicy i wyświetlać ten najświeższy?
Nie do końca rozumiem jak miałby ten sample'n'hold działać. Czy chodzi o to, żeby wcisnąć przycisk i dopóki jest wciśnięty zbierać wyniki do tablicy i wyświetlać ten najświeższy?
- Załączniki
-
- test_przyciski_sample.vi
- (20.27 KiB) Pobrany 337 razy
Pozdrawiam,
Sebastian
Sebastian
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Buttony
Widzę, że kolega Skoziate już wrzucił ... ale masz jeszcze jeden - z hold'em ... jeżeli tak miał działać.
Z boku i na dole masz rozwinięte zdjęcia case'ów jak mają wyglądać - oczywiście są tylko w pętli głównej programu.
Timeout eventa można wykorzystać jak widzisz do hold'a... choć może nie jest to eleganckie - wystarczy kliknąć prawym na Twój guzik i zmienić Mechanical Action na np. Switch When Pressed
Z boku i na dole masz rozwinięte zdjęcia case'ów jak mają wyglądać - oczywiście są tylko w pętli głównej programu.
Timeout eventa można wykorzystać jak widzisz do hold'a... choć może nie jest to eleganckie - wystarczy kliknąć prawym na Twój guzik i zmienić Mechanical Action na np. Switch When Pressed
Ostatnio zmieniony 21 paź 2010 21:43 przez smiga, łącznie zmieniany 4 razy.
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Buttony
Zerknąłem Sebastian na Twój kod ... ustawienie Timeout na 0 to chyba nie jest najlepszy pomysł - strasznie wentylator wyje
- skoziate
- Administrator
- Posty: 245
- Rejestracja: 06 mar 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Warszawa
- Kontakt:
Re: Buttony
Zgadzam się, ale autor wątku też nie miał sterowania czasem pętli. Nie wiem jak będzie wglądała docelowa akwizycja sygnału - być może tylko programowo, jak się da.
Pozdrawiam,
Sebastian
Sebastian
Re: Buttony
Hej, dziękuję za rozwiązanie kwesti przycisków robiłem podobnie ale guziki przyciski w kodzie zostały poza event structure i niestety wyskakiwał błąd.
Pozdrawiam serdecznie i dziękuję za pomoc.
Nie wiem jak to się stało chciałem wpisać 10ms ;) ale jedynkę jakoś połknęłosmiga pisze:Zerknąłem Sebastian na Twój kod ... ustawienie Timeout na 0 to chyba nie jest najlepszy pomysł - strasznie wentylator wyje
Myślę że rysunek będzię najlepiej tłumaczył o co mi chodzi Button działa latach when pressed. Po wciśnięciu pobierana jest próbka i na wyjściu rejestru Sample N Hold ciągle widoczna jest wartość która była pobrana, po ponownym wciśnięciu stara dana znika a nowa dana jest widoczna na wyjściu. Można było by to zrobić po prostu na case structure ale wtedy button musialby by wciśnięty czyli za każdym razem trzeba by bylo klikać dwukrotnie z ON na OFF i z OFF na ON ;). Pytanie o ten sample n hold jest takim pytaniem ekstra myslalem ze moze istnieje taka gotowa struktura ;) Jeżeli nie no cóż zostanę z moim shift register ;)skoziate pisze:Nie do końca rozumiem jak miałby ten sample'n'hold działać. Czy chodzi o to, żeby wcisnąć przycisk i dopóki jest wciśnięty zbierać wyniki do tablicy i wyświetlać ten najświeższy?
Pozdrawiam serdecznie i dziękuję za pomoc.
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Buttony
Zerknij na kod w załączniku
- Załączniki
-
- test_przyciski_sample.vi
- (15.57 KiB) Pobrany 361 razy
Re: Buttony
Witam,
z treści i rysunku autora wątku wynika, że wartość próbki Sample N Hold nie musi być trzymana w tablicy, więc dotychczasowe rozwiązania wg mnie są trochę przekombinowane i czasochłonne.
Proponuję 2 inne rozwiązania oczywiście bez przechowywania starych próbek w tablicy (dla czytelności kodu nie dodałem opóźnień - Śmiga trzymaj wiatrak ;):
1 z wykorzystaniem rejestru,
2 bez rejestru - do pobranej próbki w innym miejscu programu można się dobrać poprzez property value.
Pozdrawiam
Zbych
z treści i rysunku autora wątku wynika, że wartość próbki Sample N Hold nie musi być trzymana w tablicy, więc dotychczasowe rozwiązania wg mnie są trochę przekombinowane i czasochłonne.
Proponuję 2 inne rozwiązania oczywiście bez przechowywania starych próbek w tablicy (dla czytelności kodu nie dodałem opóźnień - Śmiga trzymaj wiatrak ;):
1 z wykorzystaniem rejestru,
2 bez rejestru - do pobranej próbki w innym miejscu programu można się dobrać poprzez property value.
Pozdrawiam
Zbych
- Załączniki
-
- Sample n hold.vi
- (8.28 KiB) Pobrany 350 razy
Re: Buttony
Dziękuje wszystkim za pomoc. Prostota rozwiązania zbychlew'a jest powalajaca właśnie o to chodziło. Zgadza się wartość nie musi być zapisywana. Pozdrawiam wszystkich i ślę pochwały ;)