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