Задача, управляемая таймером

Управляемые таймером задачи выполняются с периодической скоростью, равной целому числу, кратному Simulink® модели основного шага расчета.

Чтобы создать задачу, управляемую таймером, соедините порт задачи блока Task Manager с портом периодического события на блоке Model. Каждая скорость в блоке Model генерирует уникальный периодический порт события модели с временным шагом для скорости, показанной на значке блока. В маске диалогового окна блока Model используйте параметр Schedule rates, чтобы включить модель периодических портов событий.

Примечание

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

Создайте модель Simulink с управляемой таймером задачей

В этом примере показано, как создать и сконфигурировать модель Simulink, чтобы использовать функцию задачи, управляемой таймером, для SoC Blockset.

Создайте образец модели программного обеспечения

В этом разделе показано, как создать образец модели программного обеспечения для модели приложения SoC. Программное обеспечение содержит одну подсистему задач, управляемую таймером, которая реагирует на прием пакетов UDP.

  1. Создайте новую пустую модель.

  2. В редакторе Simulink добавьте блок Subsystem к модели. Добавьте блок Sine и соедините его с блоком Subsystem. Соедините выход блока Subsystem с блоком Terminator.

  3. Откройте модель подсистемы вызова функций.

  4. Откройте диалоговое окно Параметров блоков блока Inport, установите Шаг расчета равным 0.1.

  5. В редакторе Simulink откройте диалоговое окно Параметров конфигурации.

  6. Выберите панель Аппаратная реализация ( Hardware Implementation) , устанавливать Оборудование плату равной Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit.

  7. Сохраните модель как soc_task_createtimerdriventask_software.slx.

Завершенная модель должна выглядеть аналогично следующей модели.

Создайте модель приложения SoC

В этом разделе показано, как создать модель приложения SoC верхнего уровня, которая содержит образец модели программного обеспечения, разработанную в предыдущем разделе.

  1. Создайте новую пустую модель.

  2. В редакторе Simulink добавьте блок Model и откройте диалоговое окно Параметры Блоков.

  3. Проверьте Main > Schedule Rates и установите Main > Имя модели на soc_task_createtimerdriventask_software.slx.

  4. В редакторе добавьте блок Task Manager к модели.

  5. (Необязательно) Откройте диалоговое окно Block Parameters блока Task Manager. По умолчанию Тип задачи Timer-driven с периодом 0.1. На вкладке Simulation вы задаете длительность задачи для этой задачи. Для получения дополнительной информации об установке длительности задачи см. Раздел «Длительность задачи».

  6. В редакторе соедините Task1 порт с D1 [0,1] портом блока Model.

  7. Откройте диалоговое окно Параметров конфигурации, выберите панель Аппаратной реализации, установите Оборудование Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit.

  8. Обновите схему, нажмите Ctrl + D.

  9. Сохраните модель как soc_task_createtimerdriventask_application.slx.

Завершенная модель должна выглядеть аналогично следующей модели.

Запуск модели с управляемой таймером задачей

В редакторе Simulink запустите soc_task_createtimerdriventask_application.slx модель. Когда запуск завершится, откройте Данные моделирования Inspector и выберите Task1. Инспектор Данных моделирования показывает, что Task1 запускает каждую 0.1 временные шаги.

См. также

Похожие темы