西門子plc S7-200系列PLC整數(shù)加減乘除指令入門教程_算術(shù)運算
先來了解下整數(shù)計算的加減乘除指令位置以及常用方法:
在上面的加計數(shù)器里,用到了ADD_I,而下面的指令是ADD_DI,這是什么原因?
因為上面的加指令輸入的2個值,與輸出的結(jié)構(gòu),都沒有超過“字”的計數(shù)范圍的上限32767,所以可以使用ADD_I。當(dāng)輸入值中有超過32767,或運算結(jié)果超過這個值時,指令應(yīng)換成ADD_DI,避免產(chǎn)生數(shù)據(jù)溢出的情況。
編程上電后,通過輸入,查看到運算結(jié)果:
“減法指令”和“乘法指令”并沒有什么區(qū)別,主要是注意運算結(jié)構(gòu),是否會超出運算范圍。
以下重點介紹下“除法指令”,一起來學(xué)習(xí)下。
DIV 整數(shù)相除
DIV指令即兩個整數(shù)類型的數(shù)據(jù)進(jìn)行除法運算(目標(biāo)為雙整數(shù),其中高16位字存余數(shù)、低16位字存商)。
當(dāng)條件I0.1接通時,執(zhí)行指令,執(zhí)行時VW0的數(shù)據(jù)/VW2的數(shù)據(jù),其運算結(jié)果存到VD6中。其中VW6存放余數(shù),VW8放商。
(1)格式:整數(shù)乘法指令(MUL_I)和整數(shù)除法指令(DIV_I)的梯形圖如圖6-10所示。
圖6-10 整數(shù)乘法指令(MUL_I)和除法指令(DIV_I)的梯形圖
(2)功能:當(dāng)使能輸入(EN)有效時,整數(shù)乘法指令MUL_I將兩個16位整數(shù)IN1和IN2相乘,產(chǎn)生一個16位的結(jié)果存放在OUT中,如果運算結(jié)果超出16位,則溢出標(biāo)志SM1.1被置位。整數(shù)除法指令DIV_I將兩個1 6位整數(shù)IN1和IN2相除(IN1/IN2),產(chǎn)生一個16位的商存放在OUT中,不保存余數(shù)。當(dāng)乘法運算發(fā)生溢出時,運算結(jié)果不輸出,同時將SM1.0和SM1.2置0。除數(shù)為0時,源操作數(shù)不變。
圖6-11 雙整數(shù)乘法和雙整數(shù)除法指令的梯形圖