メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

シミュレーションを高速化するための Simulink キャッシュ ファイルの共有

Simulink® キャッシュ ファイルには、シミュレーションとコード生成を高速化するビルド アーティファクトが含まれています。これらのビルド アーティファクトを生成して Simulink キャッシュ ファイルに自動的にパッケージ化するには、次のいずれかのアクションを行います。

  • アクセラレータ モードで参照されるモデルを含むモデルの階層構造のブロック線図を更新する

  • アクセラレータ モードで参照されるモデルを含むモデルの階層構造のシミュレーションを行う

  • アクセラレータ モードまたはラピッド アクセラレータ モードで最上位モデルのシミュレーションを行う

  • モデルまたはモデルの階層構造のコードを生成する

これらのアクションを 2 回目に行うとき、Simulink は、[リビルド] コンフィギュレーション パラメーターが [変更が検出された場合] (既定) または [既知の依存関係で変更が検出された場合] に設定されている限り、古くなったファイルのみをビルドします。ビルドするファイルが少ないほど、アクションは高速で完了します。

メモ

[リビルド] コンフィギュレーション パラメーターを [行わない] に設定すると、すべての参照モデルのリビルドを回避できますが、この設定を使用することによって、無効なシミュレーション結果が生じることがあります。

チームのメンバーおよび継続的インテグレーション (CI) システムは、使用するモデルの Simulink キャッシュ ファイルを生成できます。これらのモデルを初めてビルドするときにかかる時間を削減するには、対応する Simulink キャッシュ ファイルを [シミュレーション キャッシュ フォルダー] 基本設定で指定されたローカル フォルダーにコピーできます。Simulink は、ディスクにある内容と異なる Simulink キャッシュ ファイルの内容をすべて抽出します。Simulink がディスクにあるビルド アーティファクトを生成または更新する場合、対応する Simulink キャッシュ ファイルがローカルに更新されます。

Simulink キャッシュ ファイルは .slxc 拡張子で識別できます。ファイル名は対応するモデルの名前と一致します。

Simulink キャッシュ ファイルの内容の検証

Simulink キャッシュ ファイルには、次のものを含む複数のタイプのビルド アーティファクトが含まれている場合があります。

  • アクセラレータ ターゲット

  • ラピッド アクセラレータ ターゲット

  • モデル参照のシミュレーション ターゲット

  • 変数の使用情報

  • C および C++ コード生成ターゲット (Simulink Coder™、Embedded Coder®)

  • PLC コード生成ターゲット (Simulink PLC Coder™) (R2025a 以降)

  • モデル表現 (Simulink Design Verifier™)

  • Web ビュー (Simulink Report Generator™)

Simulink キャッシュ ファイルは、複数のプラットフォームと Simulink のリリース向けのビルド アーティファクトを累積します。

特定の Simulink キャッシュ ファイルに含まれている内容を確認するには、ファイルをダブルクリックしてレポートを開きます。

Simulink cache report

または、Simulink キャッシュ ファイルの内容を MATLAB® table に取得するには、関数 slxcinfo を使用します。たとえば、CounterAlgorithm という名前のモデルに対する Simulink キャッシュ ファイルがあるとします。

slxcinfo("CounterAlgorithm.slxc")
ans =

  3×5 table

          Model           Release     Platform                     Target                               Compiler           
    __________________    ________    ________    ________________________________________    _____________________________

    "CounterAlgorithm"    "R2025a"    "all"       "Variable usage information"                ""                           
    "CounterAlgorithm"    "R2025a"    "win64"     "Model reference simulation target"         "MinGW64 Compiler (C) v8.1.0"
    "CounterAlgorithm"    "R2025a"    "win64"     "grt | Model reference | Model specific"    "MinGW64 Compiler (C) v8.1.0"

使用するプラットフォーム、コンパイラ、およびリリースをサポートするビルド アーティファクトを再利用できます。一部のビルド アーティファクトではコンパイラは必要ありません。Windows® マシン、MinGW® コンパイラ、および R2025a の Simulink リリースを使用するとします。CounterAlgorithm の Simulink キャッシュ ファイルから、[R2025a : win64] の下のシミュレーション ターゲットおよびコード生成ターゲットと、[R2025a : all platforms] の下の変数の使用情報を再利用できます。Linux® マシンと R2025a を使用するチームのメンバーは、[R2025a : all platforms] の下の変数の使用情報のみを再利用できます。

Simulink キャッシュ ファイルは、作成されたリリースおよび以降のリリース用のビルド アーティファクトを累積します。Simulink キャッシュ ファイルを R2025a で作成するとします。その Simulink キャッシュ ファイルは R2024b では使用できません。

Simulink キャッシュ ファイルの使用

ほとんどのチームが Simulink キャッシュ ファイルを使用することでメリットを享受できますが、次の特徴をもつ開発環境が Simulink キャッシュ ファイルの使用に最も適しています。

  • 多くの参照モデルを含むモデルの階層構造。

  • アクセラレータ モードまたはラピッド アクセラレータ モードでシミュレーションを実行する最上位モデル。これにより Simulink が、最上位モデルとすべての参照モデルのシミュレーション ターゲットを生成する。

  • 開発チーム全体に用意された、標準化されたプラットフォーム、コンパイラ、Simulink リリース。

  • 開発チーム全体に用意された、[インクルード ディレクトリ] コンフィギュレーション パラメーターで指定する相対パスまたは一貫性のある絶対パス。

  • 設計ファイルを管理する Git™ のようなソース管理システム。MATLAB での Gitを参照してください。

    メモ

    Simulink キャッシュ ファイルは派生ファイルであるため、ソース管理下で管理すべきではありません。Simulink キャッシュ ファイルをソース管理システムに保存して共有しても、これらのファイルの異なるバージョンを比較またはマージすることはできません。

  • 並列ワーカーのプールを使用してモデルの階層構造の最新バージョンを定期的にビルドする、Jenkins® のような CI システム。

    メモ

    カスタム コードを使用するシミュレーションおよびコード生成ターゲットに対して不要なリビルドを回避するには、チームのメンバーのサンドボックスで同じ名前のボリュームまたはシンボリック リンクに CI システム ディレクトリをマッピングします。たとえば、CI システムとチームのメンバーに B:\path\customcode などのマッピングされたディレクトリでカスタム コードを保存してもらいます。

この開発環境で、ソース管理システム内のファイルを操作してアーカイブをビルドします。

Workflow with source control system, CI system, and build archive. The CI system pulls design changes from the source control system and archives Simulink cache files in the build archive.

シミュレーション ターゲットを更新するために費やす時間の量を削減するには、以下の手順に従います。

  1. すべての設計ファイルの最新バージョンをソース管理システムから引き出します。

  2. すべての Simulink キャッシュ ファイルの最新バージョンをビルド アーカイブからコピーして、[シミュレーション キャッシュ フォルダー] に配置します。

  3. 最上位のモデルを開いて、そのモデルのシミュレーションを実行します。

    Simulink は、必要なビルド アーティファクトを Simulink キャッシュ ファイルから抽出します。シミュレーションは、CI システムによって完了した最新のビルド以降モデルに変更が加えられていない限り、一切のモデルをリビルドすることなく完了します。

    メモ

    更新、シミュレーション、モデルの階層構造向けのコード生成を行うことなく、Simulink キャッシュ ファイルからシミュレーション ターゲットとコード生成ターゲットをアンパックするには、関数 slxcunpack を使用します。

  4. モデルを変更して、もう一度モデルの階層構造のシミュレーションを実行します。

    Simulink は必要なモデルをリビルドして、対応する Simulink キャッシュ ファイルのローカル コピーを更新します。

  5. 更新されたモデルをソース管理システムにコミットします。派生ファイルである Simulink キャッシュ ファイルはコミットしません。

プロジェクトの Simulink キャッシュ ファイルのチェック

プロジェクトを最上位モデルから作成する場合、プロジェクトにはモデルおよびその参照モデルに対応する Simulink キャッシュ ファイルが含まれます。

モデルの階層構造内の Simulink キャッシュ ファイルの依存関係を表示するには、MATLAB ツールストリップの [プロジェクト] タブの [ツール] ギャラリーで、[依存関係アナライザー] をクリックします。

Dependency Analyzer results for sldemo_mdlref_depgraph, including Simulink cache files

詳細については、プロジェクトによる影響分析の実行を参照してください。

参考

|

トピック

外部の Web サイト