從零開始學PLC之加+減-乘x除÷

大家好,今天講解PLC的指令是加減乘除,相信看完後大家會有所收穫,關注達達老師,每天進步一點點

數字運算指令

加、減、乘、除指令

加法減法

IN1+IN2=OUT IN1--IN2=OUT

整數加法(+I)或者整數減法(--I)指令,將兩個16位整數相加或者相減,產生一個16位結果。雙整數加法(+D)或者雙整數減法(--D)指令,將兩個32位整數相加或者相減,產生一個32位結果。實數加法(+R)和實數減法(--R)指令,將兩個32位實數相加或相減,產生一個32位實數結果。

乘法除法IN1*IN2=OUT IN1/IN2=OUT LAD和

整數乘法(*I)或者整數除法(/I)指令,將兩個16位整數相乘或者相除,產生一個16位結果。(對於除法,餘數不被保留。)雙整數乘法(*D)或者雙整數除法(/D)指令,將兩個32位整數相乘或者相除,產生一個32位結果。(對於除法,餘數不被保留。)實數乘法(*R)或實數除法(/R)指令,將兩個32位實數相乘或相除,產生一個32位實數結果。

SM標誌位和ENO

SM1.1表示溢出錯誤和非法值。如果SM1.1置位,SM1.0和SM1.2的狀態不再有效而且原始輸入操作數不會發生變化。如果SM1.1和SM1.3沒有置位,那麼數字運算產生一個有效的結果,同時SM1.0和SM1.2有效。在除法運算中,如果SM1.3置位,其它數學運算標誌位不會發生變化。

從零開始學PLC之加+減-乘x除÷

加、減、乘、除指令的有效操作數

下面舉例說明整數運算,如圖所示

從零開始學PLC之加+減-乘x除÷

整數運算

假設AC0中存入的數值是60,AC1中存入的數值是40,VW100中存入的數值是20,VW200中存入的數值為4000,VW10 中存入的數值為20,那麼其運算結果為

從零開始學PLC之加+減-乘x除÷

從零開始學PLC之加+減-乘x除÷

乘法

從零開始學PLC之加+減-乘x除÷

除法

實數運算如圖所示

從零開始學PLC之加+減-乘x除÷

實數運算

運算結果如圖

從零開始學PLC之加+減-乘x除÷

實數加

從零開始學PLC之加+減-乘x除÷

實數乘

從零開始學PLC之加+減-乘x除÷

實數除

整數乘法產生雙整數和帶餘數的整數除法

整數乘法產生雙整數

IN1 * IN2 = OUT

整數乘法產生雙整數指令(MUL),將兩個16位整數相乘,得到32位結果。在STL的MUL指令中,OUT的低16位被用作一個乘數。

帶餘數的整數除法

IN1 / IN2 = OUT

帶餘數的整數除法指令(DIV),將兩個16位整數相除,得到32位結果。其中16位為餘數(高16位字中),另外16位為商(低16位字中)。

SM標誌位和ENO

對於在本頁中介紹的兩條指令,特殊存儲器(SM)標誌位表示錯誤和非法值。如果在除法指令執行時,SM1.3置位,其它數字運算標誌位不會發生變化。否則,當數字運算完成時,所有支持的數字運算狀態位都包含有效狀態。

從零開始學PLC之加+減-乘x除÷

整數乘法產生雙整數和帶餘數的整數除法指令的有效操作數

運算實例如圖

從零開始學PLC之加+減-乘x除÷

運算實例

從零開始學PLC之加+減-乘x除÷

運算結果

PS:VD100包含:VW100和VW102,而VD200包含:VW200和VW202。

遞增和遞減指令

遞增

IN+1=OUT

遞減

IN -- 1=OUT

遞增或者遞減指令將輸入IN加1或者減1,並將結果存放在OUT中。字節遞增(INCB)和字節遞減(DECB)操作是無符號的。字遞增(INCW)和字遞減(DECW)操作是有符號的。雙字遞增(INCD)和雙字遞減(DECD)操作是有符號的。

從零開始學PLC之加+減-乘x除÷

遞增和遞減指令的有效操作數

操作實例如下:

從零開始學PLC之加+減-乘x除÷

從零開始學PLC之加+減-乘x除÷

今天你學會了嗎?關注達達老師,每天進步一點點,你會有所收穫。


分享到:


相關文章: