Протестируйте приложение реального времени

Этот пример показывает, как выполнить тест частотной характеристики модели 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.

Шаг 1. Установите образцовые параметры конфигурации

  1. Откройте ex_slrt_slt_osc в перезаписываемой папке.

  2. Откройте диалоговое окно Configuration Parameters.

  3. Откройте Модель, Ссылающуюся на узел, и затем определите Общий номер экземпляров, позволенных на топ-модель Одной.

  4. Откройте узел Импорта/Экспорта Данных и установите следующие настройки:

  • Установите Формат на Структуру со временем.

  • Установите флажки Time и Output.

  • Очистите Штаты, конечные состояния, журналирование Сигнала, Хранилища данных и Логарифмические данные о Наборе данных, чтобы зарегистрировать флажки.

Шаг 2. Создайте тестовую обвязку

  1. В Анализе выберите Test Harness> Create for Model. Программное обеспечение создает тестовую обвязку с именем по умолчанию ex_slrt_slt_osc_Harness1.

  2. В панели Basic Properties установите флажок Save Test Harnesses Externally.

  3. Для Входа к Компоненту под Тестом выберите None.

  4. Для Вывода от Компонента под Тестом выберите Outport.

  5. Выберите Add отдельное поле проверки блока оценки.

  6. Выберите Открытую обвязку после флажка создания.

  7. Возьмите значения по умолчанию в остающихся панелях.

8. Нажать ОК.

Тестовая обвязка выглядит так фигура.

Модель ex_slrt_slt_osc в качестве примера хранит тестовую обвязку в модели. Получить доступ к тестовой обвязке из модели в качестве примера:

  1. В Редакторе Simulink нажмите Analysis> Test Harness> Manage Test Harnesses.

  2. Нажмите ex_slrt_slt_osc_Harness1.

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

Шаг 3. Установите параметры конфигурации тестовой обвязки

  1. Открытый ex_slrt_slt_osc_Harness1.

  2. Откройте диалоговое окно Configuration Parameters.

  3. Откройте Модель, Ссылающуюся на узел, и затем определите Общий номер экземпляров, позволенных на топ-модель One.

  4. Откройте узел Импорта/Экспорта Данных.

  5. Установите формат на Structure with time.

  6. Установите флажки Time и Output.

  7. Очистите Штаты, конечные состояния, журналирование Сигнала, Хранилища данных и Логарифмические данные о Наборе данных, чтобы зарегистрировать флажки.

Шаг 4. Сконфигурируйте тестовую обвязку

  1. Откройте блок Test Assessment.

  2. Упростить тестовую настройку оценки, в списке Вводимых символов, входе Outport замены с входными параметрами Int1 и SigGen.

  3. В ex_slrt_slt_osc_Harness1, подключение блок Demux к ex_slrt_slt_osc/Outport.

  4. В диалоговом окне блока Demux, определенном Номере выходных параметров к 2.

  5. Чтобы сделать Demux выходными параметрами видимый к блоку Test Assessment, соедините унитарные блоки Усиления с каждым блоком Demux выходные параметры.

  6. Соедините главный блок Demux вывод с Test Assessment/Int1 и нижней частью вывод к Test Assessment/SigGen.

Шаг 5. Сконфигурируйте параметры Simulink

  1. На панели инструментов нажмите кнопку Model Explorer.

  2. Кликните по узлу ex_slrt_slt_osc_Harness1> Рабочее пространство модели.

  3. На панели инструментов нажмите кнопку Add Simulink Parameter.

  4. Добавьте следующий объект данных:

  • Имя — критерий

  • Значение — 0

  • Тип данных 'double'

  • Класс памяти — ExportedGlobal

5. Подобным образом добавьте параметры Simulink w_open и w_close. Поскольку эти параметры находятся в рабочем пространстве модели ex_slrt_slt_osc_Harness1 как параметры модели, вы получаете доступ к ним по наименованию непосредственно без иерархии модели.

6. Сохраните модель.

Шаг 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. Когда разложение требует по крайней мере двух шагов на каждом уровне вложения и одного неанализируемого шага в конце каждого списка шагов.

Шаг 7. Инициализируйте тестовый набор

  1. Нажмите на подсистему ex_slrt_slt_osc.

  2. Открытый Анализ> Тестирует менеджера.

  3. Выберите New> Test File.

  4. Назовите тестовый файл realtimetest.

  5. Щелкните правой кнопкой по тестовому файлу и выберите New> Real-Time Test.

  6. В новом тестовом диалоговом окне в реальном времени введите Simulation в поле Test Type.

  7. Нажмите Create.

  8. Переименуйте новый тестовый набор к realtimesuite.

  9. Переименуйте новый тест к frequencysweep.

Шаг 8. Инициализируйте систему под тестом

  1. В менеджере по Тесту выберите узел frequencysweep.

  2. Выберите вкладку System Under Test.

  3. Установите приложение загрузки от на Model.

  4. Установите модель на ex_slrt_slt_osc.

  5. Установите целевой компьютер на TargetPC1.

  6. Во вкладке Test Harness, Обвязке набора к ex_slrt_slt_osc_Harness1.

  7. Во вкладке Simulation Settings Overrides установите флажок Stop Time.

  8. Возьмите значения по умолчанию для других полей.

Шаг 9. Инициализируйте переопределения параметра

  1. В менеджере по Тесту выберите вкладку Parameter Overrides.

  2. Нажмите кнопку Add. Диалоговое окно открывается содержащий список параметров. Если параметры не видимы, кликните по строке Обновления наверху диалогового окна. Обновление создает модель и загружает модель и параметры блоков от ex_slrt_slt_osc_Harness1 и ex_slrt_slt_osc.

  3. Открытый Набор Параметра 1 и выбирает Criterion, Frequency, w_close, и w_open флажки. Оставьте другие флажки очищенными.

Шаг 10. Создайте итерации в виде сценария

  1. В менеджере по Тесту выберите вкладку Iterations> Scripted Iterations.

  2. В текстовом поле введите следующий код. Чтобы изменить размер текстового поля 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

Шаг 11. RunTest

  1. Создайте и загрузите ex_slrt_slt_osc на целевой компьютер.

  2. В менеджере по Тесту, на панели инструментов, щелкают по кнопке Run.

  3. Чтобы просмотреть результаты испытаний, в левом столбце, нажимают Results и Artifacts. В этом случае тест привел к сбою в итерации 23 Гц.

  4. Чтобы просмотреть провальные результаты, открытые узлы, 23 Гц> Проверяют Операторы и 23 Гц> Сим Аутпут (ex_slrt_slt_osc).

Шаг 12. Отображение результатов

  1. В Инспекторе Данных моделирования панель нажмите кнопку Layout.

  2. Выберите два дисплея с горизонтальный экраном.

  3. В ведущем Инспекторе Данных моделирования отображение установите два флажка Out и главный флажок Test Assessment. Эта оценка соответствует подшагу HiCheck.

  4. В нижнем отображении установите два флажка Out и нижний флажок Test Assessment. Эта оценка соответствует подшагу LoCheck.

  5. Кликните по увеличению кнопки времени и выберите область значений 4.00-4.1.

В лучшем отображении вертикальная красная линия около 4.04, сопровождаемого горизонтальной зеленой строкой, показывает, что тест HiCheck перестал работать кратко перед следованием. В нижнем отображении вертикальный красный скачок около 4.02, сопровождаемого горизонтальной зеленой строкой, показывает, что тест LoCheck перестал работать кратко перед следованием.

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

|

Похожие темы