Obliczanie średniej z wielu pomiarów.
Obliczanie średniej z wielu pomiarów.
Obecnie stworzyłem dwa VI'e. Pierwszy z nich dokonuje pomiaru dwóch wartości, dokonuje pewnych obliczeń, zapisuje i wyświetla wyniki. Drugi z nich bierze pod uwagę serie pomiarów i oblicza wartość średnią. Program do obliczania wartości średniej działa dość topornie, bo używam bloku "Read From Measurement File" i używam ich tyle ile pomiarów biorę do obliczenia wartości średniej i ręcznie wskazuje w nich ścieżkę wcześniej zapisanych pomiarów.
Chciałbym, aby wyniki uzyskane przy pojedynczym pomiarze były zapisane i brane do obliczania wartości średniej po potwierdzeniu przez użytkownika(np. przez naciśniecie przycisku: "Akceptuj wyniki") ze względu na fakt, że nie wszystkie pomiary są użyteczne. Wciśnięcie tego przycisku ma też powodować, że wyniki będą używane do obliczenia średniej wartości. Ilość tych pomiarów chciałbym regulować z poziomu panelu frontowego. Najlepiej byłoby też, gdyby te dwa VI'e zastąpić jednym.
Bardzo proszę o sugestie jak to zrobić. Przyda mi się jakaś rada, koncepcja, bądź kilka przydatnych linków.
Chciałbym, aby wyniki uzyskane przy pojedynczym pomiarze były zapisane i brane do obliczania wartości średniej po potwierdzeniu przez użytkownika(np. przez naciśniecie przycisku: "Akceptuj wyniki") ze względu na fakt, że nie wszystkie pomiary są użyteczne. Wciśnięcie tego przycisku ma też powodować, że wyniki będą używane do obliczenia średniej wartości. Ilość tych pomiarów chciałbym regulować z poziomu panelu frontowego. Najlepiej byłoby też, gdyby te dwa VI'e zastąpić jednym.
Bardzo proszę o sugestie jak to zrobić. Przyda mi się jakaś rada, koncepcja, bądź kilka przydatnych linków.
- smiga
- Administrator
- Posty: 824
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obliczanie średniej z wielu pomiarów.
Zacznijmy może od tego, że wrzucisz to co już masz - zobaczymy o co dokładnie chodzi.
Napisz też jak podejmujesz decyzje czy wynik będzie wykorzystany do obliczeń średniej, czy też odrzucony.
Napisz też jak podejmujesz decyzje czy wynik będzie wykorzystany do obliczeń średniej, czy też odrzucony.
Re: Obliczanie średniej z wielu pomiarów.
Wybór czy dany pomiar będzie brany do średniej zależy tylko i wyłącznie od wizualnej oceny uzyskanych pomiarów: siły i przyspieszenia. Jest więc to wyłącznie decyzja obsługującego program.
Załączam dwa pliki, o których pisałem wcześniej. Drugi program jest dość toporny, ale musiałem zrobić go bardzo szybko żeby sprawdzić wyniki. Wkrótce zapewne go poprawie i zoptymalizuje.
Załączam dwa pliki, o których pisałem wcześniej. Drugi program jest dość toporny, ale musiałem zrobić go bardzo szybko żeby sprawdzić wyniki. Wkrótce zapewne go poprawie i zoptymalizuje.
- Załączniki
-
- srenia_FRF.vi
- Program liczący średnia z 10 pomiarów. Dane są wczytane poprzez ręczne wskazanie ścieżek do pliku.
- (847.99 KiB) Pobrany 461 razy
-
- analiza_czestotliwosciowa.vi
- Program wykonujący pomiar i przeprowadzający obliczenia z zapisem do plików.
- (213.53 KiB) Pobrany 408 razy
- smiga
- Administrator
- Posty: 824
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obliczanie średniej z wielu pomiarów.
Niestety brakuje trochę VI'i (z katalogu "Zdefiniowane bloki")
Trudno też będzie pomóc nie widząc jak to działa i jakie są wyniki (brak karty i rzeczywistego problemu), dlatego sugeruję żebyś zastąpił kawałek kodu wygenerowanymi wcześniej danymi (podłączasz na wyjście danych Indicator, uruchamiasz,a następnie zmieniasz to na stałą i podłączasz jako wejście do reszty bloczków) i takie VI'e tu wrzuć.
Trudno też będzie pomóc nie widząc jak to działa i jakie są wyniki (brak karty i rzeczywistego problemu), dlatego sugeruję żebyś zastąpił kawałek kodu wygenerowanymi wcześniej danymi (podłączasz na wyjście danych Indicator, uruchamiasz,a następnie zmieniasz to na stałą i podłączasz jako wejście do reszty bloczków) i takie VI'e tu wrzuć.
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
Obliczanie średniej z wielu pomiarów.
Wstawilem taki maly vi.
- Załączniki
-
- test.vi
- Labview 11
- (106.96 KiB) Pobrany 372 razy
- smiga
- Administrator
- Posty: 824
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obliczanie średniej z wielu pomiarów.
Niestety nie za dużo zrozumiałem oglądając załączony test.vi ... to znaczy wciąż nie wiem do końca co chcesz zrobić i w jakiej kolejności ...
Na tyle na ile zrozumiałem chciałbyś np. zapisać dane lub uśrednić po akceptacji, czyli kliknięciu na jakimś wyskakującym okienku ... więc wrzuciłem test1.vi + okienko.vi - może się przyda.

Na tyle na ile zrozumiałem chciałbyś np. zapisać dane lub uśrednić po akceptacji, czyli kliknięciu na jakimś wyskakującym okienku ... więc wrzuciłem test1.vi + okienko.vi - może się przyda.
- Załączniki
-
- okienko.vi
- (21.41 KiB) Pobrany 374 razy
-
- test1.vi
- (107.33 KiB) Pobrany 385 razy
Re: Obliczanie średniej z wielu pomiarów.
Chciałbym, aby mój program działał następująco.
1. Określam parametry pomiaru(częstotliwość próbkowania, czas pomiaru etc.). To jest już zrobione w moim VI.
2. Określam ilość pomiarów potrzebnych do obliczenia średniej. Każdy pomiar ma się wykonać po naciśnięciu jakiegoś przycisku. Po wykonaniu jednego pomiaru, mam go zatwierdzić, dzięki czemu będzie wzięty do obliczenie średniej i zapisany, bądź odrzucić i wykonać kolejny, z którym będę postępował w ten sam sposób.
3. Po uzyskaniu wymaganej ilości pomiarów program ma wyliczyć średnią i wyświetlić wyniki.
Tok obliczeń w programie jest tutaj mało istotny. Chciałbym uzyskać pomoc jakich funkcji użyć, żeby procedura z wykonywaniem pomiarów wyglądała tak jak to opisałem w punktach powyżej. Obecnie wygląda to tak, że wykonuje pomiar i za każdym razem program pyta się mnie czy zapisać ten pomiar poprzez wyskakujące okienko. Chciałbym to zastąpić przyciskiem na panelu frontowym ze względu na wygodę. Po wykonaniu serii pomiarów obliczam średnią w sposób bardzo niepraktyczny. Używam tylu bloków wczytujących dane z zapisanych plików z ilu pomiarów chcę wykonać obliczenia. W tym konkretnym przypadku w pliku obliczającym średnią jest 10 takich bloków (VI o nazwie srenia_FRF). Chcąc np. zmienić ilość pomiarów do 15 konieczne jest modyfikowanie programu. Poza tym do każdego bloku wczytującego dane za każdym razem muszę wskazywać ścieżkę dostępu też w schemacie blokowym nie z wykorzystaniem panelu frontowego. Nie wiem, czy jest możliwe abym określił liczbę pomiarów np. 12, wykonał takę serię i w momencie gdy zaakceptuję określoną wcześniej liczbę program automatycznie wykona uśrednienie.
Postaram się też przerobić tak ten VI, żeby możliwe było zrozumienie jego działania. Wrzucę zaraz po przerobieniu.
1. Określam parametry pomiaru(częstotliwość próbkowania, czas pomiaru etc.). To jest już zrobione w moim VI.
2. Określam ilość pomiarów potrzebnych do obliczenia średniej. Każdy pomiar ma się wykonać po naciśnięciu jakiegoś przycisku. Po wykonaniu jednego pomiaru, mam go zatwierdzić, dzięki czemu będzie wzięty do obliczenie średniej i zapisany, bądź odrzucić i wykonać kolejny, z którym będę postępował w ten sam sposób.
3. Po uzyskaniu wymaganej ilości pomiarów program ma wyliczyć średnią i wyświetlić wyniki.
Tok obliczeń w programie jest tutaj mało istotny. Chciałbym uzyskać pomoc jakich funkcji użyć, żeby procedura z wykonywaniem pomiarów wyglądała tak jak to opisałem w punktach powyżej. Obecnie wygląda to tak, że wykonuje pomiar i za każdym razem program pyta się mnie czy zapisać ten pomiar poprzez wyskakujące okienko. Chciałbym to zastąpić przyciskiem na panelu frontowym ze względu na wygodę. Po wykonaniu serii pomiarów obliczam średnią w sposób bardzo niepraktyczny. Używam tylu bloków wczytujących dane z zapisanych plików z ilu pomiarów chcę wykonać obliczenia. W tym konkretnym przypadku w pliku obliczającym średnią jest 10 takich bloków (VI o nazwie srenia_FRF). Chcąc np. zmienić ilość pomiarów do 15 konieczne jest modyfikowanie programu. Poza tym do każdego bloku wczytującego dane za każdym razem muszę wskazywać ścieżkę dostępu też w schemacie blokowym nie z wykorzystaniem panelu frontowego. Nie wiem, czy jest możliwe abym określił liczbę pomiarów np. 12, wykonał takę serię i w momencie gdy zaakceptuję określoną wcześniej liczbę program automatycznie wykona uśrednienie.
Postaram się też przerobić tak ten VI, żeby możliwe było zrozumienie jego działania. Wrzucę zaraz po przerobieniu.
Re: Obliczanie średniej z wielu pomiarów.
Program zmodyfikowałem. Wstawiłem do niego dwa bloki wczytujące kolejno siłę i przyspieszenie. Należy wskazać ścieżkę dostępu i uruchomić.
Dołączam również brakujące bloki oraz 10 pomiarów, które wcześniej zapisałem.
Zasada obliczenia średniej wygląda tak jak opisałem wcześniej. Należy wskazać ścieżkę dostępu do każdej zapisanej próby, a zmiana liczby pomiarów wymaga zmian w programie co jest bardzo uciążliwe.
Parametry pomiaru należy ustawić następujące:
Częstotliwość próbkowania: 8192 [Hz];
Czas pomiaru: 6
Dołączam również brakujące bloki oraz 10 pomiarów, które wcześniej zapisałem.
Zasada obliczenia średniej wygląda tak jak opisałem wcześniej. Należy wskazać ścieżkę dostępu do każdej zapisanej próby, a zmiana liczby pomiarów wymaga zmian w programie co jest bardzo uciążliwe.
Parametry pomiaru należy ustawić następujące:
Częstotliwość próbkowania: 8192 [Hz];
Czas pomiaru: 6
- Załączniki
-
- Magnitude Cross Power Spectrum.vi
- (19.38 KiB) Pobrany 342 razy
-
- Power Spectrum.vi
- (24.74 KiB) Pobrany 381 razy
-
- suma_10.vi
- (11.83 KiB) Pobrany 357 razy
-
- srenia_FRF.vi
- (847.99 KiB) Pobrany 396 razy
-
- analiza_cz_2.vi
- (292.58 KiB) Pobrany 378 razy
Re: Obliczanie średniej z wielu pomiarów.
Kolejny post ze względu ograniczenia liczby załączników.
- Załączniki
-
- pomiary.rar
- (1.09 MiB) Pobrany 374 razy
-
- Cross Power Spectrum.vi
- (24.3 KiB) Pobrany 354 razy
-
- Posty: 96
- Rejestracja: 20 lut 2012 12:30
- Wersja środowiska: LabVIEW 2014
- Lokalizacja: Katowice / Ruda Śląska
Obliczanie średniej z wielu pomiarów.
Ugh, tak na przyszłość zbierz te wszystkie VIje w projekt i wrzuć do jakiegoś zipa albo rara. Wszystkim będzie prościej i przyjemniej 

- smiga
- Administrator
- Posty: 824
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obliczanie średniej z wielu pomiarów.
Drobna korekta analiza_cz_2.vi z wyskakującym okienkiem i zwykłym guzikiem (zmiana w niebieskim Diagram Disable Structure)
- Załączniki
-
- analiza_cz_2.vi
- (218.98 KiB) Pobrany 353 razy
-
- okienko.vi
- (21.38 KiB) Pobrany 366 razy
Re: Obliczanie średniej z wielu pomiarów.
Przede wszystkim to wielkie dzięki za pomoc. Mam tylko pytanie jak wczytać do struktury CASE wczytać zapisane dane do liczenia średniej. Czy ciągle muszę używać bloczków "Read From Measurement File" czy w inny sposób?
- smiga
- Administrator
- Posty: 824
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obliczanie średniej z wielu pomiarów.
Oczywiście że nie - możesz dane trzymać w rejestrze budując tablicę ... poniżej przykład (gdybyś nie wiedział, to jest VI snippet - zapisujesz obrazek na dysku i wrzucasz na block diagram ... i masz kod narysowany) :