ループを使用して配置内の個別要素を処理する



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ
LabVIEW 2020ヘルプ

配列をForループやWhileループに配線する場合、自動指標付けを有効にすることによって、その配列内の各要素を読み取って処理できます。配列を外部のノードからループの枠上の入力トンネルに配線し、入力トンネルの自動指標付けを有効にすると、配列の要素は最初の要素から1回に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ループカウント端子に配線このシナリオで自動指標付けを有効にした場合、反復回数はいずれか小さい数の回数になります。たとえば、Forループに要素が10個の配列を配線し、カウント端子に値15を配線した場合、ループは10回しか実行されません。
Forループ複数の配列上のシナリオど同様、複数のトンネルで自動指標付けを有効にした場合、反復回数は選択した配列中、最小数の回数になります。たとえば、それぞれ10個と20個の要素を持つ自動指標付けされた2つの配列がループに入り、値15をカウント端子に配線している場合、ループは10回実行し、最初の配列のすべての要素を指標付けしますが、2番目の配列については最初の10個の要素だけを指標付けします。

別の例としては、1つのグラフ上で2つのデータソースからデータをプロットし、最初の100個の要素をプロットしたい場合は、カウント端子に100を配線します。ただし、小さいデータソースには要素が50個しか含まれていない場合、ループは50回実行され、各データソースの最初の50個の要素だけが指標付けされます。配列のサイズを調べるには、「配列サイズ」関数を使用します。
Whileループ1つの配列を配線Whileループに入る配列に対して自動指標付けを有効にすると、WhileループはForループの場合と同様に配列の指標付けを行います。ただし、Whileループは特定の条件が一致するまで繰り返されるので、Whileループの反復回数は配列サイズによって制限されません。Whileループが入力配列の最後を過ぎても指標付けを行うときは、配列要素タイプのデフォルト値がループに渡されます。

「配列サイズ」関数を使用することで、Whileループにデフォルト値が渡らないようにすることができます。配列サイズ関数は配列内にある要素の数を示します。反復回数が配列サイズと同じになった時点で、Whileループが実行を停止するように設定します。

Whileループの自動指標付けは、デフォルトで無効になっています。
ヒント  出力配列のサイズはあらかじめ特定できないため、Whileループの出力の自動指標付けを有効にするよりも、Forループの出力の自動指標付けを有効にする方が効率的です。あまり多くの反復を行うと、システムのメモリが不足する可能性があります。

関連情報

Forループ

Whileループ

制御器および表示器のデータタイプ

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

「配列連結追加」関数



この記事は役に立ちましたか。

役に立たなかった