調用功能塊(FB或SFB)
Calling Function Blocks (FB or SFB)
當調用功能塊時,能夠使用共享實例數據塊和當前活動的實例數據塊的本地實例區域。
用本地實例調用一個功能塊與用共享實例調用在數據存貯的方法上不同。此時數據不保存地特定的數據塊,但在產生調用的功能塊的實例數據塊里。
語法(Syntax)
作共享實例調用(Call as a Shared Instance)
通過說明以下內容在一個調用語句中進行調用:
功能塊或系統功能塊的名稱(FB或SFB的標識符),
實例數據塊(DB標識符),
提供的參數(FB參數)。
對于共享實例的函數調用能夠是絕對方式的或符號方式的。
作本地實例調用Call as a Local Instance
通過說明以下內容在調用語句中進行調用:
本地實例名稱(標識符)
提供參數(FB參數)
對于本地實例的調用總是符號方式的。必須在調用塊的聲明部分聲明符號名。
在VASS標準中的使用:
調用FB660程序.
脈沖控制上升沿.
提供功能塊參數
調用一個功能塊(作為共享的或本地實例)時,必須提供以下參數:
輸入參數
輸入/輸出參數
當調用一個功能塊時,輸出參數不必說明。
對定義的FB參數賦值的語法(Syntax of a Value Assignment for Defining FB Parameters)
調用共享的或本地實例時,FB參數說明的語法是一樣的。
提供參數時應用以下規則:
參數能夠以任意順序。
實際參數和形式參數的數據類型必須匹配。
用逗號分開賦值。
在功能塊調用時輸出賦值是不可能的。聲明的輸出參數的值存貯在實例數據中。在那它能夠被所有功能塊存取。要讀取輸出數據,必須在功能塊中定義存取。
記住ANY數據類型和POINTER(指針)數據類型的特殊性能。
執行塊之后的結果(Result after Executing the Block)
執行塊之后:
傳遞的實際參數不改變。
傳遞的和修改的輸入/輸出參數的值被修訂;基本數據類型的輸入/輸出參數例外。
輸出參數能夠被調用塊從共享實例數據塊或本地實例區讀取。
例子(Example)
帶一個輸入和一個輸入/輸出參數賦值的調如下:
FB31.DB77(I_Par:=3, IO_Par:=LENGTH);
VASS標準程序中的調用,調用功能塊使用出發.
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-------------------
審核編輯 :李倩
-
數據
+關注
關注
8文章
7067瀏覽量
89116 -
函數
+關注
關注
3文章
4333瀏覽量
62696
原文標題:Supplying FB Parameters
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論