西门子PLC整数与双整数加减法指令简介

整数加法(ADD-I)和减法(SUB-I)指令是:使能输入有效时,将两个16位符号整数相加或相减,并产生一个16位的结果输出到OUT

双整数加法(ADD-D)和减法(SUB-D)指令是:使能输入有效时,将两个32位符号整数相加或相减,并产生一个32位结果输出到OUT

 

整数与双整数加减法指令格式如表1所示。

 

1 整数与双整数加减法指令格式

LAD

STL

MOVW IN1OUT

+I IN20UT

MOVW IN1OUT

-I IN20UT

MOVD IN1OUT

+D IN20UT

MOVD IN1OUT

+D IN20UT

功能

IN1+IN2=OUT

IN1-IN2=OUT

IN1+IN2=OUT

IN1-IN2=OUT

操作数及数据类型

IN1/IN2:VW, IW, QW, MW, SW, SMW, T, C, AC, LW, AIW, 常量, *VD, *LD, *AC

OUT:VW, IW, QW, MW, SW, SMW, T, C, LW, AC, *VD, *LD, *AC

IN/OUT数据类型:整数

IN1/IN2 VD, ID, QD, MD, SMD, SD, LD, AC, HC, 常量, *VD, *LD, *AC

OUTVD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC

IN/OUT数据类型:双整数

ENO=0的错误条件

0006 间接地址, SM4.3 运行时间, SM1.1 溢出

说明:

1)当IN1IN2OUT操作数的地址不同时,在STL指令中,首先用数据传送指令将IN1中的数值送入OUT,然后再执行加、减运算即:OUT+IN2=OUTOUT-IN2=OUT。为了节省内存,在整数加法的梯形图指令中,可以指定IN1IN2=OUT,这样,可以不用数据传送指令。如指定INI=OUT,则语句表指令为:+I IN2OUT;如指定IN2=OUT,则语句表指令为:+I IN1OUT。在整数减法的梯形图指令中,可以指定IN1=OUT,则语句表指令为:-I IN2OUT。这个原则适用于所有的算术运算指令,且乘法和加法对应,减法和除法对应。

2)整数与双整数加减法指令影响算术标志位SM1.0(零标志位),SM1.1(溢出标志位)和SM1.2(负数标志位)。