調(diào)用函數(shù)(FC)
通過說明函數(shù)名(FC, SFC標識符)和參數(shù)表來調(diào)用函數(shù)。能夠用絕對或符號形式指定標識返回值的函數(shù)名稱:
FC31 (X1:=5, Q1:=Checksum) ; // 絕對形式
DISTANCE (X1:=5, Q1=:Checksum) ; // 符號形式
調(diào)用之后,函數(shù)的結果可用作為返回值或作為輸出和輸入/輸出參數(shù)(實際參數(shù))。
對比功能塊,函數(shù)提供一個結果當作返回值。基于這個原因,函數(shù)能夠被子當作地址來對待(VOID類型的函數(shù)除外)。
函數(shù)計算與函數(shù)有同樣名稱的返回值,且將其返回給調(diào)用它的塊。在那里,值代替函數(shù)調(diào)用。
例如,在下面的賦值中,DISTANCE函數(shù)被調(diào)用,且結果賦值給LENGTH變量。
LENGTH:= DISTANCE (X1:=-3, Y1:=2);
返回值能夠用在下面的函數(shù)或功能塊元素:
在一個賦值語句中,
在一個邏輯、算術或比較表達式或
作為更進一步的功能塊或函數(shù)調(diào)用的參數(shù)。
函數(shù)的參數(shù)
對比功能塊,函數(shù)沒有任何他們保存參數(shù)值的內(nèi)存。在函數(shù)激活時,本地數(shù)據(jù)只中臨時地貯存。由于這個原因,當調(diào)用函數(shù)時,所有在函數(shù)聲明部分定義的形式輸入、輸入/輸出和輸出參數(shù)必須賦予實際參數(shù)。
例子(Example)
帶為輸入、輸出和輸入/輸出參數(shù)賦值的調(diào)用如下:
FC32 (E_Param1:=5,D_Param1:=LENGTH,
A_Param1:=Checksum)
函數(shù)調(diào)用舉例:
函數(shù)被調(diào)用(Function to be Called)
計算在使用笛卡爾坐標系統(tǒng)的同一平面中兩點(X1,Y1)和(X2,Y2)之間距離的函數(shù)DISTANCE可以是下面的形式(此例假設符號DISTANCE在符號表中為FC37已經(jīng)聲明)。
FUNCTION DISTANCE: REAL // 符號
VAR_INPUT
X1 : REAL;
X2 : REAL;
Y1 : REAL;
Y2 : REAL;
END_VAR
VAR_OUTPUT
Q2 : REAL;
END_VAR
BEGIN 開始
DISTANCE := SQRT( (X2-X1)**2 + (Y2-Y1)**2 );
Q2 := X1+X2+Y1+Y2;
END_FUNCTION
調(diào)用塊(Calling Block)
下例顯示更多函數(shù)值的使用的可選擇的形式:
FUNCTION_BLOCK CALL
VAR
LENGTH : REAL ;
CHECKSUM : REAL ;
RADIUS : REAL;
Y : REAL;
END_VAR
BEGIN
. . .
// 在賦值語句中調(diào)用:
LENGTH := DISTANCE (X1:=3, Y1:=2, X2:=8.9, Y2:= 7.4, Q2:=CHECKSUM) ;
// 在算術或邏輯表達式中調(diào)用,如:
Y := RADIUS + DISTANCE (X1:=-3, Y1:=2, X2:=8.9, Y2:=7.4, Q2:=Checksum)
// 用來為進一步的被調(diào)用的塊提供參數(shù)
FB32.DB32 (DIST:= DISTANCE (X1:=-3, Y1:=2, X2:=8.9, Y2:=7.4), Q2:=Checksum)
. . .
END_FUNCTION_BLOCK
-
數(shù)據(jù)
+關注
關注
8文章
7246瀏覽量
91147 -
參數(shù)
+關注
關注
11文章
1867瀏覽量
32885 -
函數(shù)
+關注
關注
3文章
4372瀏覽量
64292
原文標題:函數(shù)的參數(shù)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何使用自定義設置回調(diào)函數(shù)?
詳解RTOS中的Hook函數(shù)
SUMIF函數(shù)對比VLOOKUP的優(yōu)勢
SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別
如何由系統(tǒng)函數(shù)求頻率響應
什么叫系統(tǒng)的頻率響應函數(shù)?它和傳遞函數(shù)有何關系
用TINA V9進行電路仿真,自定義函數(shù)按鈕是灰色的,無法輸入是哪里的問題?
怎么由系統(tǒng)函數(shù)判斷濾波器的類型
面試常考+1:函數(shù)指針與指針函數(shù)、數(shù)組指針與指針數(shù)組

評論