IL中修饰符和操作符

以下修饰符可以使用在: 指令表

修饰符

C

with JMP, CAL, RET:

只有继续运行的表达式为TRUE,指令才会被执行。

N

with JMPC, CALC, RETC:

只有继续运行的表达式为FALSE,指令才会被执行。

N

otherwise:

操作域的取反(不是累加器) 。

下表显示了可以跟具体修饰符配合使用的操作符:

"累加器" 总是存储当前值, 有后续操作产生。

操作符

修饰符

意义

 

例子

LD

N

将操作域的(取反)值载入到累加器

LD iVar

ST

N

把累加器的(取反)内容存储到操作域变量

ST iErg

S

 

当累加器的值为TRUE时把操作域(布尔型)的值设为TRUE

S bVar1

R

 

当累加器的值为FALSE时把操作域(布尔型)的值设为TRUE

R bVar1

AND

N,(

累加器和(取反)操作域逐位与运算

AND bVar2

OR

N,(

累加器和(取反)操作域逐位或运算

OR xVar

XOR

N,(

累加器和(取反)操作域逐位异或运算

XOR N,(bVar1,bVar2)

NOT

 

累加器逐位取反

 

ADD

(

累加器和操作域相加,结果存入累加器

ADD (iVar1,iVar2)

SUB

(

累加器和操作域相减,结果存入累加器

SUB iVar2

MUL

(

累加器和操作域相乘,结果存入累加器

MUL iVar2

DIV

(

累加器和操作域相除,结果存入累加器

DIV 44

GT

(

检查累加器是否大于操作域,结果(布尔)存入累加器;>

GT 23

GE

(

检查累加器是否大于或等于操作域,结果(布尔)存入累加器; >=

GE iVar2

EQ

(

检查累加器是否等于操作域,结果(布尔)存入累加器;=

EQ iVar2

NE

(

检查累加器是否不等于操作域,结果(布尔)存入累加器;<>

NE iVar1

LE

(

检查累加器是否小于或等于操作域,结果(布尔)存入累加器; <=

LE 5

LT

(

检查累加器是否小于操作域,结果(布尔)存入累加器; <

LT cVar1

JMP

CN

无条件(条件)跳转到标号

JMPN next

CAL

CN

(条件)调用程序或功能块(如果累加器为TRUE)

CAL prog1

RET

 

返回POU或到POU的调用

RET

RET

C

有条件的——如果累加器为TRUE,返回POU或到POU的调用

RETC

RET

CN

有条件的——如果累加器为FALSE,返回POU或到POU的调用

RETCN

)

 

评价递延操作

 

同样参见 IEC 操作符 IL编辑器中工作中的帮助页,来了解如何处理多重操作域,复杂操作域,函数/方法/功能块/程序/动作调用和跳转。

例子

参见下例中使用修饰符的程序。

插图 423: 使用修饰符的IL程序