ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

モデル参照のための保護モデル

この例では、保護モデルを作成して、それをノーマル モードおよびアクセラレータ モードのシミュレーションで使用する方法とコード生成に使用する方法を示します。

例の要件

保護モデルを生成する前に、Simulink® Coder™ をインストールしておかなければなりません。保護されたモデルの読み取り専用ビューを生成するには、Simulink® Report Generator™ をインストールしておかなければなりません。

モデル例を開く

モデル例 sldemo_mdlref_bussldemo_mdlref_bus を開きます。

図 1: モデル例、 sldemo_mdlref_bus

参照されるモデルの保護

このモデルには、CounterA という 1 つの Model ブロックが含まれています。このブロックによって参照されるモデルを保護するには、Model ブロックを右クリックして、[サブシステムとモデル参照][選択した Model ブロックに保護されるモデルの作成] を選択します。保護モデルを作成するためのオプションを選択できるダイアログ ボックスが開きます。

図 2: [保護されたモデルを作成する] ダイアログ ボックス

[保護モデルのユーザーに次を許可] の下で、[モデルを読み取り専用表示で開く]、[シミュレーション] および [コード生成] を選択します。前述の 3 つの機能に関して、パスワードを入力するオプションがあります。3 つのパスワードは、個々の機能を保護するために使用されます。3 つのオプションに個別のパスワードを入力し、 [作成] をクリックします。保護モデルのファイル sldemo_mdlref_counter_bus.slxp が現在の作業フォルダーに生成されます。この保護モデルは、コード生成に使用できるだけでなく、ノーマル モードおよびアクセラレータ モードのシミュレーションにも使用できます。モデルの読み取り専用ビューを開くこともできます。元のモデル ファイルは不要です。

保護モデル用の変数の決定

保護されたモデルを参照するモデルをシミュレーションするために、ベース ワークスペースでいくつかの変数を定義する必要があるかもしれません。たとえば、保護モデル sldemo_mdlref_counter_bus には、モデルのルート入力端子およびルート出力端子でバスを指定するベース ワークスペース変数が必要です。保護モデルを出荷する際は、必要な変数の定義を含めなければなりません。そうしないと、そのモデルは使用できません。protect コマンドは保護モデルを生成し、必要な変数を判別します。例:

[~, neededVars] = Simulink.ModelReference.protect('sldemo_mdlref_counter_bus', 'Mode', 'CodeGeneration', 'OutputFormat', 'MinimalCode', 'ObfuscateCode', true, 'Harness', true, 'Report', true, 'Webview', true)

関数 protect の 2 番目の出力である neededVars は、受信者に送信しなければならないベース ワークスペース変数を含みます。neededVars の値は、保護モデルに必要なベース ワークスペース変数の名前を含むセル配列です。ただし、このセル配列には、そのモデルに必要のないワークスペース変数の名前も含まれている場合があります。

保護されたモデルを共有する前に、neededVars を編集して、そのモデルに必要のない変数の名前を削除してください。必要なワークスペース変数を次の MAT ファイルに保存します。

save('sldemo_mdlref_counter_bus_vars', neededVars{:});

保護モデルの使用

Model ブロックが保護モデルを参照する場合、ブロック上に "盾のマーク" が表示されます。

図 3: 保護モデルの参照

盾のマークを右クリックし、[承認...] を選択します。保護されたモデルの作成時に使用したパスワードを入力します。

図 4: [パスワードの入力] ダイアログ

これで、ノーマル モードまたはアクセラレータ モードのいずれかでモデルのシミュレーションを実行できます。また、[コード][C/C++ コード][モデルのビルド] を選択して、最上位モデルを作成することもできます。

Model ブロックをダブルクリックして、モデルの読み取り専用ビューを開きます。代替方法として、盾のマークを右クリックし、[Webview の表示] を選択して、モデルの読み取り専用ビューを開きます。

図 5: 保護されたモデルの Web 表示

盾のマークを右クリックし、[レポートを表示] を選択して、レポートを開きます。

図 6: 保護モデル レポート

この情報は役に立ちましたか?