主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

サンプル時間のタイプ

離散サンプル時間

離散サンプル時間をもつブロックの場合,金宝app仿真软件®では次の時間にブロックの出力または更新メソッドを実行します。

T N = N T s + | T o |

ここで、サンプル時間の周期 T s は常にゼロより大きく、シミュレーション時間 T s M より小さくなります。周期数 ( N ) は整数で、次を満たさなければなりません。

0 N T s M T s

シミュレーションの進行中、金宝app模拟は T N のこれらの各固定間隔で 1.回だけブロック出力を計算します。金宝app模拟が任意のサンプル時間に対してブロックの出力メソッドを実行するこれらのシミュレーション時間は、"サンプル時間ヒット"と呼ばれます。離散サンプル時間は、サンプル時間ヒットが既知の情報である唯一のタイプです。

最初のサンプルヒット時間を遅延させる必要がある場合は,オフセット T o を定義できます。

单位延迟ブロックは離散サンプル時間をもつブロックの例です。

連続サンプル時間

離散サンプル時間とは異なり、連続サンプル ヒット時間はメジャー タイム ステップとマイナー タイム ステップに分けられます。マイナー ステップは、メジャー ステップのサブ分割を表します。ソルバーは、各メジャー タイム ステップでの結果を生成します。マイナー タイム ステップでの結果を使ってメジャー タイム ステップでの結果の精度を向上させます。

選択する 颂诗ソルバーは、すべての連続状態をシミュレーション開始時間から任意のメジャー タイム ステップまたはマイナー タイム ステップまで統合します。ソルバーは、マイナー ステップの時間を判断し、マイナー タイム ステップでの結果を使用して、メジャー タイム ステップでの結果の精度を向上させます。ただし、表示されるのはメジャー タイム ステップのブロック出力のみです。

导数などのブロックを連続として指定するには、[0, 0]または0をブロック ダイアログの[サンプル時間]フィールドに入力します。

マイナー ステップに固定

ブロックのサンプル時間が[0, 1] に設定されている場合、ブロックは "マイナー ステップに固定"されます。この設定では、金宝app模拟はマイナー タイム ステップでブロックを実行しません。更新はメジャー タイム ステップでのみ行われます。このプロセスにより、メジャー ステップ間で出力を変更できないブロックの不要な計算が除去されます。

ブロックはマイナー ステップに固定されるように明示的に設定できますが、通常 金宝app模拟ではこの条件を継承サンプル時間または0(連続) のユーザー指定への変更として設定します。この設定は、固定ステップ ソルバーを使用したときの最速離散レートと同等であり、したがってそのレートに変換されます。

継承サンプル時間

ブロックのサンプル時間が[–1, 0]または–1に設定されている場合,サンプル時間は”継承”され、モデル内のブロック コンテキストに基づいて最適なサンプル時間が 金宝app模拟によって決定されます。模拟ではコンパイルの段階でこのタスクを実行します。継承された元の設定が、コンパイルされたモデルに表示されることはありません。したがって、[サンプル時間の凡例] には継承された ([–1, 0]) は表示されません (サンプル時間情報の表示を参照)。

サンプル時間が既定で継承される(1)ブロックがいくつかあります。これらのブロックでは,パラメーターが継承されていない値に設定されない限り,パラメーターはブロックのダイアログボックスに表示されません。このようなブロックの例には,获得ブロックや取整函数ブロックがあります。適切なモデル化のために、これらのブロックの[サンプル時間]パラメーターは変更しないことをお勧めします。詳細については、サンプル時間が推奨されないブロックを参照してください。

継承されたすべてのブロックは、伝播が継承サンプル時間に影響を与える方法に説明されているように,サンプル時間の伝播のプロセスの影響を受けます。

定数サンプル時間

金宝app模拟では、定数はシンボリック名またはシンボリック式であり、その値はアルゴリズム外または監視制御を通じてのみ変更できます。常数ブロックなどのブロックは、モデルを通常実行している間はその出力が変化することはなく、常に一定であると見なされます。

金宝app仿真软件は定数サンプル時間をこれらのブロックに割り当てます。ブロックの出力メソッドは次のタイミングで実行されます。

  • シミュレーションの開始時。

  • 環境内での実行時の変更への応答 (パラメーターの調整など)。

定数サンプル時間の場合、ブロックのサンプル時間の割り当ては[inf,0]または[inf]です。

定数サンプル時間を許可するブロックに対しては、次の条件が適用されます。

  • ブロックに連続状態または離散状態がない。

  • 条件付き実行サブシステムの出力端子にブロックが接続されていない (启用子系统の使用を参照)。

s函数ブロック

金宝app模拟ブロック ライブラリには、matlabs函数ブロック,二级MATLAB S函数ブロック,C-S函数ブロックなど,異なるサンプルレートで出力を行う端子をもつさまざまなブロックが含まれています。このようなブロックの端子には,定数サンプル時間をもつものがあります。

可変サンプル時間

可変サンプル時間を使用するブロックは、ブロックが指定する暗黙的な取样时间パラメーターをもっています。このブロックは、その実行時期を 金宝app模拟に伝えます。コンパイルされたサンプル時間は [-2,Tvo] で、Tvoは一意のオフセットです。

脉冲发生器ブロックは可変サンプル時間をもつブロックの例です。金宝app模拟では可変ステップ ソルバーに対してのみ可変サンプル時間をサポートしているので、固定ステップ ソルバーを使用している場合は、脉冲发生器ブロックによって離散サンプル時間が指定されます。

独自のブロックを記述して変数サンプル時間を使用する方法については,C MEX S函数示例を参照してください。

制御可能なサンプル時間

分解能T基础をもつ制御可能なサンプル時間を使用するようにブロックを設定できます。T基础は、ブロック実行間の最小許容時間間隔です。独自の C-S函数ブロックでT基础を設定するには,ssSetControllableSampleTimeを使用します。

制御可能なサンプル時間を使用するブロックは,T基础の N倍で実行されるよう動的に設定できます。ブロックの次の実行時間は以下のようになります。

T下一个= n T基础+ T

SSSETNUMTICKSTONEXTHIT用于可控采样时间を使用して、C-S函数ブロックでNを設定できます。

トリガー サンプル時間

ブロックがトリガータイプ (函数调用、启用和触发または 迭代器など) のサブシステムに含まれている場合、そのブロックは定数であるか、トリガー サンプル時間をもちます。トリガー サンプル時間のタイプを明示的に指定することはできません。ただし、コンパイル中にトリガーのタイプを使用するには、ブロックのサンプル時間を継承 (–1) に設定しなければなりません。模拟はそれにより、ブロックがシミュレーション中にその出力を計算す金宝appる特定の時間を決定します。1.つの例外は、次の項で説明するように、サブシステムが非同期の 函数调用の場合です。

非同期のサンプル時間

非同期のサンプル時間はトリガー サンプル時間に似ています。金宝app模拟エンジンは定期的にブロックを実行しないので、どちらの場合も継承サンプル時間を指定する必要があります。代わりに、ランタイム条件によってブロックの実行時期が決定されます。非同期のサンプル時間の場合は、S函数が非同期の関数呼び出しを行います。

これらのサンプル時間タイプの違いは次のとおりです。

  • 函数调用子系统のみが非同期のサンプル時間をもつことができます (函数调用子系统の使用を参照)。

  • 関数呼び出し信号ソースは、オプション SS_选项_异步をもつ S函数です。

  • 非同期のサンプル時間は、バーチャル ブロックが非同期の S函数サブシステムまたは非同期の 函数调用子系统に接続されている場合にも発生することがあります。

  • 非同期のサンプル時間はコードを生成する一部のアプリケーションで重要です (非同期イベント(金宝appSimulink编码器)を参照)。

  • サンプル時間は [ 1. , N ] です。

ブロックを使用して,非同期のイベントを処理するコードをモデリングし,生成する方法の詳細については,速率转换ブロックと 异步的ブロック(金宝appSimulink编码器)を参照してください。

参考

||