Skip to main content

IL中的修饰符和运算符

5. 修饰符

修饰符

与运算符结合

描述

C

JMPCALRET

仅当前面表达式的结果为TRUE

N

JMPCCALCRETC

仅当前面表达式的结果为FALSE

N

否则

操作数的取反(不是累加器的否定)



6. 带有可能修饰符的运算符

操作员

N

意义

例子

LD

N

将操作数的值(取反)加载到累加器中

LD ivar

ST

N

将累加器的内容(取反)存储在操作数中

ST iErg

S

设置操作数(类型BOOL) 到TRUE如果累加器的内容是TRUE

S bVar1

R

设置操作数(类型BOOL) 到FALSE如果累加器的内容是TRUE

R bVar1

AND

N,(

按位AND累加器值和(取反)操作数

AND bVar2

OR

N,(

累加器值与(取反的)操作数按位或

OR xVar

XOR

N,(

对累加器值和(取反的)操作数进行按位异或

XOR N,(bVar1,bVar2)

NOT

对累加器值进行按位取反

ADD

(

累加器值与操作数相加

将结果写入累加器。

ADD ivar1

SUB

(

从累加器值中减去操作数

将结果写入累加器。

SUB iVar2

MUL

(

累加器值与操作数的乘法

将结果写入累加器。

MUL ivar2

DIV

(

累加器值与操作数相加

将结果写入累加器。

DIV 44

GT

(

检查累加器的值是否大于操作数值

结果(BOOL ) 被写入累加器。

GT 23

GE

(

检查累加器值是否大于或等于操作数值

结果(BOOL ) 被写入累加器。

GE iVar2

EQ

(

检查累加器值是否等于操作数值

结果(BOOL ) 被写入累加器。

EQ iVar2

NE

(

检查累加器的值是否不等于操作数的值

结果(BOOL ) 被写入累加器。

NE iVar1

LE

(

检查累加器的值是否小于或等于操作数值

结果(BOOL ) 被写入累加器。

LE 5

LT

(

检查累加器值是否小于操作数值

结果(BOOL)写入累加器。

LT cVar1

JMP

CN

无条件(有条件)跳转到指定的跳转标签

JMPN next

CAL

CN

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

CAL prog1

RET

离开运算块并返回接线运算块

RET

RET

C

如果累加器值为TRUE:退出运算块并返回呼叫运算块

RETC

RET

CN

如果累加器值为FALSE:退出运算块并返回呼叫运算块

RETCN

)

重置操作的评估



9. 例子
_cds_img_il_example.png


应用

描述

示例

一个运算符对应多个操作数

. 选项
  • 将操作数输入到连续的行中,在第二列中用逗号分隔。

  • 在连续的行中重复该操作符。

变体 1:

_cds_img_il_add_multiple_operands_1.png

变体 2:

_cds_img_il_add_multiple_operands_2.png

复杂操作数

对于复杂的操作数,输入左括号(在第一列。在单独行的第一列中,在后续行的操作数条目之后输入右括号。

字符串每次循环旋转一个字符。

_cds_img_il_complex_oparand.png

功能块调用、程序调用

第 1 列:CAL操作员或CALC操作员

第 2 列:功能块实例或程序的名称和左括号(

如果后面没有参数,那么右括号)在此处输入。

接下来的行:

第 1 列:参数名称,后跟:=对于输入参数或=>对于输出参数

第 2 列:参数值后跟逗号,如果有进一步的参数

右括号)在最后一个参数之后输入。

根据 IEC 标准的限制,此处不能使用复杂的表达式。您需要在调用之前将此类结构赋值给功能块或程序。

_cds_img_il_fb_call1.png

函数调用

第 1 行:第 1 列:LD

第 2 列:输入变量

第 2 行:第 1 列:函数名称第 2 列:以逗号分隔的进一步输入参数

CODESYS将返回值写入累加器。

第 3 行:第 1 列:ST第 2 列:写入返回值的变量

_cds_img_il_function_call.png

行动号召

类似于功能块调用或者程序调用。

动作名称附加在 FB 实例或程序的名称之后。

_cds_img_il_action_call.png

跳转

第 1 列:JMP操作员或JMPC操作员

第2列:目标网络的跳转标签名称

对于无条件跳转的情况,前面的指令序列必须以以下命令之一结束:STSTNSRCALRETJMP

对于条件跳转的情况,跳转的执行取决于加载的值。

_cds_img_il_jmp.png
. 有关详细信息,请参阅下列内容: