Main Content

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

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

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

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

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

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

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

[保護モデルの作成者][保護モデルをプロジェクト内の依存関係と共にパッケージ化] を選択します。

メモ

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

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

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

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

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

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

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

ハーネス モデル

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

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

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

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

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

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

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

    • Simulink.Signal

    • Simulink.Bus

    • Simulink.Alias

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

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

Simulink データ ディクショナリ

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

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

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

アンパックされる派生ファイルは、保護モデルの作成時に有効にしたサポートによって異なります。slprj/sim/model/* ファイルは、使用された後、削除されます。

次の表に、指定したオプションに応じてアンパックされるファイルを示します。

サポートされる機能派生ファイル
シミュレーションのみ。参照モデルのノーマル モード シミュレーション

model_msp.mexext ファイルは、ビルド フォルダーに配置されます。モデルがインラインでない S-Function を直接的または間接的に使用している場合、S-Function MEX ファイルはビルド フォルダーに配置されます。

slprj/sim/model/tmwinternal/* ファイルが slprj/sim/ フォルダーにアンパックされます。

シミュレーションのみ。参照モデルのアクセラレータ モード、またはラピッド アクセラレータ モードのシミュレーション

ビルド フォルダーにある前述のファイルに加えて、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 (これは生成された保護モデルのファイル。)

関連するトピック