reprezentacja danych na wykresie i zapis do pliku

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.
baczurro
Posty: 1
Rejestracja: 23 paź 2017 20:27
Wersja środowiska: LabVIEW 2016

reprezentacja danych na wykresie i zapis do pliku

Post autor: baczurro » 23 paź 2017 20:51

Dobry wieczór.
Jestem prawie kompletnie zielony w kwestii oprogramowania LabVIEW i dlatego bardzo proszę o pomoc. Buduję aplikację, której zadaniem jest zbieranie sygnałów z akcelerometru/-ów, analiza FFt celem wyznaczenia częstotliwości charakterystycznych i prezentacja zarówno zdobytych danych jak i FFt na wykresach. Problem mam taki, iż chciałbym, aby dane z akcelerometrów były kumulowane na wykresie - tzn. w miarę wzrostu liczby próbek schodzących z czujnika dane były do wykresu dodawane dopóty, dopóki rejestracja nie zostanie zatrzymana. Innymi słowy - wykres ma się zaczynać w "0" na osi "x" to 0 ma nie znikać w miarę wzrostu liczby próbek. Przejrzałem zawartość internetu w tej kwestii, ale nie znalazłem nic pomocnego.
Drugim problemem jest zapis do pliku danych z czujnika i tych pochodzących z FFT. Próbowałem użyć "write to measurement file vi" z zapisem LVM i TDMS, ale co np. 1000 próbek zawartość jest dopisywana do pliku mierząc czas od 0, a nie jako kolejne wartości czasu. Czy po tych wyjaśnieniach ktoś z Państwa jest w stanie mi pomóc?
Pozdrawiam.

Awatar użytkownika
micard
Posty: 133
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

Re: reprezentacja danych na wykresie i zapis do pliku

Post autor: micard » 24 paź 2017 09:09

funkcję takiego wyświetlania o jakim piszesz ma Waveform Chart w trybie UpdateMode = stripchart. Niemniej ma on oczywiście ograniczoną ilość danych N którą można wyświetlić [0 - N] przed rozpoczęciem scrollowania [M - M+N]. Wartość tą ustawia się kliknięciem PPM na wykresie i wybranie "Chart history length".

Co do zapisywania do pliku, to write to measurement file vi zapisuje _sygnał_ który za każdym razem będzie miał czas naliczany od 0. Zajrzyj do palety TDMS streaming - tam sa vi których Ci potrzeba. Alternatywnie możesz sam zapisywać do pliku we własnym formacie tekstowym wykorzystując WriteTextFile.vi. Trzeba tylko pamiętać, żeby otwierając plik ustawić kursor na koniec pliku.

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Re: reprezentacja danych na wykresie i zapis do pliku

Post autor: spalinowy » 27 paź 2017 11:06

Nie zalecam ładowania wszystkich danych na wykres. Oczywiście zależy ile ich będzie, ale to zjada zasoby komputera. Jeśli pomiar będzie szybki i będzie długo trwał, to może dojść do zawieszenia kompa ze względu na brak RAMu. Oczywiście to skrajny przypadek.
Tak samo już samo Real Timowy podgląd na wykresie spowoduje wzrost zużycia procesora. Jak sprawdzałem u siebie jaka jest różnica, to gdy oglądałem przebiegi rejestrowanych danych, to procek chodził na 17-25%, a gdy wszystko działo się w tle, to już tylko 3-5%. Działanie w tle można tez rozumieć jako umieszczenie wykresu w jednej z zakładek Tab Control. Nie trzeba go wywalać z aplikacji a jedynie nie patrzeć na niego w danej chwili.

Ale jeśli jednak chcesz wszystko mieć na jednym wykresie, to możesz też zrobić eksport wyników do pliku poprzez kliknięcie na wykresie. Tam są do wyboru różne opcje. Wtedy nie musisz implementować kodu obsługującego zapis.

ODPOWIEDZ