您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400整数数学运算的注意事项
来源:艾特贸易2017-09-21
简介(1) 语句表与梯形图中的整数乘法指令的区别 语句表中的整数乘法指令“ *I ”将累加器 1 、 2 低字的 16 位整数相乘, 32 位双整数运算结果在累加器 1 。如果整数乘法的运算结果超出了
(1)语句表与梯形图中的整数乘法指令的区别
语句表中的整数乘法指令“*I”将累加器1、2低字的16位整数相乘,32位双整数运算结果在累加器1。如果整数乘法的运算结果超出了16位整数允许的范围,OV和OS位均为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的内容装入累加器2,MD24的值装入累加器1
+D //累加器1、2的值相加,结果存放在累加器1
+ L# - 200 //累加器1的值减去200,结果储存在累加器1
T MD 28 //累加器1的运算结果传送到MD28
如果将上面程序中的指令“+ L#-200”改为没有操作数的双字减法指令“-D”,应在该指令的前面增加一条“L L#200”指令。
(3)求32位除法运算的余数
双整数除法指令能得32位的商,余数被丢掉。可以用MOD指令来求双整数除法的余数。