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