LabVIEWForum.de - VI funktioniert und EXE nicht

LabVIEWForum.de

Normale Version: VI funktioniert und EXE nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Guten Tag,

ich habe folgendes Problem in der Labview 2019 Version.

Und zwar habe ich ein VI erstellt, welches die Funktionen einer Platine testen soll. Hierbei habe ich das Problem, dass das Programm quasi fertig ist und im großen VI auch alles top läuft (siehe Bild), heißt der Test gibt keinen Fehler und alles ist wie der grüne Balken sagt in Ordnung.

Nun möchte ich eine EXE erstellen. So weit so gut keine Probleme hiermit. Das Problem ist dieses dass wenn ich nun die EXE starte und quasi das gleiche wie mit dem VI mache erhalte ich die Meldung "nicht in Ordnung" und den roten Balken.

Ich weiß absolut nicht weiter. Die Sub VIs sind "leider" auch Fehlerfrei meiner Meinung nach.

Ich hoffe ihr könnt mir helfen.

Mit freundlichen Grüßen

MoritzAngel_not
Hallo Mostro,

das ist mit diesen Infos schwer zu beantworten.
Was genau funktioniert denn nicht? Treten Errors auf?
Versuche das Problem mit Debug Ausgaben einzugrenzen.
Benutzt du zufällig Konstanten zum aktuellen VI?

Gruß
TDO
Hallo Mostro,

herzlich willkommen im Forum!

Zitat:Und zwar habe ich ein VI erstellt, welches die Funktionen einer Platine testen soll. Hierbei habe ich das Problem, dass das Programm quasi fertig ist und im großen VI auch alles top läuft (siehe Bild), heißt der Test gibt keinen Fehler und alles ist wie der grüne Balken sagt in Ordnung.
Nun möchte ich eine EXE erstellen. So weit so gut keine Probleme hiermit. Das Problem ist dieses dass wenn ich nun die EXE starte und quasi das gleiche wie mit dem VI mache erhalte ich die Meldung "nicht in Ordnung" und den roten Balken.
Dann ist in der EXE wohl irgendetwas anders als in der IDE…
Was genau das ist, kann man anhand deiner Bilder aber nicht beurteilen!

Zitat:Ich weiß absolut nicht weiter. Die Sub VIs sind "leider" auch Fehlerfrei meiner Meinung nach.
In solchen Situationen muss man debuggen!
Und evtl. mal einen Kollegen über deine VIs schauen lassen, ob deine Meinung auch berechtigt ist…
Hallo,

Also Error in der Form wie Labview sie anzeigt gibt es keine, was mich selber verwundert. Ich bekomme nur meine quasi selber erstellte Fehlermeldung.


Ich habe mal die Blockdiagramme angehängt.
Also in dem Case wird der Fall angesprochen, dass eine Nachricht über den CAN gesendet wird. Diese ist in einer Prüfsequenz festgelegt, und wird mit dem ersten VI in dem Case, hier die Datei SubVi, aus einem Tabellenstring in die einzelnen Zahlen umgewandelt und mit dem VI CAN_Tx gesendet.

Die einzelnen VIs laufen einwandfrei. Als gesamtes VI genauso. Nur sobald ich es als eine .exe erstelle ergibt sich irgendwo ein Fehler der aber denke ich nicht von Labview kommt.

Hoffe das hilft.
Ich habe jetzt mehrmals mit dem Debugger das Programm ausgeführt und bekomme ab und zu folgende Meldung:


LabVIEW: (Hex 0x0) Fehler beim Herstellen einer Verbindung zum GPIB-Treiber oder -Gerät. Der NI-488.2-Treiber ist möglicherweise nicht installiert.
=========================
Fehler beim Herstellen einer Verbindung zum Treiber oder zum Gerät. Der NI-488.2-Treiber ist möglicherweise nicht installiert.
=========================
VISA: (Hex 0x0) Operation wurde erfolgreich abgeschlossen.

Muss ich da jetzt den NI-488.2 Treiber installieren und wenn ja was macht dieser und wozu ist der gut?

Gruß Moritz
Servus,

hängt der PC mit der App im Netzwerk mit dem PC der Entwicklungsumgebung? Mit 'Debug Application..' [attachment=61006] kann man gut Fehler suchen.

Ich nutze das bei mir auch öfter, erst mal alle Fehlerausgänge abfragen, nicht das ein Fehler verschluckt oder untergeht.
dann die Werte, die an Cases anliegen abfragen.
VISA Antworten als \-String anzeigen lassen, damit hier nicht ein CR oder LF das Case verfehlt.

So kann man schrittweise schauen, wo der Fehler liegt, meist nciht da wo man ihn vermutet Big Grin

MfG Timo
Hallo Mostro,

das geht aber auch deutlich einfacher - da ist noch viel Rube-Goldberg dabei…
- Um 10 Parameter von einem subVI zum nächsten zu geben, sollte man einen (typdefinierten) Cluster verwenden!
- Statt Code 10mal parallel auszuführen, sollte man Arrays/Schleifen verwenden!

Zitat:Also Error in der Form wie Labview sie anzeigt gibt es keine, was mich selber verwundert. Ich bekomme nur meine quasi selber erstellte Fehlermeldung.
In einer EXE werden nicht automatisch Fehlermeldungen angezeigt - eine EXE verhält sich da anders als die (standardmäßige) IDE!
Prüfst du irgendwo auch auf Fehler?

Die Verwendung von BytesAtPort ist so gut wie immer FALSCH! Die Wartezeit davor ist auch nur eine Krücke!
Ständiges Öffnen und Schließen eines Ports ist schlecht…
Danke erstmal für die Tipps.

Zitat:In einer EXE werden nicht automatisch Fehlermeldungen angezeigt - eine EXE verhält sich da anders als die (standardmäßige) IDE!
Prüfst du irgendwo auch auf Fehler?


Wie genau meinst du das ob ich irgendwo auf Fehler prüfe. Manuell oder ob irgendwo im VI eine Fehlerüberprüfung habe?



Hallo Timo,

Zitat:Mit 'Debug Application..' kann man gut Fehler suchen.



grade eben habe ich die .exe mal mit dem Debugger ausgeführt und bekam dann erst eine Fehlermeldung welche mich auf den Treiber NI-488.2 hinwies.


Zitat:LabVIEW: (Hex 0x0) Fehler beim Herstellen einer Verbindung zum GPIB-Treiber oder -Gerät. Der NI-488.2-Treiber ist möglicherweise nicht installiert.
=========================
Fehler beim Herstellen einer Verbindung zum Treiber oder zum Gerät. Der NI-488.2-Treiber ist möglicherweise nicht installiert.
=========================
VISA: (Hex 0x0) Operation wurde erfolgreich abgeschlossen.
Hallo Mostro,

Zitat:Wie genau meinst du das ob ich irgendwo auf Fehler prüfe. Manuell oder ob irgendwo im VI eine Fehlerüberprüfung habe?
Fehler sollte man nicht "manuell" prüfen, sondern "programmatisch"…

Beispiel: dein subVI mit der seriellen Kommunikation hat einen ErrorOut-Indicator, den du aber nirgends auswertest. Wenn jetzt ein Fehler auftritt, würde in der IDE ein ErrorDialog aufpoppen - in der EXE aber eben nicht. Generell gilt aber: dein User sollte diese Standard-ErrorDialogs NIE zu sehen bekommen - weil du programmatisch alle Fehler abfängst und auswertest!

Zitat:grade eben habe ich die .exe mal mit dem Debugger ausgeführt und bekam dann erst eine Fehlermeldung welche mich auf den Treiber NI-488.2 hinwies.
Das dürfte ein Trugschluss sein, da du ja (anscheinend) kein GPIB verwendest!
Du bekommst zwei mögliche Ursachen für die Fehlermeldung genannt: die erst ist (wahrscheinlich) irrelevant, die zweite nicht sehr aussagekräftig…
Hallo GerdW

normalerweise sollte sobald ein Fehler auftritt der Balken auf dem Frontpanel, welches ich zuerst angehangen hatte, auf nicht in Ordnung springen. Das sollte nicht nur passieren wenn ein Prüfobjekt fehlerhaft ist. Zudem kommt, dass gebeten wird die Einstellungen zu öffnen sobal ein Fehler auftritt der nicht von einem Prüfobjekt stammt.
Genau so ist es, ein GPIB wird nicht verwendet.

Zitat:Das dürfte ein Trugschluss sein, da du ja (anscheinend) kein GPIB verwendest!
Du bekommst zwei mögliche Ursachen für die Fehlermeldung genannt: die erst ist (wahrscheinlich) irrelevant, die zweite nicht sehr aussagekräftig…
Seiten: 1 2 3
Referenz-URLs