Асинхронные ограничения поддержки

Асинхронный приоритет задач

Simulink® продукт не симулирует асинхронное поведение задачи. Несмотря на то, что можно задать приоритет задач для асинхронной задачи, представленной в модели блоком Task Sync, приоритетная установка в целях генерации кода только и не соблюдается в процессе моделирования.

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

Можно использовать блок the Asynchronous Task Specification, чтобы задать асинхронный вход вызова функции к модели, на которую ссылаются. Однако необходимо преобразовать Асинхронные блоки Прерывания и Вызова функции в подсистему и затем преобразовать подсистему в модель, на которую ссылаются.

В этом примере показано, как завершить преобразование.

  1. Преобразуйте Асинхронное Прерывание и блоки количества в подсистему. Выберите оба блока и щелкните правой кнопкой по Count. В меню выберите Subsystem & Model Reference> Create Subsystem from Selection.

  2. Чтобы подготовиться к преобразованию новой подсистемы к блоку Model, установите эти параметры конфигурации модели в топ-модели.

    • Установите Multitask rate transition на error.

    • Установите Multitask conditionally executed subsystem на error.

    • Установите Bus signal treated as vector на error.

    • Установите Context-dependent inputs на Enable All.

    • Установите Multitask data store на error.

    • Установите Underspecified initialization detection на Simplified.

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

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

  4. Преобразуйте подсистему в блок Model. Щелкните правой кнопкой по подсистеме и выберите Subsystem & Model Reference> Convert Subsystem to> Referenced Model. Советник по вопросам Преобразования Модели - ссылки открывается.

  5. Замените подсистему в топ-модели с новым блоком Model.

  6. Переместите блок Async Interrupt от модели, на которую ссылаются, до топ-модели перед блоком Model.

  7. Вставьте блок Asynchronous Task Specification в модель, на которую ссылаются. Установите приоритет блока Asynchronous Task Specification. (Для получения дополнительной информации об установке приоритета см. Асинхронную Спецификацию Задачи.)

  8. В модели, на которую ссылаются дважды кликните входной порт, чтобы открыть его диалоговое окно Source Block Parameters. Во вкладке Signal Attributes выберите параметр Output function call. Нажмите OK.

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

Похожие темы

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