22.03.2020, 01:11
Hallo Zusammen,
leider habe ich ein kleines Problem mit TDMS-Dateien. Das Problem kann ich leider nicht näher beschreiben, da ich nur indirekt damit zu tun habe.
Aber vielleicht kann mir Jemand dabei helfen das Problem zu lösen, was mir sehr helfen würden.
Ich habe mir ein ziemlich aufwendiges Python Script geschrieben, um eine vielzahl von TDMS-Dateien auszulesen, zu sortieren, bearbeiten, plotten und umzuwandeln.
Das hat mir extrem viel Arbeit abgenommen.
Leider ist es so, dass es im LabView Programm, weches die TDMS-Daten erzeugt, vor einigen Monaten ein Update gab. Seither funktioniert das einlesen der TDMS-Daten nicht mehr. Zwar habe ich nun einen Workaround mit VBA, der aber nicht annähernd an Python heran kommt und auch nur CSV-Dateien verarbeiten kann, womit diese zuerst alle manuell per Excel-Addin geöffnet und abgespeichert werden müssen.
Versuche ich die TMDS-Dateien zu exportieren, gibt es die Meldung, dass extended float nicht mehr unterstützt werden. Der Programmierer des Python Paketes hat auch darauf hingewiesen:
Limitations
This module doesn’t support TDMS files with XML headers or with extended floating point data.
TDMS files support timestamps with a resolution of 2^-64 seconds but these are read as numpy datetime64 values with microsecond resolution.
Ich habe nachgefragt, um herauszufieden warum die TDMS-Dateien auf einmal nicht mehr kompatiebel sind, jedoch haben mir die LV Expterten gesagt, dass es keinen Unterschied gäbe.
Als Test habe ich mir eine TDMS-Datei genommen, welche vor dem Update erzeugt wurde und eine neue. Von den Informationen die dort enthalten sind und von den Datentypen scheint es keinen Unterschied zu geben.
Lade ich die alten Dateien ins Skript, funktioniert alles ohne Probleme, lade ich die neuen rein, bekomme ich die oben genannte Fehlermeldung.
Falls mir Jemand sagen kann, was zu dieser Änderung geführt haben könnte und was ich den LV Menschen sagen kann, damit sie die Dateien wieder so abspeichern können, dass diese geladen werden können, wäre ich euch wirklich sehr dankbar !
Meine Vermutung ist, dass es evt. eine eine neue Version von LV aufgespielt wurde und nun die Datentypen unterschiedlich sind, so dass man nichts daran ändern kann, aber ggf. gibt es ja eine Möglichkeit die ganzen Dateien Batchmäßig in andere TDMS zu konvertieren ? Oder auch mit einer neureren LV Version im alten Format zu speichern ?
Am schönsten wäre es, wenn die Dateien sofort als CSV, txt gespeichert würden, wobei ich nicht weiß ob das bei LV standardmäßig möglich ist?
Vielen Dank schon einmal im Voraus !
leider habe ich ein kleines Problem mit TDMS-Dateien. Das Problem kann ich leider nicht näher beschreiben, da ich nur indirekt damit zu tun habe.
Aber vielleicht kann mir Jemand dabei helfen das Problem zu lösen, was mir sehr helfen würden.
Ich habe mir ein ziemlich aufwendiges Python Script geschrieben, um eine vielzahl von TDMS-Dateien auszulesen, zu sortieren, bearbeiten, plotten und umzuwandeln.
Das hat mir extrem viel Arbeit abgenommen.
Leider ist es so, dass es im LabView Programm, weches die TDMS-Daten erzeugt, vor einigen Monaten ein Update gab. Seither funktioniert das einlesen der TDMS-Daten nicht mehr. Zwar habe ich nun einen Workaround mit VBA, der aber nicht annähernd an Python heran kommt und auch nur CSV-Dateien verarbeiten kann, womit diese zuerst alle manuell per Excel-Addin geöffnet und abgespeichert werden müssen.
Versuche ich die TMDS-Dateien zu exportieren, gibt es die Meldung, dass extended float nicht mehr unterstützt werden. Der Programmierer des Python Paketes hat auch darauf hingewiesen:
Limitations
This module doesn’t support TDMS files with XML headers or with extended floating point data.
TDMS files support timestamps with a resolution of 2^-64 seconds but these are read as numpy datetime64 values with microsecond resolution.
Ich habe nachgefragt, um herauszufieden warum die TDMS-Dateien auf einmal nicht mehr kompatiebel sind, jedoch haben mir die LV Expterten gesagt, dass es keinen Unterschied gäbe.
Als Test habe ich mir eine TDMS-Datei genommen, welche vor dem Update erzeugt wurde und eine neue. Von den Informationen die dort enthalten sind und von den Datentypen scheint es keinen Unterschied zu geben.
Lade ich die alten Dateien ins Skript, funktioniert alles ohne Probleme, lade ich die neuen rein, bekomme ich die oben genannte Fehlermeldung.
Falls mir Jemand sagen kann, was zu dieser Änderung geführt haben könnte und was ich den LV Menschen sagen kann, damit sie die Dateien wieder so abspeichern können, dass diese geladen werden können, wäre ich euch wirklich sehr dankbar !
Meine Vermutung ist, dass es evt. eine eine neue Version von LV aufgespielt wurde und nun die Datentypen unterschiedlich sind, so dass man nichts daran ändern kann, aber ggf. gibt es ja eine Möglichkeit die ganzen Dateien Batchmäßig in andere TDMS zu konvertieren ? Oder auch mit einer neureren LV Version im alten Format zu speichern ?
Am schönsten wäre es, wenn die Dateien sofort als CSV, txt gespeichert würden, wobei ich nicht weiß ob das bei LV standardmäßig möglich ist?
Vielen Dank schon einmal im Voraus !