exponenta event banner

Выключатель

Объединение нескольких сигналов в один сигнал

  • Библиотека:
  • Simulink/Часто используемые блоки

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

    Кодер HDL/обычно используемые блоки

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

  • Switch block

Описание

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

Поддержка шины

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

  • Все шины должны быть эквивалентными (одинаковая иерархия с одинаковыми именами и атрибутами для всех элементов).

  • Все сигналы на входе невиртуальной шины в блок коммутатора должны иметь одинаковое время выборки. Требование сохраняется, даже если элементы связанного объекта шины задают наследуемое время выборки.

Для изменения времени выборки отдельного сигнала или всех сигналов на шине можно использовать блок Rate Transition. Дополнительные сведения см. в разделе Изменение времени выборки для невиртуальных шин и блоков с поддержкой шины.

В качестве входного сигнала блока коммутатора можно использовать массив шин. Дополнительные сведения об определении и использовании массива шин см. в разделе Группирование невиртуальных шин в массивах шин. При использовании массива шин задайте для параметра Threshold скалярное значение.

Ограничения

  • Если входные данные блока Switch являются шинами, имена элементов обеих шин должны быть одинаковыми. Использование одинаковых имен элементов гарантирует, что выходная шина будет иметь одинаковые имена элементов независимо от того, какую входную шину выберет блок. Чтобы убедиться, что модель соответствует этому требованию, используйте объект шины для определения шин и установите диагностику несоответствия имен элементов в значение error. Дополнительные сведения см. в разделе Обзор диагностики подключения.

Порты

Вход

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

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

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

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

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

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

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

Продукция

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

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

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

Параметры

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

Главный

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

u2 >= Threshold

Проверяет, превышает ли управляющий вход пороговое значение или равно ему.

u2 > Threshold

Проверяет, превышает ли входной управляющий сигнал пороговое значение.

u2 ~=0

Проверяет, не является ли управляющий вход ненулевым.

Примечание

Блок коммутатора не поддерживает u2 ~=0 режим для перечисляемых типов данных.

Совет

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

  • u2 >= Threshold, где пороговое значение равно 1

  • u2 > Threshold, где пороговое значение равно 0

  • u2 ~=0

В противном случае блок Switch игнорирует пороговые значения и использует логическое значение для маршрутизации сигнала. При значении 1 блок проходит первый вход, а при значении 0 блок проходит третий вход. Предупреждающее сообщение, описывающее это поведение, также появляется в окне команд MATLAB ®.

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

Параметр блока: Criteria
Текст: символьный вектор
Значение: 'u2 >= Threshold' | 'u2 > Threshold' | 'u2 ~=0'
По умолчанию: 'u2 >= Threshold'

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

Чтобы задать нескалярный порог, используйте скобки. Например, допустимы следующие записи:

  • [1 4 8 12]

  • [MyColors.Red, MyColors.Blue]

Зависимости

Установка критериев для передачи первого ввода u2 ~=0 отключает этот параметр.

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

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

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

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

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

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

Нажмите кнопку Показать помощник по типам данных, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.

Требовать, чтобы все входные данные имели одинаковый тип данных.

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

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

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

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

Примечание

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

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

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

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

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

Примечание

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

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

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

Укажите тип выходных данных.

Inherit: Inherit via internal rule

Для определения типа выходных данных используются следующие правила.

Тип данных первого входного портаТип выходных данных
Имеет больший положительный диапазон, чем третий входной портУнаследовано от первого входного порта
Имеет тот же положительный диапазон, что и третий входной портУнаследовано от третьего входного порта
Имеет меньший положительный диапазон, чем третий входной порт
Inherit: Inherit via back propagation

Использует тип данных управляющего блока.

Inherit: Inherit same as first input

Использует тип данных первого порта ввода данных.

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' | '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)' | Enum: <class name> | 'string' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в этом блоке. Дополнительные сведения см. в разделе Блокировка параметров типа выходных данных (конструктор фиксированных точек).

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

Параметр блока: 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'

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

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

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

Примеры модели

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

Типы данных

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

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

yes

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

yes

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

yes

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

yes

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

.

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

.

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

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