DB塊的實(shí)際使用
劉玉蓉
發(fā)布于2014-11-03 17:17
2
0
標(biāo)簽:
一條皮帶在正常運(yùn)轉(zhuǎn)時(shí)不能自動(dòng)運(yùn)行,將其控制程序?qū)?yīng)的DB塊刪除,并復(fù)制相同的替代,重新下裝后正常。請(qǐng)問(wèn)為什么會(huì)出現(xiàn)這樣的情況呢?
佳答案
這個(gè)刪除并被復(fù)制的數(shù)據(jù)塊DB應(yīng)該是相應(yīng)功能塊FB的背景數(shù)據(jù)塊,而FB的參數(shù)(IN、OUT和IN_OUT)和靜態(tài)變量(STAT)安排在它的背景數(shù)據(jù)塊中。
在程序塊被調(diào)用時(shí),如果不指定FB中形式參數(shù)賦值,將自動(dòng)讀取該背景數(shù)據(jù)塊中參數(shù)值,而在FB調(diào)用結(jié)束后,修改后的參數(shù)和靜態(tài)變量結(jié)果返回保存到背景數(shù)據(jù)塊中,即參數(shù)和靜態(tài)變量的值會(huì)自動(dòng)寫入響應(yīng)的背景數(shù)據(jù)塊中,從而改變了DB塊中的初始值。
一般你在建立FB時(shí)會(huì)自動(dòng)產(chǎn)生對(duì)應(yīng)的背景數(shù)據(jù)塊,而塊中的數(shù)據(jù)為默認(rèn)初始值,運(yùn)行一段時(shí)間后數(shù)據(jù)會(huì)隨著FB的調(diào)用而改變,所以你刪除該DB并復(fù)制同樣的塊,相當(dāng)于把DB塊中所有對(duì)應(yīng)功能FB的形式參數(shù)的數(shù)據(jù)進(jìn)行了復(fù)位。如果一條皮帶在正常運(yùn)轉(zhuǎn)時(shí)不能自動(dòng)運(yùn)行,進(jìn)行相應(yīng)程序塊的DB復(fù)制并下載工作正常,說(shuō)明你的FB塊的程序結(jié)構(gòu)有問(wèn)題,缺少相應(yīng)的循環(huán)程序初始化語(yǔ)句,一旦程序被多次調(diào)用將發(fā)生錯(cuò)誤。