LabVIEWForum.de - Das letzte Stück vom Array abschneiden

LabVIEWForum.de

Normale Version: Das letzte Stück vom Array abschneiden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo.
Ich habe schon eine Weile an folgenden Problem rumgebastelt, wobei ich dachte, so schwer kann das nicht sein. Aber offensichtlich dochSad
Bin noch ziemlicher LabVIEWneuling und hoffentlich kann mir jemand einen Denkanstoß geben bzw. mir sagen, was ich falsch gemacht habe.
Es geht darum dass ich Daten erfasse und diese in ein Array geschrieben werden. So schön so gut.
Die Datenerfassung befindet sich in einer Whileschleife und die Abbruchbedingung der Schleife wartet darauf bis eine bestimmte Anzahl Daten aufgenommen wurde.
Die Zahl die den Abbruch bestimmt ändert sich je nach eingestellten Parametern.
Nun ist es leider so, dass diese Zahl mir die Anzahl meiner Zeitwerte definiert und ich die y-Werte aus der Schleife bekomme.
Problem:
Manchmal werden einige y-Werte zuviel ins Array geschoben (nicht viel... so 3, oder auch mal mehr). Leider stören diese wenn ich sie mit den Zeitwerten verbinde.
Somit hab ich mir gedacht....einfach abschneiden. Aber aus einfach wurde kompliziert o.O

Meine Strategie: Ich nehme die Funktion "delete from array". Als Länge, wenn ich das laut einem Forenbeitrag richtig verstanden habe, setzte ich ein wie lang der Teil ist, der gelöscht werden soll. Und als Index wähle ich Spalte und gebe dort die Zahl ein, ab der gelöscht werden soll.
So hab ich es gemacht... aber wenn ich mein Array am Ausgang überprüfe...ist nix passiert o.O
Habe ich etwa die Funktion falsch verstanden?
Ich muss noch erwähnen, dass ich die Daten von 2 Kanälen erfasse (bzw. in Zukunft mehr). Muss das bei der Funktion beachtet werden? Schnippelt die mir wenigsten von allen Spalten den selben Teil ab... oder muss ich komplett anders rangehen.

Für Hilfe und Anmerkungen wäre ich sehr dankbar. Ich erwarte keine Komplettlösung (da ich es ja selber hinbekommen möchte). Aber vielleicht ein Hinweis?
' schrieb:Problem:
Manchmal werden einige y-Werte zuviel ins Array geschoben (nicht viel... so 3, oder auch mal mehr). Leider stören diese wenn ich sie mit den Zeitwerten verbinde.
Somit hab ich mir gedacht....einfach abschneiden. Aber aus einfach wurde kompliziert o.O

Moin!
Im Nachhinein immer herumdoktern ist nicht ganz so optimal... Weißt Du, wieso/wann zuviele Werte ins Array geschrieben werden? Und wie ergibt sich die Länge des Arrays genau? Vielleicht könnte man es dort zunächst nochmal versuchen, bevor man mit "flicken" anfängt?
' schrieb:Meine Strategie: Ich nehme die Funktion "delete from array". Als Länge, wenn ich das laut einem Forenbeitrag richtig verstanden habe, setzte ich ein wie lang der Teil ist, der gelöscht werden soll. Und als Index wähle ich Spalte und gebe dort die Zahl ein, ab der gelöscht werden soll.
So hab ich es gemacht... aber wenn ich mein Array am Ausgang überprüfe...ist nix passiert o.O
Habe ich etwa die Funktion falsch verstanden?

Ich würde, wie Xaran sagte, auch zuerst versuchen die Ursache zu beheben und nicht das Problem lösen.

Zu der "delete from array" Funktion.
Es gibt dazu auch noch eine Hilfe, (ctrl+h)

In LabVIEW ist es ja einfach, schnell ein test-VI zu machen, mit einer kleinen Array-Konstante, und die Eingänge verschieden zu füttern und das Resultat prüfen. So viele Möglichkeiten gibt es da auch nicht. Somit findest du schnell raus, wie du die Funktion beschalten solltest.

' schrieb:Ich erwarte keine Komplettlösung (da ich es ja selber hinbekommen möchte)

Das finde ich eine gute Einstellung Top1
Hallo.
Erstmal vielen Dank für eure Anregungen.
Dann werd ich mal einen Schritt nach vorne gehn und dort nach dem Problem suchen.
Wieso zuviel Werte ins Array geschrieben werden weiß ich leider nicht (noch nichtTongue)
Wann...das ist dummerweiser sehr zufällig. Wenn ich die Messung mehrmals starte...haut es oftmals hin...aber manchmal eben auch nicht.
Die Datenerfassung erfolgt mit daq(2Kanäle). Ich nehme das read für Graphen und erstelle gleichzeitig array, in das die Werte geschoben werden.
Vielleicht könnte es an der Read-einstellung liegen, da ich -1 für "number of samples per channel" eingebe und er damit ja alles nimmt was er bekommen kann.
Hm... immer diese gierigen Programme.Prost
Nun gut. Dann mach ich mich mal dran eine Lösung zu suchen.
Liebe Grüße
Referenz-URLs