tdms anzeigen

Signal -erfassung, -verarbeitung und -ausgabe

tdms anzeigen

Postby F.Bi on 15 Aug 2014, 12:22

Hallo.

Ich habe mal ein kleines Test VI erstellt um das Problem zu verdeutlichen.

Es wird ein AD Signal aufgenommen und als tdms gespeichert (gepackt: test_data.7z - Link zur datei: http://www.file-upload.net/download-924 ... ta.7z.html). Im eigentlichen Programm werden die aufgenommenen Daten in aufeinanderfolgenden tdms Dateien mit z.B. 2 GB Größe geschrieben.

Später soll dieses Signal wieder geladen und angezeigt werden. Mit der Scrollbar (unter Data read from file) soll durch das Signal gescrollt werden und eigentlich wieder so angezeigt werden(Chart scaled signals [EU]), wie bei der Messwertaufnahme (test_data.jpg). Es wird allerdings nur ein Bereich in der Größe von number of samples per channel angezeigt (read_test_data.jpg).

AusgangsVI für das Scrollen ist ein LabVIEW Beispiel gewesen.

Messwertaufnahme erfolgt über NI USB-9162 / NI9234, die Hardware kann auch simuliert werden.
Umschalten zwischen AD Eingang (Betätigt) und Datei (Default) erfolgt über den Button AD/File.

Wie bekomme ich das Signal im Chart scaled signals [EU] wie bei der Messwertaufnahme angezeigt?
Die Parameter sind bei Aufnahme und Wiedergabe doch eigentlich identisch.

Das nächste Problem ergibt sich bei der weiteren Analyse des Signals, das in einem Intensity Chart (Frequency, Time, Amplitude) angezeigt werden soll.
Die Time (X-Axis) sollte eine wirkliche Zeitachse (Absolute time) sein und nicht nur eine Indexanzeige. (nicht im Beispiel VI enthalten).
Wie bekommt man eine echte Zeitachse hin?
Eine echte Zeitachse wäre auch für das oben genannte Scrollen durch die tdms Datei wichtig.

Gruß
Frank
Attachments
Test tdms.zip
Zip Datei mit Test VI und Beispiel JPGs
(109.23 KiB) Downloaded 172 times
F.Bi
interested
interested
 
Posts: 4
Joined: 24 Jul 2014, 15:49
LabVIEW Version: 2013
Karma: 0

Re: tdms anzeigen

Postby Borjomy_1 on 16 Aug 2014, 07:54

Сейчас вы считываете только первые "number of samples per channel". Для того, чтобы проигрывался весь файл, надо чтение поставить в цикл. Сейчас у вас в цикле выполняется еще и чтение длины файла, это надо ставить до цикла. Условие окончание цикла - "Eol" = истина. В цикле надо инкрементировать "offset" на "number of samples per channel"

Jetzt können Sie nur die erste "number of samples per channel" zu lesen. Um das gesamte Bild zu spielen, ist es notwendig, in der Lesezyklus gesetzt. Jetzt können Sie in der Schleife mehr und Lesen Länge der Datei ausgeführt wird, sollte es in den Kreislauf gebracht werden. Abbruchbedingung - "Eol" = true. In einer Reihe von Schritt sollte "Offset" werden, um die "number of samples per channel"
Borjomy_1
expert
expert
 
Posts: 1855
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: tdms anzeigen

Postby F.Bi on 18 Aug 2014, 09:14

An TDMS Read sind count (number of samples per channel) und offset (Scrollbar) angeschlossen, dadurch wird wie im Chart "Data read from file" auch in "scaled signals [EU]" dieser Bereich angezeigt, aber leider nicht, wie bei der Messwertaufnahme über "DAQmx Read" in "scaled signals [EU]" der ganze Verlauf.
Da die Parameter bei Aufnahme und Wiedergabe identisch sind, sollte sich die Anzeige doch identisch verhalten. Oder begehe ich da einen Denkfehler?
F.Bi
interested
interested
 
Posts: 4
Joined: 24 Jul 2014, 15:49
LabVIEW Version: 2013
Karma: 0

Re: tdms anzeigen

Postby Borjomy_1 on 18 Aug 2014, 09:42

TDMS "склеивает" записи по каждому каналу. Получается непрерывный поток данных. "number of samples per channel" показывает общий размер получившегося массива в файле. Если вы будете писать по 100 точек, то вычитывать получится и по 50 и по 70 и по 1000 точек. Выяснить размер каждого записанного "фрейма" не получится. Ведь в таком случае надо указывать номер фрейма, а не смещение. Это не предусмотрено.

TDMS "klebt" die Aufzeichnung auf jedem Kanal. Besorgen Sie sich einen kontinuierlichen Datenstrom. "number of samples per channel" zeigt die Gesamtmenge der resultierenden Anordnung in einer Datei. Wenn Sie 100 Punkte zu schreiben, wird es abziehen und 50 und 70 und 1000 Punkte. Finden Sie heraus, die Größe jedes der aufgezeichneten "Rahmen" wird nicht funktionieren. Denn in diesem Fall ist es erforderlich, die Rahmennummer anzugeben, und nicht "offset". Es ist nicht vorgesehen.
Borjomy_1
expert
expert
 
Posts: 1855
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: tdms anzeigen

Postby F.Bi on 21 Aug 2014, 14:43

Ich nehme jetzt nicht mehr die Scrollbar sondern erhöhe den Eingang, beginnend mit 0, um number of samples per channel "hochzählen".
Damit klappt es mit der Anzeige.
Rückwärts, also mit "runterzählen" funktioniert es allerdings nicht.
F.Bi
interested
interested
 
Posts: 4
Joined: 24 Jul 2014, 15:49
LabVIEW Version: 2013
Karma: 0


Return to Signalverarbeitung

Who is online

Users browsing this forum: No registered users and 0 guests

cron