Property node które naciska przycisk?

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
uzurpator12
Posty: 8
Rejestracja: 31 sie 2017 15:28
Wersja środowiska: LabVIEW 2011

Property node które naciska przycisk?

Post autor: uzurpator12 »

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ł ;)
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Property node które naciska przycisk?

Post autor: smiga »

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...?
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
uzurpator12
Posty: 8
Rejestracja: 31 sie 2017 15:28
Wersja środowiska: LabVIEW 2011

Re: Property node które naciska przycisk?

Post autor: uzurpator12 »

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.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Property node które naciska przycisk?

Post autor: aaddaas »

Najlepiej, gdybyśmy mogli rzucić okiem na VI ;)
Obrazek
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Property node które naciska przycisk?

Post autor: jogurt_owocowy »

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.
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.
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 426 razy
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

Re: Property node które naciska przycisk?

Post autor: micard »

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ść.
userEvents.png
uzurpator12
Posty: 8
Rejestracja: 31 sie 2017 15:28
Wersja środowiska: LabVIEW 2011

Re: Property node które naciska przycisk?

Post autor: uzurpator12 »

jogurt_owocowy, mógłbyś tego .vi wrzucić z trybem zgodności dla LV2013?
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Property node które naciska przycisk?

Post autor: jogurt_owocowy »

uzurpator12 pisze: 06 paź 2017 15:12 jogurt_owocowy, mógłbyś tego .vi wrzucić z trybem zgodności dla LV2013?
Pewnie.
Załączniki
Press Button Programatically.vi
LV 2012
(14.77 KiB) Pobrany 437 razy
ODPOWIEDZ