Strona 1 z 1

"End of file encountered" w Event driven state machine.

: 20 wrz 2018 13:15
autor: Przemko96
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.

Re: "End of file encountered" w Event driven state machine.

: 20 wrz 2018 21:21
autor: dajpanspokój
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.

: 20 wrz 2018 22:54
autor: Przemko96
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.

: 21 wrz 2018 12:39
autor: micard
- 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

Re: "End of file encountered" w Event driven state machine.

: 21 wrz 2018 12:58
autor: Przemko96
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!

Re: "End of file encountered" w Event driven state machine.

: 21 wrz 2018 16:36
autor: micard
możesz zapisać vi w wersji 2017?

Re: "End of file encountered" w Event driven state machine.

: 21 wrz 2018 21:00
autor: Przemko96
Z przyjemnością!

Re: "End of file encountered" w Event driven state machine.

: 23 wrz 2018 21:29
autor: Przemko96
Podbijam pytanie. Jestem w stanie się odwdzięczyć - bardzo mi to potrzebne.

Re: "End of file encountered" w Event driven state machine.

: 24 wrz 2018 08:20
autor: micard
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.

Re: "End of file encountered" w Event driven state machine.

: 24 wrz 2018 11:11
autor: Przemko96
Dziękuje bardzo! o to mi chodziło :). Do wskazówek na pewno się zastosuje!