Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ich nehme mit einem DAQ Daten auf mit unterschiedlicher Samplerate von 100S/s bis 100 000S/s. Diese Daten würde ich mir gerne anzeigen lassen. Einmal in einen Leerlaufmodus wo immer die letzten 100s zu sehen sind und einmal in einen Datenmodus wo man z.b einstellt eine Messung 10 000s laufen zu lassen und diesen Messverlauf man komplett sehen will. Eine schöne Methode wie man nun diese Daten anzeigen kann habe ich nicht hinbekommen. Mit Schieberegistern zu arbeiten ist z.b bei den 100 000S/s ja nicht sinnvoll aber auch ein Waveform Chart bringt mir nichts.
Als Anhang mal einen noch schlechten Versuch.
Anzeige
24.08.2012, 13:11 (Dieser Beitrag wurde zuletzt bearbeitet: 24.08.2012 13:14 von GerdW.)
du solltest dir erstmal Gedanken machen, was du wirklich darstellen willst: 10000s bei 100kS/s macht 10^9 Werte!
- Du bräuchtest (bei DBL-Darstellung) knapp 8GB RAM zum Speichern der Daten: unrealistisch...
- Wie breit ist dein Bildschirm: wie sinnvoll ist es, 10^9 Wert auf vllt. 1000 Pixel Breite darzustellen?
Quintessenz:
- Gedanken über Datenpufferung machen.
- Gedanken machen, welcher Zeitbereich für die Daten sinnvoll wäre.
- bei variablen Samplerates würde ich einen Graph empfehlen
Zu deinem VI:
Du verwendest einen eigenen Buffer zusammen mit einem Chart. Das ist doppelt gemoppelt! Entweder eigenen Buffer zusammen mit Graph oder Chart ohne extra Buffer...
Also tatsächlich kann eine Messung bis 3000s dauern und 100kS/s sind schon erwünscht. Grundlegend habe ich nun ein Vi hinbekommen was mir die Daten anzeigen kann indem es bei einer langen Messzeit in Intervallen die Daten im Array reduziert.
29.08.2012, 20:01 (Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2012 20:02 von GerdW.)
ich habe dein VI mal aufgeräumt und den unnötigen Ballast entfernt (lokale Variablen/PropertyNodes; BuildArray an Stellen, wo Autoindexing ausreicht; parallele Schleifen; etc.).
Dann habe ich noch eine andere Möglichkeit der Dezimierung eingebaut: die ist noch nicht identisch mit deiner Lösung, soll dir aber zeigen, dass LabVIEW auch für deine Aufgabe fertige Funktionen mitbringt!
P.S.: für deine Dezimier-Schleife würde sich ein subVI anbieten, schließlich rufst du identische Funktionalität dreimal in deinem VI auf...