漩渦寒米
有一段時間沒有寫西門子200的東西了,所以就以西門子200PLC中的減法運算來解釋您的問題:
西門子200的micro/win軟件和西門子300的STEP7軟件中關於減法的梯形圖指令有3種,即整數的減法、雙整數的減法以及浮點數的減法(也就是實數的減法),請看下圖:
這是西門子200micro/win軟件中我在主程序中簡單寫的一段程序,網絡1利用SM0.1給MW0,MW2,VD0,VD4賦予了初始值。網絡2就是做減法,SM0.0是一直接通的,所以這個減法就是一直在減。
可以看到SUB_I就是整數減法即16位變量的減法,用IN1-IN2的值存放在OUT中。SUB_DI就是雙整數的減法即32位變量的減法,也是IN1-IN2=OUT。
上邊這2種都是整數,所以IN1和IN2的值都不能帶小數點。
SUB_R就是實數的減法,實數也是32為變量但是是可以帶小數點的,同樣也是IN1-IN2=OUT。
西門子PLC中規定實數的小數點最到後六位,所以3.141593,小數點後只有6位!
來看一下程序運行的結果吧:
這個圖片就是運行後的結果,因為SM0.1就第一個掃描週期為1,所以監控的時網絡1的能流看著就不通了。
網絡2,計算出的結果是MW4=0,VD8=+100000,VD12=2.010183。
到這裡我想您已經明白西門子200PLC中梯形圖減法指令的用法了,200smartPLC軟件中的指令和200mirco/win中的一樣,都是SUB_I,DI,R等,所以他們的用法完全一樣。
西門子300step7軟件中也是和200mirco/win中的一樣,也都是是SUB_I,DI,R。
在西門子的博圖軟件中,雖然梯形圖下的SUB指令塊只有一個,但是其數據類型比200和300PLC中進行了更多的細分,比如它有64位長度的實數,所以在博圖軟件中使用的是時候,也要保證IN1和IN2的的數據類型和與指令所選的數據類型一致!
至此,答題就完畢了,應該對你有點幫助,如果還有問題可以關注我給我留言,我會及時回覆的,謝謝!
控制研究控
plc中減法運算,梯形圖如何寫?
無論哪種PLC,要在程序中做四則混合運算,首先要注意的是數據類型,選擇相應的數據類型才可以做四則運算。
以西門子300為例:
上圖中的梯形圖就是實數減法,MD40=MD20-MD30,實數就是浮點型數據,所以要用實數的減法來運算,否則就會報錯。
上圖中的MW20數據類型是“字”,與浮點型數據不匹配,所以顯示是紅色,報警提示。
選擇合適的數據類型做四則運算,數據一致是最重要的。
以上就是梯形圖中四則運算的全部過程了,如果數據類型不對可以通過數據類型轉換,將目標數據轉換成可以運算的數據類型即可。
多謝大家的支持,希望大家多關注、多討論、多點贊!
firepoint0
不同PLC指令不一樣,三菱PLC舉例,D100-D101=D102
非標設備自動化設計
這個這個西門子plc中的減法運算,p是上升沿,作用是使能只作用一次,tag2是減數,tag3是被減數,結果存放在tag5。
在這個減法程序中,tag1得電之後上升沿取一次信號,然後tag2減tag3結果存在tag5當這個塊執行完tag4就會輸出。
我哪裡沒有說清楚的話歡迎留言 也可以私信我。
只是有點白xy
加減乘除 add sub mul div基本上plc和dcs裡跟這個差不多