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

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

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

Тестирование основанной на уровне модели включает ссылку на модель от блока 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.

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

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

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

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

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

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

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

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