LabVIEWForum.de
Daten mit 100 Hz graphisch darstellen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Daten mit 100 Hz graphisch darstellen (/Thread-Daten-mit-100-Hz-graphisch-darstellen)

Seiten: 1 2 3


Daten mit 100 Hz graphisch darstellen - jg - 30.11.2006 20:40

<div align="left">Hallo, Eugen,

anbei ein ganz einfaches Bsp:

[attachment=4208]

Mit der Wartezeit 10 ms nähere ich mich deinen ca. 100 Hz. Ich hab es jetzt mal der Einfachheit halber als XY-Graph dargestellt. Der Fall "1, Default" in der Case-Struktur macht natürlich nichts.
Gezeigtes Bsp braucht nur wenige Prozent Prozessorlast.

Entferne ich die Case-Struktur, dann liege ich so im Schnitt bei 25% Prozessorlast. Vielleicht lässt sich ja irgendetwas in der Art bei dir einbauen.

MfG, Jens</div>


Daten mit 100 Hz graphisch darstellen - eg - 30.11.2006 23:15

Jens, ich werde es gerne Morgen ausprobieren.

Danke


Daten mit 100 Hz graphisch darstellen - eg - 28.03.2007 11:46

@Jens

das Thema ist zwar schon älter, aber ich wollte nun sagen, dass deine Lösung mir gepasst hat. Jetzt mache ich alles so, wie du es gezeigt hast. Ich benutze nie mehr Waveform Chart oder Graph, sondern überall nur XY-Plot. Alles andere sind nur abgespeckte Derivate des XY-Plots.

Danke noch, Eugen


Daten mit 100 Hz graphisch darstellen - jg - 28.03.2007 15:05

Hallo, Eugen,

danke für das Lob.Big Grin

MfG, Jens


Daten mit 100 Hz graphisch darstellen - IchSelbst - 25.05.2007 10:29

' schrieb:Ich benutze nie mehr Waveform Chart oder Graph, sondern überall nur XY-Plot. Alles andere sind nur abgespeckte Derivate des XY-Plots.
Kommend von jenem Thread kann ich mir folgenden Kommentar zu diesem Thread hier nicht verkneifen:

Man bin ich froh, dass ich schon immer XY-Plots benutzt habe und noch nie Waveforms respektive deren Charts. Gerade diese Woche, also heute, wollte ich eine Waveform machen - weil ich halt gedacht habe, das geht einfacher. Aber dank dem Guru hier - Dank an den Guru Tongue- lass ich das doch gleich wieder bleiben und bleibe bei meiner bisherigen Methode: DAQmx Lesen was da ist, Aufsummieren auf Array, Anzeigen in 20Hz am Graph. Warum was ändern, was vollkommen ausreichend ist. Punkt.


Daten mit 100 Hz graphisch darstellen - bappel - 29.05.2007 15:24

' schrieb:Kommend von jenem Thread kann ich mir folgenden Kommentar zu diesem Thread hier nicht verkneifen:

Man bin ich froh, dass ich schon immer XY-Plots benutzt habe und noch nie Waveforms respektive deren Charts. Gerade diese Woche, also heute, wollte ich eine Waveform machen - weil ich halt gedacht habe, das geht einfacher. Aber dank dem Guru hier - Dank an den Guru Tongue- lass ich das doch gleich wieder bleiben und bleibe bei meiner bisherigen Methode: DAQmx Lesen was da ist, Aufsummieren auf Array, Anzeigen in 20Hz am Graph. Warum was ändern, was vollkommen ausreichend ist. Punkt.

NEVER CHANGE A RUNNING SYSTEM Big Grin


Daten mit 100 Hz graphisch darstellen - Lucki - 01.09.2007 14:36

' schrieb:Ich benutze nie mehr Waveform Chart oder Graph, sondern überall nur XY-Plot. Alles andere sind nur abgespeckte Derivate des XY-Plots.
Von Abspeckung kann hier wohl keine Rede sein. Das Signalverlaufsdiagramm hat als einziges Diagramm einen Ringpuffer eingebaut und ist deshalb prädestiniert für Realtime-Updating von Messwerten. Außerdem hat nur das Signalverlaufsfdiagramm die Möglichkeit von Stapelplots. Auch brauchen die x-Werte, wenn man jeden Messwert mit einem eigenen Zeitstempel versieht, ähnlich dem XY-Diagramm nicht äquidistant zu sein.
Eine Einschränkung gibt es allerdings bei Deinem Problem: Wenn man mehrere hintereinander aufgenommene Messwerte gleichzeitig übergibt, um zu häufiges Updaten zu vermeiden, dann müssen diese Werte äquidistant sein, d.h es muß ein gültiges dt geben.
Anbei Beispiel

(VI LV 8.0)


Daten mit 100 Hz graphisch darstellen - eg - 01.09.2007 17:26

' schrieb:Von Abspeckung kann hier wohl keine Rede sein. Das Signalverlaufsdiagramm hat als einziges Diagramm einen Ringpuffer eingebaut und ist deshalb prädestiniert für Realtime-Updating von Messwerten. Außerdem hat nur das Signalverlaufsfdiagramm die Möglichkeit von Stapelplots. Auch brauchen die x-Werte, wenn man jeden Messwert mit einem eigenen Zeitstempel versieht, ähnlich dem XY-Diagramm nicht äquidistant zu sein.
Eine Einschränkung gibt es allerdings bei Deinem Problem: Wenn man mehrere hintereinander aufgenommene Messwerte gleichzeitig übergibt, um zu häufiges Updaten zu vermeiden, dann müssen diese Werte äquidistant sein, d.h es muß ein gültiges dt geben.
Anbei Beispiel


Also seit dem ich den XY-Plot benutze, habe ich gar keine Probleme mit CPU-Auslastung bei beliebigen Frequenzen. Es scheint mir im Vergleich zu anderen Darstellungsmöglichkeiten ziemlich einfach zu sein. Ausserdem müssen meine Daten gar nicht äquidistant zu sein, ich brauche ledigleich entweder die feste Frequenz (+ Sicherstellung, dass jeder Sample ankommt) oder einen Sample-Counter bzw. Zeitstempel. Damit ist alles erschlagen.

P.S. @Lucki, hast du eigentlich geschaut wieviel CPU dein Beispiel frisst? Trotzdem Danke für deine Mühe.

eg


Daten mit 100 Hz graphisch darstellen - eg - 01.09.2007 17:53

Also so wie im Anhang mache ich es jetzt. Wie gesagt, keine Probleme mit CPU auch bei höheren Samplefrequenzen und es wird wirklich jeder Sample dargestellt.

Viel Spass.

eg

(VI LV 7.1)


Daten mit 100 Hz graphisch darstellen - Lucki - 02.09.2007 07:48

' schrieb:P.S. @Lucki, hast du eigentlich geschaut wieviel CPU dein Beispiel frisst? Trotzdem Danke für deine Mühe.
Habs jetzt mal verglichen, die ist bei mir unter der Bedingung gleicher Samplerate deutlich geringer. Das liegt aber nicht an den unterschiedlichen Diagrammen, sondern an etwas anderen:
Du verwendest für das einsammeln der Werte im Shiftregister die Funktion "Array erstellen". Dabei ist jede für jedes neu hinzukommende Element eine aufwändige Reorganisation des Speichers erforderlich. (Das wird zwar meistens so gemacht, es gehört aber, wenn es auf die Ausführungsgeschwindigkeit ankommt, zu den Lehrbeipielen, wie man es nicht machen darf). Besser ist, das Shiftregister mit der maximalen Größe (Statt mit einem leeren Array) zu initialisieren und in der Schleife die Funktion "Element ersetzen" zu verwenden. (Wenn man die maximale Größe vorher nicht weiß. dann mit einem ausreichend hohen Wert initialisieren und später die nicht benutzten Werte wegschneiden)