このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
シミュレーションのステップ実行の仕組み
以下のトピックでは、シミュレーション ステッパーがシミュレーションをステップ実行する仕組みについて説明します。
シミュレーションのスナップショット
シミュレーション ステッパーを設定する際に指定する項目は次のとおりです。
ステッパーがスナップショットを作成するタイム ステップの数
スナップショット間でスキップするステップの数
保存するスナップショットの総数
シミュレーション スナップショットには、シミュレーションの操作点と、ログ データおよび可視化ブロックに関連する情報が含まれます。シミュレーション ステッパーはシミュレーションのステップを進める際に、指定したタイム ステップの間隔でシミュレーションの状態をスナップショットに保存します。
シミュレーション ステッパーのステップとシミュレーションのタイム ステップは同じではありません。シミュレーションのタイム ステップはシミュレーションが進行する固定の長さの時間です。シミュレーション ステッパーのステップはシミュレーション ステッパーがスナップショットを作成するステップです。シミュレーション ステッパーが扱う各ステップは、1 つ以上のシミュレーションのタイム ステップで構成されます。
シミュレーションのステップを戻すと、Simulink.op.ModelOperatingPoint
オブジェクトとして保存されたシミュレーション スナップショットを使用してシミュレーションの以前の状態が表示されます。ステップを戻すときに、モデルが逆方向にシミュレーションされることはありません。このため、ステップを戻す機能を有効にするには、最初にモデルのシミュレーションを実行するか、あるいはステップを進めてスナップショットを保存しなければなりません。
ステップを戻す機能用のスナップショットは、単一のシミュレーション中でのみ利用できます。シミュレーション ステッパーは、複数のシミュレーション間でステップを保存することはありません。
シミュレーション ステッパーのスナップショットの使用方法
シミュレーション スナップショットは、特定の時点からシミュレーションを継続するために必要なすべての情報をキャプチャします。シミュレーション ステップを設定する際に指定する項目は次のとおりです。
順方向のシミュレーション中にキャプチャするスナップショットの最大数。この値を大きくすると、シミュレーションのメモリ消費量が増え、シミュレーションの実行時間が長くなります。
スナップショット間でスキップするタイム ステップの数。この設定により、ステップを進めるときに 3 ステップに 1 回のような定期的な間隔で、シミュレーションの状態のスナップショットを保存することが可能になります。この間隔は、進むタイム ステップ数や戻るタイム ステップ数に依存しません。シミュレーションのスナップショットの記録はシミュレーション速度に影響するため、スナップショットの保存頻度を下げるとシミュレーション速度が向上する場合があります。
この図は、[シミュレーション ステップ オプション] ダイアログ ボックスでのパラメーターの設定に応じて、シミュレーションをステップ実行する方法を表しています。実際のシミュレーションのステップ実行に応じてステップ パラメーターを変更できるので、この図に示すように、1 ステップずつまたは複数ステップずつ、シミュレーションをステップ実行できます。
この図で、スナップショットのキャプチャ間隔は 3 です。
次の図は、ステップを進める途中でステップ オプションを変更する利点を示しています。4 番目のステップで、保存するステップ間の間隔に基づいて、スナップショットのステップを 3 ステップから 1 ステップに変更しました。これにより特定のシミュレーション時間近辺のスナップショットを多くキャプチャできます。
次の図は、シミュレーション ステッパーのスナップショット設定により、ステップを戻すときに動作がどのように変化するかを表しています。たとえば、スナップショット間の間隔を 3 に設定し、ステート 6 から開始して、ステッパーの [戻る/進むステップ数] 設定を 1 に設定すると仮定します。ステッパーは最初にシミュレーション状態を最後に保存されたスナップショット (ステート 3) に復元した後、2 つのメジャー タイム ステップのシミュレーションを実行して目的の状態 (ステート 5) に到達します。
このように、シミュレーションの特定のタイム ステップまでステップを戻すと、シミュレーション ステッパーはそのタイム ステップより前で、最後に保存されたスナップショットを復元します。その後、指定したタイム ステップまでステップを前に進めます。この機能は、メモリ使用量およびシミュレーション パフォーマンスの改善に役立ちます。
Simulink デバッガーとシミュレーション ステッパーの相違
シミュレーション ステッパーと Simulink® デバッガーは、ともにモデル シミュレーションの開始、停止、ステップ実行を行うことができます。どちらのツールも、ブレークポイントをデバッグ セッションの一部として使用できます。しかし、シミュレーション ステッパーと Simulink デバッガーは違う目的で使用されます。それぞれのツールで実行できるアクションを次のテーブルに示します。
アクション | シミュレーション ステッパー | Simulink デバッガー |
---|---|---|
メジャー タイム ステップの実行後にシステムの状態を確認する | ![]() | ![]() |
ステップからステップへのモデル全体のダイナミクスを観測する | ![]() | |
シミュレーションのステップを戻す | ![]() | |
メジャー ステップ間で一時停止する | ![]() | |
Stateflow® デバッグ セッションを制御する | ![]() | |
シミュレーションをメジャー ステップごとにステップ実行する | ![]() | |
単一のメジャー タイム ステップの間に単一ブロックのダイナミクス (たとえば、出力や更新) を監視する | ![]() | |
メジャー タイム ステップの実行中にシステムの状態を確認する | ![]() | |
単一のメジャー タイム ステップの間にソルバーのダイナミクスを観測する | ![]() | |
Simulink シミュレーションのさまざまな段階を表示する | ![]() | |
メジャー ステップ内で一時停止する | ![]() | |
ブロックごとにシミュレーションをステップ実行する | ![]() | |
コマンド ライン インターフェイスからアクセスする | ![]() |
シミュレーション プロセスについて理解すると、シミュレーション ステッパーと Simulink デバッガーの違いをより深く理解できます。