Этот пример показывает, как выполнить тест частотной характеристики модели ex_slrt_slt_osc (open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_slrt_slt_osc')))).

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

Данные показывают представительный вывод из приложения реального времени, работающего на целевом компьютере. В низких частотах вывод блока Integrator1 обосновывается к тому же значению как вывод блока Signal Generator. В высоких частотах вывод блока Integrator1 все еще звонит в конце каждого импульса.

Тест определяет самую высокую частоту, на которой выходные значения Интегратора и блоков Генератора Сигнала в заданном критерии друг друга. Тест использует саму модель в качестве источника сигнала и использует тестовую обвязку, чтобы сравнить выходные параметры Интегратора и блоков Генератора Сигнала.
cStartFreq = частота Запуска на 15,0% развертки параметра. cStopFreq = частота Конца на 25,0% развертки параметра. cFreqIncr = шаг Частоты на 1,0%. cWOpen = Запуск на 0,90% окна времени для оценки criterion. cWClose = Конец на 0,99% окна времени для оценки criterion. критерий = Максимальный нормированный амплитудный % различия на 0,025% между Генератором Сигнала и % Integrator1 в окне времени.
vfreq % Frequency at each iteration. vw_open % Window opens once in each half-period. vw_close % Window closes once in each half-period.
Откройте ex_slrt_slt_osc в перезаписываемой папке.
Откройте диалоговое окно Configuration Parameters.
Откройте Модель, Ссылающуюся на узел, и затем определите Общий номер экземпляров, позволенных на топ-модель Одной.
Откройте узел Импорта/Экспорта Данных и установите следующие настройки:
Установите Формат на Структуру со временем.
Установите флажки Time и Output.
Очистите Штаты, конечные состояния, журналирование Сигнала, Хранилища данных и Логарифмические данные о Наборе данных, чтобы зарегистрировать флажки.
В Анализе выберите Test Harness> Create for Model. Программное обеспечение создает тестовую обвязку с именем по умолчанию ex_slrt_slt_osc_Harness1.
В панели Basic Properties установите флажок Save Test Harnesses Externally.
Для Входа к Компоненту под Тестом выберите None.
Для Вывода от Компонента под Тестом выберите Outport.
Выберите Add отдельное поле проверки блока оценки.
Выберите Открытую обвязку после флажка создания.
Возьмите значения по умолчанию в остающихся панелях.

8. Нажать ОК.
Тестовая обвязка выглядит так фигура.

Модель ex_slrt_slt_osc в качестве примера хранит тестовую обвязку в модели. Получить доступ к тестовой обвязке из модели в качестве примера:
В Редакторе Simulink нажмите Analysis> Test Harness> Manage Test Harnesses.
Нажмите ex_slrt_slt_osc_Harness1.
Чтобы возвратиться к модели в качестве примера, выберите его в перспективном представлении в правом нижнем углу тестовой обвязки.
Открытый ex_slrt_slt_osc_Harness1.
Откройте диалоговое окно Configuration Parameters.
Откройте Модель, Ссылающуюся на узел, и затем определите Общий номер экземпляров, позволенных на топ-модель One.
Откройте узел Импорта/Экспорта Данных.
Установите формат на Structure with time.
Установите флажки Time и Output.
Очистите Штаты, конечные состояния, журналирование Сигнала, Хранилища данных и Логарифмические данные о Наборе данных, чтобы зарегистрировать флажки.
Откройте блок Test Assessment.
Упростить тестовую настройку оценки, в списке Вводимых символов, входе Outport замены с входными параметрами Int1 и SigGen.
В ex_slrt_slt_osc_Harness1, подключение блок Demux к ex_slrt_slt_osc/Outport.
В диалоговом окне блока Demux, определенном Номере выходных параметров к 2.
Чтобы сделать Demux выходными параметрами видимый к блоку Test Assessment, соедините унитарные блоки Усиления с каждым блоком Demux выходные параметры.
Соедините главный блок Demux вывод с Test Assessment/Int1 и нижней частью вывод к Test Assessment/SigGen.

На панели инструментов нажмите кнопку 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.
Открытый Анализ> Тестирует менеджера.
Выберите 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 флажки. Оставьте другие флажки очищенными.

В менеджере по Тесту выберите вкладку 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 перестал работать кратко перед следованием.

Протестируйте оценку | Протестируйте последовательность