Attribute is_connected
L'attribut is_connected
marque une variable booléenne d'un bloc fonction pour savoir quand l'instance de bloc fonction est appelée afin de déterminer si l'entrée associée du POU est affectée.
L'attribut reflection
doit être affecté au bloc fonction respectif.
Dans le bloc fonction FB
, une variable locale est déclarée pour chaque variable d'entrée (in1
et in2
). Chaque variable d'entrée est précédée de l'attribut is connected
et du nom de celle-ci. Le bloc fonction est affecté à l'attribut de pragma reflection
.
Si une instance du bloc fonction est appelée, la variable locale reçoit la valeur TRUE à condition que l'entrée concernée reçoive 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 affectation externe et in2
n'en reçoit aucune. Le code obtenu est le suivant :
in1_connection_info := TRUE;
in2_connection_info := FALSE;