ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

シミュレーションの高速化

モデル更新のパフォーマンスの向上

Stateflow® は、Simulink® モデルのほとんどのチャートについて、モデル更新のパフォーマンスを向上させるために Just-In-Time (JIT) コンパイル モードを使用します。Stateflow は条件を満たすチャートに対し JIT モードを適用します。JIT モードのチャートについて、Stateflow はメモリ内にシミュレーション用の実行エンジンを生成します。これらのチャートでは、Stateflow はチャートのシミュレーションを行うための C コードまたは MEX ファイルを生成しません。JIT モードはモデルのコンパイルの際、最良のパフォーマンスを提供します。

信号のログを含むチャートなど、一部のチャートは JIT モードの条件を満たしません。

Stateflow モデルにはシミュレーションのデバッグ サポートが含まれています。最適なパフォーマンスを得るには、次のコマンドを使ってデバッグをオフにしてください。

sfc('coder_options', 'forceDebugOff', 1);

このコマンドを実行すると、Stateflow チャートにはデバッグのサポートやランタイム エラー チェックがなくなります。

メモ

デバッグをオフにすると、アニメーションもオフになります。

実行速度に影響を与えるシミュレーション ターゲット オプションの無効化

モデルをより高速でシミュレートするには、[モデル コンフィギュレーション パラメーター] ダイアログ ボックスの [シミュレーション ターゲット] ペインで、以下のパラメーターのチェック ボックスをオフにします。

  • セミコロンなしのエコー表現 — 末尾にセミコロンが含まれていないアクションなど、MATLAB® コマンド ウィンドウでの実行時出力を無効にするには、このチェック ボックスをオフにします。

  • 応答性を確保 — 長時間の実行を Ctrl + C を使って中断する機能を無効にするには、このチェック ボックスをオフにします。

[OK] をクリックします。

チャートを閉じたままにしてシミュレーションを高速化

モデルのシミュレーション中、アニメーションが有効になっている開いたままのチャートがあると、シミュレーションに要する時間が長くなります。すべてのチャートを閉じたままにすると、シミュレーションの実行はより速くなります。

Scope ブロックを閉じたままにしてシミュレーションを高速化

モデルのシミュレーション中、開かれている Scope ブロックの表示は絶えず更新され続けます。すべての Scope ブロックを閉じたままにしておくと、シミュレーション速度を上げられます。シミュレーションの終了後、Scope ブロックを開いて結果を表示できます。

モデルでのライブラリ チャートの使用

モデルに JIT モードを使用しないチャートが複数含まれ、また同一の要素が含まれる場合、同一のシミュレーション コードのコピーが複数生成されることになります。ライブラリ チャートを使うことにより、同一のシミュレーション コードの生成を最小限に抑えることができます。たとえば、5 つのライブラリ チャートを使用すると、同一のコピーは 5 つから 1 つに減ります。

詳細については、大規模なモデリングでの専用チャート ライブラリの作成を参照してください。