調(diào)用函數(shù)(FC)
通過(guò)說(shuō)明函數(shù)名(FC, SFC標(biāo)識(shí)符)和參數(shù)表來(lái)調(diào)用函數(shù)。能夠用絕對(duì)或符號(hào)形式指定標(biāo)識(shí)返回值的函數(shù)名稱:
FC31 (X1:=5, Q1:=Checksum) ; // 絕對(duì)形式
DISTANCE (X1:=5, Q1=:Checksum) ; // 符號(hào)形式
調(diào)用之后,函數(shù)的結(jié)果可用作為返回值或作為輸出和輸入/輸出參數(shù)(實(shí)際參數(shù))。
對(duì)比功能塊,函數(shù)提供一個(gè)結(jié)果當(dāng)作返回值。基于這個(gè)原因,函數(shù)能夠被子當(dāng)作地址來(lái)對(duì)待(VOID類型的函數(shù)除外)。
函數(shù)計(jì)算與函數(shù)有同樣名稱的返回值,且將其返回給調(diào)用它的塊。在那里,值代替函數(shù)調(diào)用。
例如,在下面的賦值中,DISTANCE函數(shù)被調(diào)用,且結(jié)果賦值給LENGTH變量。
LENGTH:= DISTANCE (X1:=-3, Y1:=2);
返回值能夠用在下面的函數(shù)或功能塊元素:
在一個(gè)賦值語(yǔ)句中,
在一個(gè)邏輯、算術(shù)或比較表達(dá)式或
作為更進(jìn)一步的功能塊或函數(shù)調(diào)用的參數(shù)。
函數(shù)的參數(shù)
對(duì)比功能塊,函數(shù)沒(méi)有任何他們保存參數(shù)值的內(nèi)存。在函數(shù)激活時(shí),本地?cái)?shù)據(jù)只中臨時(shí)地貯存。由于這個(gè)原因,當(dāng)調(diào)用函數(shù)時(shí),所有在函數(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)
計(jì)算在使用笛卡爾坐標(biāo)系統(tǒng)的同一平面中兩點(diǎn)(X1,Y1)和(X2,Y2)之間距離的函數(shù)DISTANCE可以是下面的形式(此例假設(shè)符號(hào)DISTANCE在符號(hào)表中為FC37已經(jīng)聲明)。
FUNCTION DISTANCE: REAL // 符號(hào)
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
. . .
// 在賦值語(yǔ)句中調(diào)用:
LENGTH := DISTANCE (X1:=3, Y1:=2, X2:=8.9, Y2:= 7.4, Q2:=CHECKSUM) ;
// 在算術(shù)或邏輯表達(dá)式中調(diào)用,如:
Y := RADIUS + DISTANCE (X1:=-3, Y1:=2, X2:=8.9, Y2:=7.4, Q2:=Checksum)
// 用來(lái)為進(jìn)一步的被調(diào)用的塊提供參數(shù)
FB32.DB32 (DIST:= DISTANCE (X1:=-3, Y1:=2, X2:=8.9, Y2:=7.4), Q2:=Checksum)
. . .
END_FUNCTION_BLOCK
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6892瀏覽量
88828 -
參數(shù)
+關(guān)注
關(guān)注
11文章
1785瀏覽量
32086 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4306瀏覽量
62431
原文標(biāo)題:函數(shù)的參數(shù)
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論