Этот пример показывает, как реализовать параллелизм задачи для системы в Simulink® модель. Модель состоит из входа, функциональных компонентов, примененных к тому же входу, и конкатенированного выхода. Для получения дополнительной информации о параллелизме задачи, см. Типы параллелизма.
Настройте модель для параллельного выполнения. Чтобы увидеть завершенную модель, откройте ex_task_parallelism_top.
Преобразуйте области в этой модели в модели-ссылки. Используйте ту же ссылку на модель, чтобы заменить каждый из функциональных компонентов, которые обрабатывают вход. Рисунок показывает образец строения.
Откройте параметры конфигурации модели для модели верхнего уровня. Снимите флажок MAT-file logging.
На панели Solver установите для Type значение Fixed-step
и нажмите Apply. Кроме того, убедитесь, что для Periodic sample time constraint задано значение Unconstrained
. В разделе Additional options выберите Allow tasks to execute concurrently on target и нажмите Configure Tasks.
В диалоговом окне Параллельное выполнение на правой панели установите флажок Enable explicit model partitioning for concurrent behavior. При явном разбиении можно разделить модель вручную.
На панели выбора выберите CPU. Нажмите Add task три раза, чтобы добавить новые задачи.
На панели выбора выберите Tasks and Mapping. Чтобы сопоставить разделы с созданными задачами, на панели Map block to tasks:
В разделе Block: Input нажмите select task
и выберите Periodic: Task
.
В группе Block: Function 1 выберите Periodic: Task1
.
В группе Block: Function 2 выберите Periodic: Task2
.
В группе Block: Output выберите Periodic: Task
.
Input и Output блоков модели находятся на одной задаче. Каждому функциональному компоненту присваивается отдельная задача.
На панели выбора выберите Data transfer. На панели Data Transfer Options установите значение Periodic signals параметра Ensure deterministic transfer (minimum delay)
. Нажмите Apply и закройте диалоговое окно Параллельное выполнение.
Применить эти параметры конфигурации ко всем ссылочным моделям. Для получения дополнительной информации см. Раздел «Совместное использование строения с несколькими моделями».
Обновите модель, чтобы увидеть задачи, сопоставленные с отдельными блоками модели.