西门子逻辑运算指令_西门子plc 算术、逻辑运算指令

本文详细介绍了西门子S7-200 PLC的算术和逻辑运算指令,包括加法、减法、乘法、除法、平方根、自然对数等数学函数,以及字节、字和双字的增减指令,并提供了丰富的编程示例。内容覆盖了各种运算类型及其在LAD、FBD和STL编程形式下的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前各种型号的plc普遍具备较强的运算功能。和其他PLC不同,S7—200 PLC对算术运算指令来说,在使用要注意存储单元的分配。建议大家在使用算术指令和数学指令时,最好用LAD形式编程。运算指令包括加法、减法、乘法、除法、数学函数指令、增减和逻辑运算指令。

一、加法

1、整数加法+I,整数加法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相加,产生一个16位整数结果OUT。

1218fd9142244c127311d9de5c62c80c.png

图1 整数加法

2、双整数加法+D,双整数加法指令。使能输入有效时,将两个双字长(32位)的符号双整数IN1和IN2相加,产生一个32位双整数结果OUT。

在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。

在STL中,执行结果:IN1+OUT=OUT。

OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。

指令格式:+D IN1, OUT

3、+R,实数加法指令使能输入有效时,将两个双字长(32位)的实数IN1和IN2相加,产生一个32位实数结果OUT。

在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。

OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。

本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。

二、减法

减法指令是对有符号数进行相减操作。包括:整数减法、双整数减法和实数减法。这三种减法指令与所对应的加法指令除运算法则不同之外,其他方面基本相同。

cb5b4faa90830e9a546cce3a2b0f86f7.png

图2 减法在LAD和FBD中,以指令盒形式编程,执行结果:IN1-IN2=OUT。

在STL中,执行结果: OUT- IN2=OUT。

指令格式: -I IN2, OUT (整数减法);-D IN2, OUT (双整数减法);-R IN2, OUT (实数减法)

例: -I AC0, VW4

00df6bb70eb5604fb1767a47b3e1ebf5.png

图3 减法运算

三、乘法

1、整数乘法

*I,整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个16位整数结果OUT。

指令格式:*I IN1,OUT

例:*I VW0,AC0

e195fba99c74392116b4840e77c9ea0f.png

图4 乘法

e9f9b8cad7b01782b0c7e1f022909d29.png

图5 乘法

2、完全整数乘法MUL,完全整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。

在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。

OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。

本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。

指令格式: MUL IN1,OUT

例: MUL AC0,VD10

3、双整数乘法*D,双整数乘法指令。使能输入有效时,将两个双字长(32位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。

在STL中,执行结果:IN1*OUT=OUT。

N1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。

OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。

本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。

指令格式:*D IN1,OUT

例:*D VD0,AC0

4、实数乘法*R,实数乘法指令。使能输入有效时,将两个双字长(32位)的实数IN1和IN2相乘,产生一个32位实数结果OUT。

在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。

在STL中,执行结果:IN1*OUT=OUT。

IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常数。

OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。

本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。

指令格式:*R IN1,OUT

例:*R VD0,AC0

四、除法

在LAD和FBD中,以指令盒形式编程,执行结果: IN1/IN2=OUT。

在STL中,执行结果: OUT/ IN2=OUT。

指令格式: /I IN2, OUT(整数除法)

DIV IN2, OUT(整数完全除法)

/D IN2, OUT(双整数除法)

/R IN2, OUT(实数除法)

174fcd6df21ab0e46ff17bd19ee43850.png

图6 除法

例:DIV VW10, VD100

/I VW20, VW200

两条指令的编程及执行情况比较如图所示。

3de59249cd0c47c5a7bab20e5420a5f3.png

图7 指令执行图

对于完全除法指令:

5d87ffc16cc2111860f434da4d37abd7.png

图8 完全除法指令

对于除法指令:

2b8c70c948d36a517bc07d141d2c5519.png

图9 除法指令

e4e9bce433fc62a4550502133ad538d8.png

图10 算术运算举例

b7f6f7b13516d05f7b91f6ebaf554e2d.png

图11 算术运算举例

五、数学函数指令1、平方根

SQRT,平方根指令。把一个双字长(32位)的实数IN开平方,得到32位的实数结果。

在LAD和FBD中,以指令盒形式编程,执行结果:SQRT(IN)=OUT。

在STL中,执行结果:SQRT(IN)=OUT。

本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出和非法值);SM1.2(负)。

使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。

指令格式: SQRT IN,OUT

例: SQRT VD0,AC0

48a534ec569cbb36057b483b8da66e46.png

图12 平方根2、自然对数

LN,自然对数指令。将一个双字长(32位)的实数IN取自然对数,得到32位的实数结果。

应用实例:求以10为底的50(存于VD0)的常用对数,结果放到AC0。

a13c004b0eb9949998b4724c37e376e9.png

图13 自然对数3、指数EXP,指数指令。将一个双字长(32位)的实数IN取以e为底的指数,得到32位的实数结果OUT。

在LAD和FBD中,以指令盒形式编程,执行结果:EXP(IN)=OUT。

在STL中,执行结果:EXP(IN)=OUT。

指令格式: EXP IN, OUT

例: EXP VD0, AC0

658a748cad2063ab5f2b4f0b972269a6.png

图14 指数4、正弦、余弦、正切SIN、COS、TAN,即正弦、余弦、正切指令。将一个双字长(32位)的实数弧度值IN分别取正弦、余弦、正切,各得到32位的实数结果。

如果已知输入值为角度,要先将角度值转化为弧度值,方法:使用(*R)MUL_R指令用角度值乘以π/180°即可。

f0eb233bf01d2447f15ebbbfcd1bb045.png

图15 正弦余弦正切      例: TAN VD0, AC0

应用实例:求Cos160°的值。

acbf85fc93ca563d1bb515b4cae89a85.png

图16 应用实例

六、增减指令

1、字节增和字节减

INCB,字节增指令。使能输入有效时,把一字节长的无符号输入数(IN)加1,得到一字节的无符号输出结果OUT。

DECB,字节减指令。使能输入有效时,把一字节长的无符号输入数(IN)减1,得到一字节的无符号输出结果OUT。

f3b4842dbeca7e14d893a7a7b901460f.png

图17 字节增和字节减2、字增和字减

e11610e8df4a7285532b42b742b57f6e.png

图18 字增和字减3、双字增和双字减

INCD,双字增指令。使能输入有效时,把双字长(32位)的有符号输入数(IN)加1,得到双字长的有符号输出结果OUT。

DECD,双字减指令。使能输入有效时,把双字长的有符号输入数(IN)减1,得到双字长的有符号输出结果OUT。

3341d5495dcd41c32c9ee422b8c42405.png

图19 双字增和双字减4、应用实例控制要求:食品加工厂对饮料生产线上的盒装饮料进行计数,每24盒为一箱,要求能记录生产的箱数。

62515e4b65dd9db8a92ffe8b59c42870.png

图20 应用实例

七、逻辑运算

1、字节逻辑运算      字节逻辑运算包括字节与、字节或、字节异或、字节取反。

01c31d490dd482eb4d68ef303f1654d1.png

图21 字节逻辑运算2、字逻辑运算字节逻辑运算包括字节与、字节或、字节异或、字节取反。

3178934279a88e11460cf6bff2f5c101.png

图22 字逻辑运算3、双字逻辑运算字逻辑运算包括双字与、双字或、双字异或、双字取反。

d4874e43bfce8cc03ce746086f2e702c.png

图23 双字逻辑运算

e4e9bce433fc62a4550502133ad538d8.png

图24

b7f6f7b13516d05f7b91f6ebaf554e2d.png

图25

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值