В этом примере показано, как выполнить тест частотной характеристики модели ex_slrt_slt_osc
(open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_slrt_slt_osc')))
).
Используя эту информацию, в стадии проектирования, можно изменить внутренние параметры модели, чтобы удовлетворить требования частоты. В производственной стадии вы можете, интервал произвел части на основе частотной характеристики.
Рисунок показывает представительный выход из приложения реального времени, работающего на целевом компьютере. В низких частотах выход блока Integrator1 обосновывается к тому же значению как выход блока Signal Generator. В высоких частотах выход блока Integrator1 все еще звонит в конце каждого импульса.
Тест определяет самую высокую частоту, на которой выходные значения Интегратора и блоков Генератора Сигнала в заданном критерии друг друга. Тест использует саму модель в качестве источника сигнала и использует тестовую обвязку, чтобы сравнить выходные параметры Интегратора и блоков Генератора Сигнала.
Открытая модель ex_slrt_slt_osc
в перезаписываемой папке.
Откройте Параметры конфигурации. На вкладке Real-Time нажмите Hardware Settings.
Выберите Model Referencing> Общее количество экземпляров, позволенных на топ-модель> Один.
Выберите Data Import/Export> Format> Structure со временем.
Выберите Data Import/Export> Format> Time.
Выберите Data Import/Export> Format> Output.
Отмените выбор Импорта/Экспорта Данных> Формат> состояния.
Отмените выбор Импорта/Экспорта Данных> Формат> конечные состояния.
Отмените выбор Импорта/Экспорта Данных> Формат> логгирование Сигнала.
Отмените выбор Импорта/Экспорта Данных> Формат> Хранилища данных.
Отмените выбор Импорта/Экспорта Данных> Формат> Логарифмические данные о Наборе данных к файлу.
На вкладке Apps нажмите Simulink Test.
На вкладке Test нажмите Add Test Harness for Model. Программное обеспечение создает тестовую обвязку с именем по умолчанию ex_slrt_slt_osc_Harness1
.
В панели Basic Properties установите флажок Save Test Harnesses Externally.
Для Входа к Компоненту под Тестом выберите None
.
Для Выхода от Компонента под Тестом выберите Outport
.
Выберите Add отдельное поле проверки блока оценки.
Выберите Открытую обвязку после флажка создания.
Возьмите значения по умолчанию в остающихся панелях.
8. Нажать ОК.
Тестовая обвязка выглядит так фигура.
Модель ex_slrt_slt_osc
в качестве примера хранит тестовую обвязку в модели. Получить доступ к тестовой обвязке из модели в качестве примера:
В Редакторе Simulink, на вкладке Test, нажимают Manage Test Harnesses.
Нажмите ex_slrt_slt_osc_Harness1
.
Чтобы возвратиться к модели в качестве примера, выберите его в перспективном представлении в правом нижнем углу тестовой обвязки.
Открытая тестовая обвязка ex_slrt_slt_osc_Harness1
.
Откройте Параметры конфигурации. На вкладке Real-Time нажмите Hardware Settings.
Выберите Model Referencing> Общее количество экземпляров, позволенных на топ-модель> Один.
Выберите Data Import/Export> Format> Structure со временем.
Выберите Data Import/Export> Format> Time.
Выберите Data Import/Export> Format> Output.
Отмените выбор Импорта/Экспорта Данных> Формат> состояния.
Отмените выбор Импорта/Экспорта Данных> Формат> конечные состояния.
Отмените выбор Импорта/Экспорта Данных> Формат> логгирование Сигнала.
Отмените выбор Импорта/Экспорта Данных> Формат> Хранилища данных.
Отмените выбор Импорта/Экспорта Данных> Формат> Логарифмические данные о Наборе данных к файлу.
Откройте блок Test Assessment.
Упростить тестовую настройку оценки, в списке Вводимых символов, входе Outport
замены с входными параметрами
Int1
и SigGen
.
В ex_slrt_slt_osc_Harness1
, соедините блок Demux с ex_slrt_slt_osc/Outport
.
В диалоговом окне блока Демультиплексора, определенном Номере выходных параметров к 2
.
Чтобы сделать Demux выходными параметрами видимый с блоком Test Assessment, соедините унитарные блоки Усиления с каждым блоком Demux выходные параметры.
Соедините главный блок Demux выход с Test Assessment/Int1
и нижняя часть выход к Test Assessment/SigGen
.
Откройте Model Explorer. На вкладке Modeling, выпадающей раздел Design и, нажимают Model Explorer.
Кликните по узлу ex_slrt_slt_osc_Harness1> Рабочее пространство модели.
На панели инструментов нажмите кнопку Add Simulink Parameter.
Добавьте следующий объект данных:
Имя — критерий
Значение — 0
Тип данных 'double'
Класс памяти — ExportedGlobal
5. Подобным образом добавьте параметры Simulink w_open и w_close. Поскольку эти параметры находятся в ex_slrt_slt_osc_Harness1
рабочее пространство модели как параметры модели, вы получаете доступ к ним по наименованию непосредственно без иерархии модели.
6. Сохраните модель.
1. Откройте блок Test Assessment
2. Добавьте эти параметры в список символов Параметра:
Критерий
w_open
w_close
3. Чтобы добавить шаг, в столбце Шага, перемещают курсор в верхнюю строку, нажимают шаг Add после, и тип:
CheckSetting
4. Щелкните правой кнопкой по шагу CheckSetting
и набор, Когда флажок разложения.
5. Добавить подшаг в CheckSetting
, нажмите подшаг Add и тип:
Hi when (SigGen > 0)
Когда выражение выбирает одну половину формы волны.
6. Щелкните правой кнопкой по подшагу Hi when
и набор, Когда флажок разложения.
7. Подпродвигаться Hi when
, добавьте подшаг:
HiCheck when ((et >= w_open) && (et <= w_close)) verify((abs(Int1) >= abs(SigGen) * (1.0 - Criterion)) && ... (abs(Int1) <= abs(SigGen) * (1.0 + Criterion)));
Когда выражение выбирает окно времени для тестирования критерия допустимости. Проверять команда тестирует критерий допустимости.
8. Подобным образом, чтобы продвинуться CheckSetting
, добавьте подшаг:
Lo when (SigGen < 0)
9. Подпродвигаться Lo when
, добавьте подшаг:
LoCheck when ((et >= w_open) && (et <= w_close)) verify((abs(Int1) >= abs(SigGen) * (1.0 - Criterion)) && ... (abs(Int1) <= abs(SigGen) * (1.0 + Criterion)));
10. Щелкните правой кнопкой по подшагу Lo when
и набор, Когда флажок разложения.
11. Чтобы удовлетворить требованиям Когда разложение, удалите Run
по умолчанию продвиньтесь и вставьте
DefaultStep
подшаги после шагов CheckSetting
, Hi when
, и Lo when
. Когда разложение требует по крайней мере двух шагов на каждом уровне вложения и одного неанализируемого шага в конце каждого списка шагов.
Нажмите на ex_slrt_slt_osc
подсистема.
На вкладке Apps нажмите Simulink Test.
На вкладке Test нажмите Test Manager.
Выберите New> Test File.
Назовите тестовый файл realtimetest
.
Щелкните правой кнопкой по тестовому файлу и выберите New> Real-Time Test.
В новом тестовом диалоговом окне в реальном времени введите Simulation
в поле Test Type.
Нажмите Create.
Переименуйте новый тестовый набор к realtimesuite
.
Переименуйте новый тест к frequencysweep
.
В менеджере по Тесту выберите узел frequencysweep.
Выберите вкладку System Under Test.
Установите приложение загрузки от на Model
.
Установите модель на ex_slrt_slt_osc
.
Установите целевой компьютер на TargetPC1
.
Во вкладке Test Harness, Обвязке набора к ex_slrt_slt_osc_Harness1
.
Во вкладке Simulation Settings Overrides установите флажок Stop Time.
Возьмите значения по умолчанию для других полей.
В менеджере по Тесту выберите вкладку Parameter Overrides.
Нажмите кнопку Add. Диалоговое окно открывается содержащий список параметров. Если параметры не отображаются, кликните по линии Обновления наверху диалогового окна. Обновление создает модель и загружает модель и параметры блоков от ex_slrt_slt_osc_Harness1
и ex_slrt_slt_osc
.
Открытый Набор Параметра 1 и выбирает Criterion, Frequency, w_close, и w_open флажки. Оставьте другие флажки очищенными.
Чтобы сконфигурировать и управлять выполненными с помощью итераций запусками тестовой обвязки, много констант и переменных обеспечивают вход.
Константы тестовой обвязки включают:
cStartFreq = 15.0
Запустите частоту развертки параметра.
cStopFreq = 25.0
Закончите частоту развертки параметра.
cFreqIncr = 1.0
Шаг частоты.
cWOpen = 0.90
Запустите окна времени для оценки criterion
.
cWClose = 0.99
Конец окна времени для оценки criterion
.
cCriterion = 0.025
Максимальное нормированное амплитудное различие между Генератором Сигнала и Integrator1 в окне времени.
Переменные тестовой обвязки включают:
vfreq
Частота в каждой итерации.
vw_open
Окно открывается однажды в каждый полупериод.
vw_close
Окно закрывается однажды в каждый полупериод.
В менеджере по Тесту выберите вкладку Iterations> Scripted Iterations.
В текстовом поле введите следующий код. Чтобы изменить размер текстового поля Scripted Iterations, перетащите нижний правый угол поля.
% Initialize constants cStartFreq = 15.0; cStopFreq = 25.0; cFreqIncr = 1.0; cWOpen = 0.90; cWClose = 0.99; cCriterion = 0.025;
% Loop through test frequencies for vfreq = cStartFreq:cFreqIncr:cStopFreq
% Create a new iteration testItr = sltest.testmanager.TestIteration();
% Calculate the time window half_period = 0.5 * (1.0/vfreq); vw_open = half_period * cWOpen; vw_close = half_period * cWClose;
% Set the parameters for the iteration testItr.setVariable('Name','Frequency','Source', ... 'ex_slrt_slt_osc/Signal Generator','Value',vfreq); testItr.setVariable('Name','w_open','Source', ... '','Value', vw_open); testItr.setVariable('Name','w_close','Source', ... '','Value', vw_close); testItr.setVariable('Name','Criterion','Source', ... '','Value', cCriterion);
% Name and add the iteration to the testcase str = sprintf('%.0f Hz', vfreq); addIteration(sltest_testCase, testItr, str); end
Создайте и загрузите ex_slrt_slt_osc
к целевому компьютеру.
В менеджере по Тесту щелкните по кнопке Run.
Чтобы просмотреть результаты испытаний, в левом столбце, нажимают Results и Artifacts. В этом случае тест привел к сбою в итерации 23 Гц.
Чтобы просмотреть провальные результаты, открытые узлы, 23 Гц> Проверяют Операторы и 23 Гц> Сим Аутпут (ex_slrt_slt_osc).
В Инспекторе Данных моделирования панель нажмите кнопку Layout.
Выберите два дисплея с горизонтальный экраном.
В Инспекторе Данных моделирования лучшее отображение выберите два Out
флажки и главный флажок Test Assessment. Эта оценка соответствует HiCheck
подшаг.
В нижнем отображении выберите два Out
флажки и нижний флажок Test Assessment. Эта оценка соответствует LoCheck
подшаг.
Кликните по увеличению кнопки времени и выберите область значений 4.00-4.1
.
В лучшем отображении, вертикальной красной линии около 4.04
сопровождаемый горизонтальной зеленой линией показывает что HiCheck
тест перестал работать кратко перед следованием. В нижнем отображении, вертикальном красном скачке около 4.02
сопровождаемый горизонтальной зеленой линией показывает что LoCheck
тест перестал работать кратко перед следованием.
Test Assessment | Test Sequence