LabVIEWForum.de - mit Ringbuffer Werte einer Minute speichern

LabVIEWForum.de

Normale Version: mit Ringbuffer Werte einer Minute speichern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo =)

Ich lese über den DAQ-Assistenten Spannungswerte. Dabei möchte ich alle Werte einer Minute in einem Ringbuffer speichern und addieren.
Den Ringbuffer habe ich schon hinbekommen. Jetzt möchte ich noch festlegen, dass der DAQ-Assistent 5 Werte pro Sekunde ausgeben soll. Wenn ich dann die Arraylänge auf 300 Stelle, sollten die Werte für eine Minute ausgegeben werden.
Ich habe versucht das mit einer Case-Struktur zu realisieren.Allerdings weiß ich nicht wie ich überprüfen soll ob das stimmt was ich da programmiert habe.
Könnt ihr mal schauen ?
Wie kann ich es besser/richtig machen ?


LG mikadm
Hallo mikadm,

die Welt wäre ohne diese ganzen ExpressVIs ein viel schönerer Ort…

Schau mal:
[attachment=61201]
Es geht doch viel einfacher…
Ich kann die Snippets irgendwie nicht öffnen... Wenn ich das in ein leeres VI ziehe, dann übernimmt es nur den Link...
Kannst du es vielleicht als Datei hochladen, damit ich das VI runterladen kann ?
Ich habe es nachgebaut, jetzt bekomme ich aber im Array(Ausgang) nur 5 Werte angezeigt, die restlichen sind 0. Wo bleiben die restlichen 255 Werte ?
Hallo mikadm,

Zitat:Ich habe es nachgebaut, jetzt bekomme ich aber im Array(Ausgang) nur 5 Werte angezeigt, die restlichen sind 0. Wo bleiben die restlichen 255 Werte ?
Zeige doch mal, was du nachgebaut hast! (Einfach dein VI anhängen…)
Im Anhang das Vi,

Noch ein Verständnisfrage, warum benötigt man den 2. Quotienten?
Ahhh=) Hab den Fehler gefunden und es auch verstanden !
Danke GerdW für die Hilfe !
Hallo mikadm,

Zitat:Hab den Fehler gefunden und es auch verstanden !
Anhand des VI leider noch nicht: der DAQAssi liefert momentan noch nur "1 Wert auf Anforderung"…

Der DAQAssi liefert zwar die von mir empfohlenen Werte, ist aber falsch gelabelt. Und das ExpressVI danach hast du leider noch falsch konfiguriert…
Hallo nochmal,


Ich möchte mit dem Ringbuffer das Minutenvolumen berechnen. Das heißt Alle Werte einer Minute sollen addiert werden. Die Zeit ist also auschlaggebend und muss genau sein.
Ich habe eben die Zeit gestoppt bis das Array voll ist. Und es braucht über 4 min...

In einem älteren Post habe ich gelesen, dass es folgende Formel gibt: Zeit[s]= zu lesende Werte/Rate.
Zu lesende Werte sollen ja insgesamt 300 sein, Zeit 60s, Rate wäre dann nach der Formel 5. Das geht aber auch nicht auf.
Hallo mikadm,

Zitat:In einem älteren Post habe ich gelesen, dass es folgende Formel gibt: Zeit[s]= zu lesende Werte/Rate.
Zu lesende Werte sollen ja insgesamt 300 sein, Zeit 60s, Rate wäre dann nach der Formel 5. Das geht aber auch nicht auf.
Wieso geht das nicht auf?
Code:
Zeit = Sampleanzahl / Samplerate
60s = 300 Samples / 5S/s
Passt perfekt!

Zitat:Ich möchte mit dem Ringbuffer das Minutenvolumen berechnen. Das heißt Alle Werte einer Minute sollen addiert werden. Die Zeit ist also auschlaggebend und muss genau sein. Ich habe eben die Zeit gestoppt bis das Array voll ist. Und es braucht über 4 min...
Wenn dein VI nicht zu deinen Requirements passt, dann musst du dein VI entsprechend anpassen!

Dummerweise hast du dein VI nicht angehangen, sodass wir keine besseren Kommentare geben können…
Habe den entsprechenden Ausschnitt des VIs angehängt. Allerdings funktioniert es auch nicht in der Testversion.
Seiten: 1 2
Referenz-URLs