サブシステム内のサンプル時間
R2026bサブシステムには、以下の 2 つのカテゴリがあります。Triggered と Non-Triggered です。Triggered Subsystem では、一般的にサブシステムのサンプル時間はトリガー信号から取得されます。1 つの例外は、Trigger ブロックを使用して、Triggered Subsystem を作成する場合です。ブロックの [トリガー タイプ] を [関数呼び出し] に設定し、[サンプル時間タイプ] を [周期的] に設定すると、SampleTime パラメーターがアクティブになります。この場合は、"ユーザー" が Trigger ブロックのサンプル時間を指定します。それによって、サブシステムのサンプル時間が確立されます。
Non-Triggered Subsystem には次の 4 つの種類があります。
バーチャル
Enabled
Atomic
アクション
Simulink® は、バーチャル サブシステムおよび Enabled Subsystem のサンプル時間を、それらの内容のそれぞれのサンプル時間を基準として計算します。
Atomic Subsystem は、サブシステムのブロックに SystemSampleTime パラメーターが含まれている特殊なケースです。さらに、–1 の既定値以外のサンプル時間に対し、Atomic Subsystem 内のブロックは、Inf の値、–1、またはサブシステムの SampleTime パラメーターの同一 (離散) 値のみをもつことができます。Atomic Subsystem が継承のまま残されている場合、バーチャル サブシステムや Enabled Subsystem と同じようにブロックのサンプル時間が計算されます。ただし、サブシステムの SampleTime パラメーターの主な目的は、Atomic Subsystem 内で、すべて継承に設定されている多数のブロックを同時に指定できるようにすることです。Atomic Subsystem で設定されたサンプル時間を取得するには、次のコマンドを使用します。
st = get_param(atomicSubsystemBlock,"SystemSampleTime");
最後に、Action Subsystem のサンプル時間は If ブロックまたは Switch Case ブロックによって設定されます。
サンプル時間が異なるブロックを含む Non-Triggered Subsystem の場合、サブシステムのコンパイルされたサンプル時間を取得します。サブシステムのコンパイルされたサンプル時間が、サブシステムに存在するすべてのサンプル時間の cell 配列として返されます。コンパイルされたサンプル時間を取得するには、次のコマンドを使用します。
cst = get_param(subsystemBlock,"CompiledSampleTime");