SA0121: Fehlende VAR_EXTERNAL-Deklarationen

Funktion

Ermittelt die Verwendung einer globalen Variablen im Funktionsbaustein, ohne dass sie dort als VAR_EXTERNAL deklariert ist (erforderlich laut Norm).

Begründung

Nach der Norm IEC 61131-3 ist der Zugriff auf globale Variablen nur über einen expliziten Import durch eine VAR_EXTERNAL-Deklaration erlaubt.

Wichtigkeit

Niedrig

PLCopen-Regel

CP18

SA0121: Fehlende VAR_EXTERNAL-Deklarationen 1:

In TwinCAT 3 PLC ist es nicht notwendig, Variablen als extern zu deklarieren. Das Schlüsselwort existiert, um die Kompatibilität zu IEC 61131-3 zu wahren.

Beispiel:

Globale Variablen:

VAR_GLOBAL
    nGlobal : INT;
END_VAR

Programm Prog1:

PROGRAM Prog1
VAR
    nVar    : INT;
END_VAR
nVar := nGlobal;                 // => SA0121

Programm Prog2:

PROGRAM Prog2
VAR
    nVar    : INT;
END_VAR
VAR_EXTERNAL
    nGlobal : INT;
END_VAR
nVar := nGlobal;                 // no error