Rejestrator z pamięcią wykresów

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
ypsilon
Posty: 26
Rejestracja: 11 paź 2004 00:00
Lokalizacja: Śląsk

Rejestrator z pamięcią wykresów

Post autor: ypsilon »

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
bogdani
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

Post autor: bogdani »

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.
Dwa wykresy na XY Graph
Dwa wykresy na XY Graph
bogdani

PS. Pokazanie twojego kodu pozwoli zaproponować odpowiednie rozwiązanie.
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
ypsilon
Posty: 26
Rejestracja: 11 paź 2004 00:00
Lokalizacja: Śląsk

Re: Rejestrator z pamięcią wykresów

Post autor: ypsilon »

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
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Rejestrator z pamięcią wykresów

Post autor: jogurt_owocowy »

Całe rozwiązanie kryje się w obrazku, który pojawia się w okienku pomocy kontekstowej dla XY Graph:
Obrazek

Idąc jego tropem dojdziemy do takiego rozwiązania:
multiple plots on xy graph with memory of previous recent plots.png
multiple plots on xy graph with memory of previous recent plots.png (6.11 KiB) Przejrzano 9821 razy
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
ypsilon
Posty: 26
Rejestracja: 11 paź 2004 00:00
Lokalizacja: Śląsk

Re: Rejestrator z pamięcią wykresów

Post autor: ypsilon »

Witam !

Piszę, myślę, sprawdzam.

Na razie podziękował jak to się mawia w slangu użytkowników CB radia.

Pozdrawiam !
Ypsilon
ypsilon
Posty: 26
Rejestracja: 11 paź 2004 00:00
Lokalizacja: Śląsk

Rejestrator z pamięcią wykresów

Post autor: ypsilon »

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
ypsilon
Posty: 26
Rejestracja: 11 paź 2004 00:00
Lokalizacja: Śląsk

Re: Rejestrator z pamięcią wykresów

Post autor: ypsilon »

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.
Frufel
Posty: 2
Rejestracja: 07 sie 2008 14:26
Wersja środowiska: LabVIEW 2011
Lokalizacja: Gliwice
Kontakt:

Re: Rejestrator z pamięcią wykresów

Post autor: Frufel »

Witam,

Być może przedstawione poniżej rozwiązanie okaże się bardziej pomocne:
Obraz4.png
Sedno rozwiązania tkwi w zastosowaniu bloczka Merge Signals
Na wejściu jest sygnał z karty pomiarowej serii M (globalny kanał wirtualny U_Ch1)
Obraz3.png
Na górnym wykresie jest przebieg z jednego "cyklu pomiarowego" - tutaj 2000 próbek.
Na dolnym wykresie jest skumulowany obraz czterech kolejnych cykli.
Niestety nakładanie kolejnych przebiegów pomiaru na jeden XY graph spowalnia wyświetlanie samej grafiki
Przy takiej ilości próbek dla jakiej to testowałem (pojedyncze tysiące) wyświetla się bez zauważalnego opóźnienia.

Pozdrawiam,
Frufel
ODPOWIEDZ