Маршрутизация между несколькими входами с использованием вариантов
Одновременная маршрутизация/маршрутизация сигналов
Блок Variant Source имеет один или несколько входных портов и один выходной порт. Варианты исполнения можно определить как блоки, подключенные к входному порту, так что активен максимум один вариант.
Каждый входной порт связан с элементом управления Variant. Элемент управления Variant, вычисляющий значение trueопределяет, какой входной порт активен.
Если для параметра «Время активации варианта» в диалоговом окне блока установлено значение update diagram, то во время моделирования Simulink ® подключает активный вариант непосредственно к порту вывода блока Variant Source и игнорирует неактивные варианты.
Port_1 - Входной порт, связанный с первым элементом управления VariantВходной порт, связанный с первым элементом управления Variant. Элемент управления Variant, вычисляющий значение trueопределяет, какой входной порт активен.
Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus
Port_N - Входной порт, связанный с N-ым элементом управления VariantВходной порт, связанный с элементом управления N-го варианта. Элемент управления Variant, вычисляющий значение trueопределяет, какой входной порт активен.
Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus
Port_1 - Вывод активного вариантаВыходной сигнал активного варианта.
Типы данных: 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 Source во время обновления диаграммы или компиляции кода. Этот параметр также определяет, какую переменную следует включить в созданный код для целей 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 объект, представляющий логическое выражение условия. Если требуется создать код для модели, необходимо определить управляющие переменные как Simulink.Parameter объекты.
Для ввода нечисловых управляющих значений Variant используйте перечисляемые данные. Сведения об использовании перечисляемых данных см. в разделе Использование перечисляемых данных в моделях Simulink
Чтобы изменить имя элемента «Variant», дважды щелкните ячейку выражения элемента «Variant control» и введите в выражение элемента «Variant control». Щелкните Применить (Apply) после редактирования имени элемента управления Исполнение (Variant). Если добавить или удалить элемент управления Исполнение (Variant) без применения изменений, предыдущие изменения имени элемента управления Исполнение (Variant) будут потеряны.
Элемент управления Variant, вычисляющий значение true определяет, какой входной порт должен быть активным.
Параметр блока:
VariantControls
|
| Тип: массив ячеек символьных векторов |
| Значение: элемент управления Variant, связанный с выбором Variant |
По умолчанию:
'Variant'
|
Condition (read-only) - Условие для элементов управления исполненияОтображает условие для элементов управления исполнения, которые являются Simulink.Variant объекты. Создание или изменение условия исполнения в Simulink.Variant или в глобальном рабочем пространстве.
Дополнительные сведения см. в разделе Программное создание элементов управления исполнениями и Simulink.Variant.
Label mode active choice - Наименование варианта, используемого при выборе режима управления LabelChoice_1 (по умолчанию) | имя элемента управления VariantПри выборе режима управления исполнениями в качестве Label, доступна опция Активный выбор режима метки (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 Source.
Параметр блока:
ShowConditionOnBlock
|
| Текст: символьный вектор |
Значение:
'off' | 'on'
|
По умолчанию:
'off'
|
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Приемник варианта вручную | Источник варианта вручную | Модель | Simulink.Variant | Приемник варианта | Вариационная подсистема
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.


