Параметрическая развертка для Simscape тепловая модель

Протестируйте и оптимизируйте физическую систему с помощью тестовой последовательности, тестовой обвязки и менеджера по Тесту.

Цель

Этот пример демонстрирует, как протестировать физическую систему, и как оптимизировать параметр с помощью тестовой обвязки, тестовой последовательности и менеджера по тесту. Пример использует уровень системы тепловая модель проектора, который включает Simscape® тепловые блоки. Запустите следующее, чтобы установить пути и имена для примера.

Model = 'sltestProjectorFanSpeedExample';
Harness = 'FanSpeedTestHarness';
Path = fullfile(matlabroot,'toolbox','simulinktest','simulinktestdemos');
TestSuite = 'sltestProjectorFanSpeedTestSuite.mldatx';
open_system(Model);

План тестирования и системные требования

Этот тест демонстрирует развертку через несколько скоростей вентилятора, чтобы определить оптимальное значение. Короче говоря, оптимальная скорость вентилятора приводит к самому быстрому ответу, не повреждая систему. Подробно, оптимальная скорость вентилятора:

  • Препятствует тому, чтобы система превысила заданную максимальную температуру.

  • Минимизирует время для системы, чтобы достигнуть температуры, при которой лампа излучает видимый свет.

Документ sltestProjectorFanSpeedExampleRequirements.txt получает эти подробные требования и процедуру тестирования. Можно найти документ в папке заданным Path выше.

Специфичные для теста образцовые элементы находятся в тестовой обвязке, сохраняя основную модель свободной от ненужных блоков, подходящих для генерации кода и подходящих для интеграции с другими моделями.

Откройте тестовый файл

Откройте менеджера по Тесту, чтобы просмотреть тестовый набор, управляющий разверткой параметра. Из меню нажимают Analysis> Test Manager. На панели инструментов выберите Open и откройте тестовый набор, расположенный на пути в качестве примера.

Можно также войти

open(fullfile(Path,TestSuite))

Описание теста

Тест исследует переходные и установившиеся тепловые характеристики системы. Тестовая последовательность инициализирует систему к температуре окружающей среды, затем приводит в действие лампу проектора. Когда система достигает установившегося условия, лампа выключает. Этот тест моделируется в тестовой обвязке с помощью блока Test Sequence. Запустите следующее, чтобы открыть тестовую обвязку:

sltest.harness.open(Model,Harness);

Связь с требованиями

Тестовый набор содержит ссылки на документ требований. Можно просмотреть ссылку требований путем открытия тестового набора в Тестовом Браузере и щелчка по ссылкам в разделе Requirements.

Тестовая последовательность

Дважды кликните блок Test Sequence, чтобы открыть тестовый редактор последовательности.

T0out и сигналы T0in хранят начальную температуру проектора на каждом тестовом шаге.

PowerOnTime хранит время симуляции, когда сигнал лампы активируется. Это упрощает последующий анализ данных.

Условие перехода обнаруживает установившееся условие. В установившемся системное изменение температуры является небольшой частью (Threshold) различия между текущей температурой проектора и начальной температурой проектора на каждом шаге. Это условие должно содержать в течение минимального времени DurationLimit, в этом случае 10 секунд.

Описание развертки параметра

Коллбэки предварительной нагрузки содержат команду, чтобы установить скорость вентилятора для каждого теста под тестовым набором Fan Speed Parametric Study. Переопределения параметра содержат команду, чтобы повторно вычислить поток воздуха вентилятора от скорости вентилятора, и затем заменить параметр тестовой обвязки. Можно просмотреть эти команды в разделе Callbacks и Parameter Overrides каждого теста.

Запустите тест

В Тестовом Браузере подсветите Скорость вентилятора Параметрическое Исследование и нажмите Run. Когда симуляция тестового набора завершится, откройте результаты для каждого теста и выберите ProjectorTemp. Просмотрите результаты в менеджере по Тесту.

Экспортируйте данные

С менеджером по Тесту можно экспортировать данные для последующей обработки. В панели Результатов и Артефактов менеджера по Тесту щелкните правой кнопкой по Sim Output для каждого теста и выберите Export.

Этот пример включает экспортированные данные в четыре файла MAT, расположенные в папке, заданной Path:

ProjectorTempFanSpeed800.mat
ProjectorTempFanSpeed1300.mat
ProjectorTempFanSpeed1800.mat
ProjectorTempFanSpeed2300.mat

Исследуйте время отклика и максимальную температуру проектора

Поскольку тестовые переходы последовательности выполняются, когда система достигает установившийся, и скорость вентилятора изменяет отклик системы, лампа активируется в различных временах симуляции для каждого из этих четырех тестов. Упростите графический анализ результатов путем графического вывода каждого ответа с активацией лампы одновременно.

Извлеките данные об ответе активации лампы и постройте отклик системы для четырех скоростей вентилятора. Оцените результаты против этих критериев:

  • Температура не должна превышать 65 градусов C.

  • Лампа излучает видимый свет выше 45 градусов C. Минимизируйте время, чтобы достигнуть этой температуры.

Загрузите результаты. В командной строке войти

DataAt800 = load('ProjectorTempFanSpeed800.mat');
DataAt1300 = load('ProjectorTempFanSpeed1300.mat');
DataAt1800 = load('ProjectorTempFanSpeed1800.mat');
DataAt2300 = load('ProjectorTempFanSpeed2300.mat');

Скрипт ArrangeProjectorData.m располагает температуру, и включите данные из вывода для каждого выполнения. Можно открыть файл в местоположении, заданном Path, чтобы видеть детали скрипта.

ArrangeProjectorData

Скрипт PlotProjectorThermalResponse.m строит тепловой ответ проектора после лампы, активируется для каждой из скоростей вентилятора. Можно открыть файл в местоположении, заданном Path, чтобы видеть детали скрипта.

PlotProjectorThermalResponse

Интерпретация результатов

Результаты показывают, что, в то время как самая высокая скорость вентилятора приводит к самой низкой максимальной температуре, также требуется самое долгое время, чтобы достигнуть температуры активации лампы. Самые низкие результаты скорости вентилятора в самой быстрой активации лампы, но система превышает максимальную заданную температуру значительным полем.

Скорость вентилятора = 1300 сохраняет систему под максимальной температурной спецификацией, и система также достигает температуры активации лампы приблизительно 3 секунды быстрее, чем с самой высокой скоростью вентилятора.

close_system(Model,0);
clear Model;
clear Harness;
close(figure(1));
Для просмотра документации необходимо авторизоваться на сайте