西门子plc S7-200系列PLC整数加减乘除指令入门教程_算术运算
先来了解下整数计算的加减乘除指令位置以及常用方法:
在上面的加计数器里,用到了ADD_I,而下面的指令是ADD_DI,这是什么原因?
因为上面的加指令输入的2个值,与输出的结构,都没有超过“字”的计数范围的上限32767,所以可以使用ADD_I。当输入值中有超过32767,或运算结果超过这个值时,指令应换成ADD_DI,避免产生数据溢出的情况。
编程上电后,通过输入,查看到运算结果:
“减法指令”和“乘法指令”并没有什么区别,主要是注意运算结构,是否会超出运算范围。
以下重点介绍下“除法指令”,一起来学习下。
DIV 整数相除
DIV指令即两个整数类型的数据进行除法运算(目标为双整数,其中高16位字存余数、低16位字存商)。
当条件I0.1接通时,执行指令,执行时VW0的数据/VW2的数据,其运算结果存到VD6中。其中VW6存放余数,VW8放商。
(1)格式:整数乘法指令(MUL_I)和整数除法指令(DIV_I)的梯形图如图6-10所示。
图6-10 整数乘法指令(MUL_I)和除法指令(DIV_I)的梯形图
(2)功能:当使能输入(EN)有效时,整数乘法指令MUL_I将两个16位整数IN1和IN2相乘,产生一个16位的结果存放在OUT中,如果运算结果超出16位,则溢出标志SM1.1被置位。整数除法指令DIV_I将两个1 6位整数IN1和IN2相除(IN1/IN2),产生一个16位的商存放在OUT中,不保存余数。当乘法运算发生溢出时,运算结果不输出,同时将SM1.0和SM1.2置0。除数为0时,源操作数不变。
图6-11 双整数乘法和双整数除法指令的梯形图