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 -