私はMatlabでActiveXを通してLabview VIを実行したいと思います。ActiveXコールを使用してLabview VIをバックグラウンドタスクとして実行するにはどうすればよいですか? (ActiveXをビジーにしないで)
私は、次のコマンドを使用します。
e=actxserver('LabVIEW.Application');
vipath='C:\DATA\Labview\test.vi';
vi=invoke(e,'GetVIReference',vipath);
vi.Run;
これが正常に動作し、VIがそのフロントパネル上で実行されるように見られています。 しかし、Matlabは、VIが終了するまで待っています。 私は、MATLABに(ActiveXを介して)待つことなく、VIをサイレントモードで実行したいと考えています。
ActiveXをビジー状態にしないでVIを実行するにはどうすればよいですか?そうする標準的な方法はありますか? (私は、マルチタスク指向のLabviewがどのようになっているかを考慮しなければならないと仮定しています.Matlabの標準形式ではそうではありません)。
実は、私はVIサーバを介して、それをやりたい(何ですコードは、私は信じています)。 "Run"メソッドの "Wait Until Done"パラメータをFalseに設定できると言われましたが、残念ながらMatlabを通じてこのパラメータにアクセスすることはできませんでした(Labview内からでも実行できます)。 viオブジェクトのRunメソッドは、 "実行(ハンドル、バリアント(オプション))" –
このフォーラム投稿のこの問題に関する詳細については、より一般的な質問があります。 http: //forums.ni.com/t5/LabVIEW/Different-ActiveX-methods-appear-when-referencing-a-VI-inside-or/td-p/1879185 –
は明確ではありませんでした、申し訳ありませんが、私の編集を参照してください – CharlesB