Simulink® определяет компоненты модели, которые активны в процессе моделирования процессом различного распространения условия. Этот процесс оценивает различные средства управления, заданные на различных блоках, и автоматически распространяет различные условия с соединяющимися блоками. Различные условия могут распространить через сигнальные линии, шины и вызовы функции достигнуть других блоков в модели. Процесс деактивировал компоненты модели, сопоставленные с неактивным выбором, и они не включены в симуляцию. Можно управлять распространением условия в области варианта define в модели.
Можно использовать Различную Легенду Условий, чтобы визуализировать распространенные различные условия, которые активируют каждый вариант. Simulink аннотирует компоненты модели, если существуют различные условия на них, и Различная Легенда Условий отображает условие, которое соответствует каждой аннотации.
Рассмотрите эту модель, содержащую несколько вариантов, питающихся в блоки Variant Source. Определенное различное условие активирует каждый вариант.
Чтобы просмотреть Различную Легенду Условий, на вкладке Debug, выбирают Information Overlays> Variant Legend.
Примечание
Если Variant Legend не доступен на вкладке Debug, выберите Information Overlays> Variant Conditions.
Диалоговое окно Variant Conditions Legend появляется. По умолчанию Различная Легенда Условий отображает различную аннотацию условия, различное условие в процессе моделирования и источник различных условных переменных. Чтобы просмотреть различное условие в сгенерированном коде, выберите Show generated code conditions.
Различные условия на блоках аннотируются как v:C
, где v
различный семантический индикатор и C
представляет различный индекс условия. Можно щелкнуть через связанные гиперссылками различные аннотации, чтобы наблюдать, каким частям модели условие соответствует. Например, если вы нажимаете v:3
, части модели, которые имеют условие V==3
подсвечены как показано в этом изображении.
Когда вы делаете паузу на блоке, который имеет различное условие, подсказка отображает различную аннотацию и связанное различное условие для блока. Чтобы просмотреть различную подсказку аннотации условия, опция Variant Condition должна быть выбрана.
В легенде также отображен источник различных условных переменных. Переменные могут произойти из маски, модели или базового рабочего пространства. Все переменные, используемые в блоке, должны произойти из того же источника. В модели переменные, происходящие из различных рабочих областей маски, могут иметь то же имя и иметь различные значения. Чтобы наблюдать источник переменных, кликните по связанным гиперссылками рабочим областям.
Примечание
С набором параметров Variant activation time к update diagram
, источник переменных, отображенных для неактивного выбора, может быть неправильным. Неактивный выбор удален до распространения атрибутов сигнала и поэтому не оценен.
Чтобы просмотреть Variant Condition Legend программно, используйте variantLegend
функция в MATLAB® Командное окно.
Различные аннотации условия имеют эти свойства:
Нет никаких аннотаций на безусловные блоки.
Чтобы уменьшать помеху, легенда только отображается, финал вычислил условия. Например, если вы вводите различное условие в блок Variant Source, то условие появляется в аннотациях только, когда вы применяете свои изменения.
Условия в легенде сортируются во время отображения.
В легенде условие установлено к false
если блоки, сопоставленные с тем условием, никогда не активны.
Например, Inport4
блок соединяется с Variant Source1
блокируйтесь, чьим условием является V==1
. Variant Source1
соединяется с Variant Source2
блокируйтесь, который активирует Variant Source1
только, когда V==4
. Поэтому Inport4
может только быть активным когда V==1 && V==4
, условие, которое всегда является false
.
В легенде, (default)
ключевое слово отображено как отрицаемое условие.
Эта таблица приводит темы, которые объясняют, как распространение условия работает с различными компонентами модели.
Блок | Сценарий | Тема |
---|---|---|
Блок Variant Subsystem | Распространите условия вне блока Variant Subsystem. Адаптивная интерфейсная возможность блока Variant Subsystem. | Распространите различные условия вне различного блока Subsystem |
Распространите условия с условно выполняемыми блоками подсистемы, такими как Enable, Trigger, Reset и Function-Call Subsystem, когда они будут использоваться в качестве вариантов в блоке Variant Subsystem. Используйте блок Variant Subsystem, чтобы создать модель экспорта функций. | Используйте различные блоки Subsystem с условно выполняемыми подсистемами | |
Выведите различные сигналы вызова функции в выходных портах Variant Subsystem. | Различные сигналы вызова функции на различном выходном порте подсистемы | |
Variant Source и блоки Variant Sink | Распространите условия от блоков Variant Sink и Variant Source. | Различное распространение условия с различными источниками и приемниками |
Блок Variant Source | Распространите условия с условно выполняемыми блоками подсистемы, такими как Enable, Trigger, Reset и Function-Call Subsystem. | Распространите различные условия от различных исходных блоков до условно выполняемых подсистем |
Выведите различные сигналы вызова функции в выходном порту Variant Source. | Используйте различный исходный блок, чтобы получить или вывести сигналы вызова функции для симуляции и генерации кода | |
Распространите условия к виртуальным и невиртуальным подсистемам. | Распространите различные условия от различных исходных блоков до блоков Subsystem | |
Распространите условия с блоками Model. | Различное распространение условия с блоком Model | |
Распространите условия соединить шиной блоки элемента. | Различное распространение условия с шиной | |
Блок Variant Connector | Распространите условия к компонентам в физической сети. | Различный коннектор (Simscape) |
Блоки Simulink Function | Задайте или наследуйте различные условия на блоках Simulink Function. | Различное Распространение Условия с Функциональным блоком Simulink |
Initialize, Reset и блоки Terminate | Распространите условия к Initialize, Reset и блокам Terminate. | Различное распространение условия с инициализирует, сброс и оконечные блоки |
Различные модели | Остановите распространение различных условий в модели. | Управляйте различным распространением условия |