Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Logical Operator

对输入执行指定的逻辑运算

  • 库:
  • Simulink / Commonly Used Blocks

    Simulink / Logic and Bit Operations

    HDL Coder / Commonly Used Blocks

    HDL Coder / Logic and Bit Operations

  • Logical Operator block

描述

Logical Operator 模块对其输入执行指定的逻辑运算。输入值为非零值时为 true (1),为零时则为 false (0)。

使用运算符参数列表选择连接输入的布尔运算。如果您选择“矩形”作为图标形状属性,所选运算符的名称将显示在模块图标上。如果您选择“不同”作为图标形状属性,则所选运算符的名称不会显示在模块图标上。下表显示了支持的运算:

运算描述

AND

如果所有输入均为 TRUE,则为 TRUE

OR

如果至少有一个输入为 TRUE,则为 TRUE

NAND

如果至少有一个输入为 FALSE,则为 TRUE

NOR

如果所有输入均不为 TRUE,则为 TRUE

XOR

如果有奇数个输入为 TRUE,则为 TRUE

NXOR

如果有偶数个输入为 TRUE,则为 TRUE

NOT

如果输入为 FALSE,则为 TRUE

如果选择“不同”作为图标形状,则模块的外观会指示其功能。Simulink® 软件将按照 IEEE® 逻辑函数的图形符号标准,显示所选运算符的独特形状。

要指定输入端口的数量,请使用输入端口数目参数。使用输出数据类型参数指定输出类型。如果为 TRUE,则输出值为 1,如果为 FALSE,则输出值为 0

注意

输出数据类型应该准确表示零。满足此条件的数据类型包括有符号整数和无符号整数,以及所有浮点数据类型。

输出大小取决于输入向量大小和所选运算符:

  • 如果模块有多个输入,则任何非标量输入都必须具有相同的维度。例如,如果有任何输入是 2×2 数组,则所有其他非标量输入也必须是 2×2 数组。

    标量输入将扩展为与非标量输入具有相同的维度。

    如果模块有多个输入,则输出与输入具有相同的维度(标量扩展后),并且每个输出元素都是将指定逻辑运算应用于相应输入元素的结果。例如,如果指定运算为 AND,输入为 2×2 数组,则输出为 2×2 数组,其左上角的元素是将 AND 应用于输入的左上角元素的结果,以此类推。

  • 对于单个向量输入,模块会将运算(除 NOT 运算符外)应用于向量的所有元素。输出始终为标量。

  • NOT 运算符仅接受一个输入,该输入可以是标量也可以是向量。如果输入为向量,则输出为相同大小的向量,其中包含输入向量元素的逻辑补码。

当配置为多输入 XOR 门时,此模块将按照 IEEE 逻辑元素标准的规定执行加法双模运算。

端口

输入

全部展开

第一个输入信号,指定为标量、向量或矩阵。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

第二个输入信号,指定为标量、向量或矩阵。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

第 N 个输入信号,指定为标量、向量或矩阵。

依存关系

要启用其他输入端口,请使用输入端口数目参数。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

输出

全部展开

输出信号,由 0 和 1 组成,具有与输入相同的维度。您可以使用要求所有输入和输出具有相同的数据类型输出数据类型参数控制输出数据类型。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

参数

全部展开

常设

选择要应用于模块输入的逻辑运算符。

  • AND” - 如果所有输入都为 TRUE,则为 T

  • OR” - 如果至少有一个输入为 TRUE,则为 TRUE

  • nand” - 如果至少有一个输入为 FALSE,则为 TRUE

  • NOR” - 如果所有输入均不为 TRUE,则为 TRUE

  • XOR” - 如果有奇数个输入为 TRUE,则为 TRUE

  • NXOR” - 如果有偶数个输入为 TRUE,则为 TRUE

  • NOT” - 如果输入为 FALSE,则为 TRUE

编程用法

模块参数Operator
类型:字符向量
值:'AND' | 'OR' | 'NAND' | 'NOR' | 'XOR' | 'NXOR' | 'NOT'
默认值:'AND'

将模块输入的个数指定为正整数。

编程用法

模块参数Inputs
类型:字符向量
值:正整数
默认值:'2'

依存关系

运算符设置为 “NOT” 时,此参数不可用。

指定模块图标的形状。

  • 矩形” - 生成显示所选运算符名称的矩形模块。

  • 不同” - 按照 IEEE 标准针对所选运算符使用图形符号。

编程用法

模块参数IconShape
类型:字符向量
'rectangular' | 'distinctive'
默认值:'rectangular'

将采样时间指定为 -1 以外的值。有关详细信息,请参阅指定采样时间

依存关系

此参数不可见,除非将其显式设置为 -1 以外的值。要了解详细信息,请参阅不建议设置采样时间的模块

编程用法

模块参数:SampleTime
类型:字符串标量或字符向量
默认值:"-1"

数据类型

若要求所有模块输入和输出具有相同的数据类型,请选中此复选框。清除此复选框后,输入和输出可以具有不同数据类型。

编程用法

模块参数AllPortsSameDT
类型:字符向量
值:'off' | 'on
默认值:'off'

指定输出数据类型。各选项的意义如下:

  • boolean” - 模块输出的数据类型为 boolean

  • Inherit: Logical(请参阅配置参数:优化)” - 模块使用将逻辑信号实现为布尔数据配置参数指定输出数据类型(请参阅将逻辑信号实现为布尔数据(而不是双精度数据))。

    注意

    此选项支持在 boolean 选项可用之前创建的模型。对于新模型,请使用其他选项之一,首选 boolean

  • fixdt(1,16)” - 模块输出具有指定的定点数据类型 fixdt(1,16)

    提示

    点击显示数据类型助手按钮 以显示数据类型助手,帮助您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型

  • <data type expression>” - 模块输出具有您指定为数据类型表达式的数据类型,例如 Simulink.NumericType

    提示

    要输入内置数据类型(doublesingleint8uint8int16uint16int32uint32),请将表达式用单引号引起来。例如,输入 'double' 而不是 double

编程用法

模块参数OutDataTypeStr
类型:字符向量
值:'Inherit: Logical (see Configuration Parameters: Optimization)' | 'boolean' | 'fixdt(1,16)' | '<data type expression>'
默认值:'boolean'

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出