Hallo Forum,
ich habe in meinem VI einen DAQmx Read und lese mehrere Thermoelemente damit aus.
Nach einer gewissen Zeit (wenn Temperatur eingeschwungen), möchte ich die Messdaten (Array) über ein Schieberegister aufeinanderaddieren und dann das Ergebnis durch die Anzahl der Messdurchgänge teilen.
Jetzt sollte ich einen Array voller Mittelwerte haben. dieses Array mittele ich dann erneut über die Mean-Funktion und erhalte letztendlichen einen gemittelten Wert über die Zeit.
Nun habe ich das "Warten bis eingeschwungen" über den Baustein "verstrichene Zeit" und einer Case-Struktur gelöst.
Allerdings bekomme ich dann als Mean am Ende NaN angezeigt.
Danach habe ich ewig nach der Fehlerquelle gesucht, und dann ist mir aufgefallen, dass wenn ich die Verstrichene Zeit-Bausteine "Warten bis Eingeschwungen" und "warten" gegen eine True Konstante ersetze, das Addieren der Arrays einwandfrei, und somit auch die Mittelung am Ende funktioniert.
Was hat denn der Baustein Verstrichene Zeit mit dem Addieren von Arrays zu tun?!
Bekommt man das irgendwie gelöst?
Ich habe bereits schon versucht die Uhrzeit zu Beginn einzulesen und dann bei jedem Durchgang nochmals die Zeit einzulesen, um ein delta-t zu bilden.(also ohne den verstrichene Zeit Baustein)
Allerdings funktioniert dann die Mittelung auch nicht.
Es scheint so, dass das Addieren der Arrays nur funktioniert wenn kein Zeitbaustein vor der Addierung geschaltet ist.
Anbei mein VI, bitte nicht wundern wenn manche Case/while-Strukturen keinen Sinn machen. Ich habe den Inhalt des Vis aus einem größeren Vi kopiert, welches diese Schleifen (mit weiterem Inhalt, den ich hier gelöscht habe) benötigt.
Viele Grüße und vielen Dank im voraus!