problem z while loop wewnątrz case structure

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.
cichu18
Posty: 2
Rejestracja: 02 gru 2012 23:48
Wersja środowiska: LabVIEW 2010

problem z while loop wewnątrz case structure

Post autor: cichu18 »

Witam!
Właśnie rozpoczynam swoją przygodę z labview i napotkałem problem, z którym walczę już dobrych kilka godzin, a mianowicie:
Robię mały projekt pod tytułem "budzik" - uczę się na przykładach znalezionych w sieci + przykładach dostępnych w helpie. Problem powstał w momencie odtwarzania pliku .wav podczas załączania alarmu. Gdy rozpoczyna się alarm nie jestem w stanie w żaden sposób po wyłączeniu go, jednocześnie wyłączyć odtwarzania pliku .wav, którego sekcja odtwarzająca znajduję się w pętli while loop a "sygnał" powodujący jego stop - poza. Znalazłem kilka rozwiązań lecz są na ten moment zbyt skomplikowane dla mnie (nie potrafię ich zastosować w swoim przykładzie) i szukam tego najprostrzego. Proszę o pomoc!

Obrazek

VI + przykładowy .wav
Awatar użytkownika
patka
Posty: 20
Rejestracja: 08 maja 2012 16:33
Wersja środowiska: LabVIEW 2012

problem z while loop wewnątrz case structure

Post autor: patka »

Witam,

Nie da się pobrać całego Twojego programu.
Najprostszym, ale nie za dobrym rozwiązaniem, będzie jak użyjesz kolejnej zmiennej lokalnej, bo widzę, że nie są Ci one obce i możesz zrobić tak jak z "Alarm" - tam wyżej dać jakiś indykator, a w pętli niżej stworzyć dla niego zmienną lokalną, zmienić z menu kontekstowego na Change to Read i czytać z niej.

Pozdrawiam,
P.
cichu18
Posty: 2
Rejestracja: 02 gru 2012 23:48
Wersja środowiska: LabVIEW 2010

Re: problem z while loop wewnątrz case structure

Post autor: cichu18 »

Dzięki za szybką odpowiedź. Niestety Twoja porada nie poskutkowała. Problem w tym, że sekcja odtwarzania wav zawarta w helpie działa idealnie, u mnie nie - na screenie w moim pierwszym poście nie ma, bo został usunięty przycisk STOP wewnątrz while loop, który po dodaniu odtwarzacza do mojego programu przestał działać. Próbowałem ze zmiennymi lokalnymi na każdy możliwy i logiczny w miarę sposób, lecz niestety klęska.
Link naprawiony - literówka ;] Pozdrawiam
Awatar użytkownika
patka
Posty: 20
Rejestracja: 08 maja 2012 16:33
Wersja środowiska: LabVIEW 2012

Re: problem z while loop wewnątrz case structure

Post autor: patka »

To co pisałam wcześniej, czyli taka modyfikacja jak w załączniku Ci nie działa?

Kiedy klikniesz 'Off' dźwięk alarmu powinien się przerwać, a pętla zakończyć. Przetestuj sobie może na jakimś dłuższym sygnale niż 3s, bo ta pętla kończy się też wraz z końcem odtwarzania dzwonka.

A na przyszłość trzeba by zmienić architekturę na lepszą i mniej zawodną. Swoją drogą dlaczego chcesz ten sygnał brać z miejsca zaznaczonego strzałką? Wg. mnie to czy klikniesz Koniec czy Drzemkę i tak w obu przypadkach powinno natychmiast zatrzymać dzwonek, z tym że dla Drzemki powinien się automatycznie ustawić kolejny alarm na kilka minut później.
Załączniki
budzik.rar
(701.75 KiB) Pobrany 260 razy
ODPOWIEDZ