Skip to main content

属性:is_connected

你使用编译指示 'is_connected' 装饰一个布尔函数块变量,当调用函数模块实例时,该变量提供有关 POU 的关联输入是否有赋值的信息。

使用 pragma 需要使用属性 'reflection' 在受影响的功能块上。

句法

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

276. 例子

在功能块中 FB,为每个输入变量声明一个局部变量(in1in2) 和属性 'is connected' 每次都在其前面加上输入变量的名称。 func 本身获取 pragma 属性 '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;