調(diào)用功能塊(FB或SFB)
Calling Function Blocks (FB or SFB)
當調(diào)用功能塊時,能夠使用共享實例數(shù)據(jù)塊和當前活動的實例數(shù)據(jù)塊的本地實例區(qū)域。
用本地實例調(diào)用一個功能塊與用共享實例調(diào)用在數(shù)據(jù)存貯的方法上不同。此時數(shù)據(jù)不保存地特定的數(shù)據(jù)塊,但在產(chǎn)生調(diào)用的功能塊的實例數(shù)據(jù)塊里。
語法(Syntax)
作共享實例調(diào)用(Call as a Shared Instance)
通過說明以下內(nèi)容在一個調(diào)用語句中進行調(diào)用:
功能塊或系統(tǒng)功能塊的名稱(FB或SFB的標識符),
實例數(shù)據(jù)塊(DB標識符),
提供的參數(shù)(FB參數(shù))。
對于共享實例的函數(shù)調(diào)用能夠是絕對方式的或符號方式的。
作本地實例調(diào)用Call as a Local Instance
通過說明以下內(nèi)容在調(diào)用語句中進行調(diào)用:
本地實例名稱(標識符)
提供參數(shù)(FB參數(shù))
對于本地實例的調(diào)用總是符號方式的。必須在調(diào)用塊的聲明部分聲明符號名。
在VASS標準中的使用:
調(diào)用FB660程序.
脈沖控制上升沿.
提供功能塊參數(shù)
調(diào)用一個功能塊(作為共享的或本地實例)時,必須提供以下參數(shù):
輸入?yún)?shù)
輸入/輸出參數(shù)
當調(diào)用一個功能塊時,輸出參數(shù)不必說明。
對定義的FB參數(shù)賦值的語法(Syntax of a Value Assignment for Defining FB Parameters)
調(diào)用共享的或本地實例時,F(xiàn)B參數(shù)說明的語法是一樣的。
提供參數(shù)時應用以下規(guī)則:
參數(shù)能夠以任意順序。
實際參數(shù)和形式參數(shù)的數(shù)據(jù)類型必須匹配。
用逗號分開賦值。
在功能塊調(diào)用時輸出賦值是不可能的。聲明的輸出參數(shù)的值存貯在實例數(shù)據(jù)中。在那它能夠被所有功能塊存取。要讀取輸出數(shù)據(jù),必須在功能塊中定義存取。
記住ANY數(shù)據(jù)類型和POINTER(指針)數(shù)據(jù)類型的特殊性能。
執(zhí)行塊之后的結(jié)果(Result after Executing the Block)
執(zhí)行塊之后:
傳遞的實際參數(shù)不改變。
傳遞的和修改的輸入/輸出參數(shù)的值被修訂;基本數(shù)據(jù)類型的輸入/輸出參數(shù)例外。
輸出參數(shù)能夠被調(diào)用塊從共享實例數(shù)據(jù)塊或本地實例區(qū)讀取。
例子(Example)
帶一個輸入和一個輸入/輸出參數(shù)賦值的調(diào)如下:
FB31.DB77(I_Par:=3, IO_Par:=LENGTH);
VASS標準程序中的調(diào)用,調(diào)用功能塊使用出發(fā).
If (R_TRIG_SK90_ZutrittAnfo.Q Or R_TRIG_K90_ZutrittAnfo.Q)
And Not xHM_K90_ZutrittAnfo And ST_BA.K90_AnfoSG = WORD#0
OR MASTER_DIAG_STAT_REG_PF Or R_TRIG_Anfo_Off_Halt.Q Then
xHM_K90_ZutrittAnfo := True;
R_TRIG_SK90_ZutrittAnfo.Q:= False;
End_If;
------激活請求停止
------------------------END-------------------
審核編輯 :李倩
-
數(shù)據(jù)
+關注
關注
8文章
7048瀏覽量
89077 -
函數(shù)
+關注
關注
3文章
4332瀏覽量
62666
原文標題:Supplying FB Parameters
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論