VIスクリプトを使用してノードからワイヤへナビゲートする
- 更新日2025-08-27
- 5分で読める
必要: VIスクリプト
ノードのリファレンスを使用して接続されたワイヤのリファレンスを取得する場合は、必ずノードからワイヤへナビゲートします。ノードからワイヤへのナビゲートはナビゲートサブタスクであり、他のナビゲートサブタスクと組み合わせて、より大きなナビゲートを実行できます。ノードからワイヤへのナビゲートと他のナビゲートタスクとの関係については、ナビゲートの概要を参照してください。
使用するオブジェクト
このVIスクリプトタスクには以下のオブジェクトが必要です。
解決方法
操作を開始する前に: 以下の手順の各ステップを説明したサンプルを参照するには、labview\examples\Application Control\VI Scripting\Finding and Modifying ObjectsディレクトリにあるNavigating Nodes and Wires VIを開きます。
-
ノードのリファレンスを取得します。
サンプルの詳細
サンプルでは、スクリプトVIは「Gオブジェクトを走査」VIを使用してターゲットVIのすべての関数ノードのリファレンスを取得します。ケースストラクチャは、各関数ノードのスタイルを確認し、スタイルが1ボタンダイアログである関数ノードからのみナビゲートを継続させます。
-
ノード:端子[]プロパティを使用してノードの端子のリファレンスを取得します。
サンプルの詳細
サンプルでは、リファレンスが関数リファレンスであるため、ノード:端子[]プロパティは関数:端子[]として表示されます。関数はノードのサブクラスであるため、関数はノードの端子[]プロパティを継承します。
- ノードの詳細ヘルプウィンドウを参照して、ワイヤが接続するノード上の端子の端子指標を確認します。
詳細ヘルプウィンドウのコネクタペーンの各端子の横にブラケットで囲まれた数字が表示するには、詳細ヘルプウィンドウに追加のVIスクリプト情報を表示する必要があります。この数字は、その端子のリファレンスが格納されている端子[]配列における指標を示します。
サンプルの詳細
サンプルでは、「1ボタンダイアログ」関数のボタン名入力の指標が必要です。「1ボタンダイアログ」関数の詳細ヘルプウィンドウには、この入力端子の指標は1と表示されています。
- 「指標配列」関数で希望の端子指標を使用して、端子[]配列にあるその端子のリファレンスを取得します。
- 返された端子リファレンスの端子:接続されているワイヤプロパティを使用して、その端子に接続されたワイヤのリファレンスを取得します。
- 返されたワイヤリファレンスを使用して、ワイヤを変更する、または移動を続けます。
サンプルの詳細
サンプルでは、スクリプトVIは、ワイヤリファレンスを使用して、ワイヤのワイヤ:端子[]プロパティによりワイヤからノードへナビゲートを続けます。
- ノードリファレンス、端子リファレンス、ワイヤリファレンスの使用が終わったら、「リファレンスを閉じる」関数を使用して閉じます。
注意とアドバイス
- 端子の指標を詳細ヘルプウィンドウに表示する―希望の端子の指標が分かれば、ノード:端子[]配列内のその端子にアクセスできます。
- ノード:端子[]配列の無効なリファレンスに注意する―ノード:端子[]配列には、ノードのすべての端子に対して1つの要素が格納されています。ただし、有効なリファレンスは、対応する端子が配線されている要素のみです。多くのVIや関数には必ずしも配線されていないオプションの入力があるため、端子配列にはこういった端子の無効なリファレンスが含まれている場合あります。このため、特定の端子が配線されているかどうか分からない場合は、その端子をスクリプトVIのどこかで使用する前に、対応する要素が端子配列で無効なリファレンスかどうかを確認します。
- 開いたリファレンスをすべて閉じる―多くのリファレンスが開いていると、VIのパフォーマンスが遅くなります。パフォーマンスの詳細については、VIおよびオブジェクトリファレンスを閉じるを参照してください。
追加サンプル
ナビゲートの例 (ノードからワイヤへのナビゲートやストラクチャ内のナビゲートを含む) については、labview\examples\Application Control\VI Scripting\Finding and Modifying ObjectsディレクトリにあるNavigation Overview VIを参照してください。