Переключатель выводится между различными входными параметрами на основе значения первого входного параметра
Simulink / Маршрутизация Сигнала
Блок Index Vector является специальной настройкой Многопортового блока switch, в котором вы задаете один ввод данных, и входной параметр управления основан на нуле. Блок вывод является элементом входного вектора, индекс которого совпадает с входным параметром управления. Например, если входным вектором является [18 15 17 10]
, и входным параметром управления является 3
, элемент, который совпадает с индексом 3 (основанный на нуле), равняется 10, и это становится выходным значением.
Чтобы сконфигурировать Многопортовый блок switch, чтобы работать, блок Index Vector определил Номер портов данных к 1
, и Порт данных заказывают Zero-based contiguous
.
Для получения дополнительной информации о Многопортовом блоке switch, смотрите Многопортовую страницу с описанием блока switch.
Port_1
— Управляющий сигналУправляющий сигнал, заданный как скаляр. Управляющий сигнал может иметь любой тип данных, который Simulink® поддерживает, включая фиксированные точки и перечислимые типы. Когда входной параметр управления не является целочисленным значением, блок обрезает значение до целого числа путем округления, чтобы обнулить.
Для получения информации об управляющих сигналах перечислимого типа см. Инструкции по Установке Параметров для Перечислимого Порта управления на Многопортовом блоке switch касательно страницы.
Если управляющий сигнал является числовым, управляющий сигнал не может быть комплексным.
Если управляющий сигнал является перечислимым сигналом, блок использует значение базового целого числа, чтобы выбрать порт данных.
Если базовое целое число не соответствует вводу данных, ошибка происходит.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
0 or 1
— Первый ввод данныхПервый ввод данных, заданный как скаляр или вектор. Порт маркирован 0, когда вы устанавливаете порядок Порта данных к Zero-based contiguous
и маркировали 1, когда вы устанавливаете порядок Порта данных к One-based contiguous
. Сигнал входных данных может иметь любой тип данных, который поддерживает Simulink.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Port_1
— Выбранный ввод данных, на основе значения управляющего сигналаБлок выводит выбранное значение от вектора входных данных, согласно значению управляющего сигнала. Вывод является скаляром.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| булевская переменная
| фиксированная точка
| перечисленный
| шина
Data port order
— Тип упорядоченного расположения для портов ввода данныхZero-based contiguous
(значение по умолчанию) | One-based contiguous
| Specify indices
Задайте тип упорядоченного расположения для ваших портов ввода данных.
Zero-based contiguous
— Блок использует основанную на нуле индексацию для упорядоченного расположения непрерывных портов данных. Это - значение по умолчанию блока Index Vector.
One-based contiguous
— Блок использует индексацию на основе одну для упорядоченного расположения непрерывных портов данных. Это - значение по умолчанию Многопортового блока switch.
Specify indices
— Блок использует индексацию, состоящую из нескольких несмежных участков, для упорядоченного расположения портов данных. Это значение поддержано только для настроек с двумя или больше портами входных данных.
Когда порт управления будет иметь перечислимый тип, выберите Specify indices
.
Если вы выбираете Zero-based contiguous
или One-based contiguous
, проверяете, что порт управления не имеет перечислимого типа. Эта настройка удерживается от использования и производит ошибку. Можно запустить Советника по вопросам Обновления на модели, чтобы заменить каждый Многопортовый блок switch этой настройки с блоком, который явным образом задает индексы порта данных. Смотрите Образцовые Обновления.
Избегайте ситуаций, где блок содержит неиспользованные порты данных для моделирования или генерации кода. Когда порт управления имеет фиксированную точку или встроенный тип данных, проверьте, что все индексы порта данных являются представимыми с тем типом. В противном случае следующее блочное поведение происходит:
Если блок имеет неиспользованные порты данных, и порядок порта данных: | Блок производит: |
---|---|
Zero-based contiguous или One-based contiguous
| Предупреждение |
Specify indices
| Ошибка |
Выбор Zero-based contiguous
или One-based contiguous
включает Количество параметра портов данных.
Выбор Specify indices
включает индексный параметр Порта данных.
Блочный параметр:
DataPortOrder
|
Ввод: символьный вектор |
Значения:
'Основанные на нуле contiguous' | 'contiguous' На основе один | 'Задают индексы' |
Значение по умолчанию:
'Zero-based contiguous' |
Number of data ports
— Количество портов ввода данных1
(значение по умолчанию) | целое число между 1 и 65536Задайте количество портов ввода данных к блоку.
Чтобы включить этот параметр, установите порядок Порта данных к Zero-based contiguous
или One-based contiguous
.
Блочный параметр:
Inputs
|
Ввод: символьный вектор |
Значения: целое число между 1 и 65536 |
Значение по умолчанию:
'1' |
Require all data port inputs to have the same data type
— Потребуйте, чтобы все входные параметры имели совпадающий тип данныхoff
(значение по умолчанию) | on
Установите этот флажок, чтобы потребовать, чтобы все порты ввода данных имели совпадающий тип данных. Когда вы снимаете этот флажок, блок позволяет входным параметрам порта данных иметь различные типы данных.
Блочный параметр: InputSameDT |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Output minimum
— Минимальное выходное значение для проверки диапазона[]
(значение по умолчанию) | скалярНижнее значение выходной области значений это Simulink Check.
Симулинк использует минимум, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Блочных Параметров) для некоторых блоков.
Проверка диапазона моделирования (см. Диапазоны сигнала и Включают Проверку диапазона Моделирования).
Автоматическое масштабирование типов данных фиксированной точки.
Оптимизация кода, который вы генерируете от модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как 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)
| <data type expression>
Выберите тип данных для вывода. Тип может быть наследован, задан непосредственно или выражен как объект типа данных, такой как Simulink.NumericType
.
Когда вы выбираете наследованную опцию, блок ведет себя можно следующим образом:
Inherit: Inherit via internal rule
— Симулинк выбирает тип данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, при принятии во внимание свойств аппаратных средств целевого процессора. Если вы изменяете настройки целевого процессора, тип данных, выбранный внутренним правилом, может измениться. Для программного обеспечения не всегда возможно оптимизировать эффективность кода и числовую точность в то же время. Если внутреннее правило не удовлетворяет ваши определенные потребности для числовой точности или производительности, используйте одну из следующих опций:
Задайте тип выходных данных явным образом.
Явным образом задайте тип данных по умолчанию, такой как fixdt(1,32,16)
и затем используйте Fixed-Point Tool, чтобы предложить типы данных для вашей модели. Для получения дополнительной информации смотрите fxptdlg
.
Чтобы задать ваше собственное правило наследования, используйте Inherit: Inherit via back propagation
и затем используйте блок Data Type Propagation. Примеры того, как использовать этот блок, доступны в библиотеке Signal Attributes блок Data Type Propagation Examples.
Inherit: Inherit via back propagation
— Использует тип данных ведущего блока.
Блочный параметр: 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 output data type setting 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
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к самому близкому даже целое число. Эквивалентный Фиксированной точке 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 (Results in variable-size output signal)
— Позвольте входные сигналы с различными размерамиoff
(значение по умолчанию) | on
Установите этот флажок, чтобы позволить входные сигналы с различными размерами.
On
— Позволяет входные сигналы с различными размерами, и распространите размер входного сигнала к выходному сигналу. В этом режиме блок производит выходной сигнал переменного размера.
'off'
Требует, чтобы все нескалярные сигналы ввода данных были одного размера.
Параметр: AllowDiffInputSizes |
Ввод: символьный вектор |
Значение: 'on' | 'off' |
Значение по умолчанию: 'off' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Для получения дополнительной информации о генерации HDL-кода, смотрите Индексный Вектор.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.