После создания компонента модели для инициализации, сброса и завершения состояния блоков (см. раздел Использование функций инициализации, сброса и завершения) модель можно поместить в испытательный расчетный электрический жгут. Тестовый жгут - это модель Simulink ®, которая используется для разработки, тестирования и отладки компонента модели .
Чтобы создать тестовый электрический жгут, обратитесь к модели export-function, содержащей компонент модели в новой модели, а затем добавьте диаграмму Stateflow ® для моделирования планировщика событий вызова функции.
Модель export-function содержит компонент модели для тестирования. Чтобы создать модель функции экспорта, см. раздел Создание модели функции экспорта.
Создайте модель Simulink. Сохранить эту модель с именем Test_Model.
Задать параметры конфигурации для типа решателя как Fixed-step, Решатель для autoи Фиксированный размер шага до 1.
Добавление блока модели. Откройте диалоговое окно «Параметры блока». В текстовом поле Имя модели (Model name) введите имя модели export-function. В этом примере введите Model02.
Проверьте ссылочный компонент модели, подключив блок генератора вызовов функций к Run порт. Подключите блок константы к Signal In порт и блок Scope для Signal Out порт.

Выполните моделирование, чтобы проверить правильность моделирования модели из родительской модели. Когда модель моделируется без портов событий вызова функции, блок Initialize Function выполняется в начале моделирования, а блок Terminate Function - в конце моделирования.

Откройте порты ввода вызова функции в блоке модели. Щелкните правой кнопкой мыши блок «Модель» и выберите «Параметры блока». В диалоговом окне «Параметры блока» установите флажки «Показать порт инициализации модели», «Показать порт сброса модели» и «Показать порт завершения модели».
Удалите блок генератора вызовов функций и обновите модель, нажав Ctr-D.

При активации входного порта initialize function-call в блоке Model модель должна получить вызов initialize function в initialize порт перед его выполнением. Прием вызова функции запускает выполнение процедуры инициализации модели по умолчанию, а затем выполнение содержимого блока Initialize Function.
Прием вызова функции на Reset порт инициирует выполнение содержимого блока Reset Function.
Прием вызова функции на Terminate порт запускает выполнение содержимого блока Terminate Function, а затем выполнение процедуры завершения модели по умолчанию. Затем модель прекращает работу. Для повторного выполнения модели необходимо повторно инициализировать модель путем отправки события вызова функции в 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;

Создайте порты вывода вызова функции на диаграмме для управления и запуска компонента модели.
Откройте обозреватель моделей. На вкладке Моделирование (Modeling) и в разделе Модель (Design) выберите Модель (Model) Рабочее пространство (Workspace
)..![]()
Создать переменную индекса. В меню выберите Добавить > Данные. В диалоговом окне «Данные» введите Step для имени.
Создание портов вывода вызова функции. Для каждого создаваемого события вызова функции выберите Добавить > Событие, а в диалоговом окне Событие введите и выберите следующие значения.
| Ввод в текстовое поле события | Задать область | Установить триггер |
|---|---|---|
Initialize | Output to Simulink | Function call |
Reset | Output to Simulink | Function call |
Terminate | Output to Simulink | Function call |
Run | Output to Simulink | Function call |
Перейдите на верхний уровень модели. Подключите Initialize, Reset, Terminate, и Run порты на диаграмме к initialize, reset, terminate, и Run входные порты в блоке Model.

Запустить моделирование.
Модель не может выполняться до второго временного шага, когда состояние блока инициализируется равным 4. На пятом шаге времени вызов функции сброса в порт сброса инициирует выполнение блока функции сброса. На девятом шаге времени подсистема прекращает выполнение, и состояние блока остается постоянным.

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