exponenta event banner

Реляционный оператор

Выполнить указанную реляционную операцию на входах

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

    Операции Simulink/Logic и Bit

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

    Кодер HDL/Операции с плавающей точкой HDL

    Кодер HDL/логические и битовые операции

  • Relational Operator block

Описание

Блок реляционного оператора выполняет указанную реляционную операцию на входе. Значение, выбранное для параметра Relational operator, определяет, принимает ли блок один или два входных сигнала.

Режим с двумя входами

По умолчанию блок «Реляционный оператор» сравнивает два входа с помощью указанного параметра «Реляционный оператор». Первый вход соответствует верхнему входному порту, а второй вход - нижнему входному порту. (Описание порядка портов для различных ориентаций блоков см. в разделе Расположение порта после поворота или разворота.)

В режиме с двумя входами можно указать одну из следующих операций:

ОперацияОписание

==

True, если первый вход равен второму входу

~=

True, если первый вход не равен второму входу

<

True, если первый вход меньше второго входа

<=

True, если первый вход меньше или равен второму входу

>=

True, если первый вход больше или равен второму входу

>

True, если первый вход больше, чем второй вход

Входные данные можно указать как скаляры, массивы или комбинацию скаляра и массива.

Для...Выходные данные...
Скалярные входыСкаляр
Входные данные массиваМассив одинаковых размеров, где каждый элемент является результатом поэлементного сравнения входных массивов
Смешанные скалярные и матричные входыМассив, где каждый элемент является результатом сравнения между скаляром и соответствующим элементом массива

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

Тип выходных данных можно указать с помощью параметра Тип выходных данных. Выходной сигнал равен 1 для true и 0 для false.

Совет

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

Режим с одним входом

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

ОперацияОписание

isInf

True, если входным значением является Inf

isNaN

True, если входным значением является NaN

isFinite

True, если вход является конечным

Для входных данных, не являющихся плавающими точками, блок выдает следующие выходные данные.

Тип данныхОперацияБлочный выход
  • Фиксированная точка

  • Булев

  • Встроенное целое число

isInf

Ложный

isNaN

Ложный

isFinite

Правда

Правила распространения типов данных

Следующие правила применяются для распространения типов данных, если блок имеет один или несколько входных портов с неопределенными типами данных.

Когда блок в...И...Блок использует...
Режим с двумя входамиОба входных порта имеют неопределенные типы данных double как тип данных по умолчанию для обоих входов
Один входной порт имеет неопределенный тип данныхТип данных из указанного входного порта в качестве типа данных по умолчанию для другого порта
Режим с одним входомВходной порт имеет неопределенный тип данных double как тип данных по умолчанию для ввода

Порты

Вход

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

Первый входной сигнал, заданный как скаляр, вектор или матрица.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated
Поддержка комплексного номера: Да

Второй входной сигнал, заданный как скаляр, вектор или матрица.

Зависимости

Чтобы включить этот порт, установите для оператора Relational значение ==, ~=, <, <=, >=, или >.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated
Поддержка комплексного номера: Да

Продукция

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

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

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

Параметры

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

Главный

Укажите операцию сравнения двух входов или определения типа сигнала одного входа.

  • == - True, если первый вход равен второму входу

  • ~= - True, если первый вход не равен второму входу

  • < - True, если первый вход меньше второго

  • <= - True, если первый вход меньше или равен второму входу

  • >= - True, если первый вход больше или равен второму входу

  • > - True, если первый вход больше, чем второй вход

  • isInf - True, если входным значением является Inf

  • isNaN - True, если входным значением является NaN

  • isFinite - True, если вход является конечным

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

Параметр блока: Operator
Текст: символьный вектор
Значения: '==' | '~=' | '<' | '<=' | '>=' | '>' | 'isInf' | 'isNaN' | 'isFinite'
По умолчанию: '<='

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

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

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

Укажите время выборки в качестве значения, отличного от -1. Дополнительные сведения см. в разделе Указание времени образца.

Зависимости

Этот параметр не отображается, если для него явно не задано значение, отличное от -1. Дополнительные сведения см. в разделе Блоки, для которых образец времени не рекомендуется.

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

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

Тип данных

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

Зависимости

Этот флажок недоступен, если для оператора Relational установлено значение isInf, isNaN, или isFinite потому что в этих режимах блок имеет только один входной порт.

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

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

Укажите тип выходных данных. При выборе:

  • boolean - Блочный выход имеет тип данных boolean.

  • Inherit: Logical (see Configuration Parameters: Optimization) - Блок использует параметр конфигурации Implement logic signals as Boolean data для указания типа выходных данных (см. Реализация логических сигналов как Boolean data (vs. double)).

    Примечание

    Эта опция поддерживает модели, созданные до boolean параметр был доступен. Используйте один из других вариантов, предпочтительно boolean, для новых моделей.

  • fixdt(1,16) - Вывод блока имеет указанный тип данных с фиксированной точкой fixdt(1,16).

    Совет

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

  • <data type expression> - Вывод блока имеет тип данных, указанный в качестве выражения типа данных, например: Simulink.NumericType.

    Совет

    Для ввода встроенного типа данных (double, single, int8, uint8, int16, uint16, int32, или uint32), заключите выражение в одинарные кавычки. Например, введите 'double' вместо double.

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

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Logical (see Configuration Parameters: Optimization)' | 'boolean' | 'fixdt(1,16)' | '<data type expression>'
По умолчанию: 'boolean'

Укажите режим округления для операций с фиксированной точкой. Можно выбрать:

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'
По умолчанию: 'Simplest'

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

Типы данных

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

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

yes

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

yes

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

yes

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

yes

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

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

.

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

.

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

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