exponenta event banner

Работа с вариантами

Каждый вариант выбора в модели связан с условным выражением, называемым элементом управления исполнения. Способ указания элементов управления вариантами определяет активный выбор вариантов. Параметр режима управления вариантами, доступный в диалоговом окне параметров блока, позволяет выбрать Expression или Label режим моделирования блоков исполнения.

На этом рисунке показано диалоговое окно параметров блока «Подсистема исполнения», которое содержит четыре варианта:

  • Первый выбор комментируется добавлением % перед элементом управления исполнения.

  • Второй выбор - (default) и активируется, когда ни один элемент управления исполнениями не вычисляется как true.

  • Третий вариант активируется, когда выражение mode==3 && version==2 вычисляется как true.

  • Четвертый вариант активируется, когда выражение mode==2 && version==1 вычисляется как true.

Выбор варианта по умолчанию

В качестве значения по умолчанию для модели можно указать не более одного варианта. Как показано на рисунке выше, Linear Controller подсистема определяется как вариант выбора по умолчанию. Во время компиляции модели, если Simulink ® обнаруживает, что ни один элемент управления исполнениями не имеет значения true, используется выбор по умолчанию.

В диалоговом окне выберите вариант и измените его свойство элемента управления «Вариант» на (default).

Выбор активного варианта

В то время как каждый вариант выбора связан с элементом управления исполнения, только один элемент управления исполнения может вычислить true за раз. Когда элемент управления исполнениями вычисляется как true, Simulink активирует вариант, соответствующий этому варианту управления. Может быть активным не более одного варианта. Активный вариант нельзя изменить после компиляции модели.

В этом примере можно активировать либо Model вариант выбора или Nonlinear Controller выбор варианта путем указания соответствующих значений для mode и version.

Значение modeЗначение versionВыбор активного варианта
21Nonlinear Controller
32Model

Можно указать значения mode и version в окне команд MATLAB ®.

Выбор неактивного варианта

Когда элемент управления исполнениями активирует один вариант, Simulink считает другой вариант неактивным. Simulink игнорирует неактивные варианты во время моделирования. Однако Simulink продолжает выполнять обратные вызовы блоков в неактивных вариантах.

Цвет неактивных вариантов по умолчанию уменьшается. Можно отключить эффект замирания с помощью опции Замирание исполнения (Variant Fading). Опция «Замирание исполнения» доступна в меню «Информационные наложения» на вкладке «Отладка» редактора Simulink. Вы можете использовать get_param и set_param команды для просмотра или изменения состояния замирания неактивных вариантов программного обеспечения. Например,

  • get_param('bdroot,'VariantFading') % To view the fading state of inactive choices

  • set_param('bdroot,'VariantFading','on') % To turn on the fading effect of inactive choices

Пустой вариант выбора

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

Для пустого варианта выбора можно либо указать условие активации варианта, либо прокомментировать условие варианта путем размещения % символ перед условием.

Если этот вариант активен во время моделирования, Simulink игнорирует пустой вариант. Однако Simulink продолжает выполнять обратные вызовы блоков в пустых вариантах выбора.

Список вариантов

Можно получить список вариантов в блоке подсистемы вариантов, используя параметр только для чтения. VariantChoices.

varchoices = get_param(gcb, 'VariantChoices');

В этом примере VariantChoices параметр возвращает следующее:

List of variant choices in the variant subsystem

Открыть активный вариант

При открытии модели блоки исполнения отображают имя варианта, который был активен при последнем сохранении модели. Используйте меню Вариант, чтобы открыть активный вариант. Щелкните правой кнопкой мыши блок и выберите «Вариант» > «Открыть». Затем выберите активный вариант.

Эта команда используется для поиска текущего активного варианта:

get_param(gcb,'CompiledActiveChoiceControl')

Эта команда используется для поиска пути к текущему активному варианту:

get_param(gcb,'CompiledActiveChoiceBlock')

Примечание

  • CompiledActiveChoiceBlock поддерживается только для блока Variant Subsystem.

  • Активный вариант нельзя изменить после компиляции модели.

Связанные примеры

Подробнее