Skip to main content

Attribut: call_after_init

Wichtig

VAR_INPUT-Deklarationen in Funktionen oder Methoden, die dieses Attribut verwenden, führen zu Übersetzungsfehlern. Grund: Eingabevariablen sind in diesem Fall zum Zeitpunkt des Aufrufs, der implizit während des Online-Change erfolgt, nicht bekannt.

Anmerkung

Diese Funktionalität wird ab Compilerversion 3.4.1.0 unterstützt.

Das Pragma bewirkt, dass eine Methode implizit nach der Initialisierung einer Funktionsbaustein-Instanz aufgerufen wird. Aus Performanzgründen müssen Sie das Attribut sowohl dem Funktionsbaustein als auch der Methode in einer eigenen ersten Zeile über dem Deklarationsteil hinzufügen.

Eine Methode mit diesem Pragma wird nach der Methode FB_Init und nachdem die Variablenwerte eines Initialisierungsausdrucks in der Instanzdeklaration gültig wurden, aufgerufen

Syntax:

{attribute 'call_after_init'}

Aufruf: Erste Zeile über dem Deklarationsteil der Methode und des Funktionsbausteins.

Beispiel 257. Beispiel

Definition

{attribute 'call_after_init'}
FUNCTION_BLOCK FB_DoIt
... <functionblock definition>

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

Die Deklaration setzt folgende Deklaration in die nachfolgende Codeabarbeitung um:

fbDoIt : FB_DoIt := (in1 := 99);

Codeabarbeitung

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

So kann in FB_AfterInit auf die benutzerdefinierte Initialisierung reagiert werden.