シーケンスストラクチャ:コードの一部を連続的に実行する



LabVIEW 2018ヘルプ


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

ダウンロード (Windowsのみ)


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

シーケンスストラクチャには、順番に実行される1つまたは複数のサブダイアグラム、すなわちフレームが含まれています。ブロックダイアグラムの他の部分と同様に、シーケンスストラクチャの各フレーム内では、データ依存によってノードの実行順序が決まります。

シーケンスストラクチャには、フラットシーケンスストラクチャとスタックシーケンスストラクチャの2種類があります。スタックシーケンスストラクチャは、一部のコードが非表示になることを考慮して使用してください。実行順序を制御するには、シーケンスストラクチャではなく、データフローを利用するようにします。スタックシーケンスストラクチャを使用すると、シーケンスローカル変数を使用するたびに左から右へのデータフローパラダイムに違反することになります。

ヒント  代わりに、エラークラスタを使用してデータフローを制御してください。VIでフロースルーパラメータによるフロー制御ができず、シーケンスストラクチャを使用する必要がある場合は、フラットシーケンスストラクチャの使用を検討してください。

ケースストラクチャとは異なり、シーケンスストラクチャの出力トンネルに使用できるデータソースは1つのみです。出力はどのフレームからも行うことができます。ケースストラクチャの場合と同様に、入力トンネルのデータはフラットシーケンスストラクチャまたはスタックシーケンスストラクチャですべてのフレームに使用することができます。

フラットシーケンスストラクチャ

以下に示すとおり、フレームに配線されているすべてのデータ値が有効な場合、フラットシーケンスストラクチャのフレームは左から右へ実行されます。フレームの実行が終了するたびに、データは各フレームから移動します。つまり、1つのフレームの入力は別のフレームの出力により異なります。

フラットシーケンスストラクチャは、フレームを追加または削除すると、自動的にサイズ調整されます。

フラットシーケンスをスタックシーケンスに変更して、再度フラットシーケンスに戻した場合、すべての入力端子はシーケンスの最初のフレームに移動されます。最終のフラットシーケンスは、スタックシーケンスと同様の操作となります。最初のフレームですべての入力端子とともにスタックシーケンスをフラットシーケンスに変更した後は、元のフラットシーケンスに配置されたワイヤを移動することができます。

スタックシーケンスストラクチャ

以下に示すスタックシーケンスストラクチャは、各フレームを積み重ねていくため、一度に1つのフレームのみが表示されます。フレーム0、次にフレーム1というように、最後のフレームまで実行します。

スタックシーケンスストラクチャは、最後のフレームが実行された後のみにデータを返します。ブロックダイアグラム上のスペースを節約したい場合、スタックシーケンスストラクチャを使用します。

フラットシーケンスストラクチャでフレーム間でデータを渡す場合とは異なり、スタックシーケンスストラクチャでは、フレーム間でのデータの受け渡しにシーケンスローカルを使用する必要があります。

スタックシーケンスストラクチャの上部にあるシーケンスセレクタ識別子には、以下に示すように現在のフレーム数とフレームの範囲が含まれています。

シーケンスセレクタ識別子を使用して、使用できるフレームを検索し、フレームを並べ替えます。スタックシーケンスストラクチャのフレームラベルは、ケースストラクチャのケースセレクタラベルに似ています。フレームラベルには中央にフレーム番号があり、両側に増分矢印と減分矢印があります。

フレームラベルに値を入力することはできません。スタックシーケンスストラクチャにフレームを追加したり、ストラクチャからフレームを削除したり、フレームの配置を変えたりすると、LabVIEWはフレームラベルの番号を自動的に調整します。



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

役に立たなかった