必要: VIスクリプト

VIのブロックダイアグラムオブジェクトは端子とワイヤで接続されているため、1つのオブジェクトのリファレンスを使用して、接続されている他のオブジェクトにアクセスできます。このターゲットVIのナビゲート方法は、以下の場合に使用できます。

  • オブジェクト間の接続を検査または編集する
  • VIオブジェクトリファレンスを開く」関数または「Gオブジェクトを走査」VIでは直接アクセスできないオブジェクトのリファレンスを取得する

LabVIEWでオブジェクトを手動で接続できる場合は、プロパティやメソッドを使用してプログラム的にもそれらの接続をナビゲートできる場合がほとんどです。このため、どのナビゲートタスクも、まず開始オブジェクトのリファレンスを取得し、次に必要なプロパティおよびメソッドを使用して接続されたオブジェクトのリファレンスを取得するという手順から構成されます。大きなナビゲートタスクは、以下のようなナビゲートサブタスクにセグメント化できます。

以下の例では、上記のナビゲートサブタスクを組み合わせてより大きなナビゲートを実行する方法について説明します。

サンプルタスク: 配線を変更せずに関数を変更する

どのターゲットVIにおいても、「1ボタンダイアログ」関数を「2ボタンダイアログ」関数に変換するスクリプトVIを書くことは可能です。ただし、この変換を実行した後は、「1ボタンダイアログ」関数のボタン名入力に配線されていたオブジェクトが、新しい「2ボタンダイアログ」関数のTボタン名入力に配線されていることを確認する必要があります。以下の図には、この変更が示されています。

このサンプルタスクにナビゲートが必要な理由

「1ボタンダイアログ」関数は、この関数のリファレンスのみを使用して変更できます。しかし、新しい「2ボタンダイアログ」関数に元の配線を残すには、「1ボタンダイアログ」関数のボタン名入力に配線されているオブジェクトのリファレンスが必要です。この文字列リファレンスは、「1ボタンダイアログ」関数と接続されたオブジェクトの間の接続をナビゲートすることにより取得できます。

ナビゲートを使用してこのサンプルタスクを実行する方法

以下の概要では、「1ボタンダイアログ」関数からそのボタン名入力に配線されたオブジェクトへのナビゲートに必要なナビゲートサブタスクが説明されています。各タスクの実装方法の詳細については、それぞれのタスクトピックを参照してください。

  1. ナビゲートの開始点を決める―「1ボタンダイアログ」関数はすべてのターゲットVIにあるので、この関数をナビゲートの開始点として使用できます。
  2. ノードからワイヤへナビゲートする―「1ボタンダイアログ」関数のリファレンスを使用して、この関数のボタン名入力に接続するワイヤのリファレンスを取得できます。
  3. ワイヤからノードへナビゲートする―ワイヤのリファレンスを使用してソースノードのリファレンスを取得できます。

上の3つのナビゲートタスクを実行すると、タスクに必要なすべてのリファレンスにアクセスできるようになります。

このスクリプトタスクの詳細な解答は、labview\examples\Application Control\VI Scripting\Finding and Modifying ObjectsディレクトリにあるNavigation Overview VIを参照してください。