タイミングストラクチャの優先度は、ブロックダイアグラムの他のタイミングストラクチャと比較して、ストラクチャをブロックダイアグラムで実行するタイミングを指定します。タイミングストラクチャの優先度の設定を使用して、同じVIで互いに割り込み可能な複数のタスクを持つアプリケーションを作成します。タイミングストラクチャの優先度が高いほど、他のタイミングストラクチャと比べて早くストラクチャが実行されます。優先度の入力値は、1~65,535の正の整数である必要があります。

ブロックダイアグラム上の各タイミングストラクチャは、単一スレッドを含む独自の実行システムを作成して実行するため、並列タスクが発生しません。タイムクリティカルな優先度で実行するように構成されていないVIに先立って、タイミングループはブロックダイアグラムのデータフローで実行されます。

メモ 1つのブロックダイアグラムに、タイムクリティカルな優先度で実行するように構成されたVIとタイミングループを配置すると、予期しないタイミング動作が起こる場合があります。

タイミングシーケンスストラクチャまたはフレーム付きタイミングループの各フレームに優先度を割り当てることができます。タイミングストラクチャを含むVIを実行すると、ブロックダイアグラムで実行する準備ができたすべてのフレームの優先度を確認して、最も優先度の高いフレームを最初に実行します。

メモ (NI Linux Real-time) VIでは、32以上のタイミングストラクチャ優先度レベルを設定しないでください。32以上のタイミングストラクチャ優先度レベルを設定しようとすると、LabVIEWはエラーを返します。

以下のブロックダイアグラムには、タイミングループとタイミングシーケンスストラクチャが配置されています。タイミングシーケンスストラクチャ (200) の最初のフレームの優先度の値は、タイミングループ (100) よりも高いため、タイミングシーケンスストラクチャの最初のフレームが最初に実行されます。

タイミングシーケンスストラクチャの最初のフレームが実行されると、LabVIEWは実行する準備ができたフレームの他のストラクチャの優先度を比較します。タイミングループ (100) は、タイミングシーケンスストラクチャ (50) の次のフレームよりも高い優先度を持ちます。この例では、タイミングループは、タイミングシーケンスストラクチャの2番目のフレームが実行される前に完了します。

タイミングストラクチャの優先度を設定するには、入力ノードを右クリックして入力ノードを構成を選択し、続いて優先度の値を変更します。最後のフレームで右データノードの優先度入力に値を配線することによって、タイミングループの後続の反復の優先度を動的に設定することもできます。現在のフレームで右データノードに値を配線することによって、タイミングストラクチャの次のフレームの優先度を動的に設定することができます。デフォルトでは、フレームの右データノードは、使用できるすべての出力端子を表示しません。右データノードのサイズを変更するか、ノードを右クリックしてショートカットメニューを使用し、非表示の端子を表示することができます。

メモ (NI Linux Real-Time) タイミングストラクチャ優先度レベルは対話的に変更することをお勧めします。タイミングストラクチャ優先度レベルをダイナミックに変更するとパフォーマンスが低下します。

「タイミングストラクチャ」ホーム