Strona 1 z 1

reprezentacja danych na wykresie i zapis do pliku

: 23 paź 2017 20:51
autor: baczurro
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.

Re: reprezentacja danych na wykresie i zapis do pliku

: 24 paź 2017 09:09
autor: micard
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.

Re: reprezentacja danych na wykresie i zapis do pliku

: 27 paź 2017 11:06
autor: spalinowy
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.