Можно использовать условно выполняемые системы (порты управления) те, которые Включают, Триггер, Сброс и Подсистемы вызова функций в блоке Variant Subsystem. То, когда Анализирование всего выбора во время обновления схематически изображает и генерирует условный флажок препроцессора, выбрано в диалоговом окне Block Parameters, соединении портов управления в блоке Variant Subsystem, когда различный выбор не поддержан. Кроме того, все типы порта управления должны иметь те же имена. Для получения дополнительной информации об условно выполняемых системах см. Условно Выполняемый Обзор Подсистем.
Модель экспорта функций с Различной Подсистемой
Рассмотрите Различную модель, содержащую блок Variant Subsystem. При использовании систему Вызова функции в качестве различного выбора для
блока Linear
Subsystem затем, другой блок Subsystem (Nonlinear
) в Различной Подсистеме должен также быть системой Вызова функции. Кроме того, порты управления в Linear
и блоках Nonlinear
и соответствующем блоке импорта должны иметь то же имя (fcn
).
В сгенерированном коде код внутри fcn определение охраняют условные выражения препроцессора C в экспорте функций.
fcn() { #if VSSMODE==0 // code for Linear choice ....... #endif #if VSSMODE==1 // code for Nonlinear choice ....... #endif
У вас может также быть подобный шаблон моделирования с многоточечной функцией записи, использующей блок Модели - ссылки. Пример следующие:
В вышеупомянутом примере fcln1
, fcln2
и fcln3
направляются через Различную Подсистему с помощью блока Модели - ссылки в качестве различного выбора.
Эти условия не поддержаны при использовании условно выполняемых систем в блоке Variant Subsystem как различный выбор:
Порты действия как Различный выбор
Различный выбор, содержащий порт Iterator с, генерирует условный набор препроцессора к ON
Модели с Инициализируют, Сброс, Оконечный, и функции Simulink
Различная подсистема с включает подсистему как выбор
Рассмотрите Различную модель, содержащую блок Variant Subsystem. При использовании, Включают Подсистему как различный выбор для
блока Linear
Subsystem затем, другой блок Subsystem (Nonlinear
) в Различной Подсистеме должен также быть, Включают Подсистему.
Эта модель моделирует и генерирует код на основе значения VSSMODE
.
Отрывок сгенерированного кода как показано ниже.
step() { #if VSSMODE==0 // code for Linear choice ....... #elif VSSMODE==1 // code for Nonlinear choice ....... #endif