LabVIEWでのForループとWhileループの自動指標付けトンネル

更新しました Nov 16, 2018

使用製品

Software

  • LabVIEW Full
  • LabVIEW Base
  • LabVIEW Professional

問題

WhileループまたはForループでワイヤを入力または出力した際に、ワイヤのトンネルが異なります。 四角が塗りつぶされている場合と、中に小さな角括弧がある場合があります。 これらのトンネルはどのように違いますか? また、同じにするにはどうしたらよいでしょうか?

解決策

                           
自動指標付けトンネルが有効の場合                   自動指標付けトンネルが無効の場合

トンネルの中に小さな角括弧がある場合は、自動指標付けが有効になっていることを意味します。この設定は、Forループにワイヤを配線したときのデフォルト設定です。Forループの入力端子に配線されている配列で自動指標付けを有効にすると、LabVIEWはカウント端子をその配列のサイズに設定するため、カウント端子を配線する必要はありません。

Forループは通常、各配列要素を処理する目的で使用されるため、Forループに配線される配列では自動指標付けがデフォルトで有効になっています。配列の要素を個別に処理する必要がない場合は、自動指標付けを無効にしてください。自動指標付けを無効にすると、Forループは1反復につき1つの要素を処理するのではなく、配列内のすべての要素を一度に処理します。

同様に、配列出力トンネルで自動指標付けを有効にすると、出力配列はループが反復するたびに新しい要素を受信します。したがって、自動指標付けされた出力配列のサイズは反復回数と常に等しくなります。出力トンネルで自動指標付けを無効にすると、各反復からの要素ではなく、最終反復からのデータ値を受信します。この設定を変更するには、トンネルを右クリックし、指標付け不使用または指標付け使用を選択します。

Auto-Indexingは、Whileループに配線するときや配線を外すときにはデフォルトで無効になっているので、配線トンネルは固くなります。 Whileループに入る配列の自動索引付けを有効にすると、WhileループはForループと同じ方法で配列を索引付けします。 ただしWhileループの実行回数は、特定の条件が満たされるまでWhileループが反復するため、配列のサイズによって制限されません。 さらに、配列出力トンネルを自動索引付けすると、出力配列はループの各繰り返しから新しい要素を受け取ります。

Whileループにワイヤを配線した場合、自動指標付けはデフォルトで無効になっているため、ワイヤのトンネルは塗りつぶされています。Whileループに取り入れられる配列で自動指標付けを有効にすると、WhileループはForループの場合と同様に配列の指標付けを行います。ただし、Whileループは特定の条件が満たされるまで反復を繰り返すため、Whileループの反復回数は配列サイズには制限されません。さらに、配列出力トンネルで自動指標付けを有効にすると、出力配列はループが反復するたびに新しい要素を受信します。

追加情報

  • 長さの異なる2つの配列を自動指標付け有効でForループに入力した場合、反復回数はサイズが小さい方の配列によって決定されます。たとえば、サイズが4および8の2つの数値配列を自動指標付け有効でForループに配線した場合、合計反復数は4に制限されます。
     
  • 異なる長さの2つの配列がWhileループに自動索引付けされている場合、それらは両方ともデータが欠落するまで索引付けされ、そのデータ型のデフォルト値はその後の繰り返しごとに残りの配列を埋め込みます。 whileループは配列とは独立した停止条件を持っているので、入力と出力配列に誤ったデータが追加されるのを避けるために、whileループを停止するよう注意しなければなりません。

    長さの異なる2つの配列を自動指標付け有効でWhileループに入力した場合は、両方の配列ともデータがなくなるまで指標付けされ、各後続の反復において残りの配列はそのデータタイプのデフォルト値によりパディングされます。Whileループには配列とは無関係な停止条件があるため、入力および出力配列に誤ったデータが追加されることを避けるため、Whileループを適切なタイミングで停止する必要があります。 .

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

いいえ