exponenta event banner

Секционирование модели с помощью явного секционирования

При наличии модели, настроенной для параллельного выполнения, можно добавлять задачи, создавать секции и сопоставлять отдельные задачи секциям с помощью явного секционирования. Это позволяет выполнять различные части модели для различных частей архитектуры. Дополнительные сведения см. в разделе Неявное и явное разбиение моделей.

Предварительные условия для явного разбиения

Чтобы использовать явное разбиение, необходимо выполнить следующие предварительные условия:

  1. Настройте модель для параллельного выполнения. Дополнительные сведения см. в разделе Настройка модели для параллельного выполнения.

  2. Преобразуйте все блоки на корневом уровне модели в один из следующих типов блоков.

    • Модели, на которые имеются ссылки с помощью блоков модели

    • Блоки подсистем

    • Системные блоки MATLAB ®

    • Функциональные блоки MATLAB

    • Диаграммы Stateflow ®

    Дополнительные сведения см. в разделе Неявное и явное разбиение моделей.

    Примечание

    При использовании ссылочных моделей реплицируйте параметры конфигурации модели верхнего уровня в ссылочные модели. Рассмотрите возможность использования одной ссылки на конфигурацию для всех ссылочных моделей. Дополнительные сведения см. в разделе Наборы конфигурации модели.

  3. Выберите целевую архитектуру для развертывания модели. Дополнительные сведения см. в разделе Указание целевой архитектуры.

Добавление периодических триггеров и задач

Добавьте периодические задачи для компонентов модели, которые необходимо периодически выполнять. Сведения о добавлении апериодических задач, выполнение которых основано на триггере, см. в разделе Добавление апериодических триггеров и задач.

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

  1. В диалоговом окне Параллельное выполнение щелкните правой кнопкой мыши узел Периодический и выберите Добавить задачу.

    Узел задачи появляется в иерархии выполнения конфигурации.

  2. Выберите узел задачи и введите имя и период для задачи, а затем нажмите кнопку Применить.

    Узел задачи переименовывается в введенное имя.

  3. При необходимости укажите цвет для задачи. Цвет иллюстрирует сопоставление блок-задача. Если цвет не назначен, Simulink ® выбирает цвет по умолчанию. Если для модели включены цвета времени образца, программа выполнит эту настройку.

  4. При необходимости нажмите «Применить».

Чтобы создать больше периодических триггеров, щелкните значок Добавить периодический триггер. Можно также создать несколько периодических триггеров с собственными источниками триггеров.

Примечание

Периодические триггеры позволяют представлять несколько источников периодических прерываний, например, несколько таймеров. Периодичность триггера - это либо базовая частота задач, запланированных триггером, либо период триггера. Передача данных между триггерами может быть только Ensure Data Integrity Only типы. С блоками, сопоставленными периодическим триггерам, можно создавать только код для ert.tlc и grt.tlc системные целевые файлы.

Чтобы удалить задачи и триггеры, щелкните их правой кнопкой мыши на панели и выберите Удалить.

Когда периодические задачи и конфигурации триггеров завершены, сконфигурируйте апериодические задачи (прерывания) по мере необходимости. Если апериодические задачи не требуются, перейдите к разделу Сопоставление блоков с задачами, триггерами и узлами.

Добавление апериодических триггеров и задач

Добавьте апериодические задачи для компонентов модели, выполнение которых основано на прерываниях. Сведения о добавлении периодических задач, выполнение которых является периодическим, см. в разделе Добавление периодических триггеров и задач.

  1. Чтобы создать апериодический триггер, в диалоговом окне Параллельное выполнение щелкните правой кнопкой мыши узел Параллельное выполнение и выберите символ Добавить апериодический триггер.

    Узел с именем ПрерываниеN появляется в иерархии дерева конфигурации, где N - целое число.

  2. Выберите Прерывание.

    Этот узел представляет апериодический триггер для системы.

  3. Укажите имя триггера и настройте источник апериодического триггера. В зависимости от цели развертывания выберите Posix Signal (Linux/VxWorks 6.x) или Event (Windows). Для сигналов POSIX ® укажите номер сигнала, который будет использоваться для доставки апериодического события. Для событий Windows ® укажите имя события.

  4. Нажмите кнопку «Применить».

Программное обеспечение обслуживает апериодические триггеры как можно скорее. Если вы хотите обработать ответ триггера с помощью задачи:

  1. Щелкните правой кнопкой мыши узел Прерывание и выберите Добавить задачу.

    Под узлом Прерывание появится новый узел задачи.

  2. Укажите имя нового узла задачи.

  3. При необходимости укажите цвет для задачи. Цвет иллюстрирует сопоставление блок-задача. Если цвет не назначен, Simulink выбирает цвет по умолчанию.

  4. Нажмите кнопку «Применить».

Чтобы удалить задачи и триггеры, щелкните их правой кнопкой мыши на панели и выберите Удалить.

После создания задач и триггеров сопоставьте компоненты выполнения с этими задачами. Дополнительные сведения см. в разделе Сопоставление блоков с задачами, триггерами и узлами.

Сопоставить блоки с задачами, триггерами и узлами

После создания задач и триггеров этим элементам выполнения можно явно назначить секции.

  1. В диалоговом окне «Одновременное выполнение» выберите узел «Задачи и сопоставление».

    Появится панель Задачи и сопоставление. При добавлении блока модели в модель новый блок появляется в таблице с выбранной записью задачи.

  2. Если требуется добавить задачу в блок, в столбце «Имя» щелкните правой кнопкой мыши задачу под блоком и выберите «Добавить новую запись».

  3. Чтобы назначить задачу для записи, щелкните поле в столбце Имя и выберите запись из списка. Например:

    Символ соответствия блок-задача отображается в левом верхнем углу блока модели. Например:

    При назначении блока модели нескольким задачам в левом верхнем углу отображается несколько обозначений задач.

    Чтобы открыть диалоговое окно «Параллельное выполнение» из блока, щелкните символ соответствия блок-задача.

  4. Нажмите кнопку «Применить».

Примечание

  • Системные задачи позволяют выполнять инкрементное сопоставление. Это означает, что при наличии только одного периодического триггера Simulink присваивает задачи, созданной системой, блоки модели, блоки подсистемы или системные блоки MATLAB, которые явно не сопоставлены с задачей, триггером или узлом оборудования. Simulink создает не более одной системной задачи для каждой скорости в модели. Если создано несколько периодических триггеров, явно сопоставьте разделы блока модели, подсистемы или системные блоки MATLAB с задачей, триггером или узлом оборудования.

  • Сопоставьте разделы блоков модели, содержащие непрерывные блоки, с одним и тем же периодическим триггером.

  • На аппаратные узлы можно сопоставлять только блоки модели. Кроме того, если блок «Модель» сопоставлен с узлом оборудования, а блок «Модель» содержит несколько периодических примеров времени, снимите флажок Разрешить одновременное выполнение задач на целевом узле на панели «Решатель» диалогового окна «Параметры конфигурации».

По завершении сопоставления смоделировать модель еще раз.

Связанные примеры

Подробнее