西門子plc S7-200係列PLC整數加減乘除指令入門教程_算術運算
先來了解下整數計算的加減乘除指令位置以及常用方法:
在上麵的加計數器裏,用到了ADD_I,而下麵的指令是ADD_DI,這是什麽(me) 原因?
因為(wei) 上麵的加指令輸入的2個(ge) 值,與(yu) 輸出的結構,都沒有超過“字”的計數範圍的上限32767,所以可以使用ADD_I。當輸入值中有超過32767,或運算結果超過這個(ge) 值時,指令應換成ADD_DI,避免產(chan) 生數據溢出的情況。
編程上電後,通過輸入,查看到運算結果:
“減法指令”和“乘法指令”並沒有什麽(me) 區別,主要是注意運算結構,是否會(hui) 超出運算範圍。
以下重點介紹下“除法指令”,一起來學習(xi) 下。
DIV 整數相除
DIV指令即兩(liang) 個(ge) 整數類型的數據進行除法運算(目標為(wei) 雙整數,其中高16位字存餘(yu) 數、低16位字存商)。
當條件I0.1接通時,執行指令,執行時VW0的數據/VW2的數據,其運算結果存到VD6中。其中VW6存放餘(yu) 數,VW8放商。
(1)格式:整數乘法指令(MUL_I)和整數除法指令(DIV_I)的梯形圖如圖6-10所示。
圖6-10 整數乘法指令(MUL_I)和除法指令(DIV_I)的梯形圖
(2)功能:當使能輸入(EN)有效時,整數乘法指令MUL_I將兩(liang) 個(ge) 16位整數IN1和IN2相乘,產(chan) 生一個(ge) 16位的結果存放在OUT中,如果運算結果超出16位,則溢出標誌SM1.1被置位。整數除法指令DIV_I將兩(liang) 個(ge) 1 6位整數IN1和IN2相除(IN1/IN2),產(chan) 生一個(ge) 16位的商存放在OUT中,不保存餘(yu) 數。當乘法運算發生溢出時,運算結果不輸出,同時將SM1.0和SM1.2置0。除數為(wei) 0時,源操作數不變。
圖6-11 雙整數乘法和雙整數除法指令的梯形圖