Main Content

サブシステム内のサンプル時間

サブシステムには、以下の 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 が継承のまま残されている場合、Simulink ではバーチャル サブシステムや Enabled Subsystem と同じようにブロックのサンプル時間を計算します。ただし、サブシステムの SampleTime パラメーターの主な目的は、Atomic Subsystem 内で、すべて継承に設定されている多数のブロックを同時に指定できるようにすることです。Atomic Subsystem で設定されたサンプル時間を取得するには、コマンド プロンプトで次のコマンドを使用します。

get_param(AtomicSubsystemBlock,‘SystemSampleTime’);

最後に、Action Subsystem のサンプル時間は If ブロックまたは Switch Case ブロックによって設定されます。

異なるサンプル レートが指定されたブロックを含む Non-Triggered Subsystem の場合、Simulink は、サブシステムのコンパイルされたサンプル時間を、サブシステムに存在するすべてのサンプル レートの cell 配列として返します。これを確認するには、MATLAB プロンプトで get_param コマンドを使用します。

get_param(subsystemBlock,'CompiledSampleTime')

関連するトピック