Используйте несколько блоков генератора вызовов Function-Call с различными временами выборки и позвольте Simulink ® запланировать компоненты вызова функций для моделирования. Эта стратегия полезна, когда поведение планирования скорости в Simulink аналогично поведению целевой ОС.
Создайте новую модель Simulink.
Добавьте блок Model, который ссылается на модель export-function.
Укажите события вызова функции с помощью блоков генератора вызовов функции.
Укажите входные данные.
Запустить моделирование.
Чтобы создать модель для этого примера, см. раздел Создание модели Export-Function.
Сведения об открытии завершенной тестовой модели см. в разделе ex_export_function_test_model_with_function_call_generators.
Ссылка на модель export-function из блока Model позволяет добавлять события function-call и регистрировать сигналы данных для тестирования без изменения самой модели.
Добавление блока модели в новую модель Simulink. В поле Имя модели (Model name) введите export_function_model.
Добавьте блоки Outport в output_100ms и output_10ms порты в блоке Model.
Добавьте блок синусоидальной волны для ввода данных. Установить амплитуду в 2 и время выборки для 0.01. Подключите блок к input_10ms входному порту блока модели.

Тестовая модель Simulink используется только для моделирования. После тестирования моделирования создайте код из модели export-function, а затем интегрируйте экспортированный код функции с планировщиком с внешним кодированием.
Добавление блока генератора вызовов функций. Установить время выборки на 0.1. Подключите блок к входному порту function_call_100ms.
Добавьте второй блок генератора вызовов функций. Установить время выборки на 0.01. Подключите блок к входному порту function_call_10ms.

Если тестовая модель ссылается на модель с функцией экспорта, существуют некоторые ограничения для обеспечения согласованности с результатами моделирования.
Для тестовой модели:
Нельзя использовать два блока генератора вызовов с одинаковым временем выборки.
Вызовы функций к входным портам в блоке Model должны следовать порядку выполнения блоков Inport функции корневого уровня в ссылочной модели export-function. Function - сначала выполняются блоки генератора вызовов с меньшим временем выборки.
Если тестовая модель вызывает ссылочные функции модели из строя на любом этапе времени, Simulink отображает ошибку. Сведения о сортированном порядке выполнения см. в разделе Управление и просмотр порядка выполнения. Чтобы отключить это ограничение, снимите флажок для параметра конфигурации Включить строгие проверки планирования для ссылочной модели.
Перед подключением к ссылочной модели функции экспорта можно использовать блок мультиплексора для подключения сигналов из блоков генератора вызовов с различными временами выборки. В диалоговом окне Параметры конфигурации (Configuration Parameters) снимите флажок для параметра Рассматривать каждую дискретную скорость как отдельную задачу.
Для модели export-function:
Время выборки для блоков Inport функции-вызова корневого уровня должно быть задано как наследуемое (-1) или соответствует времени выборки блоков генератора вызовов функций, которые управляют ими.
Смоделировать модель export-function для проверки и наблюдения за ее поведением перед созданием кода.
Примечание
Simulink не имитирует упреждающие вызовы функций.
Задайте параметры конфигурации для тестовой модели. На вкладке Моделирование (Modeling) и в разделе Настройка (Setup) выберите Параметры модели (Model Settings).
Выберите панель Привязка
модели (Model Referencing). Снимите флажок для параметра конфигурации Включить проверку строгого планирования для ссылочных моделей.
Убедитесь, что для параметра «Тип решателя» задано значение Fixed-step, Решатель имеет значение discrete (no continuous states)и фиксированный размер шага (время основной выборки), установленный на auto.
Настройка регистрации сигналов. Щелкните правой кнопкой мыши по сигналам выходного порта и выберите Log selected signal.
Запустить моделирование.
Откройте инспектор данных моделирования, щелкнув значок панели инструментов.![]()

После тестирования модели можно создать код для функций. См. раздел Создание кода для модели Export-Function.