リファレンス入力で指定されたVIへの非同期呼び出しを開始します。リファレンスを「VIリファレンスを開く」関数で非同期実行に対してどのように設定するかによって、呼び出し後にVIを無視したり、後で非同期呼び出しを待機ノードでVIの出力を取得できます。


icon

入力/出力

  • cvirn.png リファレンス
    リファレンスは、非同期で呼び出すターゲットVIへのリファレンスです。
    リファレンスは以下の条件を満たしていなければなりません。
    • タイプ指定であること。
    • 「VIリファレンスを開く」関数の0x80または0x100オプションフラグによる非同期実行に対応できること。これらの非同期オプションと他のオプションフラグを組み合わせることができます。
  • cerrcodeclst.png エラー入力 (エラーなし)
    エラー入力は、このノードを実行する前に発生したエラーの状態を示します。この入力は、標準エラー入力として機能します。
  • ivirn.png リファレンス出力
    リファレンス出力は、未変更のリファレンスを返します。
  • ierrcodeclst.png エラー出力
    エラー出力には、エラー情報が含まれます。この出力は、標準エラー出力として機能します。
  • インタフェースの詳細

    このノードのインタフェースには次の機能が含まれます。

    • ターゲットVIの入力へのアクセス―非同期呼び出しを開始ノードのリファレンス入力にタイプ指定VIリファレンスを配線すると、ノードはリファレンスVIのコネクタペーンの入力を表示します。コネクタペーンの入力端子にデータを配線して、ターゲットVIにデータを渡します。
    • ターゲットVIの出力へのアクセスなし―非同期呼び出しを開始ノードは、VI呼び出しを実行の完了を待たずに開始するためのものであるため、非同期呼び出しを開始ノードでVI呼び出しの出力を取得することはできません。ターゲットVIの出力を取得するには、非同期呼び出しを待機ノードを使用します。

    実行の詳細

    このノードは以下のように動作します。

    • 直列または並列実行―複数の非同期呼び出しを開始ノードに同じVIリファレンスを渡すと、デフォルトでは呼び出しが直列実行されます。並列実行を可能にするには、ターゲットVIを再入可能にし、「VIリファレンスを開く」関数でリファレンスを開いたときに0x40オプションフラグを設定します。このノードは、呼び出しが直列実行されるか並列実行されるかに関係なく、すぐに出力を返すため、発呼者VIのデータフローが止まることはありません。
    • オプション入力に0x40を使用するとVIサーバプロパティとメソッドが呼び出されたVIクローンを変更しない―ターゲットVIへのリファレンスを開く時に0x40オプションフラグを設定すると、非同期呼び出しを開始ノードは再入可能VIではなくリファレンスVIのクローンの呼び出しを開始します。したがって、VIサーバプロパティ/メソッドを「VIリファレンスを開く」関数が返す元のリファレンスで呼び出しても、そのプロパティまたはメソッドは非同期呼び出しを開始ノードが実際に呼び出すVIクローンには反映されません。実際に呼び出されたVIに対してフロントパネルを開いたり、位置を決めたりするVIサーバタスクを実行するには、再入可能VI自身の中でプロパティまたはメソッドを呼び出す必要があります。
    • ユーザインタフェーススレッドがアイドル状態である必要がない

    サンプルプログラム

    LabVIEWに含まれている以下のサンプルファイルを参照してください。

    • labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Forget.vi
    • labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Collect.vi