Секции - это компоненты модели, которые выполняются независимо как атомарные задачи. В многозадачных моделях секции создаются из компонентов модели. Периодические секции планируются как функция времени выборки в модели. В моделях export-function входы root function-call определяются как секции. Эти разделы имеют связанное с ними расписание, которое указывает порядок выполнения разделов.
Секциями можно отделять детали модели, которыми можно управлять явным образом. Периодические секции можно рассматривать как компоненты, выполняющиеся с определенными скоростями в модели. Апериодические разделы - это компоненты, которые выполняются в указанное время попадания или указанные события. Расписание этих разделов влияет на моделирование и создание кода.
Редактор расписаний позволяет секционировать модель и взаимодействовать с этими секциями. Редактор спецификаций отображает разделы, соединения между ними и порядок разделов.
Существует три типа разделов:
| Типы разделов | Изображение | Описание |
|---|---|---|
| Неявный |
| Автоматически создается программой Simulink ®. Блоки, выполняющиеся с базовой скоростью, отображаются как неявный раздел. |
| Периодический |
| Пользовательские разделы из атомных подсистем и/или блоков модели. Периодические секции также могут быть определены функциями экспорта. Эти разделы выполняются на основе времени выборки и, таким образом, их выполнение является периодическим. |
| Апериодический |
| Апериодические разделы - это разделы, которые не имеют ограничений и могут быть выполнены в любое время. Укажите hit times в инспекторе свойств редактора расписаний, в котором необходимо запустить апериодическую секцию. Для планирования выполнения апериодических разделов можно также использовать события в редакторе расписаний. |
Блоки, выполняющиеся с базовой скоростью в модели, отображаются в редакторе расписаний как неявная секция. Базовая скорость является самой быстрой дискретной скоростью в модели. D1 обозначает базовую скорость. D1 аннотация также отображается в легенде синхронизации. D1 или неявное разбиение всегда остается первым дискретным разбиением в порядке.
Секции по умолчанию, которые уже присутствуют в модели, также являются неявными секциями.
Цвета разделов соответствуют их скорости.
Секционирование включено только в многозадачных моделях решателей с фиксированным и переменным шагом. Чтобы выбрать режим выполнения в многозадачном режиме, в разделе Выбор решателя (Solver selection) на панели Решатель (Solver) выберите Тип (Type), который должен быть Fixed-step или Variable-step. Установите флажок Рассматривать каждую дискретную скорость как отдельную задачу на панели Решатель (Solver) диалогового окна Параметры конфигурации (Configuration Parameters). Дополнительные сведения о многозадачном режиме выполнения см. в разделе Планирование по времени и создание кода (встроенный кодер).
Рекомендуется включить параметр Автоматически обрабатывать переход скорости передачи данных на панели Решатель. Если установлен флажок Автоматически обрабатывать переход скорости для передачи данных, Simulink вставляет блоки перехода скорости между блоками при обнаружении перехода скорости. Simulink обрабатывает переходы скорости для асинхронных и периодических задач. Simulink добавляет скрытые блоки, настроенные для обеспечения целостности данных и детерминизма при передаче данных. Если установлен флажок Рассматривать каждую дискретную скорость как отдельную задачу, Simulink выбирает многозадачное выполнение для моделей, работающих с различной скоростью. Он также указывает, что группы блоков с одинаковым приоритетом выполнения обрабатываются на каждом этапе моделирования (например, вычисление состояний вывода и обновления) на основе приоритета задачи.
Для просмотра разделов по умолчанию в редакторе спецификаций откройте редактор спецификаций. На вкладке Моделирование (Modeling) щелкните Редактор спецификаций (Schedule Editor). Обновите схему, щелкнув
значок на панели инструментов. Секции по умолчанию в модели называются неявными секциями. Можно также создать секции в модели через атомарную подсистему или блок модели.
В редакторе спецификаций используйте панель «Управление секциями» для создания секций. Изменения, внесенные в «Управление секциями», применяются к модели для создания секций после обновления диаграммы. «Управление секциями» показывает иерархию модели с блоками «Подсистема» и «Модель», которые могут быть явно секционированы.
Чтобы создать секции из блоков подсистем, выберите подсистемы и нажмите кнопку.
Чтобы создать секции из блоков модели, выберите блоки модели и нажмите кнопку.
Введите имена секций в столбце Имя секции и примеры времени в столбце Время выборки. Повторите шаги для всех подсистем и блоков модели в модели, которые требуется разделить. Обновите схему, чтобы увидеть созданные секции в редакторе расписаний. Секции отображаются на графике с их выведенными зависимостями данных и порядком.

Примечание
При создании секций с помощью панели «Управление секциями» вносятся изменения в параметры подсистемы или блока модели.
В следующем примере показано, как настроить модель для секционирования и создания секционирования с помощью панели «Управление секциями» в редакторе расписания.
Откройте модель.
sldemo_fuelsys
Откройте редактор расписаний.
Откройте редактор спецификаций в меню «Вид Simulink». Чтобы просмотреть разделы по умолчанию, нажмите кнопку «Обновить схему» в редакторе расписаний. В редакторе спецификаций отображаются две неявные секции, созданные автоматически модулем Simulink.
Создание разделов.
Откройте панель «Управление секциями». В панели разверните вкладку fuel_rate_control подсистема. Выберите airflow_calc подсистему и нажмите.
Чтобы изменить имя раздела по умолчанию и время выборки, щелкните имя по умолчанию и время выборки.
Создание раздела для fuel_calc выберите подсистему, fuel_calc подсистему и нажмите.![]()
Панель «Управление разделами» содержит имена разделов по умолчанию и примеры времени.
Обновите схему, чтобы увидеть вновь созданные разделы.
Можно разделить только атомную подсистему. Атомная подсистема рассматривается Simulink как единица при определении порядка выполнения блочных методов. Чтобы создать секции из блока атомной подсистемы, перейдите в диалоговое окно «Параметры блока». Выбрать Periodic partition из раскрывающегося списка Расписание как. Присвойте разделу имя и время дискретной выборки и нажмите кнопку ОК. Это приведет к созданию явного раздела для этого блока. Чтобы просмотреть этот раздел в редакторе расписания, обновите схему. Раздел появляется на графике и в разделе Порядок (Order) с соединениями, основанными на сигналах в модели.

Чтобы создать секции из блока «Модель», в окне «Моделирование событий модели» выберите «Запланировать скорости» и Schedule Editor из раскрывающегося списка Запланировать ставки. При включении секционирования из ссылочной модели секции создаются из всех блоков модели, присутствующих в ссылочной модели. Размер этих разделов определяется именем блока модели. Чтобы просмотреть этот раздел в редакторе расписания, обновите схему. Секции отображаются на графике и в столбце Порядок (Order) с соединениями, основанными на конструкции модели.

В моделях export-function разделы создаются из вызовов функций, присутствующих в модели. Чтобы создать секции из вызовов функций в моделях export-function, ссылайтесь на модель export-function в модели верхнего уровня. Запланируйте блок модели с помощью редактора спецификаций с помощью параметров блока. Затем на основе вызовов функций создаются секции, порядок которых определяется редактором расписания.
Создайте модель export-function.
Добавьте блок Model, который ссылается на модель export-function.
Задайте параметр для секционирования модели export-function.
Ссылка на модель export-function из блока Model позволяет разделять вызовы функций без изменения самой модели. Чтобы создать модель для этого примера, см. раздел Создание модели Export-Function. Функции Simulink в модели export-functions не могут быть запланированы и не отображаются как разделы в редакторе спецификаций.
Добавление блока модели в новую модель Simulink. В поле Имя модели (Model name) введите export_function_model. Чтобы включить использование редактора расписания, настройте модель на многозадачность. Откройте окно Параметры конфигурации модели (Model Configuration Parameters). В поле «Выбор решателя» на панели «Решатель» задайте для параметра «Тип» значение Fixed-step. Установите флажок Рассматривать каждую дискретную скорость как отдельную задачу и Автоматически обрабатывать переход скорости для параметров передачи данных. Нажмите кнопку ОК. Модель включена для секционирования.
Примечание
Не преобразуйте подсистему для создания модели, поскольку она автоматически создает блоки Inport.

Добавьте блоки Outport в порты output_100ms и output_10ms для сохранения данных моделирования в MATLAB ®. Для этого примера в export_function_model, установите время выборки обоих вызовов функции на -1.
Добавьте блок синусоидальной волны для ввода данных. Установить амплитуду в 2 и время выборки для 0.01.
Для разделения вызовов функций модели export-function в разделе «Параметры блока» блока модели выберите Schedule Editor в раскрывающемся меню Schedule Rates with.
Откройте редактор расписания и обновите схему, чтобы увидеть вызовы функций как разделы.
