ループは、配列またはコレクションの個々の要素をループの内外に渡すように構成できます。

配列またはコレクションの個々の要素を処理するように入力トンネルを構成する

ForループやWhileループに配列またはコレクションを配線する場合は、自動指標付けを有効にすると、その配列またはコレクションの各要素を読み取って処理できます。先行ノードからの配列またはコレクションをループ枠の自動指標付け入力トンネルに配線して自動指標付けを有効すると、その配列またはコレクションの要素は、最初の要素から1個ずつループに入ります。

配列の要素をループを介して渡すには、次のステップを実行します。

  1. ループ枠でトンネルを右クリックします。
  2. 配置要素を処理する方法に対応したオプションを選択します。
    • ショートカットメニューから指標付け不使用を選択して自動指標付けを無効にすると、配列またはコレクション全体がループに渡され、同数の要素を持つ配列が返されます。
    • ショートカットメニューから指標付け使用を選択して自動指標付けを有効にすると、配列またはコレクションの個々の要素がループに渡され、1つの要素が返されます。
    メモ ループが実行されないときにデフォルトのデータ出力値を避けるには、Forループに出力トンネルがある場合は自動指標付けを有効にしてください。

自動指標付けが有効になっているときは、括弧付きのグリフがループの出力トンネルに表示されます。

出力トンネルが配列の別の値を返すように構成する

ループの出力トンネルを、配列の指標付きの値、最後の値、または連結配列を返すように構成するには、以下の手順に従います。

  1. 出力トンネルを右クリックします。
  2. ショートカットメニューからトンネルモード→最後の値指標付け、または連結を選択します。

トンネルが返すことができる出力オプションの詳細については、以下の表を参照してください。

出力名 説明
指標 出力配列は、ループの反復ごとに新しい要素を受け取ります。したがって、自動指標付けされた出力配列のサイズは反復回数と常に等しくなります。たとえば、ループが10回実行される場合、出力される配列には10個の要素が入っています。
最後の値 出力トンネルは、ループの前回反復時の値だけを返します。
連結 すべての入力が順番に追加され、配線された配列入力と同じ次元の出力配列が生成されます。連結トンネルモードでは、「配列連結追加」関数と同様に配列が連結されます。

出力トンネルと次のノード間のワイヤの太さによって、ループが値を指標付けするのか、最後の値を返すのか、連結するのかを判断できます。指標付けの場合、ワイヤが連結の場合よりも太く表示されます。これは、ワイヤを通る配列がより高い次元であるためです。出力トンネルが最後の値を返す場合、ワイヤは指標付けや連結の場合よりも細く表示されます。

メモ ループは1D配列のスカラ要素、2D配列の1D要素、というように指標を付けます。出力トンネルではその逆の操作が行われます。スカラ要素は1D配列内に、1D配列は2D配列内に、というように順番に配置されます。

自動指標付けを無効にして配列を作成するサンプルについては、labview\examples\Arrays\Arrays.lvproj を参照してください。

ループに配線された配列またはコレクションの自動指標タイプを選択する

ループの種類 配列またはコレクションの構成 自動指標付け動作
Forループ 入力トンネルに1つの配列またはコレクションが配線済み、カウント端子は未配線 Forループの入力トンネルに配線された配列またはコレクションで自動指標付けを有効にすると、LabVIEWは配列またはコレクションのサイズの回数だけループを実行するため、カウント端子には配線する必要はありません。Forループに配列またはコレクションを配線すると、デフォルトで自動指標付けが有効になります。
メモ 配列またはコレクションの要素を1つずつ処理する必要がない場合は、自動指標付けを無効にできます。
Forループ カウント端子が配線済み カウント端子が配線されているときに自動指標付けを有効にした場合、LabVIEWが実際に実行する反復数は、配列またはコレクションのサイズとカウント端子の値のうち、いずれか小さい方です。 たとえば、要素が10個の配列またはコレクションをForループに配線し、カウント端子に値15を配線した場合、ループは10回のみ実行します。
Forループ 複数の配列またはコレクション 複数のトンネルで自動指標付けを有効にした場合、LabVIEWが実行する反復数は、配列またはコレクションのサイズのうち最も小さいものになります。 たとえば、それぞれ10個と20個の要素を持つ自動指標付けされた2つの配列がループに入り、カウント端子に値15が配線されている場合、ループは10回のみ実行し、最初の配列の要素はすべて指標付けされますが、2番目の配列については最初の10個の要素のみが指標付けされます。別の例としては、2つのデータソースからデータを1つのグラフ上にプロットし、最初の100個の要素をプロットしたい場合は、カウント端子に100を配線します。ただし、小さいデータソースに要素が50個しか含まれていない場合は、ループは50回実行され、各データソースの最初の50個の要素のみが指標付けされます。配列のサイズを調べるには、「配列サイズ」関数を使用します。
Whileループ 1個の配列またはコレクションが配線済み Whileループに入る配列またはコレクションに対して自動指標付けを有効にすると、WhileループはForループの場合と同様に配列またはコレクションの指標付けを行います。ただし、Whileループは特定の条件が満たされるまで実行されるため、Whieループの反復回数は、配列またはコレクションのサイズに制限されません。ループの反復数が配列またはコレクションのサイズよりも大きい場合、Whileループは配列またはコレクションのすべての要素を処理し、それ以降の反復では配列またはコレクションの要素タイプのデフォルト値を使用します。デフォルト値がWhileループに渡されることを避けるには、「配列サイズ」関数または「コレクションサイズ」関数を使用して配列またはコレクションの要素数を取得します。反復回数が配列またはコレクションのサイズと同じになった時点で、Whileループが実行を停止するように構成します。Whileループの自動指標付けは、デフォルトで無効になっています。
ヒント 出力配列または出力コレクションのサイズは事前に特定できないため、Forループの出力の自動指標付けを有効にする方が、Whileループの出力の自動指標付けを有効にするよりも効率的です。あまり多くの反復を行うと、システムのメモリが不足する可能性があります。

関連情報

配列

コレクションを使用してデータをグループ化する

Forループ: 設定した回数だけ処理を繰り返す

Whileループ: 条件が満たされるまで処理を繰り返す

ループから出る配列を自動的に連結する