本節(jié)我們來學(xué)習(xí)西門子S7-200 SMART整數(shù)運算指令,并通過一個實例來講解整數(shù)運算指令如何使用。S7-200 SMART的整數(shù)運算指令主要包括加、減、乘、除運算指令和遞增、遞減運算指令。
加減乘除運算指令
遞增、遞減運算指令
整數(shù)的加、減、乘、除運算指令分別實現(xiàn)了將兩個十六位整數(shù)相加、相減、相乘和相除,從而產(chǎn)生一個十六位的整數(shù)運算結(jié)果,其中除法指令只得到商,不保留余數(shù)。
整數(shù)的加減乘除指令
雙整數(shù)的加、減、乘、除指令分別實現(xiàn)了將兩個三十二位的雙整數(shù)相加、相減、相乘和相除,從而產(chǎn)生一個三十二位的雙整數(shù)結(jié)果,其中除法指令只得到商,不保留余數(shù)。
雙整數(shù)的加減乘除指令
當(dāng)兩個十六位整數(shù)相乘,所得的結(jié)果可能溢出十六位整數(shù)范圍時,可以使用整數(shù)相乘得雙整數(shù)指令,它將兩個十六位整數(shù)IN1和IN2相乘,從而產(chǎn)生一個三十二位的雙整數(shù)結(jié)果。
整數(shù)相乘得雙整數(shù)指令
帶余數(shù)的整數(shù)除法指令,將兩個十六位的整數(shù)IN1和IN2相除從而產(chǎn)生一個三十二位的結(jié)果,其中操作數(shù)IN1和IN2是十六位有符號整數(shù),三十二位的結(jié)果OUT中,高十六位為余數(shù),低十六位為商。
帶余數(shù)的整數(shù)除法指令
字節(jié)遞增、遞減指令將輸入字節(jié)IN加一或者減一,并將運算結(jié)果送到OUT中,其操作數(shù)為八位無符號數(shù),需要注意字節(jié)遞增、遞減運算不帶符號。
字節(jié)遞增遞減指令
字遞增、遞減指令將輸入字IN加一或者減一,并將運算結(jié)果送到OUT中,其操作數(shù)為十六位有符號整數(shù),需要注意字遞增、遞減運算帶符號。
字遞增遞減指令
雙字遞增、遞減指令將輸入雙字IN加一或者減一,并將運算結(jié)果送到OUT中,其操作數(shù)為三十二位有符號雙整數(shù),需要注意雙字遞增、遞減運算帶符號。
雙字遞增遞減指令
下面我們舉例來說明整數(shù)運算指令在程序中的應(yīng)用。在實際應(yīng)用中,經(jīng)常需要將現(xiàn)場采集的模擬量信號數(shù)據(jù)值進行轉(zhuǎn)換,得到對應(yīng)的工程量數(shù)值,假設(shè)得到的轉(zhuǎn)換公式如下圖所示,為了便于演示,將AIW0的地址更改為VW0,需要注意,為了保證精度,運算時應(yīng)該先進行乘法運算再進行除法運算。
整數(shù)運算指令應(yīng)用舉例
我們來編寫程序。雙擊電腦桌面上的STEP7-Micro/WIN SMART圖標(biāo),打開編程軟件,首先從指令樹的位邏輯中選擇一個常開觸點,拖放到程序編輯器的程序段1中,輸入地址SM0.0,在指令樹整數(shù)計算選項中拖動整數(shù)相減指令到剛剛添加的常開觸點后面,在IN1處輸入地址VW0,在IN2處輸入數(shù)值6400,在OUT處輸入地址VW2。
添加整數(shù)相減指令
單擊工具欄插入向下垂直線按鈕,產(chǎn)生一個程序分支。因為乘法運算的結(jié)果可能超出十六位整數(shù)的范圍,所以需要使用整數(shù)相乘得到雙整數(shù)指令,插入該指令,在IN1處輸入地址VW2,在IN2處輸入數(shù)值100,在OUT處輸入地址VD4。
添加整數(shù)相乘得到雙整數(shù)指令
再次單擊工具欄插入向下垂直線按鈕,繼續(xù)產(chǎn)生程序分支。因為VD4是雙整數(shù),所以需要雙整數(shù)相除指令,插入該指令,在IN1處輸入地址VD4,在IN2處輸入數(shù)值25600,在OUT處輸入地址VD8。這樣,一個用整數(shù)運算指令編寫的模擬量運算程序就編寫完成了。
添加整數(shù)相除指令
編譯并下載程序到S7-200 SMART PLC。單擊菜單中的下載按鈕,在打開的通信對話框中選擇要訪問的CPU并點擊確定進行下載,下載完成后關(guān)閉對話框。在線查看程序運行情況。單擊PLC菜單下的RUN按鈕運行項目,單擊調(diào)試菜單下的程序狀態(tài)按鈕在線觀察程序的運行情況,在狀態(tài)圖表中輸入地址VW0,格式為有符號整數(shù),再輸入VD8。單擊狀態(tài)圖表的工具欄圖表狀態(tài)按鈕,可以看到VW0和VD8的當(dāng)前值。
在線查看程序運行情況
在VW0的新值列中輸入20000,單擊狀態(tài)圖表的工具欄寫入按鈕,則VW2變?yōu)橄鄳?yīng)的值,此時VD8自動計算為相應(yīng)的數(shù)值。
自動計算相應(yīng)的數(shù)值