Диспетчер исполнений - это центральный инструмент, позволяющий управлять различными точками вариаций, моделируемыми с использованием блоков исполнений в системной модели или переходов исполнений в диаграмме Stateflow ®.
Иерархия модели может содержать несколько блоков вариантов, каждый из которых имеет множество вариантов выбора, комбинации которых соответствуют конкретным конфигурациям системы. Переключение между вариантами выбора и их проверка вручную могут быть сложными и ошибочными.
Используйте Диспетчер исполнения (Variant Manager) для создания предопределенных конфигураций модели и используйте модель в любой из конфигураций. Конфигурации можно создавать комбинациями различных вариантов в иерархии модели.
С помощью Диспетчера исполнения можно выполнять следующие действия:
Определение, проверка и визуализация конфигураций вариантов.
Определение и проверка ограничений для модели.
Укажите активную конфигурацию по умолчанию.
Задайте для управляющих переменных целое число, значения перечисления или Simulink.Parameter объекты.
Партнер Simulink.VariantConfigurationData объект с моделью.
Проверка конфигурации исполнения или модели без обновления модели.
Уменьшите модель, чтобы сохранить подмножество конфигураций исполнения.
Анализ конфигураций вариантов.
Сведения об анализе конфигураций исполнения из Диспетчера исполнений см. в разделе Анализ конфигураций исполнения в моделях, содержащих блоки исполнения. Сведения об анализе конфигураций вариантов из командной строки см. в разделе Simulink.VariantConfigurationAnalysis.
Рассмотрим модель Управление вариантами. Чтобы открыть Диспетчер исполнения, можно:
Щелкните правой кнопкой мыши значок исполнения и выберите «Открыть в Диспетчере исполнения».

Щелкните правой кнопкой мыши блок исполнения и выберите «Исполнение» > «Открыть в Диспетчере исполнения».
Выберите блок исполнения, например блок «Подсистема исполнения», а затем на вкладке «Подсистема исполнения» панели инструментов выберите «Диспетчер исполнения».
На вкладке «Моделирование» панели инструментов откройте раздел «Проектирование» и выберите «Диспетчер исполнения».
Щелкните Открыть блок (Open block) в Диспетчере исполнения (Variant Manager), доступном в диалоговом окне «Параметр блока исполнения» (Variant Block Parameter)

Окно Менеджер исполнения (Variant Manager) разделено на три области:
Панель Данные конфигурации исполнения, которая позволяет определять конфигурации и ограничения исполнения и экспортировать их в объект данных конфигурации исполнения.
Панель Иерархия модели (Model Hierarchy), которая позволяет визуализировать иерархию вариантов.
Панель Журнал, на которой отображается информация об источнике управляющих переменных и ошибках проверки.
Эта панель используется для создания конфигураций, определения управляющих переменных, связывания конфигураций ссылочных моделей и определения ограничений. Конфигурации и связанные данные хранятся в объекте данных конфигурации варианта.

После добавления конфигурации исполнения введите имя объекта конфигурации исполнения в поле Объект конфигурации исполнения. С помощью раскрывающегося меню можно загрузить объект конфигурации исполнения из файла или обновить загруженный объект конфигурации исполнения. Объект конфигурации исполнения можно загрузить из MAT файл или сценарий MATLAB (.m файл). Чтобы сохранить объект конфигурации исполнения в модели, глобальной рабочей области и связать его с моделью, щелкните Экспорт (Export).
Сохранение
объекта конфигурации исполнения в выбранной папке в виде MAT-файл или сценарий MATLAB (.m ), нажмите кнопку «Сохранить как» в раскрывающемся меню кнопки «Экспорт».
Вкладка Конфигурации разделена на верхнюю и нижнюю панели. Можно использовать верхнюю панель для добавления, удаления или копирования конфигурации исполнения. Также можно задать конфигурацию по умолчанию. При установке конфигурации в качестве конфигурации по умолчанию проверка или обновление модели активирует вариант, заданный в конфигурации по умолчанию.
На верхней панели имеются эти кнопки для управления конфигурацией варианта.
| Кнопка | Описание |
|---|---|
| Добавить конфигурацию варианта | |
| Удалить конфигурацию варианта | |
| Повторяющаяся конфигурация варианта | |
| Установка/очистка активной конфигурации по умолчанию |
После добавления конфигурации исполнения можно добавить описание, управляющие переменные и конфигурации подмодели на нижней панели вкладки Конфигурации. Можно добавлять управляющие переменные и экспортировать их в глобальную рабочую область, даже если конфигурация исполнения не добавлена. Нижняя панель содержит следующие вкладки:
Описание (Description) - описание выбранной конфигурации исполнения.
Управляющие переменные - добавление, удаление, копирование или импорт управляющих переменных. Переключение типа данных и переменных управления импортом из рабочей области. Показать, скрыть использование выбранных управляющих переменных.
| Кнопка | Описание |
|---|---|
Добавить управляющую переменную | |
Удаление выбранной управляющей переменной | |
Создание копии выбранной управляющей переменной | |
Переключение типа управляющей переменной Управляющая переменная может быть простой переменной MATLAB или | |
Править Примечание Определить | |
Импорт управляющих переменных из всей иерархии ссылок модели Примечание Управляющие переменные из блоков в | |
Показать использование выбранных управляющих переменных | |
Скрыть использование выбранных управляющих переменных |
Использование управляющих переменных вычисляется по требованию, где можно выбрать отображение или скрытие использования управляющих переменных в таблице иерархии моделей Диспетчера исполнения.
Для этого в окне Диспетчер исполнения (Variant Manager) щелкните правой кнопкой мыши требуемую управляющую переменную и выберите Показать использование (Show usage) или Скрыть использование (Hide usage). Пример скриншота показан на рисунке.

Конфигурации подмодели - определение конфигурации исполнения для ссылочной модели.
Добавление
или удаление
конфигурации ссылочной модели.

Чтобы обновить и активировать модель исполнения для конфигурации, выберите конфигурацию из списка Конфигурации (Configuration) и щелкните Активировать (Activate). Если нажать кнопку Активировать (Activate) без выбора конфигурации, значения управляющих переменных будут выбраны из глобальной рабочей области. В таких случаях управляющие переменные, определенные в Диспетчере исполнения, переопределяют соответствующие значения в глобальной рабочей области, если не задана конфигурация по умолчанию. Если задана конфигурация исполнения по умолчанию, применяются соответствующие управляющие переменные.
При открытии Диспетчера исполнения для родительской модели, содержащей ссылочные модели (подмодели), проверяется только родительская модель. Ссылочные модели (подмодели) проверяются только при активации или развертывании (щелкните +) ссылочные модели.

Используйте вкладку Зависимости (Constraints), чтобы добавить или удалить зависимости на уровне модели. Подобно вкладке Конфигурации (Configuration), вкладка Ограничения (Constraints) также содержит верхнюю и нижнюю панели.
На верхней панели отображается имя и состояние ограничений, а на нижней панели - описание. Выражение условия ограничения должно удовлетворяться всеми конфигурациями исполнения в модели.

На панели Иерархия модели (Model hierarchy) можно визуализировать и исследовать иерархию исполнения модели, а также править свойства блоков исполнения, вариантов и объектов исполнения. На этой панели отображаются Наименование (Name), Конфигурация подмодели (Submodel Configuration), Управление исполнениями (Variant Control) и связанные Условия (Conditions) для объектов исполнения, используемых в качестве элементов управления исполнениями.
Просмотрите иерархию с помощью значков навигации. Элементы управления на панели Иерархия модели (Model hierarchy) позволяют выполнять следующие действия.
Обновление и проверка иерархии.
Отображать только блоки вариантов.
Навигация между использованием переменных, активными вариантами, недопустимыми вариантами и переопределенными вариантами.
Выборочное отображение блоков в иерархии вариантов:
Выберите все варианты для просмотра всех блоков вариантов.
Выберите режим метки для отображения блоков вариантов в Label режим и другие блоки модели. Блоки вариантов в Expression режим, содержащий блоки в Label также отображаются режимы в пределах их иерархии.
Выберите режим выражения для отображения блоков вариантов в Expression режим и другие блоки модели. Блоки вариантов в Label режим, содержащий блоки в Expression также отображаются режимы в пределах их иерархии.
Выберите иерархический для отображения всех иерархических блоков (например, подсистем, блоков модели) в модели.
Выберите режим переключения sim-кодегена для отображения блоков вариантов в sim codegen switching режим.
Перемещение между переменным использованием, активными вариантами, недопустимыми вариантами и переопределенными вариантами:
Использование переменной - выбор предыдущих/следующих строк в модели, где используется выбранная управляющая переменная.
Активные варианты - выбор предыдущих/следующих строк в модели, имеющих активные варианты.
Недопустимые варианты - выбор предыдущих/следующих строк в модели с недопустимыми вариантами.
Иерархия модели отображается в дереве, причем каждый блок представляет узел в иерархии. Иерархия отображает активные, неактивные, переопределенные и недопустимые варианты. Можно править конфигурации ссылочной модели, элементы управления исполнениями и условия исполнения. Разверните узлы, чтобы просмотреть нижележащие блоки.
Примечание
Защищенные ссылочные модели нельзя просматривать в иерархии.
Таблица иерархии состоит из следующих столбцов:
Имя (Name) - имя модели или блока.
Конфигурация подмодели - конфигурации, используемые ссылочными моделями. Можно править конфигурацию подмодели только для строк, отображающих модели, на которые ссылается верхняя модель.
Управление вариантами (Variant Control) - параметр управления вариантами варианта. Этот столбец идентичен столбцу «Управление вариантами» диалогового окна параметров блоков вариантов. Этот столбец можно править для вариантов по всей иерархии.
Условие (Condition) - отображает и позволяет редактировать условие для Simulink.Variant объект, если он используется в качестве элемента управления исполнения. Этот столбец можно править для вариантов в иерархии вариантов.
В таблице иерархии можно щелкнуть правой кнопкой мыши блок и использовать одну из следующих опций в контекстном меню:
Открыть и выделить блок (Open and Highlight Block): подсвечивает выбранный блок в модели при отображении расположения выбранного блока в верхней модели.
Открыть модель (Open Model): открытие выбранной модели при отображении выбранного расположения модели из верхней модели. Эта опция доступна только при выборе модели из таблицы иерархии.
Открыть параметры блока: открытие диалогового окна параметров блока для выбранного блока. Можно изменить значения параметров.
Открыть параметры родительского блока: открытие диалогового окна параметров блока для родительского блока выбранного блока. Можно изменить значения параметров.
«Задать как активный вариант режима метки»: задает активный вариант выбора блоков «Подсистема исполнения», «Приемник исполнения» или «Источник исполнения». Эта опция доступна только для блоков Variant Subsystem, Variant Sink или Variant Source в режиме метки.
В разделе иерархии модели каждый блок представлен значком. В следующей таблице отображаются значки и имя соответствующего блока.
| Символ | Имя блока |
|---|---|
| Блок модели |
| Встроенный блок вариантов (источник и приемник вариантов) |
| Блок подсистемы вариантов |
| Блок подсистемы |
| Блок модели исполнения |
| Опорный блок подсистемы |
| Функциональный блок Simulink ® |
| Блок порта триггера |
| Блок диаграммы потока состояний |
| Выходной порт приемника варианта |
| Входной порт источника варианта |
| Блок подсистемы вариантов с выбранным параметром Распространить условия вне подсистемы вариантов. |
| Блок Variant Subsystem со значением времени активации Variant |
| Блок Variant Subsystem со значением времени активации Variant |
| Блок Variant Subsystem со значением времени активации Variant |
| Блок Variant Subsystem с параметром Allow zero active variant controls и значением параметра Variant activation time (время активации варианта) |
| Блок Variant Subsystem с параметром Allow zero active variant controls и значением параметра Variant activation time (время активации варианта) |
| Блок Variant Subsystem с параметром Allow zero active variant controls и значением параметра Variant activation time (время активации варианта) |
| Блок вариационной подсистемы с |
| Блок Variant Subsystem с условиями распространения вне variant subsystem и временем активации Variant, установленным на |
| Блок Variant Subsystem с условиями распространения вне variant subsystem и временем активации Variant, установленным на |
| Блок Variant Subsystem с условиями распространения вне variant subsystem и временем активации Variant, установленным на |
| Блок подсистемы вариантов с выбранным параметром Распространить условия вне подсистемы вариантов. Также, |
| Действующий Блок Вариантов (Различный Источник и Различный Слив) с Позволяет нулевой активный различный отобранный выбор контроля. |
| Встроенный блок исполнения (источник исполнения и приемник исполнения) с |
| Действующий Блок Вариантов (Различный Источник и Различный Слив) с Различным набором времени активации к |
| Действующий Блок Вариантов (Различный Источник и Различный Слив) с Различным набором времени активации к |
| Действующий Блок Вариантов (Различный Источник и Различный Слив) с Различным набором времени активации к |
| Действующий Блок Вариантов (Различный Источник и Различный Слив) с Позволяет нулевой активный различный контроль и Различный набор времени активации к |
| Действующий Блок Вариантов (Различный Источник и Различный Слив) с Позволяет нулевой активный различный контроль и Различный набор времени активации к |
| Действующий Блок Вариантов (Различный Источник и Различный Слив) с Позволяет нулевой активный различный контроль и Различный набор времени активации к |
| Инициализация функционального блока |
| Блок прослушивателя событий блока инициализации функции |
| Сброс функционального блока |
| Блок прослушивателя событий функционального блока отдыха |
| Завершение функционального блока |
| Блок прослушивателя событий функционального блока завершения |
| Диаграмма потока состояний с опцией Генерировать условия препроцессора (Generate preprocessor conditionals). |
| Переход потока состояния с опцией Обработать как переход исполнения (Treat as Variant Transition). |
На панели Журнал (Log) отображаются информация и результаты проверки источника управляющих переменных для моделей в иерархии.
Например, если конфигурация исполнения используется для ссылочной модели, имя ссылочной модели отображается в строке вместе с именем объекта данных конфигурации исполнения и конфигурации исполнения. На панели также отображаются ошибки, обнаруженные при проверке конфигурации исполнения.
