定義
當(dāng)函數(shù)塊 (FB) 調(diào)用另一個函數(shù)塊時,可其實例數(shù)據(jù)存儲在調(diào)用函數(shù)塊的背景數(shù)據(jù)塊中。這種塊調(diào)用又稱之為多重實例。
優(yōu)勢
使用多重實例具有以下優(yōu)勢:
適用于復(fù)雜塊的完美結(jié)構(gòu)
背景數(shù)據(jù)塊的數(shù)量較少
輕松編寫本地子程序,如本地定時器或邊沿評估等。
多重實例的工作原理
下圖顯示了一個函數(shù)塊正在使用另一函數(shù)塊(“Valve”)。其中,“Valve”作為一個多重實例進(jìn)行調(diào)用;即,該函數(shù)塊的數(shù)據(jù)將保存在調(diào)用函數(shù)的背景數(shù)據(jù)塊中。多重實例數(shù)據(jù)位于調(diào)用塊的“Static”區(qū)域中。在 S7-1200/S7-1500 系列的 CPU 中,該實例也可位于另一函數(shù)塊的背景數(shù)據(jù)塊中。
創(chuàng)建多重實例 可通過以下幾種方式創(chuàng)建多重實例:
在程序中調(diào)用函數(shù)塊時,“調(diào)用方式”(Call options) 對話框隨即打開。在該對話框中,可輸入要將該函數(shù)塊作為單實例、多重實例或參數(shù)實例進(jìn)行調(diào)用。
直接在調(diào)用塊接口中聲明多重實例。
直接在另一函數(shù)塊接口中聲明多重實例 (S7-1200/S7-1500)。
多重實例的 ARRAY 多重實例也可創(chuàng)建為一個 ARRAY。在程序循環(huán)執(zhí)行的過程中,可使用一個可變下標(biāo)對各個 ARRAY 元素進(jìn)行尋址。 ? 直接在函數(shù)塊接口中聲明 ARRAY of multi-instances。
調(diào)用多重實例
調(diào)用一個多重實例時,系統(tǒng)將指示所分配的實例。下圖顯示了“Block”塊在 LAD 中作為多重實例進(jìn)行調(diào)用。
在以下示例中,該實例位于調(diào)用塊背景數(shù)據(jù)塊本地:
在以下示例中,該實例位于背景數(shù)據(jù)塊中“MyOtherFB”(S7-1200/S7-1500):
在以下示例中,該實例位于背景數(shù)據(jù)塊“MyOtherFB”中的 ARRAY of multi-instances 內(nèi) (S7-1200/S7-1500): ? ? ? ? ? ?
-
cpu
+關(guān)注
關(guān)注
68文章
10770瀏覽量
210429 -
定時器
+關(guān)注
關(guān)注
23文章
3227瀏覽量
114146 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4257瀏覽量
62226 -
S7-1200
+關(guān)注
關(guān)注
11文章
331瀏覽量
17816
原文標(biāo)題:博途的 多重背景調(diào)用
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論