Эта тема описывает, как сослаться на основанную на уровне модель в тестовом режиме, и затем добавить периодические порты события вызова функции в тестовую модель для симуляции.
Тестирование основанной на уровне модели включает ссылку на модель от блока Model в тестовой модели, добавление периодических портов события вызова функции к блоку Model и затем соединения вызовов функции к портам.
Создайте новую модель Simulink.
Добавьте блок Model и откройте диалоговое окно параметров блоков.
В поле Model name введите имя файла для основанной на уровне модели.
Установите флажок Schedule rates.
Периодические порты события вызова функции добавляются к блоку Model с Sample times, который вы задали для блоков Inport, соединенных с блоками Subsystem.
Задайте уровень выполнения с помощью инициаторов вызова функции (Блоки Function-Call Generator или графики Stateflow®). События вызова функции и планирование событий расположены за пределами блока Model, ссылающегося на основанную на уровне модель.
В этом примере добавьте Блоки Function-Call Generator. Откройте диалоговое окно блока для блоков и задайте Sample time.
Подсистемы или модели, на которые ссылаются, в основанной на уровне модели с тем же шагом расчета должны иметь общего инициатора уровня. Это требование включает периодические запланированные подсистемы и событийно-управляемые блоки Подсистемы вызова функций с тем же уровнем.
Используйте решатель фиксированного шага для симуляции. Установите Параметры конфигурации Type на Fixed-step
, Решатель к auto
и Fixed-step size к auto
.
Моделируйте поведение основанной на уровне модели от тестовой модели.
Запустите симуляцию. Некоторая общая компиляция и ошибки времени выполнения являются причиной:
Периодический порт события, который не соединяется с инициатором вызова функции с тем же заданным шагом расчета.
Запланированный блок Inport (набор параметра Sample time к значению) в модели компонента, на которую ссылаются, которая не задает одну из периодических скоростей порта события вызова функции (шаги расчета, заданные в таблице Port discrete rates).
Наблюдайте поведение модели компонента. Откройте блок Scope.