LabVIEWForum.de - Fehler 1502, Exe aus VI erstellen funktioniert nicht.

LabVIEWForum.de

Normale Version: Fehler 1502, Exe aus VI erstellen funktioniert nicht.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,
ich bin noch relativ neu in Sachen Labview und habe ein Problem.
Wie im Titel beschrieben kann ich keine exe aus dem VI erstellen, da es beim kompilieren mit dem folgenden Fehler abbricht:

"Fehler 1502 bei AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclass:Save.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Build.lvclass:Build_from_Wizard.vi -> AB_UI_Frmwk_Build.lvclass:Build.vi -> AB_UI_FRAMEWORK.vi -> AB_Create_Build_Application.vi -> EBUIP_Global_OnCommand.vi -> EBUIP_Global_OnCommand.vi.ProxyCaller

Mögliche Ursachen:

LabVIEW: Ein nicht ausführbares VI kann nicht ohne das dazugehörige Blockdiagramm gespeichert werden."

In den Einstellungen habe ich bereits unter "Einstellungen der Quelldateien" den Haken bei "Blockdiagramm entfernen" abgewählt. So erstellt er mir dann die Exe, die lässt sich aber nicht Starten.
Dementsprechend scheint irgendwas mit dem VI selbst nicht zu passen. Leider komme ich aber nicht drauf warum gemeckert wird.

Danke schon mal im Vorraus.

Gruß MMK
Hallo mmk,

Zitat:In den Einstellungen habe ich bereits unter "Einstellungen der Quelldateien" den Haken bei "Blockdiagramm entfernen" abgewählt. So erstellt er mir dann die Exe, die lässt sich aber nicht Starten.
Das BD in einer EXE zu behalten, ist ganz selten die Lösung für ein Problem…
Gibt es eine Fehlermeldung beim Versuch, die EXE zu starten?

Zitat:Dementsprechend scheint irgendwas mit dem VI selbst nicht zu passen. Leider komme ich aber nicht drauf warum gemeckert wird.
Da stimmt eine ganze Menge nicht:
- zu viele lokale Variablen
- nicht aufgeräumt
- zuviel ExpressVI
- keinerlei Programmstruktur erkennbar

Vorschlag:
Momentan wird in deinem VI NUR der Case "DESTRAIO0007" ausgeführt, da du eine entsprechende Konstante an den Selektor angeschlossen hast. Erstelle doch mal eine Kopie deines VIs, welche nur den Inhalt dieses Cases beinhaltet! Und probiere dann nochmal, deine EXE zu erstellen… (Und überlege dir, ob wirklich alle 100/6666=15ms eine Datei erneut und ohne irgendwelches Errorhandling eingelesen werden muss!)
Danke für deine antwort.
Erstmal kurz vor ab, das ganze ist eigentlich nur ein Teil meinen Programmes. Den Rest will ich hier nicht hochladen. D.h. Ich hab den entsprechenden Teil einfach in ein neues vi gezogen. Dementsprechend sieht auch das Frontpanel aus. Das hätte ich zur Übersicht vllt doch etwas aufhübschen sollen.
Der angeschlossene Case-string ist eigentlich variabel.
Aber um diese Punkte geht es mir ja nicht.

Wenn ich die fertig kompilierte exe starte kommt der fehler: Das Vi ist nicht ausführbar. Zur beheben der fehler ist das Labview Full Development System erforderlich.
Ist also leider nicht hilfreich.
Für jemandem der sich nicht ausschließlich mit Labview beschäftigen kann sind die ExpressVI eine schnelle und für mich sonst auch ausreichende Methode.
Wenn ich im Case:DESTRAIOOOO7 den Filter entferne lässt sich das VI ohne probleme kompilieren. Leider brauche ich den bzw einen Filter da mein Eingangssignal sonst zu sehr schwankt.

Ps: wenn es eine andere Möglichkeit geben würde dann würde ich nicht alle paar ms Daten aus einer txt lesen. Smile
Hallo mmk,

Zitat:Aber um diese Punkte geht es mir ja nicht.
Dann hättest du das aber mal schreiben sollen - die Glas1 gibt eben nicht viel her!

Zitat:Wenn ich im Case:DESTRAIOOOO7 den Filter entferne lässt sich das VI ohne probleme kompilieren. Leider brauche ich den bzw einen Filter da mein Eingangssignal sonst zu sehr schwankt.
Warum schreibst du genau diese Information dann nicht gleich?
Es gibt eine ganze Palette mit Filterfunktionen - hast du die mal ausprobiert?

Zitat:wenn es eine andere Möglichkeit geben würde dann würde ich nicht alle paar ms Daten aus einer txt lesen.
Wenn du keine SSD im Rechner hast, kann dir das aber sehr schnell dein Schleifentiming durcheinander bringen! Und schon sind wir bei der Empfehlung, parallel laufende Schleifen zu verwenden!
Ich hab es nicht gleich geschrieben weil ich es zu dem Zeitpunkt noch nicht rausgefunden habe. Smile
Ich hab inzwischen alle ExpressVI zum Thema Filter durchprobiert,leider ohne erfolg. ich habe das DAQ und den Filter auch schon außerhalb des Case gesetzt und so verbunden, leider auch kein Erfolg.
Ich hab leider keine Schnittstelle die ich sonst verwenden könnte. Das es alles andere als Optimal ist,ist mir bewusst.
Das System hat eine HDD verbaut. Ich bin ziemlich Ratlos.
Hallo mmk,

Zitat:Ich hab inzwischen alle ExpressVI zum Thema Filter durchprobiert,leider ohne erfolg.
Da gibt es ja noch Funktionen, die keine ExpressVIs sind.
Wahrscheinlich willst du ja nur irgendeinen Tiefpass nutzen…

Zitat:Das System hat eine HDD verbaut. Ich bin ziemlich Ratlos.
Nochmal der Hinweis: Man könnte parallel laufende While-Loops verwenden!
Dein Datei-Lesen läuft doch sowieso schon unabhängig vom DAQ-Assi…
Wie erstellst du eigentlich die Exe? Innerhalb eines Projekts oder über die Pulldown-Menü Auswahl Tools->Build Application from VI ?

Offtopic2
Was willst du mit diesem Code-Abschnitt erreichen?
[attachment=56681]
Think Dataflow, an ein leeres Array wird 1 Element angehängt, und davon der Mittelwert gebildet. Was ist der Mittelwert von 1 Element?

Gruß, Jens
(22.09.2016 09:20 )GerdW schrieb: [ -> ]Hallo mmk,


Da gibt es ja noch Funktionen, die keine ExpressVIs sind.
Wahrscheinlich willst du ja nur irgendeinen Tiefpass nutzen…

Kannst du mir diese auch Mitteilen?

Zitat:Nochmal der Hinweis: Man könnte parallel laufende While-Loops verwenden!
Dein Datei-Lesen läuft doch sowieso schon unabhängig vom DAQ-Assi…

Wie genau soll das funktionieren? Es wird doch über den String am Case gesteuert welches von den beiden Dingen laufen soll.
Im einen Fall wird aus der datei gelesen und ich brauche einen der Anliegengenden Messwerte.
Im anderen Fall wird nicht aus der Datei gelesen und es werden alle Messwerte aus dem DAQ verwendet.
Diese 2 Dinge sollen nicht Parallel laufen.
Oder wie meintest du das?
Hallo mmk,

Zitat:Kannst du mir diese auch Mitteilen?
So sieht das bei mir aus:
[attachment=56688]

Zitat:Wie genau soll das funktionieren?
So z.B.:
[attachment=56689]
(In die untere Schleife noch ein passendes Timing einfügen!)
Warum läuft die DAQ-Schleife eigentlich unendlich? Wie willst du so jemals zwischen irgendwelchen Cases umschalten?
Referenz-URLs