Main Content

複数のシミュレーション スナップショットでのモデルの検証

以下の例では、次のような操作方法を説明します。

  • 複数の範囲の指定

  • 非線形 Simulink® モデルの線形システム特性が複数のシミュレーションのスナップショットで範囲内にあることをチェック

  • グラフィカルに範囲を変更

  • シミュレーション時に範囲を無効化

  1. 非線形 Simulink モデルを開きます。以下に例を示します。

    watertank
  2. Simulink ライブラリ ブラウザーを開きます。Simulink エディターの [シミュレーション] タブで [ライブラリ ブラウザー] をクリックします。

  3. モデル検証ブロックを Simulink モデルに追加します。

    1. [Simulink Control Design] ライブラリで [Model Verification] を選択します。

    2. Check Bode Characteristics ブロックなどのブロックをドラッグして Simulink エディター内にドロップします。

      モデルは次の図のようになります。

  4. ブロックをダブルクリックして [ブロック パラメーター] ダイアログ ボックスを開きます。

    ブロック パラメーターの詳細は、ブロックのリファレンス ページを参照してください。

  5. 線形化の I/O ポイントを指定します。

    Water-Tank System の線形システムが計算されます。

    ヒント

    モデルに既に I/O ポイントが含まれる場合、ブロックによりこれらのポイントが自動的に検出されて表示されます。任意の時点で をクリックすると、モデルからの I/O で [線形化の入力/出力] テーブルを更新できます。

    1. 入力を指定するには、次の手順に従います。

      1. [線形化の入力/出力] テーブルの隣にある をクリックします。

        [ブロック パラメーター] ダイアログが拡張され、[モデル内の信号をクリックして、選択します] 領域が表示されます。

        ヒント

        Simulink モデルで複数の信号を一度に選択できます。選択した信号はすべて [モデル内の信号をクリックして、選択します] 領域に表示されます。

      2. Simulink モデルで、PID Controller ブロックの出力信号をクリックして選択します。

        [モデル内の信号をクリックして、選択します] 領域が更新されて、選択した信号が表示されます。

      3. をクリックして [線形化の入力/出力] テーブルに信号を追加します。

        [線形化の入力/出力] テーブルから信号を削除するには、信号を選択して をクリックします。

    2. 出力を指定するには、次の手順に従います。

      1. Simulink モデルで、Water-Tank System ブロックの出力信号をクリックして選択します。

        [モデル内の信号をクリックして、選択します] 領域が更新されて、選択した信号が表示されます。

      2. をクリックして [線形化の入力/出力] テーブルに信号を追加します。

        [線形化の入力/出力] テーブルから信号を削除するには、信号を選択して をクリックします。

        メモ

        [線形化の入力/出力] テーブルの信号に対応する Simulink モデル内の場所を検出するには、テーブル内の信号を選択して をクリックします。

      3. [線形化の入力/出力] テーブルの [構成] ドロップダウン リストで、次に対して [開ループの出力] を選択します。[watertank/Water-Tank System : 1]

      [線形化の入力/出力] テーブルは次の図のようになります。

    3. をクリックして [モデル内の信号をクリックして、選択します] 領域を折りたたみます。

    ヒント

    あるいは、Linear Analysis Plots ブロックを追加する前に、Simulink モデルの信号を右クリックして [線形解析ポイント][入力の摂動] および [線形解析ポイント][開ループの出力] を選択します。線形化 I/O の注釈がモデルに表示され、選択した信号が [線形化の入力/出力] テーブルに表示されます。

  6. シミュレーションのスナップショット時間を指定します。

    1. [線形化] タブで、[線形化の対象][シミュレーションのスナップショット] が選択されていることを確認します。

    2. [スナップショット時間] フィールドに「[0 1 5 10]」と入力します。

  7. [ブロック パラメーター] ダイアログ ボックスの [範囲] タブに、アサーションの複数の範囲セグメントを指定します。この例では、次の振幅の下限を入力します。

    • 周波数 (rad/s){[0.001 0.003],[0.01 0.04]}

    • 振幅 (dB){[20 20],[15 15]}

    [適用] をクリックして、パラメーターの変更をブロックに適用します。

    [プロットの表示] をクリックして、ボード振幅プロットの範囲を表示します。

  8. プロット ウィンドウで をクリックして、モデルをシミュレートします。

    または、Simulink エディターからモデルをシミュレートすることもできます。

    線形化の入力と出力で指定されたモデルの部分が、シミュレーション時間 0、1、5、10 で線形化されます。シミュレーション時間 0 と 1 で計算された線形システムが指定した振幅の下限を満たしていないことが検出されると、診断ビューアー ウィンドウに警告メッセージが表示されます。Simulink モデルの下部にあるリンクをクリックして、このウィンドウを開きます。ウィンドウのリンクをクリックして、アサーションの詳細を表示します。

    プロット ウィンドウには、範囲の違反も表示できます。

  9. グラフィカルに範囲を変更します。たとえば、振幅の上限をグラフィカルに変更するには、次の手順に従います。

    1. プロット ウィンドウで、範囲セグメントをクリックして選択し、目的の場所にドラッグします。

    2. [ブロックの更新] をクリックして、[ブロック パラメーター] ダイアログ ボックスの [範囲] タブの新しい値を更新します。

  10. 下限を無効にしてアサーションから除外します。[ブロック パラメーター] ダイアログ ボックスの [アサーションに振幅の下限を含める] オプションをオフにします。次に、[適用] をクリックします。

    プロット ウィンドウには下限が灰色で表示され、アサーションから除外されたことが示されます。

  11. モデルを再度シミュレーションして、範囲内にあるかどうかをチェックします。

    指定した振幅の上限が満たされていることが確認されるため、アサーションの失敗が報告されなくなります。