Maszyna stanów - problem z przejściem w strukturze Case

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
madalek121
Posty: 2
Rejestracja: 30 cze 2017 13:05
Wersja środowiska: LabVIEW 2016

Maszyna stanów - problem z przejściem w strukturze Case

Post autor: madalek121 » 30 cze 2017 13:23

Witam,
mam problem z rozwiązaniem przejścia do wyboru produktu. Chodzi mi o to że jak dojdę do wartości 1zł będę mógł wybrać produkt, ale też jeszcze wpłacać pieniądze (gdyż posiadam produkty jeszcze o wartości 1,5zł i 3zł). Teraz ten program jak dojdzie do 1zł przechodzi do wybierania produktu, lecz da się wybrać tylko ten produkt za 1zł i nie da się dopłacać pieniędzy.
Załączniki
produkty.vi
(11.77 KiB) Pobrany 23 razy
Kasa.vi
(12.14 KiB) Pobrany 23 razy
Maszyna.vi
(31.19 KiB) Pobrany 24 razy
Maszyna stanów.png

Awatar użytkownika
Pitol
Moderator
Posty: 908
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków
Has thanked: 1 time
Been thanked: 5 times

Maszyna stanów - problem z przejściem w strukturze Case

Post autor: Pitol » 30 cze 2017 14:06

Jak warunek większy/równy od 1 zostanie spełniony to Twoja maszyna stanów od razu przechodzi to stanu Wybierz produkt.

Jeśli możesz, to wstaw jeden stan "Idle", w którym masz strukturę Event. Każdy przycisk będzie generował jakąś akcję (np. wciśnięcie przycisku z kwotą powoduje przejście do stanu "Przelicz Hajs", a wciśnięcie produktu przejdzie do stanu "Wydaj Produkt") a po tej akcji następuje powrót do "Idle".

Jeśli jednak chciałbyś zrobić tę maszynę stanów bez struktury Event to musisz po pierwsze przyciski do wyboru produktu mieć na zewnątrz Case, aby reagować na nie przed wejściem w odpowiedni stan. Wewnątrz stanu "1 - wpłać" musisz zrobić warunek, że jak jakiś produkt jest naciśnięty to ma sprawdzić czy hajs się zgadza i wydać albo nic nie robić i wrócić do stanu "1 - wpłać".

PS. To wszystko pisałem bez zaglądania do kodu bo nie mam LV16 :)
Pozdrawiam Pitol,

Certified LabVIEW Architect, Certified TestStand Developer.

Awatar użytkownika
micard
Posty: 127
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

Maszyna stanów - problem z przejściem w strukturze Case

Post autor: micard » 30 cze 2017 16:06

spróbuj maszyny stanów od JKI:
http://sine.ni.com/nips/cds/view/p/lang/da/nid/209025
https://www.youtube.com/watch?v=XJFujhIuZdU

łatwo, miło i przyjemnie, a do tego spora rzesza wspierających to ludzi.

madalek121
Posty: 2
Rejestracja: 30 cze 2017 13:05
Wersja środowiska: LabVIEW 2016

Maszyna stanów - problem z przejściem w strukturze Case

Post autor: madalek121 » 30 cze 2017 16:34

Dzięki za pomoc, zrobiłem to z strukturą Event - jak polecał Pitol.
Program działa, choć musiałem trochę pozmieniać w nim.

Temat do zamknięcia.

ODPOWIEDZ