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

Программное приложение содержит подсистему асинхронных задач, подсистему вызовов функций, которая выполняется каждый раз при возникновении триггера события. Блок спецификации асинхронной задачи определяет приоритет задачи UDP, соответствующий приоритету, установленному в блоке диспетчера задач. Блок адаптера скорости позволяет осуществлять выборку выходного сигнала подсистемы асинхронных задач на временном шаге модели Simulink (c).

Подсистема асинхронных задач (Function-Call Subsystem) считывает значение данных из блока чтения UDP и применяет алгоритм каждый раз при поступлении нового значения данных UDP. В этой модели алгоритм выводит отрицательное скалярное значение, полученное от блока чтения UDP. Следующая модель показывает блок UDP и подсистему алгоритма, содержащиеся в подсистеме вызова функций.

Нажмите кнопку Выполнить (Run), чтобы построить и запустить модель. По завершении работы модели откройте инспектор данных моделирования для просмотра результатов моделирования. Выберите ReadUDP, исходные данные и обработанные сигналы данных, чтобы увидеть эффект асинхронного выполнения задачи.

Как показано в инспекторе данных моделирования, время работы ReadUDP изменяется в каждом экземпляре приема пакета данных UDP. В некоторых случаях предыдущее выполнение задачи задерживает начало следующего выполнения задачи. Хотя в этом примере пакеты UDP поступают с фиксированной скоростью относительно времени выборки Simulink, начало выполнения задачи не зависит напрямую от времени выборки. Обработанные данные из задачи выводятся по завершении выполнения задачи, что приводит к наблюдаемой задержке в обработанных данных по сравнению с исходными данными.