Объедините несколько сигналов в единственный сигнал
Simulink / Обычно Используемые Блоки
Simulink / Маршрутизация Сигнала
Блок switch проходит через первый входной параметр или третий входной сигнал на основе значения второго входного параметра. Первые и третьи входные параметры являются вводом данных. Второй входной параметр является входным параметром управления. Задайте условие, при котором блок передает первый входной параметр при помощи Критериев передачи первого входного параметра и Пороговых параметров.
Блок switch является способным к шине блоком. Вводы данных могут быть виртуальными или невиртуальными сигналами шины, подвергающимися следующим ограничениям:
Все шины должны быть эквивалентными (та же иерархия с идентичными именами и атрибутами для всех элементов).
Все сигналы в невиртуальном входном параметре шины к блоку switch должны иметь ту же частоту дискретизации. Требование содержит, даже если элементы связанного объекта шины задают наследованные частоты дискретизации.
Можно использовать блок Rate Transition, чтобы изменить частоту дискретизации отдельного сигнала, или всех сигналов в шине. Смотрите Задают Частоты дискретизации Сигнала Шины и Способные к шине Блоки для получения дополнительной информации.
Можно использовать массив шин как входной сигнал к блоку switch. Для получения дополнительной информации об определении и использовании массива шин, смотрите Шины Объединения в Массив Шин. При использовании массива шин, установленных Пороговый параметр на скалярное значение.
Если вводы данных к блоку switch являются шинами, имена элементов обеих шин должны быть тем же самым. Используя те же имена элементов гарантирует, что выходная шина имеет те же имена элементов, неважно, какую входную шину блок выбирает. Чтобы гарантировать, что ваша модель удовлетворяет это требование, используйте объект шины задать шины и установить диагностику несоответствия Имени элемента на error
. См. Обзор Диагностики Возможности соединения для получения дополнительной информации.
Port_1
— Первый сигнал ввода данныхСначала двух вводов данных. Блок распространяет или первый или второй ввод данных к выводу. Блок выбирает, которые вводят, чтобы передать на основе входного параметра управления. Задайте условие для входного параметра управления, чтобы передать первый входной параметр с помощью Критериев передачи первого входного параметра и Пороговых параметров.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Port_2
— Управляйте входным сигналомУправляющий сигнал блочное использование, чтобы определить, передать ли первый или второй ввод данных выводу. Если входной параметр управления соответствует набору условия в Критериях передачи первого входного параметра, то блок передает первый ввод данных. В противном случае блок передает второй ввод данных.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Port_3
— Второй сигнал ввода данныхВторой из двух вводов данных. Блок распространяет или первый или второй ввод данных к выводу. Блок выбирает, которые вводят, чтобы передать на основе входного параметра управления. Задайте условие для входного параметра управления, чтобы передать первый или второй входной параметр с помощью Критериев передачи первого входного параметра и Пороговых параметров.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Port_1
— Выходной сигналВыходной сигнал, распространенный или от первого или от второго входного сигнала, на основе значения управляющего сигнала.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Criteria for passing first input
— Критерии выбора, чтобы передать первый ввод данныхu2 >= Threshold
(значение по умолчанию) | u2 > Threshold
| u2 ~= 0
Выберите условие, при котором блок передает первый ввод данных. Если входной параметр управления соответствует набору условия в Критериях передачи первого входного параметра, блок передает первый входной параметр. В противном случае блок передает второй сигнал ввода данных от входного параметра 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> = Порог' | 'u2> Порог' | 'u2 ~ =0' |
Значение по умолчанию:
'u2 >= Threshold' |
'Порог'
Порог используется в критериях0
(значение по умолчанию) | scalar
Присвойте порог, используемый в Критериях передачи первого входного параметра, который определяет, которые вводят блочные передачи в вывод. Порог должен быть больше, чем Выходной минимум и меньше, чем Выходной максимум.
Чтобы задать нескалярный порог, используйте скобки. Например, следующие записи допустимы:
[1 4 8 12]
[MyColors.Red, MyColors.Blue]
Установка Критериев передачи первого входного параметра к u2 ~=0
отключает этот параметр.
Блочный параметр:
'Порог' |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off'
|
Enable zero-crossing detection
— Включите обнаружение пересечения нулемon
(значение по умолчанию) | булевская переменнаяВыберите, чтобы включить обнаружение пересечения нулем. Для получения дополнительной информации смотрите Обнаружение Пересечения нулем.
Блочный параметр: ZeroCross |
Ввод: вектор символа, строка |
Значения: 'off' | 'on' |
Значение по умолчанию: 'on' |
Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Require all data port inputs to have the same data type
— Потребуйте, чтобы порты данных имели совпадающий тип данныхoff
(значение по умолчанию) | on
Потребуйте, чтобы все вводы данных имели совпадающий тип данных.
Блочный параметр:
InputSameDT |
Ввод: символьный вектор |
Значение: |
Значение по умолчанию:
'0' |
Output minimum
— Минимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярНижнее значение выходной области значений, которую проверяет Simulink®.
Симулинк использует минимум, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Блочных Параметров) для некоторых блоков.
Проверка диапазона моделирования (см. Диапазоны сигнала и Включают Проверку диапазона Моделирования).
Автоматическое масштабирование типов данных фиксированной точки.
Оптимизация кода, который вы генерируете от модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).
Выведите минимум, не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.
Блочный параметр: OutMin |
Ввод: символьный вектор |
Значения:' []' | скаляр |
Значение по умолчанию: '[ ]' |
Output maximum
— Максимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярВерхнее значение выходной области значений это Simulink Check.
Симулинк использует максимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Блочных Параметров) для некоторых блоков.
Проверка диапазона моделирования (см. Диапазоны сигнала и Включают Проверку диапазона Моделирования).
Автоматическое масштабирование типов данных фиксированной точки.
Оптимизация кода, который вы генерируете от модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).
Выведите максимум, не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.
Блочный параметр: OutMax |
Ввод: символьный вектор |
Значения:' []' | скаляр |
Значение по умолчанию: '[ ]' |
Output data type
— Тип выходных данныхInherit: Inherit via internal rule
(значение по умолчанию) | Inherit: Inherit via back propagation
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| Enum: <class name>
| <data type expression>
Задайте тип выходных данных.
Inherit: Inherit via internal rule
Использует следующие правила, чтобы определить тип выходных данных.
Тип данных первого входного порта | Тип выходных данных |
---|---|
Имеет большую положительную область значений, чем третий входной порт | Наследованный от первого входного порта |
Имеет ту же положительную область значений как третий входной порт | Наследованный от третьего входного порта |
Имеет меньшую положительную область значений, чем третий входной порт |
Inherit: Inherit via back propagation
Тип данных использования ведущего блока.
'double'
Указывает, что типом выходных данных является double
.
единственный
Указывает, что типом выходных данных является single
.
int8
Указывает, что типом выходных данных является int8
.
uint8
Указывает, что типом выходных данных является uint8
.
int16
Указывает, что типом выходных данных является int16
.
uint16
Указывает, что типом выходных данных является uint16
.
int32
Указывает, что типом выходных данных является int32
.
uint32
Указывает, что типом выходных данных является uint32
.
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
.
<data type expression>
Использует объект типа данных, например, Simulink.NumericType
.
Когда вывод имеет перечислимый тип, оба ввода данных должны использовать тот же перечислимый тип в качестве вывода.
Блочный параметр: OutDataTypeStr |
Ввод: символьный вектор |
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило |, 'Наследуйтесь: Наследуйтесь через обратное распространение' | 'дважды' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' , 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' | Перечисление: <имя класса> |' <выражение типа данных>' |
Значение по умолчанию: '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
Раунды и положительные и отрицательные числа к положительной бесконечности. Эквивалентный функции ceil
MATLAB.
Convergent
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к самому близкому даже целое число. Эквивалентный Фиксированной точке Designer™ функция convergent
.
Пол
Раунды и положительные и отрицательные числа к отрицательной бесконечности. Эквивалентный функции floor
MATLAB.
Самый близкий
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к положительной бесконечности. Эквивалентный Fixed-Point Designer функция nearest
.
Вокруг
Номер раундов к самому близкому представимому значению. Если связь происходит, округляет положительные числа к положительной бесконечности и округляет отрицательные числа к отрицательной бесконечности. Эквивалентный Fixed-Point Designer функция round
.
Simplest
Автоматически выбирает между раундом к полу и вокруг к нулю, чтобы сгенерировать округление кода, который максимально эффективен.
Zero
Номер раундов к нулю. Эквивалентный функции fix
MATLAB.
Блочный параметр: RndMeth |
Ввод: символьный вектор |
Значения: 'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль' |
Значение по умолчанию: пол |
Для получения дополнительной информации смотрите Округление (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-кода смотрите Переключатель.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.