このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink.ModelReference.protect
参照先のモデルの内容を見えなくして知的財産を隠す
構文
説明
は、harnessHandle
= Simulink.ModelReference.protect(mdl
)mdl
で指定されたモデルから保護モデルを作成します。保護モデルの名前は元のモデルと同じで、ファイル拡張子は .slxp
です。既定では、ソフトウェアは保護モデルを現在の作業フォルダーに配置します。
モデル保護でハーネス モデルが作成されて開かれると、ハーネス モデルのハンドルが harnessHandle
によって返されます。既定では、harnessHandle
は 0
を返します。
では、前の構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、プロジェクト内の依存関係を収集するには、harnessHandle
= Simulink.ModelReference.protect(mdl
,Name=Value
)Project
を true
に設定します。
[
は、harnessHandle
,neededVars
] = Simulink.ModelReference.protect(___)neededVars
で、保護モデルによって使用されるベース ワークスペース変数の名前を返します。前述の構文における入力引数の組み合わせを指定します。
例
CounterAlgorithm
という名前の参照モデルを含む例を開きます。
openExample('simulink/ComponentInterfaceSpecificationUsingBusesExample')
参照モデルを保護します。
mdl = "CounterAlgorithm";
Simulink.ModelReference.protect(mdl);
Simulink.ModelReference.protect
関数は CounterAlgorithm.slxp
という名前の保護モデルを現在の作業フォルダーに作成します。
ベース ワークスペースでは、モデル保護プロセスは既定ではハーネス モデルを作成しないため、この関数はハーネス ハンドルに対して 0
を返します。
Model ブロックでファイル拡張子が指定されていない場合、ブロックは元のモデルではなく保護モデルを参照します。既定では、保護モデルを参照するモデルはノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行できます。
保護モデルのコードを生成する場合、保護モデルを参照するモデルはコード生成をサポートできます。
たとえば、CounterAlgorithm
という名前の参照モデルを保護する場合に、C および C++ コードを生成します。
参照モデルを含む例を開きます。
openExample('simulink/ComponentInterfaceSpecificationUsingBusesExample')
参照モデルを保護し、保護モデルの C および C++ コードを生成しますが、生成されたコードを難読化しません。保護モデルの読み取り可能なコードを生成すると、受信者は保護モデルのコードを自分のコードと統合できます。
mdl = "CounterAlgorithm"; Simulink.ModelReference.protect(mdl, Mode="CodeGeneration", ... ObfuscateCode=false);
関数は CounterAlgorithm.slxp
という名前の保護モデルを作成します。保護モデルを参照するモデルは、C および C++ コード生成をサポートできます。
別の例として、hdlcoder_referenced_model_gain
という名前の参照モデルを保護する場合に、HDL コードを生成します。
参照モデルを含む例を開きます。
mdl = "hdlcoder_referenced_model_gain";
openExample(mdl)
参照モデルを保護し、保護モデルの HDL コードを生成します。
Simulink.ModelReference.protect(mdl, Mode="HDLCodeGeneration");
関数は hdlcoder_referenced_model_gain.slxp
という名前の保護モデルを作成します。保護モデルを参照するモデルは、HDL コード生成をサポートできます。
C、C++、および HDL コード生成をサポートする保護モデルを作成するには、Mode
を "CodeGeneration"
に設定し、hdl
を true
に設定します。
保護モデルをサードパーティと共有する予定がある場合は、プロジェクトで保護モデル、ハーネス モデル、およびサポート ファイルをパッケージ化します。
CounterAlgorithm
という名前の参照モデルを含む例を開きます。
openExample('simulink/ComponentInterfaceSpecificationUsingBusesExample')
参照モデルを保護し、プロジェクト内の保護モデルの依存関係を収集します。必要に応じて、サポートされている機能を説明するレポートを生成します。
mdl = "CounterAlgorithm";
Simulink.ModelReference.protect(mdl, Project=true, Report=true);
関数は CounterAlgorithm.slxp
という名前の保護モデルと、CounterAlgorithm_protected.mlproj
という名前のプロジェクト アーカイブを作成します。
プロジェクト アーカイブには次のものが含まれます。
CounterAlgorithm.slxp
という名前の保護モデルCounterAlgorithm_harness.slx
という名前のハーネス モデルBusTypes.sldd
という名前のデータ ディクショナリCounterAlgorithm_harness.slxc
という名前の Simulink® キャッシュ ファイル
プロジェクトを共有する前に、プロジェクトに必要なサポート ファイルが含まれているかどうか確認してください。サポート ファイルが不足している場合は、関連するハーネス モデルのコードをシミュレーションまたは生成することで、不足しているファイルを特定できます。不足している依存関係をプロジェクトに追加し、必要に応じてハーネス モデルを更新します。
保護モデルをサードパーティと共有するには、プロジェクト アーカイブを共有します。プロジェクト アーカイブの作成方法の詳細については、プロジェクトの共有を参照してください。
受信者が保護モデルとプロジェクト アーカイブを使用する方法については、サードパーティからの保護モデルの参照を参照してください。
保護モデルには、設計ファイルの名前とバージョン、保護モデルの作成に使用されたプラットフォームなどの情報が自動的に保存されます。継続的インテグレーション システムで保護モデルを作成する場合は、保護モデルの作成に関連するジョブ番号、Git™ コミット、継続的インテグレーション システム タグなどの来歴情報を含めることを検討します。
たとえば、継続的インテグレーションに Jenkins® を使用するとします。保護モデルの来歴情報を含むタグを作成します。たとえば、Jenkins 環境の GIT_COMMIT
変数と BUILD_ID
変数を使用してタグを作成します。
JenkinsInfo = [getenv("GIT_COMMIT")+"@"+getenv("BUILD_ID")];
モデルを保護し、ファイルの来歴情報を含むタグを含めます。必要に応じて、保護モデルの生成に使用されたモデルのバージョンを含むレポートを生成します。次の例では、保護するモデルは mdl
で指定されています。
Simulink.ModelReference.protect(mdl, Tag=JenkinsInfo, Report=true);
関数は保護モデルを作成します。タグに保存されている情報を取得するには、保護モデル レポートを開くか、slxpinfo
関数を使用します。
保護モデルを参照するモデルをシミュレートするには、ベース ワークスペースまたはデータ ディクショナリで変数の定義が必要になることがあります。たとえば、CounterAlgorithm
モデルには、モデルのルートの入力端子と出力端子のバスを指定する変数が必要です。保護モデルを出荷する際は、必要な変数の定義を含めないとモデルを使用できません。
ヒント
必要な変数の定義を保護モデルとともに自動的にプロジェクトにパッケージ化するには、Project
を true
に設定します。
CounterAlgorithm
という名前の参照モデルを含む例を開きます。
openExample('simulink/ComponentInterfaceSpecificationUsingBusesExample')
保護モデルを生成し、保護モデルのハーネス モデルを作成し、保護モデルに必要な変数を判別します。
mdl = "CounterAlgorithm"; [harnessHandle,neededVars] = Simulink.ModelReference.protect(mdl, ... Harness=true)
ハーネス モデルのハンドルは harnessHandle
で渡されます。
受信者に送信する必要がある変数は、neededVars
で渡されます。neededVars
の値は、保護モデルに必要な変数の名前を含む cell 配列です。ただし、この cell 配列には、モデルには必要がない変数の名前も含まれる可能性があります。
保護モデルを共有する前に、neededVars
を編集して、モデルに必要がない変数を削除します。必要な変数をデータ ディクショナリに保存します。
入力引数
保護するモデル。文字ベクトルまたは string スカラーとして指定します。保護するモデルの名前、または保護するモデルを参照する Model ブロックのパスを指定します。
データ型: char
| string
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: Simulink.ModelReference.protect(mdl,Mode="CodeGeneration",OutputFormat="Binaries",ObfuscateCode=true)
は、保護モデルに対して難読化されたコードを生成し、バイナリ ファイルと生成されたコード内のヘッダーのみが保護モデルのユーザーに表示されるように指定します。
ファイル作成オプション
プロジェクト内の依存関係を収集するためのオプション。false
または true
として指定します。
保護モデルとともにハーネス モデルを含むサポート ファイルをプロジェクト アーカイブにパッケージ化するかどうかを指定します。サポート ファイルのタイプと数は保護されるモデルによって異なります。ベース ワークスペース定義を含む MAT ファイルや、関連する定義に間引きされたデータ ディクショナリはサポート ファイルの例です。サポート ファイルは保護されません。
false
— 保護モデルのみを作成します。保護モデルに依存関係がある場合は、それらを個別に共有しなければなりません。同様に、保護モデルのハーネス モデルを作成する場合は、ハーネス モデルを個別に共有しなければなりません。true
— 保護モデル、その依存関係、およびハーネス モデルが含まれるプロジェクト アーカイブ (.mlproj
) を作成します。サポート ファイルは保護されません。プロジェクト アーカイブは簡単に共有できる単一ファイルです。対話型のプロジェクトを作成するには、プロジェクト アーカイブを開きます。
例: Simulink.ModelReference.protect(mdl,Project=true)
ヒント
プロジェクトを共有する前に、プロジェクトに必要なサポート ファイルが含まれているかどうか確認してください。サポート ファイルが不足している場合は、関連するハーネス モデルのコードをシミュレーションまたは生成することで、それらを特定できます。不足している依存関係をプロジェクトに追加し、必要に応じてハーネス モデルを更新します。詳細については、プロジェクト ファイルの管理を参照してください。
依存関係
Project
を true
に設定するには、Mode
を、シミュレーションをサポートする値に設定します。たとえば、Mode
を "Simulation"
(既定) に設定します。
データ型: logical
カスタムのプロジェクト名。文字ベクトルまたは string スカラーとして指定します。
生成されたファイルが含まれるプロジェクト アーカイブの名前を指定します。アーカイブ内のプロジェクトは同じ名前を使用します。
カスタム名を指定しない場合、保護モデル名の後に _protected
が付いたものがプロジェクトの既定の名前になります。
例: Simulink.ModelReference.protect(mdl,Project=true,ProjectName="MyProject")
依存関係
この引数を有効にするには、Project
を true
に設定します。
データ型: char
| string
ハーネス モデルを作成するためのオプション。ブール値として指定します。
保護モデルのハーネス モデルを作成するかどうかを指定します。ハーネス モデルは保護モデルのために Model ブロックで参照される分離された環境を提供します。
false
— 保護モデルのハーネス モデルを作成しません。true
— 保護モデルのハーネス モデルを作成します。
ベース ワークスペース定義に依存する保護モデル用のハーネス モデルを作成するときに、ソフトウェアはベース ワークスペース定義を含む MAT ファイルを作成します。
ハーネス モデルは、ベース ワークスペース定義を含む MAT ファイルやデータ ディクショナリといったサポート ファイルにアクセスできなければなりません。
例: Simulink.ModelReference.protect(mdl,Harness=true)
依存関係
データ型: logical
保護モデルのフォルダー。文字ベクトルまたは string スカラーとして指定します。
例: Simulink.ModelReference.protect(mdl,Path="C:\Work")
依存関係
保護対象のモデルは、MATLAB® パス上になければなりません。
データ型: char
| string
R2024b 以降
追加情報のカスタム テキスト文字列。文字ベクトルまたは string スカラーとして指定します。
保護モデルを設計ファイルの対応するバージョンまでトレースできると、デバッグに役立ちます。ファイルの来歴情報を保護モデルに保存するには、保護モデルの作成に関連するジョブ番号、Git コミット、継続的インテグレーション システム タグなどの情報を含むカスタム テキスト タグを指定します。
タグの長さは 256 文字を超えてはなりません。
環境変数に基づいてタグを生成するには、getenv
関数を使用します。
例: Simulink.ModelReference.protect(mdl,Tag=
myTag
)
データ型: char
| string
R2024b 以降
ビルド プロセス情報の詳細出力。数値または logical 1
(true
) または logical 0
(false
) として指定します。
既定では、モデル保護プロセスには限られたビルド プロセス情報のみが表示されます。モデル保護中に詳細なビルド プロセス情報を表示するには、Verbose
を true
に設定します。
ビルド プロセス情報の表示を制御するために、モデル保護プロセスは、[詳細なアクセラレータのビルド] および [詳細なビルド] コンフィギュレーション パラメーターの値を一時的にオーバーライドします。
例: Simulink.ModelReference.protect(mdl,Verbose=true)
データ型: logical
機能オプション
レポートを生成するためのオプション。ブール値として指定します。
レポートを表示するには、次のいずれかのアクションを実行します。
Simulink エディター:Model ブロックで、保護モデル バッジ アイコン
を右クリックします。次に、[レポートの表示] を選択します。
MATLAB コマンド ウィンドウ:関数
Simulink.ProtectedModel.open
を使用します。たとえば、mdl によって指定される保護モデルのレポートを表示するには、次のコマンドを入力します。Simulink.ProtectedModel.open(mdl,"report");
レポートはHTML 形式で生成されます。保護モデルの環境、機能、およびインターフェイスに関する情報が含まれています。
例: Simulink.ModelReference.protect(mdl,Report=true)
依存関係
Report
を true
に設定するには、Mode
を、シミュレーションをサポートする値に設定します。たとえば、Mode
を "Simulation"
(既定) に設定します。
データ型: logical
読み取り専用 Web ビューを含めるためのオプション。ブール値として指定します。
受信者が Web ブラウザーで表示できる Simulink モデルの対話的な表現を共有するかどうかを指定します。モデルのこの読み取り専用 Web ビューには、モデルのコンテンツおよびブロック パラメーターが含まれます。
false
— 保護するモデルの Web ビューを共有しません。true
— 保護するモデルの Web ビューを共有します。
保護モデルの Web ビューを開くには、次のいずれかのアクションを実行します。
[ファイル] パネル: 保護モデル ファイル (
.slxp
) をダブルクリックします。MATLAB コマンド ウィンドウ:関数
Simulink.ProtectedModel.open
を使用します。たとえば、mdl によって指定される保護モデルの Web ビューを表示するには、次のコマンドを入力します。Simulink.ProtectedModel.open(mdl,"webview");
例: Simulink.ModelReference.protect(mdl,Webview=true)
依存関係
モデルの読み取り専用 Web ビューを作成するには、Simulink Report Generator™ ライセンスが必要です。
データ型: logical
モデル保護モード。次のいずれかの値として指定します。
"Simulation"
(R2023b 以降) — 保護モデルを参照するモデルをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行できます。R2023b より前:
"Simulation"
の代わりに"Accelerator"
を使用します。"CodeGeneration"
— 保護モデルを参照するモデルをノーマル、アクセラレータ、ラピッド アクセラレータ、またはエクスターナル モードで実行でき、そのモデルは C および C++ コード生成をサポートできます。このオプションには Simulink Coder™ ライセンスが必要です。"HDLCodeGeneration"
— 保護モデルを参照するモデルをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行でき、そのモデルは HDL コード生成をサポートできます。このオプションには HDL Coder™ のライセンスが必要です。"ViewOnly"
— 保護モデルは読み取り専用 Web ビューのみをサポートします。保護モデルはシミュレーションまたはコード生成はサポートしません。このオプションには Simulink Report Generator ライセンスが必要です。
モデルの階層構造におけるシミュレーション モードについては、モデルの階層構造内のシミュレーション モードの選択を参照してください。
例: Simulink.ModelReference.protect(mdl,Mode="Simulation")
生成コードのインターフェイス。次のいずれかの値として指定します。
"Model reference"
— 保護モデルを参照する Model ブロックは、アクセラレータ モード、ソフトウェアインザループ (SIL) モード、またはプロセッサインザループ (PIL) モードでの C および C++ コードの生成とシミュレーションをサポートできます。SIL および PIL シミュレーションでは、ソフトウェアは、参照モデルを使用するより大きなアプリケーションの一部として、生成コードを展開します。生成されたアーティファクトは、"ModelReferenceCoderTarget"
ビルド仕様を指定してslbuild
関数によって生成されたアーティファクトと一致します。"Top model"
— 保護モデルを参照する Model ブロックは、アクセラレータ モード、ソフトウェアインザループ (SIL) モード、またはプロセッサインザループ (PIL) モードでのシミュレーションをサポートできます。SIL および PIL シミュレーションでは、ソフトウェアは、スタンドアロン アプリケーションとして、生成コードを展開します。生成されたアーティファクトは、"StandaloneCoderTarget"
ビルド仕様を指定してslbuild
関数によって生成されたアーティファクトと一致します。
SIL および PIL シミュレーションにより、保護モデルのコードを検証できます。
例: Simulink.ModelReference.protect(mdl,CodeInterface="Top model")
依存関係
[システム ターゲット ファイル] コンフィギュレーション パラメーターは、ERT ベースのシステム ターゲット ファイル (たとえば、ert.tlc
) に設定されなければなりません。このオプションには Embedded Coder® のライセンスが必要です。
HDL コードを生成するためのオプション。ブール値として指定します。
保護モデルでシミュレーション、C および C++ コード生成、HDL コード生成をサポートするために、Mode
を "CodeGeneration"
に、hdl
を true
に設定します。
例: Simulink.ModelReference.protect(mdl,Mode="CodeGeneration",hdl=true)
ヒント
保護モデルでシミュレーションおよび HDL コード生成をサポートし、C および C++ コード生成はサポートしないようにするには、Mode
を "HDLCodeGeneration"
に設定します。hdl
を true
に設定する必要はありません。
依存関係
HDL コードを生成するには、HDL Coder ライセンスが必要です。
この引数は、
Mode
を"CodeGeneration"
に設定した場合のみ出力に影響します。
データ型: logical
R2022a 以降
シミュレーションの調整可能なパラメーター。"None"
、{}
、"All"
、string 配列、または文字ベクトルの cell 配列として指定します。
受信者によるシミュレーション中の調整を可能にする、外部データ ソースのパラメーターを指定します。
モデル保護プロセスでは、モデル ワークスペース内のパラメーターの調整可能性が適用されます。モデルの引数は本質的に調整可能です。モデル引数の調整可能性を指定する必要はありません。
1 つ以上の保護モデルを参照するモデルを保護する場合は、各参照保護モデルの調整可能なパラメーターを、親モデルに対しても調整可能として指定します。保護モデルの調整可能なパラメーターのリストを取得するには、関数 Simulink.ProtectedModel.getTunableParameters
を使用します。
シミュレーション用の調整可能なパラメーターの詳細については、ブロック パラメーター値の調整と試行を参照してください。
例: Simulink.ModelReference.protect(mdl,TunableParameters=["param1","param2"])
データ型: char
| string
| cell
保護モデルのコールバックを指定するためのオプション。Simulink.ProtectedModel.Callback
オブジェクトの cell 配列として指定します。
例: Simulink.ModelReference.protect(mdl,Callbacks={pmcallback_sim,pmcallback_cg})
データ型: cell
保護オプション
論理値として指定されている生成されたコードを難読化するためのオプションです。
例: Simulink.ModelReference.protect(mdl,Mode="CodeGeneration",ObfuscateCode=true)
依存関係
このオプションは、Mode
を "CodeGeneration"
に設定した場合のみ適用されます。難読化は HDL コード生成ではサポートされていません。
データ型: logical
保護されたコードの可視性。次のいずれかの値として指定します。
"CompiledBinaries"
— 生成されたコードのコンパイル済みバイナリのみを含めます。バイナリ ファイルおよびヘッダーが表示されます。"MinimalCode"
— 選択したビルド設定でコードをビルドするために必要な最小限のヘッダー ファイルのみを含めます。ビルド フォルダーのコードが表示されます。受信者は、保護モデルのレポート内のコードを検証し、目的に応じてそれを再コンパイルできます。"AllReferencedHeaders"
— インクルード パスにあるヘッダー ファイルを含めます。ビルド フォルダーのコードが表示されます。また、このコードによって参照されるヘッダーも表示されます。
この引数は、保護モデル用に生成されたコードのどの部分がユーザーに表示されるかを決定します。
例: Simulink.ModelReference.protect(mdl,Mode="CodeGeneration",OutputFormat="AllReferencedHeaders")
依存関係
この引数は、Mode
を "Simulation"
、"Accelerator"
、または "CodeGeneration"
に設定した場合のみ出力に影響します。
保護モデルを暗号化するためのオプション。ブール値として指定します。
このオプションは、保護に際してパスワードを指定した場合に、または以下の関数を使用することにより適用されます。
モデルの読み取り専用表示のパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForView
シミュレーションのパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForSimulation
コード生成のパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForCodeGeneration
HDL コード生成のパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForHDLCodeGeneration
(HDL Coder)
指定したパスワードを保護モデルに適用するには、Encrypt
を true
に設定します。
例: Simulink.ModelReference.protect(mdl,Encrypt=true)
データ型: logical
保護モデルにデジタル証明書で署名するためのオプション。デジタル証明書を指定する文字ベクトルまたは string スカラーとして指定します。証明書ファイルがパスワードで保護されている場合は、証明書を使用する前に、関数 Simulink.ModelReference.ProtectedModel.setPasswordForCertificate
を使用してパスワードを指定します。
例: Simulink.ModelReference.protect(mdl,Sign="
certificate_file
.pfx")
データ型: char
| string
変更可能な保護モデルを作成するためのオプション。ブール値として指定します。
このオプションを使用するには、次の手順に従います。
関数
Simulink.ModelReference.ProtectedModel.setPasswordForModify
を使用して変更用のパスワードを追加します。変更可能な保護モデルを作成するときにパスワードを追加していない場合、パスワードを作成するよう求められます。最初に関数
Simulink.ModelReference.ProtectedModel.setPasswordForModify
を使用して変更用のパスワードを指定し、保護モデルのオプションを変更します。次に、関数Simulink.ModelReference.modifyProtectedModel
を使用してオプションの変更を行います。
例: Simulink.ModelReference.protect(mdl,Modifiable=true)
データ型: logical
関数ハンドルとして指定された保護モデル ファイル用に後処理関数を追加するオプションです。
この関数は Simulink.ModelReference.ProtectedModel.HookInfo
オブジェクトを入力変数として受け入れます。このオブジェクトはソース コード ファイルおよび保護モデルの作成中に生成されるその他のファイルについて情報を提供します。オブジェクトは、変更してはいけないエクスポート済みシンボルについても情報を提供します。保護モデルをパッケージ化する前に、ソフトウェアは後処理関数を呼び出します。
最上位モデル インターフェイスをもつ保護モデルの場合、Simulink.ModelReference.ProtectedModel.HookInfo
オブジェクトはエクスポート済みシンボルについての情報を提供できません。
例: Simulink.ModelReference.protect(mdl,Mode="CodeGeneration",CustomPostProcessingHook=@(protectedMdlInf)myHook(protectedMdlInf))
依存関係
この引数を有効にするには、Mode
を "CodeGeneration"
に設定します。
出力引数
保護モデルで使用されるベース ワークスペース変数の名前。cell 配列として返されます。
cell 配列には以下が含まれます。
調整可能なパラメーター
モデル インターフェイスで使用されるパラメーター
バス オブジェクト、列挙型、値の型など、データ型の一部を指定するパラメーター
データ ストア メモリで使用されるパラメーター
cell 配列には保護モデルが使用しない変数も含めることができます。
バージョン履歴
R2012b で導入新しい Tag
引数を使用すると、保護モデルに関連する情報を含むカスタム テキストを指定できます。
保護モデルを設計ファイルの対応するバージョンまでトレースできると、デバッグに役立ちます。ファイルの来歴情報を保護モデルに保存するには、保護モデルの作成に関連するジョブ番号、Git コミット、継続的インテグレーション システム タグなどの情報を含むカスタム テキスト タグを指定します。
モデル保護プロセスの概要レベルのステップに焦点を当てるために、Simulink.ModelReference.protect
関数は既定で限られたビルド プロセス情報のみを表示するようになりました。モデル保護プロセスは、[詳細なアクセラレータのビルド] および [詳細なビルド] コンフィギュレーション パラメーターの値を一時的にオーバーライドします。
モデル保護中に詳細なビルド プロセス情報を表示するには、Verbose
を true
に設定します。
モデル引数をもつ保護モデルのハーネス モデルを作成する場合、ハーネス モデルは Model ブロックの既定のインスタンス パラメーター値を使用します。以前は、ハーネス モデルはインスタンス パラメーター値を一貫性なく適用していました。
Mode
を 'CodeGeneration'
に設定すると、保護モデルはエクスターナル モード シミュレーションをサポートします。
Mode
の既定値の名前は 'Accelerator'
から 'Simulation'
に変更されました。既定値の動作は変更されていません。
Mode
を 'Accelerator'
に設定することは推奨されません。代わりに Mode
を 'Simulation'
に設定してください。
'Simulation'
と'Accelerator'
は同じ動作です。'Simulation'
は、[保護モデルの作成] ダイアログ ボックスのシミュレーション オプションとより適切に連携します。'Accelerator'
はサポート対象シミュレーション モードのいずれか 1 つのみを参照します。シミュレーションをサポートする保護モデルを参照するモデルを、ノーマル、アクセラレータ、またはラピッド アクセラレータのモードで実行できます。
'Accelerator'
を削除する予定はありません。
Mode
を 'Normal'
に設定することは推奨されません。代わりに Mode
を 'Simulation'
に設定してください。
Mode
を'Normal'
に設定すると、この関数により作成される保護モデルは、親モデルのシミュレーションをノーマル モードで実行する場合にのみシミュレーションをサポートします。'Simulation'
は、[保護モデルの作成] ダイアログ ボックスのシミュレーション オプションとより適切に連携します。Mode
を'Simulation'
に設定すると、この関数により作成される保護モデルは、親モデルのシミュレーションをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行するときに、シミュレーションをサポートします。
'Normal'
を削除する予定はありません。
引数 Mode
の既定値は 'Accelerator'
です。保護モデルを参照するモデルをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行できます。
この変更に伴い、[保護モデルの作成] ダイアログ ボックスと関数 Simulink.ModelReference.protect
では、同じ既定のモデル保護モードが使用されます。
以前は、引数 Mode
の既定値は 'Normal'
でした。'Normal'
のモデル保護モードでは保護モデルの使用が制限され、親モデルのシミュレーションをノーマル モードで実行する場合にのみ保護モデルがシミュレーションをサポートします。
名前と値の引数 TunableParameters
を使用して、シミュレーション中に調整可能にする保護モデルのパラメーターを指定する必要があります。既定では、シミュレーション中にパラメーターは調整できません。
保護モデルの調整可能なパラメーターのリストを取得するには、関数 Simulink.ProtectedModel.getTunableParameters
を使用します。
以前は、パラメーターのコード生成ストレージ クラスが Auto
以外の値に設定されている場合に、そのパラメーターは調整可能でした。既定では、個々のデータ要素のストレージ クラスは Auto
です。
保護モデルを作成する際に、プロジェクト アーカイブにその依存関係とハーネス モデルを含めて自動でパッケージ化できます。受信者がプロジェクト アーカイブのコンテンツを抽出し、ハーネス モデルを開くと、不足している変数またはオブジェクトを定義することなく、保護モデルのシミュレーションを実行できます。プロジェクト アーカイブを共有する前に、プロジェクトに必要なサポート ファイルが含まれているかどうか確認し、必要に応じてハーネス モデルを更新してください。
Project
を使用して、保護モデル、その依存関係、およびハーネス モデルをプロジェクト アーカイブ (.mlproj
) に保存します。プロジェクト アーカイブを使用することで、プロジェクトを 1 つのファイル内で共有できます。
ProjectName
を使用して、カスタム プロジェクト名を指定します。
詳細については、保護モデルのパッケージ化と共有を参照してください。
参考
ツール
関数
Simulink.ModelReference.modifyProtectedModel
|Simulink.ModelReference.ProtectedModel.setPasswordForModify
|Simulink.ModelReference.ProtectedModel.setPasswordForCodeGeneration
|Simulink.ModelReference.ProtectedModel.setPasswordForHDLCodeGeneration
(HDL Coder) |Simulink.ModelReference.ProtectedModel.setPasswordForSimulation
|Simulink.ModelReference.ProtectedModel.setPasswordForView
|Simulink.ModelReference.ProtectedModel.clearPasswords
|Simulink.ModelReference.ProtectedModel.clearPasswordsForModel
|Simulink.ProtectedModel.getTunableParameters
トピック
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)