Hallo ich habe eine Frage.
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
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.
hi,
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ß
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.
Zur Problembehebung s. Ludwigs erste Antwort.
Gruß, Marko
Ich danke erst einmal für die Unterstützung
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.
...kann denn dein uninitialisiertes Shiftregister damit zu tun haben?
Gruß, Marko
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?
(26.11.2015 16:36 )Trinitatis schrieb: [ -> ]...kann denn dein uninitialisiertes Shiftregister damit zu tun haben?
Gruß, Marko
Eurotherm, da klingelt was, da hatte beim
Nanodac schon mal einer Probleme.
Der Bösewicht versteckt sich beim ET32xx Treiber hier:
[
attachment=54739]
Gruß, Jens
Hey Jens,
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
Gruß Martin