Attribut : is_connected
Vous utilisez le pragma 'is_connected'
pour décorer une variable de bloc fonction booléenne qui, lorsqu'une instance de module fonction est appelée, fournit des informations indiquant si l'entrée associée de la POU a une affectation.
L'utilisation du pragma nécessite l'utilisation de l'attribut 'reflection'
sur le bloc fonctionnel concerné.
Syntaxe:
{attribute 'is_connected' := '<input variable>'}
Dans le bloc fonction FB
, une variable locale est déclarée pour chaque variable d'entrée (in1
et in2
) et l'attribut 'is connected'
lui est ajouté à chaque fois le nom de la variable d'entrée. La fonction elle-même obtient l'attribut pragma 'reflection'
.
Lorsqu'une instance du bloc fonction est appelée, la variable locale est TRUE
dans le cas où l'entrée qui lui est affectée a reçu une affectation.
{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
Hypothèse : Lorsque l'instance de bloc fonction est appelée, in1
reçoit une mission externe et in 2
ne reçoit pas d'affectation. Cela se traduit par le code suivant :
in1_connection_info := TRUE; in2_connection_info := FALSE;