Property node które naciska przycisk?
-
- Posty: 8
- Rejestracja: 31 sie 2017 15:28
- Wersja środowiska: LabVIEW 2011
Property node które naciska przycisk?
Czy jest jakiś property node aby w określonym momencie nacisnął przycisk? Value na stan wysoki, tylko go podświetla, ale nie dzieje się nic. Chciałbym to zrobić tak a nie inaczej, bo mam kilka pętli i jeżeli zrobiłbym że w określonym momencie ma się dziać to co po wcisnięciuprzycisku, to by nie zadziałało. Jeżeli nie uda się z tym PN, to nic, tak będę próbował ;)
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Property node które naciska przycisk?
Nie wiem jak wygląda rzeczywisty problem, ale właściwość Value zmienia wygląd kontrolki, czyli jej stan, a także wartość, która "za nią idzie". Jeżeli tak się nie dzie, to znaczy, że coś innego blokuje tę kontrolkę/guzik ... np. jest w zajętym wątku. Jeżeli masz Eventy, to ewentualnie możesz wykorzystać Value (Signaling) do wywołania eventu przez zmianę właściwości Value, choć wydaje się, że nie taki masz problem...?
-
- Posty: 8
- Rejestracja: 31 sie 2017 15:28
- Wersja środowiska: LabVIEW 2011
Re: Property node które naciska przycisk?
No coś nie właśnie, mam kilka pętli i jest zrobiona obsługa na eventach tak, aby ten jeden przycisk zawsze można było wcisnąć, beż żadnego blokowania i to działa, jednak jeżeli chcę to zrobić poprzez wpisanie wartości do property node, to to coś nie działa.
Re: Property node które naciska przycisk?
Najlepiej, gdybyśmy mogli rzucić okiem na VI ;)
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Property node które naciska przycisk?
Zwróć uwagę, że jeśli akcja przycisku (Mechanical Action) jest typu Latch (przycisk samopowrotny, jak w kalkulatorze), to nie możesz użyć własności Value (Signaling) do programowego wygenerowania eventu.uzurpator12 pisze: ↑06 paź 2017 11:21 (...) jest zrobiona obsługa na eventach tak, aby ten jeden przycisk zawsze można było wcisnąć, (...) jednak jeżeli chcę to zrobić poprzez wpisanie wartości do property node, to to coś nie działa.
Domyślnie przyciski są skonfigurowane właśnie w ten sposób (Latch when released).
Najprościej zmienić akcję przycisku na Switch when released i dodać resetowanie stanu przycisku w miejscu obsługi eventu. Po takiej zmianie możesz użyć własności Value (Signaling) do programowego wygenerowania eventu (patrz: załącznik).
- Załączniki
-
- Press Button Programatically.vi
- LV 2015
- (11.93 KiB) Pobrany 484 razy
Re: Property node które naciska przycisk?
Eleganckim rozwiązaniem jest zastosowanie "user events".
To co do tej pory wykonywałeś w strukturze odpowiadającej wciśniętemu przyciskowi przydzielasz nowy "user event"
Zdarzenie przycisku generuje "user event".
W dowolnym innym miejscu aplikacji generujesz "user event" - i wtedy wykonuje się ta sama część kodu co przy naciśnięciu przycisku.
Jedyny minus w tym konkretnym rozwiązaniu - to brak wizualnego naciśnięcia guzika, w sytuacji wygenerowania "user event". niemniej, jeśli jest to ci potrzebne do szczęścia - nie jest wielkim problemem dodać taką funkcjonalność.
To co do tej pory wykonywałeś w strukturze odpowiadającej wciśniętemu przyciskowi przydzielasz nowy "user event"
Zdarzenie przycisku generuje "user event".
W dowolnym innym miejscu aplikacji generujesz "user event" - i wtedy wykonuje się ta sama część kodu co przy naciśnięciu przycisku.
Jedyny minus w tym konkretnym rozwiązaniu - to brak wizualnego naciśnięcia guzika, w sytuacji wygenerowania "user event". niemniej, jeśli jest to ci potrzebne do szczęścia - nie jest wielkim problemem dodać taką funkcjonalność.
-
- Posty: 8
- Rejestracja: 31 sie 2017 15:28
- Wersja środowiska: LabVIEW 2011
Re: Property node które naciska przycisk?
jogurt_owocowy, mógłbyś tego .vi wrzucić z trybem zgodności dla LV2013?
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Property node które naciska przycisk?
Pewnie.uzurpator12 pisze: ↑06 paź 2017 15:12 jogurt_owocowy, mógłbyś tego .vi wrzucić z trybem zgodności dla LV2013?
- Załączniki
-
- Press Button Programatically.vi
- LV 2012
- (14.77 KiB) Pobrany 503 razy