Можно использовать условно выполненные системы (порты управления), такие как Enable, Trigger, Reset и Function-Call Подсистемы в блоке Variant Subsystem. Когда параметр Variant activation time установлен в code compile В диалоговом окне Параметров блоков не поддерживается сочетание портов управления в блоке Variant Subsystem в качестве варианта выбора. Кроме того, все типы портов управления должны иметь одинаковые имена. Для получения дополнительной информации об условно выполненных системах смотрите Обзор условно выполненных подсистем.
Экспорт функций с подсистемой вариантов
Рассмотрим модель Variant, содержащую блок Variant Subsystem. Если вы используете Function-Call систему как вариант выбора для Linear
Subsystem блокируйте, затем другой Subsystem блок (Nonlinear) в блоке Variant Subsystem также должен быть Function-Call системой. Кроме того, порты управления в Linear и Nonlinear блоки и соответствующий блок inport должны иметь то же имя (fcn).

В сгенерированном коде код внутри определения fcn охраняется условиями C предпроцессора внутри экспорта функций.
fcn() {
#if VSSMODE==0
// code for Linear choice
.......
#endif
#if VSSMODE==1
// code for Nonlinear choice
.......
#endif Можно также иметь подобный шаблон моделирования с многоточечной функцией входа с помощью Model блока. Пример следующий:

В приведенном выше примере fcln1, fcln2, и fcln3 направляются через Подсистему Вариантов, используя блоки Model в качестве вариантов выбора.
Эти условия не поддерживаются при использовании условно выполненных систем в блоке Variant Subsystem в качестве варианта выбора:
Action порты как варианты
Варианты выбора Iterator содержащие порт с установленными условиями генерации препроцессора
Модели с Initialize, Reset, Terminate и Simulink функциями
Примечание
Порты событий Initialize и Terminate всегда безоговорочны, потому что они управляют как моделью по умолчанию, так и блоками, инициализируют и завершают события ссылочной модели. Если вы задаете блок Initialize функции в модели-ссылке, это соответствует явному событию инициализации.
Исполнительная подсистема с включением подсистемы в качестве выбора
Рассмотрим модель Variant, содержащую блок Variant Subsystem. Если вы используете Enable Subsystem как вариант выбора для Linear
Subsystem блокируйте, затем другой Subsystem блок (Nonlinear) в блоке Variant Subsystem также должны быть Enable Subsystem.

Эта модель моделирует и генерирует код на основе VSSMODE значение.
Фрагмент сгенерированного кода показан ниже.
step() {
#if VSSMODE==0
// code for Linear choice
.......
#elif VSSMODE==1
// code for Nonlinear choice
.......
#endif