Main Content

インクリメンタルなコード生成用の Simulink キャッシュ ファイル

Simulink® キャッシュ ファイルを使用して、組織内のチーム メンバー間でさまざまなターゲット タイプの生成されたコードを共有します。Simulink モデルの階層構造からコードを生成する場合、個々の参照モデルには Simulink キャッシュ ファイルが関連付けられています。これらのファイルには .slxc ファイルの拡張子があります。キャッシュ ファイルにはビルドからのアーティファクトが含まれており、連続するモデルのシミュレーションとコード生成に必要な時間を削減できます。Simulink キャッシュ ファイルはアクセラレータまたはラピッド アクセラレータ モードでモデルをシミュレートするか、モデルのコードを生成すると生成されます。詳細については、シミュレーションを高速化するための Simulink キャッシュ ファイルの共有を参照してください。

Simulink キャッシュ ファイルのコンテンツ

ビルドの最後に、コード ジェネレーターは Simulink キャッシュ ファイルでアーティファクトおよびモデルの階層構造の生成コードをパッケージ化します。キャッシュされたアーティファクトには以下が含まれます。

  • 共有ユーティリティ

  • slprj\system_target_file\model_name 内のすべてのファイル

  • 最上位モデルの model_name_rtw_system_target_file フォルダー

  • 最上位モデルに生成されたすべてのバイナリ

Simulink キャッシュ ファイルの内容は変更できません。slprj フォルダー内でビルド アーティファクトを更新すると、Simulink キャッシュ ファイルは次のビルド サイクルでこれらの更新を検出します。

コード生成アーティファクトの共有

その他のモデルを参照する大規模なモデルのチーム開発に関連する場合、Simulink キャッシュ ファイルを使用してビルドを同期し、生成されたコード アーティファクトを共有してインクリメンタルなコード生成を高めます。Simulink キャッシュ ファイルを活用して不要なコード生成を回避できます。

たとえば、ソース管理システムを使用してチーム メンバーと共同作業を行い、継続的インテグレーション システムで毎晩モデルがビルドされるとします。

  1. モデルを開きます。例: TopModelCode

    model = 'TopModelCode';
    openExample('simulinkcoder/FilePackagingModelsCodeAndDataExample', ...
     'supportingFile', model);
    
  2. モデルを作成します。[C コード] タブで、[ビルド] をクリックします。

    すべての参照モデルに生成された Simulink キャッシュ ファイルを確認します。ReferenceModelCode モデルは TopModelCode の参照モデルです。

    Simulink では、キャッシュ ファイルはSimulation cache folder基本設定で指定したフォルダーに保存されます。

    サポートされているすべての構成を確認するには、キャッシュ ファイルをダブルクリックします。Simulink キャッシュ レポートには、各リリース、プラットフォーム、パッケージ化されたターゲットのリストに関連する情報が含まれます。

    または、Simulink キャッシュ ファイルの内容を MATLAB® table に取得するには、関数 slxcinfo を使用します。

  3. ソース管理システムにモデルを送信します。継続的インテグレーション システムは一晩でモデルを作成し、既存の Simulink キャッシュ ファイルを更新します。

    メモ

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

  4. チーム メンバーがモデルにいくつかの変更を行い、その変更をソース管理システムに送信したとします。モデルの階層構造を処理する場合は、以下のファイルをフェッチします。

    • ソース管理システムからの設計ファイル (モデルおよび関連するファイル)。

    • 継続的インテグレーション システムからの Simulink キャッシュ ファイル。

  5. モデルに変更を加えます。

  6. モデルを作成します。コード ジェネレーターは一晩のビルドから Simulink キャッシュ ファイルに保存されたコード生成アーティファクトを抽出し、不要なリビルドとコード生成を回避します。

    モデルを作成してコードを生成する時間は最初にモデルを作成したときより少なくなります。

    メモ

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

  7. 更新されたモデル ファイルをソース管理システムに送信します。

参考

|

関連する例

詳細

外部の Web サイト