-
1 # 只是有點白xy
-
2 # 控制研究控
有一段時間沒有寫西門子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的的資料型別和與指令所選的資料型別一致!
-
3 # firepoint0
plc中減法運算,梯形圖如何寫?
無論哪種PLC,要在程式中做四則混合運算,首先要注意的是資料型別,選擇相應的資料型別才可以做四則運算。
以西門子300為例:
上圖中的梯形圖就是實數減法,MD40=MD20-MD30,實數就是浮點型資料,所以要用實數的減法來運算,否則就會報錯。
上圖中的MW20資料型別是“字”,與浮點型資料不匹配,所以顯示是紅色,報警提示。
選擇合適的資料型別做四則運算,資料一致是最重要的。
以上就是梯形圖中四則運算的全部過程了,如果資料型別不對可以透過資料型別轉換,將目標資料轉換成可以運算的資料型別即可。
回覆列表
這個這個西門子plc中的減法運算,p是上升沿,作用是使能只作用一次,tag2是減數,tag3是被減數,結果存放在tag5。
在這個減法程式中,tag1得電之後上升沿取一次訊號,然後tag2減tag3結果存在tag5當這個塊執行完tag4就會輸出。