В этом примере показано, как выполнить тест частотной характеристики модели. slrt_ex_osc_sltest.
Используя эту информацию, на этапе проектирования можно изменить внутренние параметры модели в соответствии с требованиями к частоте. На фазе производства можно складировать произведенные детали на основе частотной характеристики.
Чтобы открыть модель, в окне команды MATLAB введите:
open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_osc_sltest'));

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

Тест определяет максимальную частоту, на которой выходные значения блоков интегратора и генератора сигналов находятся в пределах заданного критерия друг друга. Тест использует саму модель в качестве источника сигнала и использует тестовый жгут для сравнения выходов блоков интегратора и генератора сигналов.
Открытая модель slrt_ex_osc_sltest в доступной для записи папке.
Откройте окно Параметры конфигурации (Configuration Parameters). На вкладке «Real-Time» выберите «Hardware Settings».
Выберите «Ссылка на модель» > «Общее число экземпляров, разрешенных для каждой модели верхнего уровня» > «Одна».
Выберите Импорт/экспорт данных > Формат > Структура со временем.
Выберите Импорт/экспорт данных > Формат > Время.
Выберите Импорт/экспорт данных > Формат > Вывод.
Снимите флажок «Импорт/экспорт данных» > «Формат» > «Состояния».
Снимите флажок «Импорт/экспорт данных» > «Формат» > «Конечные состояния».
Снимите флажок Импорт/экспорт данных > Формат > Регистрация сигналов.
Снимите флажок «Импорт/экспорт данных» > «Формат» > «Хранилища данных».
Снимите флажок Импорт/экспорт данных (Data Import/Export) > Формат (Format) > Данные набора данных журнала (Log Dataset data to file).
На вкладке Приложения выберите Simulink Test.
На вкладке «Тест» нажмите кнопку «Добавить тестовый кабель для модели». Программа создает тестовый электрический жгут с именем по умолчанию slrt_ex_osc_sltest_Harness1.
На панели «Основные свойства» установите флажок «Сохранить тестовые жгуты внешне».
Для параметра «Ввод в компонент» в разделе «Тест» выберите None.
Для параметра Output from Component в разделе Test выберите Outport.
Установите флажок Добавить отдельный блок оценки.
Установите флажок Открыть электрический жгут после создания (Open harness after creation).
Выберите значения по умолчанию в остальных панелях.

8. Нажмите кнопку ОК.
Пример модели slrt_ex_osc_sltest сохраняет тестовый жгут в модели. Для вызова тестового электрического жгута из модели примера:
В редакторе Simulink на вкладке «Тест» выберите «Управление тестовыми жгутами».
Щелкнуть slrt_ex_osc_sltest_Harness1.
Чтобы вернуться к примерной модели, выберите ее в ракурсе в правом нижнем углу тестового электрического жгута.
Открыть тестовый жгут slrt_ex_osc_sltest_Harness1.
Откройте окно Параметры конфигурации (Configuration Parameters). На вкладке «Real-Time» выберите «Hardware Settings».
Выберите «Ссылка на модель» > «Общее число экземпляров, разрешенных для каждой модели верхнего уровня» > «Одна».
Выберите Импорт/экспорт данных > Формат > Структура со временем.
Выберите Импорт/экспорт данных > Формат > Время.
Выберите Импорт/экспорт данных > Формат > Вывод.
Снимите флажок «Импорт/экспорт данных» > «Формат» > «Состояния».
Снимите флажок «Импорт/экспорт данных» > «Формат» > «Конечные состояния».
Снимите флажок Импорт/экспорт данных > Формат > Регистрация сигналов.
Снимите флажок «Импорт/экспорт данных» > «Формат» > «Хранилища данных».
Снимите флажок Импорт/экспорт данных (Data Import/Export) > Формат (Format) > Данные набора данных журнала (Log Dataset data to file).
Откройте блок оценки тестирования.
Чтобы упростить конфигурацию оценки теста, в списке входных символов замените входные данные. Outport с входами Int1 и SigGen.
В slrt_ex_osc_sltest_Harness1, подключите блок Demux к slrt_ex_osc_sltest/Outport.
В диалоговом окне Блок демультиплексора (Demux block) задайте для параметра Количество выходов (Number of outputs) значение 2.
Чтобы сделать выходы Demux видимыми для блока оценки теста, подключите унитарные блоки усиления к каждому из выходов блока Demux.
Подключите верхний вывод блока Demux к Test Assessment/Int1 и нижний выход в Test Assessment/SigGen.
Откройте обозреватель моделей. На вкладке Моделирование (Modeling) разверните раздел Модель (Design) и щелкните Обозреватель моделей (Model Explorer).
Щелкните узел slrt_ex_osc_sltest_Harness1 > Рабочее пространство модели.
На панели инструментов нажмите кнопку «Добавить параметр Simulink».
Добавьте следующий объект данных:
Наименование - критерий
Значение - 0
Тип данных - двойной
Класс хранения - Глобальный
5. Аналогичным образом добавьте параметры Simulink w_open и w_close. Поскольку эти параметры находятся в slrt_ex_osc_sltest_Harness1 рабочее пространство модели как параметры модели, доступ к ним осуществляется непосредственно по имени без иерархии модели.

6. Сохраните модель.
1. Откройте блок оценки тестирования
2. Добавьте следующие параметры в список символов параметров:
Критерий
w_open
w_close
3. Чтобы добавить шаг, в столбце Шаг (Step) переместите курсор в верхнюю строку, щелкните Добавить шаг после (Add step after) и введите:
CheckSetting
4. Шаг щелчка правой кнопкой мыши CheckSetting и установите флажок При разложении.
5. Добавление подэтапа к CheckSetting, щелкните Добавить подэтап и введите:
Hi when (SigGen > 0)
Выражение when выбирает половину формы сигнала.
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)));Выражение when выбирает временное окно для проверки критерия принятия. Команда verify проверяет критерий приемки.
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. Чтобы выполнить требования команды При декомпозиции (When department), удалите значение по умолчанию Run шаг и вставка DefaultStep подэтапы после шагов CheckSetting, Hi when, и Lo when. Когда декомпозиция требует, по крайней мере, двух шагов на каждом уровне вложенности, и один некомпозиционный шаг в конце каждого списка шагов.

Нажмите кнопку slrt_ex_osc_sltest подсистема.
На вкладке Приложения выберите Simulink Test.
На вкладке Test выберите Test Manager.
Выберите «Создать» > «Тестовый файл».
Назовите тестовый файл realtimetest.
Щелкните правой кнопкой мыши тестовый файл и выберите New > Real-Time Test.
В новом диалоговом окне тестирования в реальном времени введите Simulation в поле Test Type.
Щелкните Создать (Create).
Переименовать новый набор тестов в realtimesuite.
Переименовать новый тестовый случай в frequencysweep.
В диспетчере тестов выберите частоту узла.
Выберите вкладку «Система под испытанием».
Установить приложение загрузки из в Model.
Задать для модели значение slrt_ex_osc_sltest.
Задать для целевого компьютера значение TargetPC1.
На вкладке «Тестовый электрический жгут» установите для параметра «Электрический жгут» значение slrt_ex_osc_sltest_Harness1.
На вкладке «Настройки моделирования» установите флажок «Остановить время».
Выберите значения по умолчанию для других полей.
В Диспетчере тестов выберите вкладку «Переопределения параметров».
Нажмите кнопку «Добавить». Откроется диалоговое окно, содержащее список параметров. Если параметры не отображаются, щелкните на строке «Обновить» в верхней части диалогового окна. Обновление создает модель и выгружает параметры модели и блока из slrt_ex_osc_sltest_Harness1 и slrt_ex_osc_sltest.
Откройте набор параметров 1 и установите флажки Критерий, Частота, 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 Окно закрывается один раз в каждом полупериоде.
В Диспетчере тестов выберите вкладку Итерации > Итерации по сценарию.
В текстовом поле введите следующий код. Чтобы изменить размер текстового поля «Итерации по сценариям», щелкните и перетащите нижний правый угол поля.
% 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', ...
'slrt_ex_osc_sltest/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Сборка и загрузка slrt_ex_osc_sltest на целевой компьютер.
В диспетчере тестов нажмите кнопку Run.
Для просмотра результатов тестирования в левом столбце щелкните Результаты и артефакты. В этом случае тест не прошел при итерации 23 Гц.
Для просмотра неудачных результатов откройте узлы 23 Гц > Проверить операторы и 23 Гц > Sim Output (slrt_ex_osc_sltest).
На панели «Инспектор данных моделирования» нажмите кнопку «Макет».
Выберите два горизонтальных дисплея.
В верхней части окна Инспектора данных моделирования выберите два Out флажки и верхний флажок Test Assessment. Эта оценка соответствует HiCheck субстеп.
На нижнем экране выберите два Out и нижний флажок Test Assessment. Эта оценка соответствует LoCheck субстеп.
Нажмите кнопку «Увеличить время» и выберите диапазон 4.00-4.1.
В верхней части экрана красная вертикальная линия рядом 4.04 за которым следует горизонтальная зеленая линия, показывает, что HiCheck не удалось выполнить тест до успешного завершения. На нижнем дисплее вертикальный красный колос рядом 4.02 за которым следует горизонтальная зеленая линия, показывает, что LoCheck не удалось выполнить тест до успешного завершения.
Оценка испытаний (Simulink Test) | Последовательность испытаний (Simulink Test)