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!
23.11.2015, 19:01 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2015 19:22 von Schmidtzke.)
Ich habe ein Programm in LabView programmiert und eine Exe-Datei über den Application-builder erstellt.
Das Programm an sich funktioniert Temperaturregler wird intialisiert. Doch beim schreiben des Regelwertes, wird ein Fehler ausgeben.
Fehler 7 Datei nicht gefunden.
Wo kann der Fehler entstehen? Die benutzten Treiber der Temperaturregelung werden doch mit in die Exe kompeliert oder?
SubVI's werden alle ausgeführt.
Kann der Fehler daher kommen, dass auf dem Zielsystem Labview 2010 installiert und das Programm in Labview 2013 geschrieben wurde?
Wenn ja reicht es da, wenn ich die Runtime von Labview 2013 installiere?
Hat jemand noch weitere Ideen?
Danke schon mal im Vorraus
Gruß Martin
23.11.2015, 22:36 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2015 22:38 von Lucki.)
Das ist doch eigentlich ein Problem, über das absolut Jeder stolpert, der das erste Mal eine exe erstellt.
Die VIs, wenn sie in der exe eingebettet sind, liegen eine Hierarchieebene tiefer als in der Entwicklungsumgebung, also z.B statt in
C:\Main.vi liegt das VI jetzt in C:\EXE\Main.vi.
Die Daten-Dateien, auf die man zugreifen möchte, sind aber nicht mit eingebettet und liegen dann z.B nicht mehr in der gleichen Datenebene wie das VI und werden demzufolge nicht mehr gefunden.
Das Problem ist man am einfachsten los, wenn man zur Pfaderstellung die Dateikonstante "Awendungsverzeichnis" (in Datei-IO/Konstanten) benutzt. Die Konstante ist gewissermaßen ein Chamälion und passt sich an die jeweilige Situation an.
24.11.2015, 13:38 (Dieser Beitrag wurde zuletzt bearbeitet: 24.11.2015 13:41 von Schmidtzke.)
danke für die schnelle Antwort.
Ich verstehe, wenn der Fehler auftritt und ich z.B. auf eine Textdatei zugreife und die Verzeichnisstrucktur anders ist.
Aber ich benutze ja nur SubVI's und Gerätetreiber von einer Temperatursteuerung, welche man im Gerätemangaer von LabVIEW runterladen kann.
Ich bin derzeit etwas überfragt.
Kann es mit der Runtime zusammenhängen von 2010 (runtime) 2013(LabVIEWprogramm programmiert)
Gruß
24.11.2015, 15:06 (Dieser Beitrag wurde zuletzt bearbeitet: 24.11.2015 19:34 von Lucki.)
Natürlich kann das zusammenhängen. Die Vorschrift ist jedenfalls, dass genau die zur jeweiligen Labview-Version gehörende Runtime-Version zu benutzen ist. Wenn man exe-Programme in verschiedenen Versionen erstellt hat, dann ist das Pech, weil man dann mehr als eine Runtime installiert haben muß. Aber da muß man eben durch. Ansonsten sind die Runtimes ja kostenlos downloadbar.
Allerdings wundere ich mich, dass da keine eindeutige Fehlermeldung kommt, wie z.B. "Falsche Runtime"
(24.11.2015 15:06 )Lucki schrieb: Allerdings wundere ich mich, dass da keinen eindeutige Fehlermeldung kommt, wie z.B. "Falsche Runtime"
Hallo Martin,
ich glaube, du hast noch nicht so recht verstanden, was Ludwig dir erklärt hat. Wenn eine Datei in der IDE gefunden wird und in der Appl.exe eben nicht, dann hat das nix mit der Runtime zu tun, sondern damit, dass du einen falschen Dateipfad vorgibst, der in der Entwicklungsumgebung (IDE) noch gestimmt hat.
Setze dir an den Pfad mal eine Meldung, so dass dir der Pfad in der Appl.exe angezeigt wird - dann wirst du sehen, dass das nicht der Pfad ist, unter dem die Datei liegt.
Aber irgendwie blicke ich es noch nicht so richtig.
Ich habe jetzt mal Bilder von meinem VI gemacht, vielleicht sieht ja jemand recht schnell, was ich falsch mache und wo der Fehler liegt.
Ich benutze ja wirklich nur Treiber und erstellte Sub-VI's. Ich greife auf keine anderen Dateien (Txt, csv oder etc.) zu.
Ich habe jetzt mal den Pfad in einer Meldung ausgegeben. Jetzt weiß ich allerdings nicht, wie ich es im Programm so abändere, dass ich den richtigen Pfad habe.
Zwei Sachen fallen mir noch ein, die beim Umstellen von Versionen relevant sein können:
1. DLLs
Befinden sich im EXE-Verzeichnis DLLs, die der Kompiler dort hin kopiert? Falls die dort schon sein sollten, werden die nicht überschrieben. Kommt bei diversen lv...-DLLs vor.
2. Build-Einstellungen
Dort gibt es den Parameter "Verzeichnisstruktur von 8.x". Muss hier ein Hacken rein oder nicht?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
26.11.2015, 17:14 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2015 17:15 von jg.)
dass ist die Lösung. Ich bin mir bei den Pfaden noch nicht sicher, wie ich dass jetzt realisieren kann, dass der Pfad dann der Richtige ist.
Muss ich dazu die csv-Datei kopieren und den Pfad dann mit angeben?
Oder gibts da eine Möglichkeit das Treiber Vi so zu verändern, dass es passt?
Ich bin da echt noch ein Laie, was so etwas betrifft