Attribute call_after_init

概述

使用 pragma {attribute call_after_init} 可定义在初始化功能块实例之后隐式调用的方法。出于性能方面的原因,请将属性同时附加到功能块自身以及要调用的实例方法。必须在 FB_Init 之后以及在实例声明中应用初始化表达式的变量值之后调用方法。

注: 如果在包含此属性的方法中使用了 VAR_INPUT 声明,则会检测编译错误。其原因在于,在线修改期间,对方法进行隐式调用时,输入变量是未知的。

语法

{attribute 'call_after_init'}

示例

通过下列定义:

{attribute 'call_after_init'}
FUNCTION_BLOCK FB
... <functionblock definition>
{attribute 'call_after_init'}
METHOD FB_AfterInit
... <method definition>

... 类似下列声明:

inst : FB := (in1 := 99);

... 将导致下列代码处理顺序:

inst.FB_Init();
inst.in1 := 99;
inst.FB_AfterInit();

因此,在 FB_Afterinit 中,您可以对用户定义的初始化进行响应。