条件付き実行サブシステムの概要
"条件付き実行サブシステム" とは、外部信号で実行を制御できるようにする非バーチャル サブシステムです。"制御信号" と呼ばれる外部信号は "制御入力" 端子に接続されています。条件付きサブシステムは、実行が他のコンポーネントに依存するコンポーネントを含む複雑なモデルを作成するような場合に便利です。
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-else
やswitch
などのステートメントによって表現されるのと同様の制御ロジックを実装します。制御信号またはアクション信号によってイネーブルにされるかトリガーされたときに現在のタイム ステップで 1 回。
関数呼び出しイベントを受信したときにタイム ステップ中に 1 回以上
モデル例については、Simulink Subsystem のセマンティクスを参照してください。
参考
Enabled Subsystem | Triggered Subsystem | Enabled and Triggered Subsystem | Message Triggered Subsystem | Function-Call Subsystem