Skip to main content

Operanden

Konstanten und Literale

Konstanten sind Bezeichner für unveränderliche Werte. Sie können Konstanten lokal innerhalb eines Programmierbausteins oder global innerhalb einer globalen Variablenliste deklarieren. Der Deklarationsabschnitt wird dazu mit dem Schlüsselwort CONSTANT erweitert.

Konstanten sind auch Zeichenfolgen, die den Wert eines Basistypen wie beispielsweise Ganzzahlen oder Gleitkommazahlen darstellen, beispielsweise 16#FFFF_FFFF, T#5s oder -1.234 E-5. Zur Unterscheidung werden solche Konstanten auch als Literale, literale Konstanten oder unbenannte Konstanten bezeichnet. Es gibt logische (TRUE, FALSE) oder numerische Literale (3.1415, T#5s), aber auch Zeichenliterale ('Hello world!', "black").

Syntax Deklaration

<scope> CONSTANT
    <identifier> : <data type> := <initial value> ;
END_VAR

<scope> : VAR | VAR_INPUT | VAR_STAT | VAR_GLOBAL
<data type>: <elementary data type | user defined data type | function block >
<initial value> : literal value | identifier | expression
. Erlaubte Initialwerte:
  • Literal

    Beispiele: TRUE, FALSE, 16#FFFF_FFFF

  • Benannte Konstante, die an anderer Stelle deklariert wurde

  • Einfacher Ausdruck aus Literalen, auch kombiniert mit einfachen Operatoren wie beispielsweise + - *

Eingänge oder Funktionsaufrufe können nicht als Initialwert angegeben werden.

Beispiel 179. Beispiel
VAR_GLOBAL CONSTANT
        g_ciMAX_A : INT := 100;
        g_ciSPECIAL : INT := g_ciMAX_A - 10;
END_VAR


Konstanten werden nur bei der Deklaration beschrieben. Die Zuweisung eines Initialwerts ist obligat. Innerhalb einer Implementierung werden Konstanten ausschließlich gelesen und stehen deshalb in einer Anweisung immer rechts vom Zuweisungsoperator.

Die Konstanten werden beim Compilieren des Codes mit dem Initialwert ersetzt. Der Initialwert muss außerdem zur Compilezeit berechnet werden können.

Konstanten von strukturierten oder benutzerdefinierten Typen werden erst zur Laufzeit berechnet. Strukturierte Konstanten in Programmen oder GVLs werden einmal zum Programmstart berechnet. Strukturierte Konstanten in Funktionen oder Methoden werden jedes Mal berechnet, wenn die Funktion oder Methode aufgerufen wird. Die Initialisierung von strukturierten Konstanten kann somit von Eingaben abhängen oder Funktionsaufrufe ausführen.

Variablen

Sie können Variablen entweder lokal im Deklarationsteil eines Bausteins oder in einer globalen Variablenliste deklarieren. An welcher Stelle Sie eine Variable verwenden können, hängt von ihrem Datentyp ab.

Für weitere Informationen siehe: Zugriff auf Variablen von Arrays, Strukturen und Bausteinen und Bitzugriff in Variablen

Weitere

Für weitere Informationen siehe: Adressen und Funktionen