Attribute call_after_init

Überblick

Verwenden Sie pragma {attribute call_after_init}, um eine Methode zu definieren, die implizit nach der Initialisierung der Funktionsbausteininstanz aufgerufen wird. Aus Performance-Gründen sollten Sie die Attribute sowohl dem Funktionsbaustein als auch der Instanzmethode anhängen, die aufgerufen werden soll. Die Methode muss nach FB_Init und nachdem die Variablenwerte eines Initialisierungsausdrucks in der Instanzdeklaration gültig wurden, aufgerufen werden.

HINWEIS: Es werden Kompilierungsfehler erkannt, wenn VAR_INPUT-Deklarationen in Methoden mit diesem Attribut verwendet werden. Das ist darauf zurückzuführen, dass die Eingangsvariablen unbekannt sind, wenn die Methode implizit bei einer Online-Änderung aufgerufen wird.

Syntax

{attribute 'call_after_init'}

Beispiel

Mit der folgenden Definition:

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

wird eine Deklaration wie diese:

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

in folgende Code-Abarbeitung umgesetzt:

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

Somit kann in FB_Afterinit auf die benutzerdefinierte Initialisierung reagiert werden.