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

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

Цель

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

Model = 'sltestProjectorFanSpeedExample';
Harness = 'FanSpeedTestHarness';
TestSuite = 'sltestProjectorFanSpeedTestSuite.mldatx';
open_system(Model);

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

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

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

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

Документ sltestProjectorFanSpeedExampleRequirements.slreqx получения эти подробные требования и процедура тестирования.

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

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

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

open(TestSuite)

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

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

sltest.harness.open(Model,Harness);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 располагает температуру, и включите данные из выхода для каждого запуска.

ArrangeProjectorData

Скрипт PlotProjectorThermalResponse.m строит тепловой ответ проектора после того, как лампа активируется для каждой из скоростей вентилятора.

PlotProjectorThermalResponse

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

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

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

close_system(Model,0);
clear Model;
clear Harness;
clear TestSuite;
close(figure(1));

Смотрите также

|

Похожие темы