Main Content

ブロックのコンパイルされたサンプル時間

シミュレーションのコンパイルの段階で、Simulink® はブロックのサンプル時間を、SampleTime パラメーター (明示的なサンプル時間が存在する場合)、ブロック タイプ (暗黙的なサンプル時間が存在する場合) またはモデルの内容から決定します。シミュレーションの間、このコンパイルされたサンプル時間がブロックのサンプルレートを決定します。最初にモデルを更新し、次に get_param コマンドを使用してブロックの CompiledSampleTime パラメーターを取得することにより、モデルの各ブロックのコンパイルされたサンプル時間を決定することができます。

たとえば、以下のモデルを考えます。

get_param を使用して、この例内のブロックごとに、ブロック CompiledSampleTime パラメーターを取得します。

get_param('model_name/block_name','CompiledSampleTime');
Sine Wave3 ブロックの場合、
get_param('ex_compiled_sample_new/Sine Wave3','CompiledSampleTime');
は、以下を表示します。
0.5000   0
Atomic Subsystem は、3 および 4 のサンプル時間をもつ Sine Wave ブロックを含んでいます。

このサブシステムのブロック CompiledSampleTime を計算すると、Simulink はサブシステム内に存在するサンプル時間の cell 配列を返します。

3   0
4   0
2 つのレートの最大公約数 (GCD) は 1 です。しかし、これが必ずしもモデルのレートの 1 つになるとは限りません。

このモデルの Rate Transition ブロックは、ゼロ次ホールドとして機能します。Sample Time Multiple パラメーターが 3 に設定されているので、Rate Transition ブロックへの入力のサンプル レートは 0.5、出力のレートは 1.5 です。

rt=get_param('ex_compiled_sample_new/Rate Transition',...
'CompiledSampleTime');
rt{:}

0.5000   0
1.5000   0

[サンプル時間の凡例] は、モデル内に存在するすべてのサンプル レートを示します。

モデル全体でコンパイルされたサンプル時間を検査するために、モデル データ エディター ([モデル化] タブで [モデル データ エディター] をクリック) を使用できます。ブロック線図を更新すると、[サンプル時間] 列の右側には信号およびデータ ストアのコンパイルされたサンプル時間が表示されます。詳細については、モデル データ エディターを参照してください。

関連するトピック