LabVIEWForum.de - Kontinuierliche Daten als Graph darstellen

LabVIEWForum.de

Normale Version: Kontinuierliche Daten als Graph darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hi, Ich hoffe ich bin hier im richtigen Bereich.

Ich habe folgendes Problem:

Ich bekomme Daten über das PCAN USB modul in mein LabView Programm.
Nun möchte ich diese Daten graphisch aufzeichnen.

Im speziellen sind es Spannungswerte von einer Hardware, und ich möchte den Verlauf dieser Spannungswerte graphisch darstellen. Z.B.: Das alle 2 sekunden ein neuer Wert zum Graph dazu kommt.

Ich denke mir, dass man das über ein Array realisieren kann, bei dem über einen Timer alle 2 sekunden der Wert vom CAN-Bus genommen wird und zum Array hinzugefügt wird. Nur habe ich es nicht geschaft das zu verwirklichen.

Wäre super wenn mit wer helfen könnte!

Danke und mfg Michael
Hallo Michael,

die simpelste Lösung könnte so aussehen:
[attachment=40651]
(11.07.2012 14:40 )GerdW schrieb: [ -> ]Hallo Michael,

die simpelste Lösung könnte so aussehen:

Danke für die schnelle Antwort!

Könntest du mir erklären was das Programm genau macht?

Soviel ich sehe löst du die Sache mit Build Array und einem Schieberegister. Aber ganz blicke ich nicht durch.

Und wie funktioniert das mit der while-Schleife und den 2000ms? Macht er die Schleife dann nur alle 2000ms?

Danke für die Antwort.

mfg Michael
Hallo Michael,

dein Wunsch war:
Zitat:Ich denke mir, dass man das über ein Array realisieren kann, bei dem über einen Timer alle 2 sekunden der Wert vom CAN-Bus genommen wird und zum Array hinzugefügt wird.
Genau das macht das Simpel-Beispiel.
Alle weiteren Erklärungen im Link in meiner Signatur. Etwas eigene Einarbeitung in LabVIEW setze ich schon voraus...
Also die simpleste Lösung wäre hier, schlicht und einfach das Signalverlaufsdiagramm zu verwenden, denn das hat den Datenspeicher schon mit eingebaut und wurde für genau deinen Anwendungsfall erfunden. (Mit rechter Maustaste kann man die Historienlänge festlegen, es handelt sich hier um einen Ringpuffer, der nie überlaufen kann).
[attachment=40664]
Kannst ja noch einen Timer in die Schleife tun, wenn Du dir die 200s Zeit fürs Ablaufen in Echtzeit antun willst.
Wenn die Zeitstände zwischen 2 Messpunkten nicht immer konstant sind, oder die Echtzeit auf der X-Achse stehen soll, melde Dich noch mal.
Danke für die Antworten. Habe das Problem so weit gelöst. Das einzigstee Problem ist, dass ma das Zeitintervall in dem die Daten kommen genau wissen muss, damit das Diagramm stimmt....
(12.07.2012 11:08 )muchh schrieb: [ -> ]Das einzigstee Problem ist, dass ma das Zeitintervall in dem die Daten kommen genau wissen muss, damit das Diagramm stimmt....
Hast Du Probleme mit dem Lesen von Texten? Genau deswegen hatte ich ja gefragt, und nichtsdestotrotz gehst Du davon aus, dass das Problem nicht lösber ist bzw. Dir hier nicht befriedigend geholfen wurde. Nun, dann sei es eben so...
(12.07.2012 08:52 )Lucki schrieb: [ -> ]Wenn die Zeitstände zwischen 2 Messpunkten nicht immer konstant sind, oder die Echtzeit auf der X-Achse stehen soll, melde Dich noch mal.

Mir ist hier bereits sehr viel geholfen worden. Danke dafür.
Sorry, dass unter dem Bild habe ich überlesen...

Es werden alle 2s Daten vom CAN-Bus empfangen. Nur 2 sekunden sind eben nicht 2 Sekunden und nach längerer Zeit driften realität und Zeitachse des Graphen auseinander.

Ich habe noch ein weiteres problem. Ich wollte zwei arrays, die ich sogebildet habe wie ihr es mir beschrieben habts mit Build Array zu einem 2D Array zusammenfügen, um 2 Plots in einem Graph darzustellen. Nur leider bleibt mein array ständig 1 Dimensional, da das zweite array nur zum ersten am ende hinzugefügt wurde...

mfg
Hallo Michael,

Zitat:2 sekunden sind eben nicht 2 Sekunden
2s sind eben doch 2s! Smile Immer und überall, es sei denn, du bewegst dich sehr schnell um deinen Computer herum...

Zitat:Nur leider bleibt mein array ständig 1 Dimensional,
Ein Bild würde mehr als 1000Worte sagen. So kann man nur raten: Rechtklick auf BuildArray -> "Eingänge verknüpfen" ausschalten... (Oder ist das ein "educated guess"?)
(12.07.2012 13:06 )GerdW schrieb: [ -> ]Hallo Michael,

Zitat:2 sekunden sind eben nicht 2 Sekunden
2s sind eben doch 2s! Smile Immer und überall, es sei denn, du bewegst dich sehr schnell um deinen Computer herum...

Zitat:Nur leider bleibt mein array ständig 1 Dimensional,
Ein Bild würde mehr als 1000Worte sagen. So kann man nur raten: Rechtklick auf BuildArray -> "Eingänge verknüpfen" ausschalten... (Oder ist das ein "educated guess"?)

Danke du hast richtig geraten Smile
Er hat tatsächlich die Eingänge verknüpft.

Mit "2s sind eben nicht 2s" meine ich dass ich am Sender 2s Sendeintervall habe. Aber durch das verarbeiten in Labview werden noch mal ein Paar ms dazukommen schätze ich ...

mfg
Seiten: 1 2
Referenz-URLs