После того, как вы создаете компонент модели, чтобы инициализировать, сбросить и отключить состояние блоков (см., Настраивают, Инициализируют, Сброс, и Отключают Функции), можно поместить модель в тестовую обвязку моделирования. Тестовая обвязка является моделью Simulink, которую вы используете, чтобы разработать, тестируете, и отлаживаете компонент модели.
Чтобы создать тестовую обвязку, сошлитесь на модель экспорта функций, содержащую компонент модели в новой модели, и затем добавьте график Stateflow®, чтобы смоделировать планировщик события.
Модель экспорта функций содержит компонент модели для тестирования. Чтобы создать модель экспорта функций, смотрите, Создают Модель Экспорта функций.
Создайте новую модель Simulink. Сохраните эту модель с именем Test_Model
.
Установите Образцовые Параметры конфигурации для Типа решателя к Fixed-step
, Решателя к auto
и размера Фиксированного шага к 1
.
Добавьте Блок модели. Откройте диалоговое окно Block Parameters. В текстовом поле Имени модели введите имя своей модели экспорта функций. В этом примере введите Model02
.
Протестируйте компонент модели, на который ссылаются, путем соединения Блока Function-Call Generator с портом Run
. Соедините блок Constant с портом Signal In
и блок Scope к порту Signal Out
.
Запустите моделирование, чтобы проверить, что ваша модель моделирует правильно от родительской модели. Когда модель моделируется без портов события, Инициализировать Функциональный блок выполняется в начале моделирования, и Оконечный Функциональный блок выполняется в конце моделирования.
Представьте порты вызова функции на блоке модели. Щелкните правой кнопкой по Блоку модели и выберите Block Parameters. В диалоговом окне Block Parameters выберите модель Show, инициализируют порт, Показывают образцовый порт сброса и Показывают образцовые оконечные флажки порта.
Удалите Блок Function-Call Generator и обновите модель путем нажатия Ctr-D.
Когда вы активируете инициализировать порт вызова функции на Блоке модели, модель должна получить инициализировать вызов функции на порте initialize
, прежде чем это сможет выполниться. Прием вызова функции инициировал выполнение образцовой программы инициализации по умолчанию, и затем выполнение Инициализировать содержимого Функционального блока.
Прием вызова функции на порте Reset
инициировал выполнение содержимого Функционального блока Сброса.
Прием вызова функции на порте Terminate
инициировал выполнение Оконечного содержимого Функционального блока, и затем выполнение модели по умолчанию отключает стандартную программу. Модель затем прекращает запускаться. Чтобы выполнить модель снова, необходимо повторно инициализировать модель путем отправки сигнала события в порт initialize
.
Используйте диаграмму Stateflow, чтобы смоделировать расписание события и сгенерировать инициализирование и оконечные сигналы вызова функции.
Добавьте диаграмму Stateflow. Кликните по образцовой схеме и начните вводить Chart
. Из поискового списка выбрать.
Откройте график и добавьте блоки с двумя состояниями, один над другим.
Добавьте переход по умолчанию и соедините его с главным блоком состояния. Отредактируйте метку:
{step = 0}
Добавьте переход от главного блока до нижнего слоя камня. Отредактируйте метку:
[step == 2]/{Initialize}
Добавьте переход от нижнего слоя камня и назад к нижнему слою камня. Отредактируйте метку:
[step == 5]/{Reset}
Добавьте переход от нижнего слоя камня до главного блока. Отредактируйте метку:
[step == 9]/{Terminate}
Отредактируйте содержимое главного блока:
Inactive entry: step = step + 1; during: step = step + 1;
Отредактируйте содержимое нижнего слоя камня:
Running entry: step = step + 1; Run; during: step = step + 1; Run;
Создайте порты вызова функции на графике, чтобы управлять и запустить компонент модели.
Открытый Образцовый Проводник. Просмотрите> Образцовый Проводник> Образцовый Проводник.
Создайте индексную переменную. Из меню выберите Add> Data. В диалоговом окне Data введите Step
для Имени.
Создайте порты вызова функции. Для каждого события вы создаете, выбираете Add> Event и в конечном счете диалоговое окно, входите и выбираете следующие значения.
Войдите в текстовое поле события | Установите осциллограф | Установите триггер |
---|---|---|
Initialize | Output to Simulink | Function call |
Сброс | Output to Simulink | Function call |
Terminate | Output to Simulink | Function call |
Запущенный | Output to Simulink | Function call |
Перейдите к верхнему уровню модели. Соедините Initialize
, Reset
, Terminate
и порты Run
на графике к initialize
, reset
, terminate
и входным портам Run
на Блоке модели.
Запустите моделирование.
Модель не может выполниться до шага второго раза, когда блочное состояние инициализируется к 4. На пятом временном шаге вызов функции сброса к порту сброса инициировал Функциональный блок Сброса, чтобы выполниться. На девятом временном шаге подсистема прекращает выполняться, и блочное состояние остается постоянным.
Если модель получает вызов функции запуститься, прежде чем инициализировать вызов функции, ошибка моделирования произойдет.