Направьте среди нескольких выходных Вариантов использования
Simulink / Маршрутизация Сигнала
Блок Variant Sink имеет один входной порт и один или несколько выходных портов. Можно задать Варианты как блоки, которые соединяются с выходным портом так, чтобы самое большее один выбор был активен.
Каждый выходной порт сопоставлен с Различным управлением. Различное управление, которое оценивает к true
, определяет, какой выходной порт активен.
В процессе моделирования, Simulink® соединяет активный выбор непосредственно с входным портом блока Variant Sink и игнорирует неактивный выбор.
Примечание
Шаг расчета для одного блоков входа Variant Sink может не согласиться с несколькими блоками входа Variant Sink. Для получения дополнительной информации о шаге расчета смотрите то, Что Шаг расчета?
Port_1
— Входной сигналВходной сигнал в виде скаляра, вектора, или матрицы, чтобы быть соединенным с активным выходным портом.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| struct
Port_1
— Выведите от первого ВариантаВыходной сигнал первого Варианта. Различное управление, которое оценивает к true
, определяет, какой выходной порт активен.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
Port_N
— Выведите от энного вариантаВыходной сигнал Энного Варианта. Различное управление, которое оценивает к true
, определяет, какой выходной порт активен.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
Variant control mode
— Имя Различного режима управленияexpression
(значение по умолчанию) | label
| sim codegen switching
expression
— Чтобы выбрать активный Вариант на основе оценки Различных условий, используйте expression
режим. Различные контрольные переменные, используемые в Различном условии, должны быть созданы в глобальной рабочей области или в словаре данных.
Label
— Чтобы выбрать активный Вариант на основе имени Варианта, вы задаете в параметре Label mode active choice, используете label
режим. В label
режим, Различное управление является строкой и не должно быть создано ни в каких рабочих областях.
Когда вы выбираете label
режим, Различный значок указывает на изменение.
Примечание
Когда вы продвигаете параметр Label mode active choice маску, Variant control mode отключен.
Если блок находится в expression
режим при продвижении параметра Label mode active choice маску, можно изменить Variant control mode в label
путем изменения продвинутого параметра Label mode active choice от диалогового окна Mask.
Если блок находится в label
режим при продвижении параметра Label mode active choice маску, вы не можете изменить Variant control mode в expression
режим.
Для получения информации о продвижении параметров к маскам смотрите, Продвигают Параметр Маску.
sim codegen switching
— Чтобы автоматически переключиться между Вариантами для симуляции и рабочих процессов генерации кода, используйте sim codegen switching
режим. Когда вы симулируете (Нормальный, Акселератор, Быстрый Акселератор) модель, затем Simulink автоматически выбирает sim
перейдите как активный выбор. Точно так же, когда вы делаете программное обеспечение в цикле (SIL), симуляция Процессора в цикле (PIL) или генерируете код или используете режим external mode, 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
.
startup
— Когда вы выполняете модель, и активный и неактивный выбор анализируется для непротиворечивости через модель, и выбор участвует в симуляции и рабочем процессе генерации кода. При использовании этой опции можно улучшиться, скорость итеративных симуляций с помощью быстро перезапускают. Для получения дополнительной информации смотрите, Как Быстрый Перезапуск Улучшает Итеративные Симуляции. Код, который вы генерируете из модели, содержит и активный и неактивный выбор, который заключен в регулярный if
условия. Исполняемый файл, который вы создаете из сгенерированного кода также, содержит и активный и неактивный выбор.
Этот рисунок показывает Различное время активации для различных значений, которые вы задаете в этом параметре.
Для получения дополнительной информации смотрите, Представляют Различные Блоки Источника и Приемника в Сгенерированном коде (Embedded Coder).
Доступность различных различных времен активации зависит от типа различного режима управления, который вы задаете. Параметр Variant activation time определяет период времени, когда Simulink устанавливает активный выбор. Параметр также определяет который изменчивость включать в сгенерированный код. Эта таблица объясняет различное время активации, поддержанное каждым различным режимом управления.
Variant activation time | ||||
---|---|---|---|---|
Variant control mode | update diagram | update diagram analyze all choices | code compile | startup |
expression | ✓ | ✓ | ✓ | ✓ |
label | ✓ | x | x | x |
sim codegen switching | ✓ | ✓ | x | x |
Параметры блоков:
VariantActivationTime
|
Ввод: символьный вектор |
Значения:
update diagram | update diagram analyze all choices |code compile
|
Значение по умолчанию:
update diagram
|
Port
— Количество связанного входного портаКоличество входного порта, который соединяется с одним Вариантом в восходящем направлении блока Variant Sink. Это значение только для чтения.
Щелкните, чтобы добавить порт или удалить существующий.
Variant control expression
— Различные средства управления, доступные в глобальной рабочей области'Variant'
(значение по умолчанию) | выражение булева условия | Simulink.Variant
возразите | Simulink.Parameter
возразите | перечислениеОтображает Различные средства управления, доступные в глобальной рабочей области. Различное управление может быть выражением булева условия или Simulink.Variant
объект, представляющий выражение булева условия. Если вы хотите сгенерировать код для своей модели, необходимо задать контрольные переменные как MATLAB® переменные.
Чтобы ввести нечисловые Различные значения управления, используйте перечисленные данные. Для получения информации об использовании перечислимых данных смотрите Использование Перечислимые Данные в Моделях Simulink
Чтобы ввести Различное имя, дважды кликните ячейку Variant control expression в новой строке и тип в Различном выражении управления. Нажмите Apply после того, как вы отредактируете Различное имя элемента управления. Если вы добавляете или удаляете Различное управление, не применяя изменения, предыдущие редактирования на Различном имени элемента управления потеряны.
Параметры блоков:
VariantControls
|
Ввод: массив ячеек из символьных векторов |
Значения: Различное управление, которое сопоставлено с Вариантом |
Значение по умолчанию:
'Variant'
|
Condition (read-only)
— Условие для Различных средств управленияОтображает Condition для Различных средств управления, которые являются Simulink.Variant
объекты. Создайте или измените Различное условие в Simulink.Variant
диалоговое окно параметра или в глобальной рабочей области.
Для получения дополнительной информации смотрите, Создают Различные Средства управления Программно и Simulink.Variant
.
Label mode active choice
— Имя Варианта, чтобы использовать, если режим Элемента управления "метка" выбранChoice_1
(значение по умолчанию) | имя различного управленияКогда вы выбираете Variant control mode как Label
, опция Label mode active choice доступна. Можно выбрать активный Вариант из опций Label mode active choice. Можно также щелкнуть правой кнопкой по значку по блоку Variant Sink и выбрать Label Mode Active Choice.
Выпадающий список Label mode active choice отображает все Различные средства управления, которые в настоящее время заданы в глобальной рабочей области или словаре данных. Используйте допустимые идентификаторы MATLAB, чтобы задать Различные средства управления. Для получения дополнительной информации смотрите Simulink.Variant
.
Примечание
Опция Label mode active choice не доступна в Expression
режим.
Чтобы включить этот параметр, выберите Label
режим.
Параметры блоков:
LabelModeActivechoice
|
Ввод: символьный вектор |
Значения: Заданный Различным выражением управления |
Значение по умолчанию:
Choice_1 |
Allow zero active variant controls
— Симулируйте модель без активного Вариантаoff
(значение по умолчанию) | on
Чтобы симулировать модель (содержащий блок Variant) без активного Варианта, выберите опцию Allow zero active variant controls. Когда эта опция выбрана и нет никакого активного Варианта, Simulink отключает все блоки, соединенные с потоком ввода и вывода блока Variant Sink. Удаленные блоки проигнорированы из схемы обновления или симуляции.
Если вы не выбираете эту опцию, Simulink генерирует ошибку, когда нет никакого активного Варианта.
Когда вы выбираете эту опцию, Различный значок указывает на изменение.
Expression
опция от Variant control mode выбрана.
Параметры блоков:
AllowZeroVariantControls
|
Ввод: символьный вектор |
Значения:
'off' | 'on'
|
Значение по умолчанию:
'off'
|
Show variant condition on block
— Аннотируйте порты блокаoff
(значение по умолчанию) | on
Когда вы выбираете эту опцию, Simulink аннотирует каждое Различное управление (выражение условия) на портах блока Variant Sink.
Параметры блоков:
ShowConditionOnBlock
|
Ввод: символьный вектор |
Значения:
'off' | 'on'
|
Значение по умолчанию:
'off'
|
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Variant Source | Simulink.Variant
| Manual Variant Source | Manual Variant Sink | Variant Subsystem | Model
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.