Варианты источников и вариантов блоков приемника

Задайте области выбора вариантов в блоках Источник исполнения и Приемник на основе связности блоков. Области выбора вариантов вычисляются Simulink при обновлении схемы (Simulation > Prepare > Update Model).

Процесс вычисления областей выбора вариантов называется variant condition propagation. Блок Variant Source обеспечивает изменение источника сигнала, а блоки Variant Sink обеспечивают изменение назначения (приемника) сигнала.

Рассмотрим модель, содержащую два исходных блока Variant Source (Variant Source1 , Variant Source2) и блок Sink (Variant Sink ).

Условия варианта во входных и выходных портах блоков Variant Source и Sink, соответственно, определяют активацию и деактивацию связанных с ними блоков. Чтобы просмотреть аннотации и условия исполнения, на вкладке Debug панели инструментов щелкните Информационные наложения > Исполнительные условия.

Давайте проанализируем условия варианта и состояние активации блока.

  • В Variant Source1, когда W==1, а Sine3 блок активен, и когда V==4, а Sine4 блок активен.

  • В Variant Source2, когда V==1, блок Sine1 активен, и когда V==2, а Add1 блок активен.

  • В Add1 блокируйте, что распространение условия продолжает создавать Variant Source1 блок, который будет активен только, когда V==2. Это далее распространяется на Sine3 блок и Sine4 блокируйте, делая Sine3 блок активен в V==2 && W==1 и Sine4 блок активен в V==2 && W==2, соответственно.

  • The Gain3 блок активен, когда любой из них V==1 или V==2, и, следовательно, условие V==2 | | V==1. Условие варианта далее распространяется на Scope1 и Out1.

  • Блоки, соединенные с выходом Variant Sink активны, когда W==1 (Gain5), или W==2 (Sine, Subtract, Terminator).

  • The Sum блок иллюстрирует две ключевые концепции в варианте распространения условия: Сигналы являются только вариантом, если явно помечены или когда все пути могут быть доказаны как варианты. Чтобы сделать Sine6, Sum, Out2 вариант, поместите источник варианта с одним входом с одним выходом перед Out2 (или после Sine6). Чтение неактивного сигнала эквивалентно чтению на земле. Когда W ~= 1, затем нижний вход в Sum блок неактивен и Out2 = Sine6 + ground.

Если вы устанавливаете параметр Variant activation time равным code compile для блока Variant Source и Variant Sink сгенерированный код содержит код для активного и неактивного (#if COND). Если этот параметр не выбран, код генерируется только для активных вариантов.

Если вы выбираете параметр Разрешить нулевой активный вариант управления для блока Источник варианта и Вариант Приемник, можно симулировать модель варианта без активного варианта. В таких случаях Simulink отключает блоки, соединенные с входом и выходом потоком Variant Source и Варианта Sink. Эти отключенные блоки игнорируются из схемы обновления или симуляции.