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