功能塊(FB)的結構
Structure of a Function Block (FB)
定義(Definition)
功能塊是邏輯塊,包含程序部分,并且有一個內存區域援引派給它。無論何時FB被調用,必須給它指定一個實例數據塊。當定義FB的聲明部分時,就說明了實例數據塊的結構。
FB標識符(FB Identifier)
在關鍵字FUNCTION_BLOCK或PROGRAM之后,鍵入關鍵字FB,跟上一個塊號或FB的符號名。塊號是0到65533之間的一個數值。
例子(Examples):
FUNCTION_BLOCK FB10
FUNCTION_BLOCK MOTOR1
FB聲明部分(FB Declaration Section)
FB的聲明部分用來定義塊專有數據。聲明部分應詳細描述,記住聲明部分也決定指派的實例數據塊的結構。
例子(Example)
下例顯示了一個功能塊的源代碼。例中輸入和輸出參數(本案中為V1和V2)賦予了初始值。
FUNCTION_BLOCK FB11
VAR_INPUT
V1 : INT := 7 ;
END_VAR
VAR_OUTPUT
V2 : REAL ;
END_VAR
VAR
FX1, FX2, FY1, FY2 : REAL ;
END_VAR
BEGIN
IF V1 = 7 THEN
FX1 := 1.5 ;
FX2 := 2.3 ;
FY1 := 3.1 ;
FY2 := 5.4 ;
//調用函數FC11并用靜態變量提供參數
V2 := FC11 (X1:= FX1, X2 := FX2, Y1 := FY1, Y2 := FY2) ;
END_IF ;
END_FUNCTION_BLOCK
---作為本地實例調用的舉例---
Example of a Call as a Local Instance
帶一個簡單FOR循環的功能塊作為“作為共享實例”的例子編程,假設符號TEST在符號表中為FB17已經聲明。
功能塊能如下調用,假設VARIABLE1在調用塊作為一個實數變量已經聲明。
調用(Call)
FUNCTION_BLOCK CALL
VAR
// 本地實例聲明
TEST_L : TEST ;
VARIABLE1 : REAL ;
RESULT : BOOL ;
END_VAR
BEGIN
. . .
// 調用本地實例:
TEST_L (FINALVAL:= 10, IQ1:= VARIABLE1) ;
讀取輸出值(Reading an Output Value)
輸出參數CONTROL能夠如下讀取:
// 輸出參數被存取
// 通過:
RESULT := TEST_L.CONTROL ;
END_FUNCTION_BLOCK
審核編輯:劉清
-
Motor
+關注
關注
0文章
28瀏覽量
15231 -
Block
+關注
關注
0文章
26瀏覽量
14681 -
VaR
+關注
關注
0文章
38瀏覽量
11316
原文標題:Example of a Call as a Local Instance
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論