Struktura EVENT

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
siewnikdr
Posty: 43
Rejestracja: 15 lis 2008 12:37
Kontakt:

Struktura EVENT

Post autor: siewnikdr »

Witam wszystkich. Jestem nowy i dopiero zaczynam przygodę z LabView i mam pewien problem ze strukturą EVENT.

Chcę aby LAMPKA po ustawieniu PRZEŁĄCZNIKA w pozycję GÓRA zaświeciła się a następnie po ustawieniu PRZEŁĄCZNIKA w pozycję DÓŁ zgasła. Próbowałem na różne sposoby ale nigdy mi to dobrze nie wychodziło, może, na pewno robie coś źle dlatego proszę was o pomoc.

Umieściłem plik .lvi i zdjęcie ze strukturą programu, za pomoc z góry dziekuję
Jarq
Posty: 49
Rejestracja: 30 paź 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław

Struktura EVENT

Post autor: Jarq »

Żeby nie dawać od razu rozwiązania powiem tyle - włącz sobie execution highlight i wykonuj program krok po kroku.

Wykonywanie zatrzyma się na evencie i nie pójdzie dalej bo zdarzenie key up i key down nie wystąpiło (key up i key down są eventami klawiatury)

Zmień zdarzenie na Value Change.
Ostatnio zmieniony 15 lis 2008 13:44 przez Jarq, łącznie zmieniany 1 raz.
Awatar użytkownika
siewnikdr
Posty: 43
Rejestracja: 15 lis 2008 12:37
Kontakt:

Struktura EVENT

Post autor: siewnikdr »

Niestety nie mogę użyć dwa razy zdarzenia EVENT do jednego przycisku... i nie wiem jak uruchomic execution highlight...
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Struktura EVENT

Post autor: Pitol »

siewnikdr pisze:Niestety nie mogę użyć dwa razy zdarzenia EVENT do jednego przycisku
zamiast podpinania stałych T/F do 'lampki' wystarczy w event Value Change podpiąć NewVal do 'lampki'... dzięki temu oba działania które chcesz wykonać będą w jednym event
siewnikdr pisze: i nie wiem jak uruchomic execution highlight...


o tuuu jest ;)
Ostatnio zmieniony 15 lis 2008 15:39 przez Pitol, łącznie zmieniany 1 raz.
Awatar użytkownika
AzazeL
Posty: 46
Rejestracja: 05 cze 2008 19:00
Lokalizacja: Mikołów
Kontakt:

Re: Struktura EVENT

Post autor: AzazeL »

Najlepiej zrobić to tak jak w załączniku.
Zdarzenia Key up i key down są zdarzeniami z klawiatury, nawet jeżeli doczepisz skrót klawiaturowy do przełącznika to i tak twoje rozwiązanie będzie złe (dioda będzie miała wartość true tylko w czasie naciśnięcia przycisku).
Awatar użytkownika
siewnikdr
Posty: 43
Rejestracja: 15 lis 2008 12:37
Kontakt:

Struktura EVENT

Post autor: siewnikdr »

Dziękuje... prosta sprawa a ja się tak męczyłem...
thaiski
Posty: 67
Rejestracja: 29 cze 2007 00:00

Struktura EVENT

Post autor: thaiski »

Witam
Podlacze sie pod watek. Pytanie takie: w skrypcie do kursu przygotowujacym do certyfikacji w opisie eventow mamy napisane ze event jest mniej pamiecio/procesoro i cos tam jeszcze żerny. Wynika z tego ze w innych przypadkach np. case structure w petli LV zuzywa znacznie wiecej zasobow pamieci procesora itd. I teraz pytanie jak jest naprawde bo przeciez i w przypadku eventu i w przypadku case strructure obie te struktury sa w petli i obie te struktury testuja panel usera czy aby nie zaszlo tam jakies zdarzenie. Na czym polega roznica ?

Dzieki za pomoc
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Struktura EVENT

Post autor: Mikrobi »

Jeśli mowimy o CASE i EVENT to mamy dwa podejścia: 1. pooling (CASE) czyli petla while pracuje ciągle ze względu na czytanie w każdej iteracji kontrolek i podejmowanie decyzji o przejściu do konkretnego stanu.
2. programowanie oparte na zdarzeniach (EVENT) - pętla zatrzymuje się i czeka z wykonaniem kodu na strukturę EVENT nie konsumując czasu procesora.
Jeśli pojawia się zdarzenie, które zostalo zdefiniowane w edytorze zdarzeń struktury event, kod przypisany do tego zdarzenia zostaje wykonany, sprawdzony zostaje warunek zatrzymania pętli while i pętla idzie do nastepnej iteracji.
Jak to działa pod spodem?
Na styku LabVIEW - system operacyjny przesyłane są w obie strony tak jak to od każdego innego programu - informacje o zdarzeniach.
Tutaj już jest mechanizm odpowiedzialny za współdziałanie systemu operacyjnego z uruchamianymi w nim programami - pewien rodzaj komunikacji o zdarzeniach związanych z obiektami w programie. Taka komunikacja zachodzi w sposób ciągly, ma swój wątek w systemie operacyjnym, którym płyną wszystkie dane o zdarzeniach. Dla struktury event przesyłane są tylko te które zostały dla niej zdefiniowane, np wjazd kursora, aktywacja obiektu itd.
Myslę że programiści obiektowi od systemów operacyjnych wypowiedzili by się bardziej fachowo - taka jest ogólnie zasadza dzialania mechanizmu struktury event.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
ODPOWIEDZ