Attribut 'init_on_onlchange'

Das Pragma bewirkt, dass die Variable, auf die das Pragma angewendet wird, bei jedem Online-Change initialisiert wird.

Attribut 'init_on_onlchange' 1:

Schneller Online-Change

Für kleine Änderungen (z. B. kleine Änderung im Implementierungsbereich und Verschieben von Variablen nicht nötig) wird ein „schneller Online-Change“ durchgeführt. In diesem Fall wird nur der jeweils geänderte Baustein übersetzt und nachgeladen. Insbesondere wird in dem Fall kein Initialisierungscode erzeugt. Das bedeutet, dass auch kein Code zur Initialisierung von Variablen mit dem Attribut 'init_on_onlchange' erzeugt wird. In der Regel wird das keine Auswirkungen haben, da das Attribut meist dazu verwendet wird, um Variablen mit Adressen zu initialisieren, es kann aber beim schnellen Online-Change nicht dazu kommen, dass eine Variable ihre Adresse ändert.

Um die Wirkung des Attributs init_on_onlchange auf den gesamten Applikationscode sicherzustellen, schalten Sie den schnellen Online-Change mithilfe der Compiler-Definition no_fast_online_change generell für das SPS-Projekt aus. Fügen Sie die Definition zu diesem Zweck in den Eigenschaften des SPS-Projekts in der Kategorie Übersetzen ein.

Attribut 'init_on_onlchange' 2:

Keine Wirkung des Attributs 'init_on_onlchange' bei einzelnen FB-Variablen

Das Attribut 'init_on_onlchange' wirkt nur bei globalen Variablen, Programmvariablen und lokalen statischen Variablen von Funktionsbausteinen.

Um einen Funktionsbaustein bei einem Online Change neu zu initialisieren muss die Funktionsbausteininstanz mit dem Attribut deklariert werden. Für eine einzelne Variable in einem Funktionsbaustein wird das Attribut nicht ausgewertet.

Syntax: {attribute 'init_on_onlchange' }

Einfügeort: Zeile oberhalb der Deklarationszeile einer Variablen