属性: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;