在西門子博圖中,根據生產工藝的不同,采用結構化編程,不同的控制功能,可以編在不同的函數塊FB中。但每個函數塊FB對應一個背景數據塊DB,這樣在項目中就會出現大量的背景數據 "碎片",影響程序的執行效率。使用多重背景,可以減少背景數據塊的個數,提高程序的執行效率。
多重背景的使用,就是在一個總FB塊內,調用多個不同的FB塊或相同的塊多次調用,最后共享這個總FB塊的背景數據塊DB。
每建一個FB塊,則數據類型就增加一個帶雙引號的與FB同名的數據類型,如FB塊名稱叫【AAA】,則數據類型中就有一個"AAA"
舉例說明:一台天車總電氣控制
在博圖中分別添加FB1、FB2、FB3塊。
小車運行控制程序寫在FB1內,名稱叫【小車運行控制】
大車運行控制程序寫在FB2內,名稱叫【大車運行控制】
升降運行控制程序寫在FB3內,名稱叫【升降運行控制】
如下圖

添加的三個函數塊
再添加一個FB4函數塊,在FB4參數接口表的靜態變量Static下,建立三個變量如下圖,各數據類型選用帶引號與FB同名的類型

FB4下數據類型與各FB塊名稱對應

靜態變量下的變量與FB塊對應
在FB4內分別調用FB1、FB2、FB3,產生選用背景數據塊時,點"取消"如圖

點取消
生成的塊名點<???>號,分別選用各自名稱,如下圖

塊名選用對應的名稱

小車運行FB1塊

FB2塊

FB3塊
在OB1中調用FB4,生成一個總數據塊DB1

OB1中調用FB4

以上FB1、FB2、FB3沒有產生各自的背景數據塊,所有接口參數都在FB4的數據塊DB1內,從而實現了共用了一個DB塊,這就是多重背景的應用。