在函数或方法中声明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中用户定义的初始化作出反应。