LabVIEWForum.de - Daten mit 100 Hz graphisch darstellen

LabVIEWForum.de

Normale Version: Daten mit 100 Hz graphisch darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Leute,

folgendes Problem:

ich bekomme Daten mit 100 Hz, die ich nicht mitteln darf, sondern genauso darstellen. Nur ist es viel zu schnell, die CPU Auslastung springt auf 80%. Ich denke ich muss, z.B. 10 oder sogar mehr Elemente nehmen und die gleichzeitig aufzeichnen. Wie geht das?

Ich benutze Time Graph und zeige es so an.

[attachment=4187]

Gruss, Eugen
Keiner hat Ideen?
<div align="left">Hallo, Eugen,

ich blicke noch nicht vollkommen bei deinem Programm-Ausschnitt durch.

Ich kann dir erst mal nur von meiner Erfahrung berichten: Ich habe auch Messaufgaben, bei denen ich quasi eine Live-Darstellung der Daten vornehme, auch locker mit mehr als 100 Hz. Bin hier üblicherweise inzwischen bei Prozessorauslastungen im Prozent-Bereich. Allerdings bekomme ich die Daten über eine DAQ-Karte, brauche also zur Aufbereitung und Erfassung keine große Prozessorleistung.

Ich habe das so gelöst, das innerhalb einer While-Schleife die Datenerfassung läuft, die neuen Daten immer an die schon erfassten hinten angehängt werden und dann in den Graphen "live" dargestellt werden. Zeitverzögerung in der While-Schleife bekomme dadurch, dass man ja bei der DAQ-Erfassung immer eine Mindest-Wartezeit eingeben kann, bevor die Karte neue Daten an den Computer schaufelt. So werden nur einige neue "Bilder" angezeigt.

MfG, Jens</div>
Du übergibst aber bestimmt ein grosses Array und alle Punkte werden quasi gleichzeitig dem Graphen zugefügt, erst dann kommt die Aktualisierung. Bei mir muss ich jeden einzelnen Punkt dem Graphen hinzufügen, was ich gerne vermeiden will.

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

was heisst schon großes Array, im Prinzip werden bei ca. 100 Hz immer so ca. 30 Messwerte aufgenommen und an die schon bestehenden Messwerte hinten angehängt. Dann erfolgt das Update des Graphen. Habe also so ca. 3-4 neue Darstellungen pro Sekunde. Langt mir vollkommen.

Was ich bei deinem Problem noch nicht so ganz verstehe (wie gesagt, bin nicht vollkommen bei deinem Programmauschnitt durchgestiegen):
Sind deine Daten alles Messungen einer Messgröße? Wenn ja, wieso mußt du sie auf verschiedene Waveforms aufteilen? Oder ist deine Messfrequenz nicht konstant?

Kannst du nicht irgendwo einen "Puffer" einbauen, den du erst nach 20-30 Werten ausliest und dann zur Anzeige bringst? Das müßte doch möglich sein.

MfG, Jens</div>
' schrieb:<div align="left">
Kannst du nicht irgendwo einen "Puffer" einbauen, den du erst nach 20-30 Werten ausliest und dann zur Anzeige bringst? Das müßte doch möglich sein.
</div>

Ich muss drei Werte in drei Graphen mit einer Zeit darstellen, deshalb die Aufteilung.

Genau das will ich irgendwie machen (ich meine den Puffer einbauen), aber wie?
<div align="left">Hallo, Eugen,

gehe davon aus, dass du noch irgendwo außerhalb deines Screenshots eine Schleife hast. Wie wäre es denn, die Daten in einem Shift-Register zu sammeln, und wenn dieses Shift-Register eine bestimmte Größe erreicht hat, das Register auszulesen und zur Darstellung zu bringen?

MfG, Jens</div>
' schrieb:<div align="left">Hallo, Eugen,

gehe davon aus, dass du noch irgendwo außerhalb deines Screenshots eine Schleife hast. Wie wäre es denn, die Daten in einem Shift-Register zu sammeln, und wenn dieses Shift-Register eine bestimmte Größe erreicht hat, das Register auszulesen und zur Darstellung zu bringen?

MfG, Jens</div>


Ja, sowas in der Art. Nur weiss ich nicht wie ich die Punkte und die dazugehörigen Zeitstempels als ein Array aus z.B. 10 Elementen gleichzeitig übergebe. Wie gesagt ich benutze einen Time Graph. Soll ich vielleicht einen XY-Plot lieber benutzen?

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

jetzt muss ich erst mal zurückfragen, was du mit Time Graph meinst? Ist das ein spezielles Element von LV RT? Da kenn ich mich dann nicht aus.

Habe bisher auch recht selten mit Waveform als Datenspeicher gearbeitet. In der Regel sind meine Messwertabstände äquidistant, somit brauche ich nur den "0-Punkt" und das Delta und eine Daten-Array. Das geht ja dann ganz einfach mit einem Waveform-Graphen, bei Bedarf natürlich auch mit einem XY-Graphen.

MfG, Jens</div>
Ich meine natürlich Waveform Graph. Bei mir sind die Daten nicht äquidistant, deshalb muss ich dt auf 0 lassen und t0 mit jedem Datenpunkt verschieben.

Gruss
Seiten: 1 2 3
Referenz-URLs