Event Structure

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
rearthm
Posty: 5
Rejestracja: 23 gru 2012 22:23
Wersja środowiska: LabVIEW 2012

Event Structure

Post autor: rearthm »

Witam.
W jaki sposób należy kożystać z Timeout terminal, wiem ,że jego
wejście to czas po jakim ma nastąpić reakcja na wydarzenie ale co z wyjściem ?
Do czego służą Data , Discard node ?
Nie chodzi mi tu o odsyłanie do helpa w labview ale o proste wytłumaczenie
jak w praktyce stosuje się takie rzeczy .

Pozdrawiam i z góry dziękuje za pomoc w nauce.
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Event Structure

Post autor: bogdani »

Witaj

Do wejścia Timeout podajesz czas, po którym wykona się sekwencja timeout, to co napisałeś jest błędne. Akcja na wydarzenie następuje natychmiast po jego wystąpieniu, ale jeśli nic nie wystąpi pętla może po prostu czekać i tyle. Może również co określony przez ciebie czas wykonać jakąś akcję (np. sprawdzić czy operator patrzy :D )

Po wybraniu jakiegoś zdarzenia masz możliwość obsługi akcji z nim związanych.
Niektóre zdarzenia mają kolor zielony (strzałka przy zdarzeniu) lub czerwony i są ze znakiem zapytania.
Te drugie mogą służyć do zmiany akcji - np. kliknięcie w krzyżyk zamykający okno, można wykasować to działania i wyświetlić pytania, ale okna nie zamykać :-).
Przy takim zdarzeniu masz do dyspozycji po lewej stronie sekwencji Event Data Node i po prawej Event Filter Node (który właśnie służy do filtrowania akcji).

Nie wiem, czy to wystarczająco jasne, ale pora już późna i myśli uciekają (-| i-)
Jak czegoś nie rozumiesz to napisz, temat się rozwinie ;)

bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
rearthm
Posty: 5
Rejestracja: 23 gru 2012 22:23
Wersja środowiska: LabVIEW 2012

Re: Event Structure

Post autor: rearthm »

Witam.
W celu uściślenia wrzucam poglądowy obrazek.
Timeout - służy do ustawienia czasu oczekiwania na zdarzenie.
Ale dalej nie do końca rozumiem różnicę między event date node a event filter node.
Kożystając z event structure , po ustawienu danego zdarzenia event date node pokazuje się automatycznie z lewej strony a filter node nie.
Jak w praktyce można użyć tych dwóch rzeczy ?
Załączniki
event data node.png
event data node.png (31.34 KiB) Przejrzano 8237 razy
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Event Structure

Post autor: Mikrobi »

Timeout to akcja która wykona się po określonym w milisekundach czasie jeśli przez ten czas nie pojawiło się inne zdarzenie zadeklarowane w strukturze Event.
Event Data Node zwraca informacje standardowe i specyficzne dla obsługiwanego zdarzenia:
- ogólne to Type, Time, Source,
-szczególne dla konkretnych zdarzeń to np. Old Value, New Value, w przypadku zdarzenia od myszy jak powyżej: lokalizacja kursora na panelu, informacje o naciśniętych przyciskach
Event Filter Node przyjmuje informacje pozwalające zmodyfikować informacje specyficzne, i pojawia się tylko jeśli jest to zdarzenie filtrujące, czyli z pytajnikiem. Przefiltrowane informacje przekazywane są do właściwej obsługi zdarzenia: na rysunku powyżej bedzie to [Mouse Down], przy zamknięciu okna: [Panel Close].

Prawidłowa obsługa w przypadku zdarzeń filtrowanych to właśnie na przykład zamknięcie okna czyli panelu. Zamknięcie okna obsługiwane prawidłowo ma umożliwiać odwołanie akcji, czyli pokazanie okna dialogowego a wtedy potrzebne są dwa rodzaje zdarzeń: sprawdzenie jak ma zostać obsłużone zdarzenie [Panel Close?] i właściwa jego obsługa [Panel Close], chyba że na wejście Discard? w [Panel Close?] podano stan logiczny TRUE.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
ODPOWIEDZ