江西西门子S7-200SMARTPLC模块代理经销商
PLC双字增1/减1指令(INC_DW/DEC_DW)
(1)格式:双字增1/减1指令的梯形图如图6-15所示。
图6-15 双字增1/减1指令的梯形图
(2)功能:当使能输入(EN)有效时,双字增1指令(INC_DW)将输入字IN加1,并将结果存放到输出单元OUT中;双字减1指令(DEC_DW)将输入字IN减1,并将结果存放到输出单元OUT中。双字增减指令的操作数也是有符号数。
【例6-3】增1/减1指令使用举例,梯形图程序如图6-16所示。该程序实现AC0增1、将VB10减1后送VB20、VD0增1的功能。
图6-16对应的STL程序如下:
LD M0.0 //取常开触头
INCB AC0 //AC0+1= AC0
MOVB VB10,VB20 //VB10→VB20
DECB VB20 //VB20-1=VB20
INCD VD0 //VD0+1=VD0
以上算术指令在使用时对操作数的要求和对标志位的影响:
①字操作数IN1和IN2的范围是VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、Constant、*VD、*AC、*LD;双字操作数IN1和IN2的范围是VD、ID、QD、MD、SD、SMD、LD、HC、AC、Constant、*VD、*AC、*LD。
②结果为16位时,OUT的范围是VW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*AC、*LD;结果为32位时,OUT的范围是VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。
③指令执行后对标志位的影响:结果为0时SM1.0为1,结果为负时SM1.2为1,结果溢出时SM1.1为1,除数为0时SM1.3为1。当出现溢出、运行错误或间接寻址错误时,ENO=0。
(1)格式:字增1/减1指令(INC_W/DEC_W)的梯形图如图6-14所示。
(2)功能:当使能输入(EN)有效时,字增1指令(INC_W)将输入字IN加1,并将结果存放到输出单元OUT;字减1指令(DEC_W)将输入字IN减1,并将结果存放到输出单元OUT中。特别要注意:字增1/减1指令的操作数是有符号数。
图6-14 字增1/减1指令的梯形图
(1)格式:双整数乘法指令(MUL_DI)和双整数除法指令(DIV_DI)的梯形图如图6-11所示。
(2)功能:当使能输入(EN)有效时,双整数乘法指令将两个32位整数IN1和IN2相乘,产生一个32位的结果存放在OUT中。双整数除法指令将两个32位整数IN1和IN2相除(IN1/IN2),产生一个32位的结果存放在OUT中,不保留余数。当发生溢出时,结果不输出,同时将SM1.0和SM1.2置0。当除数为0时,源操作数不变。
【例6-2】乘法和除法指令使用举例,梯形图程序如图6-12所示。该程序实现两个16位数的乘法(VW0×VW2=VD4),两个32位数的乘法(VD10×VD18=VD22),两个16位数的除法(VW30/AC1= VW40,注意这里AC1只取低16位数据)。需要指出的是,32位变量VD4的高16位就是VW4,低16位就是VW6。
图6-12对应的STL程序如下:
LD I0.0 //取常开触头
MOVW VW0,VW6 //VW0→VW6
MUL VW2,VD4 //VW2×VW6=VD4
MOVD VD10,VD22 //VD→VD22
D VD18,VD22 //VD18×VD10=VD22
MOVW VW30,VW40 //VW30→VW40
/I AC1,VW40 //VW30/AC1=VW40
(1)格式:乘法指令(MUL)和除法指令(DIV)的梯形图如图6-9所示。
(2)功能:当使能输入(EN)有效时,乘法指令(MUL)将两个16位符号整数IN1和IN2相乘,产生一个32位的结果存放在OUT中(低位地址存放积的高16位数据,高位地址存放积的低16位数据)。整数除法指令( DIV)将两个16位符号整数IN1和IN2相除(IN1/IN2),产生一个32位的结果存放在OUT中,32位结果中的低16位是商、高16位是余数。乘/除运算指令的执行结果影响特殊标志位:SM1.0(结果为0),SM1.1(结果溢出),SM1.2(结果为负),SM1.3(除数为0)。
图6-9 整数乘法指令(MUL)和除法指令(DIV)的梯形图
(1)格式:双整数加法指令和双整数减法指令的梯形图如图6-7所示。
图6-7 双整数加法和减法指令的梯形图
(2)功能:当使能输入(EN)有效时,将两个32位整数IN1和IN2相加或者相减,得到一个32位的结果存放在OUT中。
【例6-1】加法和减法指令使用举例,梯形图程序如图6-8所示。该程序实现两个16位数的加法(VW0+AC0=VW2)和两个32位数的减法(VD2-AC1=VD6)运算功能。在STL程序中,算术指令的操作数均为两个,因此LAD程序和STL程序有所不同。
图6-8所对应的STL程序如下:
LD I1.0 //取常开触头
MOVW VW0,VW2 //VW0→VW2
+I AC0,VW2 //VC0+VW2=VW2
MOVD VD2,VD6 //VD2→VD6
-D AC1,VD6 //VD6-AC1=VD6
江西西门子S7-200SMARTPLC模块代理经销商