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 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 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>
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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.
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>
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' 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?
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>
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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?
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>
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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.