Skip to main content

SA0029: Notation in Implementierung und Deklaration unterschiedlich

Ermittelt die Codestellen, an denen die Notation eines Bezeichners unterschiedlich zur Notation in dessen Deklaration ist.

Begründung: Die Norm IEC 61131-3 definiert Bezeichner als nicht case-sensitiv. Das heißt, eine Variable, die als „varx“ deklariert wurde, kann im Code auch als „VaRx“ verwendet werden. Dies ist jedoch verwirrend und irreführend und sollte vermieden werden.

Wichtigkeit: Mittel

Beispiel 41. Beispiel

Im Gerätebaum gibt es einen Baustein PLC_PRG und einen Baustein fnc (Funktion).

PROGRAM PLC_PRG
VAR
    iVar: INT;
    _123test_var_: INT;
END_VAR
ivar := iVar + 1;    // SA0029
_123TEST_var_ := _123test_var_;    // SA0029
Fnc();    // SA0029

Ausgabe unter Ansicht Meldungen:

  • sa_icon_message.png SA0029: Notation in Code (ivar) muss der Deklaration (iVar) entsprechen

  • sa_icon_message.png SA0029: Notation in Code (_123TEST_var_) muss der Deklaration (_123test_var_) entsprechen

  • sa_icon_message.png SA0029: Notation in Code (Fnc) muss der Deklaration (fnc) entsprechen