以下に示された製品を含め、NIのソフトウェアをダウンロードするには、ni.com/downloadsをご覧ください。
概要
単一VIを非同期で複数呼び出します。
詳細
単一VIを複数、非同期で呼び出す必要がある場合もあります。
このとき呼び出されるVIはもちろん再入実行可能になっている必要があります。
呼び出す側のVIは呼び出しのために"VIリファレンスを開く"関数を使用しますが、 オプションとして"x100"と"x40"を使用することで、
再入可能VIの同時呼び出しを有効とし、且つ"非同期呼び出しを待機"関数で呼び出されたVIが終了されるまで待機させることができます。
どのような作りとなるか見てみましょう。
まず"VIリファレンスを開く"関数で、"x40"と"x100"のオプションを使用して、VIへのリファレンスを開いています。
"New Button"が押されると"非同期呼び出しを開始"関数が呼び出され、呼び出すVIを開いて実行します。
Forループの中では、各インスタンスが終了されるまでメインVIの実行を待機するような作りをしています。
ではこのVIを実行して、"New Button"を押してみます。
上記のように、一つのVIが複数呼び出され、それぞれ個別に実行されていることがわかります。
本サンプルについては下記LabVIEWヘルプにも記載がありますのでご覧ください。
複数のVIインスタンスを非同期で呼び出して並列実行する - LabVIEW ヘルプ - National Instruments
実装・実行方法
1. 2つのVIをダウンロードし、Main_Call_VIs.viを開きます。
2. ファイルパスにCalled.viを指定します。
3. VIを実行し、ボタンを押すとCalled.viが呼び出されます。
必要なもの
ソフトウェア
LabVIEW 2014以降
Description-Separate-2NIコミュニティのサンプルコード交換のサンプルコードは、MIT Licenseによりライセンス供与されています。