Main Content

Resettable Subsystem の使用

Resettable Subsystem の動作

サブシステム内のすべてのブロックの状態を条件付きで初期条件にリセットする場合は、Resettable Subsystem を使用します。Resettable Subsystem はタイム ステップごとに実行されますが、リセット端子でトリガー信号が発生するとその中のブロックの状態が条件付きでリセットされます。この動作はリセット端子を含むブロックの動作のリセットと似ていますが、Resettable Subsystem では中に含まれているすべてのブロックの状態がリセットされる点が異なります。

Resettable Subsystem を使用すると、ブロックまたはサブシステムの状態を他の方法でリセットする場合と比べ、以下のような利点があります。

  • サブシステム内の複数のブロックの状態をリセットする場合、各ブロックのリセット端子の表示と接続は煩雑で、ブロック線図が読みにくくなります。代わりに Resettable Subsystem にすべてのブロックを含めて、サブシステムで Reset ブロックを設定します。

  • Discrete State-Space ブロックなどの一部のブロックには状態はあってもリセット端子はありません。これらのブロックは個別にリセットできないため、それらのブロックが含まれるサブシステムをリセットしなければなりません。この場合は、これらのブロックを Resettable Subsystem に含めると便利です。

  • また、イネーブル端子で [イネーブル時の状態] パラメーターを [リセット] に設定して、Enabled Subsystem でブロックをリセットすることもできます。ただし、この動作を行うには、サブシステムをディセーブルにしてから、後のタイム ステップで再度イネーブルにしなければなりません。同じタイム ステップでブロックの状態をリセットするには、Resettable Subsystem を使用します。詳細については、Resettable Subsystem と Enabled Subsystem の比較を参照してください。

Resettable Subsystem 内のすべてのブロックのサンプル時間は同じでなければなりません。またこれらのブロックはサブシステムのサンプル時間ヒットごとに実行されます。Resettable Subsystem およびモデルは、共通のクロックを使用します。

メモ

Resettable Subsystem に Simulink Function ブロックを含む Stateflow® チャートが含まれる場合、Resettable Subsystem が実行されたとき Simulink Function ブロック内のブロックは初期条件に戻りません。

このモデルは、ブロックのリセット端子と Resettable Subsystem の動作が同じであることを示しています。Resettable Subsystem を使用すると、その中のすべてのブロックの状態をリセットできます。Resettable Subsystem にはルートレベルの Integrator ブロックと同様に設定された Integrator ブロックが含まれますが、このブロックにはリセット端子がありません。サブシステムは、中に含んでいる Integrator ブロックの状態を、Integrator ブロックのリセット端子と同じようにリセットします。この動作は、モデルを実行し、スコープで出力を表示して確認できます。

Resettable Subsystem と Enabled Subsystem の比較

Enable ブロックの [イネーブル時の状態][リセット] に設定すると、Enabled Subsystem はサブシステム内のすべてのブロックの状態をリセットします。ただし、状態をリセットするには、少なくとも 1 タイム ステップでサブシステムをディセーブルにしてから、再度イネーブルにしなければなりません。

一方、Resettable Subsystem は常に実行され、そのブロックの状態は瞬時にリセットされます。

このモデルは、これらのサブシステムの実行動作の違いを示しています。モデルには、制御端子がパルス発生器に接続されている Enabled Subsystem と Resettable Subsystem が含まれています。Resettable Subsystem は制御信号の立ち上がりエッジでリセットされるように設定され、Enabled Subsystem ではイネーブル端子の [イネーブル時の状態] パラメーターが [リセット] に設定されています。

サブシステムには同一の Discrete-Time Integrator ブロックが含まれ、その入力はモデルのルート レベルにある Constant ブロックです。次の図は Resettable Subsystem の内容を示しています。

次の図は、シミュレーション出力を示しています。

制御信号が 0 のときに、Enabled Subsystem はディセーブルになり、Integrator はその出力を変更しませんが、Resettable Subsystem は実行されています。制御信号の立ち上がりエッジによって、Resettable Subsystem のリセット端子がトリガーされ、Enabled Subsystem がイネーブルになります。どちらのサブシステムも、このタイム ステップでは状態をリセットしています。

Enabled Subsystem の状態をリセットするには、少なくとも 1 タイム ステップで Enabled Subsystem をディセーブルにしなければなりません。Resettable Subsystem にはこの制限はありません。

モデル例

モデル例については、以下を参照してください。

参考

|

関連するトピック