Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Leider habe ich noch nicht all zu viel Ahnung im Programmieren mit Labview.
Es sind zwar schon einige ähnliche Probleme im Forum behandelt worden, aber damit ich mich nicht "verrenne" möchte ich gerne im Vorfeld um nützliche Tipps fragen.
So, nun zu meinem Vorhaben.
Bei meinem Teststand werden über 2 Datenerfassungsboxen (NI USB 6212, NI USB 6211) zeitgleich Messwerte von insg 23 Sensoren erfasst.
Ich würde nun gerne für die 23 Sensoren ein File erstellen. Ich hätte gerne einen Haeder indem bswp Infos stehen wie:
- wer hat die Messung durchgeführt
- Datum
- etc
Ferner wäre es wünschenswert, dass die 23 Sensoren mit ihrem Namen im File auftauchen.
Gut wäre es, wenn das File als txt oder als xlsx File abgespeichert werden würde.
Beim Durchstöbern des Forums habe ich gesehen, dass man für das File einen Haeder erstellen kann. Wie der Hauphaeder (Name und Pfad des Files) erstellt wird, erscheint mir einigermaßen klar. Wie kann ich nun aber die Namensgebung für die 23 Sensoren machen?
Bis jetzt habe ich immer mit dem "DAQ-Assistent express.vi" zur Datenerfassung und für die Datenspeicherung mit dem "Messwerte in Datei speichern express.vi" gearbeitet. Im Forum habe ich glesen, dass dies keine elegante Lösung ist.
Welches VI wäre dafür geeigneter.
Ich wäre um jeden Tipp froh und bedank mich schon einmal für eure Hilfe.
Gruß, Nusser
Anzeige
15.01.2014, 10:05 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2014 10:16 von GerdW.)
schau dir mal die mitgelieferten TDMS-Beispiel-VIs an.
TDMS-Dateien
- sind dank Excel-Plugin direkt aus Excel heraus lesbar
- erlauben vielfältige Informationen zusätzlich zu den Messdaten abzuspeichern, u.a. auch einen Header mitsamt Sensornamen...
Andere Möglichkeit:
Nutze die einfachen TextWrite-Funktion und erstelle deinen Text nach deinen Wünschen und Vorstellungen. Man kann durchaus mehrere Schreibzugriffe auf eine Datei ausführen und die Datei dabei anwachsen lassen...
Zitat:File als txt oder als xlsx
txt-Dateien sind sehr einfach zu handhaben - wie oben schon angedeutet. XLXS dagegen erfordert ActiveX-Zugriffe auf ein auf dem Rechner installiertes Excel, das willst du dir als LabVIEW-Einsteiger nicht antun. Was vom Einsteiger aber gern vergessen/verkannt wird: Excel kann auch ganz prima mit CSV-Dateien umgehen - und die sind auch nur (verkappte) Textdateien...
Vielen Dank für Eure Antworten.
Ich verstehe noch nicht ganz, wie ich LabView sagen kann, dass Daten von 2 verschiedenen DAQ - Boxen in ein uns dasselbe File geschrieben werden sollen.
15.01.2014, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2014 13:28 von GerdW.)
verwende doch bitte die Namen, die die Kontexthilfe anzeigt: "DAQ-Boxen" heißen sicherlich DAQ-Assistent (ExpressVI)...
Zitat:wie ich LabView sagen kann, dass Daten von 2 verschiedenen DAQ - Boxen in ein uns dasselbe File geschrieben werden sollen.
Bei ExpressVI-Verwendung könnte man JoinSignal verwenden, um Signale zusammenzufassen. Das Ergebnis dessen dann an die WriteFile-Funktion anschließen...
Das dürfte evtl. funktionieren, bringt dich aber weder im LabVIEW-Verständnis noch in den genannten Zielen (Header, Infos, ...) weiter. Hast du dir schon mal den ExampleFinder angeschaut und dessen ungezählte Beispiel-VIs? Wie sieht es mit den Einsteigerkursen bei NI aus?
Wie in meiner ersten Frage formuliert, erfasse ich die Daten mit den zwei USB-Datenerfassungsboxen NI 6212 und NI 6211.
Anfängerkurs habe ich schon besucht, dort habe ich gelernt, Daten mit DAQ-Assistent.vi aufzunehmen, was ja aber von gewissen Pros in diesem Forum nicht empfohlen wird.
wenn du mal schnell etwas "husch husch" machen willst, kannst du ruhig ExpressVIs verwenden. Aber sobald es mal etwas "komplizierter" (d.h. nicht so, wie es das ExpressVI vorsieht) wird, stehst du blöd da...
- LabVIEW ist es übrigens egal, ob du eine, zwei oder mehr USB-Boxen verwendest: Es sind alles nur DAQmx-Tasks...
- Zusammenfügen von Daten geht üblicherweise über Array-Funkionen. In deinem Sonderfall "ExpressVI" auch mit JoinSignal...
- Was man bei der Nutzung von ExpressVIs auch (als erstes) lernen sollte: wenn man deren Frontpanel öffnet (per Rechtsklick!), dann erstellt LabVIEW ein "normales" VI daraus, dessen BD man sich anschauen kann...
Ich habe nun einen Haeder erstellt. Leider wird dieser noch nicht wie gewünscht abgespeichert.
Ich hätte gerne, dass die Auswahlmöglichkeiten, die ich im Frontpanelt wählen kann, sowohl im Speichernamen des Files, als auch dann im Haeder des Textfiles stehen.
Momentan sieht der Speichernamen wie folgt aus: [i]1301201101009080706050403020100 InnenAussen 10987654321 9080706050403020100-10-20-30.txt[/i]
Ziel wäre bspw.: Kw30Hf10innen_1.txt
Logischerweise werden dann auch beim Haeder nicht die ausgewählten Variablen übernommen, sonderen jeweils alle Auswahlmöglichkeiten, wie hier ersichtlich:
Zeit11 February 2014Zeit
Zeit
Hüftwinkel
9080706050403020100-10-20-30
Kniewinkel: 1301201101009080706050403020100
Rotation: InnenAussen
Wie kann ich dem Programm sagen, dass es nur die getroffene Auswahl übernimmt?
Wäre dankbar um jeden Tipp oder Beispiele. Anbei habe ich das Prog. hochgeladen. Der Haeder befindet sich im ersten Schritt der Zustandsmaschine.
Merci schon mal für eure Hilfe.
Gruß, Nusser
P.S: Mir wurde schon gesagt, dass ich den Haeder besser mit Format to string programmieren sollte- hab ich auch versucht, aber das output file sah dann nicht wie gewünscht aus.
12.02.2014, 09:04 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2014 09:04 von GerdW.)