西门子PLC比较值指令

2019年1月12日16:02:13 发表评论 32 阅读

比较值指令

表格 8- 28 比较指令

1.对于 LAD 和 FBD: 单击指令名称(如“==”),以从下拉列表中更改比较类型。 单击“???”并从下拉列表中选择数据类型。

表格 8- 29 参数的数据类型

参数 数据类型 说明
IN1, IN2 Byte, Word, DWord, SInt, Int, DInt, USInt, UInt, UDInt,

Real, LReal, String, ,WString, Char, Char, Time, Date, TOD, DTL,常数

要比较的值

表格 8- 30 比较说明

关系类型 满足以下条件时比较结果为真 ...
= IN1 等于 IN2
<> IN1 不等于 IN2
>= IN1 大于或等于 IN2
<= IN1 小于或等于 IN2
> IN1 大于 IN2
< IN1 小于 IN2

IN_Range(范围内值)和  OUT_Range(范围外值)指令

表格 8- 31 范围内值和范围外值指令

1 对于 LAD 和 FBD: 单击“???”并从下拉列表中选择数据类型。

表格 8- 32 参数的数据类型

参数 数据类型1 说明
MIN, VAL, MAX SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, 常数 比较器输入

1 输入参数 MIN、VAL 和 MAX 的数据类型必须相同。

  • 满足以下条件时IN_RANGE比较结果为真: MIN <= VAL <= MAX
  • 满足以下条件时OUT_RANGE 比较结果为真: VAL < MIN 或 VAL > MAX

OK(检查有效性)和  NOT_OK(检查无效性)指令

表格 8- 33 OK(检查有效性)和 Not OK(检查无效性)指令

1.对于 LAD 和 FBD: 如果该 LAD 触点为 TRUE,则激活该触点并传递能流。 如果该 FBD 功能框为TRUE,则功能框输出为 TRUE。

表格 8- 34 参数的数据类型

参数 数据类型 说明
IN Real, LReal 输入数据

表格 8- 35 操作

指令 满足以下条件时 REAL 数测试结果为 TRUE
OK 输入值为有效实数 1
NOT_OK 输入值不是有效实数 1

1 如果 Real 或 LReal 类型的值为 +/- INF(无穷大)、NaN(不是数字)或者非标准化的值,则其无效。 非标准化的值是非常接近于 0 的数字。 CPU 在计算中用 0 替换非标准化的值。

变型和数组比较指令

 相同和不同比较指令

S7-1200 CPU 提供了用于查询 Variant操作数所指向的变量的数据类型是否与另一个操作数的数据类型相同的指令。

此外,S7-1200 CPU还提供了用于查询数组元素的数据类型是否与另一个操作数的数据类型相同的指令。

在这些指令中,将 <Operand1> 与 <Operand2> 进行比较。 <Operand1> 的数据类型必须为 Variant。<Operand2> 可以是 PLC 数据类型的基本数据类型。 在 LAD 和 FBD 中<Operand1> 是指令上方的操作数。 在 LAD 中,<Operand2> 是指令下方的操作数。对于所有指令,如果通过相同或不同测试,则逻辑运算结果 (RLO) 为 1 (true),否则为 0 (false)。

相同和不同类型比较指令如下所示:

表格 8- 36 EQ_Type(数据类型与变量的数据类型进行比较所得的结果为 EQUAL) NE_Type(数据类型与变量的数据类型进行比较所得的结果为 UNEQUAL) EQ_ElemType(ARRAY 元素的数据类型与变量的数据类型进行比较所得的结果为 EQUAL) NE_ElemType(ARRAY 元素的数据类型与变量的数据类型进行比较所得的结果为 UNEQUAL) 指令

表格 8- 37 参数的数据类型

参数 数据类型 描述
Operand1 Variant 第一个操作数
Operand2 位字符串、整数、浮点数、定时器、日 期和时间、字符串、ARRAY、PLC 数据类型 第二个操作数

空比较指令

可以使用指令 IS_NULL 和 NOT_NULL 来决定输入是否实际上指向对象。 对于两个指令来说,<Operand> 必须为 Variant 数据类型。 空比较指令如下所示:

表格 8- 38 IS_NULL(查询等于零的指针) NOT_NULL(查询等于零的指针)指令

IS_ARRAY(检查数组)

可以使用“检查数组”指令来查询 Variant 是否指向 Array 数据类型的变量。

<操作数> 必须为 Variant 数据类型。 如果操作数是数组,则指令返回 1 (true)。

表格 8- 40 IS_ARRAY(检查数组)

weinxin
plc基础知识
每一个PLC工程师都应该关注的微信公众账号

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: