(18.01.2012 19:26 )schmokie schrieb: "Systembefehl ausführen" öffnet beim Ausführen eine DOS-Konsole. In dieser lasse ich Octave ausführen. Mache ich dies ausserhalb von LabView, so kann ich mir den fortschritt Anzeigen lassen (wie im Bild gezeigt). Wenn ich das gleiche allerdings in LabView ausführen lasse bleibt die sich öffnende DOS-Konsole schwarz. Erst wenn alles Abgearbeitet ist bekomm ich über das "Systembefehl ausführen" Vi über den Ausgang "Program output" die Ausgabe der DOS-Konsole.
Ich hab schon gesehen das man über diverse cmd-Befehle verschiedene aktionen der DOS-Konsole steuern kann, habe aber noch nicht herrausgefunden ob ich hier irgendetwas einstellen kann/muss.
Also meines Wissens geht das nicht einfach so. LabVIEW muss die standard IO Kanäle der Konsole umlenken um diese in den Parametern von SystemExec zurückgeben zu können. Und da diese Standard IO Handhabung nicht so einfach umzulenken ist wie in einer Unix Shell kann man da auch nicht trivial ein Y Filter zwischenschalten. Wahrscheinlich gäbe es irgendwo Kommandoshell Wrapper die das machen könnten und die Du dann als Kommande von LabVIEW aufrufen kannst und die verfolgens Dein eigentliches Programm aufrufen, aber mir wäre gerade nichts solches bekannt.
Alternativ könntest Du mal nach OpenG Pipe Library suchen und diese verwenden. Hierbei werden die Standard IO Kanäle des aufgerufenen Programmes in eine Pipe umgeleitet die mit entsprechenden VIs von LabVIEW aus zur Laufzeit des Kommandzeilenprogrammes zu lesen sind.