在上一篇文章介紹了數學函數指令的基本的數學運算指令中的加ADD、減SUB、乘MUL、除DIV、取餘數MOD、計算指令CALCULATE,這篇文章就介紹一下剩餘的數學運算指令吧,包括取補碼NEG、遞增INC、遞減DEC、取最大最小值和絕對值ABS指令。
除了遞增遞減指令,取補碼、取最大最小值和絕對值指令都是S7-200 SMART PLC中沒有的哦,大家還是可以掌握一下的,不廢話了,那我們就開始吧。
1、遞增指令INC和遞減指令DEC
遞增指令就是每執行一次這個指令,結果就在原來的基礎上進行加1,遞減指令就是每執行一次這個指令,結果就在原來的基礎上進行減1。
一般來說,遞增遞減指令我們都會配合脈衝指令等一起使用,需要注意的是遞增遞減指令所支持的數據類型是有符號整數和無符號整數。
下面我們以一個停車場車輛計數的例子來看一下程序的編寫。
控制要求:停車場設有入庫和出庫的感應器,用於檢測車輛的入庫和出庫,入庫之後進行加1計數,出庫進行減1計數,如果停車場的車輛等於100輛時,「已滿」指示燈亮,如果停車場車輛小於100輛時,「有車位」指示燈亮,同時顯示剩餘車位。
2、取補碼NEG和絕對值指令ABC
如果我們需要對一個數據的符號進行取反,也就是說本來是正數的,要取反變成負數,我們就可以使用取補碼指令。而絕對值指令就是負數取絕對值,可以變成正數。其實我們就會發現這兩個指令是相對應的,可以互為轉換。我們需要注意的是這兩個指令只能針對有符號數進行操作,因為這兩個指令其實就是對數據符號的處理。
上圖的程序的功能是數據1和數據2的差值相差大於10的情況下,就使Q0.2報警輸出。
數值1和數值2相差大於10有兩種情況,一種是數據1比數據2大10,第二種是數據2比數據1大10,所以我們在判斷差值的時候可以使用絕對值指令進行處理。
3、最大值MAX、最小值MIN、設置限制值LIMIT
取最大值指令是MAX,取最小值指令是MIN,這兩個指令就是從輸入的操作數中找到最大值和最小值進行輸出,那這裡的多個輸入操作數,我們可以通過點擊指令左下方的新增按鈕來增加輸入管腳,這兩個指令可以支持整數和DTL的數據類型。
設置限制值LIMIT指令是用於將輸入的值限制在輸入MIN和MAX值的範圍之內,如果輸入的值在其範圍之內,那麼輸出的值就是輸入值,如果輸入值小於MIN值,那麼輸出端輸出的值是MIN值,如果輸入值大於MAX值,那麼輸出端輸出的值是MAX值。
那麼這個指令在什麼情況下會使用呢?
一般來說在模擬量數據採集中會應用到,用於限制採集的值是在數字量範圍內的。這個指令支持的數據類型和MAX/MIN一樣,都可以支持整數和DTL數據類型。
以上就是S7-1200 PLC的數學運算指令,這幾個指令也是比較有用的指令,大家需要掌握一下哦,這邊通過案例程序的講解,大家應該能夠理解指令的功能了吧?
關於數學函數中的指數運算指令和三角函數運算指令,這邊就不做講解了,大家有興趣的可以自己去了解一下哦~
技成培訓網原創,作者:蔡慧滎,未經授權不得轉載,違者必究~