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 

Exe liefert andere Berechnungsergebnisse



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!

14.12.2012, 10:59
Beitrag #1

Boncho Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2012

2010
2009
EN

46xxx
Deutschland
Exe liefert andere Berechnungsergebnisse
Hallo zusammen!

Ich habe ein Problem in meiner fertigen Application, welches ich mir so recht nicht erklären kann. Vielleicht könnt ihr mir dort helfen?

Grundsätzlich folgendes: Ich habe ein Programm geschrieben, welches mit einem Spektrometer kommuniziert, Messungen durchführt, mit den Ergebnissen rumrechnet, einen Messreport erstellt usw. Funktioniert auch alles wie es soll. Aus dieser Software habe ich dann einen Installer gebastelt. Das tut soweit auch und die Software läuft. Auch die Dateipfade habe ich für die .exe entsprechend angepasst.
Lediglich eine Berechnung von vielen bereitet mir Sorgen, denn die liefert in der .exe andere Ergebnisse als in der Entwicklungsumgebung. Konkret geht es dabei um die Berechnung des Farbortes eines Spektrums. Dazu liest die Funktion Tristimuluskurven aus Textdateien ein, gewichtet das Spektrum mit diesen und berechnet daraus den Farbort in x und y Koordinaten.
Nur warum unterscheiden sich die Ergebnisse zwischen Entwicklungsumgebung und Exe? Die Textdateien scheint er ja zu finden...

Ich habe das VI "Chromacity coordinates.vi" mal angehangen, inklusive zweier VI's welche die Textdateien lesen. Das eine erstellt eine Tabelle wieviele Bytes eine Zeile in der Textdatei hat, das andere kann dann entsprechend gezielt Zeilen aus den Textdateien lesen. Beispielhaft habe ich auch mal eine Tristimuluskurve als Textfile angehängt.

Ich wäre echt dankbar, wenn da jemand einen Tip hat!

Viele Grüße,
Tobias


Angehängte Datei(en)
10.0 .vi  Chromaticity coordinates.vi (Größe: 39,3 KB / Downloads: 238)

10.0 .vi  Build Textfile Sizetable.vi (Größe: 20,74 KB / Downloads: 235)

10.0 .vi  Read File Row.vi (Größe: 20,63 KB / Downloads: 240)

0.0 .txt  x_matching.txt (Größe: 4,33 KB / Downloads: 300)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2012, 13:10 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2012 13:13 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Exe liefert andere Berechnungsergebnisse
Hallo boncho,

- Was deine beiden VIs zum Einlesen der Textdatei und das nachfolgende Umwandeln von String nach Zahl erledigen, kannst du auch mit der Funktion "Read from Spreadsheet File" (oder ReadTextFile mit SpreadsheetStringToArray) bekommen. Und dies viel einfacher...

- Es fehlt ein subVI "Array wavelength cut"...

- lass dir doch einfach in der EXE das VI anzeigen, um "live" alle Werte begutachten zu können. (Sowas nennt man Debugging: Wenn ein anderer Rechenwert herauskommt, prüft man die Rechnung inkl. Eingangs- und Zwischenwerte...)

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

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Exe liefert andere Berechnungsergebnisse
Ich tippe mal darauf, dass du in deinen Entwicklungsumgebung den "System-Dezimalpunkt" abgeschaltet hast.
Das "weiß" jetzt die Exe nicht, und erwartet beim Einlesen deiner txt-Datei Zahlen mit einem Komma als Dezimaltrennzeichen.

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
14.12.2012, 14:06
Beitrag #4

Boncho Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2012

2010
2009
EN

46xxx
Deutschland
RE: Exe liefert andere Berechnungsergebnisse
(14.12.2012 13:10 )GerdW schrieb:  - Was deine beiden VIs zum Einlesen der Textdatei und das nachfolgende Umwandeln von String nach Zahl erledigen, kannst du auch mit der Funktion "Read from Spreadsheet File" (oder ReadTextFile mit SpreadsheetStringToArray) bekommen. Und dies viel einfacher...

Hallo Gerd,

Ist mir bekannt, ich lese allerdings innerhalb der Software oft aus Textdateien ein und daher die beiden VI's, die auch an vielen anderen Stellen verwendet werden.

(14.12.2012 13:10 )GerdW schrieb:  - Es fehlt ein subVI "Array wavelength cut"...

Sorry, vergessen!

(14.12.2012 13:10 )GerdW schrieb:  - lass dir doch einfach in der EXE das VI anzeigen, um "live" alle Werte begutachten zu können. (Sowas nennt man Debugging: Wenn ein anderer Rechenwert herauskommt, prüft man die Rechnung inkl. Eingangs- und Zwischenwerte...)

Ich habe versucht die Exe zu debuggen aber da hat er mir schon beim öffnen des Debuggers einen Fehler gemeldet. Einfach, das entsprechende VI Frontpanel einblenden zu lassen, da hätte ich auch mal selbst drauf kommen können. Blush


(14.12.2012 13:28 )jg schrieb:  Ich tippe mal darauf, dass du in deinen Entwicklungsumgebung den "System-Dezimalpunkt" abgeschaltet hast.
Das "weiß" jetzt die Exe nicht, und erwartet beim Einlesen deiner txt-Datei Zahlen mit einem Komma als Dezimaltrennzeichen.

Gruß, Jens

Hallo Jens,

Danke! Thats it! Big Grin
Ich habe in sämtlichen anderen Programmteilen, die aus Textdateien lesen, den Code entsprechend angepasst, nur in diesem hab ichs wohl vergessen. Manchmal sieht man den Wald vor lauter Bäumen nicht. Cool
Jetzt berechnet auch die Exe das korrekte Ergebnis.

Danke für die Antworten und die Hilfe, ihr beiden!

Grüße,
Tobias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2012, 14:17
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Exe liefert andere Berechnungsergebnisse
Hallo Tobias,

Zitat:ich lese allerdings innerhalb der Software oft aus Textdateien ein und daher die beiden VI's, die auch an vielen anderen Stellen verwendet werden.
Und da ist es sinnvoll, jede Textdatei zweimal einzulesen? Einmal, um die Zeilenlängen zu bestimmen und dann noch einmal, um jeweils eine Zeile zu lesen? Obwohl man die schon gelesen hatte (und deshalb einfach per IndexArray darauf zugreifen könnte), aber den entsprechenden Draht nicht weiterverwendet?

Tut mir leid, aber deine zwei VIs sind RubeGoldberg...

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Exe auf andere OS-Plattform benutzen beginner85 3 5.424 31.01.2012 13:37
Letzter Beitrag: beginner85

Gehe zu: