保護モデルのテスト
作成した保護モデルをテストするには、保護モデルの出力と元のモデルの出力を比較します。保護モデルを元のモデルから提供するため、元のモデルと保護モデルの両方が MATLAB® パス上に存在する場合があります。親モデルで、Model ブロックの [モデル名] パラメーターで接尾辞を使用せずにモデル名を指定した場合には、保護モデルが保護されていないモデルに優先されます。出力をテストしているときにこの既定の設定をオーバーライドするには、Model ブロックの [モデル名] パラメーターに、保護されていないモデル .slx
の拡張子付きでファイル名を指定します。
Model ブロックの保護されていないバージョンと保護されているバージョンを比較するには、シミュレーション データ インスペクターを使用します。この例では、sldemo_mdlref_basic
とコンテンツを隠すためのモデルの保護で作成した保護モデル sldemo_mdlref_counter.slxp
を使用しています。
まだ開かれていない場合は、
sldemo_mdlref_basic
を開きます。openExample('sldemo_mdlref_basic');
Model ブロック
CounterA
の出力信号のログを有効にします。[コンフィギュレーション パラメーター] ダイアログ ボックスの [データのインポート/エクスポート] ペインで、[信号のログ] パラメーターを選択します。[適用] をクリックし、[OK] をクリックします。出力信号を右クリックします。コンテキスト メニューから
[プロパティ]
を選択します。[信号プロパティ] ダイアログ ボックスで、[信号データのログ] を選択します。[適用] をクリックし、[OK] をクリックします。詳細については、信号ログを使用した信号データの保存を参照してください。CounterA
ブロックを右クリックします。コンテキスト メニューから[ブロック パラメーター (ModelReference)]
を選択します。[ブロック パラメーター] ダイアログ ボックスで、保護されていないモデルの名前と拡張子sldemo_mdlref_counter.slx
で [モデル名] パラメーターを指定します。[適用] をクリックし、[OK] をクリックします。CounterB
ブロックとCounterC
ブロックに対してこの手順を繰り返します。モデルのシミュレーションを実行します。シミュレーションが完了したら、[データ インスペクター] ボタンをクリックしてシミュレーション データ インスペクターを開きます。
シミュレーション データ インスペクターで、保護されていないモデル用であることを示すために実行の名前を変更します。
Simulink® エディターで、
CounterA
ブロックを右クリックします。コンテキスト メニューから[ブロック パラメーター (ModelReference)]
を選択します。[ブロック パラメーター] ダイアログ ボックスで、保護モデルの名前sldemo_mdlref_counter.slxp
で [モデル名] パラメーターを指定します。Model ブロックにバッジ アイコンが表示されます。CounterB
ブロックとCounterC
ブロックに対してこの手順を繰り返します。モデルのシミュレーションを実行します。今回は保護モデルを参照しています。シミュレーションが完了したら、シミュレーション データ インスペクターに新しい実行が表示されます。
シミュレーション データ インスペクターで、保護モデル用であることを示すために新しい実行の名前を変更します。
シミュレーション データ インスペクターで、[比較] タブをクリックします。[ベースライン] および [比較対象] リストから、保護されていないモデルと保護モデルのそれぞれの実行を選択します。実行を比較するには、[実行の比較] をクリックします。実行の比較の詳細については、シミュレーション データの比較を参照してください。