Main Content

条件付き実行サブシステムとモデル

サブシステムまたはモデルの実行タイミングの制御

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

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

  • Action Subsystem — If Action Subsystem で論理条件が true であるか、信号が Switch Case Action Subsystem で指定されている値セットのいずれかをもつタイム ステップごとに 1 回実行されます。選択サブシステムの実行を参照してください。

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

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

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

  • Message Triggered Subsystem および Message Polling Subsystem — メッセージを制御信号として使用し、メッセージが制御端子で使用可能かどうかに基づいて実行します。Using Message Polling and Message Triggered Subsystemsを参照してください。

  • Function-Call Subsystem — 制御端子が関数呼び出しイベントを受信する場合に実行されます。イベントは、タイム ステップ中に 1 回以上発生する可能性があります。Function-Call Subsystem の使用を参照してください。

Simulink では Resettable Subsystem もサポートしています。このサブシステムでは、制御信号がゼロに対して立ち上がるか立ち下がるか、ゼロを横切るタイム ステップごとに 1 回実行されますが、サブシステム内のすべてのブロックが初期条件にリセットされます。Resettable Subsystem の使用を参照してください。

サブシステムと同様に、条件付き実行の参照モデルを構成できます。参照モデルの条件付き実行を参照してください。

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

ブロック

すべて展開する

Ifif-else ステートメントに類似したロジックを使用してサブシステムの実行を選択する
If Action SubsystemIf ブロックで実行が有効化されるサブシステム
Switch Caseswitch ステートメントに類似したロジックを使用してサブシステムの実行を選択する
Switch Case Action SubsystemSwitch Case ブロックによって実行が有効になるサブシステム
Enabled Subsystem外部入力によって実行がイネーブルになるサブシステム
Triggered Subsystem外部入力により実行がトリガーされるサブシステム
Enabled and Triggered Subsystem実行が外部入力によって有効化され、トリガーされるサブシステム
Message Triggered SubsystemSubsystem whose execution is controlled by message input (R2022a 以降)
Enableイネーブル端子をサブシステムまたはモデルに追加
Triggerサブシステムまたはモデルにトリガー端子または関数端子を追加
Function-Call Subsystem外部関数呼び出し入力により実行が制御されるサブシステム
Function-Call Generatorサブシステムまたはモデルの実行を制御する関数呼び出しイベントを提供
Function-Call Split関数呼び出しラインを分割するためのジャンクションを提供する
Function-Call Feedback Latch関数呼び出しブロック間でデータ信号を含んでいるフィードバック ループを抜け出す
Triggerサブシステムまたはモデルにトリガー端子または関数端子を追加
Resettable Subsystem 外部トリガーでブロックの状態がリセットされるサブシステム

関数

Simulink.getOutportInheritsInitialValueDetermine if conditional subsystem Outport block inherits initial output value (R2021a 以降)

トピック

条件付き実行サブシステムの基礎

条件付き実行サブシステムの種類

サブシステム出力の初期化