Объедините несколько сигналов в один сигнал
Simulink / Обычно Используемые Блоки
Simulink / Маршрутизация Сигнала
HDL Coder / Обычно Используемые Блоки
HDL Coder / Маршрутизация Сигнала
Блок Switch проходит через первый вход или третий входной сигнал на основе значения второго входа. Первые и третьи входные параметры являются вводом данных. Второй вход является входом управления. Задайте условие, при котором блок передает первый вход при помощи параметров Threshold и Criteria for passing first input.
Блок switch является способным к шине блоком. Вводы данных могут быть виртуальными или невиртуальными сигналами шины, удовлетворяющими следующим ограничениям:
Все шины должны быть эквивалентными (та же иерархия с идентичными именами и атрибутами для всех элементов).
Все сигналы в невиртуальном входе шины к блоку switch должны иметь тот же шаг расчета. Требование содержит, даже если элементы связанного объекта шины задают наследованные шаги расчета.
Можно использовать блок Rate Transition, чтобы изменить шаг расчета отдельного сигнала, или всех сигналов в шине. Смотрите Изменяют Шаги расчета для Невиртуальных Шин и Способных к шине Блоков для получения дополнительной информации.
Можно использовать массив шин как входной сигнал с блоком Switch. Для получения дополнительной информации об определении и использовании массива шин, смотрите Шины Объединения в Массив Шин. При использовании массива шин, установленных параметр Threshold на скалярное значение.
Если вводы данных с блоком Switch являются шинами, имена элементов обеих шин должны быть тем же самым. Используя те же имена элементов гарантирует, что выходная шина имеет те же имена элементов, неважно, какую входную шину блок выбирает. Чтобы гарантировать, что ваша модель удовлетворяет это требование, используйте объект шины задать шины и установить диагностику Element name mismatch на error
. См. Обзор Диагностики Возможности соединения для получения дополнительной информации.
Port_1
— Входной сигнал First DataСначала двух вводов данных. Блок распространяет или первый или второй ввод данных к выходу. Блок выбирает, которые вводят, чтобы передать на основе входа управления. Задайте условие для входа управления, чтобы передать первый вход с помощью параметров Threshold и Criteria for passing first input.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
Port_2
— Управляйте входным сигналомУправляющий сигнал использование блока, чтобы определить, передать ли первый или второй ввод данных выходу. Если вход управления соответствует набору условия в параметре Criteria for passing first input, то блок передает вход First Data. В противном случае блок передает второй ввод данных.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
Port_3
— Второй сигнал ввода данныхВторой из двух вводов данных. Блок распространяет или первый или второй ввод данных к выходу. Блок выбирает, которые вводят, чтобы передать на основе входа управления. Задайте условие для входа управления, чтобы передать первый или второй вход с помощью параметров Threshold и Criteria for passing first input.
Типы данных: 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
Criteria for passing first input
— Критерии выбора, чтобы передать вход First Datau2 >= Threshold
(значение по умолчанию) | u2 > Threshold
| u2 ~= 0
Выберите условие, при котором блок передает вход First Data. Если вход управления соответствует набору условия в параметре Criteria for passing first input, блок передает первый вход. В противном случае блок передает второй сигнал ввода данных от входа Port_3
.
u2 >= Threshold
Проверки, больше ли вход управления или равен пороговому значению.
u2 > Threshold
Проверки, больше ли вход управления порогового значения.
u2 ~=0
Проверки, является ли вход управления ненулевым.
Примечание
Блок Switch не поддерживает u2 ~=0
режим для перечислимых типов данных.
Когда вход управления будет булевым сигналом, используйте одну из этих комбинаций условия и порогового значения:
u2 >= Threshold
, где пороговое значение равняется 1
u2 > Threshold
, где пороговое значение равняется 0
u2 ~=0
В противном случае блок Switch игнорирует пороговые значения и использует булево значение для маршрутизации сигнала. Для значения 1, блок передает первый вход, и для значения 0, блок передает третий вход. Предупреждающее сообщение, которое описывает это поведение также, появляется в Командном окне MATLAB®.
Параметры блоков:
Criteria |
Ввод: символьный вектор |
Значение:
'u2 >= Threshold' | 'u2 > Threshold' | 'u2 ~=0' |
Значение по умолчанию:
'u2 >= Threshold' |
Threshold
— Порог используется в критериях
(значение по умолчанию) | scalar
Присвойте порог, используемый в Criteria for passing first input, который определяет, которые вводят передачи блока в выход. Threshold должен быть больше Output minimum и меньше, чем Output maximum.
Чтобы задать нескалярный порог, используйте скобки. Например, следующие записи допустимы:
[1 4 8 12]
[MyColors.Red, MyColors.Blue]
Установка Criteria for passing first input к u2 ~=0
отключает этот параметр.
Параметры блоков:
Threshold |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off'
|
Enable zero-crossing detection
— Включите обнаружение пересечения нулемon
(значение по умолчанию) | булевская переменнаяВыберите, чтобы включить обнаружение пересечения нулем. Для получения дополнительной информации смотрите Обнаружение Пересечения нулем.
Параметры блоков: ZeroCross |
Ввод: вектор символов, строка |
Значения: 'off' | 'on' |
Значение по умолчанию: 'on' |
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Require all data port inputs to have the same data type
— Потребуйте, чтобы порты данных имели совпадающий тип данныхoff
(значение по умолчанию) | on
Потребуйте, чтобы все вводы данных имели совпадающий тип данных.
Параметры блоков:
InputSameDT |
Ввод: символьный вектор |
Значение: |
Значение по умолчанию:
'0' |
Output minimum
— Минимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярНижнее значение выходной области значений, которую проверяет Simulink®.
Simulink использует минимум, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков) для некоторых блоков.
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала и Включает Проверку диапазона Симуляции).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Примечание
Output minimum не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.
Параметры блоков: OutMin |
Ввод: символьный вектор |
Значения: '[ ]' | скаляр |
Значение по умолчанию: '[ ]' |
Output maximum
— Максимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярВерхнее значение выходной области значений это Simulink Check.
Simulink использует максимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков) для некоторых блоков.
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала и Включает Проверку диапазона Симуляции).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Примечание
Output maximum не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.
Параметры блоков: OutMax |
Ввод: символьный вектор |
Значения: '[ ]' | скаляр |
Значение по умолчанию: '[ ]' |
Output data type
— Тип выходных данныхInherit: Inherit via internal rule
(значение по умолчанию) | Inherit: Inherit via back propagation
| double
| single
| half
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| string
| Enum: <class name>
| <data type expression>
Задайте тип выходных данных.
Inherit: Inherit via internal rule
Использует следующие правила, чтобы определить тип выходных данных.
Тип данных первого Input port | Тип выходных данных |
---|---|
Имеет большую положительную область значений, чем третий входной порт | Наследованный от первого входного порта |
Имеет ту же положительную область значений как третий входной порт | Наследованный от третьего входного порта |
Имеет меньшую положительную область значений, чем третий входной порт |
Inherit: Inherit via back propagation
Тип данных использования ведущего блока.
double
Указывает, что типом выходных данных является double
.
single
Указывает, что типом выходных данных является single
.
half
Указывает, что типом выходных данных является half
.
int8
Указывает, что типом выходных данных является int8
.
uint8
Указывает, что типом выходных данных является uint8
.
int16
Указывает, что типом выходных данных является int16
.
uint16
Указывает, что типом выходных данных является uint16
.
int32
Указывает, что типом выходных данных является int32
.
uint32
Указывает, что типом выходных данных является uint32
.
int64
Указывает, что типом выходных данных является int64
.
uint64
Указывает, что типом выходных данных является uint64
.
fixdt(1,16,0)
Указывает, что тип выходных данных является фиксированной точкой fixdt(1,16,0)
.
fixdt(1,16,2^0,0)
Указывает, что тип выходных данных является фиксированной точкой fixdt(1,16,2^0,0)
.
Enum: <class name>
Использует перечислимый тип данных, например, Enum: BasicColors
.
string
Указывает, что тип выходных данных является строкой.
<data type expression>
Использует объект типа данных, например, Simulink.NumericType
.
Когда выход имеет перечислимый тип, оба ввода данных должны использовать тот же перечислимый тип в качестве выхода.
Параметры блоков: OutDataTypeStr |
Ввод: символьный вектор |
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' int32 | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | Enum: <class name> | 'string' | '<data type expression>' |
Значение по умолчанию: 'Inherit: Inherit via internal rule' |
Lock data type settings against changes by the fixed-point tools
— Препятствуйте тому, чтобы Fixed-Point Tool заменили типы данныхoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на этом блоке. Для получения дополнительной информации смотрите Блокировку Установка Типа Выходных данных (Fixed-Point Designer).
Параметры блоков: LockScale |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Integer rounding mode
— Задайте округляющийся режим для операций фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Выберите один из этих режимов округления.
Ceiling
Раунды и положительные и отрицательные числа к положительной бесконечности. Эквивалентный MATLAB ceil
функция.
Convergent
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к самому близкому даже целое число. Эквивалентный Fixed-Point Designer™ convergent
функция.
Floor
Раунды и положительные и отрицательные числа к отрицательной бесконечности. Эквивалентный MATLAB floor
функция.
Nearest
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к положительной бесконечности. Эквивалентный Fixed-Point Designer nearest
функция.
Round
Номер раундов к самому близкому представимому значению. Если связь происходит, округляет положительные числа к положительной бесконечности и округляет отрицательные числа к отрицательной бесконечности. Эквивалентный Fixed-Point Designer round
функция.
Simplest
Автоматически выбирает между раундом к полу и вокруг к нулю, чтобы сгенерировать округление кода, который максимально эффективен.
Zero
Номер раундов к нулю. Эквивалентный MATLAB fix
функция.
Параметры блоков: RndMeth |
Ввод: символьный вектор |
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
Значение по умолчанию: 'Floor' |
Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Saturate on integer overflow
— Метод действия переполненияoff
(значение по умолчанию) | on
Задайте, насыщает ли переполнение или переносится.
off
— Переполнение переносится к соответствующему значению, которое может представлять тип данных.
Например, номер 130 не помещается в 8-битное целое число со знаком и переносится к-126.
on
— Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных.
Например, переполнение, сопоставленное с 8-битным целым числом со знаком, может насыщать к-128 или 127.
Совет
Рассмотрите установку этого флажка, когда ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде.
Полагайте, что снятие этого флажка, когда это необходимо, оптимизирует КПД вашего сгенерированного кода.
Снятие этого флажка также помогает вам постараться не чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Ошибки Диапазона сигнала Поиска и устранения неисправностей.
Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, не только выходу или результату.
В общем случае процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщения.
Параметры блоков: SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Allow different data input sizes
— Позвольте различные размеры ввода данныхoff
(значение по умолчанию) | on
Установите этот флажок, чтобы позволить входные сигналы с различными размерами. Блок распространяет размер входного сигнала к выходному сигналу. Если эти два ввода данных являются сигналами переменного размера, максимальный размер сигналов может быть равным или отличаться.
Параметры блоков:
AllowDiffInputSizes
|
Ввод: символьный вектор |
Значение:
'on' | 'off' |
Значение по умолчанию:
'off'
|
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Сгенерированный код использует memcpy
или memset
функции (string.h) при определенных обстоятельствах.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Этот блок поддерживает генерацию кода для комплексных сигналов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.