Analoges Signal analysieren und Messwert speichern. - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Analoges Signal analysieren und Messwert speichern. (/Thread-Analoges-Signal-analysieren-und-Messwert-speichern) |
Analoges Signal analysieren und Messwert speichern. - Meister Eder - 09.01.2014 23:02 Hallo, kurz vorne weg: Ich bin Lab-View Anfänger und möchte es gerne anhand eines kleinen Projekts lernen. Ich benutze Version 2009 mit einer USB-6211 Messbox. nachdem ich hier wie ein verrückter das Forum durchstöbert habe und an meinem VI alles mögliche ausprobiert habe, um den Fehler zu beheben, stelle ich mein Problem doch lieber mal konkret vor: Ich möchte verschiedene "Geräuschpegel" aufzeichnen und deren Amplitude und Effektivwert des Signals in Excel abspeichern. Ziel ist es sagen wir mal 10 verschiedene Pegel zu messen und diese zusammen in eine Datei zu speichern. D. h. nach dem Start des VI soll nochmal die Aufzeichung der gerade laufenden Messung mit Start und Stop zu schalten sein. Später möchte ich einen dieser die aufgezeichneten Werte auswählen und mit dem aus einer gerade laufenden Messung vergleichen. Um das ganze einfach zu halten, soll bei dem Vergleich nur festgestellt werden, ob z.B. der Ueff der aktuellen Messung größer ist als der gewählte Tabellenwert. Soweit zum Hintergrund des kleinen Projekts. Momentan habe ich versucht den DAQ durch Programmfragmente zu ersetzen. Leider ist mir dies noch nicht gelungen Was mache ich falsch? Es scheint am Schleifendurchlauf zu liegen. Ich verstehe die Fehlermeldung aber Trotzdem nicht so ganz: "Attempted to read samples that are no longer available. The requested sample was previously available, but has since been overwritten." Mit dem DAQ hat bei gleichen Einstellungen alles wunderbar funktioniert. Anbei mein VI Die Anzeige des Powerspektrum habe ich nur mal so dazugewurschtelt Ich will versuchen nach und nach die Express-VIs zu ersetzten. Freue mich sehr über etwaige Hilfe. Gruß Adrian RE: Analoges Signal analysieren und Messwert speichern. - jg - 10.01.2014 00:01 Stell mal um auf: 1) Sample Mode Continous 2) und bei DAQmx Read auf "1 Channel N Samples" [attachment=47966] Gruß, Jens RE: Analoges Signal analysieren und Messwert speichern. - Meister Eder - 10.01.2014 18:02 Hi Jens, danke für deine schnelle Antwort. Das mit dem N Samples macht natürlich Sinn. Die Einstellung sollte auch auf contineous samples sein. Der Fehler besteht dennoch VG Adrian RE: Analoges Signal analysieren und Messwert speichern. - GerdW - 10.01.2014 20:59 Hi Adrian, setze doch mal beim DAQmxRead die Anzahl der zu lesenden Samples auf 1000 (=1/10 der Samplerate). Dann sollte die Schleife mit 10Hz iterieren, dies ist ein üblicher/empfohlener Wert... RE: Analoges Signal analysieren und Messwert speichern. - Meister Eder - 11.01.2014 00:24 Hi Gerd, danke für den Hinweis. Ich probere es morgen oder montag gleich mal aus. Nun habe ich das ganze mal umgebaut und versucht die anderen Express-VIs loszuwerden. Hat auch an und für sich ganz gut geklappt, bis auf ein paar Kleinigkeiten. Ich bekomme den unschönen offset meines Signals nicht los. Mein micro gibt einen kontinuierlichen Spannungswert von ca. 3,1V aus. Es ist kein passives Element, sondern so ein kleines Ding mit 5V Spannungsversorgzung und einem OP dahinter. Der ist irgendwie total übersteuert oder so. Auf weitere Tips und Hilfe freue ich mich immer! Ein schönes WE wünsche ich RE: Analoges Signal analysieren und Messwert speichern. - Meister Eder - 14.01.2014 00:06 Hallo, hat leider nicht wirklich geklappt. Wenn ich die DAQ mit dem Assistenten mache funkjtioniert es. habe dabei eigtl. immer die gleichen Einstellungen verwendet Der Fehler wird immer durch das "read-Vi" ausgespuckt. Ich habe mich nun doch mal mit der Speicherung der Messwerte befasst. Ich möchte alle Peak-Werte von dem Signal mit ihrem zugehörigen Zeitwert in ein array schreiben. Danach will ich den größten gemessenen Wert aus dem array ermitteln und in eine Datei speichern. Kann mir jmd. sagen, ob ich mit meinem bisherigen Lösungsweg so halbwegs richtig liege oder das der völlige Holzweg ist. Das Problem ist, dass ich nicht wirklich weiß wann ich die Daten in das array schreiben soll. Und wie am besten. Nach der Schleife oder besser in der Schleife? Ich glaube, dass die Werte nach dem letzten Schleifendurchlauf nicht mehr verfügbar sind oder? Freu mich über jede Hilfe! VG Adrian RE: Analoges Signal analysieren und Messwert speichern. - GerdW - 14.01.2014 09:04 Hallo Eder, Zitat:Kann mir jmd. sagen, ob ich mit meinem bisherigen Lösungsweg so halbwegs richtig liege oder das der völlige Holzweg ist.Mal überlegen: du sammelst Angaben zu "Dauer der Waveform" und "Amplitude der Waveform" (nach Filterung) in einem Array. Was hat das mit "alle Peaks und deren Zeitpunkt" zu tun? Zitat:Das Problem ist, dass ich nicht wirklich weiß wann ich die Daten in das array schreiben soll.Ich würde sie ins Array schreiben, wenn ich sie bestimmt habe... Zitat:Und wie am besten.BuildArray ist da schon passend. Ob man nun Zeitpunkte und Peak-Werte im gleichen Array sammelt, sei dahingestellt... Zitat:Nach der Schleife oder besser in der Schleife?Du bestimmst die Werte in der Schleife. Warum also erst nach der Schleife ins Array eintragen? Zitat:Ich glaube, dass die Werte nach dem letzten Schleifendurchlauf nicht mehr verfügbar sind oder?Wieso glaubst du das? Hast du dafür Erfahrungswerte? Oder bist du einfach zu faul, das mal zu testen? RE: Analoges Signal analysieren und Messwert speichern. - Meister Eder - 14.01.2014 17:33 Hallo Gerd, Zitat:Mal überlegen: du sammelst Angaben zu "Dauer der Waveform" und "Amplitude der Waveform" (nach Filterung) in einem Array. Was hat das mit "alle Peaks und deren Zeitpunkt" zu tun? Entschuldige, war nicht sauber ausgedrückt. Ich will einfach die Amplitudenwerte der Waveform mit ihren Zeitwerten haben. Sprich: Wann war der Signalausschlag, während der Aufnahme am stärksten. Passt doch oder...laut Ergebnis siehts gut aus. Zitat:Ich würde sie ins Array schreiben, wenn ich sie bestimmt habe... Habe ich mal gemacht. Ist aber noch nicht wirklich schön sortiert bei der Ausgabe in Datei. Weiß noch nicht wie :/ Brauche da schon ein 2D array oder... Zitat:Nach der Schleife oder besser in der Schleife?Wenn ich die Werte in der Schleife ins Array schreibe, dann habe ich laut meiner Beschränktheit mit einer Schleifenfreuquenz (dt = 0,0001) 10k Messwerte die Sekunde. Das komische ist, dass ich doch nur 10 Messwerte/ S bekomme. Das will ich auch, nur weiß ich gerade nicht wie ich das angestellt habe Die Schleife muss ja so schnell sausen, wegen meiner Auflösung + Filterkriterium. Verstehe ich auch nicht wirklich, da ich doch pro Schleifendurchlauf, also pro Sample die Auflösung mit 1k (Anzahl der samples) definiert habe. Zitat:Wieso glaubst du das? Hast du dafür Erfahrungswerte? Oder bist du einfach zu faul, das mal zu testen?Ich weiß es, weil ich das getestet habe Zumindest hat es mit einer Aufnahme der Werte in ein Array nach der Schleife (Messung) nicht mehr funktioniert. Kann auch aufgrund mangelnder LabView Kenntnisse passiert sein. Klingt nur logisch, denn wo sollen die Messwerte nach der Messung wohl "zwischengespeichert" sein VG und Danke Adrian |