背景數據塊

背景數據塊,又稱實例數據塊(DI,Instance Data block),是西門子工控產品PLC s7-300/400當中,基於PC/PG編程軟體Step 7(以下簡稱S7)中的一類數據存儲區域。

概述

S7工程是由主循環塊OB1,及其調用功能、功能塊,以及各種中斷組織塊(OB)構成:

·組織塊(OB)

·功能(FC)

·系統功能(SFC)

·功能塊(FB)

·系統功能塊(SFB)

S7程式包括邏輯塊和數據塊。相比於FC,FB帶有一個存儲區,也就是說,有一個局部數據塊被分配給FB塊,這個數據塊被稱為背景數據塊。

生成一個背景DB

一個FB的時間標記要比其背景DB更新,即在用戶生成一個背景數據塊之前,相應的FB必須已經存在。

現有FB10,欲為其生成背景DB10,方法有二:

·如果某個FB已經創建,則可在調用時,自動生成一個背景DB。

call FB10,DB10 系統彈出對話框“實例數據塊DB10不存在。是否要生成它?”提示是否為FB10創建其背景DB10。

·在塊目錄里插入數據塊,在“常規-第1部分”分頁欄中的“名稱和類型”框輸入DB10,從“共享的 DB”、“實例 DB”下拉列表選擇後者,並指明所屬數據塊為“FB10”。

背景DB結構

FB中有一個局域變數表和塊參數。局域變數表里有:IN(輸入參數)、OUT(輸出參數)、IN_OUT(輸入輸出參數)STAT(靜態參數)、TEMP(臨時數據)。其中IN、IN_OUT、OUT為接口參數,將來直接體現在生成的FB塊左右兩側,而STAT、TEMP為內部參數。除了TEMP參數外,其他類型的參數都將體現在背景DB中,意味著可以通過背景DB傳遞參數。

FB定義的接口參數直接決定了其背景DB的結構。背景DB塊中變數數據列表,包括標號、地址、聲明、名稱、類型、初始值、實際值、備註,8個欄位。地址從0.0,依據每一個變數的聲明及類型依次分配,先IN、OUT,後IN_OUT,最後為STAT。背景DB的變數都是其所屬FB的映射,承擔傳遞數據,背景DB不能被其它塊引用。

調用背景DB

·FB調用不同背景DB

一個FB可以調用不同的DB,這對於模組化編程時非常有好處的。類型相同的多個控制對象可以生成一種FB,針對各個對象的不同控制要求,可以調用不同的背景DB。

如:call FB10,DB10

call FB10,DB11

call FB10,DB12

·多重背景DB

FB中可以定義變數的數據類型為另一FB。例如在FB20中定義Motor1、Motor2變數為FB10類型,而FB10的背景數據塊為DB10。

相關詞條

相關搜尋

熱門詞條

聯絡我們