Main Content

保護モデルのテスト

作成した保護モデルをテストするには、保護モデルの出力と元のモデルの出力を比較します。保護モデルを元のモデルから提供するため、元のモデルと保護モデルの両方が MATLAB® パス上に存在する場合があります。親モデルで、Model ブロックの [モデル名] パラメーターで接尾辞を使用せずにモデル名を指定した場合には、保護モデルが保護されていないモデルに優先されます。出力をテストしているときにこの既定の設定をオーバーライドするには、Model ブロックの [モデル名] パラメーターに、保護されていないモデル .slx の拡張子付きでファイル名を指定します。

Model ブロックの保護されていないバージョンと保護されているバージョンを比較するには、シミュレーション データ インスペクターを使用します。この例では、sldemo_mdlref_basicコンテンツを隠すためのモデルの保護で作成した保護モデル sldemo_mdlref_counter.slxp を使用しています。

  1. まだ開かれていない場合は、sldemo_mdlref_basic を開きます。

    openExample('sldemo_mdlref_basic');

  2. Model ブロック CounterA の出力信号のログを有効にします。[コンフィギュレーション パラメーター] ダイアログ ボックスの [データのインポート/エクスポート] ペインで、[信号のログ] パラメーターを選択します。[適用] をクリックし、[OK] をクリックします。

  3. 出力信号を右クリックします。コンテキスト メニューから [プロパティ] を選択します。[信号プロパティ] ダイアログ ボックスで、[信号データのログ] を選択します。[適用] をクリックし、[OK] をクリックします。詳細については、信号ログを使用した信号データの保存を参照してください。

  4. CounterA ブロックを右クリックします。コンテキスト メニューから [ブロック パラメーター (ModelReference)] を選択します。[ブロック パラメーター] ダイアログ ボックスで、保護されていないモデルの名前と拡張子 sldemo_mdlref_counter.slx[モデル名] パラメーターを指定します。[適用] をクリックし、[OK] をクリックします。CounterB ブロックと CounterC ブロックに対してこの手順を繰り返します。

  5. モデルのシミュレーションを実行します。シミュレーションが完了したら、[データ インスペクター] ボタンをクリックしてシミュレーション データ インスペクターを開きます。

  6. シミュレーション データ インスペクターで、保護されていないモデル用であることを示すために実行の名前を変更します。

  7. Simulink® エディターで、CounterA ブロックを右クリックします。コンテキスト メニューから [ブロック パラメーター (ModelReference)] を選択します。‎[ブロック パラメーター] ダイアログ ボックスで、保護モデルの名前 sldemo_mdlref_counter.slxp[モデル名] パラメーターを指定します。Model ブロックにバッジ アイコンが表示されます。CounterB ブロックと CounterC ブロックに対してこの手順を繰り返します。

  8. モデルのシミュレーションを実行します。今回は保護モデルを参照しています。シミュレーションが完了したら、シミュレーション データ インスペクターに新しい実行が表示されます。

  9. シミュレーション データ インスペクターで、保護モデル用であることを示すために新しい実行の名前を変更します。

  10. シミュレーション データ インスペクターで、[比較] タブをクリックします。[ベースライン] および [比較対象] リストから、保護されていないモデルと保護モデルのそれぞれの実行を選択します。実行を比較するには、[実行の比較] をクリックします。実行の比較の詳細については、シミュレーション データの比較を参照してください。

関連するトピック