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