调用功能块(FB或SFB)

描述

调用功能块(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程序.

数据

脉冲控制上升沿.

提供功能块参数

Supplying FB Parameters

调用一个功能块(作为共享的或本地实例)时,必须提供以下参数:

输入参数

输入/输出参数

当调用一个功能块时,输出参数不必说明。

对定义的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-------------------

审核编辑 :李倩
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分