五、CoDeSys中全部运算符及功能名
ST中操作符
|
IL中操作符
|
IL中的修饰符
|
意义
|
‘
|
|
|
字符串分界符(例如:’string1’)
|
[..]
|
|
|
数组大小范围(例如:ARRAY[0..3]OFINT
|
:
|
|
|
操作数和类型声明之间的分界符(例如:var1:INT;)
|
^
|
|
|
指针引用(例如:pointer1^)
|
|
LDvar1
|
N
|
装入var1值到缓冲器中
|
:=
|
STvar1
|
N
|
存入实际结果到var1中
|
|
Sboolvar
|
|
当实际结果为TRUE时,设置布尔变量boolvar为TRUE
|
|
Rboolvar
|
|
当实际结果为TRUE时,设置布尔变量boolvar为FALSE
|
|
JMPmarke
|
CN
|
跳转到标号
|
<程序名>
|
CALprog1
|
CN
|
调用程序prog1
|
<句柄名>
|
CALinst1
|
CN
|
调用功能块句柄inst1
|
<功能名>(vx,vy,..)
|
<功能名>(vx,vy,..)
|
CN
|
调用功能fctname并传送变量vx,vy
|
RETURN
|
RET
|
CN
|
离开POU并返回到调用者
|
|
(
|
|
括号之后的值作为操作数处理,不执行括号之前的运算。
|
|
)
|
|
执行括号返回的操作运算
|
AND
|
ND
|
N,(
|
位与
|
OR
|
OR
|
N,(
|
位或
|
XOR
|
XOR
|
N,(
|
位异或
|
NOT
|
NOT
|
|
位取反
|
+
|
ADD
|
(
|
加
|
-
|
SUB
|
(
|
减
|
*
|
MUL
|
(
|
乘
|
/
|
DIV
|
(
|
除
|
>
|
GT
|
(
|
大于
|
>=
|
GE
|
(
|
大于或等于
|
=
|
EQ
|
(
|
等于
|
<
|
LT
|
(
|
小于
|
<>
|
NE
|
(
|
不等于
|
<=
|
LE
|
(
|
小于或等于
|
MOD(in)
|
MOD
|
|
取模除
|
INDEXOF(in)
|
INDEXOF
|
|
POU内部索引in1;[INT]
|
SIZEOF(in)
|
SIZEOF
|
|
数据类型in所需字节数
|
SHL(K,in)
|
SHL
|
|
in数据向左位移K位
|
SHR(K,in)
|
SHR
|
|
in数据向右位移K位
|
ROL(K,in)
|
ROL
|
|
in数据向左循环位移K位
|
ROR(K,in)
|
ROR
|
|
in数据向右循环位移K位
|
SEL(G,in0,in1)
|
SEL
|
|
选择器,G为FALSE选in0
G为TRUE选in1
|
MAX(in0,in1)
|
MAX
|
|
取极大值
|
MIN(in0,in1)
|
MIN
|
|
取极小值
|
LIMIT(Min,in,Max)
|
LIMIT
|
|
取限幅值,当in超过限幅值时,
取Min或Max值
|
MUX(K,in0,..in_n)
|
MUX
|
|
多值选择器(in0,..in_n)
|
ADR(in)
|
ADR
|
|
取操作数的地址到[DWORD]中
|
BOOL_TO_(in)
|
BOOL_TO_
|
|
布尔操作数类型转换
|
_TO_BOOL(in)
|
_TO_BOOL
|
|
类型转换到布尔值
|
INT_TO_
|
INT_TO_
|
|
INT转换为其他成员类型
|
REAL_TO_(in)
|
REAL_TO_
|
|
REAL转换为其他成员类型
|
LREAL_TO_
(in)
|
LREAL_TO_
|
|
LREAL转换位其他成员类型
|
TIME_TO_(in)
|
TIME_TO_
|
|
TIME转换为其他成员类型
|
TOD_TO_(in)
|
TOD_TO_
|
|
TOD转换为其他成员类型
|
DATE_TO_(in)
|
DATE_TO_
|
|
DATE转换为其他成员类型
|
DT_TO_(in)
|
DT_TO_
|
|
DT转换为其他成员类型
|
STRING_TO_
(in)
|
STRING_TO_
|
|
STRING转换为其他成员类型
|
TRUNC(in)
|
TRUNC
|
|
REAL向INT转换
|
ABS(in)
|
ABS
|
|
in操作数取绝对值
|
SQRT(in)
|
SQRT
|
|
in操作数取平方根
|
LN(in)
|
LN
|
|
in操作数取自然对数
|
LOG(in)
|
LOG
|
|
in操作数取底数为10的对数
|
EXP(in)
|
EXP
|
|
in操作数进行指数运算(ex)
|
SIN(in)
|
SIN
|
|
in操作数进行正弦运算
|
COS(in)
|
COS
|
|
in操作数进行余弦运算
|
TAN(in)
|
TAN
|
|
in操作数进行正切运算
|
ASIN(in)
|
ASIN
|
|
in操作数进行反正弦运算
|
ACOS(in)
|
ACOS
|
|
in操作数进行反余弦运算
|
ATAN(in)
|
ATAN
|
|
in操作数进行反正切运算
|
EXPT(in,expt)
|
EXPTexpt
|
|
in为底数,expt为指数运算
|
LEN(in)
|
LEN
|
|
in操作数取字符串长度
|
LEFT(str,size)
|
LEFT
|
|
从str左边取size个字符串
|
RIGHT(str,size)
|
RIGHT
|
|
从str右边取size个字符串
|
MID(str,size,pos)
|
MID
|
|
从str的pos位置取size个字符串
|
CONCAT(str1,str2)
|
CONCAT
|
|
合并str1和str2两个字符串
|
INSERT(str1,str2,pos)
|
INSERT
|
|
在str2的pos处插入str1字符串
|
DELETE(str1,len,pos)
|
DELETE
|
|
在str1的pos处删除len个字符串
|
REPLACE(str1,str2len,pos)
|
REPLACE
|
|
在str1的pos处替换str2中的len个
字符串
|
FIND(str1,str2)
|
FIND
|
|
在str1中寻找str2字符串
|
SR
|
SR
|
|
置位优先的SR触发器
|
RS
|
RS
|
|
复位优先的RS触发器
|
SEMA
|
SEMA
|
|
软件信号器(可中断)
|
R_TRIG
|
R_TRIG
|
|
上升沿检测
|
F_TRIG
|
F_TRIG
|
|
下降沿检测
|
CTU
|
CTU
|
|
向上计数
|
CTD
|
CTD
|
|
向下计数
|
CTUD
|
CTUD
|
|
向上和向下计数
|
TP
|
TP
|
|
脉冲计时器
|
TON
|
TON
|
|
延时开计时器
|
TOF
|
TOF
|
|
延时断计时器
|