



HINWEIS

VAR_INPUT
-Deklarationen in Funktionen oder Methoden, die das 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.
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.
Syntax:
{attribute 'call_after_init'}
Aufruf: Erste Zeile über dem Deklarationsteil der Methode und des Funktionsbausteins.
CODESYS ruft die Methode nach der Methode FB_init und nachdem die Variablenwerte eines Initialisierungsausdrucks in der Instanzdeklaration gültig wurden, auf.
Diese Funktionalität wird ab Compilerversion 3.4.1.0 unterstützt.
Beispiel
Definition
{attribute 'call_after_init'} FUNCTION_BLOCK FB ... <functionblock definition> {attribute 'call_after_init'} METHOD FB_AfterInit ... <method definition>
Die Definition setzt zum Beispiel folgende Deklaration in die nachfolgende Codeabarbeitung um:
inst : FB := (in1 := 99);
Codeabarbeitung
inst.FB_Init(); inst.in1 := 99; inst.FB_AfterInit();
Somit kann in FB_AfterInit
auf die benutzerdefinierte Initialisierung reagiert werden.