Main Content

条件付き実行サブシステムの概要

"条件付き実行サブシステム" とは、外部信号で実行を制御できるようにする非バーチャル サブシステムです。"制御信号" と呼ばれる外部信号は "制御入力" 端子に接続されています。条件付きサブシステムは、実行が他のコンポーネントに依存するコンポーネントを含む複雑なモデルを作成するような場合に便利です。

Simulink canvas with Conditionally Executed Subsystem block. Subsystem block has control input port at the top and data input port at the left, both connected to Inport blocks. Subsystem block has data output port at the right, connected to an Outport block.

Simulink® では、次の種類の条件付きサブシステムをサポートしています。

  • Enabled Subsystem — 制御信号が正のときにタイム ステップごとに 1 回実行されます。実行は、制御信号が負から正の方向にゼロを横切るタイム ステップで開始されます。Enabled Subsystem の使用を参照してください。

  • Triggered Subsystem — 制御信号がゼロに対して立ち上がるか立ち下がるか、ゼロを横切るタイム ステップごとに 1 回実行されます。Triggered Subsystem の使用を参照してください。

  • Enabled and Triggered Subsystem —イネーブル制御信号が正の値であり、トリガー制御信号がゼロに対して立ち上がるか立ち下がる場合にタイム ステップごとに 1 回実行されます。Enabled and Triggered Subsystem の使用を参照してください。

  • Message Triggered Subsystem — メッセージを制御信号として使用し、ブロックのサンプル時間とは関係なく、メッセージが制御端子で使用可能な場合は必ず実行します。Using Message Polling and Message Triggered Subsystemsを参照してください。

  • Message Polling Subsystem — メッセージを制御信号として使用し、メッセージが制御端子で使用可能な場合に各タイム ステップを実行します。Using Message Polling and Message Triggered Subsystemsを参照してください。

  • Function-Call subsystem — 制御信号が関数呼び出しイベントを受信する場合に実行されます。イベントは、タイム ステップ中に 1 回以上発生する可能性があります。Stateflow® チャート、Function-Call Generator ブロック、S-Function ブロックまたは Hit Crossing ブロックは関数呼び出しイベントを提供できます。Function-Call Subsystem の使用を参照してください。

条件付き実行サブシステムまたは条件付き実行参照モデルは以下のように実行されます。

  • 制御ブロックによってイネーブルにされたときに現在のタイム ステップで 1 回。制御ブロックは、プログラミング言語の if-then-elseswitch などのステートメントによって表現されるのと同様の制御ロジックを実装します。

  • 制御信号またはアクション信号によってイネーブルにされるかトリガーされたときに現在のタイム ステップで 1 回。

  • 関数呼び出しイベントを受信したときにタイム ステップ中に 1 回以上

Simulink canvas with If block with 2 output ports, each of which is connected by dotted lines to the action port of a separate If Action subsystem block. Output of each If Action subsystem block is connected to a Merge block, whose output is connected to an Outport block. Inputs of the If block and both If Action Subsystem blocks are connected to Inport blocks.

Simulink canvas showing 2 models. In the first model, there are 2 Enabled Subsystem blocks. An Inport block lableled "Enable Signal" is connected to the control port of one Enabled Subsystem block, and to a Not block whose output is connected to the other Enabled Subsystem block. The outputs of both Enabled Subsystem blocks are connected to a Merge block. In the second model, an Inport block labeled "Function-Call Event" is connected to the control port of a Model block labeled "Enabled_Model".

モデル例

参考

ブロック

関連する例

詳細