Fortlaufende Nummerierung der gespeicherten Messdaten
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!
Fortlaufende Nummerierung der gespeicherten Messdaten
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.
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
(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.
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
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.
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
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
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
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
03.07.2012, 13:00 (Dieser Beitrag wurde zuletzt bearbeitet: 03.07.2012 13:02 von GerdW.)
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
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
03.07.2012, 13:22 (Dieser Beitrag wurde zuletzt bearbeitet: 03.07.2012 13:24 von GerdW.)
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
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 )
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
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.
RE: Fortlaufende Nummerierung der gespeicherten Messdaten
(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
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!