Skip to main content

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>'}

Exemple 276. Exemple

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;