LabVIEWForum.de - Arrays verbinden ohne Auffüllen mit 0

LabVIEWForum.de

Normale Version: Arrays verbinden ohne Auffüllen mit 0
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Forum,

ich habe in meinem Programm einen XY-Graphen, der mit 3 Plots arbeitet.
Plot 0 ist statisch und stellt die Sollkurve dar, beim Ein- Ausdrehen kann man gleich vergleichen
Plot 1 ist das Drehmoment beim Eindrehen, wird bis zum Ausdrehen im Graph aktualisiert
Plot 2 das Drehmoment vom Ausdrehen

Nach der Messung werden die Daten in eine Textdatei geschrieben, dabei ist mir aufgefallen, das LabView
mir die Arrays im mit Nullen auffüllt, obwohl ich keine Daten hineingeschrieben habe ,somit ist in Excel der Plot falsch dargestellt.

Als Beispiel hänge ich ein VI an, dass dem Problem nahe kommt. Ich denke mir, dass es so wie ich es gelöst habe, wohl automatisch mit Nullen angefügt wird, allerdings habe ich keine Ahnung wie es anders gehen soll.

Danke vorrab.

Hachiko

lv12_img
Überleg mal selber:
Mit was soll LabVIEW die Elemente "Double" auffüllen, wenn du 2 unterschiedlich lange 1D-Arrays zu einem 2D-Array (bei dem natürlich jedes Element existiert und somit auch einen Wert hat) auffüllen?

Der Fehler dürfte auf Grund deiner Screenshots im WriteTxt VI entstehen. Glas2

Gruß, Jens
Hallo hachiko,

Zitat:Ich denke mir, dass es so wie ich es gelöst habe, wohl automatisch mit Nullen angefügt wird, allerdings habe ich keine Ahnung wie es anders gehen soll.
Bau dir lieber ein "Array of Cluster of 1D-Array" statt eines 2D-Arrays… Big Grin

Um es mal "populärwissenschaftlich" auszudrücken: in LabVIEW sind Arrays immer rechteckig, d.h. alle Spalten/Zeilen/Seiten/etc. haben exakt gleich viele Elemente!
Hallo,

also klar, ein 2D-Array ist immer eckig, also Nullen sind unvermeidlich.
Ich benutze die Funktion "Write To Spreadsheet File.vi" und da ich eine Tabelle benötige muss ich alles auf einmal schreiben,
das geht nur als 2D-Array. Dadurch kommen bei 3 verschiedenen Plots mit unterschiedlicher Länge eben die Nullen automatisch in die Tabelle.
Als Beispiel habe ich den Sollzustand in Excel im Anhang, so soll es aussehen. Einfach alle Nullen zu löschen, würde evtl. Meßwerte die
tatsächlich "0" sind löschen, was fatal wäre.

Wie kann ich 3 einzelne Arrays (die 3 Plots als Einzelarrays gewandelt)in die gewünschte Tabellenform bekommen, mit "Write To Spreadsheet File.vi" wüsste ich nicht wie.

Mir fällt jetzt spontan ein Vi für Excel ein, das wäre aber alles jetzt viel Aufwand.

Gruß

Hachiko
(27.02.2014 08:38 )Hachiko schrieb: [ -> ]also klar, ein 2D-Array ist immer eckig, also Nullen sind unvermeidlich.
Ich benutze die Funktion "Write To Spreadsheet File.vi" und da ich eine Tabelle benötige muss ich alles auf einmal schreiben,
Ein "Tabelle" ist in Labview ein 2D-Array von Strings, und wenn Du eine Tabelle verwendest, dann wäre Dein Problem gelöst. Zwar wird das 2D-String-Array auch zu einem Rechteck aufgefüllt, aber nicht mit Nullen, sondern mit Leerstrings. Es gibt also keine Verwechslung mehr von "echten" Nullen mit "aufgefüllten" Nullen.
[attachment=48696]
Hallo Lucki,

Dein Tip hat genau geholfen, das Problem habe ich mit einem Vi erledigt und ich habe eine Sorge wenigerBig Grin

Danke an alle für den Support

Gruß

Hachiko
Referenz-URLs