Attribute is_connected

概述

is_connected 属性标记功能块的布尔变量,以在调用功能块实例时,提供与 POU 的关联输入是否已赋值有关的信息。

前提条件是,reflection 属性必须已分配到相应功能块。

语法

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

示例

在功能块 FB 中,为每个输入变量(in1in2)声明了局部变量。每个输入变量以属性 is connected 以及输入变量名称为前缀。功能块已分配有 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 接收到外部赋值,且 in2 未接收到赋值。这将得到以下代码:

in1_connection_info := TRUE;
in2_connection_info := FALSE;