Маршрутизация между несколькими выходами с использованием вариантов
Одновременная маршрутизация/маршрутизация сигналов
Блок Variant Sink имеет один входной порт и один или несколько выходных портов. Варианты можно определить как блоки, подключенные к выходному порту, так что активен максимум один вариант.
Каждый выходной порт связан с элементом управления Variant. Элемент управления Variant, вычисляющий значение trueопределяет, какой выходной порт активен.
Во время моделирования Simulink ® подключает активный вариант непосредственно к входному порту блока Variant Sink и игнорирует неактивный вариант.
Port_1 - Входной сигналВходной сигнал, заданный как скаляр, вектор или матрица, для подключения к активному выходному порту.
Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | struct
Port_1 - Вывод из первого вариантаВыходной сигнал от первого варианта. Элемент управления Variant, вычисляющий значение trueопределяет, какой выходной порт активен.
Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus
Port_N - Вывод из N-го вариантаВыходной сигнал N-го варианта. Элемент управления Variant, вычисляющий значение trueопределяет, какой выходной порт активен.
Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus
Variant control mode - Наименование режима управления «Вариант»expression (по умолчанию) | label | sim codegen switchingexpression- Для выбора активного варианта на основе анализа условий варианта используйте expression режим. Управляющие переменные Variant, используемые в условии Variant, должны быть созданы в глобальной рабочей области или в словаре данных.
Label- Чтобы выбрать активный вариант на основе имени варианта, указанного в параметре активного выбора режима метки, используйте label режим. В label элемент управления Variant является строкой и не должен создаваться ни в одной рабочей области.
При выборе label , значок Вариант (Variant) указывает на изменение.
Примечание
При продвижении параметра активного выбора режима метки в маску режим управления исполнениями отключается.
Если блок находится в expression при продвижении параметра активного выбора режима Label в маску можно изменить режим управления Variant на label путем изменения параметра активного выбора повышенного режима метки в диалоговом окне «Маска».
Если блок находится в label при продвижении параметра активного выбора режима Label в маску нельзя изменить режим управления Variant на expression режим.
Сведения о повышении параметров до масок см. в разделе Повышение параметров до маски.
sim codegen switching- Для автоматического переключения между вариантами для процессов моделирования и создания кода используйте sim codegen switching режим. При моделировании модели (Normal, Accelerator, Rapid Accelerator) Simulink автоматически выбирает sim ветвь как активный выбор. Аналогично, при моделировании ПО в цикле (SIL), процессора в цикле (PIL) или при генерации кода или использовании внешнего режима Simulink автоматически выбирает codegen филиал.
.
При установке для этого параметра различных значений значок исполнения изменяется, как показано на рисунке Значки исполнения.
Параметр Variant activation time доступен только в том случае, если для параметра Variant control mode установлено значение expression или sim codegen switching.
Variant activation time - Определить, когда Simulink выбирает активный вариантupdate diagram (по умолчанию) | update diagram analyze all choices | code compileЭтот параметр определяет, задает ли Simulink активный выбор блока Variant Sink во время обновления диаграммы или компиляции кода. Этот параметр также определяет, какую переменную следует включить в созданный код для целей ERT. Если выбрать включение всех вариантов исполнения, варианты будут заключены в условные операторы препроцессора C (# if и # endif) в сгенерированном коде.
При установке для этого параметра различных значений значок исполнения изменяется, как показано в разделе Значки исполнения.
Можно установить параметр Variant activation time как:
update diagram- Simulink задает активный выбор во время схемы обновления перед распространением атрибутов сигнала. Неактивные варианты удаляются до распространения атрибутов сигнала, поэтому сгенерированный код содержит только активный вариант.
update diagram analyze all choices- Simulink задает активный выбор во время схемы обновления после распространения атрибутов сигнала. Атрибуты сигнала распространяются как на активный, так и на неактивный варианты. Все варианты анализируются для обеспечения согласованности всех ветвей вариантов между результатами моделирования и генерации кода. Неактивные варианты удаляются в конце диаграммы обновления перед запуском модели. Созданный код содержит только активные варианты. Этот рабочий процесс остается неизменным для моделирования и создания кода.
code compile- Для моделирования рабочий процесс аналогичен update diagram analyze all choices. Однако неактивные варианты не удаляются во время создания кода. Созданный код содержит активные и неактивные варианты, и варианты заключены в условные операторы препроцессора C. #if и #endif.
На этом рисунке показано время активации варианта для различных значений, указанных в этом параметре.

Дополнительные сведения см. в разделе Представление источников вариантов и блоков приемников в сгенерированном коде (встроенный кодер).
При установке для режима управления исполнениями значения expression, этот параметр может быть установлен в update diagram, update diagram analyze all choices, или code compile.
При установке для режима управления исполнениями значения sim codegen switching, этот параметр может быть установлен на update diagram или update diagram analyze all choices. code compile параметр становится недоступным.
Параметр блока:
VariantActivationTime
|
| Текст: символьный вектор |
Значения:
update diagram | update diagram analyze all choices |code compile
|
По умолчанию:
update diagram
|
Port - Количество подключенных входных портовНомер входного порта, подключенного к одному выбору варианта в восходящем направлении от блока приемника варианта. Это значение доступно только для чтения.
Щелкните
, чтобы добавить порт или
удалить существующий.
Variant control expression - элементы управления исполнениями, доступные в глобальной рабочей области;'Variant' (по умолчанию) | логическое выражение условия | Simulink.Variant объект | Simulink.Parameter объект | перечислениеОтображает элементы управления исполнения, доступные в глобальной рабочей области. Элемент управления Variant может быть логическим выражением условия или Simulink.Variant объект, представляющий логическое выражение условия. Если требуется создать код для модели, необходимо определить управляющие переменные как переменные MATLAB ® .
Для ввода нечисловых управляющих значений Variant используйте перечисляемые данные. Сведения об использовании перечисляемых данных см. в разделе Использование перечисляемых данных в моделях Simulink
Чтобы ввести имя элемента «Variant», дважды щелкните ячейку элемента «Variant control expression» в новой строке и введите в поле «Variant control expression». Щелкните Применить (Apply) после редактирования имени элемента управления Исполнение (Variant). Если добавить или удалить элемент управления Исполнение (Variant) без применения изменений, предыдущие изменения имени элемента управления Исполнение (Variant) будут потеряны.
Параметр блока:
VariantControls
|
| Тип: массив ячеек символьных векторов |
| Значения: элемент управления Variant, связанный с выбором Variant |
По умолчанию:
'Variant'
|
Condition (read-only) - Условие для элементов управления исполненияОтображает условие для элементов управления исполнения, которые являются Simulink.Variant объекты. Создание или изменение условия исполнения в Simulink.Variant или в глобальном рабочем пространстве.
Дополнительные сведения см. в разделе Программное создание элементов управления исполнениями и Simulink.Variant.
Label mode active choice - Наименование варианта, используемого при выборе режима управления LabelChoice_1 (по умолчанию) | имя элемента управления исполненияПри выборе режима управления исполнениями в качестве Label, доступна опция Активный выбор режима метки (Label mode active choice). Можно выбрать активный вариант исполнения из опций активного варианта режима метки. Можно также щелкнуть правой кнопкой мыши значок в блоке «Variant Sink» и выбрать «Label Mode Active Choice».
В выпадающем списке Активный выбор режима метки отображаются все элементы управления исполнения, которые в настоящее время определены в глобальной рабочей области или словаре данных. Используйте допустимые идентификаторы MATLAB для указания элементов управления Variant. Дополнительные сведения см. в разделе Simulink.Variant.
Примечание
Опция активного выбора режима метки недоступна в Expression режим.
Чтобы включить этот параметр, выберите Label режим.
Параметр блока:
LabelModeActivechoice
|
| Текст: символьный вектор |
| Значения: Указано контрольным выражением Variant |
По умолчанию:
Choice_1 |
Allow zero active variant controls - Моделирование модели без активного выбора вариантаoff (по умолчанию) | onЧтобы смоделировать модель (содержащую блок исполнения) без активного варианта исполнения, выберите опцию Разрешить нулевой активный элемент управления исполнения. При выборе этой опции и отсутствии активного выбора варианта Simulink отключает все блоки, подключенные к входному и выходному потоку блока приемника варианта. Удаленные блоки игнорируются в схеме обновления или моделировании.
Если эта опция не выбрана, Simulink генерирует ошибку при отсутствии активного варианта исполнения.
При выборе этой опции значок Вариант (Variant) указывает на изменение.
Expression выбрана опция из режима управления «Вариант».
Параметр блока:
AllowZeroVariantControls
|
| Текст: символьный вектор |
Значения:
'off' | 'on'
|
По умолчанию:
'off'
|
Show variant condition on block - Аннотировать порты блоковoff (по умолчанию) | onПри выборе этой опции Simulink аннотирует каждый элемент управления Variant (выражение условия) в портах блока Variant Sink.
Параметр блока:
ShowConditionOnBlock
|
| Текст: символьный вектор |
Значения:
'off' | 'on'
|
По умолчанию:
'off'
|
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Приемник варианта вручную | Источник варианта вручную | Модель | Simulink.Variant | Источник варианта | Вариационная подсистема
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
