Download Dokument

Transcript
Schalters „letzten löschen“ den Index um mehr als eins zu verringern. Die
Dateiausgabe muss dann dementsprechend manuell korrigiert werden.
Last but not least befindet sich oben rechts in der while-Schleife eine Case-Struktur
mit dem Code für die Aufzeichnung der Audiodaten. Dieser Teil des Programms
wurde zunächst in einem eigenständigen VI entwickelt und erst nach erfolgreichen
Tests in das Hauptprogramm eingefügt. Erklärungen zu dieser Struktur sind im
Kapitel 4.3.3 zu finden.
Da sich der Code in dem „Case – true“ der Case-Struktur befindet wird dieser Teil
des Programms nur ausgeführt, wenn die programmierte Bedingung wahr ist. Dieser
Fall tritt ein, wenn der Schalter „Sound Automatik“ eingeschaltet ist und der Schalter
„Messen“ gedrückt wird. Da man nicht beide Schalter gleichzeitig betätigen kann,
muss man, wenn man Sound aufnehmen möchte, zuerst den Schalter „Sound
Automatik“ betätigen und dann die Messung starten. Die Länge (in Sekunden) der
Aufnahme ist abhängig von der gewählten Anzahl der zu mittelnden Messwerte, da
der Sound immer über eine Messperiode (Multiplexer ansteuern - Messung starten –
Warten - gemittelte Werte auslesen) aufgenommen wird.
Zusätzlich zur Speicherung der Zeitdaten in einer *.wav-Datei wird eine online FFT
der aufgenommenen Signale berechnet. Dies ist möglich – bzw. dazu steht die
notwendige Rechenzeit zur Verfügung – weil der Rest des Programms in dieser Zeit
durch das Sub-VI „timewait.vi“ in einen Wartezustand versetzt wird, der wenig CPULeistung beansprucht.
Der letzte Rahmen der Sequenz des Hauptprogramms wird erst dann erreicht, wenn
die while-Schleife in Rahmen 3 terminiert weil der „Ende“-Schalter betätigt wurde.
Dieser Rahmen dient nur dazu das Programm „sauber“ zu beenden, d.h. die
geöffneten VI-Referenzen und der COM-Port – Treiber werden mit Hilfe der
entsprechenden Objekte wieder geschlossen.
- 69 -