使用编译附注'is_connected' 标记一个布尔函数块变量,当调用函数模块实例时,该变量将提供有关POU的相关输入是否具有赋值的信息。
使用编译附注需要在受影响的函数快上使用属性 reflection'。
语法:
{attribute 'is_connected' := '<input variable>'}
.示例
在功能块FB中,为每个输入变量(in1 和 in2)声明一个局部变量,并且每次都用输入变量的名称作为属性is connected' 的前缀。功能块本身获得编译附注的属性'reflection'。
当功能块的实例被调用时,在赋值给它的输入已经收到赋值的情况下,局部变量为TRUE。
{attribute 'reflection'}
FUNCTION_BLOCK FB
VAR_INPUT
in1: INT;
in2: INT;
END_VAR
VAR
{attribute 'is_connected' := 'in1'}
in1_connection_info: BOOL;
{attribute 'is_connected' := 'in2'}
in2_connection_info: BOOL;
END_VAR
假定:当功能块实例被调用时,in1接到外部赋值,而in 2未收到赋值。这将导致以下代码:
in1_connection_info := TRUE;
in2_connection_info := FALSE;
.另请参见