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