Event Case + switch + standard state machine

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
dnorus
Posty: 19
Rejestracja: 07 gru 2008 19:43
Kontakt:

Event Case + switch + standard state machine

Post autor: dnorus »

Cześć,
mam problem - muszę zaprogramować działanie bramy: czyli jest otwarta wciskam guzik zamknij - zamyka się etc. oczywiście na wciśniecie guzika czekam za pomocą struktury event case;].
Mam dwa guziki - kilka kontrolek do nich - które odpowiadają za zamknij i otwórz bramę - wszystko działa ślicznie. Ah i wszystko odbywa się w standard state machine (duży while +shif register +odpowiedni case) to chyba najmniej ważne. No i teraz odpowiednio podczas działania danej akcji ustawiam wartość disabled na odpowiednie guziki (tak żeby podczas zamykania nie wcisnąć otwierania). Problem pojawił się gdy dodałem guzik stop!
Dodaje do case'a w SSM zakładke stop i w niej umieszczam event structure, który oczekuje na naciśnięcie guzików otwierania i zamykania. Dodaje eventa czekajacego na otwieranie - wszystko działa, dodaje eventa oczekującego na zamknięcie i już są problemy!.
Na starcie brama jest otwarta więc mogę wcisnąć tylko zamykanie - brama się zamyka i nie mogę nacisnąć ani jednego guzika. Obojętnie co jest w tym event structure - ważne że ma dwie zakładki i już nic nie działa, albo jedna zakładka z dwoma warunkami. Pytanie dlaczego:P?

Może jakoś się wykluczają... mógłbym nie używać event structure ale jak to.. program by ciągle działał pomimo tego że nic się w układzie nie dzieje (brama se stoi)...

Dzięki z góry:))
Ostatnio zmieniony 20 mar 2009 11:59 przez dnorus, łącznie zmieniany 1 raz.
sliski
Posty: 69
Rejestracja: 15 mar 2005 00:00
Lokalizacja: Rzeszów

Event Case + switch + standard state machine

Post autor: sliski »

Witam,

Umieszczenie "eventa" w srodku maszyny stanow nie jet dobrym pomyslem. Zrob oodzielna petle "while" z "event structure" do obslugi interfejsu i odzielna petle "while" z "case structure" do wykonywania konkretnej akcji. Informacje z pierwszej petli do drugiej mozesz przesylac np za pomoca "notifier".

Pozdrawiam
sliski
ODPOWIEDZ