exponenta event banner

Вектор индекса

Переключение выхода между различными входами на основе значения первого входа

  • Библиотека:
  • Одновременная маршрутизация/маршрутизация сигналов

    Кодер HDL/маршрутизация сигналов

  • Index Vector block

Описание

Блок Index Vector представляет собой специальную конфигурацию блока Multiport Switch, в которой указывается один вход данных, а управляющий вход основан на нуле. Блочный выход - это элемент входного вектора, индекс которого совпадает с управляющим входом. Например, если входной вектор [18 15 17 10] и управляющий вход 3, элемент, соответствующий индексу 3 (на основе нуля), равен 10 и становится выходным значением.

Настройка блока мультипортового коммутатора для работы в качестве блока вектора индекса 1 и порядок портов данных в Zero-based contiguous.

Для получения дополнительной информации о блоке Multiport Switch см. справочную страницу блока Multiport Switch.

Порты

Вход

развернуть все

Управляющий сигнал, заданный как скаляр. Когда управляющий вход не является целым значением, блок усекает значение до целого числа путем округления до нуля.

Для получения информации об управляющих сигналах перечисляемого типа см. Руководство по установке параметров для перечисляемого управляющего порта на странице «Multiport Switch block ref».

Ограничения

  • Если управляющий сигнал является числовым, то управляющий сигнал не может быть сложным.

  • Если управляющий сигнал является перечислимым сигналом, блок использует значение базового целого числа для выбора порта данных.

  • Если базовое целое число не соответствует входу данных, возникает ошибка.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Первый ввод данных, заданный как скаляр или вектор. Порт помечается как 0 при установке для параметра Порядок портов данных значения Zero-based contiguousи с меткой 1 при установке для параметра Порядок портов данных значения One-based contiguous.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | bus | enumerated | string

Продукция

развернуть все

Блок выводит выбранное значение из вектора входных данных в соответствии со значением управляющего сигнала. Выходные данные являются скалярными.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Параметры

развернуть все

Главный

Укажите тип заказа для портов ввода данных.

  • Zero-based contiguous - Блок использует индексирование на основе нуля для упорядочения смежных портов данных. Это значение по умолчанию для блока «Вектор индекса».

  • One-based contiguous - Block использует индексирование на основе одного объекта для упорядочения смежных портов данных. Это значение по умолчанию для блока многопортового коммутатора.

  • Specify indices - Блок использует несмежное индексирование для упорядочения портов данных. Это значение поддерживается только для конфигураций с двумя или более портами входных данных.

Совет

  • Если порт управления имеет перечисляемый тип, выберите Specify indices.

  • При выборе Zero-based contiguous или One-based contiguousубедитесь, что порт управления не имеет перечисляемого типа. Эта конфигурация устарела и приводит к ошибке. Для замены каждого блока мультипортового коммутатора данной конфигурации блоком, явно указывающим индексы портов данных, в модели можно запустить помощник по обновлению. См. раздел Модернизация модели.

  • Избегайте ситуаций, когда блок содержит неиспользуемые порты данных для моделирования или генерации кода. Если порт управления имеет фиксированный или встроенный тип данных, убедитесь, что все индексы портов данных могут быть представлены этим типом. В противном случае происходит следующее поведение блока:

    Если блок имеет неиспользуемые порты данных и порядок портов данных:Блок производит:
    Zero-based contiguous или One-based contiguous Предупреждение
    Specify indices Ошибка

Зависимости

Выбор Zero-based contiguous или One-based contiguous включает параметр Number of data ports.

Выбор Specify indices включает параметр Data port indices.

Программное использование

Параметр блока: DataPortOrder
Текст: символьный вектор
Значения: 'Zero-based contiguous' | 'One-based contiguous' | 'Specify indices'
По умолчанию: 'Zero-based contiguous'

Укажите количество портов ввода данных в блоке.

Зависимости

Чтобы включить этот параметр, установите для параметра Data port order значение Zero-based contiguous или One-based contiguous.

Программное использование

Параметр блока: Inputs
Текст: символьный вектор
Значения: целое число от 1 до 65536
По умолчанию: '1'

Атрибуты сигнала

Установите этот флажок, чтобы все порты ввода данных имели одинаковый тип данных. При снятии этого флажка блок позволяет входам портов данных иметь различные типы данных.

Программное использование

Параметр блока: InputSameDT
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Меньшее значение диапазона вывода, которое проверяет Simulink ®.

Simulink использует минимум для выполнения:

Примечание

Минимальный выходной сигнал не насыщает и не отсекает фактический выходной сигнал. Вместо этого используйте блок «Насыщенность».

Программное использование

Параметр блока: OutMin
Текст: символьный вектор
Значения: '[ ]'| скаляр
По умолчанию: '[ ]'

Верхнее значение диапазона вывода, которое проверяет Simulink.

Simulink использует максимальное значение для выполнения:

Примечание

Выходной максимум не насыщает и не отсекает фактический выходной сигнал. Вместо этого используйте блок «Насыщенность».

Программное использование

Параметр блока: OutMax
Текст: символьный вектор
Значения: '[ ]'| скаляр
По умолчанию: '[ ]'

Выберите тип данных для вывода. Тип может быть унаследован, указан непосредственно или выражен как объект типа данных, например Simulink.NumericType.

При выборе унаследованной опции блок ведет себя следующим образом:

  • Inherit: Inherit via internal rule- Simulink выбирает тип данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, принимая во внимание свойства встроенного целевого оборудования. При изменении параметров встроенного целевого объекта тип данных, выбранный внутренним правилом, может измениться. Программное обеспечение не всегда может оптимизировать эффективность кода и числовую точность одновременно. Если внутреннее правило не соответствует конкретным требованиям к числовой точности или производительности, используйте один из следующих вариантов.

    • Явно укажите тип выходных данных.

    • Явно укажите тип данных по умолчанию, например fixdt(1,32,16) а затем с помощью инструмента «Фиксированная точка» предложите типы данных для модели. Дополнительные сведения см. в разделе fxptdlg (Конструктор фиксированных точек).

    • Чтобы указать собственное правило наследования, используйте Inherit: Inherit via back propagation а затем используйте блок распространения типа данных. Примеры использования этого блока доступны в блоке Примеры распространения типов данных библиотеки атрибутов сигнала.

  • Inherit: Inherit via back propagation - использует тип данных управляющего блока.

  • Inherit: Same as first data input - использует тип данных первого порта ввода данных.

Программное использование

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Inherit via back propagation' | 'Inherit: Same as first input' | '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' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Выберите этот параметр, чтобы заблокировать тип выходных данных этого блока от изменений, внесенных инструментом Fixed-Point Tool и помощником Fixed-Point. Дополнительные сведения см. в разделе Использование параметров типа выходных данных блокировки (конструктор фиксированных точек).

Программное использование

Параметр блока: LockScale
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Выберите один из этих режимов округления.

Ceiling

Округляет как положительные, так и отрицательные числа в сторону положительной бесконечности. Эквивалентно MATLAB ®ceil функция.

Convergent

Округляет число до ближайшего представимого значения. Если возникает связь, округляется до ближайшего чётного целого числа. Эквивалентно Designer™ фиксированной точки convergent функция.

Floor

Округляет как положительные, так и отрицательные числа в сторону отрицательной бесконечности. Эквивалентно MATLAB floor функция.

Nearest

Округляет число до ближайшего представимого значения. Если возникает галстук, округляется до положительной бесконечности. Эквивалентно конструктору фиксированных точек nearest функция.

Round

Округляет число до ближайшего представимого значения. Если возникает связь, округляет положительные числа в сторону положительной бесконечности и округляет отрицательные числа в сторону отрицательной бесконечности. Эквивалентно конструктору фиксированных точек round функция.

Simplest

Автоматический выбор между скруглением по направлению к полу и скруглением по направлению к нулю для создания кода округления, который является максимально эффективным.

Zero

Округляет число до нуля. Эквивалентно MATLAB fix функция.

Программное использование

Параметр блока: RndMeth
Текст: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
По умолчанию: 'Floor'

См. также

Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

Укажите, будут ли переполнения насыщаться или переноситься.

  • off - переполнение до соответствующего значения, которое может представлять тип данных.

    Например, число 130 не помещается в знаковое 8-битовое целое число и переносится в -126.

  • on - Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных.

    Например, переполнение, связанное со значащим 8-битным целым числом, может насытиться до -128 или 127.

Совет

  • Рекомендуется установить этот флажок, если модель имеет возможное переполнение и требуется явная защита от насыщения в сгенерированном коде.

  • Рекомендуется снять этот флажок, если требуется оптимизировать эффективность созданного кода.

    Снятие этого флажка также позволяет избежать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов.

  • Если этот флажок установлен, насыщение применяется ко всем внутренним операциям блока, а не только к выводу или результату.

  • В общем, процесс генерации кода может обнаруживать, когда переполнение невозможно. В этом случае генератор кода не создает код насыщения.

Программное использование

Параметр блока: SaturateOnIntegerOverflow
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Установите этот флажок, чтобы разрешить ввод сигналов различных размеров.

  • On - Позволяет вводить сигналы различных размеров и распространять размер входного сигнала на выходной сигнал. В этом режиме блок формирует выходной сигнал переменного размера.

  • Off - Требуется, чтобы все нескалярные входные сигналы данных имели одинаковый размер.

Программное использование

Параметр: AllowDiffInputSizes
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'off'

Характеристики блока

Типы данных

Boolean | bus | double | enumerated | fixed point | half | integer | single

Прямой проход

yes

Многомерные сигналы

yes

Сигналы переменного размера

yes

Обнаружение пересечения нулей

no

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

Создание кода ПЛК
Создание структурированного текстового кода с помощью Coder™ Simulink ® PLC

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

Представлен до R2006a