Протестируйте основанную на уровне симуляцию модели Используя генераторы вызова функции

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

Создайте тестовую модель, которая ссылается на основанную на уровне модель

Тестирование основанной на уровне модели включает ссылку на модель от блока Model в тестовой модели, добавление периодических портов события вызова функции к блоку Model и затем соединения вызовов функции к портам.

  1. Создайте новую модель Simulink.

  2. Добавьте блок Model и откройте диалоговое окно параметров блоков.

  3. В поле Model name введите имя файла для основанной на уровне модели.

  4. Установите флажок Schedule rates.

    Периодические порты события вызова функции добавляются к блоку Model с Sample times, который вы задали для блоков Inport, соединенных с блоками Subsystem.

  5. Задайте уровень выполнения с помощью инициаторов вызова функции (Блоки Function-Call Generator или графики Stateflow®). События вызова функции и планирование событий расположены за пределами блока Model, ссылающегося на основанную на уровне модель.

    В этом примере добавьте Блоки Function-Call Generator. Откройте диалоговое окно блока для блоков и задайте Sample time.

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

  6. Используйте решатель фиксированного шага для симуляции. Установите Параметры конфигурации Type на Fixed-step, Решатель к auto и Fixed-step size к auto.

Моделируйте основанную на уровне модель

Моделируйте поведение основанной на уровне модели от тестовой модели.

  1. Запустите симуляцию. Некоторая общая компиляция и ошибки времени выполнения являются причиной:

    • Периодический порт события, который не соединяется с инициатором вызова функции с тем же заданным шагом расчета.

    • Запланированный блок Inport (набор параметра Sample time к значению) в модели компонента, на которую ссылаются, которая не задает одну из периодических скоростей порта события вызова функции (шаги расчета, заданные в таблице Port discrete rates).

  2. Наблюдайте поведение модели компонента. Откройте блок Scope.