exponenta event banner

Ограничения асинхронной поддержки

Приоритет асинхронной задачи

Продукт Simulink ® не моделирует асинхронное поведение задач. Хотя можно указать приоритет задачи для асинхронной задачи, представленной в модели с блоком «Синхронизация задач», установка приоритета выполняется только для целей создания кода и не выполняется во время моделирования.

Преобразование асинхронной подсистемы в ссылку на модель

Можно использовать блок Спецификация асинхронной задачи (Asynchronous Task Specification), чтобы указать асинхронный ввод вызова функции для привязки модели. Однако необходимо преобразовать блоки асинхронного прерывания и вызова функции в подсистему, а затем преобразовать подсистему в ссылку на модель.

Ниже приведен пример с пошаговыми инструкциями для преобразования.

  1. Преобразуйте блоки асинхронного прерывания и счетчика в подсистему. Выберите оба блока и щелкните правой кнопкой мыши «Количество». В меню выберите Подсистема и ссылка на модель > Создать подсистему из выбора.

  2. Для подготовки к преобразованию новой подсистемы в блок модели задайте следующие параметры конфигурации в верхней части модели. Откройте диалоговое окно «Параметры конфигурации».

    • В разделе Диагностика (Diagnostics) перейдите на панель Образец времени (Sample Time). Затем установите параметр конфигурации модели Многозадачный переход скорости в error и многозадачная условно выполненная подсистема для error.

    • В разделе Диагностика (Diagnostics) перейдите на панель Связность (Connectivity). Установить параметр Bus signal, обрабатываемый как vector to error. Также задайте контекстно-зависимые входные данные как Enable All.

    • В разделе Диагностика (Diagnostics) перейдите на панель Валидность данных (Data Validity) и задайте для параметра Многозадачное хранилище данных (Multitask data store) значение error.

    • Установить параметр конфигурации модели Недостаточно указанное обнаружение инициализации в Simplified.

    • Если модель является большой или сложной, запустите программу Model Advisor для проверки в папке Migrating to Simplified Initialization Mode Overview и внесите предложенные изменения.

  3. Преобразуйте подсистему в атомарную подсистему. Выберите параметр блока подсистемы Treat as atomic unit.

  4. Преобразуйте подсистему в блок модели. Щелкните правой кнопкой мыши подсистему и выберите Подсистема и ссылка на модель > Преобразовать подсистему в > Ссылочная модель. Откроется окно с блоком привязки модели внутри него.

  5. Замените подсистему в верхней модели на новый ссылочный блок модели.

  6. Переместите блок асинхронного прерывания из ссылки модели в верхнюю модель перед блоком привязки модели.

  7. Вставьте блок спецификации асинхронной задачи в ссылку модели. Установка приоритета блока «Спецификация асинхронной задачи». (Дополнительные сведения об установке приоритета см. в разделе Спецификация асинхронных задач.)

  8. В ссылке модели дважды щелкните входной порт, чтобы открыть диалоговое окно Параметры исходного блока (Source Block Parameters). На закладке Signal Attributes выберите параметр Output function call. Нажмите кнопку ОК.

  9. Сохраните модель, а затем обновите схему, чтобы проверить настройки.

Связанные темы