Si utilizza il pragma 'is_connected' per decorare una variabile booleana del blocco funzione che, quando viene richiamata
un'istanza del modulo funzione, fornisce informazioni sul fatto che l'ingresso associato
del POU abbia un'assegnazione.
L'uso del pragma richiede l'uso dell'attributo 'reflection' sul blocco funzione interessato.
Sintassi:
{attribute 'is_connected' := '<input variable>'}
Esempio
Nel blocco funzione FB viene dichiarata una variabile locale per ogni variabile di ingresso (in1 e in2) e l'attributo 'is connected' viene aggiunto ogni volta con il nome della variabile di ingresso. La func stessa
riceve l'attributo pragma 'reflection'.
Quando viene richiamata un'istanza del blocco funzione, la variabile locale è TRUE nel caso in cui l'ingresso ad essa assegnato abbia ricevuto un'assegnazione.
{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
Ipotesi: Quando viene richiamata l'istanza del blocco funzione, in1 riceve un'assegnazione esterna e in 2 non riceve alcuna assegnazione. Il risultato è il seguente codice:
in1_connection_info := TRUE; in2_connection_info := FALSE;