Attributo: is_connected
Tu usi il pragma 'is_connected'
per decorare una variabile di blocco funzione booleano che, quando viene chiamata un'istanza di un modulo funzione, fornisce informazioni sul fatto che l'ingresso associato della POU abbia un'assegnazione.
L'uso del pragma richiede l'uso dell'attributo 'reflection'
sul blocco funzione interessato.
Sintassi:
{attribute 'is_connected' := '<input variable>'}
Nel blocco funzione FB
, viene dichiarata una variabile locale per ogni variabile di input (in1
e in2
) e l'attributo 'is connected'
viene anteposto ogni volta con il nome della variabile di input. La funzione stessa ottiene l'attributo pragma 'reflection'
.
Quando viene chiamata un'istanza del blocco funzione, la variabile locale è TRUE
nel caso in cui l'input ad esso assegnato abbia ricevuto 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
Presupposto: quando viene richiamata l'istanza del blocco funzione, in1
riceve un incarico esterno e in 2
non riceve un incarico. Ciò si traduce nel seguente codice:
in1_connection_info := TRUE; in2_connection_info := FALSE;