LabVIEWForum.de - Messwertspeicherung der letzten X Minuten einer Aufzeichnung

LabVIEWForum.de

Normale Version: Messwertspeicherung der letzten X Minuten einer Aufzeichnung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
in meinem Labview 15 Programm geht es darum einen Prüfstand zu überwachen und die letzten X Minuten der Überwachung aufzuzeichnen.
Zur Zeit mache ich es so, dass ich aus einer while-schleife, die die Messwerte generiert eine Queue in eine zweite while-Schleife, die die Messwerte abspeichert, laufen lasse und
über die Periodendauer der "Speicher-Schleife" die Speicherdauer steuere.

Das Problem:
nach dem Abschalten, des Prüfstandes muss man noch die X Minuten, die die Speicher-Schleife braucht warten, bis das Programm endet und das ist
mir zu lästig. Ich möchte, dass die Messwerte direkt gespeichert werden.

Für Vorschläge danke ich herzlich,
fg roli
Hallo Roli,

Zitat:Ich möchte, dass die Messwerte direkt gespeichert werden.
Dann musst du das so programmieren!
Big Grin

Allgemeiner Hinweis: Es wäre hilfreich, ein VI von dir zu sehen…

Zitat:über die Periodendauer der "Speicher-Schleife" die Speicherdauer steuere.
Steuere das doch über die Anzahl der Samples oder über die Queue-Länge oder…
Aber eben nicht über die Wartezeit in einer Schleife!
(13.06.2017 10:13 )Roland schrieb: [ -> ]Das Problem:
nach dem Abschalten, des Prüfstandes muss man noch die X Minuten, die die Speicher-Schleife braucht warten, bis das Programm endet und das ist
mir zu lästig. Ich möchte, dass die Messwerte direkt gespeichert werden.

Hallo Roland,

hierfür bietet sich eine _LOSSY_-Queue an. Die "Restmenge an Daten kannst du so vorhalten und dann auf einen Rutsch
wegschreiben. Schaue dir mal die Producer-Consumer Strukturen an. (Beispiele)
Dort findet du auch die Lossy-Variante der Queues.

Hope it helps,

Ralf aka RMR
Erstmal danke für die Antworten.
Um noch genauer zu werden:
Ich verwende eine cRIO Einheit im Scan-Mode und sende meine Daten von einem Target.vi mit Hilfe eines Netzwerk-Streams an das Host.vi (ist angehängt).
Zur besseren Übersicht habe ich nur noch die relevanten Komponenten im angehängen Host.vi gelassen.

Den Vorschlag von Ralf hab ich auch schon probiert aber das hat nicht so funktioniert wie ich mir das vorgestellt habe.
Ich dachte mir damals, dass ich statt der jetzigen Speicher-while-Schleife eine Case-Struktur verwende und diese über einen Latch Schalter bediene.
Ist das das, was Ihr auch empfehlen würdet oder habe ich da noch einen Denkfehler drin?

fg Roli
Hallo Roli,
In der unteren While-Schleife ist eine Wartefunktion, die zwinkt den Durchgang mindestens "Speicherdauer * 60 Sekunden" zu warten.

Du speicherst etwas und dann wartest Du x*60 Sekunden.
Für was wird das gebraucht?

Gruß
Freddy
Eben, dass ich eine bestimmte Anzahl an Werte speichere. Wenn die Dauer kürzer wird werden auch weniger Werte abgespeichert...aber ich will eben eine neue/bessere Lösung
Hallo Roland,

Zitat:ich will eben eine neue/bessere Lösung
Dann warte eben nicht "x*60s", sondern warte lieber "x*60*1s"…

Etwas ausführlicher: Du hast selbst festgestellt, dass es unglücklich ist, dass deine Schleife gleich minutenlang mit der Wartefunktion blockiert ist. Warte doch lieber nur im Sekundenbereich und sammle die Messdaten mehrerer Schleifendurchläufe, bevor du speicherst…
(13.06.2017 14:54 )GerdW schrieb: [ -> ]Hallo Roland,

Zitat:ich will eben eine neue/bessere Lösung
Dann warte eben nicht "x*60s", sondern warte lieber "x*60*1s"…

Hallo Gerd,
wenn ich dich richtig verstehe soll ich also z.B. die Werte für eine Sekunde immer wieder aneinander hängen?
Wie würde das aussehen? Um die 1sec while Schleife eine x*60-fache for-Schleife?
Hallo Roland,

so in etwa:
[attachment=57901]
(13.06.2017 15:28 )GerdW schrieb: [ -> ]Hallo Roland,

so in etwa:

Hallo Gerd

Das Problem sehe ich jetzt darin, dass angenommen mein Prüfstand bricht ab wenn der Schleifenzähler gerade bei i=34 ist, dann
gehen mir 34 Werte verloren, da meine Array nach i=60 genullt wird und er somit wieder komplett neu aufgefüllt werden muss.

Ich hab mal ein neues VI angehängt welches meinen Fall eher wiederspiegelt.
Seiten: 1 2
Referenz-URLs