调用功能块(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文章
7017浏览量
89009 -
函数
+关注
关注
3文章
4331浏览量
62593
原文标题:Supplying FB Parameters
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论