S7-200PLC 四则运算指令介绍

四则运算指令如表4-20所示。

 

 

 

 

 

 

 

 

4-20 四则运算指令

名称

指令格式

(语句表)

功能

操作数寻址范围

加法指令

+I IN1OUT

两个16位带符号整数相加,得到一个16位带符号整数。

执行结果:IN1+OUT=OUT(在LADFBD中为:IN1+IN2=OUT

IN1IN2OUTVWIWQWMWSWSMWLW TCAC*VD*AC*LD

IN1IN2还可以是AIW和常数

+D IN1IN2

两个32位带符号整数相加,得到一个32位带符号整数。

执行结果:IN1+OUT=OUT(在LADFBD中为:IN1+IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以是HC和常数

+R IN1OUT

两个32位实数相加,得到一个32位实数。

执行结果:IN1+OUT=OUT(在LADFBD中为:IN1+IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以常数

减法指令

-I IN1OUT

两个16位带符号整数相减,得到一个16位带符号整数。

执行结果:OUT-IN1=OUT(在LADFBD中为:IN1-IN2=OUT

IN1IN2OUTVWIWQWMWSWSMWLW TCAC*VD*AC*LD

IN1IN2还可以是AIW和常数

-D IN1OUT

两个32位带符号整数相减,得到一个32位带符号整数。

执行结果:OUT-IN1=OUT(在LADFBD中为:IN1-IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以是HC和常数

-R IN1OUT

两个32位实数相加,得到一个32位实数。

执行结果:OUT-IN1=OUT(在LADFBD中为:IN1-IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以常数

乘法指令

*I IN1OUT

两个16位符号整数相乘,得到一个16整数。

执行结果:IN1*OUT=OUT(在LADFBD中为:IN1*IN2=OUT

IN1IN2OUTVWIWQWMWSWSMWLW TCAC*VD*AC*LD

IN1IN2还可以是AIW和常数

MUL IN1OUT

两个16位带符号整数相乘,得到一个32位带符号整数。

执行结果:IN1*OUT=OUT(在LADFBD中为:IN1*IN2=OUT

IN1IN2VWIWQWMWSWSMWLWAIWTCAC*VD*AC*LD和常数

OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

*D IN1OUT

两个32位带符号整数相乘,得到一个32位带符号整数。

执行结果:IN1*OUT=OUT(在LADFBD中为:IN1*IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以是HC和常数

*R IN1OUT

两个32位实数相乘,得到一个32位实数。

执行结果:IN1*OUT=OUT(在LADFBD中为:IN1*IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以是常数

除法指令

/I IN1OUT

两个16位带符号整数相除,得到一个16位带符号整数商,不保留余数。

执行结果:OUT/IN1=OUT(在LADFBD中为:IN1/IN2=OUT

IN1IN2OUTVWIWQWMWSWSMWLW TCAC*VD*AC*LD

IN1IN2还可以是AIW和常数

DIV IN1OUT

两个16位带符号整数相除,得到一个32位结果,其中低16位为商,高16位为结果。

执行结果:OUT/IN1=OUT(在LADFBD中为:IN1/IN2=OUT

IN1IN2VWIWQWMWSWSMWLWAIWTCAC*VD*AC*LD和常数

OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

/D IN1OUT

两个32位带符号整数相除,得到一个32位整数商,不保留余数。

执行结果:OUT/IN1=OUT(在LADFBD中为:IN1/IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以是HC和常数

/R IN1OUT

两个32位实数相除,得到一个32位实数商。

执行结果:OUT/IN1=OUT(在LADFBD中为:IN1/IN2=OUT

IN1IN2OUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN1IN2还可以是常数

数学函数指令

SQRT INOUT

把一个32位实数(IN)开平方,得到32位实数结果(OUT

INOUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN还可以是常数

LN INOUT

对一个32位实数(IN)取自然对数,得到32位实数结果(OUT

EXP INOUT

对一个32位实数(IN)取以e为底数的指数,得到32位实数结果(OUT

SIN INOUT

分别对一个32位实数弧度值(IN)取正弦、余弦、正切,得到32位实数结果(OUT

COS INOUT

TAN INOUT

增减指令

INCB OUT

将字节无符号输入数加1

执行结果:OUT+1=OUT(在LADFBD中为:IN+1=OUT

INOUTVBIBQBMBSBSMBLBAC*VD*AC*LD

IN还可以是常数

DECB OUT

将字节无符号输入数减1

执行结果:OUT-1=OUT(在LADFBD中为:IN-1=OUT

INCW OUT

将字(16位)有符号输入数加1

执行结果:OUT+1=OUT(在LADFBD中为:IN+1=OUT

INOUTVWIWQWMWSWSMWLWTCAC*VD*AC*LD

IN还可以是AIW和常数

DECW OUT

将字(16位)有符号输入数减1

执行结果:OUT-1=OUT(在LADFBD中为:IN-1=OUT

INCD OUT

将双字(32位)有符号输入数加1

执行结果:OUT+1=OUT(在LADFBD中为:IN+1=OUT

INOUTVDIDQDMDSDSMDLDAC*VD*AC*LD

IN还可以是HC和常数

DECD OUT

将字(32位)有符号输入数减1

执行结果:OUT-1=OUT(在LADFBD中为:IN-1=OUT

详细的应用参照http://www.plc100.com/sanling/