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
Has thanked: 1 time

Property node które naciska przycisk?

Post autor: uzurpator12 » 05 paź 2017 14:33

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
Posty: 680
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Been thanked: 1 time
Kontakt:

Re: Property node które naciska przycisk?

Post autor: smiga » 05 paź 2017 16:21

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_____
_____ www.optinav.pl _____

Obrazek

uzurpator12
Posty: 8
Rejestracja: 31 sie 2017 15:28
Wersja środowiska: LabVIEW 2011
Has thanked: 1 time

Re: Property node które naciska przycisk?

Post autor: uzurpator12 » 06 paź 2017 11:21

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: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Property node które naciska przycisk?

Post autor: aaddaas » 06 paź 2017 11:36

Najlepiej, gdybyśmy mogli rzucić okiem na VI ;)
Obrazek

Awatar użytkownika
jogurt_owocowy
Posty: 1311
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Kraków
Been thanked: 1 time
Kontakt:

Re: Property node które naciska przycisk?

Post autor: jogurt_owocowy » 06 paź 2017 13:14

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 12 razy

Awatar użytkownika
micard
Posty: 133
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

Re: Property node które naciska przycisk?

Post autor: micard » 06 paź 2017 14:01

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
Has thanked: 1 time

Re: Property node które naciska przycisk?

Post autor: uzurpator12 » 06 paź 2017 15:12

jogurt_owocowy, mógłbyś tego .vi wrzucić z trybem zgodności dla LV2013?

Awatar użytkownika
jogurt_owocowy
Posty: 1311
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Kraków
Been thanked: 1 time
Kontakt:

Re: Property node które naciska przycisk?

Post autor: jogurt_owocowy » 06 paź 2017 17:13

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 16 razy

ODPOWIEDZ