![]() | 6AG1211-1AE31-4XB0 SIPLUS S7-1200 CPU 1211C 直流/直流/直流 對于中等負載 帶防腐蝕涂層 根據 6ES7211-1AE31-0XB0 . 緊湊型 CPU,DC/DC/DC, 機載 I/O: 6 數字輸入 24V DC 4 數字輸出 24V DC 2 AI 0-10V DC, 電源:20.4-28.8V 程序存儲器/數據存儲器 30 KB |
功能塊 (FB)
功能塊 (FB) 是使用背景數據塊保存其參數和靜態(tài)數據的代碼塊。 FB 具有位于數據塊 (DB) 或“背景”DB 中的變量存儲器。 背景 DB 提供與 FB 的實例(或調用)關聯的一塊存儲區(qū)并在 FB 完成后存儲數據。 可將不同的背景 DB 與 FB 的不同調用進行關聯。 通過背景 DB 可使用一個通用 FB 控制多個設備。 通過使一個代碼塊對 FB 和背景 DB 進行調用,來構建程序。 然后,CPU 執(zhí)行該 FB 中的程序代碼,并將塊參數和靜態(tài)局部數據存儲在背景 DB 中。 FB 執(zhí)行完成后,CPU 會返回到調用該 FB 的代碼塊中。 背景 DB 保留該 FB 實例的值。 隨后在同一掃描周期或其它掃描周期中調用該功能塊時可使用這些值。
可重復使用的代碼塊和關聯的存儲區(qū)
用戶通常使用 FB 控制在一個掃描周期內未完成其運行的任務或設備的運行。 要存儲運行參數以便從一個掃描快速訪問到下一個掃描,用戶程序中的每一個 FB 都具有一個或多個背景 DB。 調用 FB 時,也需要包含塊參數以及用于該調用或 FB “實例”的靜態(tài)局部數據的背景 DB。 FB 完成執(zhí)行后,背景 DB 將保留這些值。
通過設計用于通用控制任務的 FB,可對多個設備重復使用 FB,方法是:為 FB 的不同調用選擇不同的背景 DB。
FB 將 Input、Output 和 InOut 以及靜態(tài)參數存儲在背景數據塊中。
您還可以在 RUN 模式下修改和下載函數塊接口。
在背景數據塊中分配起始值
背景數據塊存儲每個參數的默認值和起始值。 起始值提供在執(zhí)行 FB 時使用的值。 然后可在用戶程序執(zhí)行期間修改起始值。
FB 接口還提供一個“默認值”(Default value) 列,使您能夠在編寫程序代碼時為參數分配新的起始值。 然后將 FB 中的這個默認值傳給關聯背景數據塊中的起始值。 如果不在 FB 接口中為參數分配新的起始值,則將背景數據塊中的默認值復制到起始值。
使用帶多個 DB 的單個 FB
下圖顯示了三次調用同一個 FB 的 OB,方法是針對每次調用使用一個不同的數據塊。 該結構使一個通用 FB 可以控制多個相似的設備(如電機),方法是在每次調用時為各設備分配不同的背景數據塊。 每個背景 DB 存儲單個設備的數據(如速度、加速時間和總運行時間)。
在此實例中,FB 22 控制三個獨立的設備,其中 DB 201 用于存儲個設備的運行數據,DB 202 用于存儲第二個設備的運行數據,DB 203 用于存儲第三個設備的運行數據。