目前各种型号的plc普遍具备较强的运算功能。和其他PLC不同,S7—200 PLC对算术运算指令来说,在使用要注意存储单元的分配。建议大家在使用算术指令和数学指令时,最好用LAD形式编程。运算指令包括加法、减法、乘法、除法、数学函数指令、增减和逻辑运算指令。 一、加法 1、整数加法 +I,整数加法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相加,产生一个16位整数结果OUT。
图1 整数加法 2、双整数加法 +D,双整数加法指令。使能输入有效时,将两个双字长(32位)的符号双整数IN1和IN2相加,产生一个32位双整数结果OUT。 在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。 在STL中,执行结果:IN1+OUT=OUT。 OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。 指令格式:+D IN1, OUT 3、+R,实数加法指令 使能输入有效时,将两个双字长(32位)的实数IN1和IN2相加,产生一个32位实数结果OUT。 在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。 OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。 二、减法 减法指令是对有符号数进行相减操作。包括:整数减法、双整数减法和实数减法。这三种减法指令与所对应的加法指令除运算法则不同之外,其他方面基本相同。 在LAD和FBD中,以指令盒形式编程,执行结果:IN1-IN2=OUT。 在STL中,执行结果: OUT- IN2=OUT。 指令格式: -I IN2, OUT (整数减法);-D IN2, OUT (双整数减法);-R IN2, OUT (实数减法) 例: -I AC0, VW4 图3 减法运算 三、乘法 1、整数乘法 *I,整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个16位整数结果OUT。 指令格式:*I IN1,OUT 例:*I VW0,AC0 图4 乘法
图5 乘法 2、完全整数乘法 MUL,完全整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。 在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。 OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。 指令格式: MUL IN1,OUT 例: MUL AC0,VD10 3、双整数乘法 *D,双整数乘法指令。使能输入有效时,将两个双字长(32位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。 在STL中,执行结果:IN1*OUT=OUT。 N1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。 OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。 指令格式:*D IN1,OUT 例:*D VD0,AC0 4、实数乘法 *R,实数乘法指令。使能输入有效时,将两个双字长(32位)的实数IN1和IN2相乘,产生一个32位实数结果OUT。 在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。 在STL中,执行结果:IN1*OUT=OUT。 IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常数。 OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。 指令格式:*R IN1,OUT 例:*R VD0,AC0 四、除法 在LAD和FBD中,以指令盒形式编程,执行结果: IN1/IN2=OUT。 在STL中,执行结果: OUT/ IN2=OUT。 指令格式: /I IN2, OUT(整数除法) DIV IN2, OUT(整数完全除法) /D IN2, OUT(双整数除法) /R IN2, OUT(实数除法)
|