メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

ハードウェアインターフェースモデルのタイミング

シミュレーション時間

Simulink® モデル内のブロックがハードウェア デバイスとインターフェイスする必要がある場合、シミュレーションがリアルタイムで実行されるのにかかる時間とシミュレーション時間、およびシミュレーション中にハードウェア インターフェイス ブロックが実行される頻度と回数を考慮する必要がある場合があります。通常、ハードウェアの通信速度は、現実世界または「壁時計」の時間を基準とします。ハードウェア要件に合わせて、シミュレーションの期間、ブロックの実行速度、シミュレーションのペースを調整できます。このトピックでは、ブロック実行に固定ステップを使用して、ハードウェア インターフェイス モデルの基本的なタイミング概念について説明します。

シミュレーションには、開始時間と終了時間によって定義される期間があります。デフォルトの期間は、シミュレーション時間 (またはシミュレートされた秒数) の 10 単位です。これらのシミュレーション秒数は、必ずしも壁時計で測定されるリアルタイムの秒数と同じではありません。

モデルの期間を調整するには、モデルの「構成パラメーター」ダイアログ ボックスを開きます。Simulink ツールストリップの モデル化 タブで、モデル設定 をクリックします。左側のペインで、ソルバー を選択します。開始時間終了時間 の設定で継続時間を定義します。ほとんどの場合、開始時間0.0 である必要があり、シミュレーションに必要な期間を反映するように 終了時間 を設定できます。

シミュレーションが実行されると、一連のタイムステップによってブロック実行のクロッキングが実行されます。固定タイムステップサイズの自動ソルバーの設定では、コンパイル中に Simulink はモデル内のすべてのブロックの サンプル時間 パラメータ設定に合わせてタイムステップ周波数を計算します。たとえば、モデル内のすべての timed ブロックのサンプル時間設定が 0.01 またはその倍数である場合、時間ステップ サイズ 0.01 がモデル全体で機能します。

ブロックのサンプル時間

ハードウェア デバイスとインターフェイスするモデルの場合、指定されたレートの固定時間ステップが望ましい場合があります。たとえば、ブロックのタイミング関係を制御するには、ミリ秒単位の解像度が必要になる場合があります。タイミング オプションを次のように設定します。

  • 開始時間: 0.0

  • 終了時間: 10.0

  • タイプ: Fixed-step

  • ソルバー: discrete

  • 固定ステップ サイズ: 0.001

画像はこれらの設定を含むダイアログ ボックスを示しています。

Timing options in the model configuration dialog

このモデルでは、デフォルトの サンプル時間 設定が 0.01 であるブロックが 10 番目のタイム ステップごとに実行され、10 秒間のシミュレーションで 1001 回実行されます。2 倍の速度で実行する必要がある別のブロックでは、サンプル時間0.005 に設定する必要があります。

メモ

ほとんどの場合、固定ステップ サイズ 設定を auto のままにして、Simulink がすべてのブロック設定に基づいて適切な基本サンプル時間を計算できるようにすることができます。

シミュレーション期間は 10 シミュレーション秒で、ブロックの サンプル時間 期間は 0.01 シミュレーション秒であるため、そのブロックは完全なシミュレーションで 1001 回実行されます (最初のステップと最後のステップを含む)。シミュレーションはブロックが実行できる速度で実行され、1001 回の実行にはウォールクロック時間で 10 秒を大幅に下回る時間がかかる可能性があります。したがって、リアルタイムのシミュレーションは、必要な反復回数にわたってモデル内のブロックをどれだけ速く実行できるかによって決まります。多くの場合、シミュレーションの目的は、現実世界の状況よりも短い時間で動作をモデル化することです。このような場合、ブロック実行の順序と繰り返しは重要ですが、実際の現実世界の時間の範囲は重要ではない可能性があります。

ペーシングモデルシミュレーション

実際の時間の一定間隔で何らかの操作を繰り返して、モデルがハードウェア デバイスと対話する必要がある場合もあります。たとえば、ブロックは温度計からデータを繰り返し読み取ったり、外部信号発生器にトリガーを送信してパルス列を出力したりすることがあります。

ブロック サンプル時間0.1 に設定すると、シミュレーション時間内のブロック実行速度のみが制御されます。シミュレーション時間を実際の時間と相関させるには、シミュレーション ペーシングを使用して、シミュレーションの実行速度を下げ、実際の時間のペースで実行することができます。シミュレーション ペーシング オプション ダイアログ ボックスにアクセスするには、Simulink ツールストリップの シミュレーション タブで、Run ボタンの矢印をクリックし、シミュレーション ペーシング を選択します。

シミュレーションのペースを決めるには、ペーシングを有効にしてシミュレーション速度を遅くする を選択します。デフォルトでは、シミュレーション時間と実時間の比率は 1 です。つまり、1 秒のシミュレーション時間でモデルをシミュレートすると、実時間で約 1 秒かかることになります。

Simulation Pacing Options dialog box

このペーシング設定では、0.1 のブロック サンプル時間 はおよそ 0.1 ウォールクロック秒に等しくなり、1 秒あたり 10 ブロックが実行されることになります。したがって、0.1 シミュレーション秒ごとにデバイス出力パルスを生成するブロックは、ウォールクロック 1 秒あたり 10 個のパルスを生成するようになりました。

壁時計の時間に対するより正確なペース設定が必要な場合については、「リアルタイム シミュレーションおよびテスト」を参照してください。

参考

ツール

トピック