Simscape 熱モデルのパラメトリック スイープ
この例では、テスト ハーネス、テスト シーケンス、およびテスト マネージャーを使用して、物理システムをテストし、パラメーターを最適化する方法を示します。この例で使用するプロジェクターのシステムレベル熱モデルは、Simscape® 熱ブロックを含みます。
変数の設定
この例に必要な変数を設定します。
Model = 'sltestProjectorFanSpeedExample'; Harness = 'FanSpeedTestHarness'; TestSuite = 'sltestProjectorFanSpeedTestSuite.mldatx'; open_system(Model);

テスト計画とシステム要件
このテストでは、複数のファン速度をスイープして、最適な値を求める方法を示します。つまり、最適なファン速度とは、システムに損傷を与えずに、最も高速な応答を得られる値です。具体的には、最適なファン速度は次のようになります。
システムが指定された最高温度を超えないようにする。
ランプが可視光を発する温度にシステムが達するまでの時間を最小限に抑える。
ドキュメント sltestProjectorFanSpeedExampleRequirements.slreqx には、これらの詳細な要件とテスト手順が記載されています。
テスト固有のモデル項目はテスト ハーネス内に配置されており、メイン モデルを不要なブロックのない状態に保つことで、コード生成や他のモデルとの統合に適した構成になります。
テスト ファイルを開く
テスト マネージャーを開き、パラメーター スイープを制御するテスト スイートを表示します。
open(TestSuite)
テストの説明
テストでは、システムの過渡的および定常状態における熱特性を調査します。テスト シーケンスは、システムを周囲温度に初期化し、プロジェクターのランプに電力を供給します。システムが定常状態に達すると、ランプはオフになります。このテストは、テスト ハーネス内で Test Sequence ブロックを使用してモデル化されています。テスト ハーネスを開くには、以下を実行します。
sltest.harness.open(Model,Harness);

要件リンク
テスト スイートには、要件ドキュメントへのリンクが含まれています。テスト マネージャーの [テスト ブラウザー] ペインで [Fan Speed Parametric Study] テスト スイートを選択すると、要件リンクが表示されます。次に、[要件] セクションを展開します。
テスト シーケンス
Test Sequence ブロックをダブルクリックして Test Sequence エディターを開きます。

T0out 信号および T0in 信号は、それぞれのテスト ステップにおけるプロジェクターの初期温度を格納します。
PowerOnTime は、ランプ信号が作動した時点のシミュレーション時間を格納します。これにより、後続のデータ解析が容易になります。
遷移条件は定常状態の到達を検出します。定常状態では、システム温度の変化が、各ステップでの現在のプロジェクター温度と初期プロジェクター温度との差のごく一部 (Threshold) となります。この条件は、最小時間 DurationLimit、この場合は 10 秒間、維持される必要があります。
テスト シーケンス ブロック内のステップは、要件ドキュメント sltestProjectorFanSpeedExampleRequirements.slreqx に事前に入力された要件にリンクできます。
パラメーター スイープの説明
プリロード コールバックには、Fan Speed Parametric Study テスト スイートの各テスト ケースのファン速度を設定するコマンドが含まれています。パラメーター オーバーライドには、ファン速度からファンの気流を再計算し、テスト ハーネスのパラメーターをオーバーライドするコマンドが含まれています。これらのコマンドは、各テスト ケースの [コールバック] セクションおよび [パラメーターのオーバーライド] セクションで確認できます。

テストの実行
[テスト ブラウザー] で [Fan Speed Parametric Study] を強調表示し、[実行] をクリックします。テスト スイートのシミュレーションが完了したら、各テスト ケースの結果を開いて ProjectorTemp を選択します。テスト マネージャーで結果を確認します。

データのエクスポート
後処理のためにテスト マネージャーからデータをエクスポートできます。MATLAB で後処理を行うには、テスト マネージャーの [結果とアーティファクト] ペインで、各テスト ケースの [Sim 出力] を右クリックし、[エクスポート] を選択します。
この例では、エクスポートされたデータは 4 つの MAT ファイルに含まれています。
ProjectorTempFanSpeed800.mat ProjectorTempFanSpeed1300.mat ProjectorTempFanSpeed1800.mat ProjectorTempFanSpeed2300.mat
応答時間とプロジェクターの最高温度の調査
システムが定常状態に到達すると、テスト シーケンスの遷移が実行され、ファン速度によってシステムの応答が変化するため、ランプは 4 つのテスト ケースごとに異なるシミュレーション時間で作動します。ランプの作動と同時に各応答をプロットすることで、グラフィカルな結果の解析を簡略化します。
ランプ作動時の応答データを抽出し、4 つのファン速度ごとのシステム応答をプロットします。これらの基準に基づいて結果を評価します。
温度は 65 ℃ を超えてはならない。
ランプは 45 ℃ を超えると可視光を発する。この温度に達するまでの時間を最小化する。
結果を読み込みます。コマンド ラインで以下のように入力します。
DataAt800 = load('ProjectorTempFanSpeed800.mat'); DataAt1300 = load('ProjectorTempFanSpeed1300.mat'); DataAt1800 = load('ProjectorTempFanSpeed1800.mat'); DataAt2300 = load('ProjectorTempFanSpeed2300.mat');
スクリプト ArrangeProjectorData.m は、各実行の出力から温度および電源投入時のデータを整理します。
ArrangeProjectorData
スクリプト PlotProjectorThermalResponse.m は、ランプ作動後のプロジェクターにおける熱応答を、ファン速度ごとにプロットします。
PlotProjectorThermalResponse

結果の解釈
結果では、ファン速度を最大にすると最高温度は最も低くなりますが、ランプ作動温度に到達するまでの時間は最も長くなることが示されます。ファン速度を最小にすると、ランプは最も早く作動しますが、システム温度は指定された上限を大きく超過します。
ファン速度を 1300 に設定した場合、システム温度は仕様の上限未満に保たれ、ファン速度を最大にした場合よりも約 3 秒早くランプ作動温度に到達します。
close_system(Model,0);
clear Model; clear Harness; clear TestSuite; close(figure(1));
参考
Simulink テスト マネージャー | Test Sequence