Attribute call_after_init

Panoramica

Usare l'istruzione pragma {attribute call_after_init} per definire un metodo chiamato implicitamente dopo l'inizializzazione di un'istanza del blocco funzione. Aggiungere l'attributo sia al blocco funzione sia al metodo di istanza da chiamare (per motivi di prestazioni). Il metodo deve essere chiamato dopo FB_Init e dopo aver applicato i valori delle variabili di un'espressione di inizializzazione nella dichiarazione dell'istanza.

NOTA: Se le dichiarazioni VAR_INPUT vengono utilizzate in metodi che contengono questo attributo, verranno generati degli errori di compilazione. Il motivo è che le variabili di ingresso sono sconosciute quando il metodo viene richiamato implicitamente durante la modifica online.

Sintassi

{attribute 'call_after_init'}

Esempio

Con la seguente definizione:

{attribute 'call_after_init'}
FUNCTION_BLOCK FB
... <functionblock definition>
{attribute 'call_after_init'}
METHOD FB_AfterInit
... <method definition>

...dichiarazione come la seguente:

inst : FB := (in1 := 99);

...si avrà il seguente ordine di elaborazione del codice:

inst.FB_Init();
inst.in1 := 99;
inst.FB_AfterInit();

Quindi, in FB_Afterinit è possibile reagire all'inizializzazione definita dall'utente.