LabVIEWForum.de - Lesen großer txt ohne Laufzeiteinbußen

LabVIEWForum.de

Normale Version: Lesen großer txt ohne Laufzeiteinbußen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ja, wenn Dir das Format dieser "Art Zeitstempel" nicht bekannt ist, woher sollen wir das dann wissen? Ein Labview-Zeitstempel ist es jedenfalls nicht.
Sind das wenigstens Sekunden? Wird da ca. alle 1 Sek ein Messwert aufgenommen?
Was sich machen ließe: Von den Zeitwerten in der ersten Spalte wird immer der erste Wert 410000.43968 subtrahiert. Man erhält dann relative Zeiten, beginnend bei Null. Dann kann man, wenn man das will, als neuen Offset noch das Startdatum 22.10.2018 17:18 aufaddieren.
(Das Datum kann man in einen Zeitstempel konvertieren, und diesen in eine Zahl) Mit dieser Zeit-Zahl läßt sich in der X-Achse die Zeit als Datum darstellen.
[attachment=59547]
(02.11.2018 15:52 )Philipp841 schrieb: [ -> ]Ah - moment. Vermutlich habe ich etwas Falsches behauptet, wenn ich sage, dass ich über ein "Spalte mit Zeitstempeln" verfüge. Es ist so, dass ich in der ersten Zeile einen String mit Startdatum und Uhrzeit habe und dann fortlaufend eine "Art" Zeitstempel, die z.B. bei 4.960.185 beginnt und über 1000 Zeilen bis 13.424.732.451 geht.

Demnach enthält mein darzustellender Datensatz einen Startwert und dann halt die relativ verstrichene Zeit in einem mir nicht bekannten Format..
Erstellst du nicht selber die Messdatei, bzw. hast du das nicht selber programmiert? Dann musst du auch wissen, wie diese "Zeitstempel" zu Stande kommt.

Ansonsten Rtmfx - alternativ analysiere den Sourcecode der Messwert-Erfassung und -Speicherung, falls du darauf Zugriff hast.

Gruß, Jens
Moin & vielen Dank.

Das VI von Lucki kommt meinem Wunsch schon sehr nahe. Werde nun erstmal nachvollziehen was dort genau geschieht und mich dann vermutlich mit weiteren Fragen an Euch wenden!

Danke!

Philipp
Hy Lucki,

also, das Tool funktioniert sehr gut, zieht aber leider immernoch zu viel CPU & Arbeitsspeicher. Insbesondere das Einlesen zu Beginn zerrt bei größeren Files sehr an den Ressourcen. (Die Funktion mit den Adjustern habe ich mitlerweile bereits eliminiert.)

Ich habe folgende zwei Ansätze wie man den Rechenaufwand reduzieren könnte; leider jedoch noch keine Idee, wie man dies in die Tat umsetzen könnte.

1 Ansatz: Reduzieren der Zeilen die von dem VI eingelesen werden.
Die Idee ist, dass das VI sich nur jede 2.-50. Zeile eder .txt anschaut. Den Wert solte man dann in der Oberfläche zuvor eingeben können.

2. Ansatz: Reduzieren der Werte, die in dem Chart angezeigt werden
Es werden zwar alle werte eingelesen, jedoch nur jeder 2.-50. Wert in dem Diagramm dargestellt. Auch hier sollte der Wert einstellbar sein.

Wäre klasse, wenn du mir sagen könntest, ob meine Ideen aufgehen könnten und vielleicht auch, wie ich es am Besten mache.

Danke & Gruß,
Philipp
Hallo Philipp,

Zitat:1 Ansatz: Reduzieren der Zeilen die von dem VI eingelesen werden.
Die Idee ist, dass das VI sich nur jede 2.-50. Zeile eder .txt anschaut. Den Wert solte man dann in der Oberfläche zuvor eingeben können.
Einfach in einer Schleife: jeweils die gewünschte Anzahl Zeilen lesen (ReadText erlaubt eine entsprechende Vorgabe) und dann von den gelesenen Zeilen nur (je Block) eine weiterverwenden.
(Siehe auch die Kommentare hier.)

Zitat:2. Ansatz: Reduzieren der Werte, die in dem Chart angezeigt werden
Es werden zwar alle werte eingelesen, jedoch nur jeder 2.-50. Wert in dem Diagramm dargestellt. Auch hier sollte der Wert einstellbar sein.
In einer Schleife über die Daten eines Plots iterieren: jeweils ein Subarray mit der gewünschten Anzahl Werte auswählen und davon einen Wert auswählen/berechnen (z.B. Mittelwert). Diese berechneten/dezimierten Werte dann plotten…
Es ist als Außenstehender überhaupt nicht möglich, deine Ansätze zu bewerten - machbar ist alles. Jede Informationsverarbeitung ist letztlich Datenreduktion, damit der Mensch mit seiner bescheidenen Verarbeitungskapazität z.B in einem Diagramm mit einem Blick das Wesentliche erkennt, was aus der Unzahl von Rohdaten so nicht möglich gewesen wäre.
Wir wissen ja überhaupt nicht, was das für Daten sind und welche Informationen dir davon wichtig sind. Davon hängt dann ab, ob man die reduzieren darf oder nicht.
Was soll das z.B: Anfangs ist bei den Zeitwerten dt=1s, dann im Mittelteil ist dt=0.1s, später wieder ist dt=1s. Welcher Sinn steckt da dahinter?
Die aufgezeichneten Daten sind Messwerte von zwei Weg und zwei Kraftsensoren. Das dt variert, da während des Versuches die Samplerate geändert wurde.

Vermutlich wurde meine Frage etwas falsch verstanden. Es geht mir nicht darum, dass ihr beurteilt, ob die Sinnhaftig des Diagramms gefährdet wird. Mir geht es nur darum, dass ich gerne weniger Werte (Zeilen) einlesen möchte (also jede x-te) um den Rechenaufwand zu reduzieren.

Es wäre klasse, wenn man mir anhand der hochgeladenen Datei erklären könnte, was ich dafür zu tun habe. (Sry. an Gerd - hab deine Vorschläge noch nicht geblickt)

Danke,
Philipp
Hallo Philipp,

eine Textdatei öffnen, jeweils 50 Zeilen lesen und die erste davon weiterverwenden:
[attachment=59580]
Hallo Gerd,

vielen Dank! Jetzt habe ich deinen Lösungsansatz verstanden! Danke.

Werde mich nun daran machen, das Auslesen per Schleife (für jede x.te Zeile), mit dem vorherigen Lesen der ersten drei Zeilen (zur Ermittlung der richtigen Dateiposition) iwie zu verheiraten.

Ich hoffe ich darf mich nochmal an Euch wenden, wenn dies garnicht klappen sollte.

Danke & Gruß,
Philipp
Hallo Philipp,

Zitat:das Auslesen per Schleife (für jede x.te Zeile), mit dem vorherigen Lesen der ersten drei Zeilen (zur Ermittlung der richtigen Dateiposition) iwie zu verheiraten.
3 Zeilen lesen, danach dann jede 50ste:
[attachment=59586]
Seiten: 1 2 3
Referenz-URLs