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