2016-06-15 11 views
5

Ich versuche, eine .exe zu öffnen, um eine SPS aus LabVIEW zu programmieren. Ich habe die .exe in den Projektdateien enthalten, sie ist auch als Quelldatei enthalten, daher wird sie bei der Installation dieses Tools im Installationsverzeichnis installiert. Das Problem ist manchmal beim Öffnen (und die ganze Zeit beim Schließen) bekomme ich den Error 2: Memory Full Fehler.Fehler 2: Speicher voll - Öffnen .exe Von LabView

enter image description here

Hier ist ein Ausschnitt aus dem, was ich zur Zeit mache die SystemExec.vi mit LabView mit eingeschlossen:

enter image description here

Und Sie können hier sehen, dass ich die Dateien enthalten in den Abhängigkeiten (Entschuldigung für Linien, wollen nicht bestimmte .vis und bestimmte Dateinamen zum Kunden Willen zeigen):

enter image description here

Lassen Sie mich wissen, ob ich etwas falsch mache oder ob es eine bessere Möglichkeit gibt, eine externe .exe von LabView aus zu starten.

Vielen Dank im Voraus!

+0

Neben Fixierung der Ursache für diese Fehlermeldung, wie Soll dieser Code beendet werden? Wenn Sie es mit der Schaltfläche "Abbrechen" stoppen, können Sie Dinge in einem unbestimmten Zustand hinterlassen. Haben Sie ein Ereignis oder eine Bedingung, die ein True an das Stop-Terminal Ihres Loops übergibt. – nekomatic

+0

Innerhalb der while-Schleife gibt es mehrere Event-Strukturen, die Untervisio- nen öffnen. Es gibt auch ein Ereignis, bei dem ein Fenster geschlossen wird, das das Programm beendet, wenn auf das Fenster x geklickt wird. –

+0

Ich hoffe du meinst mehrere Ereignisfälle nicht mehrere Ereignis * Strukturen *. Verwenden Sie dann die Quit LabVIEW-Funktion zum Beenden? Der saubere Weg dazu wäre, das * Panel Close? * -Ereignis (beachten Sie das Fragezeichen) einzufangen, alle Bereinigungen wie das Schließen von Dateien und Verweisen durchzuführen, alle Schleifen zu verlassen und dann LabVIEW zu beenden, und für eine einfachere Entwicklung, tun Sie das nur, wenn Ihr Programm als eine gebaute Anwendung läuft. Der * Panel Close * -Ereignisfall wird möglicherweise nicht ordnungsgemäß ausgeführt, es sei denn, Sie fügen Code hinzu, um LabVIEW zuerst zu beenden: http://zone.ni.com/reference/en-XX/help/371361K-01/lvprop/vi_pnl_closing/ – nekomatic

Antwort

5

Versuchen Sie Ihre Eingabe-String zu "cmd/c fploader.exe"

Verwenden des System-Exec VI ist nicht die gleiche wie die Eingabe eines Befehls in eine Eingabeaufforderung zu ändern; Stattdessen ist es, als würde man einen Befehl in das Fenster "Ausführen ..." eingeben.

Siehe hier: http://digital.ni.com/public.nsf/allkb/EA1600EBA422E97286256AA20073C616

Edit: Hier ist, wie Sie die Zeichenfolge Befehl mit dem vollständigen Pfad der exe schaffen könnte: enter image description here

+0

Ich habe mir das angesehen, das Problem ist, dass ich nicht mit einer Batch-Datei arbeite. Nachdem ich versucht habe, was Sie setzen, habe ich: Fehler 1 bei 'fploader.exe' aufgetreten ist nicht als interne oder externe Befehl, ausführbare Programm oder Batch-Datei erkannt. –

+0

können Sie den gesamten Pfad Ihrer fploader.exe versuchen. Aber das wäre natürlich ein Problem, wenn Sie Ihre LabView-Anwendung an einem anderen Ort installieren. – RomCoo

+0

Yup, das ist das Problem. Das Installationsprogramm ist so eingestellt, dass es unter [Programme] installiert wird. Dies ist jedoch für 32- und 64-Bit-Betriebssysteme unterschiedlich. Also bin ich mir nicht sicher, wohin ich von hier aus gehen soll. Gibt es eine andere Möglichkeit, eine .exe von einem vi zu öffnen? –