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 Lese Daten ein und möchte Life Veränderungen direkt sehen können. Wenn ich nun die Abtastrate (rate) des DAQmx Timing nach oben schraube wächst der Berg abzuarbeitender Daten und die aktualisierung dauert immer länger. Life ist da nix mehr.
Ich hab gesehen, dass das DAQmx Lesen die Daten in eine dll speichert und von dort weiterverarbeitet.
Frage:
kommt man irgendwie an die Daten ran, dass man z.B. sagen könnte: ändert sich der Wert zum voherigen um 20% leere die dll und nimm die neuen Messwerte.
Wieso schaft mein Pc das eigentlich nicht. Bei einer Abtastrate von z.B 60 000 ist der schon ganz schön hinten drann. Aber was sind schon 60 000 rechenoperationen in der Sekunde für einen modernen Pc ?? Da schüttet Lv doch Honig über den Rechner. Kann man da was optimieren ?
Anzeige
10.08.2010, 16:49 (Dieser Beitrag wurde zuletzt bearbeitet: 10.08.2010 16:50 von jg.)
' schrieb:Ich hab gesehen, dass das DAQmx Lesen die Daten in eine dll speichert und von dort weiterverarbeitet.
Frage:
kommt man irgendwie an die Daten ran, dass man z.B. sagen könnte: ändert sich der Wert zum voherigen um 20% leere die dll und nimm die neuen Messwerte.
Einfach alles lesen und wegschmeißen.
Zitat:Wieso schaft mein Pc das eigentlich nicht.
Zwei Möglichkeiten. Eine unwahrscheinliche: Der PC ist zu langsam. Eine wahrscheinliche: Das Programm ist nicht optimal strukturiert.
Zitat:Bei einer Abtastrate von z.B 60 000 ist der schon ganz schön hinten drann.
Was heißt das? 60kHz? Das ist zwar viel, aber zu machen.
Zitat:Aber was sind schon 60 000 rechenoperationen in der Sekunde für einen modernen Pc ??
Das sind nicht viel.
Nur: ArrayErstellen, Mittelwert berechnen, kontinuierliche Bildschirmausgabe und kontinuierliche Dateiausgabe sind eher 60.000^60.000 Operationen anstelle von 60 000.
Ich rate zu folgenden Vorgehen: Eine Einlesetask machen, die alle 250ms einen Satz Daten per Queue weiterleitet. Eine Hauptschleife arbeitet diese Queue ab: Anzeige und Speichern.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
11.08.2010, 07:58 (Dieser Beitrag wurde zuletzt bearbeitet: 11.08.2010 08:01 von jg.)
-Änderst du während der Messung deine Einstellungen für Verstärkung etc.? Wenn nein, dann kann das vor die While-Schleife.
-Array quadrieren und dann Wurzelziehen, da kannst du auch Absolutbetrag nehmen, geht schneller.
-Dann holst du dir in deiner While-Schleife immer ein Paket von 100 Datenpunkten (schon mal gut), am Ende geht in deine Datenspeicherung und in deinen MW immer nur der erste Wert des Pakets ein. Da kannst du gleich deine Daten mit einem Faktor 100 kleiner erfassen.
-Ganz schlecht für eine schnelle Schleife ist das Schreiben der Daten auf die Festplatte, vor allem mit dem WriteToSpreadsheet-VI. Das hat einen Riesenoverhead, vor allem öffnet und schließt es bei jedem Aufruf den File. Wenn schon in derselben Schleife, dann mit einem File-Open VOR der Loop, dann nur noch die normalen Write To Text File VIs, und CloseFile nach der Loop.
Besser ist Trennung von DAQ und Schreiben in File, wie IchSelbst schon sagt.
Gruß, Jens
' schrieb:p.s. ähh diesmal hab ich meinen kleinen Fehler doch umgangen
Danke für eure Vorschläge, ich werd das gleich versuchen umzusetzen.
Ich hatte das write to spreadsheet auch mal außerhalb der Schleife. Das problem war nur, dass dann der Zeitstempel nicht mehr gestimmt hat. so habe ich zu jedem Wert seinen Erfassungszeitpunkt.
Aber ich werden dass mit vorher öffnen und nachher schließen ausprobieren. Das hört sich gut an.
Jetzt bin ich trippel verwirrt
Ich glaub wir sehen unterschiedliche Überschriften
ich hab auch einen Weg gefunden das ganze richtung LIVE ( ) zu kriegen.
Vorher hab ich bei der Punkt für Punkt Mittelwertsbildung 1000 Werte reingenommen. Das waren einfach zu viele. Mit 3 reagiert der Mittelwert jetzt wesentlich schneller. Aber leider immernoch nicht das non plus Ultra :-(
Gruß Nick
11.08.2010, 16:53 (Dieser Beitrag wurde zuletzt bearbeitet: 11.08.2010 16:57 von nick.)
Ah, man muss die richtige Anzahl der Sampels pro Kanal zur Rate finden.
Stimmt das Verhältniss ergibt sich eine gut Live Darstellung.
Aber Achtung bei hocher Anzahl der Samples pro Kanal steigt auch die Datenflut, besser Datenzunami
Ich hab mal eine kleine Tabelle aufgestellt mit Abstimmungen die gut funktionieren. Es ist nämlich nicht Lineares Verhalten: