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!
Ich nehme an, das Ganze läuft nachher unter Windows.
Um welche Datenmenge geht es denn grob (Zeitraum, Abtastrate)?
Du könntest die Daten sonst auch direkt als CSV-Datei speichern im ASCII-Format (evtl. manuell die einzelnen Zeilen zusammen setzen). Sowohl Windows als auch die Festplatte puffert Daten. D.h. bis zu einer gewissen Anzahl an Daten pro Zeiteinheit ist das überhaupt kein Problem.
Hängt die Festplatte dennoch kurz mal, dann sorgen Windows und die Festplatte selbst dafür, dass keine Daten verloren gehen. Gerade aufgrund mehrerer Puffer.
Du darfst die Datei natürlich nicht bei jedem Schreibvorgang öffnen und schließen, denn das kostet Zeit. D.h. vor der Messung öffnest bzw. erstellst du die Datei, dann füllst du sie über einen großen Zeitraum und schließt sie nach der Messung.
Einziger Nachteil dabei: Geht während der Messung etwas schief und du schaffst es nicht mehr, die Datei zu schließen, sind die Messdaten weg.
Ob das bei TDMS anders ist, weiß ich nicht.
' schrieb:Bei mir tritt bei TDMS lesen folgender Fehler auf:
Falls du die Daten mit den "normalen" TDMS Funktionen geschrieben hast, würde ich versuchen auf die G-TDMS umzusteigen und damit zu schreiben.
Hat allerdings ein paar Einschränkungen, nur Schreiben, kein Anhängen an vorhandene Datei, nicht alle Datentypen.
Aber ist nicht so buggy wie die "normalen" (USI-basierten) Funktionen und nebenbei je nach LV Version auch schneller und resourcenschonender.
Falls die Dateigrößen damit zu groß werden, weil viele kleine Datenhappen geschrieben werden, nach dem schließen eine TDMS-Defrag nachschieben.
Falls du unbedingt die Daten wiederherstellen musst, könnte es sein das "nur" ein oder mehrere Einträge der "next segment offset" eines TDMS-Segements fehlerhaft sind.
' schrieb:Du könntest die Daten sonst auch direkt als CSV-Datei speichern im ASCII-Format (evtl. manuell die einzelnen Zeilen zusammen setzen).
Dem kann ich nur zustimmen. 10-30 MB/s auf die Festplatte zu bekommen geht auch ohne TDMS - und das ist ja schon einiges.
' schrieb:Nur mal so: Wofür ist der Umweg über TDMS?
Kommt mir auch komisch vor der angestrebte Weg.
' schrieb:Einziger Nachteil dabei: Geht während der Messung etwas schief und du schaffst es nicht mehr, die Datei zu schließen, sind die Messdaten weg.
Ob das bei TDMS anders ist, weiß ich nicht.
Bei TDMS ist das kein Weltuntergang. Ich hab's schon ein paar mal ausprobiert und während der Messung einfach über den roten Punkt das VI beendet. Die TDMS lief tadellos, sogar die Eigenschaften wie besagtes ChanneLength wurden gesetzt.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
deine Angewohnheit Threads ab einem gewissen Zeitpunkt einfach sich selbst zu überlassen, ohne abschließendes Feedback zu geben, nährt nicht zwangläufig das Bedürfnis dir auch wieterhin so hingebungsvoll zu assistieren. Hier noch eins von zahlreichen Beispielen. Es ist schöner, wenn der Fragende genauso engangiert ist wie der, der die Fragen beantwortet.
Beste Grüße aus Bonn
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
' schrieb:Falls du die Daten mit den "normalen" TDMS Funktionen geschrieben hast, würde ich versuchen auf die G-TDMS umzusteigen und damit zu schreiben.
Hat allerdings ein paar Einschränkungen, nur Schreiben, kein Anhängen an vorhandene Datei, nicht alle Datentypen.
Aber ist nicht so buggy wie die "normalen" (USI-basierten) Funktionen und nebenbei je nach LV Version auch schneller und resourcenschonender.
Falls die Dateigrößen damit zu groß werden, weil viele kleine Datenhappen geschrieben werden, nach dem schließen eine TDMS-Defrag nachschieben.
Falls du unbedingt die Daten wiederherstellen musst, könnte es sein das "nur" ein oder mehrere Einträge der "next segment offset" eines TDMS-Segements fehlerhaft sind.
Wo finde ich diese G-TDMS Funktionen?
' schrieb:Hallo Honey,
deine Angewohnheit Threads ab einem gewissen Zeitpunkt einfach sich selbst zu überlassen, ohne abschließendes Feedback zu geben, nährt nicht zwangläufig das Bedürfnis dir auch wieterhin so hingebungsvoll zu assistieren. Hier noch eins von zahlreichen Beispielen. Es ist schöner, wenn der Fragende genauso engangiert ist wie der, der die Fragen beantwortet.
Beste Grüße aus Bonn
Hallo Dimi,
ich war gestern ausßer Haus, dementsprechend war ich auch nicht online. Es tut mir leid, wenn es bisher keine Feedbacks gabe. Kann sich bestimmt ändern lassen.
Bezüglich Daten blockweise aus der Datei lesen, weiß ich ehrlichgesagt nicht, wie ich das am besten realisieren soll. Bräuchte eventuell nähere Hinweise
' schrieb:Bezüglich Daten blockweise aus der Datei lesen, weiß ich ehrlichgesagt nicht, wie ich das am besten realisieren soll. Bräuchte eventuell nähere Hinweise
Wie gesagt, mit die Eingängen Offset und Anzahl:
Und nur mal um die Gesamtheit nochmal klarzustellen:
Du willst also große Datenmengen mit TDMS loggen und anschließend offline, wenn alles fertig ist, in ASCII-Dateien konvertieren. Richtig? Und direkt als ASCII speichern geht nicht, weil es zuviele Daten auf einmla sind. Richtig?
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
' schrieb:Und nur mal um die Gesamtheit nochmal klarzustellen:
Du willst also große Datenmengen mit TDMS loggen und anschließend offline, wenn alles fertig ist, in ASCII-Dateien konvertieren. Richtig? Und direkt als ASCII speichern geht nicht, weil es zuviele Daten auf einmla sind. Richtig?
Hallo dimi,
genau am Ende der Test soll die Datenmenge ASCII codiert werden und für direkte Speicherung ist nun mal die Datenmenge zu groß.
hier mal 2 Bilder von meinen While-Schleifen, die parallel laufen.
While Loop 1: Schreibt die Daten in TDMS
While Loop2: Liest Daten aus der TDMS
Genau im While Loop 2, im angezeigten Case-Struktur, tritt der Fehler auf... wo ich eigentlich eine feste Menge an Daten lesen möchte.
Ich hab das Bedenken, dadurch, dass die While-Schleifen gleichzeitig loslegen, die Daten für Lesen gar nicht vorhanden sind?
Oder lieg ich in meiner Denkweise falsch?
Ich bin immer noch skeptisch ob es nicht auch einfach direkt in ASCII funktionieren würde.
Kannst du mal was zu Datenrate und Menge sagen?
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!