LabVIEWForum.de - Daten in Excel ausgeben

LabVIEWForum.de

Normale Version: Daten in Excel ausgeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
Ich hab deine Datenerfassung durch Zufallszahlen ersetzt und die Ausgänge der SubVI's simuliert (also Arrays draus gemacht).

Das Schreiben nach Excel hab ich aus der von mir bereits geposteten LLB abgekupfert.

Du siehst zwei Beispiele zum Schreiben der Daten. Einmal in der Whileloop (also direkt wenn die Daten auftauchen) und einmal nach der Whileloop als 2D-Array.

Da das Umwandeln in einen String beim Schreiben in Excel zu den kleinen grünen Dreiecken (Zahl als String in der Zelle) führt, habe ich einfach den Stringeingang des SetCellValue VI's durch einen DBL Eingang ausgetauscht.

[attachment=25728]


Gruß SeBa
Wow super!!!

Vielen Herzlichen Dank für die schnelle und gute Hilfe. Ich hoffe von hierweg schaff ichs dann alleineSmile

mfg pat
Hiho!

Jetzt hab ich doch noch ein kleines Problem.

Bezüglich auf das Bild von SeBa, das geposted wurde:
Wenn ich aus meiner For-Loop und anschließend aus meiner While-Loop mit meinen beiden Kabeln rausgeh (Error und Execl), ändert sich ja das Format. Ich bekomm dann immer den Fehler dass ich zwei verschiedene Datentypen verbinden will, was mir das Programm natürlich nicht zulässt. Wie geht das??


Wenn ich das jetzt richtig verstanden habe, dann kann ich das wie du oben geschrieben hast entweder auf die Art machen, dass ich den Teil in der While-Loop benutze ODER den andren Teil, der rechts daneben steht?!


Danke schon mal / noch mal für die HilfeSmile

mfg pat


EDIT:
OK ich hab das Problem gelöst mit der Funktion "Disable Indexing", ich hoffe das ist richtig. Allerdings versteh ich ned was ich damit bewirke, kann mir das jemand erklären?!Blink

Achja... und wo stammen eigentlich die VIs wie "OpenSheet" oder "OpenBook" her??? Ich hab die nur kopiert, mich würds aber intressieren wo mach sowas normal findet?!
Hallo pad,

auto-indexing bei Schleifen bedeutet, das LV entweder Arrays automatisch Element für Element abarbeitet (bei Array-Eingänge) oder aus Einzelwerten automatisch Arrays erstellt (bei Ausgängen). Aus einer Referenz ein Array zu erstellen, ist hier natürlich unsinnig, deshalb ist "Disable..." hier korrekt!
Ok danke.

Nun klappts zwar damit, dass ich meine Dateien in eine Exceltabelle schreiben kann, allerdings hab sich nun wieder kleinen Schönheitsfehler in Sachen der programmbedienung eingeschlichen!

Folgendes Problem:
Ich will nicht direkt wenn ich das Programm starte sofort in Excel schreiben. Zuvor hatte ich ja bei meinem Express VI die Möglichkeit, mit Enable / Disable selbst zu bestimmen, wann meine Messung gestartet wird und wann sie beendet wird.
Ich will letztendlich, dass mein Programm läuft, damit ich die aktuellen Werte seh (z.B. über Numeric Control Buttons). Wenn die Werte stimmen, will ich über einen Schalter die Möglichkeit haben, die Aufzeichnung zu starten und genauso auch wieder zu beenden.
Auserdem würde ich gerne nicht in ein X-beliebiges ExelFile speichern, sondern in ein von mir vorher festgelegtes. Gibts hierzu die Möglichkeit, das irgendwo festzulegen??

Und wo finde ich jetzt die VIs wie "OpenSheet" und "OpenBook"??? oder muss ich mir die z.B. im Internet suchen???

Vielen Dank im voraus, ich hoffe man kann / will mir helfen ^_^

mfg pat


EDIT:

Wärs sinnvoll das ganze mit ner Flat Sequenze innerhalb der While-Schleife aufzubauen? Ist sowas überhaupt möglich?



Anbei mein Programm (Numeric Control Buttons etc. sind jetzt noch nicht eingebaut, um ned noch mehr Wirwarr zu erzeugen)

Lv09_img2
' schrieb:Wenn ich das jetzt richtig verstanden habe, dann kann ich das ... entweder auf die Art machen, dass ich den Teil in der While-Loop benutze ODER den andren Teil, der rechts daneben steht?!
-> Ja. Wobei ich den Teil außerhalb der Whileloop bevorzugen/empfehlen würde.

Achja... und wo stammen eigentlich die VIs wie "OpenSheet" oder "OpenBook" her??? Ich hab die nur kopiert, mich würds aber intressieren wo mach sowas normal findet?!
-> Wie bereits gesagt... ich habe es aus der von mir geposteten LLB abgekupfert. Die LLB ist kein Bestandteil von LV, sonder kann neben vielen anderen nützlichen Dingen z.B. bei NI.com im Forum gefunden werden.
' schrieb:Folgendes Problem: -> Das ist per se kein Problem, sondern ein Feature.

Ich will nicht direkt wenn ich das Programm starte sofort in Excel schreiben. -> Daher empfehle ich ja auch das Schreiben NACH der Whileloop... Vorausgesetzt, deine Erfassung endet damit.
Zuvor hatte ich ja bei meinem Express VI die Möglichkeit, mit Enable / Disable selbst zu bestimmen, wann meine Messung gestartet wird und wann sie beendet wird. -> Hast du jetzt auch, wenn du das Schreiben der Daten in einen Case legst und einen Schalter anschließt.
Auserdem würde ich gerne nicht in ein X-beliebiges ExelFile speichern, sondern in ein von mir vorher festgelegtes. Gibts hierzu die Möglichkeit, das irgendwo festzulegen??
-> Schau halt mal in die Excel SubVI's rein...
EDIT:

Wärs sinnvoll das ganze mit ner Flat Sequenze innerhalb der While-Schleife aufzubauen? Ist sowas überhaupt möglich?
-> Ich will mir garnicht vorstellen, wie das aussehen könnte.Huh


Gruß SeBa
Hab jetzt beide Möglichkeiten ausprobiert, bin mit der Aufzeichnung "nach" der While-Schleife wirklich glücklicherSmile

Also ich hab jetzt reichlich rumprobiert, aber irgendwie wills nicht so ganz klappen mit der Case-Struktur. Evtl. mach oder versteh ich irgendwas falsch.
Anbei ein Bild wie ich das realiesieren wollte.

Auserdem hat SeBa geschrieben, dass ich das Excelfile, in das ich aufzeichnen will, in meinen SubVI`s einstellen kann. Ich muss mich entschuldigen, aber ich finde bzw. weis nicht, wie ich das anstellen soll.

Könnte man mir evtl. hierbei nochmal zur Hand gehen oder mir einen Tipp geben?


Danke SeBa für die Hilfe bis hierher

mfg pat
Hallo pat,

im Bild sind zwei Case-Strukturen zu sehen, welche meinst du?

Ein Problem auch könnte sein, dass der ErrorCluster vom DAQmx zu den Excel-Funktionen weitergeführt wird. Tritt ein Problem bei DAQ auf, kann es passieren, dass die Excel-Funktionen "nichts" machen...
' schrieb:Ich will nicht direkt wenn ich das Programm starte sofort in Excel schreiben. -> Daher empfehle ich ja auch das Schreiben NACH der Whileloop... Vorausgesetzt, deine Erfassung endet damit.
Zuvor hatte ich ja bei meinem Express VI die Möglichkeit, mit Enable / Disable selbst zu bestimmen, wann meine Messung gestartet wird und wann sie beendet wird. -> Hast du jetzt auch, wenn du das Schreiben der Daten in einen Case legst und einen Schalter anschließt.

Hallo Gerd,

ich meine die Äußere, bezüglich auf die Aussage von SeBa.
Ich will erreichen, dass meine Schleife immer läuft, die Aufzeichnung aber nur erfolgt, wenn ich einen Knopf drücke. Hintergrund dazu: Ich will die Werte überwachen können, aber erst wenn sich ein bestimmter Zustand einstellt, mit der Aufzeichnung beginnen.

Auch versteh ich nicht, wo ich das Excelfile auswählen kann, in das ich schreiben will. Hierfür würde ich eine Vorlage erstellen.

Danke schon mal,

mfg pat


EDIT:

Ist das ein Fehler / nicht ratsam, das ErrorCluster komplett durch zu ziehen?
Hallo pat,

ein Fehler ist es nicht unbedingt... Aber manchmal ist es sinnvoller, Fehler"zweige" zu trennen (Fehler bei Hardware-Zugriff/DAQ und Fehler bei Dateizugriff...)

Im Bild sieht der Case gut aus (WENN boolean DANN Datei schreiben). Problem, was ich sehe: Datenfluß. Der Knopf wird irgendwann, parallel zur DAQ-Schleife abgefragt. Wenn du während der Messung entscheidest zu speichern, hat das keinen Einfluß auf die aktuelle Messung mehr - der Knopf wurde schon wesentlich früher abgefragt. Erst mit der nächsten Messung würden dann Daten gespeichert...
Außerdem werden die Messdaten natürlich erst nach abgeschlossener Messung (DAQClear) an die Speicherroutine weitergeleitet.
Seiten: 1 2 3 4 5
Referenz-URLs