Problem z zatrzymaniem programu w szablonie P&K

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
czaro05
Posty: 8
Rejestracja: 08 lis 2014 22:30
Wersja środowiska: LabVIEW 2013

Problem z zatrzymaniem programu w szablonie P&K

Post autor: czaro05 »

Witam,
chcę stworzyć program, który symuluje obsługę w McDonaldzie. Wszystko działa tak, jak sobie wymyśliłem poza przyciskiem Stop. Sprawdziłem program żarówką i wydaję się, że powinno działać jak należy - po kliknięciu przycisku Stop wartości True dopływają do Stop If True. Proszę Was o zdiagnozowanie problemu i rozwiązanie. Dodam, że skorzystałem z wyszukiwarki, ale nie udało mi się znaleźć rozwiązania mojego problemu.
Pozdrawiam
Załączniki
cheesburger.vi
(23.56 KiB) Pobrany 340 razy
SNT
Posty: 56
Rejestracja: 18 lip 2013 13:23
Wersja środowiska: LabVIEW 2013

Re: Problem z zatrzymaniem programu w szablonie P&K

Post autor: SNT »

Problem polega na tym, że po wyjściu z programu zmienna lokalna stop była ustawiona na TRUE co powodowało, że pętla na dole wykonywała się tylko raz.
Teraz stop powinien działać, ale to jest taka wersja na szybko. Nadal może być zablokowany, jeżeli będzie za dużo zamówień.
Radzę poczytać o timerach, maszynie stanów i zobaczyć parę przykładów z kolejkami.
Klastry do kolejki powinny być zapisane jako type def, to samo enumy.

Powodzenia.
Załączniki
cheesburger.vi
(16.58 KiB) Pobrany 326 razy
czaro05
Posty: 8
Rejestracja: 08 lis 2014 22:30
Wersja środowiska: LabVIEW 2013

Re: Problem z zatrzymaniem programu w szablonie P&K

Post autor: czaro05 »

Dzięki, ciekawe rozwiązanie, ale szczerze powiedziawszy dalej nie rozumiem dlaczego przycisk stop nie działa poprawnie w moim programie.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Problem z zatrzymaniem programu w szablonie P&K

Post autor: aaddaas »

Jeśli zamiast czytać local variable z kontrolki stop, zastosujesz maszynę stanów, będziesz mógł ustawić mechanical action na Latch, wtedy nie będzie problemu z wciśniętym stopem po poprzednim zatrzymaniu. Postaraj się użyć kontrolki elapsed time, zamiast pętli wewnątrz programu, Dodaj obsługę błędów. Zacząłem wprowadzać poprawki w życie. I skorzystaj z rad SNT ;)

A przycisk STOP w Twoim programie działa, tylko z opóźnieniem dwóch zamówień. Jeśli klikniesz "stop" w momencie wykonywania zamówienia, musisz czekać aż się ono skończy, a następnie w następnym obiegu pętli, czekasz aż wykona się cała pętla (ergo kolejne zamówienie), a dopiero po tym Twoja dolna pętla się zatrzymuje, a program kończy.
Załączniki
cheesburger.vi
(24.78 KiB) Pobrany 321 razy
Obrazek
czaro05
Posty: 8
Rejestracja: 08 lis 2014 22:30
Wersja środowiska: LabVIEW 2013

Re: Problem z zatrzymaniem programu w szablonie P&K

Post autor: czaro05 »

@aaddaas
Dzięki za rady i wyjaśnienie. Nie otworzę Twoich poprawek - nie moja wersja.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Problem z zatrzymaniem programu w szablonie P&K

Post autor: aaddaas »

ver 11
Załączniki
cheesburger.vi
(15.32 KiB) Pobrany 321 razy
Obrazek
ODPOWIEDZ