"End of file encountered" w Event driven state machine.
"End of file encountered" w Event driven state machine.
Witam,
z góry przepraszam, jeśli temat jest w złym dziale, ale jestem zarówno początkującym użytkownikiem Labview, jak i tego forum.
Muszę wykonać aplikację diagnostyczną, która będzie odczytywała sygnał prądu fazowego z pliku i wykonywała jego analizę FFT.
Aby aplikacja miała ręce i nogi, skorzystałem ze struktur case oraz event i pojawił się problem, mianowicie po uruchomieniu programu, przejściu w zdarzenie "idle" wczytuje plik, a kolejno z sygnału robię analizę FFT. Problem jest taki, że gdy z Eventu "Praca", chce nadal w nim "być", czyli daje enum "Praca", to wyskakuje błąd "End of file encountered", bo plik próbuje wczytać się drugi raz. Z kolei jeśli z Eventu "Praca", przechodzę znów do "Idle", to nie mogę już wykonywać takich operacji jak zmiana skali decybelowej, okna itp, ponieważ nie ma tego w tym evencie, tylko w evencie "Praca".
W załączniku mój VI.
z góry przepraszam, jeśli temat jest w złym dziale, ale jestem zarówno początkującym użytkownikiem Labview, jak i tego forum.
Muszę wykonać aplikację diagnostyczną, która będzie odczytywała sygnał prądu fazowego z pliku i wykonywała jego analizę FFT.
Aby aplikacja miała ręce i nogi, skorzystałem ze struktur case oraz event i pojawił się problem, mianowicie po uruchomieniu programu, przejściu w zdarzenie "idle" wczytuje plik, a kolejno z sygnału robię analizę FFT. Problem jest taki, że gdy z Eventu "Praca", chce nadal w nim "być", czyli daje enum "Praca", to wyskakuje błąd "End of file encountered", bo plik próbuje wczytać się drugi raz. Z kolei jeśli z Eventu "Praca", przechodzę znów do "Idle", to nie mogę już wykonywać takich operacji jak zmiana skali decybelowej, okna itp, ponieważ nie ma tego w tym evencie, tylko w evencie "Praca".
W załączniku mój VI.
- Załączniki
-
- dsgsgsdg.vi
- (809.35 KiB) Pobrany 439 razy
- dajpanspokój
- Posty: 145
- Rejestracja: 05 lis 2015 08:15
- Wersja środowiska: LabVIEW 2016
Re: "End of file encountered" w Event driven state machine.
Nie wiem czy to odpowie na twoj problem, ale moglbys dodac nowy case pt otwarcie pliku. Z idle->otwarcie pliku->praca<->idle->zamkniecie pliku->zamkniecie programu.
Re: "End of file encountered" w Event driven state machine.
Własnie taki miałem zamysł, tylko jak z eventu "odczyt" przesłać potem do eventu "Praca" sygnał do analizy FFT?
Re: "End of file encountered" w Event driven state machine.
- rejestr przesuwny "shift register"
- FGV (functional global variable)
- a żeby się za bardzo nie "pałować" teraz ani w przyszłości proponuję zajrzeć na t stronę i poczytac o JKI State Machines - bardzo fajna zabawka
https://blog.jki.net/products/state-mac ... pen-source
- FGV (functional global variable)
- a żeby się za bardzo nie "pałować" teraz ani w przyszłości proponuję zajrzeć na t stronę i poczytac o JKI State Machines - bardzo fajna zabawka
https://blog.jki.net/products/state-mac ... pen-source
Re: "End of file encountered" w Event driven state machine.
Jeśli chodzi o Shift register, to w jaki sposób można przesłać przez niego dane w jednym case structure, ale różnymi "stanami"? Bo w ten sposób nie mogę tego wykorzystać w stanie przykładowo "stop".
Za pozostałe pomysły również dziękuje!
Za pozostałe pomysły również dziękuje!
Re: "End of file encountered" w Event driven state machine.
możesz zapisać vi w wersji 2017?
Re: "End of file encountered" w Event driven state machine.
Z przyjemnością!
- Załączniki
-
- dsgsgsdg.vi
- (2.43 MiB) Pobrany 420 razy
Re: "End of file encountered" w Event driven state machine.
Podbijam pytanie. Jestem w stanie się odwdzięczyć - bardzo mi to potrzebne.
Re: "End of file encountered" w Event driven state machine.
Mam dwie wiadomości - standardowo jedna dobra i jedna zła:
Zła - LabVIEW jest totalnie tragiczne jeśli chodzi o obsługę Unicode i na 95% popsułem Ci polskie znaki w aplikacji ;p
Dobra - w załczniku jest delikatnie przerobiony Twój program - ze stanu praca (w którym odczytuje plik) program przechodzi do stanu "odczyt" w którym następuje analiza FFT. Ten stans ie zapętla aż do zamknięcia programu.
To rozwizanie nie jest idealne, ale "zadziała". Kiulka rzeczy nad którymi mozna się pochylić:
-w tej chwili analiza wykonuje się w "event'" Timeout - co 25 ms - troche dużo, skoto pewnie obchodzi Cię to tylko po zmianie parametrów - spróbuj dodaś event'a wyzwalanego jesli którykolwiek z kontrolek parametrów jest zmieniony i przeładuj wykresy tylko wtedy.
- masz powtórzony wykres FFT na kazdej zakładce - może warto przemysleć nieco inaczej układ GUI, tak, żeby nie było potrzeby mienia tylu osobnych wykresów? Sprawdź subpanel lub sterowanie property node'm "visible".
- poczytaj o "event case" i o tym jak działa "timeout". Zwróć uwagę, że w Twoim programie w stanie Idle powtarze się on co 50 a nie co 25ms.
Zła - LabVIEW jest totalnie tragiczne jeśli chodzi o obsługę Unicode i na 95% popsułem Ci polskie znaki w aplikacji ;p
Dobra - w załczniku jest delikatnie przerobiony Twój program - ze stanu praca (w którym odczytuje plik) program przechodzi do stanu "odczyt" w którym następuje analiza FFT. Ten stans ie zapętla aż do zamknięcia programu.
To rozwizanie nie jest idealne, ale "zadziała". Kiulka rzeczy nad którymi mozna się pochylić:
-w tej chwili analiza wykonuje się w "event'" Timeout - co 25 ms - troche dużo, skoto pewnie obchodzi Cię to tylko po zmianie parametrów - spróbuj dodaś event'a wyzwalanego jesli którykolwiek z kontrolek parametrów jest zmieniony i przeładuj wykresy tylko wtedy.
- masz powtórzony wykres FFT na kazdej zakładce - może warto przemysleć nieco inaczej układ GUI, tak, żeby nie było potrzeby mienia tylu osobnych wykresów? Sprawdź subpanel lub sterowanie property node'm "visible".
- poczytaj o "event case" i o tym jak działa "timeout". Zwróć uwagę, że w Twoim programie w stanie Idle powtarze się on co 50 a nie co 25ms.
- Załączniki
-
- dsgsgsdg (1).vi
- (817.15 KiB) Pobrany 422 razy
Re: "End of file encountered" w Event driven state machine.
Dziękuje bardzo! o to mi chodziło . Do wskazówek na pewno się zastosuje!