EQ (=)

EQ 指令可将第一个输入与第二个输入进行比较,以确定整型、实型、时间、日期和字符串数据类型是否相等。
操作详细信息︰
  • 不建议对 TONTPTOF 指令块进行时间值相等测试。
  • 不建议使用实型数据类型进行相等比较,因为数学运算中数字的舍入方法与变量输出画面中出现的数字不同。结果会造成两个输出值可能在显示器中显示相等,尽管评估结果仍为错误。例如,对 23.500001 与 23.499999 进行比较时,它们在变量输入显示屏上都将显示为 23.5,但在控制器上则不相等。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 Micro810、L20E、L50E 和 L70E 控制器。
EQ
EQ
EQ 参数
参数
参数类型
数据类型
描述
EN
输入
BOOL
设置为 True 时,将启用指令。
  • TRUE: 执行当前计算。
  • FALSE:不执行比较。
适用于梯形图程序。
i1
输入
BOOL
SINT
USINT
BYTE
INT
UINT
WORD
DINT
UDINT
DWORD
LINT
ULINT
LWORD
REAL
LREAL
TIME
DATE
STRING
所有输入的数据类型必须相同。
时间输入适用于结构化文本、梯形图和功能块图语言。
不建议实型数据类型进行相等值比较。
i2
输入
BOOL
SINT
USINT
BYTE
INT
UINT
WORD
DINT
UDINT
DWORD
LINT
ULINT
LWORD
REAL
LREAL
TIME
DATE
STRING
o1
输出
BOOL
TRUE(如果 i1 = i2)。

使用 SUB (-)、ABS 和 LT (<) 比较实型值的示例

不建议使用实型数据类型进行相等比较,因为这比较的是经过舍入的数字。两个输出值在
FactoryTalk Design Workbench
画面中可能显示为相等,但评估为 False。
例如,对 23.500001 与 23.499999 进行比较时,它们在变量输入显示屏上都将显示为 23.5,但在控制器上则不相等。
要测试两个实型数据类型的值是否相等,您可以使用 SUB 指令得出两值之差,然后判断该差值是否小于设定的精度值。有关比较两个实型数据类型的值的信息,请参见以下 LD 程序示例。
使用 SUB (-)、ABS 和 LT (<) 比较实型值的示例
使用 SUB (-)、ABS 和 LT (<) 比较实型值的示例

EQ 示例

EQ 功能块图示例
EQ 功能块图示例
EQ 梯形图程序示例
EQ 梯形图程序示例
(* ST Equivalence: *) aresult := (10 = 25); (* aresult is FALSE *) mresult := ('ab' = 'ab'); (* mresult is TRUE *)
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal