07.01.2013, 15:32
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.
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.