.修饰符
修饰符 | 带修饰符的运算符 | 描述 |
---|---|---|
C | JMP, CAL, RET | 仅当前面的表达式的结果为TRUE时,才执行命令。 |
N | JMPC, CALC, RETC | 仅当前面的表达式的结果为FALSE时,才执行命令。 |
N | 否则 | 取反操作数(而不是累加器)。 |
.具有可能修饰符的运算符
运算符 | N | 含义 | 例如 |
---|---|---|---|
LD | N | 将(取反)操作数的值加载到累加器中。 | LD ivar |
ST | N | 将累加器的(取反)内容存储在操作数中。 | ST iErg |
S | 如果累加器的内容为TRUE,则将操作数(BOOL类型)设置为TRUE。 | S bVar1 | |
R | 如果累加器的内容为TRUE,则将操作数(BOOL类型)设置为FALSE。 | R bVar1 | |
AND | N,( | 累加器值与(负)操作数的按位AND | AND bVar2 |
OR | N,( | 累加器值与(负)操作数的按位OR | 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 |
) | 评估复位操作 |
应用程序: | 描述 | 例如 |
---|---|---|
1个运算符的几个操作数 | .选项
| 变体1: 变体2: |
复杂操作数 | 对于复杂操作数,请在第一列中输入左括号(在下一列中紧随其后的单独行中,在第一列中输入闭括号。 | 每个周期将字符串旋转一个字符: |
功能块调用,程序调用 | 栏1:操作员CAL或CALC 栏2:功能块实例或程序的名称,并在左括号中输入。(如果未输入任何参数,则在右括号中输入)。 接下来的行: 第1列:参数名称,后跟:=表示输入参数或=>表示输出参数 第2列:如果后面有其他参数,则参数值后跟一个逗号,。在最后一个参数之后输入右括号)。 作为根据IEC标准的限制,此处不能使用复杂的表达式。在调用之前,必须将此类构造分配给功能块或程序。 | |
函数调用 | 第1行:第1列:LD 第2列:输入变量 第2行:第1列:功能名称第2列:其他输入参数,以逗号分隔。 CODESYS将返回值写入累加器。 第3行:第1列:ST第2列:将返回值写入其中的变量 | |
动作调用 | 类似于功能块调用或程序调用。 操作名称附加在FB实例或程序的名称之后。 | |
跳转 | 第一列:运算符JMP或JMPC。 第2列:目标网络的跳转标签的名称。 在无条件跳转的情况下,前面的指令序列必须以以下命令之一结尾:ST, STN, S, R, CAL, RET, JMP 在条件跳转的情况下,跳转的执行取决于加载的值。 |