Задайте области варианта в Различных блоках Источника и Приемника на основе возможности соединения блока. Области варианта вычисляются Simulink, когда вы обновляете схему (Симуляция> Готовятся> Модель Обновления).
Процесс вычисления областей варианта называется variant condition propagation
. Различный Исходный блок обеспечивает изменение на источнике сигнала, и Различные блоки Приемника обеспечивают изменение на месте назначения (приемник) сигнала.
Рассмотрите модель, содержащую два Различных Исходных блока (Variant Source1
, Variant Source2
) и блок Sink (Variant Sink
).
Различные условия в импорте и выходных портах Различных блоков Источника и Приемника, соответственно, определяют активацию и деактивацию блоков, соединенных с ними. Чтобы просмотреть аннотации и различные условия, во вкладке Debug панели инструментов, нажимают Information Overlays> Variant Conditions.
Давайте анализировать различные условия и состояние активации блока.
В 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
, соответственно.
Gain3
блок активен когда любой V==1
или V==2
, и следовательно условие V==2
| | V==1
. Различное условие далее распространено к Scope1
и Out1
.
Блоки, соединенные с выходным портом Variant Sink
активны когда W==1
(Gain5
), или W==2
(Sine
вычитание
Терминатор
).
Sum
блок иллюстрирует две ключевых концепции в различном распространении условия: Сигналы только различны, если явным образом отмечено или когда все пути, как могут доказывать, различны. Сделать Sine6
сумма
, Out2
вариант, поместите Источник Варианта Single-Input Single-Output перед Out2 (или после Sine6
). Чтение неактивного сигнала эквивалентно чтению земли. Когда W ~= 1
, затем нижний вход к Sum
блок неактивен и Out2 = Sine6 + ground
.
Если вы устанавливаете Различный параметр времени активации на code compile
для блока Variant Source и Variant Sink сгенерированный код содержит код для активного и неактивного (#if COND
). Если этот параметр не выбран, то код сгенерирован только для активного выбора.
Если вы выбираете нуль Allow активный различный параметр средств управления для блока Variant Source и Variant Sink, можно симулировать различную модель без активного варианта. В таких случаях Simulink отключает блоки, соединенные с потоком ввода и вывода Различного Источника и Различного Приемника. Эти отключенные блоки проигнорированы из схемы обновления или симуляции.