[西门子] GxWork2结构化编程二 ST运算符

[复制链接]
查看244 | 回复0 | 2024-1-29 19:46:10 | 显示全部楼层 |阅读模式
GxWork2结构化编程ST语言的运算符有:位逻辑、比较、数学运算、函数和括号。

位逻辑:OR, XOR, AND, NOT

比较:<>, =, <, >, <=, >=

数学运算:+, -, *, /, MOD(取余),**(幂运算)

一,位逻辑

位逻辑的操作数类型:位,无符号字16位,位列16位,无符号双字32位,位列32位。按位进行逻辑运算,结果存入d中。

OR, XOR, AND  d := s1  逻辑运算符  s2;

NOT:   d := NOT s1;

若要对有符号字(整数)进行逻辑运算,不能用上面的逻辑运算符,需要用相应的函数块,如WAND(EN, s1,s2,d),WOR(EN, s1,s2,d)。

二,比较

比较的操作数类型:除数组和结构变量外的基本数据类型均可以。

<>, =, <, >, <=, >=        d := s1  逻辑运算符  s2;

d的类型是位。

三,数学运算

+ ,- ,* ,/    操作数类型:实数和整数

MOD (取余)  操作数类型:整数

**  (幂运算   s1^s2)        d:=s1 ** s2;

和应用指令EXPT(幂运算)相通,d=EXPT(s1,s2)  

s1 (底数)类型:实数;s2(指数):整数   ;d  实数

如果s1和s2均是实数,可以用DEXP(自然指数运算)和DLOGE(自然对数运算)实现,X^Y = e^(Y*lnX),  以函数形式分别调用,DLOGE(EN,X,A);    DEXP(EN,(Y*A),d);   

四,各运算符的优先级
描述运算符优先级(上-高 下-低)
括号()
1
幂运算
**
2
取非
NOT
3
乘法  除法  取余
* , /  , MOD
4
加法 减法
+ , -
5
比较
<, <=, >, >=
6
等于 不等于
=, <>
7
逻辑与
AND (&)
8
异或
XOR
9

OR
10


(完)


您需要登录后才可以回帖 登录 | 注册哦

本版积分规则