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:))
Event Case + switch + standard state machine
Event Case + switch + standard state machine
Ostatnio zmieniony 20 mar 2009 11:59 przez dnorus, łącznie zmieniany 1 raz.
Event Case + switch + standard state machine
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
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