VIを非同期で呼び出し、結果は収集しない
- 更新日2025-08-27
- 3分で読める
非同期で呼び出すVIのリファレンスを開く際、VIの結果を後で収集するかどうかを決定する必要があります。このトピックでは、VIが返す値やタイミングを無視する、非同期の「呼び出して放置」VI呼び出しを開始する方法を説明します。この用途モデルは、他のプログラミング言語で「fork AND forget」と呼ばれています。また、VIを呼び出して、結果を後で収集することもできます。
使用するオブジェクト
結果を収集せずにVIを非同期で呼び出すには、次のブロックダイアグラムオブジェクトを使用します。
解決方法
結果を収集せずに、VIの非同期呼び出しを動的に開始するには、次のブロックダイアグラムを作成します。

以下のリストには、前のダイアグラムについての重要な情報が記載されています。
メモ 「VIリファレンスを開く」関数の各オプションフラグ (16進数形式) は、『LabVIEWヘルプ』に記されています。このため、正しい値が渡されるように、数値定数入力の表記形式を必ず16進数形式に変更してください。
注意とアドバイス
- 停止することのないVIは呼び出さないでください。呼び出して放置VIリファレンスで呼び出しを開始すると、発呼者VIが実行を終了してもターゲットVIは中断されません。代わりに、呼び出しVIが実行中であるかどうかとは関係なく、ターゲットVIは実行します。このため、ターゲットVIに無限ループが含まれている場合や、他の理由で実行を終了できない場合は、LabVIEWを終了するまでターゲットVIがメモリに残ることになり、パフォーマンスに悪影響を及ぼす可能性があります。
- 呼び出して放置VIリファレンスの中断メソッドを呼び出した場合、VIの現在実行中のインスタンスすべてが中断されます。
サンプル
VIを非同期に呼び出して、結果を収集しないサンプルについては、labview\examples\Application Control\VI Server\Asynchronous Call By ReferenceディレクトリのAsynchronous Call and Forget VIを参照してください。