>首页 > plc > 西门子plc>西门子s7-200 plc算术与逻辑运算指令 正文

西门子s7-200 plc算术与逻辑运算指令的实例教程

来源:电工天下   编辑:小电工发布时间:2015-10-27 12:36:41

西门子s7-200 plc算术与逻辑运算指令

S7—200 PLC对算术运算指令来说,在使用要注意存储单元的分配。

在使用算术指令和数学指令时,最好用LAD形式编程。运算指令包括加法、减法、乘法、除法、数学函数指令、增减和逻辑运算指令。

一、加法

1、整数加法
+I,整数加法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相加,产生一个16位整数结果OUT。
西门子s7-200 plc算术与逻辑运算指令1

图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(负)。

二、减法

减法指令是对有符号数进行相减操作。

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

西门子s7-200 plc算术与逻辑运算指令2

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

在STL中,执行结果: OUT- IN2=OUT。
指令格式: -I IN2, OUT (整数减法);-D IN2, OUT (双整数减法);-R IN2, OUT (实数减法)

例: -I AC0, VW4

西门子s7-200 plc算术与逻辑运算指令3

图3 减法运算

三、乘法

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

西门子s7-200 plc算术与逻辑运算指令4

图4 乘法

西门子s7-200 plc算术与逻辑运算指令5
图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(实数除法)

西门子s7-200 plc算术与逻辑运算指令6

图6 除法

例:DIV VW10, VD100
/I VW20, VW200
两条指令的编程及执行情况比较如图所示。

西门子s7-200 plc算术与逻辑运算指令7

图7 指令执行图

对于完全除法指令:

西门子s7-200 plc算术与逻辑运算指令8

图8 完全除法指令

对于除法指令:

西门子s7-200 plc算术与逻辑运算指令9

图9 除法指令

西门子s7-200 plc算术与逻辑运算指令10

图10 算术运算举例

西门子s7-200 plc算术与逻辑运算指令11

图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

西门子s7-200 plc算术与逻辑运算指令12

图12 平方根

2、自然对数
LN,自然对数指令。将一个双字长(32位)的实数IN取自然对数,得到32位的实数结果。
应用实例:求以10为底的50(存于VD0)的常用对数,结果放到AC0。

西门子s7-200 plc算术与逻辑运算指令13

图13 自然对数

3、指数

EXP,指数指令。将一个双字长(32位)的实数IN取以e为底的指数,得到32位的实数结果OUT。
在LAD和FBD中,以指令盒形式编程,执行结果:EXP(IN)=OUT。

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

例: EXP VD0, AC0

西门子s7-200 plc算术与逻辑运算指令14

图14 指数

4、正弦、余弦、正切SIN、COS、TAN,即正弦、余弦、正切指令。将一个双字长(32位)的实数弧度值IN分别取正弦、余弦、正切,各得到32位的实数结果。
如果已知输入值为角度,要先将角度值转化为弧度值,方法:使用(*R)MUL_R指令用角度值乘以π/180°即可。

西门子s7-200 plc算术与逻辑运算指令15

图15 正弦余弦正切

例: TAN VD0, AC0
应用实例:求Cos160°的值。

西门子s7-200 plc算术与逻辑运算指令16

图16 应用实例

六、增减指令

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

西门子s7-200 plc算术与逻辑运算指令17

图17 字节增和字节减

2、字增和字减

西门子s7-200 plc算术与逻辑运算指令18

图18 字增和字减

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

西门子s7-200 plc算术与逻辑运算指令19

图19 双字增和双字减

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

西门子s7-200 plc算术与逻辑运算指令20

图20 应用实例

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

西门子s7-200 plc算术与逻辑运算指令21

图21 字节逻辑运算

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

西门子s7-200 plc算术与逻辑运算指令22

图22 字逻辑运算

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

西门子s7-200 plc算术与逻辑运算指令23

图23 双字逻辑运算

西门子s7-200 plc算术与逻辑运算指令24

图24

西门子s7-200 plc算术与逻辑运算指令25

图25

    展开全文
    相关文章
    • 西门子plc堆栈指令的用法

      西门子plc堆栈指令的用法

      西门子plc堆栈指令的用法,包括栈装载与指令ALD(与块)、栈装载或指令OLD (或块)、逻辑推入栈指令LPS (分支或主控指令)、逻辑读栈指令LRD等。

      时间:2020-04-23 11:45:15

    • 西门子step7基本指令的分类与用法

      西门子step7基本指令的分类与用法

      西门子step7基本指令的分类与用法,包括位逻辑指令(位逻辑运算指令、定时器指令、计数器指令),以及数据指令的功能与用法说明,感兴趣的朋友参考下。

      时间:2020-04-23 10:47:26

    • 西门子plc定时器指令的种类_西门子plc定时器指令的刷新方式

      西门子plc定时器指令的种类_西门子plc定时器指令的刷新方式

      西门子plc定时器指令的种类与刷新方式,s7—200 plc定时器种类,分为接通延时定时器(TON)、有记忆接通延时定时器(TONR)和断开延时定时器(TOF),定时器的分辨率(时基)与刷新方式。

      时间:2020-04-23 10:45:14

    • 西门子plc有记忆接通延时定时器指令的用法举例

      西门子plc有记忆接通延时定时器指令的用法举例

      西门子plc有记忆接通延时定时器指令的用法,有记忆接通延时定时器的当前值可以记忆,TONR定时器只能用复位指令进行复位操作,使当前值清零。

      时间:2020-04-23 10:45:12

    • 西门子plc程序控制指令的分类与功能说明

      西门子plc程序控制指令的分类与功能说明

      西门子plc程序控制指令的分类与功能,西门子plc程序控制指令分为结束指令END、停止指令STOP、看门狗复位指令WDR、跳转及标号指令、循环指令(FOR和NEXT)等,这些指令的用应实例。

      时间:2020-04-23 10:41:47

    • 西门子s7系列plc的定时器指令与方块图指令的用法

      西门子s7系列plc的定时器指令与方块图指令的用法

      西门子s7系列plc的定时器指令与方块图指令的用法,介绍了定时器指令的作用、定时器的组成,定时器种类分为脉冲定时器、扩展定时器、接通延时定时器、带保持的接通延时定时器、断电延时定时器等。

      时间:2020-04-23 10:26:03

    • 西门子s7-300 plc定时器指令的类型与用法

      西门子s7-300 plc定时器指令的类型与用法

      西门子s7-300 plc定时器指令的类型与用法,西门子S7-300有五种类型的定时器,三种类型的计数器,有关延时通定时器指令、锁存型延时通定时器指令、延时断定时器指令、脉冲定时器指令、脉冲扩展定时器指令的用法。

      时间:2020-04-23 10:12:27

    • 西门子plc边沿脉冲指令EU、ED用法实例

      西门子plc边沿脉冲指令EU、ED用法实例

      西门子plc边沿脉冲指令EU、ED的用法,边沿脉冲指令分为上升沿脉冲EU(Edge Up)和下降沿脉冲ED(Edge Down),脉冲指令常用于复位、启动及关断条件的判定,配合功能指令完成逻辑控制任务。

      时间:2020-04-23 10:06:16

    推荐文章

    Copyright © 2015 - 2020 dgjs123.com All Rights Reserved

    电工天下 版权所有