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 

Aus *.txt-Datei bei neuen Einträgen diese auslesen



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!

24.01.2013, 12:46
Beitrag #1

Aleph1 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 51
Registriert seit: Sep 2005

7.1 + 8.6.1
2005
de_en

69120
Deutschland
Aus *.txt-Datei bei neuen Einträgen diese auslesen
Hallo zusammen,
Das Problem das ich gerade vor mir sehe ist folgendes:
Ich habe eine *.exe (LV7.1, nicht selbst programmiert, kein Quellcode vorhanden), die mir aus einem Messgerät "kontinuierlich" Daten in eine *.txt-Datei schreibt und diesen Wert jeweils in einer neuen Zeile anhängt. Jetzt würde ich gern, dass dieser neue Wert mittels einem parallel laufenden Labview-Programm gelesen wird, so dass ich ihn weiterverarbeiten kann. Wenn möglich immer dann, wenn der neue Wert in die Datei geschrieben wird.
Die Datei immer wieder zum Werte einlesen öffnen, prüfen ob ein neuer Eintrag vorhanden ist, Wert auslesen und schließen ist nicht praktikabel, da die Datei immer größer und größer wird. Dazu fehlt mir leider schon die Idee, wie ich die Datei auf neue Einträge prüfen kann. Eventuell könnte ich das über eine "kontinuierliche" Abfrage der Dateigröße realisieren. Nur weiß ich dann nicht, wie viele Werte seit dem letzten Durchlauf in die Datei geschrieben wurden.
Hat jemand eine Idee oder Lösung? Ich steh grad voll auf dem Schlauch.
Momentan verwende ich LV 7.1, was neueres gibt's leider in der Firma nicht.
Bin wie immer für jeden Vorschlag sehr dankbar.

Gruß
Karl
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.01.2013, 12:53
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus *.txt-Datei bei neuen Einträgen diese auslesen
Hallo Karl,

Zitat:Eventuell könnte ich das über eine "kontinuierliche" Abfrage der Dateigröße realisieren.
Das wäre der einfachste Weg.
Ein anderer wäre die Nutzung des Windows/DotNet-API, um sich von dort mitteilen zu lassen, wann Schreibzugriffe auf diese Datei erfolgen...

Zitat:die mir aus einem Messgerät "kontinuierlich" Daten in eine *.txt-Datei schreibt
Hier sehe ich ein Problem: je nachdem, wie das Alt-Programm die Datei geöffnet hat (exklusiv?), bekommst du gar nicht die Möglichkeit, diese Datei parallel ein zweites Mal (wenn auch nur lesend) zu öffnen. Außerdem: wenn du die Datei mit deinem Neu-Programm exklusiv öffnest, könnte das Alt-Programm aus dem Tritt kommen, da es dann selbst keinen Zugriff mehr bekommt...

Zitat:Nur weiß ich dann nicht, wie viele Werte seit dem letzten Durchlauf in die Datei geschrieben wurden.
Wenn du Glück hast, hast du in der Text-Datei Einträge mit fester Länge. Dann weißt du aus der Dateigröße automatisch die Anzahl der Werte...
Ansonsten: Dateigröße vom letzten Zugriff merken, Dateigröße mitsamt neuer Werte ermitteln, Differenz bilden und nur diesen Teil der Datei laden und auswerten...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.01.2013, 13:16
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Aus *.txt-Datei bei neuen Einträgen diese auslesen
Was macht dein Alt-Programm, wenn die txt-Datei plötzlich nicht mehr vorhanden ist? Legt es automatisch die Datei neu an oder kommt dann ein schwerer Fehler?

Dann funktioniert vielleicht folgendes: Nach Auslesen der Datei diese löschen/verschieben/umbennen?! Nicht ungefährlich, aber vielleicht geht es.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.01.2013, 16:01 (Dieser Beitrag wurde zuletzt bearbeitet: 07.07.2016 13:48 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Aus *.txt-Datei bei neuen Einträgen diese auslesen
Leider ist es nicht Usus, bei einer DAQ-Anfrage etwas mit über die Datenrate zu verraten. Es macht nämlich einen großen Unterschied, ob die Datenrate 10 kSamples/s oder 1 Sample/Min beträgt. Im letzgenannten Fall würde die Datei bei dem Alt-Programm wahrscheinlich bei jedemZugriff geöffnet und wieder geschlossen, und Deinen Chancen stehen gut, dass Du mit einem zweiten Programm auf die Daten zugreifen kannst.
Ansonsten ist meine Einschätzung, dass Du ohne Quellcode verraten und verkauft bist. Da wirst Du wohl um ein "Reverse Engineering" nicht herumkommen.
Dass Programme dem Auftraggeber ohne Quellcode geliefert werden ist mir sehr gut vertraut. Das wird gewöhnlich nur dann getan, wenn der Auftraggeber so schlau war das ausdrücklich zu vereinbaren. Aber auch interne Mitarbeiter dokumentieren nicht gern ihr Programm zur öffentlichen Einsicht. Das hätte ja zur Folge, dass eine Kündigung des Mitarbeiters keine Katastropphe hinterlässt, und das wäre unklug.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.01.2013, 18:55
Beitrag #5

Aleph1 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 51
Registriert seit: Sep 2005

7.1 + 8.6.1
2005
de_en

69120
Deutschland
RE: Aus *.txt-Datei bei neuen Einträgen diese auslesen
Danke für Eure Antworten,
ich seh schon, dass wird n rechter Sch... .
Die Daten werden in des File mit höchstens 1Hz geschrieben, eher mit 0.1Hz. Zugriffszeiten auf die Datei sollten daher kein Probelm darstellen. Nur wird die Datei einfach im laufe einer Nacht oder ein paar Tagen doch recht groß.
Ich denke, das man die Datei parallel öffnen kann, zumindest erlaubt mir Notepad++ die Betrachtung der Dateieinträge und meldet sich, wenn die Datei neu beschrieben wurde. Diese Meldung an Notepad++ geht wohl über über die Windows/DotNet-API, oder? Weiß jemand etwas genaueres dazu (nur rein interessehalber). Die Idee mit dem Vergleich durch die Bytegrößen und die daraus erfolgte Ermittlung der Neueinträge find ich gut, vielen Dank.
ich schau mal was sich daraus entwickelt und sag Bescheid wenn ichs irgendwie gelöst hab, oder die Nerven verloren hab.

Gruß
Karl
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.01.2013, 19:06
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus *.txt-Datei bei neuen Einträgen diese auslesen
Hallo Aleph,

hier mal ein Link ins MSDN...
Irgendwo bei LAVA oder im NI-Forum hatte ich auch mal VIs gesehen, die diese FileSystemWatcher umsetzen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Xml Datei auslesen luna 1 2.601 04.06.2021 18:22
Letzter Beitrag: GerdW
  Labview auf neuen Rechner installieren gottfried 5 4.169 11.02.2021 19:25
Letzter Beitrag: GerdW
  Suche Ideen für den Aufbau eines neuen Programms TpunktN 4 3.781 17.12.2020 11:23
Letzter Beitrag: MScz
  woher kommt diese Meldung? gottfried 2 2.949 14.09.2020 14:48
Letzter Beitrag: gottfried
  Neuen Pfad einer DLL angeben Ben16 2 3.772 01.02.2017 18:02
Letzter Beitrag: Ben16
  Daten aus txt.Datei auslesen Greensche 4 5.623 06.07.2016 15:44
Letzter Beitrag: Lucki

Gehe zu: