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 

Dringend Hilfe gesucht!



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!

17.08.2006, 11:24 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2006 11:25 von marvin71.)
Beitrag #1

marvin71 Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Jun 2006

6.1
2006
kA


Deutschland
Dringend Hilfe gesucht!
Hallo zusammen,

ich suche noch immer Unterstützung bei einem Problem mit der Umeselung von Messdaten (vgl. mein Beitrag weiter unten). Mein Chefchen drängelt, ich habe kaum LabVIEW-Kenntnisse und müsste eigentlich an meiner Dissertation schreiben wo mir auch die Zeit im Nacken sitzt.
Vielleicht kann man an die ganze Geschichte ja auch ganz anders herangehen. Folgendes Szenario:

Ich will eine Temperaturkennlinie mit 10 T-Schritten fahren. Bei jeder Temperatur soll zweimal eine Strom-Spannungs-Kennlinie mit 5 Werten aufgenommen werden.
Bei Temperatur 1 werden also 2 Spalten zu je 5 Spannungswerten in mein Datenfile kryolog.txt (vgl. angehängte Daten im Beitrag von gestern) geschrieben:

1a,1b
2a,2b
3a,3b
4a,4b
5a,5b

Jetzt fehlt eine kleine Routine, die aus der ersten Spalte eine Matrix der Form:

1a 2a 3a 4a 5a
macht und abspeichert, sagen wir als dummy.txt

Bei Temperatur 2 werden die neuen Messwerte in kryolog.txt unten ungehängt:

1a,1b
2a,2b
3a,3b
4a,4b
5a,5b
1a,1b
2a,2b
3a,3b
4a,4b
5a,5b

Jetzt müsste die Routine die letzten 5 Werte nehmen und sie in dummy.txt anfügt in der Form:

1a 2a 3a 4a 5a
1a 2a 3a 4a 5a

Wenn ich dann noch eine Spalte mit den Temperaturwerten anfüge:

1a 2a 3a 4a 5a T1
1a 2a 3a 4a 5a T2
. . . . . .

...habe ich sofort ein file, welches ich mit origin einlesen und bearbeiten kann. Kann mir jemand helfen? Bei der Umsetzung der Idee scheitert es bei mir...

Viele Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 09:15
Beitrag #2

marvin71 Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Jun 2006

6.1
2006
kA


Deutschland
Dringend Hilfe gesucht!
Hallo zusammen,

ich habe jetzt wenigstens eine Teillösung meines Problems gefunden. test.vi (vgl. Bildschä) erzeugt mir aus kryolog.txt die Datei dummy.txt. Bei jedem Aufruf wird die erste Spalte mit den Spannungswerten extrahiert, das entstehende 1D-array umgekehrt und dessen erste fünf Werte kopiert. Dann erfolgt eine weitere Inversion bevor die Daten zeilenweise geschrieben werden. Soweit so gut. Allerdings könnt ihr sehen, dass nach der Dezimalstelle nur Nullen übertragen werden. Jat jemand eine Idee, woran das nun wieder liegen könnte? Bin für jeden Rat wirklich dankbar!!!

Marvin


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .txt  kryolog.txt (Größe: 825 Bytes / Downloads: 188)

Sonstige .txt  dummy.txt (Größe: 155 Bytes / Downloads: 201)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 11:56
Beitrag #3

marvin71 Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Jun 2006

6.1
2006
kA


Deutschland
Dringend Hilfe gesucht!
So, ich hab das vi noch ein wenig umgewandelt und lese jetzt die Daten mittels "Read Characters From File" aus kryolog.txt aus. Dort sind Vorkomma- und Nachkommastellen noch durch einen Punkt getrennt. Genau das ist offensichtlich das Problem. Anschließend will ich also die Punkte durch ein Komma ersetzen mittels "Replace Substring". Das funktioniert aber nur für den Wert in Zeile1 und Spalte1 (vgl. angehängtes file). Und dieser Wert wird dann auch mit den Nachkommastellen übertragen. Warum aber die anderen Werte nicht? Hat denn keiner eine Idee?

Viele Grüße
M.


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .txt  dummy.txt (Größe: 155 Bytes / Downloads: 193)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 12:03
Beitrag #4

Bretti Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Aug 2006

8
2005
kA

09123
Deutschland
Dringend Hilfe gesucht!
bei dem ersetzen musst du noch ein true ranbasteln, damit der in der gesamten string das zeichen ändert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 12:07
Beitrag #5

marvin71 Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Jun 2006

6.1
2006
kA


Deutschland
Dringend Hilfe gesucht!
Hallo Bretti,

wo genau soll ich den den "true"-Wert setzen?

Danke vielmals
M.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 12:16 (Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2007 20:30 von Dennis.Moser.)
Beitrag #6

Bretti Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Aug 2006

8
2005
kA

09123
Deutschland
Dringend Hilfe gesucht!
' schrieb:Hallo Bretti,

wo genau soll ich den den "true"-Wert setzen?

Danke vielmals
M.


siehe dieses bild, hoffe es is verständlich was i meine

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 12:20
Beitrag #7

marvin71 Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Jun 2006

6.1
2006
kA


Deutschland
Dringend Hilfe gesucht!
' schrieb:siehe dieses bild, hoffe es is verständlich was i meine
[attachment=28931:attachment]

Ahhh, ich glaube ich verstehe. Ich habe es die ganze Zeit mit "Replace Substring" versucht, da ist keine True-Konstante vorgesehen. Du nimmst jedoch "Search and Replace String". Moment, ich versuche es mal.....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 12:37
Beitrag #8

marvin71 Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Jun 2006

6.1
2006
kA


Deutschland
Dringend Hilfe gesucht!
Hallo Bretti,

jetzt werden alle Werte ersetzt! Prima, danke für den Tipp. Zwei Fragen noch:

1. Meine Daten in kryolog.txt sind in der Form x.xxxxxE+yy gespeichert. Zur Zeit sind das immer Werte der Art x.xxxxE+00, was ja genau x.xxxx selbst ist. Diese Art der Umwandlung funktioniert nur in diesem Fall und nicht, wenn ich einen Wert von zB. 4.387E-2, also 0.0437 vorgebe. Gibt es eine Möglichkeit, das vi auch auf solche Fälle auszubauen?

2. In dummy.txt erscheinen die Werte mit einer Genauigkeit von 3 Nachkommastellen. kryolog.txt liefert allerdings 8 Nachkommastellen und ich brauche die Genauigkeit. Wie kann ich die 8 Stellen mitnehmen?

Vielen, vielen Dank erstmal!!!
M.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2006, 15:25
Beitrag #9

marvin71 Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Jun 2006

6.1
2006
kA


Deutschland
Dringend Hilfe gesucht!
Wenn ich den string wie markiert formatiere, sollten die Werte doch mit 8 Stellen nach dem Komma weitergegeben werden. Oder irre ich mich da? Nach wie vor beträgt die Genauigkeit 3 Nachkommastellen, da kann ich einen Syntax eingeben wie ich will...Sad
Das Problem mit der Funktionalität des vi´s für beliebige yy im Ausdruck x.xxxxE-yy oder x.xxxxE+yy habe ich noch immer nicht lösen können. Funktionieren tut das vi nur für Werte der Form x.xxxxE+00. Die scientific notation der Werte wird nicht erkannt.
Kann mir bitte irgendjemand weiterhelfen?

Viele Grüße
M.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2006, 06:14
Beitrag #10

ahlers01 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 143
Registriert seit: Feb 2005

7.1-2011
1993
DE_EN

38116
Deutschland
Dringend Hilfe gesucht!
' schrieb:Wenn ich den string wie markiert formatiere, sollten die Werte doch mit 8 Stellen nach dem Komma weitergegeben werden. Oder irre ich mich da? Nach wie vor beträgt die Genauigkeit 3 Nachkommastellen, da kann ich einen Syntax eingeben wie ich will...Sad
Das Problem mit der Funktionalität des vi´s für beliebige yy im Ausdruck x.xxxxE-yy oder x.xxxxE+yy habe ich noch immer nicht lösen können. Funktionieren tut das vi nur für Werte der Form x.xxxxE+00. Die scientific notation der Werte wird nicht erkannt.
Kann mir bitte irgendjemand weiterhelfen?

Viele Grüße
M.
<div align="left">
In Deinem Beispiel bewirkt die Formatanweisung %.8f nur, dass bei der Umwandlung des einkommenden String (lilafarbener Draht) in die interne DBL-Darstellung (orangefarbene Drähte) auf das entsprechende Format geachtet wird (allerdings ist die Funktion 'Tabellenstring nach Array' ziemlich tolerant und scheint beliebige Fließkommaformate zu akzeptieren).
Was Du zusätzlich brauchst, ist eine Formatangabe für die Umwandlung von DBL in String, die in dem VI 'Array als Tabellenstring in Datei speichern' verborgen ist. Häng einfach an den VI-Aufruf (die subVI ganz rechts in Deinem Bild) an den dafür vorgesehenen Input auch eine korrekte Formatanweisung an, z.B. %.8e für Exponentialdarstellung oder %.8g für engineering-Format (d.h. Exponenten werden als vielfache von 3 geschrieben). Statt 8 kannst Du natürlich auch weniger signifikante Stellen anzeigen, mehr als 8 macht keinen Sinn, da die interne Genauigkeit der DBL Darstellung sowieso nur ca. 8 ist.

Die Formatierungsbefehle in LV (die übrigens aus C entlehnt sind) sind ziemlich umfangreich und mächtig, in den Manuals findest Du das auch alles dokumentiert.

</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: