Skip to main content

Attribut: const_replaced, const_non_replaced

Das Attribut const_replaced bewirkt, dass die Konstante im Code ersetzt wird, unabhängig von der Einstellung der Compileroption Konstanten ersetzen. Das Attribut hat nur eine Auswirkung für Variablen von skalaren Typen, aber nicht für zusammengesetzte Typen wie Arrays und Strukturen.

Das Pragma {attribute 'const_non_replaced'} fügen Sie entsprechend ein, um die Compileroption Konstanten ersetzen explizit zu deaktivieren.

Dies bewirkt beispielsweise in der Symbolkonfiguration, dass die Konstante verfügbar ist und trotz Compileroption exportiert werden kann.

Die Option Konstanten ersetzen im Dialog Projekteinstellungen, Kategorie Compile-Optionen ist für das ganze Projekt voreingestellt, weil Konstanten ersetzen in der Regel zu schnellerem Code und geringerem Speicherverbrauch führt.

Syntax:

{attribute 'const_replaced'}

{attribute 'const_non_replaced'}

Einfügeort: Zeile oberhalb der Deklarationszeile der globalen Variablen.

Beispiel 261. Beispiel

Die Konstanten iTestCon und xTestCon sind in der Symbolkonfiguration verfügbar, weil die Option Konstanten ersetzen deaktiviert ist.

{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
        {attribute 'const_non_replaced'}
        iTestCon    :    INT  := 12;
        {attribute 'const_non_replaced'}
        xTestCon    :    BOOL := TRUE;
        rTestCon    :    REAL := 1.5;
END_VAR

VAR_GLOBAL
        iTestVar    :    INT  := 12;
        xTestVar    :    BOOL := TRUE;
END_VAR