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