一個背景DB用于某個FB的多次背景(多重背景)
用戶也可以將多個電機的背景數據同時傳遞到一個背景DB。為此,用戶必須增加一個FB來管理電機控制器的多次調用,并且,在調用FB的定義表中用數據類型為“FB”的靜態變量定義每個背景。
如果用戶只用一個背景DB存放某個FB的多次背景,則節約了存儲空間,并能最優地使用數據塊。
在這個例子中,FB22不需要自己的背景數據塊,因為它的背景數據存在調用FB的背景數據塊中。
一個背景DB用于不同FB的多次背景(多重背景)
在一個功能塊中,用戶可以調用其它已經存在的FB的背景。為此,用戶可以將所需的背景數據賦值到調用FB的背景數據塊中,這就意味著,在這種情況中,用戶不需要為被調FB增加任何數據塊。
為了將這些多重背景在一個背景數據塊中實現,用戶必須在調用功能塊的變量聲明表部分,為每次獨立的背景定義一個以被調用的FB為數據類型的靜態變量。在功能塊內部的調用,則不再需要背景數據塊,只需要變量的符號名。
變量聲明表中的多重背景;
使用多重背景:
如果用戶希望或不得不用有限的幾個數據塊存放背景數據以提高S7 CPU中的性能(例如存儲能力)是可能的。如果在功能塊中調用其它的功能塊(FB),不需要它們自己的(額外的)背景數據塊。
解決的方法如下:
? 在調用功能塊的變量聲明表中,將被調用的功能塊做為靜態變量參數。
? 在該功能塊中,調用其它功能塊不帶有(額外的)背景數據塊。
? 這就將背景數據都壓縮在一個背景數據塊中,用戶能夠更有效地利用數據塊的資源。
唯一的要求:用戶必須“告訴”調用功能塊,哪個背景需要調用以及這些背景的類型(FB是什么?)。這些細節必須在調用功能塊的參數聲明窗口輸入。被調用的功能塊在數據區中至少要有一個變量或參數(VAR_TEMP不能用)。
聲明多重背景的規則:
多重背景的聲明有下列規則:
? 只有在版本2以上的STEP 7中生成的功能塊(參看功能塊的屬性中的塊特性),才可能聲明多重背景。
? 為了聲明多重背景,功能塊必須設置為有多重背景能力(在STEP 7中缺省設置),可在編輯器中用Options > Customize 取消。
? 必須有一個背景數據塊分配給聲明了多重背景的功能塊。
? 多重背景只能聲明為靜態變量(聲明類型為“Stat ”)。
在變量聲明窗口中輸入多重背景:
1. 打開功能塊,在該功能塊中將調用下一級功能塊。
2. 如果不想給被用調的功能塊使用背景數據塊,可以為這些功能塊在調用它們的功能塊變量聲明表中定義一個靜態變量。
- 在變量表中選擇“STAT”。
- 在變量視窗的“Name(名)”欄中為FB的調用輸入一個名字。
- 在“Data Type(數據類型)”欄中輸入需要調用的功能塊作為一個絕對地址或用它的符號名。
- 可以在注釋欄輸入任何需要的注釋。
在程序部分調用
如果聲明了多重背景,可以調用FB和無需指定一個背景DB。
例如:如果定義了靜態變量 "Name: Motor_1 , Data type: FB20",則可按下述方法調用背景:
Call Motor_1 // 調用FB20,無背景數據塊
注意:
l一個FB2 在FB1 中被定義為多重背景,并且FB2 的時間標簽比FB1 的更新。
l在對一個FB的接口修改后,已有的多重背景及背景數據塊必須刷新。
l當調用一個FB(單個背景或多重背景) 時,地址寄存器AR2 被改寫。
編輯:jq
-
plc
+關注
關注
5013文章
13329瀏覽量
464127 -
西門子
+關注
關注
94文章
3052瀏覽量
116066
原文標題:西門子PLC多重背景的使用
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論