主要内容

。

高速リスタートのご利用の前に

目的の応答が得られるようにパラメーターを调整したり,テストを自动化したりするためにモデルのシミュレーションを缲り返し実行する必要がある场合は,そのたびにコンパイルしなくても済むように高速リスタートを使用します。高速リスタートでは,1回ごとにモデルをコンパイルしたりシミュレーションを终了したりせずに,シミュレーションを缲り返し実行することができます。高速リスタートを使用する泛用ワークフローでは,次の手顺を行います。

  1. 金宝app®のツールストリップにある[高速リスタート]ボタンを使用するか,コマンドラインから高速リスタートを有效にします。

  2. モデルのシミュレーションを実行します。最初のシミュレーションの実行时にモデルをコンパイルして初期化し,ModelOperatingPointオブジェクトを保存する必要があります。シミュレーションが完了しても、終了処理は行われません。代わりに、モデルが高速リスタートで再度初期化されます。

  3. 必要に応じて次の处理を行います。

    • 调整可能なパラメーターの変更

    • ルートレベルの入力の調整

    • 调整可能なパラメーターで参照されるベースワークスペース,モデルのワークスペース変数,データディクショナリのエントリの変更

    • 从文件ブロックや从工作区ブロックへの入力を変更します。

    • 次のシミュレーションの[初期状态]パラメーターの変更

    • 信号生成器ブロックを使用した,データの変更,信号や信号グループの名前の変更,新しいグループの追加の実行

    • set_paramコマンドとDataLoggingOverrideパラメーターを使用することで,モデルの信号ログオーバーライド値をプログラムによって変更MATLABからの信号ログ设定のオーバーライドを参照してください。

    高速リスタートでモデルを初期化した后に次の处理を行うことはできません。

    • 信号または変数の次元,型,実数/复素数の変更

    • 调整不可能なパラメーター(サンプル时间など)の変更

    • ブロックや接続の追加または削除などの构造的な変更

    これらの変更を行うには,モデルを再度コンパイルしなければなりません。このような変更を加える场合は,高速リスタートを无效にして変更を行ってから,この手顺をもう一度実行します。

  4. モデルのシミュレーションを実行します。指定したパラメーターや入力の新しい値がモデルで使用されますが,コンパイルは実行されません。

  5. 目的の応答が得られたら,高速リスタートを无效にします。

    メモ

    高速リスタートを無効にすると,金宝app仿真软件でモデルのコンパイル情報が破棄されます。モデルのシミュレーションを次に実行したときにモデルが再度コンパイルされます。

高速リスタートを使用するためのモデルの準備

高速リスタートでモデルのシミュレーションを行う前に,モデルが次の要件を満たしていることを确认してください。

  • モデルでコールバックを有效にしている场合は,モデルの再初期化时に构造が変更されないことを确认します。たとえば,マスク初期化コマンドなどのコールバックは各シミュレーションの开始时に呼び出されます。そのため,モデルの构造を変更するマスク初期化コマンドは使用しないようにしてください。

  • モデル内のすべてのブロックでModelOperatingPointオブジェクトがサポートされていなければなりません。

  • シミュレーションモードはノーマルモードまたはアクセラレータモードのどちらかです。

メモ

高速リスタートが有效になっている场合,コンパイル后にモデルに対する変更を保存することはできません。変更を保存するには,金宝appSimulink中でコンパイル情报に关する情报を破弃する必要があります。モデルに対する変更の保存は高速リスタートを无效にしてから行います。

高速リスタートの有效化

次のいずれかの方法を使用して高速リスタートを有效にします。

  • 金宝appSimulink的エディターのツールバーにある[高速リスタート]ボタンをクリックします。

  • 马铃薯®コマンドプロンプトで,set_paramを使用して高速リスタートを有效にします。以下を入力します。

    set_param(模型、“FastRestart”、“上”)

高速リスタートを使用したモデルのシミュレーション

モデルを読み込んで高速リスタートを有効にしてから,モデルのシミュレーションを実行します。

  1. SIMを呼び出すか,金宝appSimulink的エディターのツールストリップにある[実行]ボタンをクリックしてモデルのシミュレーションを実行します。高速リスタートでの最初のシミュレーションの実行时にモデルをコンパイルし,ModelOperatingPointオブジェクトを保存する必要があります。

    シミュレーションが完了すると,モデルが高速リスタートで初期化されたことがステータスバーに示されます。

  2. モデルの调整可能なパラメーター(获得ブロックのゲイン値など)やルートレベルの入力の値を調整します。ベースワークスペース変数を変更することもできます。サンプル時間などの調整不可能なパラメーターは,モデルの再コンパイルが必要になるため調整できません。

  3. モデルを再度シミュレートします。今回はモデルのコンパイルは行われません。[再生]ボタンをクリックするかステップを进めると,新しい値をもつブロックおよびワークスペース変数を参照するブロックが的金宝appSimulinkで更新されます。

  4. 意図した結果が得られたら,[高速リスタート]ボタンをクリックしてオフにすることで高速リスタートを無効にします。

  5. 変更内容を保存する场合はモデルを保存します。

メモ

高速リスタートでモデルが初期化された後にモデルに構造的な変更を加えようとすると,金宝app仿真软件で警告が表示されます。それらの変更を行う場合は,高速リスタートを無効にしなければなりません。

シミュレーションの停止

高速リスタートでシミュレーションを実行しているときに[停止]をクリックすると,次の状态になります。

  • シミュレーションは终了しません。

  • モデルは初期化された状态になります。

  • モデルの调整可能なパラメーターを変更できます。

  • [高速リスタート]ボタンをクリックしてオフにすることで,シミュレーションを终了し,高速リスタートを终了できます。

高速リスタートの終了

高速リスタートを终了できるのは,モデルが初期化された状态のときだけです。シミュレーションの実行后,[高速リスタート]ボタンをクリックしてオフにします。プログラムでこれを行うには,以下を入力します。

set_param(模型、“FastRestart”、“了”)

  • 金宝appSimulink的によるシミュレーションが终了します。

  • 金宝appSimulink中でモデルのコンパイル情报が破弃されます。

  • シミュレーションの次回実行时にモデルを再度コンパイルしなければなりません。

高速リスタートの方法论

シミュレーション間のパラメーターの調整

  • 高速リスタートでモデルが初期化された後,ブロックの値とベースワークスペースの変数に加え,[コンフィギュレーションパラメーター]ダイアログボックス([シミュレーション]タブの[准备]で,[モデル设定]をクリック)の[データのインポート/エクスポート]および[ソルバー]ペインでパラメーターを調整できます。

  • シミュレーション间の调整を高速リスタートでモデルが初期化された状态でしか行えないパラメーターがあります。次のようなものがあります。

    • 我知道了ブロックの[初期値]パラメーター

    • 合并ブロックの[初期出力]パラメーター

    • 从工作区ブロックの[データ]パラメーター

    • 信号生成器ブロックの[信号]パラメーターおよび信号グループ

高速リスタートでのモデルのメソッドとコールバック

金宝appSimulink中では高速リスタートが有效な场合,モデルおよびブロックのメソッドとコールバックを次のように呼び出します。

  1. モデルのInitFcnコールバックを呼び出します。

  2. モデルのSetupRuntimeResourcesメソッドを呼び出します。

    1. mdlSetupRuntimeResourcess函数メソッドを呼び出します。

  3. モデルの开始メソッドを呼び出します。

    1. mdlStarts函数メソッドを呼び出します。

  4. モデルの初始化メソッドを呼び出します。

    1. mdlInitializeConditionss函数メソッドを呼び出します。

      メモ

      ssIsFirstInitCondフラグを使用して,シミュレーションの初期化フェーズ(高速リスタートでの最初と後続の初期化を含む)でのみ実行する必要のあるコードをガードします。

  5. モデルとブロックのStartFcnコールバックを呼び出します。

    メモ

    ステップ1〜5は,高速リスタートを使用するかどうかに关系なくSimul金宝appink中のすべてのシミュレーションに适用されます。

  6. 高速リスタートの最初のシミュレーション用にシミュレーションスナップショットをキャプチャします。シミュレーションスナップショットには,シミュレーション状态(ModelOperatingPoint)と,ログデータおよび可视化ブロックに关连する情报が含まれます。スナップショットをキャプチャする处理の一环としてModelOperatingPoints函数メソッドを呼び出します。

  7. これは高速リスタートを使用するかどうかに関係なくどのシミュレーションでも実行される標準の実行フェーズです。

    • モデルの输出を呼び出します。

    • モデルの更新を呼び出します。

    • モデルの衍生品を呼び出します。

    • これらのステップを停止时间になるか停止が要求されるまでループで缲り返します。

  8. モデルの终止メソッドを呼び出します。

    1. mdlTerminates函数メソッドを呼び出します。

  9. シミュレーションの終了後,モデルとブロックのStopFcnコールバックを呼び出します。これは高速リスタートを使用するかどうかに関係なくどのシミュレーションでも実行される標準のフェーズです。

  10. 高速リスタート用に取得したシミュレーションスナップショットを復元します。復元する処理の一環としてs函数メソッドを呼び出します。

  11. 次のいずれかの处理が行われるまで,再初期化された状态で待机します。

    • 別のシミュレーションを(プログラムまたは仿真金宝app软件エディターを使用して)高速リスタートで実行するには,ステップ3に戻ります。

    • 高速リスタートモードを終了し,モデルのコンパイルを解除するには,次を行います。

      1. モデルのメソッドCleanupRuntimeResourcesmdlCleanupRuntimeResourcess函数メソッドを呼び出します。

      2. ここではStopFcnコールバックは呼び出しません。

场合によっては,开始メソッドと终止メソッドは1度のみ呼び出され,连続する各高速リスタートでのシミュレーションでは呼び出されません。この场合,これらのメソッドの呼び出しはSetupRuntimeResourcesおよびCleanupRuntimeResourcesに対する呼び出しとそれぞれ结合されます。これは,以下のような场合です。

  • S-功能にカスタムのModelOperatingPointの保存メソッドと复元メソッドが含まれている场合。

  • S-功能がフラグSS_OPTION_CALL_TERMINATE_ON_EXITを设定する场合。

  • S-功能が参照モデルのアクセラレータモード内に配置された场合。

モデルのコールバックについての详细は,カスタマイズされたモデルの动作のコールバックを参照してください。

操作点と初期状态の値

高速リスタートの各シミュレーションでModelOperatingPointを含む初期状态の値を変更できます。

初期状态のModelOperatingPointオブジェクトを高速リスタートで使用した场合,新しいシミュレーションを开始するたびに,それぞれのModelOperatingPointオブジェクトのスナップショット时间ではなく,モデルの开始时间にリセットされます。その后,最初のステップ実行で,ModelOperatingPointが指定されているかどうかが仿金宝app真软件でチェックされます。指定されている場合は,次のステップに進む前に仿金宝app真软件で復元されます。これにより,最初のシミュレーションステップから指定されたModelOperatingPointオブジェクトのスナップショット时间まですばやく效率的に处理が进められます。

シミュレーションデータインスペクターを使用したデータの解析

高速リスタートでは,シミュレーションデータインスペクターを使用したデータのログ作成がサポートされます。高速リスタートでシミュレーションを実行するたびに,快速重启运行<编号>という名前でSDIオブジェクトが作成されます。数字の値はシミュレーションごとに1ずつ増加します。

初期化关数のカスタムコード

[モデルコンフィギュレーションパラメーター]ダイアログボックスの[コンフィギュレーションパラメーター][シミュレーションターゲット][カスタムコード][初期化关数]ペインに配置したカスタムコードは,高速リスタートの最初のシミュレーションでのみ呼び出されます。

关键词トピック