NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

viを呼び出して停止させる方法を教えてください

添付図のようにして、viを呼び出して走らせる方法は分かるのですが、停止させる方法があれば教えていただけませんでしょうか。 

IMG_8298.jpg

0 件の賞賛
メッセージ1/3
1,110件の閲覧回数

停止させるだけでしたら、Abortメソッドがあるのでそれを使えばよいです。

LabVIEWでプログラム的にVIを強制終了する - National Instruments (ni.com)

 

ただそれではプログラムのクラッシュに等しく、制御中の装置は暴走し、ファイルは破損するなど多岐に問題が生じえます。

呼び出される側にキューなど通信手法を実装して、呼び出す側で停止ボタンを押すなどした場合、

停止データがキューを介して送られ、呼び出される側のwhileループを停止するような作りにされるとよいと思います。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/3
1,074件の閲覧回数

図のように呼び出したのなら、VIリファレンスをすぐに閉じないでおき、インボークノードで「制御器の値を設定」メソッドで、呼び出されたVIの制御器に値を渡すことができます。それで終了させるのが簡単だと思います。

Emboar_Dymaxさんのおっしゃるような、非同期並列実行VIとの通信手段を使うのがベストですが・・・

0 件の賞賛
メッセージ3/3
1,021件の閲覧回数