.
属性‘call_after_init’
.
.

提示!

在函数或方法中声明VAR_INPUT变量会导致编译错误。原因:在这种情况下,输入变量在调用时是未知的,在在线更改期间会隐式出现。

这种编译指令的作用是在功能块实例初始化之后隐式调用方法。出于性能考虑,必须在声明部分上方的第一行中将属性同时添加到功能块和方法中。

语法:

{attribute 'call_after_init'}

调用:方法和功能块的声明部分上方的第一行。

在方法FB_init之后以及实例声明中的初始化表达式的变量值变为有效之后,CODESYS调用该方法。

编译器版本3.4.1.0支持此功能。

.

.例如

定义:

{attribute 'call_after_init'}
FUNCTION_BLOCK FB
... <功能块的定义>

{attribute 'call_after_init'}
METHOD FB_AfterInit
... <方法的定义>

 

该定义,例如,在后续代码处理中实现以下声明:

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

代码处理:

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

这允许对FB_AfterInit中用户定义的初始化作出反应。