S7-200PLC 四则运算指令介绍
发表时间:2018-09-08
四则运算指令如表4-20所示。
表4-20 四则运算指令
名称 |
指令格式 (语句表) |
功能 |
操作数寻址范围 |
加法指令 |
+I IN1,OUT |
两个16位带符号整数相加,得到一个16位带符号整数。 执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2还可以是AIW和常数 |
+D IN1,IN2 |
两个32位带符号整数相加,得到一个32位带符号整数。 执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以是HC和常数 |
|
+R IN1,OUT |
两个32位实数相加,得到一个32位实数。 执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以常数 |
|
减法指令 |
-I IN1,OUT |
两个16位带符号整数相减,得到一个16位带符号整数。 执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2还可以是AIW和常数 |
-D IN1,OUT |
两个32位带符号整数相减,得到一个32位带符号整数。 执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以是HC和常数 |
|
-R IN1,OUT |
两个32位实数相加,得到一个32位实数。 执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以常数 |
|
乘法指令 |
*I IN1,OUT |
两个16位符号整数相乘,得到一个16整数。 执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2还可以是AIW和常数 |
MUL IN1,OUT |
两个16位带符号整数相乘,得到一个32位带符号整数。 执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT) |
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数 OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD |
|
*D IN1,OUT |
两个32位带符号整数相乘,得到一个32位带符号整数。 执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以是HC和常数 |
|
*R IN1,OUT |
两个32位实数相乘,得到一个32位实数。 执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以是常数 |
|
除法指令 |
/I IN1,OUT |
两个16位带符号整数相除,得到一个16位带符号整数商,不保留余数。 执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2还可以是AIW和常数 |
DIV IN1,OUT |
两个16位带符号整数相除,得到一个32位结果,其中低16位为商,高16位为结果。 执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT) |
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数 OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD |
|
/D IN1,OUT |
两个32位带符号整数相除,得到一个32位整数商,不保留余数。 执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以是HC和常数 |
|
/R IN1,OUT |
两个32位实数相除,得到一个32位实数商。 执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以是常数 |
|
数学函数指令 |
SQRT IN,OUT |
把一个32位实数(IN)开平方,得到32位实数结果(OUT) |
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN还可以是常数 |
LN IN,OUT |
对一个32位实数(IN)取自然对数,得到32位实数结果(OUT) |
||
EXP IN,OUT |
对一个32位实数(IN)取以e为底数的指数,得到32位实数结果(OUT) |
||
SIN IN,OUT |
分别对一个32位实数弧度值(IN)取正弦、余弦、正切,得到32位实数结果(OUT) |
||
COS IN,OUT |
|||
TAN IN,OUT |
|||
增减指令 |
INCB OUT |
将字节无符号输入数加1 执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT) |
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD IN还可以是常数 |
DECB OUT |
将字节无符号输入数减1 执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT) |
||
INCW OUT |
将字(16位)有符号输入数加1 执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT) |
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD IN还可以是AIW和常数 |
|
DECW OUT |
将字(16位)有符号输入数减1 执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT) |
||
INCD OUT |
将双字(32位)有符号输入数加1 执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT) |
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN还可以是HC和常数 |
|
DECD OUT |
将字(32位)有符号输入数减1 执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT) |
详细的应用参照http://www.plc100.com/sanling/