1.比较指令 (CMP )

CMP 是一条输入指令。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(1)

操作数:

操作数

数据类型

格式

说明

表达式

SINT INT DINT

REAL

立即数 标签

表达式由被运算符分 隔的标签与/或立即 数组成

说明: CMP 指令执行表达式中指定的算术运算比较。用户要执行的运算由表达式定义。用 运算符, 标签和立即数定义表达式。表达式中的复杂部分用圆括号() 定义。

有效运算符

运算符

说明

最优数据类型

DINT , REAL

-

减/非

DINT , REAL

*

DINT , REAL

/

DINT , REAL

=

等于

DINT , REAL

<

小于

DINT , REAL

<=

小于或等于

DINT , REAL

>

大于

DINT , REAL

>=

大于或等于

DINT , REAL

<>

不等于

DINT , REAL

**

指数

DINT , REAL

ACS

反余弦

REAL

AND

按位与

DINT

ASN

反正弦

REAL

ATN

反正切

REAL

COS

余弦

REAL

DEG

弧度转换成角度

DINT , REAL

FRD

BCD码转换成整数

DINT

LN

自然对数

REAL

L0G

以10为底的对数

REAL

N0T

位补码

DINT

0R

按位0R

DINT

RAD

角度转换成弧度

DINT, REAL

sIN

正弦

REAL

sQR

平方根

DINT, REAL

TAN

正切

REAL

T0D

整数转换成BCD

DINT

X0R

按位异或

DINT

确定运算顺序 指令按预先规定的顺序, 而不必按用户列出的顺序, 执行写入表达式的 运算。可以通过把分组项组合到圆括号内来改变运算顺序, 强制指令在执行其他运算之前执 行圆括号内的运算, 来改变运算顺序。同级运算顺序从左向右执行。

顺序

运算符

1

ACS , ASN , ATN , COS , DEG , FRD , LN , LOG , RAD , SIN , SQR , TAN , TOD

2

**

3

- (取反) , NOT

4

* , /

5

<,<=,>,>=,=

6

-(减) ,

7

AND

8

XOR

9

OR

与专用比较指令相比, 执行一条 CMP 指令速度稍慢而且占用更多的内存。CMP 指令的

优点是用户可以在一条指令内写入复杂的表达式。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(2)

如果 CMP 指令判断表达式为真, 则梯级输出条件被设 置为真。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(3)

如果输入一个没有比较运算符

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(4)

的表达时, 例如, Ivalue_ 1 value_2,则指令计算表达式的数 值:

如果表达式的值是

梯级输出条件被设置为

非零值

零值

2.等于指令 (EQU )

EQU指令是一条输入指令。

如果 value_ 1 与 value_2 相等, 则梯级输出条件被设置为真。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(5)

操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

与源B比较的数值

源B

SINT INT DINT

REAL

立即数 标签

与源A比较的数值

说明: EQU 指令测试源 A 的值与源 B 的值是否相等。REAL 数据类型的数值很少绝对相等。 如果必须确定两个 REAL 值是否相等, 可以使用 LIM 指令。

3.大于或等于指令 (GEQ )

GEQ指令是一条输入指令。

如果 value_ 1 大于或等于 value_2 , 则梯级输出条件被设置为真。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(6)

操作数

操作数

数据类型

格式

说明

源A

SINT INT DINT REAL

立即数 标签

与源B比较的数值

源B

SINT INT DINT REAL

立即数 标签

与源A比较的数值

说明: GEQ 指令测试源 A 的值是否大于或等于源 B 的值。

4.大于指令 (GRT )

GRT指令是一条输入指令。

如果 value_ 1 大于 value_2 , 则梯级输出条件被设置为真。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(7)

操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

与源B比较的数值

源B

SINT INT DINT

REAL

立即数 标签

与源A比较的数值

说明: GRT 指令测试源 A 的值是否大于源 B 的值。

5.小于或等于指令 (LEQ )

GEQ指令是一条输入指令。

如果 value_ 1 小于或等于 value_2 , 则梯级输出条件被设置为真。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(8)

操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

与源B比较的数值

源B

SINT INT DINT

REAL

立即数 标签

与源A比较的数值

6.小于指令 (LES )

LES指令是一条输入指令。

如果 value_小大于 value_2 , 则梯级输出条件被设置为真。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(9)

操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

与源B比较的数值

源B

SINT INT DINT

REAL

立即数 标签

与源A比较的数值

说明: LES 指令测试源 A 的值是否小于源 B 的值。

7.极限比较指令 (LIM )

LIM 指令是一条输入指令。

操作数:

操作数

数据类型

格式

说明

下限

SINT INT DINT

REAL

立即数 标签

下限值

源B测试

SINT INT DINT

REAL

立即数 标签

测试值

上限

SINT INT DINT

REAL

立即数 标签

上限值

说明: LIM 指令比较测试值是否在下限和上限范围内。

LIM 指令举例: 例 1

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(10)

LowLimit<=HighLimit: 当 0<=value<=100 时, 接通 light_ 1.

例 2

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(11)

LowLimit>=HighLimit: 当 value>=0 或 value<=- 100 时, 接通 light_ 1.

8.屏蔽等于指令 (MEQ )

MEQ 指令是一条输入指令。

操作数:

操作数

数据类型

格式

说明

SINT INT DINT

立即数 标签

与比较值比较的数值

屏蔽

SINT INT DINT

立即数 标签

阻止或通过的位

比较

SINT INT DINT

立即数 标签

与源值比较的数值

说明: MEQ 指令比较通过屏蔽的源值和比较值的结果。

MEQ 指令举例:

例 1 :

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(12)

Value_ 1 :

0

1

0

1

0

1

0

1

1

1

1

1

1

1

1

1

Mask_ 1:

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

通过屏蔽的 value_ 1:

0

1

0

1

0

1

0

1

1

1

1

1

*

*

*

*

Value_2 :

0

1

0

1

0

1

0

1

1

1

1

1

0

0

0

0

Mask_ 1:

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

通过屏蔽的 value_2:

0

1

0

1

0

1

0

1

1

1

1

1

*

*

*

*

9.不等于指令 (NEQ )

NEQ指令是一条输入指令。

如果 value_ 1不等于value_2 , 则梯级输出条件被设置为真。

罗克韦尔plc编程软件怎么添加注释(罗克韦尔ABPLC)(13)

操作数:

操作数

数据类型

格式

说明

源A

SINT INT DINT

REAL

立即数 标签

与源B比较的数值

说明: NEQ 指令测试源 A 的值与源 B 的值是否相等。

,