Main Content

保護モデルのパッケージ化と共有

モデルを保護するときに、共有を容易にするために、次のコンテンツをプロジェクト アーカイブ (.mlproj) に自動的に作成し、パッケージ化できます。

  • 保護モデル ファイル (.slxp)

  • ハーネス モデル ファイル

  • ベース ワークスペース定義を含む MAT ファイル

  • 関連する定義まで間引かれるデータ ディクショナリ

  • その他のサポート ファイル

[保護モデルの作成] ダイアログ ボックスで、[コンテンツ][保護されたモデル (.slxp) とプロジェクト内の依存関係] に設定します。

メモ

プロジェクトを共有する前に、プロジェクトに必要なサポート ファイルが含まれているかどうか確認してください。サポート ファイルが不足している場合は、関連するハーネス モデルのコードをシミュレーションまたは生成することで、それらを特定できます。不足している依存関係をプロジェクトに追加し、必要に応じてハーネス モデルを更新します。

あるいは、次のいずれかのオプションを使用して保護モデル パッケージを配布できます。

  • プロジェクト アーカイブを作成して、保護モデル ファイルとサポート ファイルを含むプロジェクトを共有する。詳細については、モデルからのプロジェクトの作成およびプロジェクトの共有を参照してください。

  • 保護モデル ファイルとサポート ファイルを別個のファイルとして提供する。

  • ファイルを ZIP などのコンテナー ファイルに入れる。

  • 配布先が指定する他の標準または独自の形式でファイルを提供する。

保護モデルの配布にどのような方法を使用する場合でも、元のファイルを取得する方法に関する情報を合わせて提供してください。

ハーネス モデル

保護モデルの作成時にハーネス モデルを作成できます。ハーネス モデルには保護モデルを参照する Model ブロックが含まれます。サードパーティは Model ブロックを使用して保護モデルを参照できます。ハーネス モデルは、保護モデルのシミュレーションのために設定されます。

ベース ワークスペース定義を含む MAT ファイル

参照モデルは、MATLAB® ベース ワークスペースに定義されているオブジェクト定義または調整可能なパラメーターを使用できます。これらの変数はモデルでは保存されません。モデルを保護すると、必要なベース ワークスペース エンティティの定義をすべて取得してモデルと一緒に配布しなければなりません。

たとえば、モデルが次のベース ワークスペース変数を使用する場合、それらは MAT ファイルに保存しなければなりません。

  • 調整可能なグローバル パラメーター

  • グローバルなデータ ストア

  • ルートレベル モデルの Inport または Outport に接続する信号によって使用されている次のオブジェクト:

    • Simulink.Signal

    • Simulink.Bus

    • Simulink.Alias

    • Simulink.NumericType エイリアスの場合

必要なベース ワークスペースの定義を決定し、それらを MAT ファイルに保存するには、保護モデルの機能の確認を参照してください。保護モデルの配布先では、サードパーティ モデルの一部として保護モデルを実行する前に、MAT ファイルを読み込まなければなりません。

Simulink データ ディクショナリ

参照モデルは、モデルに保存されていないデータ ディクショナリのデータ定義を使用できます。データ ディクショナリを使用するモデルを保護するときに、データ ディクショナリは保護モデルと一緒にパッケージ化され、提供されます。

保護モデル ファイルの内容

保護モデル ファイル (.slxp) には、保護モデルを作成したときに選択したオプションをサポートする派生ファイルが含まれます。派生ファイルは、ユーザーまたはサードパーティがシミュレーションで保護モデルを使用するときにアンパックされます。これらの派生ファイルを保護モデルと一緒にパッケージ化する必要はありません。

シミュレーション用にのみ保護モデルを作成し、参照しているモデルが Normal モードの場合、シミュレーションの終了後に model_msp.mexext ファイルがビルド フォルダーに配置されます。アンパックされる派生ファイルは、保護モデルの作成時に有効にしたサポートによって異なります。

保護モデルの派生ファイル

サポートされる機能派生ファイル
Normal モードでのシミュレーション専用の保護モデルおよび参照モデルの作成。model_msp.mexext ファイルは、ビルド フォルダーに配置されます。モデルがインラインでない S-Function を直接的または間接的に使用している場合、S-Function MEX ファイルはビルド フォルダーに配置されます。
Accelerator または Rapid Accelerator モードでのシミュレーション専用の保護モデルおよび参照モデルの作成。

ビルド フォルダーにある前述のファイルに加えて、slprj/sim/ フォルダーに次のファイルがアンパックされます。

  • slprj/sim/model/*.h

  • slprj/sim/model/modellib.a (または modellib.lib)

  • slprj/sim/model/tmwinternal/*

  • slprj/sim/_sharedutils/*

保護モデルのレポートでは、以下のファイルがアンパックされます(ただし、ビルド フォルダーにではない)。

  • slprj/sim/model/html/*

  • slprj/sim/model/buildinfo.mat

コード生成サポートを使用した保護モデルの作成。

モデルのビルド後、(前述したファイルに加えて) slprj フォルダーの次のファイルがアンパックされます。

  • slprj/sim/model/*.h

  • slprj/sim/model/modellib.a (または modellib.lib)

  • slprj/sim/model/tmwinternal/*

  • slprj/sim/_sharedutils/*

  • slprj/target/model/*.h

  • slprj/target/model/model_rtwlib.a (または model_rtwlib.lib)

  • slprj/target/model/buildinfo.mat

  • slprj/target/model/codeinfo.mat

  • slprj/target/_sharedutils/*

  • slprj/target/model/tmwinternal/*

[最上位モデル] コード インターフェイスの指定 (Embedded Coder® ライセンスが必要) および保護モデルの作成時にコード生成サポートを有効化。

モデルのビルド後、(前述したファイルに加えて) slprj フォルダーの次のファイルがアンパックされます。

  • slprj/sim/model/*.h

  • slprj/sim/model/modellib.a (または modellib.lib)

  • slprj/sim/model/tmwinternal/*

  • slprj/sim/_sharedutils/*

  • model_target_rtw/*.h

  • model_target_rtw/*.objExt

  • model_target_rtw/buildinfo.mat

  • model_target_rtw/codeinfo.mat

  • slprj/target/_sharedutils/*

  • slprj/target/model/tmwinternal/*

保護モデルのレポートでは、モデルのビルド後、前述したファイルに加えて次のファイルがアンパックされます。

  • slprj/target/model/html/*

  • slprj/target/model/buildinfo.mat

  • slprj/target/_sharedutils/html/*

HDL コード生成サポートを使用した保護モデルの作成 (HDL Coder™ ライセンスが必要)。

次のファイルは hdlsrc フォルダーでアンパックされます。

  • hdlsrc/model/model.vhd (または、Verilog[ターゲット言語] として指定する場合は model.v)。

  • hdlsrc/model/Subsystem.vhd (または、保護したモデルの Verilog[ターゲット言語] として指定する場合は Subsystem.v。追加の HDL ファイルは、参照モデルの階層の設計法によって異なります)。

  • hdlsrc/model/model_pkg.vhd (Verilog を、保護したモデルの [ターゲット言語] として指定する場合、このファイルは生成されません)。

  • hdlsrc/model/model_report.html

  • hdlsrc/model/gm_model.slxp (これは生成された保護モデルです)。

メモ

slprj/sim/model/* ファイルは、使用された後、削除されます。

関連するトピック