LabVIEWForum.de
Daten in txt Datei schreiben (Textdatei) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Daten in txt Datei schreiben (Textdatei) (/Thread-Daten-in-txt-Datei-schreiben-Textdatei)



Daten in txt Datei schreiben (Textdatei) - dreikaesehoch - 21.01.2010 00:21

Guten Abend, nach 2 Tagen rumprobieren und alles zusammen stöpseln was irgendwie nach Array und File I/O aussieht bin ich auf diese Lösung gekommen.

Vielleicht ist jemand der sich besser auskennt so freundlich und tut sich die Qual an meinen Code anzuschauen und macht ein kleines Beispiel wie es besser geht.

Ich habe nämlich das Gefühl es ist Unfug jedesmal neu in die Datei zu schreiben statt alles auf einmal , aber bekomme es einfach nicht hin.

Wenn ich shift register und ähnliches nehme habe ich das Prob das bei meiner Messung die Werte der alten Messung nicht vergessen werden, sondern
die neuen hinten angehängt werden (Woher soll das Programm auch wissen das die NICHT Messwerte zusammen gehören sondern eine NEUE Messung gestartet wurde).

Ich schätze das shift Register vergisst eben die alte Messung nicht, mit initialisieren durch ein leeres Array habe ich es nicht
hinbekommen. Überhaupt ist das Initialisieren mir ein Rätzel , besonders wenn es noch um Arrays geht.

Vielleicht könnte jemand etwas wie das unten nur eben mit shift Registern machen.

Vielen Dank

Es handelt sich um LabVIEW 2009


Daten in txt Datei schreiben (Textdatei) - SeBa - 21.01.2010 08:20

Moin,

richtig verstanden hab ich dich jetzt nicht...

...aber ich hab dir mal zwei Beispiele zusammengeklickt:

[attachment=23784]



Gruß SeBa


Daten in txt Datei schreiben (Textdatei) - dreikaesehoch - 21.01.2010 11:23

Guten Morgen SeBa,

danke für die Mühe.

Ich habe das 2te Beispiel mal ausprobiert aber bekomme als Ergebnis in meiner Datei:

1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
1.000000 2.000000 3.000000
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN

Wie wird man die NaN los ? Einen ähnlichen Fehler hatte ich auch versucht in meinem ersten Beitrag zu beschreiben.


Daten in txt Datei schreiben (Textdatei) - dreikaesehoch - 21.01.2010 11:29

Also bei dem Versuch das Beispiel so zu machen wie ich es wollte ist jetzt genau der Fehler wieder aufgetaucht den ich in meinem
Originalprogramm hatte.

Das die Ausgabedatei wächst.


Beim ersten Lauf des Programms

Speicher in in Schleifentest und habe 10 Zeilen


Beim zweiten Lauf des Programms

Speicher ich in Schleifentest2 und habe 20 Zeilen (will aber nur die neusten 10 und nicht noch die alten dazu)


Daten in txt Datei schreiben (Textdatei) - SeBa - 21.01.2010 11:30

Du reduzierst die Anzahl der (erzeugten) Zeilen (Numerisches Element 3) auf die Anzahl der zu speichernden Zeilen...


Daten in txt Datei schreiben (Textdatei) - dreikaesehoch - 21.01.2010 11:51

Keine Ahnung was das bedeuten soll.

Hier mal ein Beispiel das so nah wie möglich ein meinem Programm ist ohne unnötig kompliziert zu sein

Ich habe halt gedacht das ich erstmal alle Messwerte in einem Array oder so zwischen lagern kann, um am Ende zu entscheiden
ob die Messung überhaupt gut war und wenn ja sie zu speichern.

Jetzt mache ich es so das immer alles in eine Datei geschrieben wird und ich die dann von Hand löschen muss.

Danke


Daten in txt Datei schreiben (Textdatei) - SeBa - 21.01.2010 12:20

' schrieb:Du reduzierst die Anzahl der (erzeugten) Zeilen (Numerisches Element 3) auf die Anzahl der zu speichernden Zeilen...
' schrieb:Keine Ahnung was das bedeuten soll.

Im unteren Beispiel legt das "Numerische Element 3" fest, wie oft die Forschleife ausgeführt wird. Willst du 10 Zeilen speichern, stellst du genau das auch ein.
Es wird dann ein leeres Array initialisiert mit NaN Einträgen. Innerhalb der Schleife wird dann der jeweilige Index mit den Messwerten überschrieben.

Initialisierst du ein Array größer als du dann Messwerte reinschreibst, bleibt der nicht überschriebene Teil halt NaN.


Weiterhin verstehe ich immer noch nicht genau was du nun mit dem 1. Lauf deines Programmes meinst. Dein Programm besteht im Grunde genommen aus einer Forschleife. Wenn du es einmal ausführst, beendet es sich nach Ausführung.

Mein Beispiel wird dir selbst mit einer Whileschleife drumrum immer nur die Anzahl der initialisierten Werte in die Datei schreiben.

Ich stehe leider auf dem Schlauch...


EDIT:

Und dann bin ich doch noch vom Schlauch runtergetreten...

Rechtsklick auf die linke Seite des Schieberegisters -> Erstellen -> Konstante.
Dann sollte es klappen, so wie du es hoffentlich möchtest.
Gruß SeBa


Daten in txt Datei schreiben (Textdatei) - dreikaesehoch - 21.01.2010 12:42

Öffne mal folgendes Programm,

drücke auf den weissen Pfeil,

Dateiname : SCHLEIFE1.txt ,

nochmal weisser Pfeil ,

Dateiname : SCHLEIFE2.txt

und dann die Dateien anschauen



(Die genauen Anweisungen nur damit wir wieder über das selbe reden, bitte nicht anderweitig falschverstehen).



Dann dein Programm nicht gemacht hat was ich wollte und es nicht mehr habe werde ich es auch nicht nochmal zusammen bauen, mittlerweile glaube ich es
geht gar nicht mit Schieberegistern.

Bin auch etwas vewirrt jetzt


Daten in txt Datei schreiben (Textdatei) - SeBa - 21.01.2010 12:45

...das hier schon umgesetzt? Laut deinem Screenshot nicht.

' schrieb:...
EDIT:

Und dann bin ich doch noch vom Schlauch runtergetreten...

Rechtsklick auf die linke Seite des Schieberegisters -> Erstellen -> Konstante.
Dann sollte es klappen, so wie du es hoffentlich möchtest.


Gruß SeBa


Daten in txt Datei schreiben (Textdatei) - dreikaesehoch - 21.01.2010 12:50

Und dann bin ich doch noch vom Schlauch runtergetreten...

Rechtsklick auf die linke Seite des Schieberegisters -> Erstellen -> Konstante.
Dann sollte es klappen, so wie du es hoffentlich möchtest.
Gruß SeBa


Ja genau, die Schieberegister sind recht fies für den Anfänger.

Das was du jetzt vorgeschlagen hast habe ich auch die ganze Zeit probiert aber irgendwie nicht hinbekommen.

Was mich nur wundert, wenn ich das bei meinem Programm mache sieht es so aus :




Warum ist das Konstanten Array links 2 dim ??? Merkt der quasi anhand des Codes das es mal 2 dim werden wird ???

Daran bin ich bei meinen Versuchen vermutlich gescheiter da ich immer sowas wie ein 1 dim Array als Initialisierung nehmen wollte.
Hatte auch Probleme da ich nicht mehr den Unterschied zwischen Array im Frontpanel oder im Blockdiagramm gecheckt habe.

Erst dein Rechts Klick Vorschlag war die Lösung.


DAS PROGRAMM MACHT WAS ES SOLL, HABE AUS VERSEHEN DEN FALSCHEN SCREENSHOT GENOMMEN; EINFACH DIE TEXTKÄSTEN WEGDENKEN

Gruesse dreikaesehoch