INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dateiposition festlegen



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!

28.10.2009, 12:09
Beitrag #1

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Dateiposition festlegen
Hallo zusammen,

ich will ein Pendant zu dem VI schreiben, dass mir hier gezeigt worden ist. Kurz: ich will in großen Messdateien (bis zu 300 MB *.lvm) beliebig hin und her scrollen können ... dazu wird eben nur ein bestimmter Bereich der Messdaten gelesen. Für tdms Dateien klappt das wunderbar, weil man beim "TDMS: Lesen" VI den Offset und die Anzahl (der zu lesenden Messwerte) in "Samples" angibt. Wenn ich jetzt das Gleiche für *.lvm (ascii) Dateien nachbauen möchte muss ich mit dem VI "Dateiposition festlegen" vorlieb nehmen. Dort wird der Offset allerdings in Byte angegeben ... an sich nicht schlimm aber meine Zeilen sind nicht immer gleich groß, da es sich um ein bipolares Signal handelt: je nachdem wieviele der 4 Messwerte negativ sind, schwankt die Zeilegröße von 49 bis 52 Bytes. Wenn ich also in Zeile X möchte weiß ich nicht wieviele Bytes zu überspringen sind...

Gibt es eine Möglichkeit durch die angabe der Zeilennummer in einer ascii-Datei zu springen?

Oder muss ich schon beim Abspeichern der Daten das Problem anpacken? (Ich speichere meine Daten mit der Express VI ab.)

Beispieldatei:
Sonstige .txt  EMG_daten2.lvm.txt (Größe: 2,16 MB / Downloads: 296)



Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2009, 13:35
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Dateiposition festlegen
Hi,

du kannst die Datei zeilenweise einlesen und die Anzahl der Bytes/Zeile in einem Array ablegen. Dann kannst du mit der Angabe der Zeilennummer die du anzeigen möchtest, die Summe der Bytes der davor liegenden Zeilen berechnen und den Dateizeiger an die gewünschte Position setzen.

Hier ein Beispiel für eine Zeile:
   
   

Willst du mehrere Zeilen ab dem Dateizeiger ausgeben, musst du die entsprechende Anzahl der Zeichen od. Zeilen an den Anzahl-Eingang der "Textdatei lesen" geben.

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2009, 14:37
Beitrag #3

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Dateiposition festlegen
Hallo SeBa,

über diese Variante habe ich auch nachgedacht. Klasse dass du es direkt auch umgesetzt hast! Ich muss mal testen wie lange das anlegen des arrays dauert (bei großen Messdateien) und mit was für einer Latenz die anzuzeigenden Daten dargestellt werden.

Je nach dem tendiere ich dazu einfach einen Konverter (lvm zu tdms) einzubauen. Dann hat man zwar einmal 'ne lange Rechenzeit ... danach aber den Komfort der Binärdateien.

Vielen Dank für die Mühe. Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2009, 14:49
Beitrag #4

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Dateiposition festlegen
' schrieb:Je nach dem tendiere ich dazu einfach einen Konverter (lvm zu tdms) einzubauen. Dann hat man zwar einmal 'ne lange Rechenzeit ... danach aber den Komfort der Binärdateien.

Dann könnte der letzte Post für dich interessant sein: Guckst du hier...

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2009, 15:49
Beitrag #5

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Dateiposition festlegen
Danke für den Hinweis. Das VI von Lucki ist durchaus interessant in meinem Zusammenhang. Prinzipiell hatte ich aber beim Konvertieren nie Probleme mit dem Speicher, da das Express VI "Messwert aus Datei lesen" sowieso von Hause aus segmentweise ausliest und ich auch dementsprechend die Daten auch segmentweise speichere.

Lohnt sich denn der Weg über die primitives von der Perfomance her?

Bringt es viel, wenn ich die Daten "selbst auslese" und die Zahlenarrays "selbst" in Waveform wandel?


So hat's auch mit den größten Dateien funktioniert:
   

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Erforderliche Dateiposition festlegen Al_Dente 5 5.160 16.06.2008 09:35
Letzter Beitrag: rolfk

Gehe zu: