Messwerte in Datei abspeichern
Messwerte in Datei abspeichern
Hallo,
mein Messgerät liefert mir Double-Werte und diese möchte ich in eine einfache .txt Datei abspeichern. (mit Write to Textfile).Die Textdatei sollte folgende Form haben: Zeit (in ms) TAB gemessene Werte . Diese Datei wird dann in MATLAB eingelesen. Nun zu meiner Frage:
Eingabe der Textfile-Funktion ist ja vom Typ String, ich habe Double-Werte. Diese habe ich nun mit TypCast umgewandelt, zu String. Doch in meiner Textfile steht dann für eine beliebige Zahl, irgendwelche komischen Zeichen.
Muss ich diese erneut Casten??
mein Messgerät liefert mir Double-Werte und diese möchte ich in eine einfache .txt Datei abspeichern. (mit Write to Textfile).Die Textdatei sollte folgende Form haben: Zeit (in ms) TAB gemessene Werte . Diese Datei wird dann in MATLAB eingelesen. Nun zu meiner Frage:
Eingabe der Textfile-Funktion ist ja vom Typ String, ich habe Double-Werte. Diese habe ich nun mit TypCast umgewandelt, zu String. Doch in meiner Textfile steht dann für eine beliebige Zahl, irgendwelche komischen Zeichen.
Muss ich diese erneut Casten??
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Messwerte in Datei abspeichern
Hier nicht mit Type Cast umwandeln, sondern mit Number To Fractional String (in Strings Palette).
Re: Messwerte in Datei abspeichern
cool, das hat geklappt. Hmm allerdings kriege ich es nicht hin, eine zeile mit mehreren Spalten zu erzeugen. Mit Zeit und Wert nebeneinander.
Wie fange ich den timer ab? Über Zeitstempel?
Wie fange ich den timer ab? Über Zeitstempel?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Messwerte in Datei abspeichern
Du hast also ein Double Array.
Danach benutzt du Number To Fractional String und bekommst ein String Array raus.
Dieses String Array kannst du in ein String umwandeln. Dazu benutze das Array To Spreadsheet String.
Danach hast du also nur ein String (also eine Zeile mit Tab-getrennten Werten) und diesen kannst du ans Write To Text File anschliessen.
Danach benutzt du Number To Fractional String und bekommst ein String Array raus.
Dieses String Array kannst du in ein String umwandeln. Dazu benutze das Array To Spreadsheet String.
Danach hast du also nur ein String (also eine Zeile mit Tab-getrennten Werten) und diesen kannst du ans Write To Text File anschliessen.
Re: Messwerte in Datei abspeichern
Hmmm hallo ,
also ich habe wie beschrieben ein Array erstellt, mit nur einem Messwert-Control. Diesen Ausgang habe ich verbunden mit Array to Spreadsheet String, im Format String.Und diese wiederum ist die Eingabe fürs Write to File. Doch alles was er abspeichert ist der Inhalt des String-Controls. Den Double Control aus dem Array nimmt er gar nicht auf in die .txt ??!
also ich habe wie beschrieben ein Array erstellt, mit nur einem Messwert-Control. Diesen Ausgang habe ich verbunden mit Array to Spreadsheet String, im Format String.Und diese wiederum ist die Eingabe fürs Write to File. Doch alles was er abspeichert ist der Inhalt des String-Controls. Den Double Control aus dem Array nimmt er gar nicht auf in die .txt ??!
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Messwerte in Datei abspeichern
Guten Morgen eg,
habe gaaaanz vergessen meinen BD im Anhang zu schicken. denn ich habe es nicht so ausgeweitet wie deins, aber fast so ähnlich. (guck mal )
Aber ich hatte keinen Eingang im Build Array für meinen Timer. In deinem ersten Eingang ist er nämlich drin. Das hatte mir gefehlt vermute ich.
habe gaaaanz vergessen meinen BD im Anhang zu schicken. denn ich habe es nicht so ausgeweitet wie deins, aber fast so ähnlich. (guck mal )
Aber ich hatte keinen Eingang im Build Array für meinen Timer. In deinem ersten Eingang ist er nämlich drin. Das hatte mir gefehlt vermute ich.
Re: Messwerte in Datei abspeichern
Hallo,
also ich habe nun meinen Zeistempel drin. (gleiches BD wie im Anhang von eg) Jetzt habe ich gesehen, dass die txt Datei die erstellt wird, mir die Sekunden beginnend ab dem Jahr 1904 ausgibt.
Habe echt ne ziemlich lange Zahl von 3Milliarden nochwas. Doch ich will das meine Zeit ab Beginn der Messung läuft. Also die Sekunden mit dem Beginn des Messvorgangs gemessen werden.
Wie kann ich sowas machen?
also ich habe nun meinen Zeistempel drin. (gleiches BD wie im Anhang von eg) Jetzt habe ich gesehen, dass die txt Datei die erstellt wird, mir die Sekunden beginnend ab dem Jahr 1904 ausgibt.
Habe echt ne ziemlich lange Zahl von 3Milliarden nochwas. Doch ich will das meine Zeit ab Beginn der Messung läuft. Also die Sekunden mit dem Beginn des Messvorgangs gemessen werden.
Wie kann ich sowas machen?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Messwerte in Datei abspeichern
Dann brauchst du also nur eine Differenz zwischen dem Zeitstempel beim Start und dem aktuellen Zeitstempel.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Messwerte in Datei abspeichern
Na ja, du nimmst dir den Zeistempel vor dem Start der While-Schleife und eins in der Schleife und subtrahierst diese voneinander. Somit bekommst du die Differenz raus.
Re: Messwerte in Datei abspeichern
Also ich habe in meinem Konstrukt eine Sekunden nach Datum/zeit vi drin, mit dem Unbundle by Name auf Sekunden gibt er mir nur die Sekunden aus. Also schon irgendwie richtig, doch mit jedem neuen Erzeugen der txt Datei ist die vorherige Messung noch drin, und der Timer beginnt nicht von 0 wieder zu zählen, sondern geht immer nach der aktuellen Systemzeit. Vermute ich also. Meine vi ist in 8.6 erstellt, vielleicht kann man sie ja nun öffnen.
- Вложения
-
- konvert.vi
- (8.89 КБ) 280 скачиваний
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Messwerte in Datei abspeichern
Ja jetzt beginnt er mit jedem Start ab Null. Doch wieso erhalte ich folgende Time-Werte, (Nachkommazahl) wenn ich mein Double Wert verändere, siehe Anhang. ?
P.S. habe in deinem BD-Anhang eine VI-Funktion nicht gefunden, und zwar mit dem Eingang "end". Wofür ist sie gut??
P.S. habe in deinem BD-Anhang eine VI-Funktion nicht gefunden, und zwar mit dem Eingang "end". Wofür ist sie gut??
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Messwerte in Datei abspeichern
Die Funktion mit END heisst Set File Position, damit die Zeile nicht überschrieben wird, sondern hinten angehängt. Aber wenn es auch ohne funzt, dann brauchst du sie auch nicht.
Die Nachkommastellen bekommst du wegen der Formattierung "%f". Wenn du sie nicht brauchst, dann musst du die Zeistempeldifferenz anders formattieren mit "%d". Ich denke du kommst schon drauf, wie man das macht. Oder?
Die Nachkommastellen bekommst du wegen der Formattierung "%f". Wenn du sie nicht brauchst, dann musst du die Zeistempeldifferenz anders formattieren mit "%d". Ich denke du kommst schon drauf, wie man das macht. Oder?