您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400整数数学运算的注意事项

来源:艾特贸易2017-09-21

简介(1) 语句表与梯形图中的整数乘法指令的区别 语句表中的整数乘法指令“ *I ”将累加器 1 、 2 低字的 16 位整数相乘, 32 位双整数运算结果在累加器 1 。如果整数乘法的运算结果超出了

    (1)语句表与梯形图中的整数乘法指令的区别

    语句表中的整数乘法指令“*I”将累加器12低字的16位整数相乘,32位双整数运算结果在累加器1。如果整数乘法的运算结果超出了16位整数允许的范围,OVOS位均为1

    梯形图中的整数乘法指令输出变量OUT的数据类型为INT(整数),所以梯形图中的整数乘法指令的乘积为16位,而不是32位。

   (2)用带常数的加法指令“+”简化程序

    加法指令“+”将累加器1低字的16位整数与指令中的16位常数(-32768~+32767)相加,16位整数运算结果在累加器1的低字。也可以将累加器1中的32位整数与指令中的32位常数相加,32位整数运算结果在累加器1

    下面的程序用来实现双整数运算MD20+MD24-200,运算结果送MD28

   L    MD    20   //MD20的内容装入累加器1

   L    MD    24   //累加器1的内容装入累加器2MD24的值装入累加器1

   +D            //累加器12的值相加,结果存放在累加器1

   +    L# - 200    //累加器1的值减去200,结果储存在累加器1

   T    MD    28   //累加器1的运算结果传送到MD28

    如果将上面程序中的指令“+  L#-200”改为没有操作数的双字减法指令“-D”,应在该指令的前面增加一条“L  L#200”指令。

   (3)32位除法运算的余数

    双整数除法指令能得32位的商,余数被丢掉。可以用MOD指令来求双整数除法的余数。