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

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

Цель

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

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

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

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

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

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

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

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

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

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

open(TestSuite)

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

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

sltest.harness.open(Model,Harness);

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

Тестовый набор содержит ссылки на документ требований. Для просмотра ссылки на требования откройте тестовый набор в браузере тестов и щелкните по ссылкам в разделе «Требования».

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

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

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

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

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

Можно связать шаги в блоках тестовой последовательности с предварительно заполненными требованиями в документе требований sltestProjectorFanSpeedExampleRequirements.slreqx.

Описание сдвига параметра

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

Запуск теста

В браузере тестов выделите Fan Speed Parametric Study и нажатие кнопки Запуска. Когда симуляция тестового набора завершится, откройте результаты для каждого теста и выберите ProjectorTemp. Просмотр результатов в Диспетчере тестов.

Экспорт данных

С помощью Диспетчера тестов можно экспортировать данные для постобработки. На панели Результаты и программные продукты Диспетчера тестов щелкните правой кнопкой мыши Выход SIM для каждого тестового примера и выберите Экспорт.

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

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

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

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

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

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

  • Лампа излучает видимый свет выше 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));

См. также

|

Похожие темы