Логический оператор

Выполните заданную логическую операцию на входе

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

    Simulink / Логика и Битовые операции

    HDL Coder / Обычно Используемые Блоки

    HDL Coder / Логика и Битовые операции

Описание

Блок Logical Operator выполняет заданную логическую операцию на своих входных параметрах. Входное значение верно (1), если это является ненулевым и ложь (0), если это - нуль.

Вы выбираете Логическую операцию, соединяющую входные параметры со списком параметров Operator. Если вы выбираете rectangular как свойство Icon shape, имя выбранного оператора отображается на значке блока. Если вы выбираете distinctive как свойство Icon shape, имя выбранного оператора не отображается на значке блока. Эта таблица показывает поддерживаемые операции:

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

И

ВЕРНЫЙ, если все входные параметры ВЕРНЫ

ИЛИ

ВЕРНЫЙ, если по крайней мере один вход ВЕРЕН

NAND

ВЕРНЫЙ, если по крайней мере один вход является ЛОЖНЫМ

NOR

ВЕРНЫЙ, когда никакие входные параметры не ВЕРНЫ

Xor

ВЕРНЫЙ, если нечетное число входных параметров ВЕРНО

NXOR

ВЕРНЫЙ, если четное число входных параметров ВЕРНО

НЕТ

ВЕРНЫЙ, если вход является ЛОЖНЫМ

Если вы выбираете distinctive как Icon shape, внешний вид блока указывает на свою функцию. Программное обеспечение Simulink® отображает отличительную форму для выбранного оператора, соответствуя IEEE® Standard Graphic Symbols для Логических функций.

Чтобы задать количество входных портов, используйте параметр Number of input ports. Выходной тип задан с помощью параметра Output data type. Выходным значением является 1 если ВЕРНЫЙ и 0 если ЛОЖЬ.

Примечание

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

Размер вывода зависит от размера входного вектора и выбранного оператора:

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

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

    Если блок имеет больше чем один вход, вывод имеет те же размерности как входные параметры (после скалярного расширения), и каждый выходной элемент является результатом применения заданной логической операции к соответствующим входным элементам. Например, если заданной операцией является AND, и входные параметры являются массивами 2 на 2, вывод является массивом 2 на 2, левый верхний элемент которого является результатом применения AND к левым верхним элементам входных параметров и так далее.

  • Для одного векторного входа блок применяет операцию (кроме НЕ оператора) ко всем элементам вектора. Вывод всегда является скаляром.

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

Когда сконфигурировано как логический элемент мультивхода XOR, этот блок выполняет сложение по модулю две операции, как передано под мандат Стандартом IEEE для Логических Элементов.

Порты

Входной параметр

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

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

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

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

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

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

Зависимости

Чтобы включить дополнительные входные порты, используйте параметр Number of input ports.

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

Вывод

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

Выходной сигнал, состоя из нулей и единиц, с теми же размерностями как вход. Вы управляете типом выходных данных с параметрами Output data type и Require all inputs and output to have the same data type.

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

Параметры

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

Основной

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

  • AND — T, если все входные параметры ВЕРНЫ

  • OR — ВЕРНЫЙ, если по крайней мере один вход ВЕРЕН

  • NAND — ВЕРНЫЙ, если по крайней мере один вход является ЛОЖНЫМ

  • NOR — ВЕРНЫЙ, когда никакие входные параметры не ВЕРНЫ

  • Xor ВЕРНЫЙ, если нечетное число входных параметров ВЕРНО

  • NXOR — ВЕРНЫЙ, если четное число входных параметров ВЕРНО

  • Xor ВЕРНЫЙ, если вход является ЛОЖНЫМ

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

Параметры блоков: Operator
Ввод: символьный вектор
Значения: 'AND' | 'OR' | 'NAND' | 'NOR' | 'XOR' | 'NXOR' | 'NOT'
Значение по умолчанию: 'AND'

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

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

Параметры блоков: Inputs
Ввод: символьный вектор
Значения: положительное целое число
Значение по умолчанию: '2'

Зависимости

Этот параметр не доступен, когда вы устанавливаете Operator на NOT.

Задайте форму значка блока.

  • rectangular — Результаты в прямоугольном блоке, который отображает имя выбранного оператора.

  • distinctive — Используйте графический символ для выбранного оператора, как задано стандартом IEEE.

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

Параметры блоков: IconShape
Ввод: символьный вектор
Значения: 'rectangular' | 'distinctive'
Значение по умолчанию: 'rectangular'

Задайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.

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

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

Тип данных

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

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

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

Задайте тип выходных данных. Когда вы выбираете:

  • boolean — Блок вывод имеет тип данных boolean.

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

    Примечание

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

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

    Совет

    Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

  • <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'

Образцовые примеры

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

Типы данных

Boolean | double | fixed point | integer | single

Прямое сквозное соединение

yes

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

yes

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

yes

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

no

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

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