Datenaufzeichnung in vorgeschriebenem Zeitintervall
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!
Datenaufzeichnung in vorgeschriebenem Zeitintervall
Hallo Leute,
Ich habe ein Programm erstellt, mit dem Messwerte erfasst, angezeigt und schließlich in ein Excel-file geschrieben und dort gespeichert werden. So weit so wunderbar, klappt an sich alles ganz flüssig. Jetzt soll noch folgendes Feature eingebaut werden: Auf Knopfdruck sollen die Messdaten für 10 Sekunden mit einer vorgegeben Frequenz (z.b. 10 Hz) in ein File geschrieben werden. Währenddessen soll natürlich die Anzeige der Messdaten weiterlaufen. Realisiert habe ich das Ganze mit einem Timed Loop und einem zweiten Loop, welcher abgebrochen wird, sobald eine bestimmte Zeit abgelaufen ist ( siehe Anhang).
Mein Problem ist nun, dass während dieser 10 Sekunden die Messdaten nicht angezeigt werden, dh die Anzeigeinstrumente sind wie "eingefroren". Auch ins File werden während dieser Zeit 10 mal pro Sekunde die gleichen Daten geschrieben, weil sich die Daten offensichtlich nur einmal bei der ersten Iteration erneuern und dann 10 Sekunden lang gleich bleiben. Ich glaube das kommt daher, dass das SubVI für die 10-Sekunden-Messung erst nach Ablauf der 10 Sekunden beendet wird und das übergeordnete VI darauf wartet, dh die Daten aus dem Datenarray werden während dieser Zeit weder erfasst, noch angezeigt noch an das SubVI weitergegeben.
Ich hab im Moment keine Ahnung wie ich das machen soll, dass einerseits das SubVI genau 10Sekunden lang ausgeführt und andererseits das übergeordnete VI derweil weiterarbeitet.
Anzeige
07.01.2013, 15:36 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2013 15:47 von Trinitatis.)
RE: Datenaufzeichnung in vorgeschriebenem Zeitintervall
Ja, das wird notwendig, weil die äußere Schleife nur beendet werden kann, wenn die Innere schon beendet ist. Die innere Schleife wird jeweils nur einmal ausgeführt, also kann das die äußere Schleife auch nach jeder Iteration der Inneren durch die Elapsed-Time-Funktion beendet werden.
RE: Datenaufzeichnung in vorgeschriebenem Zeitintervall
Zitat:dass während dieser 10 Sekunden die Messdaten nicht angezeigt werden, dh die Anzeigeinstrumente sind wie "eingefroren".
THINK DATAFLOW!
Wenn Dinge parallel ablaufen sollen (hier: Anzeige und Speichern), dann sollte man sowas auch parallel programmieren!
THINK DATAFLOW!
Zitat:wie kann ich dann sicherstellen, dass genau 10 Messwerte pro Sekunde aufgezeichnet werden?
Indem du ganz schnell 10 Messwerte speicherst und dann bis zur nächsten vollen Sekunde wartest
Man könnte natürlich auch im 100ms-Intervall speichern...