05.12.2007, 08:44
Beitrag #1
|
joe1234
LVF-Gelegenheitsschreiber
Beiträge: 136
Registriert seit: Sep 2007
2010
2007
kA
Deutschland
|
Messtabelle
Hallo Leute,
ich habe da ein Problem:
ich habe folgende Datei im .txt-Format vorliegen und würde gerne aus dieser Datei die ersten 4 Werte (Up/V, fp/Hz, f_pwm/Hz, DC_pwm) pro Versuch übernehmen und danach eine Messung durchführen. Die gemessenen Werte sollen dann ebenfalls in derselben Datei unter Versuch 1 immer da wo ein x steht eingetragen werden.
Danach sollte der 2te Versuch laufen... usw.
Ist es überhaupt möglich dieselbe Datei zum Auslesen und schreiben zu benutzen?
Ich denke, ich muss eine for-Schleife dafür benutzen, aber ich komme nicht drauf wie.
Ist es vielleicht auch besser die Datei in einen String-Array einzufügen, um die x-Zeichen nicht zu verwechseln?
Gruß Joe
|
|
|
05.12.2007, 08:52
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Messtabelle
Welche Datei?
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
05.12.2007, 08:53
Beitrag #3
|
|
|
05.12.2007, 10:29
Beitrag #4
|
|
|
05.12.2007, 11:05
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Messtabelle
' schrieb:Hi,
in die gleiche Datei reinschreiben geht wohl, ist aber umständlich.
Am besten einfach die ganze Datei ersetzen...
A.
Ja, geht schon, aber nur byteweises ersetzen. Sprich, eine neue zusätzliche Zeile einfügen geht nicht.
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
05.12.2007, 11:14
Beitrag #6
|
|
|
06.12.2007, 00:04
(Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2007 19:41 von jg.)
Beitrag #7
|
|
|
06.12.2007, 08:59
(Dieser Beitrag wurde zuletzt bearbeitet: 07.12.2007 08:46 von joe1234.)
Beitrag #8
|
joe1234
LVF-Gelegenheitsschreiber
Beiträge: 136
Registriert seit: Sep 2007
2010
2007
kA
Deutschland
|
Messtabelle
' schrieb:Hallo,
hab mal eben versucht was zusammenzubasteln.
..ist aber nur als Fragment anzusehen .... es ist einfach schon zu spät!
(als erstes solltes du mal die Case benutzen und erweitern um ein Muster.txt zu erstellen)
Dieses Muster benutzt du dann als Maske.
Deshalb musst du beim speichern einen neuen Pfad generieren. (hab ich jetzt nicht mehr geschafft)
Anhang:
1.vi ..der Anfang
txt ...ein Anfangsmuster
Gruß
cedus
Guten Morgen,
erstmal Danke für die Mühe, jedoch läugt es bei mir nicht richtig. Das VI bringt eine Fehlermeldung: "Sie haben nicht die erforderlichen Zugriffsrechte für die Datei."
Was heisst das? Ich denke als Admin sollte ich alle Rechte haben oder?
Gruß Joe
Edit: Ok, habe den Fehler gefunden. Hier habe ich dein VI etwas modifiziert und es klappt jetzt, dass die Werte immer in eine neue Zeile eingefügt werde.
Es ist zwar nicht das was ich wollte, aber ich kann damit leben.
Verständnisfrage:
Verstehe ich richtig, wenn ich das Symbol "Lesen aus Datei" einfüge, dass es mir die Datei in den Speicher einliest, WENN ich danach kein Symbol "Datei schließen" einfüge? Dies habe ich festgestellt, weil mein Ausgabe-String leergeblieben ist!!! Durch schließen und erneutes öffnen der Datei, konnte ich sie dann anzeigen (siehe VI LV 8.2).
Unbenannt_1.vi (Größe: 23,48 KB / Downloads: 243)
(LV 8.2.1)
|
|
|
06.12.2007, 19:53
(Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2007 19:55 von jg.)
Beitrag #9
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Messtabelle
Hallo, Joe,
zu deiner Verständnisfrage, meinst du diese Stelle hier?
Dazu ist zu sagen, dass du den Filezugriff wohl noch nicht verstehst. Das läuft normalerweise folgendermaßen ab:
File öffnen -> Kreation der FileRefnum. Gleichzeitig wird ein Zeiger eingerichtet, der jetzt auf den Anfang der Datei zeigt.
Dann liest oder schreibst man was aus/in den File (z.B. eine Zeile), die FileRefnum bleibt dieselbe, aber der Zeiger zeigt jetzt auf das Ende der gerade gelesenen/geschriebenen Zeile.
Also, wenn du erst etwas in eine neue Datei schreibst, dann befindet sich der Zeiger am Ende der noch geöffneten Datei. Wenn du jetzt direkt ein File Lesen einfügst, dann kann diese Funktion natürlich nichts mehr zum Lesen finden, der Zeiger ist ja am Ende des Files, wo jetzt nichts mehr ist.
Übrigens, mit dem folgenden VI kann man den Zeiger an eine neue Position setzen:
Wenn du einen File natürlich schließt, wird die FileRefnum und damit auch der Zeiger gelöscht. Beim nächsten Öffnen der Datei steht der Zeiger wieder am Anfang der Datei.
Löst dies dein Verständnisproblem?
MfG, Jens
P.S.: @cedus & @joe1234: Bitte in Zukunft beachten.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
07.12.2007, 08:48
(Dieser Beitrag wurde zuletzt bearbeitet: 07.12.2007 08:57 von joe1234.)
|
joe1234
LVF-Gelegenheitsschreiber
Beiträge: 136
Registriert seit: Sep 2007
2010
2007
kA
Deutschland
|
Messtabelle
Sehr gute Erklärung!!! Danke!!!
Das mit der LV-Version habe ich behoben. Das Einfügen der LV-Version ist eine sehr gute Idee!!!
Gruß Joe
Edit: Hier eine Datei mit Zeiger-Verbesserung
Datei.Spalten_SubVI_.vi (Größe: 30,89 KB / Downloads: 239)
(LV 8.2.1)
|
|
|
| |