Problem z Event Structure

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Luminoso_lua
Posty: 2
Rejestracja: 18 cze 2009 17:05
Kontakt:

Problem z Event Structure

Post autor: Luminoso_lua »

Mam problem z Event Structure, ponieważ mam kilka tych struktur i gdy chcę zakończyć działanie, naciskam STOP, wchodzi do Case Structure powiązanej z State Machine. Po czym wchodzi do tego Casa i gdy użytkownik zdecyduje, o zakończeniu program nadal czeka na jakąkolwiek reakcje.
Mógłby ktoś pomóc odnaleźć mi mój błąd.
Następną rzeczą, nad jaką się zastanawiam to, czy można zrobić tak aby po naciśnięciu przycisku stop i podjęciu decyzji o „błędnym” naciśnięciu, czy można by było wrócić do wcześniejszego Case <wiem że możliwość wybrania tego Case istnieje przez Shift Register>, ale czy można to jakoś powiązać z następnym event np. przez wstawienie Indykatora or lampki LED odczytującej wartość, która idzie do stop z While loop.

Przykładowy prosty programik obrazujący, o co mi chodzi, dołączam poniżej.

Z góry dziękuje, za odpowiedz:)
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: Problem z Event Structure

Post autor: coolfon »

Chyba najlepszym rozwiązaniem będzie kolejkowana maszyna stanów (struktura producent-konsument). Pozwoliłem sobie zmienić Twój przykładowy programik. Zmiany tak na bardzo szybko, aby tylko pokazać o co mi chodzi.

Przeanalizuj sobie, jak pojawią się jakieś pytania to pisz.
Luminoso_lua
Posty: 2
Rejestracja: 18 cze 2009 17:05
Kontakt:

Problem z Event Structure

Post autor: Luminoso_lua »

Bardzo dziękuje za rade. W końcu mój program działa tak jak sobie wszystko ładnie zaplanowałam :D/
luke76a
Posty: 12
Rejestracja: 26 sty 2009 01:56
Kontakt:

Re: Problem z Event Structure

Post autor: luke76a »

Witam,

Poniżej przedstawiam poglądowy rysunek (event1). Taki program nie działa i wiesza się po 3. kliknięciach na zmienna. Nie działa, bo może w pętli while zmiana, która odbywa się w pierwszym event structure nie jest "widziana". Przerobiłem program i nadal nie działa (event2).

Czy [event structure-"..."value change] działa tylko jeśli zmiany wprowadza użytkownik na front panelu?
Awatar użytkownika
bartus
Posty: 141
Rejestracja: 07 maja 2007 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław/Żory

Problem z Event Structure

Post autor: bartus »

generalnie, zeby "zadziałało" to albo zmiana na front panelu, albo zamiast property value, value(signaling);

pozatym nie polecam wiecej niz jednej event structure w programie, to jednej struktury mozna dokladac zdarzenia od kolejnych elementow front panelu.
Jest pare rzeczy dla których warto zyc - TO,UE i nie zmienia sie nic :)
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Problem z Event Structure

Post autor: jogurt_owocowy »

Czy [event structure-"..."value change] działa tylko jeśli zmiany wprowadza użytkownik na front panelu?
Tak.
Poza tym, jak już bartus wspomniał, działa też na wpisanie do kontrolki nowej wartości poprzez węzeł własności Value (Signaling).
Abstrahując od Twojego pytania... Poczytaj sobie zalecenia dotyczące używania struktury event. Jednym z nich jest nieużywanie dwóch struktur w jednej pętli.
Pozdrawiam
Ostatnio zmieniony 08 lip 2009 20:33 przez jogurt_owocowy, łącznie zmieniany 1 raz.
ODPOWIEDZ