属性:is_connected
你使用编译指示 'is_connected' 装饰一个布尔函数块变量,当调用函数模块实例时,该变量提供有关 POU 的关联输入是否有赋值的信息。
使用 pragma 需要使用属性 'reflection' 在受影响的功能块上。
句法:
{attribute 'is_connected' := '<input variable>'}
例 276. 例子
在功能块中 FB,为每个输入变量声明一个局部变量(in1 和 in2) 和属性 '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;