LabVIEWForum.de
Fehler 7 trotz statischer Einbindungen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Fehler 7 trotz statischer Einbindungen (/Thread-Fehler-7-trotz-statischer-Einbindungen)



Fehler 7 trotz statischer Einbindungen - Milch - 08.06.2012 10:33

Hallo,

ich will aus einem VI, welches in der Entwicklungsumgebung einwandfrei läuft, eine *.exe erstellen. Das funktioniert auch soweit, bis das Programm an einem bestimmten Punkt angelangt. An diesem Punkt werden Daten von einem SubVi ausgelesen, welches in einem Unterpanel sitzt, und zum Haupt-Vi geschickt. An diesem Punkt erscheint immer die Fehlermeldung

Labview fehler bei Open File +.vi:Open File

Das SubVi im Unterpanel ist statisch eingebunden. Es werden auch diverse Pfade benutzt, welche allerdings alle absolut angegeben sind. Ich kann mir somit nicht erklären, wo eine Datei nicht gefunden wird.

Hat jemand eine Idee, was noch passiert sein kann, oder kann mir jemand sagen, wie ich herausfinden kann welche Datei genau gesucht wird? Die Fehlermeldung selbst ist dafür nicht sehr aufschlussreich. Ich vermute mal letzteres würde mir schon sehr helfen.

Vielen Dank!
Andreas


RE: Fehler 7 trotz statischer Einbindungen - jg - 08.06.2012 11:38

Schon x-mal hier im Forum durchgekaut, innerhalb einer Exe sind die Pfade zu VIs anders. Such mal.
Mit absoluten Pfaden zu arbeiten, davon würde abraten!
Lieber die Pfade relativ und in Abhängigkeit von "Exe" oder "Entwicklungsumgebung" dynamisch erstellen.

Gruß, Jens


RE: Fehler 7 trotz statischer Einbindungen - gottfried - 09.06.2012 07:42

Mit Debugger linken - so denke ich - gibt auch viele Möglichkeiten nachzusehen wo der Problempunkt liegt.

Gottfried


RE: Fehler 7 trotz statischer Einbindungen - Milch - 10.06.2012 18:42

Hallo,

erstmal danke für die Hilfe. Mir ist bewusst, dass das Thema schon oft besprochen wurde. Aber keiner der Gründe, von denen ich gelesen habe, traf auf meinen Fall zu.
Ich habe inzwischen, mit Hilfe des Debuggers, herausgefunden dass es an Treiber-Vis von einem Regler-Hersteller liegt.
Wie kann ich diese denn so einbinden, dass sie gefunden werden? Das Library in mein Projekt hinzufügen und die VIs zu den "immer enthaltenen" hinzufügen funktioniert zumindest nicht.

Andreas


RE: Fehler 7 trotz statischer Einbindungen - rolfk - 11.06.2012 08:17

(10.06.2012 18:42 )Milch schrieb:  Hallo,

erstmal danke für die Hilfe. Mir ist bewusst, dass das Thema schon oft besprochen wurde. Aber keiner der Gründe, von denen ich gelesen habe, traf auf meinen Fall zu.
Ich habe inzwischen, mit Hilfe des Debuggers, herausgefunden dass es an Treiber-Vis von einem Regler-Hersteller liegt.
Wie kann ich diese denn so einbinden, dass sie gefunden werden? Das Library in mein Projekt hinzufügen und die VIs zu den "immer enthaltenen" hinzufügen funktioniert zumindest nicht.

Andreas

Das komnmt auf den Treiber an. Wenn es sich um VIs handelt die eine DLL aufrufen kanns kompliziert werden. Wenn es sich dabei um eine einzelne DLL handelt von der Du weisst dass sie keine anderen Abhängigkeiten hat, kannst Du sie versuchen mit in Dein Projekt aufzunehmen und in das Support Directory zu plazieren. Wenn das nicht gewährleistet ist, dann ist es das Beste um den entsprechenden Installer auf der jeweiligen Maschine auszuführen.

Bei DLLs hast Du heutzutage eh fast immer das Problem dass auch noch die korrekte C Runtime Library auf der Zielmaschine installiert sein muss. Dazu muss man den Redistributable C Runtime Library Installer mit installieren der mit dem Entwickelsystem geliefert wurde, das der DLL Hersteller bei der Erzeugung der DLL benützte. Das alles in einer sauberen Form in den LabVIEW Installer zu integrieren ist ziemlich kompliziert und im Falle von DLLs die nicht von Dir stammen eigentlich nicht zu tun. Die einzige sinnvolle Möglichkeit dabei ist um den Treiberinstaller als Ganzes unter "Advanced->Run Executable at end of installation" mit einzubinden aber ansonsten ist alles andere eine verlorene Liebesmühe und muss bei jedem update des Treibers aufs Neue wieder mühsam eruiert werden.


RE: Fehler 7 trotz statischer Einbindungen - Milch - 18.06.2012 21:36

Ich arbeite immer noch an dem Problem und habe es auch noch nicht gelöst. Ich bin nur noch nicht sonderlich viel weiter gekommen.
Ich füge jetzt mal ein kleines Beispiel ein.
Das "Initialize"-VI kann noch gelesen werden, die restlichen werden im build nicht mehr gefunden. Die verwendeten VIs sind auf http://www.eurotherm.com/labview/ (3200 series, 2009 Driver) zu finden.
Ich kann mir ja vorstellen, dass es ein eher trivialer Fehler ist, auf den ich einfach nicht komme. Der Treiber verwendet auch nur die normalen VISA-Vis und keine externen DLLs. Hat jemand eine Ahnung, auf was ich da nicht komme?

Andreas


RE: Fehler 7 trotz statischer Einbindungen - Y-P - 19.06.2012 06:49

Was heißt "werden nicht gefunden"? Woher weißt Du, dass "Initialize" ausgeführt wird?
Heißt Dein Gerät im MAX gleich, auf dem Rechner Deiner Applikation wie auf dem Rechner mit der Entwicklungsumgebung?
Und wo sind Deine "absoluten" Pfade, die Du im ersten Post gepostet hast?

Gruß Markus

(18.06.2012 21:36 )Milch schrieb:  Das "Initialize"-VI kann noch gelesen werden, die restlichen werden im build nicht mehr gefunden. Die verwendeten VIs sind auf http://www.eurotherm.com/labview/ (3200 series, 2009 Driver) zu finden.



RE: Fehler 7 trotz statischer Einbindungen - GerdW - 19.06.2012 07:57

Hallo Milch,

dann schau dir doch mal das VI "Utility Read Modbus Address DataType" genau an. Und dann nochmal überlegen, warum ein Fehler bei "OpenFile" angezeigt wird...


RE: Fehler 7 trotz statischer Einbindungen - Milch - 19.06.2012 18:36

Ich wusste, dass "Initialize" ausgeführt wird, weil der Debugger da noch keinen Fehler ausgegeben hat.
Das VI das ich gepostet hatte, war ein einfacheres VI ohne irgendwelche Pfade, da ich das Problem bereits auf den Treiber eingegrenzt hatte.

GerdW, du bist natürlich auf das Problem gestoßen. Mit der Library im Programmordner funktioniert alles ordnungsgemäß. Ich hatte die Treiber-VIs durchgesehen, hab das aber scheinbar übersehen... vielen Dank für die Hilfe!
Und auch vielen Dank an die Anderen!