Hallo,
ich hab ein Problem mit meinem Array.
Programm:
Über den DAQ Assistent erfasse ich eine x beliebige Anzahl an Messwerten in einer Zeit t. Die Messwerte werden im Task reader ausgelesen, ein Mittelwert gebildet und an der ersten Stelle (theoretisch) in einem 1D Array abgespeichert. Sobald jetzt ein neuer Mittelwert ermittelt wird wird dieser an der nächsten Stelle des Arrays abgebildet usw. Das Programm wird bendet sobad die Zahl x erreicht wird.
Problem: Immer die erste Stelle des Arrays wird nicht belegt. Sie bleibt Null, die anderen werden fleißig abgespeichert.
Könnt ihr mir helfen???
MfG
Fiesco
Dein "Inkrement" (+1) addiert schon im ersten Zyklus eine eins auf den Index. Daher wird Index 0 nicht beschrieben.
Du gibst ja auch schon beim ersten Durchlauf eine 1 weiter! Array-Indices in LabVIEW starten aber bei 0!
So geht es:
[
attachment=38036]
Gruß, Jens
P.S.: Ich war schon immer der Meinung, dass gerade für Anfänger die Verwendung eines Schieberegisters besser zu verstehen ist als die Feedbacknode!
danke für die schnelle Antwort.
Ich habe gerade die Case Structure auf true gesetzt, kommt aber das gleiche Resultat bei mir raus.
Das Arrays mit 0 Anfangen hab ich mal komplett ignoriert, also danke für den Hinweis.
Ich habe auch gerade am Initializer Terminal experimentiert und wenn ich da z.B "-1" eintrage, als Startwert, zählt er hier bis 11 durch, wenn er aber schon bei 10 aufhören soll. Das selbe bei "0".
Die Null ist definitiv das Problem. Ich habe gerade mal sehr langsam durchlaufen lassen und er fängt wiklich mit der 1 an.. also danke
...
jetzt gehts initialisierung mit "-1" hat gefehelt und dann noch die Stopp Bedingung verlegt, da hat es dann funktioniert
(10.01.2012 11:28 )Fiesco schrieb: [ -> ]jetzt gehts initialisierung mit "-1" hat gefehelt und dann noch die Stopp Bedingung verlegt, da hat es dann funktioniert
Schau dir meinen Screenshot nochmal GANZ genau an! Hier wird jetzt der Wert VOR der Case-Struktur an das Replace-Array geführt, nicht der Wert danach wie bei dir.
Gruß, Jens
Ich versteh nicht ganz, wie du das meinst.
Der Initializer gibt (so wie ich es verstanden habe) eine Richtung an. Falls diese zum ersten mal betätigt wird, kann dieser Wert initialisiert werden. Ich hab jetzt einfach mal mit "-1" initialisiert. Danach die Case Structure mit Inkrement, folglich 0, dann array, dann Case Structure, 1, Array usw
Meiner Meinung nach sollte das so funktionieren.
So wie du es beschrieben hast, funktioniert es auch.
Ich wollte bloß auf die Alternative hinweisen (Screenshot genau anschauen!!!).
Gruß, Jens
Ich seh den Wald vor lauter Bäumen nicht.
Die Verbindung, auf die der rote Pfeil zeigt!
[
attachment=38043]
Dafür ist besteht keine Verbindung mehr im grün markierten Bereich.
Gruß, Jens
funtioniert und ist auch besser programmiert. danke vielmals