Rejestrator z pamięcią wykresów
Rejestrator z pamięcią wykresów
Witam Kolegów !
Swego czasu do rejestracji sygnałów używało się rejestratorów analogowych w których pisak zapisywał sygnał na przesuwającej się taśmie papierowej. Miały one bardzo przydatny tryb pracy gdzie taśma stała, a pisak przesuwał się niby podstawa czasu w oscyloskopie rysując sygnał w tym samym miejscu o ile oczywiście się on nie zmieniał. Jeśli się zmieniał to powstawała rodzina wykresów na papierze z której wiele można było powiedzieć o charakterze sygnału w czasie tego przemiatania.
Pytanie:
Próbkuję sobie sygnał np przez 30 sekund i wrzucam na XY, ale następne próbkowanie oczywiście kasuje poprzedni wykres. Jak zatem na jednym XY dopisywać kolejne przebiegi tak, aby poprzednie nie znikały po przejściu pętli programu? Najlepiej jeszcze by było aby każdy rysował się w innym kolorze...
Pozdrawiam
Ypsilon
Swego czasu do rejestracji sygnałów używało się rejestratorów analogowych w których pisak zapisywał sygnał na przesuwającej się taśmie papierowej. Miały one bardzo przydatny tryb pracy gdzie taśma stała, a pisak przesuwał się niby podstawa czasu w oscyloskopie rysując sygnał w tym samym miejscu o ile oczywiście się on nie zmieniał. Jeśli się zmieniał to powstawała rodzina wykresów na papierze z której wiele można było powiedzieć o charakterze sygnału w czasie tego przemiatania.
Pytanie:
Próbkuję sobie sygnał np przez 30 sekund i wrzucam na XY, ale następne próbkowanie oczywiście kasuje poprzedni wykres. Jak zatem na jednym XY dopisywać kolejne przebiegi tak, aby poprzednie nie znikały po przejściu pętli programu? Najlepiej jeszcze by było aby każdy rysował się w innym kolorze...
Pozdrawiam
Ypsilon
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: Rejestrator z pamięcią wykresów
Witaj
Wystarczy że zbudujesz sobie tablicę, z klastrów danych które doprowadzasz do kontrolki wykresu.
Nie wiem jak wygląda twoja aplikacja, ale to poniżej wyświetla dwa wykresy bez problemu.
bogdani
PS. Pokazanie twojego kodu pozwoli zaproponować odpowiednie rozwiązanie.
Wystarczy że zbudujesz sobie tablicę, z klastrów danych które doprowadzasz do kontrolki wykresu.
Nie wiem jak wygląda twoja aplikacja, ale to poniżej wyświetla dwa wykresy bez problemu.
bogdani
PS. Pokazanie twojego kodu pozwoli zaproponować odpowiednie rozwiązanie.
Re: Rejestrator z pamięcią wykresów
Witam ponownie !
To najprawdziwsza prawda na tym przykładzie, ale te wykresy rysują się JEDNOCZEŚNIE w tym samym czasie. Przykład to prosta wizualizacja kilku np kanałów pomiarowych w jednym czasie. To nie to.
W moim rozwiązaniu jest jeden kanał pomiarowy. Sygnał z pomiaru jest odczytywany przez te przykładowe 30 sekund i wrzucany do wykresu. Graph pamięta go i wyświetla cały czas po zakończeniu akwizycji dowolny czas o ile oczywiście działa program. Następnie znowu uruchamiam odczyt sygnału na kolejne 30 sek i po zakończeniu tego pomiaru jest on wyświetlany jak o drugi na pierwszym itd. Powstaje więc na jednym XY rodzina wykresów każdy dla swojego pomiaru, a same pomiary są przeprowadzane np co kilkadziesiąt min.
Coś jak oscyloskop z pamięcią pojedynczych przebiegów tyle że tu wykresów jest tyle na jednym XY ile było pomiarów.
Ypsilon
To najprawdziwsza prawda na tym przykładzie, ale te wykresy rysują się JEDNOCZEŚNIE w tym samym czasie. Przykład to prosta wizualizacja kilku np kanałów pomiarowych w jednym czasie. To nie to.
W moim rozwiązaniu jest jeden kanał pomiarowy. Sygnał z pomiaru jest odczytywany przez te przykładowe 30 sekund i wrzucany do wykresu. Graph pamięta go i wyświetla cały czas po zakończeniu akwizycji dowolny czas o ile oczywiście działa program. Następnie znowu uruchamiam odczyt sygnału na kolejne 30 sek i po zakończeniu tego pomiaru jest on wyświetlany jak o drugi na pierwszym itd. Powstaje więc na jednym XY rodzina wykresów każdy dla swojego pomiaru, a same pomiary są przeprowadzane np co kilkadziesiąt min.
Coś jak oscyloskop z pamięcią pojedynczych przebiegów tyle że tu wykresów jest tyle na jednym XY ile było pomiarów.
Ypsilon
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Rejestrator z pamięcią wykresów
Całe rozwiązanie kryje się w obrazku, który pojawia się w okienku pomocy kontekstowej dla XY Graph:
Idąc jego tropem dojdziemy do takiego rozwiązania: O to chodzi?
Idąc jego tropem dojdziemy do takiego rozwiązania: O to chodzi?
- Załączniki
-
- multiple plots on xy graph with memory of previous recent plots.vi
- LV 8.6
- (12.58 KiB) Pobrany 418 razy
Re: Rejestrator z pamięcią wykresów
Witam !
Piszę, myślę, sprawdzam.
Na razie podziękował jak to się mawia w slangu użytkowników CB radia.
Pozdrawiam !
Ypsilon
Piszę, myślę, sprawdzam.
Na razie podziękował jak to się mawia w slangu użytkowników CB radia.
Pozdrawiam !
Ypsilon
Rejestrator z pamięcią wykresów
Witam ponownie !
Rzeczywiście przykład jest dobry - działa wyśmienicie, ale jako przykład gdzie zadajnikiem sygnału jest generator sinus.
W rzeczywistości jak wrzucę do wewnętrznej pętli bloczek do akwizycji sygnału z karty pierwszy przebieg jest ok i ma np 2000 punktów pomiarowych. Następne jednak rysują się coraz wolniej mimo że mają po te same 2000 punktów i są przesunięte w fazie coraz bliżej początku wykresu. Wygląda na to, że pętle wykonują się coraz wolniej.
Po restarcie programu znowu pierwsza pętla idzie dobrze, następne coraz wolniej. Czy można pamiętać i wyświetlać dane do wykresów poza pętlami ?
Pozdrawiam
YPSILON
Rzeczywiście przykład jest dobry - działa wyśmienicie, ale jako przykład gdzie zadajnikiem sygnału jest generator sinus.
W rzeczywistości jak wrzucę do wewnętrznej pętli bloczek do akwizycji sygnału z karty pierwszy przebieg jest ok i ma np 2000 punktów pomiarowych. Następne jednak rysują się coraz wolniej mimo że mają po te same 2000 punktów i są przesunięte w fazie coraz bliżej początku wykresu. Wygląda na to, że pętle wykonują się coraz wolniej.
Po restarcie programu znowu pierwsza pętla idzie dobrze, następne coraz wolniej. Czy można pamiętać i wyświetlać dane do wykresów poza pętlami ?
Pozdrawiam
YPSILON
Re: Rejestrator z pamięcią wykresów
Witam Kolegów
Niestety nakładanie kolejnych przebiegów pomiaru na jeden XY graph spowalnia wyświetlanie samej grafiki... Tablica danych do wyświetlania rośnie do ogromnych rozmiarów po przejściu każdej pętli.
Odpowiadam sam sobie gdyż ta informacja może się komuś przyda.
Pozostaje pamiętanie danych do wyświetlania poza pętlą. Ewentualnie nakładanie tylko do 3 - 4 na jeden XY graph.
Niestety nakładanie kolejnych przebiegów pomiaru na jeden XY graph spowalnia wyświetlanie samej grafiki... Tablica danych do wyświetlania rośnie do ogromnych rozmiarów po przejściu każdej pętli.
Odpowiadam sam sobie gdyż ta informacja może się komuś przyda.
Pozostaje pamiętanie danych do wyświetlania poza pętlą. Ewentualnie nakładanie tylko do 3 - 4 na jeden XY graph.
-
- Posty: 2
- Rejestracja: 07 sie 2008 14:26
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Gliwice
- Kontakt:
Re: Rejestrator z pamięcią wykresów
Witam,
Być może przedstawione poniżej rozwiązanie okaże się bardziej pomocne:
Sedno rozwiązania tkwi w zastosowaniu bloczka Merge Signals
Na wejściu jest sygnał z karty pomiarowej serii M (globalny kanał wirtualny U_Ch1)
Na górnym wykresie jest przebieg z jednego "cyklu pomiarowego" - tutaj 2000 próbek.
Na dolnym wykresie jest skumulowany obraz czterech kolejnych cykli.
Pozdrawiam,
Frufel
Być może przedstawione poniżej rozwiązanie okaże się bardziej pomocne:
Sedno rozwiązania tkwi w zastosowaniu bloczka Merge Signals
Na wejściu jest sygnał z karty pomiarowej serii M (globalny kanał wirtualny U_Ch1)
Na górnym wykresie jest przebieg z jednego "cyklu pomiarowego" - tutaj 2000 próbek.
Na dolnym wykresie jest skumulowany obraz czterech kolejnych cykli.
Przy takiej ilości próbek dla jakiej to testowałem (pojedyncze tysiące) wyświetla się bez zauważalnego opóźnienia.Niestety nakładanie kolejnych przebiegów pomiaru na jeden XY graph spowalnia wyświetlanie samej grafiki
Pozdrawiam,
Frufel