詳細介紹
西門子CPU1518-4 PN/DP4 MB 程序數(shù)據(jù)塊可分配給傳送參數(shù)的每個功能塊調(diào)用。實際參數(shù)和FB的靜態(tài)數(shù)據(jù)保存在實例DB中。在FB中聲明的變量確定背景數(shù)據(jù)塊的結構。實例即指功能塊調(diào)用。例如,如果在S7 用戶程序中調(diào)用一個功能塊5次,那么有5個該塊的實例。
創(chuàng)建實例DB
創(chuàng)建背景數(shù)據(jù)塊之前,必須存在相應的FB。創(chuàng)建背景數(shù)據(jù)塊時FB的編號。
每個單獨實例都有一個實例DB
如果將多個背景數(shù)據(jù)塊分配給控制電機的功能塊(FB),那么可以使用該FB來控制不同電機。
每個特定電機的數(shù)據(jù)(例如,速度、起動時間、總操作時間)保存 在不同的數(shù)據(jù)塊中。調(diào)用時與FB有關的DB決定控制哪臺電機。通過該技術,只需一個功能塊就可用于多個電機(參見下圖)。
一個實例DB可用于一個FB的多個實例(多重背景)
可以在一個實例DB中同時給多個電機傳送實例數(shù)據(jù)。為此,必須在另一個FB中編程調(diào)用電機控制器,并在調(diào)用FB的聲明部分給單個實例以數(shù)據(jù)類型FB聲明靜態(tài)變量。
給一個FB的多個實例使用一個實例DB,可西門子CPU1518-4 PN/DP4 MB 程序以節(jié)省內(nèi)存,優(yōu)化使用數(shù)據(jù)塊。
在下圖中,調(diào)用FB為FB21"電機處理",其變量數(shù)據(jù)類型為FB22,實例由Motor_1、Motor_2和 Motor_3標識。
在該實例中,FB22不需要本身的背景數(shù)據(jù)塊,因為其實例數(shù)據(jù)保存在調(diào)用FB的背景數(shù)據(jù)塊中。
一個實例DB就可用于不同FB的多個實例(多重背景)
在功能塊中,可以調(diào)用其它已存在的FB實例??梢詫⑺蟮膶嵗龜?shù)據(jù)分配給調(diào)用FB的背景數(shù)據(jù)塊,表示此時不需要給已調(diào)用的FB提供任何附加數(shù)據(jù)塊。
對于這些在一個背景數(shù)據(jù)塊中的多重背景,必須在調(diào)用功能塊的聲明部分給每個單獨實例以已調(diào)用功能塊的數(shù)據(jù)類型聲明靜態(tài)變量。因此,功能塊內(nèi)的調(diào)用不要求背景數(shù)據(jù)塊,只需要變量的符號名。
在下圖的實例中,已分配的實例DB保存在通用實例DB中。