多重背景數據塊內變默認變量名
劉玉蓉
發(fā)布于2014-11-06 17:40
239
0
標簽:
挺好的東西,只是把底層的塊稍做修改。外部的背景數據塊瘋掉了,全部變默認名稱。怎么處理呢?不然不敢大面積用,改一下就亂碼。連優(yōu)化底層塊的機會都沒有。編程時作調整難免的。
佳答案
背景數據塊是用來保存FB的實參和靜態(tài)變量(STAT),背景數據塊中的數據是自動生成的,它們是功能塊FB的變量聲明表中的數據(不包括臨時變量TEMP)。你在修改多重背景數據塊的低層塊時,PLC操作系統(tǒng)在編譯功能塊FB時,將自動生成與功能塊FB 對應的背景數據塊中的數據,其變量與對應的功能塊中的變量相同,不能在背景數據塊中增減變量,只能在數據顯示式下修改實際值或者通過對應的功能塊的變量聲明表來修改。為了防止你把底層的塊稍做修改,引起對應背景數據快變化,好在修改時刪除FB的背景數據塊,修改完成后,你在編譯保存時,操作系統(tǒng)會自動產生新的對應的新背景數據塊。
在建立多重背景數據塊時,首先要建立底層功能塊FB,再建立上層FB快;如底層功能塊FB為FB1(局部背景調用,控制功能塊),FB10 為上層功能塊,DB3為共享數據塊,DB10 為多重背景數據塊。在執(zhí)行菜單命令Inset-S7 Block->Function Block, 創(chuàng)建一個上層功能塊時必須在FB10的屬性對話框內激活”Multi-Instance capable”(默認),然后在FB10的變量聲明表中為FB1的調用聲明不同名稱的靜態(tài)變量Stat,數據類型為FB1。如果你不首先建立底層功能塊FB,可能就會在定義上層功能塊中靜態(tài)變量Stat的數據類型時出錯;
在使用多重背景數據塊時應注意以下問題:
首先應生成需要多次調用的功能塊;
管理多重背景的功能塊必須設置為多重背景功能;
在管理多重背景的功能塊的變量聲明表中,為被調用的功能塊的每一次調用定義一個靜態(tài)(STAT)變量,以被調用的功能塊的名稱作為靜態(tài)變量的數據類型;
必須一個背景數據塊分配給管理多重背景的功能塊。背景數據塊中的數據是自動生成的;
多重背景只能聲明為靜態(tài)變量(聲明類型為Stat)