LabVIEWForum.de - Fortlaufende Nummerierung der gespeicherten Messdaten

LabVIEWForum.de

Normale Version: Fortlaufende Nummerierung der gespeicherten Messdaten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

ich habe folgendes Problem:

Ich programmiere gerade einen automatischen Ablauf für einen Versuchsstand. Dabei sollen 10 Durchläufe zum Warmfahren gemacht werden und dann zum Beispiel die nächsten 3 Versuche gemessen und gespeichert werden. Den Ablauf steuere ich über eine CSV-Datei und das klappt auch alles wunderbar. Mein Problem liegt an der Speicherung. Ich möchte gerne, dass die Messwerte in einer Datei gespeichert werden, die einen vorgefertigten Namen und Pfad haben. Es soll nun lediglich fortlaufend nummeriert werden, d.h. ich gebe in meiner CSV den Befehl den Speicher-Case durchzufüühren und die Datei soll Messung 1 heißen. In der nächsten Zeile das gleiche, nur die Datei soll Messung 2 heißen usw...Der Benutzer soll davon am besten nichts mitbekommen. Wenn dies gelungen ist, soll in einem weiteren Case, in dem die Auswertung stattfindet, nacheinander die Dateien aufgerufen und bearbeitet werden.

Ich hoffe ich konnte es einigermaßen erklären, falls fragen zum Ablauf sind, einfach fragen. Angehängt habe ich ein primitives Beispielprogramm, was einfach nur den Ablauf ein wenig darstellen soll.

Vielen Dank für die Hilfe!
(02.07.2012 16:09 )Shavens schrieb: [ -> ]Hallo,

ich habe folgendes Problem:

Ich programmiere gerade einen automatischen Ablauf für einen Versuchsstand. Dabei sollen 10 Durchläufe zum Warmfahren gemacht werden und dann zum Beispiel die nächsten 3 Versuche gemessen und gespeichert werden. Den Ablauf steuere ich über eine CSV-Datei und das klappt auch alles wunderbar. Mein Problem liegt an der Speicherung. Ich möchte gerne, dass die Messwerte in einer Datei gespeichert werden, die einen vorgefertigten Namen und Pfad haben. Es soll nun lediglich fortlaufend nummeriert werden, d.h. ich gebe in meiner CSV den Befehl den Speicher-Case durchzufüühren und die Datei soll Messung 1 heißen. In der nächsten Zeile das gleiche, nur die Datei soll Messung 2 heißen usw...Der Benutzer soll davon am besten nichts mitbekommen. Wenn dies gelungen ist, soll in einem weiteren Case, in dem die Auswertung stattfindet, nacheinander die Dateien aufgerufen und bearbeitet werden.

Ich hoffe ich konnte es einigermaßen erklären, falls fragen zum Ablauf sind, einfach fragen. Angehängt habe ich ein primitives Beispielprogramm, was einfach nur den Ablauf ein wenig darstellen soll.

Vielen Dank für die Hilfe!

Falls es die einzigen *.csv-Files im Ordner sind kannst du über "Programming->File I/O->Adv File Funcs->List Folder.vi" (über das Pattern lassen sich die *.csv-Dateien rausfiltern) die bisherigen Filenamen auslesen, sortieren und den letzten Wert um 1 erhöhen für das neue File.

Die Funktion sollte dir bei beiden Problemen behilflich sein.

Gruss Marc
Erstmal Danke für die schnelle Antwort!!

Ich habe das VI List Folder gefunden, nur leider muss ich gestehen dass ich die Lösung leider nicht verstehe. Ich verwende das VI "Ordner anzeigen" und was genau soll ich damit machen?

Danke für die Mühe, bin noch nicht so der Profi mit LabView.

Grüße
Hallo Shavens,

Zitat:bin noch nicht so der Profi mit LabView.
Die Frage hat doch nichts mit dem LabVIEW-Kenntnissen zu tun, sondern mit allgemeinen Programmierfragen...
Du willst fortlaufend nummerierte Dateien anlegen. Also guckst du nach, welche Dateien schon existieren, suchst dir die "höchste" Nummer raus und erzeugst eine Datei mit Nummer+1. Fertig.

Zum Nachgucken bietet sich ListFolder an, da du doch schon den Pfad kennst. Alles weitere ist deiner Vorstellungskraft überlassen Smile
Ok das Prinzip habe ich verstanden soweit und ist auch eine gute Lösung, nur ich stoße da an meine Grenzen, dass ich nicht programmieren kann, dass er mit der Nummerierung einen hochzählt...

Danke und Grüße
Hallo Shavens,

wo hapert's denn? Fang doch erstmal an und zeige, wie weit du gekommen bist...
Es hapert eigentlich genau an der Stelle, wie ich die Idee umsetze...Also ich habe immernoch mein Test-VI, was ich beispielhaft programmiert habe. in meiner CSV-Datei steht beispielsweise:

C D B A
D A C B
B C A D
A B D C

Jetzt werden diese nacheinander durchlaufen (macht hier keinen Sinn ich weiß...) und nach jedem Mal soll über die Speicherfunktion (Befehl "S") eine Datei angelegt werden, die fortlaufend benannt wird:

Messung 1 (nach der ersten Zeile)
Messung 2
.
.
.

Die Idee ist ja nun durch ListFolder mir meine bestehende Datei vorzunehmen und dann nach jedem Durchlauf einen hochzuzählen, richtig?
Ich weiß nun nicht, wie ich das umsetze, dass er immer neue Dateien erstellt, bzw. Dateien mit dem gleichen Namen nur mit einem +1 Iterationsschritt.

Danke vielmals
Hallo Shavens,

ist es wirklich so schwierig, sich erstmal zu überlegen, wie man vorgehen muss, um sich danach die passenden Funktionen in LabVIEW zu suchen?

Das Bild ist absichtlich nur ein Bild, du willst ja auch was lernen dabei... (Ich habe die Abfrage der Nummerierung vereinfacht, du kannst später gerne eigene Ideen verwirklichen Smile )
Wirklich vielen Dank und ich habe es wirklich allein versucht, nur zum Beispiel auf die Sache mit der Array-Größe und dem String formatieren bin ich auch nach suchen einfach nicht gekommen. Das Wissen, um das richtige einzusetzen fehlt mir komplett, leider.

Eine kleine Frage habe ich jetzt leider doch noch, wenn das in Ordnung ist:

Er speichert mir jetzt das Ergebnis der 4 Durchläufe in 1 Datei. Also die Benennung läuft super, nur hätte ich gerne für jedes Ergebnis eine eigene Datei.

Dankeschön
(03.07.2012 14:06 )Shavens schrieb: [ -> ]Er speichert mir jetzt das Ergebnis der 4 Durchläufe in 1 Datei. Also die Benennung läuft super, nur hätte ich gerne für jedes Ergebnis eine eigene Datei.

Dann verwende die Routine zum Speichern (Dateinamen ermitteln, inkrementieren und neue Datei abspeichern). Bevor du jetzt aber den Code unsinnig duplizierts, leg dir am besten ein SubVI davon an. Dann kannst du das speichern überall verwenden Smile

Beste Grüße,
NWO
Seiten: 1 2 3
Referenz-URLs