大家好,今天講解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置位,其它數學運算標誌位不會發生變化。
下面舉例說明整數運算,如圖所示
假設AC0中存入的數值是60,AC1中存入的數值是40,VW100中存入的數值是20,VW200中存入的數值為4000,VW10 中存入的數值為20,那麼其運算結果為
實數運算如圖所示
運算結果如圖
整數乘法產生雙整數和帶餘數的整數除法
整數乘法產生雙整數
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置位,其它數字運算標誌位不會發生變化。否則,當數字運算完成時,所有支持的數字運算狀態位都包含有效狀態。
運算實例如圖
PS:VD100包含:VW100和VW102,而VD200包含:VW200和VW202。
遞增和遞減指令
遞增
IN+1=OUT
遞減
IN -- 1=OUT
遞增或者遞減指令將輸入IN加1或者減1,並將結果存放在OUT中。字節遞增(INCB)和字節遞減(DECB)操作是無符號的。字遞增(INCW)和字遞減(DECW)操作是有符號的。雙字遞增(INCD)和雙字遞減(DECD)操作是有符號的。
操作實例如下:
今天你學會了嗎?關注達達老師,每天進步一點點,你會有所收穫。
閱讀更多 噠噠與達達 的文章