Используйте диаграмму Stateflow для входных параметров тестовой обвязки и планирования

Используйте диаграмму Stateflow для планирования тестовой обвязки

Можно задать планирование тестовой обвязки с помощью блока Test Sequence, MATLAB® Функциональный блок или Stateflow® график. Если вы используете диаграмму Stateflow в качестве планировщика, можно использовать функции Stateflow, которые не доступны или с блоком Test Sequence или с блоком MATLAB function. Можно задать более сложное планирование при помощи вариантов Stateflow, графических функций, супер переходов и супер шагов. Например, с вариантами Stateflow, можно задать несколько сценариев тестирования в одной тестовой обвязке. Если вы не должны тестировать несколько сценариев тестирования, или использование усложнило логику последовательности, используйте блок Test Sequence, который имеет более простой синтаксис для тестового планирования.

Примечание

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

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

Когда подготовка тестовой обвязки из модели, шагов для использования графика как планировщик:

  1. В модели или подсистеме, щелкните правой кнопкой и выберите Test Harness> Create for Model или Create for <subsystem>, соответственно.

    • Для модели, в диалоговом окне Create a Test Harness, устанавливает Add scheduler for function-calls and rates на Chart.

    • Для подсистемы, в диалоговом окне Create a Test Harness, устанавливает Generate function call signals на Chart.

    График под названием планировщик Функции Simulink добавляется к тестовой обвязке.

    Test harness with Simulink Function Scheduler chart

  2. Откройте диаграмму Stateflow и задайте тестовую последовательность с помощью состояний Stateflow, переходов и других объектов. Состояния Stateflow служат той же цели как шаги последовательности в блоке Test Sequence. Переходы задают критерии перемещения от одного состояния до другого.

Чтобы программно задать диаграмму Stateflow как планировщик, установите SchedulerBlock свойство sltest.harness.create к Chart.

Используйте диаграмму Stateflow в качестве источника тестовой обвязки

Когда создание тестовой обвязки из модели, шагов для использования графика как источник тестовой обвязки:

  1. В модели или подсистеме, щелкните правой кнопкой и выберите Test Harness> Create for Model или Create for <subsystem>, соответственно.

  2. В диалоговом окне Create Test Harness, в разделе Sources and Sinks, выбирают Chart вместо Inport.

    График добавляется к тестовой обвязке. Например,

    Test harness with a chart as the source

  3. Откройте диаграмму Stateflow и задайте источники тестовой обвязки с помощью логики Stateflow.

Чтобы программно задать диаграмму Stateflow как источник, установите Source свойство sltest.harness.create к Chart.

Диаграмма Stateflow как планировщик тестовой обвязки и источник

В этом примере показано, как использовать одну диаграмму Stateflow и в качестве тестового планировщика и в качестве источника в тестовой обвязке. Тестовая обвязка для sltest_autosar_chart.slx модель в этом примере была уже создана.

sltest_autosar_chart модель состава AUTOSAR контроллера положения дросселя для автомобиля. Модели состава AUTOSAR содержат сеть взаимосвязанных блоков Model, каждый из которых представляет атомарный компонент программного обеспечения AUTOSAR (ASWC). Импорт Simulink и выходные порты представляют порты AUTOSAR. Сигнальные линии представляют коннекторы компонента AUTOSAR.

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

Перейдите к директории с полномочиями записи прежде, чем запустить этот пример.

Откройте модель

open_system('sltest_autosar_chart')

Откройте тестовую обвязку

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

Это изображение показывает фрагмент Создать диалогового окна Тестовой обвязки где Chart был выбран и как источник и как планировщик. Вы не должны воссоздавать тестовую обвязку.

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

Тестовая обвязка открывается.

Откройте диаграмму Stateflow

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

Компонент под тестом (модель AUTOSAR) требует входа APP_HwIO_Value датчика положений педали акселератора, который моделируется в графике тремя состояниями.

Initialize утвердите устанавливает вход на номинальную стоимость (170) и Run модели состояния устойчивая ускоряющая команда для 950 мс. Ускоряющая команда сбрасывается к номинальной стоимости в Terminate состояние.

Компонент под тестом использует стиль моделирования экспорта функций. (См. Обзор Моделей Экспорта функций.), Когда тестовая обвязка была создана, ее диаграмма Stateflow была сконфигурирована, чтобы вызвать каждый корневой уровень Функциональный блок Simulink и отправить триггерное событие в каждую подсистему вызова функций в модели. В этом примере код, чтобы отправить триггерные события находится в каждом состоянии после того, как формы волны стимула были сгенерированы.

Запустите модель

Запустите модель от тестовой обвязки. Чтобы видеть команду дросселя выход, откройте Осциллограф в тестовой обвязке.

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

| |

Похожие темы