Создание и управление выполнением задач в модели Simulink
Выполнение задач блока/процессора SoC
Блок диспетчера задач моделирует выполнение программных задач так, как они должны были бы вести себя на процессоре SoC. Диспетчер задач позволяет добавлять и удалять из модели задачи, которые могут управляться таймером или событиями. Задачи могут быть представлены в модели в виде скоростей, для задач, управляемых таймером, или подсистем вызова функций, для задач, управляемых событиями, содержащихся в одном блоке модели. Диспетчер задач выполняет отдельные задачи на основе их параметров, таких как период, продолжительность, триггер, приоритет или ядро процессора, а также сочетание этой задачи с состоянием других задач и их приоритетами в выполняемой модели.
Примечание
Блок диспетчера задач нельзя использовать в ссылочной модели. Дополнительные сведения о ссылочных моделях см. в разделе Блок модели.
Блок «Диспетчер задач» предоставляет три метода определения продолжительности задачи в моделировании:
Вероятностная модель длительности задачи, определенная в блочной маске.
Из файла данных, записывающего либо предыдущее моделирование задачи, либо задание на устройстве SoC.
Входные порты блока, которые можно подключить к более динамическим моделям длительности задачи.
Модель, содержащая блоки диспетчера задач, не поддерживает пошаговое моделирование. Дополнительные сведения о степпинге моделирования см. в разделе Степпер моделирования.
Task1 - Функциональный вызов от Task1Сигнал вызова функции, который может запускать задачи, управляемые таймером, и задачи, управляемые событиями, представленные как подсистемы скорости или вызова функции в блоке модели процессора соответственно.
Для порта скорости из подсистемы, управляемой таймером, для отображения в блоке Model установите Параметры блока > Main > Schedule rates и выберите порты. Для порта вызова функции из управляемой событиями подсистемы, содержащейся в блоке подсистемы вызова функции, который должен отображаться в блоке модели, включите порт ввода в блок модели процессора, подключенный к порту триггера вызова функции подсистемы. В окне Inport выберите Block Parameters > Signal Attributes > Output function call (Параметры блока > Атрибуты сигнала > Вызов функции вывода).
Примечание
Task1 порт должен быть подключен либо к порту функционального вызова, либо к сигнальному порту запланированной скорости в блоке Model.
Чтобы создать или удалить порт управляющего сигнала для задачи, добавьте или удалите задачу из блока Диспетчер задач, нажав кнопки Добавить или Удалить в маске диалогового окна блока.
Task1Event - Уведомление о событии сообщенияПорт сообщения, запускающий связанную управляемую событиями задачу. Task1Event порт принимает сообщение от блока канала памяти или блока источника данных ввода-вывода. Дополнительные сведения о сообщениях см. в разделе Сообщения.
Чтобы показать порт, затем Task1Event для параметра Type должно быть установлено значение Task1Event-driven.
Типы данных: rteEvent
Task1Dur - Продолжительность задачиСигнал положительного значения, указывающий длительность выполнения задачи в настоящее время. Дополнительные сведения об указании длительности задачи см. в разделе Длительность задачи.
Чтобы включить этот порт, установите для параметра Specify task duration via значение Input port.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Enable task simulation - Включить моделирование длительности задачиon (по умолчанию) | offВключение или отключение моделирования длительности задачи. Если этот параметр снят, задачи моделируются с помощью генератора вызовов функций, наследующего их период от основного времени выборки модели для задач, управляемых событиями, или из диалогового окна для задач, управляемых таймером.
List of tasks - Перечень задачTask1 (по умолчанию)Список задач, созданных блоком диспетчера задач. Каждая задача имеет набор параметров, перечисленных на вкладках «Главная» и «Моделирование» маски диалогового окна блока.
Add - Добавить задачуДобавление задачи в блок диспетчера задач. Во время развертывания каждая задача инкапсулируется в создаваемый код как поток выполнения. Свойства потока берутся из основных параметров для этой задачи. Во время моделирования для этой задачи используется комбинация параметров Main и Simulation.
Delete - Удалить существующую задачуУдаление задачи из диспетчера задач.
Чтобы включить этот параметр, укажите по крайней мере две задачи.
Name - Наименование задачиTask1 (по умолчанию) | символьный векторУникальное имя задачи. Имя задачи должно содержать только буквенно-цифровые символы и знаки подчеркивания.
Type - Тип триггера задачиTimer-driven (по умолчанию) | Event-drivenУкажите задачу как управляемую таймером или управляемую событием. Дополнительные сведения о задачах, управляемых временем и событиями, см. в разделах Задачи, управляемые таймером, и Задачи, управляемые событиями, соответственно.
Чтобы включить этот параметр, установите Type кому Timer-driven.
Period - Период таймера0.1 (по умолчанию) | положительный скалярУкажите период времени запуска для задач, управляемых таймером.
Core - Ядро процессора для выполнения задачи0 (по умолчанию) | неотрицательное целое числоУкажите номер ядра процессора, на котором выполняется задача. Дополнительные сведения о выборе ядер и визуализации выполнения ядра см. в разделах Многоядерное выполнение и визуализация ядра.
Priority - Приоритет задачи в планировщике10 (по умолчанию) | положительное целое числоУкажите приоритет планировщиков для управляемой событиями задачи между 1 и 99. Задачи с более высоким приоритетом могут предвосхищать задачи с более низким приоритетом и наоборот. Диапазон приоритетов задачи ограничен атрибутами аппаратных средств. Дополнительные сведения о приоритете задачи см. в разделах Приоритет задачи и преимущественное отключение.
Чтобы включить этот параметр, установите Type кому Event-driven.
Drop tasks that overrun - Удаление задач, которые переполняютoff (по умолчанию) | onВыберите этот параметр, чтобы принудительно удалять задачи, а не догонять их после экземпляра переполнения. Дополнительные сведения о переполнении задач см. в разделе Переполнение задач и контрмеры.
Примечание
Не более 2 экземпляров задачи могут переполнять выполнение, когда Drop tasks that overrun имеет значение off. Любые дополнительные экземпляры задачи, которые переполняются, удаляются автоматически.
Play recorded task execution sequence - Включить воспроизведение из файлаВыберите этот параметр для блока Диспетчер задач, чтобы воспроизвести записанные данные выполнения, предоставленные из указанного параметра Имя файла. Дополнительные сведения о воспроизведении выполнения задачи см. в разделе Воспроизведение выполнения задачи с использованием записанных данных.
Specify task duration via - Источник времени выполнения задачиDialog (по умолчанию) | Input port | Record task execution statisticsУкажите источник информации о синхронизации для выполнения задачи.
Dialog - использовать нормально распределенную вероятностную модель со значениями Среднее (Mean), Отклонение (Deviation), Мин (Min) и Макс (Max), определенными в маске диалогового окна блока.
Input port - При установке из порта Input входной порт блока динамически определяет длительность выполнения.
Record task execution statistics - Использовать нормально распределенную вероятностную модель со средним значением и отклонением, предоставленными в файле, указанном именем файла.
Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
Add - Добавление распределенияДобавляет распределение к набору обычных распределений, которое генерирует длительность выполнения. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
Примечание
Одной задаче может быть назначено не более пяти распределений.
Delete - Удалить распределениеУдалите распределение из набора обычных распределений.
Percent - Вероятность распределения100 (по умолчанию) | положительный скалярУкажите вероятность каждого нормального распределения. Взвешенная в процентах сумма нормальных распределений определяет вероятность длительности задачи. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
Примечание
Сумма процентов для всех распределений в одной задаче должна равняться 100.
Mean - Средняя продолжительность задачи в моделировании1e-06 (по умолчанию) | положительный скалярУкажите среднюю продолжительность задачи во время моделирования задачи. При моделировании длительности задачи в качестве аппроксимации поведения задачи первого порядка используется нормальное распределение с заданными значениями параметров Mean и SD. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
SD - Стандартное отклонение длительности задачи при моделировании0 (по умолчанию) | положительный скалярУкажите продолжительность стандартного отклонения задачи во время моделирования задачи. При моделировании длительности задачи используется нормальное распределение с заданным средним значением и SD в качестве аппроксимации поведения задачи первого порядка. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
Min - Нижний предел длительности задачи1e-06 (по умолчанию) | положительный скалярНижний предел распределения длительности задачи. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
Max - Верхний предел длительности задачи1e-06 (по умолчанию) | положительный скалярВерхний предел распределения длительности задачи. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
File name - Файл, содержащий диагностические данные планированияДанные в этом файле определяют значения параметров Mean и SD. Если выбран параметр Воспроизводить последовательность выполнения задачи, указанный CSV-файл предоставляет явное время выполнения задачи. Файл CSV содержит диагностические данные планировщика заданий, ранее записанные с платы аппаратных средств. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.
Чтобы включить этот параметр, установите для параметра Specify task duration via значение Recorded task execution statistics.
Для автоматического создания кода C для проекта и выполнения на устройстве SoC используйте инструмент SoC Builder. Для создания и выполнения кода C для моделей SoC требуются функции Embedded Coder ®. Дополнительные сведения о создании кода для конструкций SoC см. в разделе Создание конструкции SoC.
Задачи в блоке диспетчера задач выполняются как потоки в сгенерированном коде. Параметры задачи в блоке Диспетчер задач определяют приоритет и ядро выполнения потока.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.



