EQ (=)
EQ 指令可将第一个输入与第二个输入进行比较,以确定整型、实型、时间、日期和字符串数据类型是否相等。
操作详细信息︰
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 Micro810、L20E、L50E 和 L70E 控制器。
EQ

参数 | 参数类型 | 数据类型 | 描述 | |
|---|---|---|---|---|
EN | 输入 | BOOL | 设置为 True 时,将启用指令。
| |
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 (<) 比较实型值的示例

EQ 示例
EQ 功能块图示例

EQ 梯形图程序示例

(* ST Equivalence: *) aresult := (10 = 25); (* aresult is FALSE *) mresult := ('ab' = 'ab'); (* mresult is TRUE *)
提供反馈