既定のシミュレーション スナップショット時間でのモデルの検証
以下の例では、既定のシミュレーションのスナップショット時間 0 で計算された非線形 Simulink® モデルの線形システム特性がシミュレーション時に範囲内にあることをアサートする方法を説明します。
非線形 Simulink モデルを開きます。以下に例を示します。
watertank
Simulink ライブラリ ブラウザーを開きます。Simulink エディターの [シミュレーション] タブで [ライブラリ ブラウザー] をクリックします。
モデル検証ブロックを Simulink モデルに追加します。
[Simulink Control Design] ライブラリで [Model Verification] を選択します。
Check Pole-Zero Characteristics ブロックなどのブロックをドラッグして Simulink エディター内にドロップします。
モデルは次の図のようになります。
ブロックをダブルクリックして [ブロック パラメーター] ダイアログ ボックスを開きます。
ブロック パラメーターの詳細は、ブロックのリファレンス ページを参照してください。
閉ループの極と零点を計算するための線形化の入力と出力を指定します。
ヒント
Simulink モデルで線形化の入力および出力を定義している場合、 をクリックすると [線形化の入力/出力] テーブルにモデルからの I/O が自動的に入力されます。
入力を指定するには、次の手順に従います。
[線形化の入力/出力] テーブルの隣にある をクリックします。
[ブロック パラメーター] ダイアログが拡張され、[モデル内の信号をクリックして、選択します] 領域が表示されます。
Simulink モデルで、
Desired Water Level
ブロックの出力信号をクリックして選択します。[モデル内の信号をクリックして、選択します] 領域が更新されて、選択した信号が表示されます。
ヒント
Simulink モデルで複数の信号を一度に選択できます。選択した信号はすべて [モデル内の信号をクリックして、選択します] 領域に表示されます。
をクリックして [線形化の入力/出力] テーブルに信号を追加します。
出力を指定するには、次の手順に従います。
Simulink モデルで、
Water-Tank System
ブロックの出力信号をクリックして選択します。[モデル内の信号をクリックして、選択します] 領域が更新されて、選択した信号が表示されます。
をクリックして [線形化の入力/出力] テーブルに信号を追加します。
メモ
[線形化の入力/出力] テーブルの信号に対応する Simulink モデル内の場所を検出するには、テーブル内の信号を選択して をクリックします。
[線形化の入力/出力] テーブルの [構成] ドロップダウン リストで、次に対して
[出力の測定]
を選択します。[watertank/Water-Tank System: 1]。メモ
I/O によって Simulink モデルにフィードバック ループが含められます。閉ループ システムの極と零点が計算されます。
をクリックして [モデル内の信号をクリックして、選択します] 領域を折りたたみます。
アサーションの範囲を指定します。この例では、[ブロック パラメーター] ダイアログ ボックスの [範囲] タブに指定した既定の近似 2 次範囲を使用します。
[プロットの表示] をクリックしてプロット ウィンドウを開き、極-零点配置図上に範囲を表示します。
[アサーション] タブの [アサーションが失敗したときにシミュレーションを中止] を選択して、アサーションが失敗したときにシミュレーションを中止するようにします。
[適用] をクリックして、変更されたすべての設定をブロックに適用します。
プロット ウィンドウで をクリックして、モデルをシミュレートします。
または、Simulink エディターからモデルをシミュレートすることもできます。
線形化の入力と出力で指定されたモデルの部分が、[スナップショット時間] ブロック パラメーターに指定した既定のシミュレーション時間 0 で線形化されます。極が指定した範囲内にないことが検出されると、シミュレーションは停止します。診断ビューアーが開き、アサートしたブロックをレポートします。
[開く] をクリックすると、Simulink モデルでアサートしたブロックが強調表示されます。
計算された線形システムの閉ループの極と零点の位置は、プロット ウィンドウで
x
とo
のマークとして表示されます。プロットには、範囲の違反も表示できます。