當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器
發(fā)布日期:2022-04-26 點擊率:35 品牌:西門子_Siemens
1.西門子PLCS7300中DB和DI數(shù)據(jù)塊寄存器,使用DB寄存器打開數(shù)據(jù)塊后,使用DBX、DBB、DBW、DBD等來訪問數(shù)據(jù)塊里的變量
比如
OPN DB1
LDBW0//此時訪問的就是DB1.DBW 0
使用DI寄存器打開數(shù)據(jù)塊后,使用DIX、DIW、DID等來訪問數(shù)據(jù)塊里的變量
1.DIW0//此時訪問的也是DB1.DBW 0
因為調(diào)用FB時,系統(tǒng)自動使用DI寄存器來打開背景數(shù)據(jù)塊,所以通常DI寄存器又被稱為背景數(shù)據(jù)寄存器,如果在FB里不使用OPN DI打開數(shù)據(jù)塊,直接使用DIW訪問的就是背景數(shù)控塊里的一個字變量,所以在FB里最好不要使用DI寄存器打開其他的數(shù)據(jù),否則造成參數(shù)訪問混亂。
總之,看到DIW并不一定是訪問的背景數(shù)據(jù)塊,要看是否在FB里使用,是否使用了OPNDI打開了其他數(shù)據(jù)塊,不在FB里DB寄存器和DI寄存器使用沒有區(qū)別。
2.PLC編程中功能塊FB與功能FC的區(qū)別
說的簡單點,F(xiàn)B是有背景數(shù)據(jù)塊的,而FC沒有。如果你有幾套一樣的或者相似的參數(shù)要處理的話,用FB會方便一點。
例如,計算機(jī)A同學(xué)和B同學(xué)的成績都有數(shù)學(xué),語文,英語組成,那么在計算每個同學(xué)的數(shù)據(jù)時都是三個科目成績相加,算法是一樣的,那么我們就可以做一個功能塊,把這個算法寫進(jìn)去,在塊里面定義變量數(shù)學(xué),語文,英語,然后把算法寫好,再去為A,B同學(xué)分別創(chuàng)建一個數(shù)據(jù)塊,也就是FB的背景數(shù)據(jù)塊,你會發(fā)現(xiàn),你打開背景數(shù)據(jù)塊后,里面的變量和FB里面的變量名稱,個數(shù)是一樣的,那么把數(shù)據(jù)塊1,2分配給A,B的話,就可以把AB同學(xué)的成績分別寫到數(shù)據(jù)塊里,然后由FB調(diào)用的數(shù)據(jù)塊就可以計算A,B的成績了,這樣每組數(shù)據(jù)都有自己的數(shù)據(jù)塊,不容易造成數(shù)據(jù)混亂。如果用功能FC來做的話,也可以,但是你要自己去每個模塊里面定義變量,比較麻煩,或者也可以直接把所有同學(xué)的成績的數(shù)據(jù)全寫到一個塊里面,但這樣容易數(shù)據(jù)混亂。
還有就是FB里面是有靜態(tài)變量的,而FC沒有,F(xiàn)C有reture,F(xiàn)B沒有至于這兩的用法。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航