.
'is_connected'属性
.
.

使用编译附注'is_connected' 标记一个布尔函数块变量,当调用函数模块实例时,该变量将提供有关POU的相关输入是否具有赋值的信息。

使用编译附注需要在受影响的函数快上使用属性 reflection'

语法

{attribute 'is_connected' := '<input variable>'}

.

.示例

在功能块FB中,为每个输入变量(in1in2)声明一个局部变量,并且每次都用输入变量的名称作为属性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;