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 

Dieses Thema hat akzeptierte Lösungen:

Lesen großer txt ohne Laufzeiteinbußen



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!

26.11.2018, 16:10
Beitrag #21

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: Lesen großer txt ohne Laufzeiteinbußen
Die Daten sind z.T. stark gestört, und da ist vermutlich schon bei der Aufnahme etwas suboptimal gelaufen. Man kann einen gesampelten Verlauf nur dann innerhalb der möglichen Bandbreite von fo = 1/2ts wieder rekonstruieren, wenn entweder der Verlauf kein höheren Frequenzen enthalten hat, oder, wenn nicht, vor der Digitalisierung ein analoges Tiefpassfilter Filter mit fo < 1/2ts vorgeschalten wurde. Das war hier offensichtlich nicht der Fall. Das ist aber auch schwierig zu machen. Aber da gibt es zum Glück noch eine andere Möglichkeit, die überhaupt nix kostet: Da Abtastrate so hoch wie möglich wählen, also z.B 1000Hz statt 1Hz, und, damit nicht zu viel Datenmüll entsteht, gleich von Anfang an von je 1000 Samples den Mittelwert bilden und speichern.
Das Gleiche gilt aber auch, wenn man die erfassten Daten nachträglich weiter reduzieren will. Also nicht jede 50ste Sample verwenden, sondern immer die Mittelwerte von 50 Samples zu einer Sample zusammenfassen.
Und die weitere positive Nachricht: Dafür gibt es ein fertige Funktion. Die macht aus den nicht äquidistanten XY-Paaren einen Verlauf mit konstantem dt und besorgt auch die Mitelwertbildung bzw. Filterung (nach verschiedenen Methoden).
Zu finden unter: Signalverarbeitung/Aufbereitung/Neuabtastung
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2018, 15:33 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2018 15:35 von Philipp841.)
Beitrag #22

Philipp841 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Mar 2018

LV 2015 SP1 32bit
2016
DE

28359
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen
Hallo Lucki,

bzgl. dieses Posts:


(29.10.2018 22:08 )Lucki schrieb:  Das ist ein allzu bekanntes Problem. Dann wird der Dezimalpunkt in Deiner Datei nicht als Dezimal-Trennzeichen anerkannt. Wenn Du Labview und ein deutsches Windows installiert hast und in beiden die Standardeinstellungen gelassen hast, dann ist das leider der Fall. Das zu ändern gibt es mehrere Möglichkeiten:
1. Ganz einfach: Das Formatzeichen "%.;" (ohne Anführungszeichen) verwenden.
2. In den Labview-Optionen "Frontpanel/Lokales Dezimalzeichen" das Häkchen entfernen.
3. In Windows in den Zeit- und Datumseinstellungen den Dezimalpunkt statt des Kommas als lokale (Länder-) Einstellung festlegen.

Ich habe bei mir das Letzgenannte gemacht, und deshalb hatte ich das Problem nicht.
Gruß Lucki

Ich stehe vor der Aufgabe, dass ich von der Anwendung eine .exe zu erstellen habe, die auf einem sog. Zielrechner zum laufen kommt. Auf dem Zielrechner ist die Änderung des Dezimal-Trennzeichens (in Windows) jedoch nicht gewünscht.

Variante 1: Wird von mir favorisiert. Die Änderung des Strings am "Tab. mit Trennzeichen lesen"-Block auf "%.;" oder "%.;.3f" hatte jedoch keinen Effekt. Könntest du mir (anhand des beigefügten Screenshots) bitte einmal aufzeigen, wo genau der Format-string zu ändern ist, und wie genau die Sytax lautet, wenn ich
1) den Punkt als Trennzeichen und
2) drei Nachkomma(punkt)stellen haben möchte.)
Variante 2: Funktioniert, jedoch nur wenn die Anwendung als .VI läuft. Erstelle ich eine .exe davon funktioniert es nicht mehr. (Es sei denn Variante 3 wird zusätzlich umgesetzt.)
Variante 3: Ist für den Zielrechner nicht gewünscht.

Ich tendiere so zu Variante 1, da ich annehme, dass wenn ein VI nach Variante 1 programmiert ist, eine daraus erstellte .exe sich dann genau so verhält; Korrekt?

Wieder einmal vielen Dank im Voraus & schöne W.e.,
Philipp


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.12.2018, 18:06 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2018 18:15 von GerdW.)
Beitrag #23

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen
Hallo Philipp,

die Funktion ReadDelimitedTextfile erwartet dort den passenden Formatstring.
Wenn deine Zahlen nach "deutschen" Konventionen gespeichert wurden, solltest du dort %,; angeben, um ein Komma als Dezimaltrennzeichen zu definieren!

Man könnte sich auch einfach mal die LabVIEW-Hilfe zu den Formatstrings durchlesen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2018, 10:09
Beitrag #24

Philipp841 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Mar 2018

LV 2015 SP1 32bit
2016
DE

28359
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen
Hallo Gerd,

ich habe bereits eine ganze Menge Zeit mit der LabView Hilfe zugebracht und natürlich schon längst von der Syntax gelesen. Meine Daten haben das folgende Format: 1.20663 (also amerikanisch)

Gebe ich %.3f im Formatstring des "Delimited Read" Block an wird das VI korrekt ausgeführt, sprich meine Daten inkl. Kommazahlen verarbeitet. Erstelle ich aus dem VI jedoch eine .exe und führe sie auf dem selben Rechner aus, werden die Kommazahlen abgeschnitten. Dies führt natürlich zu schwerwiegenden Fehlern.

Ich benötige hierfür eine Lösung ohne in Windows das Standard-Trennzeichen vom Komma auf den Punkt zu ändern.

Danke für die Hilfe.

Philipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2018, 10:25
Beitrag #25

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen

Akzeptierte Lösung

Hallo Philipp,

Zitat:Ich benötige hierfür eine Lösung ohne in Windows das Standard-Trennzeichen vom Komma auf den Punkt zu ändern.
Dann musst du deiner EXE explizit mitteilen, dass du das englische Zahlenformat auch auf einem Computer mit deutschen Regionaleinstellungen verwenden willst.
Ich verwende dafür "%.;%f"…

Zitat:Gebe ich %.3f im Formatstring des "Delimited Read" Block an wird das VI korrekt ausgeführt, sprich meine Daten inkl. Kommazahlen verarbeitet.
Hast du in den LabVIEW-Optionen etwa eingestellt, dass die Betriebssystem-Vorgabe NICHT beachtet werden sollen? (Pfui!)
Dann gilt das natürlich nur für LabVIEW (bzw. für die IDE) selbst!
Du könntest deiner EXE aber auch einen Key im zugehörigen INI-File mitgeben, sodass sie ebenso die Windows-Vorgaben ignoriert. Ich bevorzuge aber die klare und damit dokumentierte Programmierung.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2018, 11:04
Beitrag #26

Philipp841 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Mar 2018

LV 2015 SP1 32bit
2016
DE

28359
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen
Hy Gerd,

vielen Dank! Die syntax "%.;%f" im Format String des "Read Delimited" - Blocks hat es gerichtet! Nun läuft auch die .exe auf dem Rechner auf dem ein Komma als Standardtrennzeichen definiert ist.

Ich habe in den LabView-Optionen unter "Lokales Dezimalzeichen verwenden" das Häckchen wieder gesetzt. Darauf bezog sich dein Pfui, oder?

Und zuletzt: Basierend auf der LabView-Hilfe-Seite "Syntaxelemente für Formatbezeichner" wäre ich NIE Ahrg1 darauf gekommen, dass so die Lösung aussehen würde. Hast du einen Tipp für mich, wo ich weitere / detaillierte Infos zu Themen wie diesen erhalten kann?

(Falls nicht, vielleicht kann st du mir die Knack-punkt-Stelle auf der Seite einmal nennen, aus der diese Information hervor geht?)

Danke Dir!
Philipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.12.2018, 11:18
Beitrag #27

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen
(18.12.2018 11:04 )Philipp841 schrieb:  Hast du einen Tipp für mich, wo ich weitere / detaillierte Infos zu Themen wie diesen erhalten kann?

(Falls nicht, vielleicht kann st du mir die Knack-punkt-Stelle auf der Seite einmal nennen, aus der diese Information hervor geht?)


Hallo Philipp,

was die Formatbezeichner angeht, kann man einfach die Funktion "Format into String" irgendwo im BD platzieren und mit einem Doppelklick auf die Funktion in den Dialog für die Formatbezeichner gehen. Dort kann man dann einfach auswählen, was man möchte und LabView baut dir den entsprechenden Formatstring zusammen.
Ähnlich geht es in dem Formatierungsdialog eines FP-Elements --> Fortgeschrittener Bearbeitungsmodus.

Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2018, 11:38
Beitrag #28

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen
Hallo Philipp,

die Formatsyntax für "%,;" und "%.;" wird doch explizit in der Hilfe beschrieben...

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


Gehe zu: