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.
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.