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_VARHypothè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;